mirror of https://github.com/wwarthen/RomWBW.git
49 changed files with 200 additions and 64 deletions
@ -0,0 +1,4 @@ |
|||||
|
@echo off |
||||
|
setlocal |
||||
|
|
||||
|
pushd EZ512 && call Build || exit /b & popd |
||||
@ -0,0 +1,16 @@ |
|||||
|
|
||||
|
Eazy80_512 has a 64K ROM contains a monitor. The monitor command "b 4" loads RomWBW program |
||||
|
starting from SD sector 288 into first 4 banks of memory. RAM disk is not loaded, so drive A is |
||||
|
blank. |
||||
|
|
||||
|
Bank Contents Description |
||||
|
-------- -------- ----------- |
||||
|
0x0 BIOS HBIOS Bank (operating) |
||||
|
0x1 IMG0 ROM Loader, Monitor, ROM OSes |
||||
|
0x2 IMG1 ROM Applications |
||||
|
0x3 IMG2 Reserved |
||||
|
0x4-0xB RAMD RAM Disk Banks <- not loaded, blank |
||||
|
0xC BUF OS Buffers (CP/M3) |
||||
|
0xD AUX Aux Bank (CP/M 3, BPBIOS, etc.) |
||||
|
0xE USR User Bank (CP/M TPA, etc.) |
||||
|
0xF COM Common Bank, Upper 32KB |
||||
@ -0,0 +1,26 @@ |
|||||
|
@echo off |
||||
|
setlocal |
||||
|
|
||||
|
set TOOLS=../../Tools |
||||
|
|
||||
|
set PATH=%TOOLS%\srecord;%PATH% |
||||
|
|
||||
|
for %%f in (..\..\Binary\RCZ80_ez512_*.rom) do call :build %%~nf |
||||
|
|
||||
|
goto :eof |
||||
|
|
||||
|
:build |
||||
|
echo. |
||||
|
echo Creating %1 disk image... |
||||
|
echo. |
||||
|
|
||||
|
srec_cat -generate 0x0 0x100000 --constant 0x00 -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x0 0x200 ez512_cfldr.bin -binary -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x1B8 0x200 ez512_ptbl.bin -binary -offset 0x1B8 -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x1F000 0x20000 ez512_mon.bin -binary -offset 0x1F000 -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x24000 0xA4000 ..\..\Binary\%1.rom -binary -offset 0x24000 -o temp.dat -binary |
||||
|
move temp.dat ..\..\Binary\%1_hd1k_prefix.dat |
||||
|
|
||||
|
copy /b ..\..\Binary\%1_hd1k_prefix.dat + ..\..\Binary\hd1k_cpm22.img + ..\..\Binary\hd1k_zsdos.img + ..\..\Binary\hd1k_nzcom.img + ..\..\Binary\hd1k_cpm3.img + ..\..\Binary\hd1k_zpm3.img + ..\..\Binary\hd1k_ws4.img ..\..\Binary\%1_hd1k_combo.img || exit /b |
||||
|
|
||||
|
goto :eof |
||||
@ -0,0 +1,3 @@ |
|||||
|
@echo off |
||||
|
setlocal |
||||
|
|
||||
@ -0,0 +1,22 @@ |
|||||
|
Eazy80_512 Disk Prefix Layout |
||||
|
============================= |
||||
|
|
||||
|
---- Bytes ---- --- Sectors --- |
||||
|
Start Length Start Length Description |
||||
|
------- ------- ------- ------- --------------------------- |
||||
|
0x00000 0x001BE 0 1 CF Boot Loader |
||||
|
0x001B8 0x00048 RomWBW Partition Table |
||||
|
0x00200 0x1EE00 1 247 Unused |
||||
|
0x1F000 0x01000 248 8 EZ512 Monitor v0.3 |
||||
|
0x20000 0x04000 256 32 Unused |
||||
|
0x24000 0x80000 288 1024 RomWBW |
||||
|
0xA4000 0x5C000 1312 736 Unused |
||||
|
0x100000 2048 Start of slices (partition 0x1E) |
||||
|
|
||||
|
Notes |
||||
|
----- |
||||
|
- Eazy80_512 monitor reads the first 128KB of RomWBW stored started from sector 288 into banks 0-3 |
||||
|
- Afterward Z80 jumps to location 0x0 to execute RomWBW |
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,27 @@ |
|||||
|
DEST=../../Binary |
||||
|
|
||||
|
HD1KIMGS = $(DEST)/hd1k_cpm22.img $(DEST)/hd1k_zsdos.img $(DEST)/hd1k_nzcom.img \
|
||||
|
$(DEST)/hd1k_cpm3.img $(DEST)/hd1k_zpm3.img $(DEST)/hd1k_ws4.img |
||||
|
|
||||
|
ROMS := $(wildcard $(DEST)/RCZ80_ez512_*.rom) |
||||
|
ROMS := $(patsubst $(DEST)/%.rom,%,$(ROMS)) |
||||
|
|
||||
|
OBJECTS := $(patsubst %,%_hd1k_prefix.dat,$(ROMS)) |
||||
|
OBJECTS += $(patsubst %,%_hd1k_combo.img,$(ROMS)) |
||||
|
|
||||
|
TOOLS = ../../Tools |
||||
|
|
||||
|
include $(TOOLS)/Makefile.inc |
||||
|
|
||||
|
DIFFPATH = $(DIFFTO)/Binary |
||||
|
|
||||
|
%_hd1k_prefix.dat: $(DEST)/%.rom |
||||
|
srec_cat -generate 0x0 0x100000 --constant 0x00 -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x0 0x200 ez512_cfldr.bin -binary -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x1B8 0x200 ez512_ptbl.bin -binary -offset 0x1B8 -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x1F000 0x20000 ez512_mon.bin -binary -offset 0x1F000 -o temp.dat -binary |
||||
|
srec_cat temp.dat -binary -exclude 0x24000 0xA4000 $< -binary -offset 0x24000 -o temp.dat -binary |
||||
|
mv temp.dat $@ |
||||
|
|
||||
|
%_hd1k_combo.img: %_hd1k_prefix.dat $(HD1KIMGS) |
||||
|
cat $^ > $@ |
||||
Loading…
Reference in new issue