Browse Source

Add ROM based game

Refer 2048game.com
Requires VT100 terminal.
pull/74/head
b1ackmai1er 6 years ago
parent
commit
7fb1a8851e
  1. 16
      Source/HBIOS/Build.ps1
  2. 1225
      Source/HBIOS/game.asm
  3. 2
      Source/HBIOS/imgpad0.asm
  4. 1
      Source/HBIOS/romldr.asm
  5. 4
      Source/HBIOS/std.asm

16
Source/HBIOS/Build.ps1

@ -170,14 +170,10 @@ Copy-Item '..\Forth\camel80.bin' 'camel80.bin'
Copy-Item '..\Fonts\font*.asm' '.'
# Assemble individual components. Note in the case of UNA, there is less to build.
Asm 'dbgmon'
Asm 'prefix'
Asm 'romldr'
Asm 'eastaegg'
Asm 'nascom'
Asm 'tastybasic'
Asm 'imgpad'
Asm 'imgpad0'
#
$RomComponentList = "dbgmon", "prefix", "romldr", "eastaegg", "nascom", "tastybasic", "game", "imgpad", "imgpad0"
ForEach ($RomComponentName in $RomComponentList) {Asm $RomComponentName}
if ($Platform -ne "UNA")
{
Asm 'hbios' '-dROMBOOT' -Output 'hbios_rom.bin' -List 'hbios_rom.lst'
@ -201,7 +197,7 @@ Concat 'prefix.bin','zsys.bin' 'zsys.sys'
# Build 32K OS chunk containing the loader, debug monitor, and OS images
Concat 'romldr.bin', 'eastaegg.bin','dbgmon.bin', 'cpm.bin', 'zsys.bin' osimg.bin
Concat 'camel80.bin', 'nascom.bin', 'tastybasic.bin', 'imgpad0.bin' osimg1.bin
Concat 'camel80.bin', 'nascom.bin', 'tastybasic.bin', 'game.bin', 'imgpad0.bin' osimg1.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
@ -249,5 +245,5 @@ else
Concat 'hbios_img.bin','osimg.bin' $ImgFile
}
# Remove the temprary working ROM disk file
# Remove the temporary working ROM disk file
Remove-Item $RomDiskFile

1225
Source/HBIOS/game.asm

File diff suppressed because it is too large

2
Source/HBIOS/imgpad0.asm

@ -1,6 +1,6 @@
#INCLUDE "std.asm"
;
SLACK .EQU ($8000-BAS_SIZ-TBC_SIZ-FTH_SIZ)
SLACK .EQU ($8000-BAS_SIZ-TBC_SIZ-FTH_SIZ-GAM_SIZ)
.FILL SLACK,00H
;
MON_STACK .EQU $

1
Source/HBIOS/romldr.asm

@ -368,6 +368,7 @@ MENU_1: MENU_L("~CP/M$ ", "C", KY_BK, CPM_ENT, 2000h, CPM_LOC, CPM_SIZ
MENU_L("~Forth$ ", "F", KY_EX, FTH_LOC, 0000h, FTH_LOC, FTH_SIZ, BID_IMG1, BID_USR, "Camel Forth$ ")
MENU_L("~BASIC$ ", "B", KY_DE, BAS_LOC, 1700h, BAS_LOC, BAS_SIZ, BID_IMG1, BID_USR, "Nascom BASIC$")
MENU_L("~T-BASIC$ ", "T", KY_EN, TBC_LOC, 3700h, TBC_LOC, TBC_SIZ, BID_IMG1, BID_USR, "Tasty BASIC$ ")
MENU_L("~PLAY$ ", "P", $FF, GAM_LOC, 4000h, GAM_LOC, GAM_SIZ, BID_IMG1, BID_USR, "Game$ ")
#ENDIF
#IF (DSKYENABLE)
MENU_L("~DSKY$ ", "D", KY_GO, MON_DSKY, 1000h, MON_LOC, MON_SIZ, BID_CUR, BID_USR, "DSKY Monitor$")

4
Source/HBIOS/std.asm

@ -422,6 +422,10 @@ FTH_LOC .EQU $0200 ; CAMEL FORTH
FTH_SIZ .EQU $1700
FTH_END .EQU FTH_LOC + FTH_SIZ
GAM_LOC .EQU $0200 ; GAME 2048
GAM_SIZ .EQU $0900
GAM_END .EQU GAM_LOC + GAM_SIZ
MON_DSKY .EQU MON_LOC + (0 * 3) ; MONITOR ENTRY (DSKY)
MON_SERIAL .EQU MON_LOC + (1 * 3) ; MONITOR ENTRY (SERIAL PORT)
;

Loading…
Cancel
Save