mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Support for additional rom options including Nascom and Tasty BASIC
This commit is contained in:
@@ -546,13 +546,6 @@ INT_SIO: ; SIO INTERRUPT HANDLER
|
||||
LD HL,SIO_INT ; HL := SIO INT HANDLER IN BIOS BANK
|
||||
JR HBX_INT ; GO TO ROUTING CODE
|
||||
#ENDIF
|
||||
|
||||
#IF (PIOENABLE)
|
||||
INT_PIO: ; SIO INTERRUPT HANDLER
|
||||
PUSH HL ; SAVE HL
|
||||
LD HL,PIO_INT ; HL := PIO INT HANDLER IN BIOS BANK
|
||||
JR HBX_INT ; GO TO ROUTING CODE
|
||||
#ENDIF
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
@@ -867,10 +860,6 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
|
||||
#IF (ACIAENABLE)
|
||||
CALL ACIA_PREINIT
|
||||
#ENDIF
|
||||
#IF (PIOENABLE)
|
||||
CALL PIO_PREINIT
|
||||
#ENDIF
|
||||
|
||||
;
|
||||
DIAG(%01111111)
|
||||
;
|
||||
@@ -1110,7 +1099,7 @@ INITSYS3:
|
||||
;
|
||||
#IFDEF ROMBOOT
|
||||
; PERFORM BANK CALL TO OS IMAGES BANK IN ROM
|
||||
LD A,BID_OSIMG ; CHAIN TO OS IMAGES BANK
|
||||
LD A,BID_BIOSIMG ; CHAIN TO OS IMAGES BANK
|
||||
LD HL,0 ; ENTER AT ADDRESS 0
|
||||
CALL HBX_BNKCALL ; GO THERE
|
||||
HALT ; WE SHOULD NEVER COME BACK!
|
||||
@@ -1217,9 +1206,6 @@ HB_INITTBL:
|
||||
#IF (PPPENABLE)
|
||||
.DW PPP_INIT
|
||||
#ENDIF
|
||||
#IF (PIOENABLE)
|
||||
.DW PIO_INIT
|
||||
#ENDIF
|
||||
;
|
||||
HB_INITTBLLEN .EQU (($ - HB_INITTBL) / 2)
|
||||
;
|
||||
@@ -1336,7 +1322,7 @@ CIO_ADDENT:
|
||||
; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS)
|
||||
;
|
||||
CIO_FNCNT .EQU 7 ; NUMBER OF CIO FUNCS (FOR RANGE CHECK)
|
||||
CIO_MAX .EQU 32 ; UP TO UNITS
|
||||
CIO_MAX .EQU 16 ; UP TO 16 UNITS
|
||||
CIO_SIZ .EQU CIO_MAX * 4 ; EACH ENTRY IS 4 BYTES
|
||||
;
|
||||
.DB CIO_FNCNT ; CIO FUNCTION COUNT (FOR RANGE CHECK)
|
||||
@@ -1399,7 +1385,7 @@ DIO_ADDENT:
|
||||
; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS)
|
||||
;
|
||||
DIO_FNCNT .EQU 12 ; NUMBER OF DIO FUNCS (FOR RANGE CHECK)
|
||||
DIO_MAX .EQU 16 ; UP TO 32 UNITS
|
||||
DIO_MAX .EQU 16 ; UP TO 16 UNITS
|
||||
DIO_SIZ .EQU DIO_MAX * 4 ; EACH ENTRY IS 4 BYTES
|
||||
;
|
||||
.DB DIO_FNCNT ; DIO FUNCTION COUNT (FOR RANGE CHECK)
|
||||
@@ -2400,15 +2386,6 @@ SIZ_AY .EQU $ - ORG_AY
|
||||
.ECHO SIZ_AY
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
|
||||
#IF (PIOENABLE)
|
||||
ORG_PIO .EQU $
|
||||
#INCLUDE "pio.asm"
|
||||
SIZ_PIO .EQU $ - ORG_PIO
|
||||
.ECHO "PIO occupies "
|
||||
.ECHO SIZ_PIO
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#DEFINE USEDELAY
|
||||
#INCLUDE "util.asm"
|
||||
@@ -2808,7 +2785,7 @@ PS_SERIAL:
|
||||
PUSH BC ; SAVE UNIT INDEX FOR LATER
|
||||
;
|
||||
; UNIT COLUMN
|
||||
PRTS("CharIO $")
|
||||
PRTS("Serial $")
|
||||
LD A,C ; MOVE UNIT NUM TO A
|
||||
CALL PRTDECB ; PRINT IT, ASSUME SINGLE DIGIT
|
||||
PRTS(" $") ; PAD TO NEXT COLUMN
|
||||
@@ -2833,17 +2810,10 @@ PS_SERIAL:
|
||||
;
|
||||
PS_PRTST:
|
||||
LD HL,PS_STRS232 ; ASSUME RS-232
|
||||
LD A,C
|
||||
AND $C0
|
||||
JR Z,PS_PRTST1 ; 00 TYPE 0 - RS-232
|
||||
LD HL,PS_STTERM
|
||||
CP $40
|
||||
JR Z,PS_PRTST1 ; 40 TYPE 1 - Terminal
|
||||
LD HL,PS_STPPT
|
||||
CP $80
|
||||
JR Z,PS_PRTST1 ; 80 TYPE 2 - Parallel
|
||||
LD HL,PS_STUDEF
|
||||
; ; C0 TYPE 3 - Undefined
|
||||
BIT 7,C ; 0=RS-232, 1=TERMINAL
|
||||
JR Z,PS_PRTST1 ; HANDLE TERMINAL TYPE
|
||||
LD HL,PS_STTERM ; TYPE IS TERMINAL
|
||||
;
|
||||
PS_PRTST1:
|
||||
CALL PS_PRT ; PRINT $ TERM STRING AT (HL), C:=CHARS PRINTED
|
||||
LD A,18 ; 18 CHAR FIELD
|
||||
@@ -2854,15 +2824,9 @@ PS_PRTST1:
|
||||
; PRINT SERIAL CONFIG (UNIT IN E, ATTRIBUTE IN C)
|
||||
;
|
||||
PS_PRTSC:
|
||||
LD A,C
|
||||
AND $C0
|
||||
JR Z,PS_PRTSC0_1 ; 00 TYPE 0 - RS-232
|
||||
CP $40
|
||||
JR Z,PS_PRTSC1 ; 40 TYPE 1 - Terminal
|
||||
CP $80
|
||||
JR Z,PS_PRTSC2_1 ; 80 TYPE 2 - Parallel
|
||||
; ; C0 TYPE 3 - Undefined
|
||||
PS_PRTSC0_1:
|
||||
BIT 7,C ; 0=RS-232, 1=TERMINAL
|
||||
JR NZ,PS_PRTSC1 ; PRINT TERMINAL CONFIG
|
||||
;
|
||||
; PRINT RS-232 CONFIG
|
||||
LD B,BF_CIOQUERY ; HBIOS FUNC: GET CIO CONFIG
|
||||
LD C,E ; SET SERIAL UNIT NUM
|
||||
@@ -2920,28 +2884,6 @@ PS_PRTSC0:
|
||||
;
|
||||
RET
|
||||
;
|
||||
PS_PRTSC2_1:
|
||||
; PRINT PARALLEL CONFIG
|
||||
LD B,BF_CIOQUERY ; HBIOS FUNC: GET CIO CONFIG
|
||||
LD C,E ; SET SERIAL UNIT NUM
|
||||
RST 08 ; DE:HL := I/O CONFIG
|
||||
LD A,D ; TEST FOR $FF
|
||||
AND E
|
||||
INC A ; SET Z IF DE == $FF
|
||||
JP Z,PS_PRTNUL ; $FF == NO CONFIG DEFINED
|
||||
LD A,E
|
||||
OR A
|
||||
LD HL,PS_STPPTIN ; Parallel Input
|
||||
JR Z,PS_PRTST1
|
||||
LD HL,PS_STPPTOUT ; Parallel Output
|
||||
DEC A
|
||||
JR Z,PS_PRTST1
|
||||
LD HL,PS_STRPPTBD ; Parallel BiDirectional
|
||||
DEC A
|
||||
JP Z,PS_PRTST1
|
||||
JP PS_PRTNUL
|
||||
RET
|
||||
;
|
||||
PS_PRTSC1:
|
||||
; PRINT TERMINAL CONFIG
|
||||
LD A,C ; GET ATTRIBUTE VALUE
|
||||
@@ -2965,9 +2907,6 @@ PS_PRTSC2:
|
||||
PRTS("ANSI$")
|
||||
RET
|
||||
;
|
||||
PS_PRTPC0:
|
||||
RET
|
||||
;
|
||||
; PRINT ONE LINE VIDEO UNIT/DEVICE INFO, VIDEO UNIT INDEX IN C
|
||||
;
|
||||
PS_VIDEO:
|
||||
@@ -3130,7 +3069,7 @@ PS_FLPED .TEXT "ED$"
|
||||
;
|
||||
PS_SDSTRREF:
|
||||
.DW PS_SDUART, PS_SDASCI, PS_SDTERM,
|
||||
.DW PS_SDPRPCON, PS_SDPPPCON, PS_SDSIO, PS_SDACIA, PS_SDPIO
|
||||
.DW PS_SDPRPCON, PS_SDPPPCON, PS_SDSIO, PS_SDACIA
|
||||
;
|
||||
PS_SDUART .TEXT "UART$"
|
||||
PS_SDASCI .TEXT "ASCI$"
|
||||
@@ -3139,22 +3078,17 @@ PS_SDPRPCON .TEXT "PRPCON$"
|
||||
PS_SDPPPCON .TEXT "PPPCON$"
|
||||
PS_SDSIO .TEXT "SIO$"
|
||||
PS_SDACIA .TEXT "ACIA$"
|
||||
PS_SDPIO .TEXT "PORT$"
|
||||
;
|
||||
; SERIAL TYPE STRINGS
|
||||
;
|
||||
PS_STRS232 .TEXT "RS-232$"
|
||||
PS_STTERM .TEXT "Terminal$"
|
||||
PS_STPPT .TEXT "Parallel$"
|
||||
PS_STUDEF .TEXT "Undefined$"
|
||||
;
|
||||
PS_STPARMAP .DB "NONENMNS"
|
||||
|
||||
;
|
||||
; PARALLEL TYPE STRINGS
|
||||
; SERIAL TYPE STRINGS
|
||||
;
|
||||
PS_STPPTIN .TEXT "Input$"
|
||||
PS_STPPTOUT .TEXT "Output$"
|
||||
PS_STRPPTBD .TEXT "Bi-Directional$"
|
||||
;
|
||||
; VIDEO DEVICE STRINGS
|
||||
;
|
||||
|
||||
12
Source/HBIOS/imgpad.asm
Normal file
12
Source/HBIOS/imgpad.asm
Normal file
@@ -0,0 +1,12 @@
|
||||
#INCLUDE "std.asm"
|
||||
;
|
||||
SLACK .EQU ($8000-LDR_SIZ-MON_SIZ-SYS_SIZ-SYS_SIZ)
|
||||
.FILL SLACK,00H
|
||||
;
|
||||
MON_STACK .EQU $
|
||||
;
|
||||
.ECHO "Padspace space created: "
|
||||
.ECHO SLACK
|
||||
.ECHO " bytes.\n"
|
||||
|
||||
.END
|
||||
12
Source/HBIOS/imgpad0.asm
Normal file
12
Source/HBIOS/imgpad0.asm
Normal file
@@ -0,0 +1,12 @@
|
||||
#INCLUDE "std.asm"
|
||||
;
|
||||
SLACK .EQU ($8000-BAS_SIZ-TBC_SIZ)
|
||||
.FILL SLACK,00H
|
||||
;
|
||||
MON_STACK .EQU $
|
||||
;
|
||||
.ECHO "Padspace space created: "
|
||||
.ECHO SLACK
|
||||
.ECHO " bytes.\n"
|
||||
|
||||
.END
|
||||
4424
Source/HBIOS/nascom.asm
Normal file
4424
Source/HBIOS/nascom.asm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -7,12 +7,37 @@
|
||||
;
|
||||
#INCLUDE "std.asm"
|
||||
;
|
||||
MONIMG .EQU $1000
|
||||
CPMIMG .EQU $2000
|
||||
ZSYSIMG .EQU $5000
|
||||
; osimg.bin
|
||||
;
|
||||
;LDRIMG .EQU $0000 ;SIZE 0A00 > 0000-0A00
|
||||
MONIMG .EQU $0A00 ;SIZE 1000 > 0A00-1A00
|
||||
CPMIMG .EQU $1A00 ;SIZE 3000 > 1A00-4A00
|
||||
ZSYSIMG .EQU $4A00 ;SIZE 3000 > 4A00-7A00
|
||||
;
|
||||
; osimg1.bin
|
||||
;
|
||||
BASIMG .EQU $0000 ;SIZE 2000 > 0000-2000
|
||||
TBCIMG .EQU $2000 ;SIZE 0900 > 2000-2900
|
||||
;
|
||||
INT_IM1 .EQU $FF00
|
||||
;
|
||||
;----------------------------------------------------------
|
||||
; NAME NAME OF ROM 8 CHAR
|
||||
; BANK WHICH ROM BANK THE IMAGE IS IN.
|
||||
; IMAGE LOCATION OF IMAGE IN 32K ROM BANK.
|
||||
; LOCATION WHERE IMAGE NEEDS TO BE COPIED TO IN RAM.
|
||||
; EXECUTE ADDRESS TO START EXECUTING.
|
||||
;
|
||||
|
||||
;ROMTBL .DB "B","BASIC $", 0, BASIMG, BAS_LOC, BAS_SIZ, BASE_LOC
|
||||
; .DB "C","CP/M $", 0,
|
||||
; .DB "F","FORTH $", 1,
|
||||
; .DB "Z","ZSYSTEM$", 1,
|
||||
;
|
||||
;
|
||||
; .DB "MONITOR$", 0,
|
||||
;
|
||||
|
||||
.ORG 0
|
||||
;
|
||||
;==================================================================================================
|
||||
@@ -62,6 +87,7 @@ INT_IM1 .EQU $FF00
|
||||
; BANNER
|
||||
LD DE,STR_BANNER
|
||||
CALL WRITESTR
|
||||
|
||||
;
|
||||
#IF (PLATFORM != PLT_UNA)
|
||||
CALL DELAY_INIT ; INIT DELAY FUNCTIONS
|
||||
@@ -122,9 +148,11 @@ INT_IM1 .EQU $FF00
|
||||
;________________________________________________________________________________________________________________________________
|
||||
;
|
||||
DOBOOTMENU:
|
||||
CALL NEWLINE
|
||||
LD DE,STR_BOOTMENU
|
||||
; CALL NEWLINE
|
||||
LD DE,STR_BOOTMENU
|
||||
CALL WRITESTR
|
||||
CALL PRTALL
|
||||
CALL PC_COLON
|
||||
|
||||
#IF (DSKYENABLE)
|
||||
LD HL,BOOT ; POINT TO BOOT MESSAGE
|
||||
@@ -144,14 +172,18 @@ DB_BOOTLOOP:
|
||||
OR A
|
||||
JP Z,DB_CONEND
|
||||
CALL CINUC
|
||||
CP 'M' ; MONITOR
|
||||
JP Z,GOMONSER
|
||||
CP 'B' ; NASCOM BASIC
|
||||
JP Z,GOBASIC
|
||||
CP 'C' ; CP/M BOOT FROM ROM
|
||||
JP Z,GOCPM
|
||||
CP 'M' ; MONITOR
|
||||
JP Z,GOMONSER
|
||||
; CP 'L' ; LIST DRIVES
|
||||
; JP Z,GOLIST
|
||||
CP 'T' ; TASTY BASIC
|
||||
JP Z,GOTBAS
|
||||
CP 'Z' ; ZSYSTEM BOOT FROM ROM
|
||||
JP Z,GOZSYS
|
||||
CP 'L' ; LIST DRIVES
|
||||
JP Z,GOLIST
|
||||
CP '0' ; 0-9, DISK DEVICE
|
||||
JP C,DB_INVALID
|
||||
CP '9' + 1
|
||||
@@ -202,14 +234,18 @@ DB_DSKYEND:
|
||||
|
||||
; TIMEOUT EXPIRED, PERFORM DEFAULT BOOT ACTION
|
||||
LD A,BOOT_DEFAULT
|
||||
CP 'M' ; MONITOR
|
||||
JP Z,GOMON
|
||||
CP 'B' ; NASCOM BASIC
|
||||
JP Z,GOBASIC
|
||||
CP 'C' ; CP/M BOOT FROM ROM
|
||||
JP Z,GOCPM
|
||||
CP 'M' ; MONITOR
|
||||
JP Z,GOMONSER
|
||||
; CP 'L' ; LIST DRIVES
|
||||
; JP Z,GOLIST
|
||||
CP 'T' ; TASTY BASIC
|
||||
JP Z,GOTBAS
|
||||
CP 'Z' ; ZSYSTEM BOOT FROM ROM
|
||||
JP Z,GOZSYS
|
||||
CP 'L' ; LIST DRIVES
|
||||
JP Z,GOLIST
|
||||
CP '0' ; 0-9, DISK DEVICE
|
||||
JP C,DB_INVALID
|
||||
CP '9' + 1
|
||||
@@ -227,6 +263,70 @@ DB_INVALID:
|
||||
CALL WRITESTR
|
||||
JP DOBOOTMENU
|
||||
;
|
||||
GOBASIC:
|
||||
LD DE,STR_BOOTBAS ; DE POINTS TO MESSAGE
|
||||
CALL WRITESTR ; WRITE IT TO CONSOLE
|
||||
; COPY BASIC FROM BASIC FROM OSIMG0 IN ROM BANK TO THIS RAM BANKS
|
||||
LD B,BF_SYSSETCPY ; HBIOS FUNC: SETUP BANK COPY
|
||||
LD D,BID_USR ; D = DEST BANK = USER BANK
|
||||
LD E,BID_OSIMG ; E = SRC BANK = BIOS BANK
|
||||
LD HL,BAS_SIZ ; HL = COPY LEN = 1 PAGE = 256 BYTES
|
||||
RST 08 ; DO IT
|
||||
LD DE,STR_LOADING
|
||||
CALL WRITESTR ; WRITE IT TO CONSOLE
|
||||
LD B,BF_SYSBNKCPY ; HBIOS FUNC: PERFORM BANK COPY
|
||||
LD HL,BASIMG ; COPY FROM
|
||||
LD DE,BAS_LOC ; COPY TO
|
||||
RST 08 ; DO IT
|
||||
LD DE,STR_LAUNCH
|
||||
CALL WRITESTR
|
||||
LD HL,BAS_LOC
|
||||
JP CHAIN
|
||||
|
||||
; LD HL,BAS_LOC
|
||||
; PUSH HL
|
||||
; LD DE,STR_BOOTBAS ; DE POINTS TO MESSAGE
|
||||
; CALL WRITESTR ; WRITE IT TO CONSOLE
|
||||
; ; COPY IMAGE TO EXEC ADDRESS
|
||||
; LD HL,BASIMG ; HL := BASIC IMAGE ADDRESS
|
||||
; LD DE,BAS_LOC ; DE := BASIC EXEC ADDRESS
|
||||
; LD BC,BAS_SIZ ; BC := BASIC SIZE
|
||||
; LDIR ; COPY BASIC CODE TO EXEC ADDRESS
|
||||
; POP HL ; RECOVER ENTRY ADDRESS
|
||||
; JR CHAIN ; AND CHAIN TO IT
|
||||
|
||||
GOTBAS:
|
||||
LD DE,STR_BOOTTBC ; DE POINTS TO MESSAGE
|
||||
CALL WRITESTR ; WRITE IT TO CONSOLE
|
||||
; COPY BASIC FROM BASIC FROM OSIMG0 IN ROM BANK TO THIS RAM BANKS
|
||||
LD B,BF_SYSSETCPY ; HBIOS FUNC: SETUP BANK COPY
|
||||
LD D,BID_USR ; D = DEST BANK = USER BANK
|
||||
LD E,BID_OSIMG ; E = SRC BANK = BIOS BANK
|
||||
LD HL,TBC_SIZ ; HL = COPY LEN = 1 PAGE = 256 BYTES
|
||||
RST 08 ; DO IT
|
||||
LD DE,STR_LOADING
|
||||
CALL WRITESTR ; WRITE IT TO CONSOLE
|
||||
LD B,BF_SYSBNKCPY ; HBIOS FUNC: PERFORM BANK COPY
|
||||
LD HL,TBCIMG ; COPY FROM
|
||||
LD DE,TBC_LOC ; COPY TO
|
||||
RST 08 ; DO IT
|
||||
LD DE,STR_LAUNCH
|
||||
CALL WRITESTR
|
||||
LD HL,TBC_LOC
|
||||
JP CHAIN
|
||||
|
||||
; LD HL,TBC_LOC
|
||||
; PUSH HL
|
||||
; LD DE,STR_BOOTTBC ; DE POINTS TO MESSAGE
|
||||
; CALL WRITESTR ; WRITE IT TO CONSOLE
|
||||
; ; COPY IMAGE TO EXEC ADDRESS
|
||||
; LD HL,TBCIMG ; HL := BASIC IMAGE ADDRESS
|
||||
; LD DE,TBC_LOC ; DE := BASIC EXEC ADDRESS
|
||||
; LD BC,TBC_SIZ ; BC := BASIC SIZE
|
||||
; LDIR ; COPY BASIC CODE TO EXEC ADDRESS
|
||||
; POP HL ; RECOVER ENTRY ADDRESS
|
||||
; JR CHAIN ; AND CHAIN TO IT
|
||||
|
||||
GOMONSER:
|
||||
LD HL,MON_SERIAL ; MONITOR SERIAL INTERFACE ENTRY ADDRESS TO HL
|
||||
JR GOMON ; LOAD AND RUN MONITOR
|
||||
@@ -295,8 +395,8 @@ CHAIN:
|
||||
RST 08
|
||||
;
|
||||
LD A,BID_USR ; ACTIVATE USER BANK
|
||||
POP HL ; RECOVER ENTRY ADDRESS
|
||||
DI ; ENTER WITH INTS DISABLED
|
||||
POP HL ; RECOVER ENTRY ADDRESS
|
||||
DI ; ENTER WITH INTS DISABLED
|
||||
CALL HB_BNKCALL ; AND GO
|
||||
HALT ; WE SHOULD NEVER RETURN!!!
|
||||
#ENDIF
|
||||
@@ -601,7 +701,7 @@ PRTDRV:
|
||||
CALL COUT ; PRINT IT
|
||||
LD A,')' ; DRIVE LETTER COLON
|
||||
CALL COUT ; PRINT IT
|
||||
CALL PC_SPACE
|
||||
; CALL PC_SPACE
|
||||
POP DE ; RECOVER DISK TYPE
|
||||
LD A,D ; DISK TYPE TO A
|
||||
CP $40 ; RAM/ROM?
|
||||
@@ -637,7 +737,7 @@ PRTDRV2: ; PRINT DEVICE
|
||||
LD A,B ; UNIT TO A
|
||||
ADD A,'0' ; MAKE IT PRINTABLE NUMERIC
|
||||
CALL COUT ; PRINT IT
|
||||
LD A,':' ; DEVICE NAME COLON
|
||||
LD A,',' ; DEVICE NAME SEPARATOR
|
||||
CALL COUT ; PRINT IT
|
||||
RET ; DONE
|
||||
;
|
||||
@@ -672,7 +772,7 @@ PRTALL1:
|
||||
CALL COUT ; PRINT IT
|
||||
LD A,')' ; FORMATTING
|
||||
CALL COUT ; PRINT IT
|
||||
CALL PC_SPACE ; SPACING
|
||||
; CALL PC_SPACE ; SPACING
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
LD B,BF_DIODEVICE ; HBIOS FUNC: REPORT DEVICE INFO
|
||||
RST 08 ; CALL HBIOS
|
||||
@@ -708,7 +808,7 @@ PRTDRV:
|
||||
LD A,E ; LOAD DRIVER MODE/UNIT
|
||||
AND $0F ; ISOLATE UNIT
|
||||
CALL PRTDECB ; PRINT IT
|
||||
CALL PC_COLON ; FORMATTING
|
||||
CALL PC_SPACE ; FORMATTING
|
||||
;LD A,E ; LOAD LU
|
||||
;CALL PRTDECB ; PRINT IT
|
||||
RET
|
||||
@@ -746,7 +846,9 @@ DEV15 .EQU DEVUNK
|
||||
;
|
||||
STR_BOOTDISK .DB "BOOT FROM DISK\r\n$"
|
||||
STR_BOOTDISK1 .DB "\r\nReading disk information...$"
|
||||
STR_BOOTMON .DB "START MONITOR\r\n$"
|
||||
STR_BOOTMON .DB "START MONITOR FROM ROM\r\n$"
|
||||
STR_BOOTBAS .DB "START BASIC FROM ROM\r\n$"
|
||||
STR_BOOTTBC .DB "START TASTYBASIC FROM ROM\r\n$"
|
||||
STR_BOOTCPM .DB "BOOT CPM FROM ROM\r\n$"
|
||||
STR_BOOTZSYS .DB "BOOT ZSYSTEM FROM ROM\r\n$"
|
||||
STR_LIST .DB "LIST DEVICES\r\n$"
|
||||
@@ -758,16 +860,19 @@ STR_CPMEND .DB "END=$"
|
||||
STR_CPMENT .DB "ENT=$"
|
||||
STR_LABEL .DB "LABEL=$"
|
||||
STR_DRVLIST .DB "\r\nDisk Devices:\r\n$"
|
||||
STR_PREFIX .DB "\r\n $"
|
||||
STR_PREFIX .DB "($"
|
||||
;STR_PREFIX .DB "\r\n $"
|
||||
STR_LOADING .DB "\r\nLoading...$"
|
||||
STR_NODISK .DB "\r\nNo disk!$"
|
||||
STR_NOBOOT .DB "\r\nDisk not bootable!$"
|
||||
STR_BOOTERR .DB "\r\nBoot failure!$"
|
||||
STR_ITSRAM .DB "\r\n\RAM$"
|
||||
STR_LAUNCH .DB "\r\nLaunching ...$"
|
||||
;
|
||||
STR_BANNER .DB "\r\n", PLATFORM_NAME, " Boot Loader$"
|
||||
STR_BOOTMENU .DB "\r\n"
|
||||
.DB "Boot: (C)PM, (Z)System, (M)onitor,\r\n"
|
||||
.DB " (L)ist disks, or Disk Unit # ===> $"
|
||||
.DB "\r\nROM Boot: (B)ASIC, (C)PM, (M)onitor, (T)ASTYBASIC, (Z)System.\r\n"
|
||||
.DB "Disk Boot: $"
|
||||
;
|
||||
.IF DSKYENABLE
|
||||
BOOT:
|
||||
@@ -931,7 +1036,7 @@ CINUC:
|
||||
; FILL REMAINDER OF BANK
|
||||
;==================================================================================================
|
||||
;
|
||||
SLACK: .EQU ($1000 - $)
|
||||
SLACK: .EQU ($LDR_SIZ - $)
|
||||
.FILL SLACK
|
||||
;
|
||||
.ECHO "LOADER space remaining: "
|
||||
|
||||
@@ -325,7 +325,7 @@ BID_ROMN .EQU (BID_ROM0 + ((ROMSIZE / 32) - 1))
|
||||
BID_RAMN .EQU (BID_RAM0 + ((RAMSIZE / 32) - 1))
|
||||
|
||||
BID_BOOT .EQU BID_ROM0 ; BOOT BANK
|
||||
;BID_BIOSIMG .EQU BID_ROM0 + 1 ; BIOS IMAGE BANK
|
||||
BID_BIOSIMG .EQU BID_ROM0 + 1 ; BIOS IMAGE BANK
|
||||
BID_OSIMG .EQU BID_ROM0 + 2 ; ROM LOADER AND IMAGES BANK
|
||||
BID_FSFAT .EQU BID_ROM0 + 3 ; FAT FILESYSTEM DRIVER BANK
|
||||
BID_ROMD0 .EQU BID_ROM0 + 4 ; FIRST ROM DRIVE BANK
|
||||
@@ -364,10 +364,20 @@ CBIOS_LOC .EQU CBIOS_END - CBIOS_SIZ ; START OF CBIOS
|
||||
|
||||
CPM_ENT .EQU CBIOS_LOC ; CPM ENTRY POINT (IN CBIOS)
|
||||
|
||||
LDR_SIZ .EQU $0A00
|
||||
|
||||
MON_LOC .EQU $C000 ; LOCATION OF MONITOR FOR RUNNING SYSTEM
|
||||
MON_SIZ .EQU $1000 ; SIZE OF MONITOR BINARY IMAGE
|
||||
MON_END .EQU MON_LOC + MON_SIZ ; END OF MONITOR
|
||||
|
||||
BAS_LOC .EQU $0A00 ; NASCOM BASIC
|
||||
BAS_SIZ .EQU $2000
|
||||
BAS_END .EQU BAS_LOC + BAS_SIZ
|
||||
|
||||
TBC_LOC .EQU $0A00 ; TASTYBASIC
|
||||
TBC_SIZ .EQU $0900
|
||||
TBC_END .EQU TBC_LOC + TBC_SIZ
|
||||
|
||||
MON_DSKY .EQU MON_LOC + (0 * 3) ; MONITOR ENTRY (DSKY)
|
||||
MON_SERIAL .EQU MON_LOC + (1 * 3) ; MONITOR ENTRY (SERIAL PORT)
|
||||
;
|
||||
|
||||
1813
Source/HBIOS/tastybasic.asm
Normal file
1813
Source/HBIOS/tastybasic.asm
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user