diff --git a/Source/HBIOS/Build.ps1 b/Source/HBIOS/Build.ps1 index 716caf7d..f02989dc 100644 --- a/Source/HBIOS/Build.ps1 +++ b/Source/HBIOS/Build.ps1 @@ -119,7 +119,10 @@ Function Asm($Component, $Opt, $Architecture=$CPUType, $Output="${Component}.bin $Cmd = "tasm -t${Architecture} -g3 ${Opt} ${Component}.asm ${Output} ${List}" $Cmd | write-host Invoke-Expression $Cmd | write-host - if ($LASTEXITCODE -gt 0) {throw "TASM returned exit code $LASTEXITCODE"} + if ($LASTEXITCODE -gt 0) + { + throw "TASM returned exit code" + $LASTEXITCODE + } } # Function to concatenate two binary files. @@ -191,7 +194,7 @@ Concat 'prefix.bin','zsys.bin' 'zsys.sys' # Build 32K OS chunk containing the loader, debug monitor, and OS images Concat 'romldr.bin', 'dbgmon.bin','cpm.bin','zsys.bin', 'eastaegg.bin', 'imgpad.bin' osimg.bin -Concat 'nascom.bin', 'tastybasic.bin', 'imgpad0.bin' osimg1.bin +Concat 'nascom.bin', 'tastybasic.bin', 'camel80.bin', 'imgpad0.bin' osimg1.bin # # Now the ROM disk image is created. This is done by starting with a diff --git a/Source/HBIOS/imgpad0.asm b/Source/HBIOS/imgpad0.asm index 31ef6b96..e2822918 100644 --- a/Source/HBIOS/imgpad0.asm +++ b/Source/HBIOS/imgpad0.asm @@ -1,6 +1,6 @@ #INCLUDE "std.asm" ; -SLACK .EQU ($8000-BAS_SIZ-TBC_SIZ) +SLACK .EQU ($8000-BAS_SIZ-TBC_SIZ-FTH_SIZ) .FILL SLACK,00H ; MON_STACK .EQU $ diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index 175bc4fc..d3e6c624 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -19,6 +19,7 @@ EGGIMG .EQU $7A00 ;SIZE 0200 > 7A00-7C00 ; BASIMG .EQU $0000 ;SIZE 2000 > 0000-2000 TBCIMG .EQU $2000 ;SIZE 0900 > 2000-2900 +FTHIMG .EQU $2900 ;SIZE 1600 > 2900-3F00 ; INT_IM1 .EQU $FF00 ; diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 8b388074..519f30cb 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -382,6 +382,10 @@ EGG_LOC .EQU $0A00 ; EASTER EGG EGG_SIZ .EQU $0200 EGG_END .EQU EGG_LOC + EGG_SIZ +FTH_LOC .EQU $0A00 ; CAMEL FORTH +FTH_SIZ .EQU $1600 +FTH_END .EQU FTH_LOC + FTH_SIZ + MON_DSKY .EQU MON_LOC + (0 * 3) ; MONITOR ENTRY (DSKY) MON_SERIAL .EQU MON_LOC + (1 * 3) ; MONITOR ENTRY (SERIAL PORT) ;