diff --git a/Binary/Clean.cmd b/Binary/Clean.cmd index b9ac0ac5..8116314a 100644 --- a/Binary/Clean.cmd +++ b/Binary/Clean.cmd @@ -11,6 +11,6 @@ if exist *.upd del *.upd if exist *.pdf del *.pdf if exist *.eeprom del *.eeprom -setlocal & cd Apps && call Clean || exit /b 1 & endlocal -setlocal & cd CPM3 && call Clean || exit /b 1 & endlocal -setlocal & cd ZPM3 && call Clean || exit /b 1 & endlocal +pushd Apps && call Clean || exit /b 1 & popd +pushd CPM3 && call Clean || exit /b 1 & popd +pushd ZPM3 && call Clean || exit /b 1 & popd diff --git a/Source/Apps/Build.cmd b/Source/Apps/Build.cmd index 95411144..48a858ae 100644 --- a/Source/Apps/Build.cmd +++ b/Source/Apps/Build.cmd @@ -12,42 +12,42 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -call :asm syscopy || goto :eof -call :asm assign || goto :eof -call :asm format || goto :eof -call :asm talk || goto :eof -call :asm mode || goto :eof -call :asm rtc || goto :eof -call :asm timer || goto :eof -call :asm180 inttest || goto :eof -call :asm rtchb || goto :eof -call :asm ppidetst || goto :eof -call :asm tstdskng || goto :eof - -zx Z80ASM -SYSGEN/F - -zx MAC SURVEY.ASM -$PO -zx MLOAD25 -SURVEY.COM=SURVEY.HEX - -setlocal & cd XM && call Build || exit /b 1 & endlocal -setlocal & cd FDU && call Build || exit /b 1 & endlocal -setlocal & cd Tune && call Build || exit /b 1 & endlocal -setlocal & cd FAT && call Build || exit /b 1 & endlocal -setlocal & cd I2C && call Build || exit /b 1 & endlocal -setlocal & cd ramtest && call Build || exit /b 1 & endlocal - -copy *.com %APPBIN%\ +call :asm syscopy || exit /b +call :asm assign || exit /b +call :asm format || exit /b +call :asm talk || exit /b +call :asm mode || exit /b +call :asm rtc || exit /b +call :asm timer || exit /b +call :asm180 inttest || exit /b +call :asm rtchb || exit /b +call :asm ppidetst || exit /b +call :asm tstdskng || exit /b + +zx Z80ASM -SYSGEN/F || exit /b + +zx MAC SURVEY.ASM -$PO || exit /b +zx MLOAD25 -SURVEY.COM=SURVEY.HEX || exit /b + +pushd XM && call Build || exit /b & popd +pushd FDU && call Build || exit /b & popd +pushd Tune && call Build || exit /b & popd +pushd FAT && call Build || exit /b & popd +pushd I2C && call Build || exit /b & popd +pushd ramtest && call Build || exit /b & popd + +copy *.com %APPBIN%\ || exit /b goto :eof :asm echo. echo Building %1... -tasm -t80 -g3 -fFF %1.asm %1.com %1.lst +tasm -t80 -g3 -fFF %1.asm %1.com %1.lst || exit /b goto :eof :asm180 echo. echo Building %1... -tasm -t180 -g3 -fFF %1.asm %1.com %1.lst +tasm -t180 -g3 -fFF %1.asm %1.com %1.lst || exit /b goto :eof diff --git a/Source/Apps/Clean.cmd b/Source/Apps/Clean.cmd index 04a056ee..429b0c70 100644 --- a/Source/Apps/Clean.cmd +++ b/Source/Apps/Clean.cmd @@ -7,9 +7,9 @@ if exist *.lst del *.lst if exist *.hex del *.hex if exist *.prn del *.prn -setlocal & cd XM && call Clean || exit /b 1 & endlocal -setlocal & cd FDU && call Clean || exit /b 1 & endlocal -setlocal & cd Tune && call Clean || exit /b 1 & endlocal -setlocal & cd FAT && call Clean || exit /b 1 & endlocal -setlocal & cd I2C && call Clean || exit /b 1 & endlocal -setlocal & cd ramtest && call Clean || exit /b 1 & endlocal +pushd XM && call Clean || exit /b 1 & popd +pushd FDU && call Clean || exit /b 1 & popd +pushd Tune && call Clean || exit /b 1 & popd +pushd FAT && call Clean || exit /b 1 & popd +pushd I2C && call Clean || exit /b 1 & popd +pushd ramtest && call Clean || exit /b 1 & popd diff --git a/Source/Apps/FAT/Build.cmd b/Source/Apps/FAT/Build.cmd index d4e7878d..235b1874 100644 --- a/Source/Apps/FAT/Build.cmd +++ b/Source/Apps/FAT/Build.cmd @@ -4,4 +4,4 @@ setlocal REM FAT.com is currently distributed as a binary application, so REM it is not built here. -copy /Y fat.com ..\..\..\Binary\Apps\ +copy /Y fat.com ..\..\..\Binary\Apps\ || exit /b diff --git a/Source/Apps/FDU/Build.cmd b/Source/Apps/FDU/Build.cmd index 414b1e49..7594c95c 100644 --- a/Source/Apps/FDU/Build.cmd +++ b/Source/Apps/FDU/Build.cmd @@ -5,9 +5,7 @@ set TOOLS=../../../Tools set PATH=%TOOLS%\tasm32;%PATH% set TASMTABS=%TOOLS%\tasm32 -tasm -t80 -b -fFF fdu.asm fdu.com fdu.lst +tasm -t80 -b -fFF fdu.asm fdu.com fdu.lst || exit /b -if errorlevel 1 goto :eof - -copy /Y fdu.com ..\..\..\Binary\Apps\ -copy /Y fdu.txt ..\..\..\Doc\ \ No newline at end of file +copy /Y fdu.com ..\..\..\Binary\Apps\ || exit /b +copy /Y fdu.txt ..\..\..\Doc\ || exit /b \ No newline at end of file diff --git a/Source/Apps/I2C/Build.cmd b/Source/Apps/I2C/Build.cmd index 60b6a312..8ac7bf8b 100644 --- a/Source/Apps/I2C/Build.cmd +++ b/Source/Apps/I2C/Build.cmd @@ -5,11 +5,9 @@ set TOOLS=../../../Tools set PATH=%TOOLS%\tasm32;%PATH% set TASMTABS=%TOOLS%\tasm32 -tasm -t180 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst -tasm -t180 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst -tasm -t180 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst +tasm -t180 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst || exit /b +tasm -t180 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst || exit /b +tasm -t180 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst || exit /b -if errorlevel 1 goto :eof - -copy /Y i2c*.com ..\..\..\Binary\Apps\ -copy /Y rtcds7*.com ..\..\..\Binary\Apps\ +copy /Y i2c*.com ..\..\..\Binary\Apps\ || exit /b +copy /Y rtcds7*.com ..\..\..\Binary\Apps\ || exit /b diff --git a/Source/Apps/Tune/Build.cmd b/Source/Apps/Tune/Build.cmd index 98901a70..6c601548 100644 --- a/Source/Apps/Tune/Build.cmd +++ b/Source/Apps/Tune/Build.cmd @@ -5,11 +5,9 @@ set TOOLS=../../../Tools set PATH=%TOOLS%\tasm32;%PATH% set TASMTABS=%TOOLS%\tasm32 -tasm -t180 -g3 -fFF -dWBW tune.asm tune.com tune.lst -tasm -t180 -g3 -fFF -dZX tune.asm tunezx.com tunezx.lst -tasm -t180 -g3 -fFF -dMSX tune.asm tunemsx.com tunemsx.lst +tasm -t180 -g3 -fFF -dWBW tune.asm tune.com tune.lst || exit /b +tasm -t180 -g3 -fFF -dZX tune.asm tunezx.com tunezx.lst || exit /b +tasm -t180 -g3 -fFF -dMSX tune.asm tunemsx.com tunemsx.lst || exit /b -if errorlevel 1 goto :eof - -copy /Y tune*.com ..\..\..\Binary\Apps\ -copy /Y Tunes\*.* ..\..\..\Binary\Apps\Tunes\ \ No newline at end of file +copy /Y tune*.com ..\..\..\Binary\Apps\ || exit /b +copy /Y Tunes\*.* ..\..\..\Binary\Apps\Tunes\ || exit /b \ No newline at end of file diff --git a/Source/Apps/XM/Build.cmd b/Source/Apps/XM/Build.cmd index 6105dac4..fef70f92 100644 --- a/Source/Apps/XM/Build.cmd +++ b/Source/Apps/XM/Build.cmd @@ -9,22 +9,22 @@ set ZXBINDIR=%TOOLS%\cpm\bin\ set ZXLIBDIR=%TOOLS%\cpm\lib\ set ZXINCDIR=%TOOLS%\cpm\include\ -zx mac xmdm125.asm $PO +zx mac xmdm125.asm $PO || exit /b -zx slr180 -xmhb/HF -zx mload25 XM=xmdm125,xmhb +zx slr180 -xmhb/HF || exit /b +zx mload25 XM=xmdm125,xmhb || exit /b -rem zx slr180 -xmuf/HF -rem zx mload25 XMUF=xmdm125,xmuf +rem zx slr180 -xmuf/HF || exit /b +rem zx mload25 XMUF=xmdm125,xmuf || exit /b -zx slr180 -xmhb_old/HF -zx mload25 XMOLD=xmdm125,xmhb_old +zx slr180 -xmhb_old/HF || exit /b +zx mload25 XMOLD=xmdm125,xmhb_old || exit /b rem set PROMPT=[Build] %PROMPT% rem %comspec% -copy /Y XM.com ..\..\..\Binary\Apps\ -rem copy /Y XMUF.com ..\..\..\Binary\Apps\ -copy /Y XMOLD.com ..\..\..\Binary\Apps\ +copy /Y XM.com ..\..\..\Binary\Apps\ || exit /b +rem copy /Y XMUF.com ..\..\..\Binary\Apps\ || exit /b +copy /Y XMOLD.com ..\..\..\Binary\Apps\ || exit /b rem pause \ No newline at end of file diff --git a/Source/Apps/ramtest/Build.cmd b/Source/Apps/ramtest/Build.cmd index f62f9c6f..403734a5 100644 --- a/Source/Apps/ramtest/Build.cmd +++ b/Source/Apps/ramtest/Build.cmd @@ -5,11 +5,9 @@ set TOOLS=../../../Tools set PATH=%TOOLS%\tasm32;%PATH% set TASMTABS=%TOOLS%\tasm32 -tasm -t80 -b -fFF loader.asm loader.bin loader.lst -tasm -t80 -b -fFF dbgmon.asm dbgmon.bin dbgmon.lst +tasm -t80 -b -fFF loader.asm loader.bin loader.lst || exit /b +tasm -t80 -b -fFF dbgmon.asm dbgmon.bin dbgmon.lst || exit /b -copy /Y /b loader.bin+dbgmon.bin ramtest.com +copy /Y /b loader.bin+dbgmon.bin ramtest.com || exit /b -if errorlevel 1 goto :eof - -copy /Y ramtest.com ..\..\..\Binary\Apps\ +copy /Y ramtest.com ..\..\..\Binary\Apps\ || exit /b diff --git a/Source/BPBIOS/Build.cmd b/Source/BPBIOS/Build.cmd index 54186541..09d9edac 100644 --- a/Source/BPBIOS/Build.cmd +++ b/Source/BPBIOS/Build.cmd @@ -2,9 +2,9 @@ setlocal -setlocal & cd ZCPR33 && call Build || exit /b 1 & endlocal -setlocal & cd Z34RCP11 && call Build || exit /b 1 & endlocal -setlocal & cd NZFCP13 && call Build || exit /b 1 & endlocal +setlocal & cd ZCPR33 && call Build || exit /b & endlocal +setlocal & cd Z34RCP11 && call Build || exit /b & endlocal +setlocal & cd NZFCP13 && call Build || exit /b & endlocal set PATH=%PATH%;..\..\Tools\zx;..\..\Tools\cpmtools; @@ -54,13 +54,13 @@ echo. echo Building BPBIOS Variant "%VER%"... echo. -copy def-ww-z%VER%.lib def-ww.lib -rem if exist bpbio-ww.rel del bpbio-ww.rel -zx ZMAC -BPBIO-WW -/P -if exist bp%VER%.prn del bp%VER%.prn -ren bpbio-ww.prn bp%VER%.prn -ren bpbio-ww.err bp%VER%.err -copy bpbio-ww.rel bp%VER%.rel +copy def-ww-z%VER%.lib def-ww.lib || exit /b +rem if exist bpbio-ww.rel del bpbio-ww.rel || exit /b +zx ZMAC -BPBIO-WW -/P || exit /b +if exist bp%VER%.prn del bp%VER%.prn || exit /b +ren bpbio-ww.prn bp%VER%.prn || exit /b +ren bpbio-ww.err bp%VER%.err || exit /b +copy bpbio-ww.rel bp%VER%.rel || exit /b rem pause @@ -69,17 +69,17 @@ rem while is is still open. Real CP/M does not care, rem but zx fails due to host OS. Below, a temp file rem is used to avoid the problematic rename. -if exist bpsys.img del bpsys.img -if exist bpsys.tmp del bpsys.tmp -copy bp%VER%.dat bpsys.tmp +if exist bpsys.img del bpsys.img || exit /b +if exist bpsys.tmp del bpsys.tmp || exit /b +copy bp%VER%.dat bpsys.tmp || exit /b rem bpsys.tmp -> bpsys.img -zx bpbuild -bpsys.tmp bpsys.img -zx bpbuild -bpsys.tmp font8x8u.asm -fonttool font8x11u.bin > font8x11u.asm -fonttool font8x16u.bin > font8x16u.asm -fonttool font8x8c.bin > font8x8c.asm -fonttool font8x11c.bin > font8x11c.asm -fonttool font8x16c.bin > font8x16c.asm +fonttool font8x8u.bin > font8x8u.asm || exit /b +fonttool font8x11u.bin > font8x11u.asm || exit /b +fonttool font8x16u.bin > font8x16u.asm || exit /b +fonttool font8x8c.bin > font8x8c.asm || exit /b +fonttool font8x11c.bin > font8x11c.asm || exit /b +fonttool font8x16c.bin > font8x16c.asm || exit /b diff --git a/Source/Fonts/Clean.cmd b/Source/Fonts/Clean.cmd index 8712ec61..006ab5e7 100644 --- a/Source/Fonts/Clean.cmd +++ b/Source/Fonts/Clean.cmd @@ -1,6 +1,5 @@ @echo off setlocal - if exist *.asm del *.asm if exist *c.bin del *c.bin diff --git a/Source/Forth/Build.cmd b/Source/Forth/Build.cmd index fa958516..1d93e79f 100644 --- a/Source/Forth/Build.cmd +++ b/Source/Forth/Build.cmd @@ -11,7 +11,7 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -zx zsm =camel80.azm -/l -zx link -CAMEL80.BIN[L200]=CAMEL80 +zx zsm =camel80.azm -/l || exit /b +zx link -CAMEL80.BIN[L200]=CAMEL80 || exit /b diff --git a/Source/HBIOS/Build.cmd b/Source/HBIOS/Build.cmd index d0e084a1..f6639106 100644 --- a/Source/HBIOS/Build.cmd +++ b/Source/HBIOS/Build.cmd @@ -1,5 +1,103 @@ @echo off +setlocal + +:: +:: Build [ [ [ []]]] +:: set TOOLS=../../Tools -PowerShell .\Build.ps1 %* +set PATH=%TOOLS%\tasm32;%TOOLS%\zx;%PATH% + +set TASMTABS=%TOOLS%\tasm32 + +set ZXBINDIR=%TOOLS%/cpm/bin/ +set ZXLIBDIR=%TOOLS%/cpm/lib/ +set ZXINCDIR=%TOOLS%/cpm/include/ + +PowerShell -ExecutionPolicy Unrestricted .\Build.ps1 %* || exit /b + +call build_env.cmd + +echo Building %ROMSize%K ROM %ROMName% for Z%CPUType% CPU... + +if %Platform%==UNA goto :UNA + +copy ..\Fonts\font*.asm . || exit /b + +:: +:: Build HBIOS Core (all variants) +:: +tasm -t%CPUType% -g3 -dROMBOOT hbios.asm hbios_rom.bin hbios_rom.lst || exit /b +tasm -t%CPUType% -g3 -dAPPBOOT hbios.asm hbios_app.bin hbios_app.lst || exit /b +tasm -t%CPUType% -g3 -dIMGBOOT hbios.asm hbios_img.bin hbios_img.lst || exit /b + +:: +:: Build ROM Components +:: +call :asm dbgmon +call :asm romldr +call :asm eastaegg +call :asm nascom +call :asm tastybasic +call :asm game +call :asm usrrom +call :asm updater +call :asm imgpad2 + +:: +:: Create ROM bank images by assembling components +:: + +copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_wbw.bin + ..\cpm22\cpm_wbw.bin osimg.bin || exit /b +copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_wbw.bin osimg_small.bin || exit /b +copy /b ..\Forth\camel80.bin + nascom.bin + tastybasic.bin + game.bin + eastaegg.bin + netboot.mod + updater.bin + usrrom.bin osimg1.bin || exit /b +copy /b imgpad2.bin osimg2.bin || exit /b + +:: +:: Create final ROM images +:: + +set RomDiskDat= +if %ROMSize% GTR 128 set RomDiskDat=..\RomDsk\rom%ROMSize%_wbw.dat + +copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin + ..\RomDsk\rom%ROMSize%_wbw.dat %ROMName%.rom || exit /b +copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b +copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b + +:: +:: Copy to output directory +:: + +copy %ROMName%.rom ..\..\Binary || exit /b +copy %ROMName%.upd ..\..\Binary || exit /b +copy %ROMName%.com ..\..\Binary || exit /b + +goto :eof + +:: +:: UNA specific ROM creation +:: + +:UNA + +call :asm dbgmon +call :asm romldr + +copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_una.bin + ..\cpm22\cpm_una.bin osimg.bin || exit /b + +copy /b osimg.bin ..\..\Binary\UNA_WBW_SYS.bin || exit /b +copy /b ..\RomDsk\rom%ROMSize%_una.dat ..\..\Binary\UNA_WBW_ROM%ROMSize%.bin || exit /b + +copy /b ..\UBIOS\UNA-BIOS.BIN + osimg.bin + ..\UBIOS\FSFAT.BIN + ..\RomDsk\rom%ROMSize%_una.dat %ROMName%.rom || exit /b + +copy %ROMName%.rom ..\..\Binary || exit /b + +goto :eof + +:asm +echo. +echo Building %1... +tasm -t80 -g3 -fFF %1.asm %1.bin %1.lst || exit /b +goto :eof + diff --git a/Source/HBIOS/Build.ps1 b/Source/HBIOS/Build.ps1 index 42f36900..4c519d01 100644 --- a/Source/HBIOS/Build.ps1 +++ b/Source/HBIOS/Build.ps1 @@ -1,9 +1,16 @@ -param([string]$Platform = "", [string]$Config = "", [int]$RomSize = 512, [string]$RomName = "") +param([string]$Platform = "", [string]$Config = "", [int]$RomSize = 512, [string]$ROMName = "") -# -# This PowerShell script performs the heavy lifting in the build of RomWBW. It handles the assembly -# of the HBIOS and then creates the final ROM image imbedding the other components such as the OS -# images, boot loader, and ROM disk image. +# If a PowerShell exception occurs, just stop the script immediately. +$ErrorAction = 'Stop' + +# This PowerShell script is used to prepare the build environment for +# HBIOS. It starts by validating and/or prompting the user for several +# key variables that control the build: Platform, Config, ROM size, and +# optionally an override for the output ROM name. These variables are +# then placed in a generated batch command file allowing them to be +# exposed to the subsequent build steps. Next, it generates a +# small TASM include file that exposes some variables to the subsequent +# assembly process. # # The RomWBW build is heavily dependent on the concept of a hardware "platform" and the associated # "configuration". The build process selects a pair of files that are included in the HBIOS assembly @@ -19,6 +26,7 @@ param([string]$Platform = "", [string]$Config = "", [int]$RomSize = 512, [string # setup mechanism so that multiple configuration are not needed. When building for UNA, the pre-built # UNA BIOS is simply imbedded, it is not built here. # + $PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "RCZ280", "EZZ80", "UNA" $PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO" $PlatformListZ280 = "RCZ280" @@ -28,6 +36,7 @@ $PlatformListZ280 = "RCZ280" # $Platform and loop requesting a new value as long as it is not valid. The valid platform # names are just hard-coded for now. # + $PlatformList = $PlatformListZ80 + $PlatformListZ180 + $PlatformListZ280 $Prompt = "Platform [" ForEach ($PlatformName in $PlatformList) {$Prompt += $PlatformName + "|"} @@ -45,6 +54,7 @@ while ($true) # if the requested ConfigFile exists. Config files must be named _.asm where is # the platform name established above and is the value of $Config determined here. # + while ($true) { $PlatformConfigFile = "Config/plt_${Platform}.asm" @@ -63,6 +73,7 @@ while ($true) # are just hard-coded for now. The ROM size does nothing more than determine the size of the # ROM disk portion of the ROM image. # + while ($true) { if (($RomSize -eq 128) -or ($RomSize -eq 256) -or ($RomSize -eq 512) -or ($RomSize -eq 1024)) {break} @@ -73,84 +84,33 @@ while ($true) # TASM should be invoked with the proper CPU type. Below, the CPU type is inferred # from the platform. # + $CPUType = "80" if ($PlatformListZ180 -contains $Platform) {$CPUType = "180"} if ($PlatformListZ280 -contains $Platform) {$CPUType = "280"} # -# The $RomName variable determines the name of the image created by the script. By default, +# The $ROMName variable determines the name of the image created by the script. By default, # this will be _.rom. Unless the script was invoked with a specified # ROM filename, the name is established below. # -if ($RomName -eq "") {$RomName = "${Platform}_${Config}"} -while ($RomName -eq "") -{ - $CP = (Read-Host -prompt "ROM Name [${Config}]").Trim() - if ($RomName -eq "") {$RomName = $Config} -} - -# If a PowerShell exception occurs, just stop the script immediately. -$ErrorAction = 'Stop' -# Directories of required build tools (TASM & cpmtools) -$TasmPath = '..\..\tools\tasm32' -$CpmToolsPath = '..\..\tools\cpmtools' - -# Add tool directories to PATH and setup TASM's TABS directory path -$env:TASMTABS = $TasmPath -$env:PATH = $TasmPath + ';' + $CpmToolsPath + ';' + $env:PATH - -# Initialize working variables -$OutDir = "../../Binary" # Output directory for final image file -$RomFmt = "wbw_rom${RomSize}" # Location of files to imbed in ROM disk -$BlankROM = "Blank${RomSize}KB.dat" # An initial "empty" image for the ROM disk of proper size -$RomDiskFile = "RomDisk.tmp" # Temporary filename used to create ROM disk image -$RomFile = "${OutDir}/${RomName}.rom" # Final name of ROM image -$ComFile = "${OutDir}/${RomName}.com" # Final name of COM image (command line loadable HBIOS/CBIOS) -$ImgFile = "${OutDir}/${RomName}.img" # Final name of IMG image (memory loadable HBIOS/CBIOS image) -$UpdFile = "${OutDir}/${RomName}.upd" # Final name of System ROM image - -# Select the proper CBIOS to include in the ROM. UNA is special. -if ($Platform -eq "UNA") {$Bios = 'una'} else {$Bios = 'wbw'} - -# List of RomWBW proprietary apps to imbed in ROM disk. -$RomApps = "assign","mode","rtc","syscopy","xm" -if ($RomSize -gt "256") +if ($ROMName -eq "") {$ROMName = "${Platform}_${Config}"} +while ($ROMName -eq "") { - $RomApps += "fdu","format","survey","sysgen","talk","timer","inttest" + $CP = (Read-Host -prompt "ROM Name [${Config}]").Trim() + if ($ROMName -eq "") {$ROMName = $Config} } -"" -"Building ${RomName} ${ROMSize}KB ROM configuration ${Config} for Z${CPUType}..." -"" - # Current date/time is queried here to be subsequently imbedded in image $TimeStamp = '"' + (Get-Date -Format 'yyyy-MM-dd') + '"' -# Function to run TASM and throw an exception if an error occurs. -Function Asm($Component, $Opt, $Architecture=$CPUType, $Output="${Component}.bin", $List="${Component}.lst") -{ - $Cmd = "tasm -t${Architecture} -g3 -e ${Opt} ${Component}.asm ${Output} ${List}" - $Cmd | write-host - Invoke-Expression $Cmd | write-host - if ($LASTEXITCODE -gt 0) {throw "TASM returned exit code $LASTEXITCODE"} -} - -# Function to concatenate two binary files. -Function Concat($InputFileList, $OutputFile) -{ - Set-Content $OutputFile -Value $null - foreach ($InputFile in $InputFileList) - { - Add-Content $OutputFile -Value ([System.IO.File]::ReadAllBytes($InputFile)) -Encoding byte - } -} - # # Since TASM has no mechanism to include files dynamically based on variables, a file # is built on-the-fly here for imbedding in the build process. This file is basically # just used to include the platform and config files. It also passes in some values -# from the build to include in the build. +# from the build to include in the assembly. +# @" ; RomWBW Configured for ${Platform} ${Config}, $(Get-Date -Format "s") @@ -163,102 +123,17 @@ ROMSIZE .EQU ${ROMSize} ; "@ | Out-File "build.inc" -Encoding ASCII -# # Bring over previously assembled binary copy of Forth for later use. -# Copy-Item '..\Forth\camel80.bin' 'camel80.bin' - -# Bring over previously generated font files. -Copy-Item '..\Fonts\font*.asm' '.' - -# Assemble individual components. Note in the case of UNA, there is less to build. -$RomComponentList = "dbgmon", "romldr", "eastaegg" -ForEach ($RomComponentName in $RomComponentList) {Asm $RomComponentName} - -if ($Platform -ne "UNA") -{ - Asm 'hbios' '-dROMBOOT' -Output 'hbios_rom.bin' -List 'hbios_rom.lst' - Asm 'hbios' '-dAPPBOOT' -Output 'hbios_app.bin' -List 'hbios_app.lst' - Asm 'hbios' '-dIMGBOOT' -Output 'hbios_img.bin' -List 'hbios_img.lst' - - Asm 'nascom' - Asm 'tastybasic' - Asm 'game' - Asm 'usrrom' - Asm 'updater' - Asm 'imgpad2' -} - # -# Once all of the individual binary components have been created above, the final -# ROM image is created by simply concatenating the pieces together as needed. +# We need to pass the key variables controling the assembly process back +# out to the calling batch file. We do this by generating a small +# batch file which can be invoked by the calling batch file to expose +# the variables. # -"Building ${RomName} output files..." -# Build 32K OS chunk containing the loader, debug monitor, and two OS images -Concat 'romldr.bin', 'dbgmon.bin', "..\zsdos\zsys_${Bios}.bin", "..\cpm22\cpm_${Bios}.bin" osimg.bin - -# Build 20K OS chunk containing the loader, debug monitor, and one OS image -Concat 'romldr.bin','dbgmon.bin', "..\zsdos\zsys_${Bios}.bin" osimg_small.bin - -# Build second and third 32K chunks containing supplemental ROM apps (not for UNA) -if ($Platform -ne "UNA") -{ - Concat '..\Forth\camel80.bin', 'nascom.bin', 'tastybasic.bin', 'game.bin', 'eastaegg.bin', 'netboot.mod', 'updater.bin', 'usrrom.bin' osimg1.bin - Concat 'imgpad2.bin' osimg2.bin -} - -# -# Now the ROM disk image is created. This is done by starting with a -# blank ROM disk image of the correct size, then cpmtools is used to -# add the desired files. -# - -"Building ${RomSize}KB ${RomName} ROM disk data file..." - -# Create a blank ROM disk image to create a working ROM disk image -Set-Content -Value ([byte[]](0xE5) * (([int]${RomSize} * 1KB) - 128KB)) -Encoding byte -Path $RomDiskFile - -if ($RomSize -gt 128) -{ - # Copy all files from the appropriate directory to the working ROM disk image - cpmcp -f $RomFmt $RomDiskFile ../RomDsk/ROM_${RomSize}KB/*.* 0: - - # Add any platform specific files to the working ROM disk image - if (Test-Path "../RomDsk/${Platform}/*.*") - { - cpmcp -f $RomFmt $RomDiskFile ../RomDsk/${Platform}/*.* 0: - } - - # Add the proprietary RomWBW applications to the working ROM disk image - foreach ($App in $RomApps) - { - cpmcp -f $RomFmt $RomDiskFile ../../Binary/Apps/$App.com 0: - } - - # Add the CP/M and ZSystem system images to the ROM disk (used by SYSCOPY) - cpmcp -f $RomFmt $RomDiskFile ..\cpm22\cpm_${Bios}.sys 0:cpm.sys - cpmcp -f $RomFmt $RomDiskFile ..\zsdos\zsys_${Bios}.sys 0:zsys.sys - - # Set all the files in the ROM disk image to read only for extra protection under flash file system. - cpmchattr -f $RomFmt $RomDiskFile r 0:*.* -} - -# -# Finally, the individual binary components are concatenated together to produce -# the final images. -# -if ($Platform -eq "UNA") -{ - Copy-Item 'osimg.bin' ${OutDir}\UNA_WBW_SYS.bin - Copy-Item $RomDiskFile ${OutDir}\UNA_WBW_ROM${ROMSize}.bin - - Concat '..\UBIOS\UNA-BIOS.BIN','osimg.bin','..\UBIOS\FSFAT.BIN',$RomDiskFile $RomFile -} -else -{ - Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg2.bin',$RomDiskFile $RomFile - Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg2.bin' $UpdFile - Concat 'hbios_app.bin','osimg_small.bin' $ComFile -} - -# Remove the temporary working ROM disk file -Remove-Item $RomDiskFile +@" +set Platform=${Platform} +set Config=${Config} +set ROMName=${ROMName} +set ROMSize=${ROMSize} +set CPUType=${CPUType} +"@ | Out-File "build_env.cmd" -Encoding ASCII diff --git a/Source/HBIOS/Clean.cmd b/Source/HBIOS/Clean.cmd index c2194335..d35f7fcb 100644 --- a/Source/HBIOS/Clean.cmd +++ b/Source/HBIOS/Clean.cmd @@ -5,10 +5,12 @@ if exist *.bin del *.bin if exist *.com del *.com if exist *.img del *.img if exist *.rom del *.rom +if exist *.upd del *.upd if exist *.lst del *.lst if exist *.exp del *.exp if exist *.tmp del *.tmp if exist *.mrk del *.mrk if exist *.sys del *.sys if exist build.inc del build.inc -if exist font*.asm del font*.asm \ No newline at end of file +if exist font*.asm del font*.asm +if exist build_env.cmd del build_env.cmd diff --git a/Source/Images/Build.cmd b/Source/Images/Build.cmd index 78efeccd..22393bbb 100644 --- a/Source/Images/Build.cmd +++ b/Source/Images/Build.cmd @@ -4,43 +4,43 @@ setlocal echo. echo Building Floppy Disk Images... echo. -call BuildDisk.cmd cpm22 wbw_fd144 ..\cpm22\cpm_wbw.sys -call BuildDisk.cmd zsdos wbw_fd144 ..\zsdos\zsys_wbw.sys -call BuildDisk.cmd nzcom wbw_fd144 ..\zsdos\zsys_wbw.sys -call BuildDisk.cmd cpm3 wbw_fd144 ..\cpm3\cpmldr.sys -call BuildDisk.cmd zpm3 wbw_fd144 ..\cpm3\cpmldr.sys -call BuildDisk.cmd ws4 wbw_fd144 +call BuildDisk.cmd cpm22 wbw_fd144 ..\cpm22\cpm_wbw.sys || exit /b +call BuildDisk.cmd zsdos wbw_fd144 ..\zsdos\zsys_wbw.sys || exit /b +call BuildDisk.cmd nzcom wbw_fd144 ..\zsdos\zsys_wbw.sys || exit /b +call BuildDisk.cmd cpm3 wbw_fd144 ..\cpm3\cpmldr.sys || exit /b +call BuildDisk.cmd zpm3 wbw_fd144 ..\cpm3\cpmldr.sys || exit /b +call BuildDisk.cmd ws4 wbw_fd144 || exit /b echo. echo Building Hard Disk Images (512 directory entry format)... echo. -call BuildDisk.cmd cpm22 wbw_hd512 ..\cpm22\cpm_wbw.sys -call BuildDisk.cmd zsdos wbw_hd512 ..\zsdos\zsys_wbw.sys -call BuildDisk.cmd nzcom wbw_hd512 ..\zsdos\zsys_wbw.sys -call BuildDisk.cmd cpm3 wbw_hd512 ..\cpm3\cpmldr.sys -call BuildDisk.cmd zpm3 wbw_hd512 ..\cpm3\cpmldr.sys -call BuildDisk.cmd ws4 wbw_hd512 +call BuildDisk.cmd cpm22 wbw_hd512 ..\cpm22\cpm_wbw.sys || exit /b +call BuildDisk.cmd zsdos wbw_hd512 ..\zsdos\zsys_wbw.sys || exit /b +call BuildDisk.cmd nzcom wbw_hd512 ..\zsdos\zsys_wbw.sys || exit /b +call BuildDisk.cmd cpm3 wbw_hd512 ..\cpm3\cpmldr.sys || exit /b +call BuildDisk.cmd zpm3 wbw_hd512 ..\cpm3\cpmldr.sys || exit /b +call BuildDisk.cmd ws4 wbw_hd512 || exit /b -if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp wbw_hd512 +if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp wbw_hd512 || exit /b echo. echo Building Combo Disk (512 directory entry format) Image... -copy /b ..\..\Binary\hd512_cpm22.img + ..\..\Binary\hd512_zsdos.img + ..\..\Binary\hd512_nzcom.img + ..\..\Binary\hd512_cpm3.img + ..\..\Binary\hd512_zpm3.img + ..\..\Binary\hd512_ws4.img ..\..\Binary\hd512_combo.img +copy /b ..\..\Binary\hd512_cpm22.img + ..\..\Binary\hd512_zsdos.img + ..\..\Binary\hd512_nzcom.img + ..\..\Binary\hd512_cpm3.img + ..\..\Binary\hd512_zpm3.img + ..\..\Binary\hd512_ws4.img ..\..\Binary\hd512_combo.img || exit /b echo. echo Building Hard Disk Images (1024 directory entry format)... echo. -call BuildDisk.cmd cpm22 wbw_hd1024 ..\cpm22\cpm_wbw.sys -call BuildDisk.cmd zsdos wbw_hd1024 ..\zsdos\zsys_wbw.sys -call BuildDisk.cmd nzcom wbw_hd1024 ..\zsdos\zsys_wbw.sys -call BuildDisk.cmd cpm3 wbw_hd1024 ..\cpm3\cpmldr.sys -call BuildDisk.cmd zpm3 wbw_hd1024 ..\cpm3\cpmldr.sys -call BuildDisk.cmd ws4 wbw_hd1024 +call BuildDisk.cmd cpm22 wbw_hd1024 ..\cpm22\cpm_wbw.sys || exit /b +call BuildDisk.cmd zsdos wbw_hd1024 ..\zsdos\zsys_wbw.sys || exit /b +call BuildDisk.cmd nzcom wbw_hd1024 ..\zsdos\zsys_wbw.sys || exit /b +call BuildDisk.cmd cpm3 wbw_hd1024 ..\cpm3\cpmldr.sys || exit /b +call BuildDisk.cmd zpm3 wbw_hd1024 ..\cpm3\cpmldr.sys || exit /b +call BuildDisk.cmd ws4 wbw_hd1024 || exit /b -if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp wbw_hd1024 +if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp wbw_hd1024 || exit /b -copy hd1024_prefix.dat ..\..\Binary\ +copy hd1024_prefix.dat ..\..\Binary\ || exit /b echo. echo Building Combo Disk (1024 directory entry format) Image... -copy /b hd1024_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_combo.img +copy /b hd1024_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_combo.img || exit /b diff --git a/Source/Images/BuildDisk.cmd b/Source/Images/BuildDisk.cmd index d280c1fd..4f865ae8 100644 --- a/Source/Images/BuildDisk.cmd +++ b/Source/Images/BuildDisk.cmd @@ -1 +1,4 @@ -@PowerShell -ExecutionPolicy Unrestricted .\BuildDisk.ps1 %* \ No newline at end of file +@echo off +setlocal + +PowerShell -ExecutionPolicy Unrestricted .\BuildDisk.ps1 %* || exit /b \ No newline at end of file diff --git a/Source/Prop/Build.cmd b/Source/Prop/Build.cmd index d46a4655..5cad6196 100644 --- a/Source/Prop/Build.cmd +++ b/Source/Prop/Build.cmd @@ -14,7 +14,6 @@ goto :eof :bstc echo. echo Building %1... -bstc Spin\%1 -e -l -if errorlevel 1 goto :eof -move /Y %1.eeprom "..\..\Binary" +bstc Spin\%1 -e -l || exit /b +move /Y %1.eeprom "..\..\Binary" || exit /b goto :eof diff --git a/Source/RomDsk/Build.cmd b/Source/RomDsk/Build.cmd new file mode 100644 index 00000000..965a2dd0 --- /dev/null +++ b/Source/RomDsk/Build.cmd @@ -0,0 +1,59 @@ +@echo off +setlocal + +set TOOLS=../../Tools + +set PATH=%TOOLS%\tasm32;%TOOLS%\zx;%TOOLS%\srecord;%TOOLS%\cpmtools;%PATH% + +set TASMTABS=%TOOLS%\tasm32 + +set ZXBINDIR=%TOOLS%/cpm/bin/ +set ZXLIBDIR=%TOOLS%/cpm/lib/ +set ZXINCDIR=%TOOLS%/cpm/include/ + +:: +:: Make all variants of the ROM Disk contents image. Three sizes are +:: created for each of the different ROM sizes possible (256K, 512K, 1024K). +:: Also, the UNA ROM Disks contain different versions of the OS files. +:: +:: Note that the sizes specified below are not the size of the final +:: ROM. The ROM reserves 128K for code space. So, the size created is +:: the final ROM size less 128K. +:: + +:: MakeDisk + +set RomApps=assign mode rtc syscopy xm + +call :MakeDisk rom256_wbw 0x20000 wbw_rom256 ROM_256KB wbw +call :MakeDisk rom256_una 0x20000 wbw_rom256 ROM_256KB una + +set RomApps=%RomApps% fdu format survey sysgen talk timer inttest + +call :MakeDisk rom512_wbw 0x60000 wbw_rom512 ROM_512KB wbw +call :MakeDisk rom512_una 0x60000 wbw_rom512 ROM_512KB una + +call :MakeDisk rom1024_wbw 0xE0000 wbw_rom1024 ROM_1024KB wbw +call :MakeDisk rom1024_una 0xE0000 wbw_rom1024 ROM_1024KB una + +goto :eof + +:MakeDisk +set Output=%1 +set Size=%2 +set Format=%3 +set Content=%4 +set Bios=%5 + +echo Making ROM Disk %Output% + +srec_cat -Generate 0 %Size% --Constant 0xE5 -Output %Output%.dat -Binary || exit /b + +cpmcp -f %Format% %Output%.dat %Content%/*.* 0: || exit /b +for %%f in (%RomApps%) do cpmcp -f %Format% %Output%.dat ../../Binary/Apps/%%f.com 0: || exit /b +cpmcp -f %Format% %Output%.dat ..\cpm22\cpm_%Bios%.sys 0:cpm.sys || exit /b +cpmcp -f %Format% %Output%.dat ..\zsdos\zsys_%Bios%.sys 0:zsys.sys || exit /b + +cpmchattr -f %Format% %Output%.dat r 0:*.* || exit /b + +goto :eof diff --git a/Source/RomDsk/Clean.cmd b/Source/RomDsk/Clean.cmd new file mode 100644 index 00000000..0b90e072 --- /dev/null +++ b/Source/RomDsk/Clean.cmd @@ -0,0 +1,4 @@ +@echo off +setlocal + +if exist *.dat del *.dat diff --git a/Source/ZCPR-DJ/Build.cmd b/Source/ZCPR-DJ/Build.cmd index b07546ee..403a01e1 100644 --- a/Source/ZCPR-DJ/Build.cmd +++ b/Source/ZCPR-DJ/Build.cmd @@ -11,5 +11,5 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -zx M80 -=zcpr/l -zx L80 -zcpr,zcpr.bin/n/e \ No newline at end of file +zx M80 -=zcpr/l || exit /b +zx L80 -zcpr,zcpr.bin/n/e || exit /b \ No newline at end of file diff --git a/Source/ZCPR/Build.cmd b/Source/ZCPR/Build.cmd index 55b3113c..b6b9d764 100644 --- a/Source/ZCPR/Build.cmd +++ b/Source/ZCPR/Build.cmd @@ -11,8 +11,8 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -zx MAC -ZCPR.ASM -$PO -zx MLOAD25 -ZCPR.BIN=ZCPR.HEX +zx MAC -ZCPR.ASM -$PO || exit /b +zx MLOAD25 -ZCPR.BIN=ZCPR.HEX || exit /b -zx MAC -BDLOC.ASM -$PO -zx MLOAD25 -BDLOC.COM=BDLOC.HEX +zx MAC -BDLOC.ASM -$PO || exit /b +zx MLOAD25 -BDLOC.COM=BDLOC.HEX || exit /b diff --git a/Source/ZPM3/Build.cmd b/Source/ZPM3/Build.cmd index 5430167b..e9ef50ca 100644 --- a/Source/ZPM3/Build.cmd +++ b/Source/ZPM3/Build.cmd @@ -11,27 +11,27 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -copy ..\ZCCP\ccp.com zccp.com -copy ..\ZCCP\zinstal.zpm . -copy ..\ZCCP\startzpm.com . -copy ..\CPM3\genbnk.dat . -copy ..\CPM3\zpmbios3.spr bnkbios3.spr -copy ..\CPM3\gencpm.com . -copy ..\CPM3\util.rel . -copy ..\CPM3\biosldrd.rel . -copy ..\CPM3\biosldrc.rel . -copy ..\CPM3\cpmldr.com . -copy ..\CPM3\cpmldr.sys . +copy ..\ZCCP\ccp.com zccp.com || exit /b +copy ..\ZCCP\zinstal.zpm . || exit /b +copy ..\ZCCP\startzpm.com . || exit /b +copy ..\CPM3\genbnk.dat . || exit /b +copy ..\CPM3\zpmbios3.spr bnkbios3.spr || exit /b +copy ..\CPM3\gencpm.com . || exit /b +copy ..\CPM3\util.rel . || exit /b +copy ..\CPM3\biosldrd.rel . || exit /b +copy ..\CPM3\biosldrc.rel . || exit /b +copy ..\CPM3\cpmldr.com . || exit /b +copy ..\CPM3\cpmldr.sys . || exit /b rem ZPM Loader echo. echo. echo *** ZPM Loader *** echo. -zx LINK -ZPMLDRD[L100]=ZPM3LDR,BIOSLDRD,UTIL -move /Y zpmldrd.com zpmldr.bin -zx LINK -ZPMLDRC[L100]=ZPM3LDR,BIOSLDRC,UTIL -move /Y zpmldrc.com zpmldr.com +zx LINK -ZPMLDRD[L100]=ZPM3LDR,BIOSLDRD,UTIL || exit /b +move /Y zpmldrd.com zpmldr.bin || exit /b +zx LINK -ZPMLDRC[L100]=ZPM3LDR,BIOSLDRC,UTIL || exit /b +move /Y zpmldrc.com zpmldr.com || exit /b rem pause rem Banked ZPM3 @@ -39,36 +39,36 @@ echo. echo. echo *** Banked ZPM3 *** echo. -copy genbnk.dat gencpm.dat -zx gencpm -auto -display +copy genbnk.dat gencpm.dat || exit /b +zx gencpm -auto -display || exit /b rem pause rem ZPM3 Tools -zx Z80ASM -clrhist/F -zx Z80ASM -setz3/F -zx Z80ASM -autotog/F +zx Z80ASM -clrhist/F || exit /b +zx Z80ASM -setz3/F || exit /b +zx Z80ASM -autotog/F || exit /b rem Loader -tasm -t80 -g3 -fFF loader.asm loader.bin loader.lst +tasm -t80 -g3 -fFF loader.asm loader.bin loader.lst || exit /b -copy /b loader.bin + zpmldr.bin zpmldr.sys +copy /b loader.bin + zpmldr.bin zpmldr.sys || exit /b rem Copy OS files to Binary directory -copy zpmldr.com ..\..\Binary\ZPM3 -copy zpmldr.sys ..\..\Binary\ZPM3 -copy cpmldr.com ..\..\Binary\ZPM3 -copy cpmldr.sys ..\..\Binary\ZPM3 -copy autotog.com ..\..\Binary\ZPM3 -copy clrhist.com ..\..\Binary\ZPM3 -copy setz3.com ..\..\Binary\ZPM3 -copy cpm3.sys ..\..\Binary\ZPM3 -copy zccp.com ..\..\Binary\ZPM3 -copy zinstal.zpm ..\..\Binary\ZPM3 -copy startzpm.com ..\..\Binary\ZPM3 -copy makedos.com ..\..\Binary\ZPM3 -copy gencpm.dat ..\..\Binary\ZPM3 -copy bnkbios3.spr ..\..\Binary\ZPM3 -copy bnkbdos3.spr ..\..\Binary\ZPM3 -copy resbdos3.spr ..\..\Binary\ZPM3 +copy zpmldr.com ..\..\Binary\ZPM3 || exit /b +copy zpmldr.sys ..\..\Binary\ZPM3 || exit /b +copy cpmldr.com ..\..\Binary\ZPM3 || exit /b +copy cpmldr.sys ..\..\Binary\ZPM3 || exit /b +copy autotog.com ..\..\Binary\ZPM3 || exit /b +copy clrhist.com ..\..\Binary\ZPM3 || exit /b +copy setz3.com ..\..\Binary\ZPM3 || exit /b +copy cpm3.sys ..\..\Binary\ZPM3 || exit /b +copy zccp.com ..\..\Binary\ZPM3 || exit /b +copy zinstal.zpm ..\..\Binary\ZPM3 || exit /b +copy startzpm.com ..\..\Binary\ZPM3 || exit /b +copy makedos.com ..\..\Binary\ZPM3 || exit /b +copy gencpm.dat ..\..\Binary\ZPM3 || exit /b +copy bnkbios3.spr ..\..\Binary\ZPM3 || exit /b +copy bnkbdos3.spr ..\..\Binary\ZPM3 || exit /b +copy resbdos3.spr ..\..\Binary\ZPM3 || exit /b diff --git a/Source/ZRC/Build.cmd b/Source/ZRC/Build.cmd index 5286a107..d303209d 100644 --- a/Source/ZRC/Build.cmd +++ b/Source/ZRC/Build.cmd @@ -3,6 +3,6 @@ setlocal if not exist ..\..\Binary\RCZ80_zrc.rom goto :eof -copy /b zrc_cfldr.bin + zrc_ptbl.bin + zrc_fill_1.bin + zrc_mon.bin + zrc_fill_2.bin + ..\..\Binary\RCZ80_zrc.rom + zrc_fill_3.bin ..\..\Binary\hd1024_zrc_prefix.dat +copy /b zrc_cfldr.bin + zrc_ptbl.bin + zrc_fill_1.bin + zrc_mon.bin + zrc_fill_2.bin + ..\..\Binary\RCZ80_zrc.rom + zrc_fill_3.bin ..\..\Binary\hd1024_zrc_prefix.dat || exit /b -copy /b ..\..\Binary\hd1024_zrc_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_zrc_combo.img \ No newline at end of file +copy /b ..\..\Binary\hd1024_zrc_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_zrc_combo.img || exit /b \ No newline at end of file diff --git a/Source/ZSDOS/Build.cmd b/Source/ZSDOS/Build.cmd index 984b376a..fd4cf213 100644 --- a/Source/ZSDOS/Build.cmd +++ b/Source/ZSDOS/Build.cmd @@ -11,13 +11,13 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -zx ZMAC -ZSDOS -/P -zx LINK -ZSDOS.BIN=ZSDOS[LD800] +zx ZMAC -ZSDOS -/P || exit /b +zx LINK -ZSDOS.BIN=ZSDOS[LD800] || exit /b -tasm -t80 -g3 -fFF loader.asm loader.bin loader.lst +tasm -t80 -g3 -fFF loader.asm loader.bin loader.lst || exit /b -copy /b ..\zcpr-dj\zcpr.bin + zsdos.bin + ..\cbios\cbios_wbw.bin zsys_wbw.bin -copy /b ..\zcpr-dj\zcpr.bin + zsdos.bin + ..\cbios\cbios_una.bin zsys_una.bin +copy /b ..\zcpr-dj\zcpr.bin + zsdos.bin + ..\cbios\cbios_wbw.bin zsys_wbw.bin || exit /b +copy /b ..\zcpr-dj\zcpr.bin + zsdos.bin + ..\cbios\cbios_una.bin zsys_una.bin || exit /b -copy /b loader.bin + zsys_wbw.bin zsys_wbw.sys -copy /b loader.bin + zsys_una.bin zsys_una.sys +copy /b loader.bin + zsys_wbw.bin zsys_wbw.sys || exit /b +copy /b loader.bin + zsys_una.bin zsys_una.sys || exit /b diff --git a/Source/ZSDOS/Clock/Build.cmd b/Source/ZSDOS/Clock/Build.cmd index 8b14f5c5..d676aae2 100644 --- a/Source/ZSDOS/Clock/Build.cmd +++ b/Source/ZSDOS/Clock/Build.cmd @@ -11,4 +11,4 @@ set ZXBINDIR=%TOOLS%/cpm/bin/ set ZXLIBDIR=%TOOLS%/cpm/lib/ set ZXINCDIR=%TOOLS%/cpm/include/ -zx ZMAC -WBWCLK -/P +zx ZMAC -WBWCLK -/P || exit /b diff --git a/Source/ZZR/Build.cmd b/Source/ZZR/Build.cmd index 6bb4b25e..3d6b0872 100644 --- a/Source/ZZR/Build.cmd +++ b/Source/ZZR/Build.cmd @@ -3,14 +3,14 @@ setlocal if not exist ..\..\Binary\RCZ280_nat_zzr.rom goto :eof -rem ..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Exclude 0x5000 0x7000 zzr_romldr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel +rem ..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Exclude 0x5000 0x7000 zzr_romldr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel || exit /b -..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel +..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel || exit /b -rem ..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr_ldr.rom -Binary +rem ..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr_ldr.rom -Binary || exit /b -rem copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr_ldr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat +rem copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr_ldr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat || exit /b -copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat +copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat || exit /b -copy /b ..\..\Binary\hd1024_zzr_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_zzr_combo.img \ No newline at end of file +copy /b ..\..\Binary\hd1024_zzr_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_zzr_combo.img || exit /b \ No newline at end of file