diff --git a/Source/EZ512/Build.cmd b/Source/EZ512/Build.cmd index a56bdb7c..f53645d8 100644 --- a/Source/EZ512/Build.cmd +++ b/Source/EZ512/Build.cmd @@ -27,6 +27,13 @@ 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 +:: +:: The following lines produce a 64K ROM that can be used in the EaZy80-512. +:: In order to fit in the required 64K, TastyBASIC and the Game components +:: are removed from the ROM. If the layout of the ROM components +:: changes (see ..\Source\layout.inc), the address range that is carved +:: out below may need to be adjusted. +:: srec_cat ..\..\Binary\%1.upd -binary -exclude 0x13700 0x14A00 -fill 0xC9 0x13700 0x14A00 -o temp.upd -binary compress temp.upd srec_cat decomp.hex -intel temp.upd.cmp -binary -offset 3 -o ..\..\Binary\%1_64k.rom -binary diff --git a/Source/EZ512/Makefile b/Source/EZ512/Makefile index 9eb3e1e6..7110719f 100644 --- a/Source/EZ512/Makefile +++ b/Source/EZ512/Makefile @@ -28,6 +28,12 @@ DIFFPATH = $(DIFFTO)/Binary %_hd1k_combo.img: %_hd1k_prefix.dat $(HD1KIMGS) cat $^ > $@ +# The following recipe produces a 64K ROM that can be used in the EaZy80-512. +# In order to fit in the required 64K, TastyBASIC and the Game components +# are removed from the ROM. If the layout of the ROM components +# changes (see ..\Source\layout.inc), the address range that is carved +# out below may need to be adjusted. + %_64k.rom: $(DEST)/%.upd decomp.hex srec_cat $< -binary -exclude 0x13700 0x14A00 -fill 0xC9 0x13700 0x14A00 -o temp.upd -binary $(COMPRESS) temp.upd diff --git a/Source/HBIOS/layout.inc b/Source/HBIOS/layout.inc index 7c7d4225..45b94bb8 100644 --- a/Source/HBIOS/layout.inc +++ b/Source/HBIOS/layout.inc @@ -22,6 +22,19 @@ ; 3 (ROM3) BID_IMG2 ROM UTILITIES ; ;-------------------------------------------------------------------------------------------------- +; LAYOUT CHANGES WARNINGS +;-------------------------------------------------------------------------------------------------- +; +; IF THE ROM LAYOUT CHANGES, IT IS CRITICAL THAT THE ROMWBW BUILD PROCESS +; IS ADJUSTED. THE BUILD PROCESS CONCATENATES THE ROM COMPONENTS. THE +; ORDER AND SIZE OF THE COMPONENTS MUST MATCH THIS FILE. +; +; THE EZ512 SUPPLEMENTAL BUILD PROCESS REMOVES COMPONENTS OF THE ROM +; TO ALLOW IT TO BE COMPRESSED INTO 64K. IF THE LAYOUT OF THE ROM +; COMPONENTS CHANGES, YOU MAY NEED TO UPDATE .../Source/EZ512/Build.cmd +; AND .../Source/EZ512/Makefile. +; +;-------------------------------------------------------------------------------------------------- ; CPU ADDRESS SPACE MEMORY LAYOUT ;-------------------------------------------------------------------------------------------------- ;