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