|
|
|
@ -300,7 +300,8 @@ DPBCNT .EQU ($ - DPBMAP) / 2 |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
BOOT: |
|
|
|
; STANDARD BOOT INVOCATION |
|
|
|
LD SP,STACK ; STACK FOR INITIALIZATION |
|
|
|
;LD SP,STACK ; STACK FOR INITIALIZATION |
|
|
|
LD SP,CCP_LOC ; PUT STACK JUST BELOW CCP |
|
|
|
; |
|
|
|
; COPY INITIALIZATION CODE TO RUNNING LOCATION $8000 |
|
|
|
LD HL,BUFPOOL |
|
|
|
@ -328,17 +329,17 @@ BOOT: |
|
|
|
; |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
REBOOT: |
|
|
|
; REBOOT FROM ROM, REPLACES BOOT AFTER INIT |
|
|
|
; RESTART, REPLACES BOOT AFTER INIT |
|
|
|
#IFDEF PLTUNA |
|
|
|
; FOR UNA, COLD BOOT |
|
|
|
DI ; NO INTERRUPTS |
|
|
|
LD BC,$01FB ; UNA FUNC = SET BANK |
|
|
|
LD DE,0 ; ROM BOOT BANK |
|
|
|
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE) |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IFDEF PLTWBW |
|
|
|
;DI ; NO INTERRUPTS |
|
|
|
;LD A,0 ; ROM BOOT BANK |
|
|
|
;CALL HB_BNKSEL ; SELECT IT INTO LOW MEMORY |
|
|
|
; WARM START |
|
|
|
LD B,BF_SYSRESET ; SYSTEM RESTART |
|
|
|
LD C,BF_SYSRES_WARM ; WARM START |
|
|
|
CALL $FFF0 ; CALL HBIOS |
|
|
|
@ -401,23 +402,13 @@ RESCPM: |
|
|
|
LD HL,WBOOTE ; GET WARM BOOT ENTRY ADDRESS |
|
|
|
LD ($0001),HL ; AND PUT IT AT $0001 |
|
|
|
|
|
|
|
; ; INT / RST 38 -> INVOKE MONITOR |
|
|
|
; LD ($0038),A |
|
|
|
; LD HL,GOMON |
|
|
|
; LD ($0039),HL |
|
|
|
|
|
|
|
; ; INT / RST 38 -> PANIC |
|
|
|
; LD ($0038),A |
|
|
|
; LD HL,PANIC ; PANIC ROUTINE ADDRESS |
|
|
|
; LD ($0039),HL ; POKE IT |
|
|
|
|
|
|
|
; CALL 5 -> INVOKE BDOS |
|
|
|
LD ($0005),A ; JP OPCODE AT $0005 |
|
|
|
LD HL,BDOS_LOC + 6 ; GET BDOS ENTRY ADDRESS |
|
|
|
LD ($0006),HL ; PUT IT AT $0006 |
|
|
|
; |
|
|
|
; INSTALL ROMWBW CBIOS PAGE ZERO STAMP AT $40 |
|
|
|
LD HL,STPIMG ; FORM STAMP DATA IMAGE |
|
|
|
LD HL,STPIMG ; FROM STAMP DATA IMAGE |
|
|
|
LD DE,STPLOC ; TO IT'S LOCATION IN PAGE ZERO |
|
|
|
LD BC,STPSIZ ; SIZE OF BLOCK TO COPY |
|
|
|
LDIR ; DO IT |
|
|
|
@ -448,26 +439,6 @@ GOCCP: |
|
|
|
LD C,A ; SETUP C WITH CURRENT USER/DISK, ASSUME IT IS OK |
|
|
|
JP CCP_LOC ; JUMP TO COMMAND PROCESSOR |
|
|
|
; |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
GOMON: |
|
|
|
CALL PANIC |
|
|
|
; |
|
|
|
; DI |
|
|
|
; IM 1 |
|
|
|
; |
|
|
|
; LD SP,STACK |
|
|
|
; |
|
|
|
; ; RELOAD MONITOR INTO RAM (IN CASE IT HAS BEEN OVERWRITTEN) |
|
|
|
; CALL ROMPGZ |
|
|
|
; LD HL,MON_IMG |
|
|
|
; LD DE,MON_LOC |
|
|
|
; LD BC,MON_SIZ |
|
|
|
; LDIR |
|
|
|
; CALL RAMPGZ |
|
|
|
|
|
|
|
; ; JUMP TO MONITOR WARM ENTRY |
|
|
|
; JP MON_UART |
|
|
|
; |
|
|
|
; |
|
|
|
;================================================================================================== |
|
|
|
; CHARACTER BIOS FUNCTIONS |
|
|
|
@ -1360,27 +1331,14 @@ DSK_MBR: |
|
|
|
DSK_MBR0: |
|
|
|
; |
|
|
|
#IFDEF PLTWBW |
|
|
|
; SWITCH TO BIOS BANK TO ACCESS DISK BUFFER |
|
|
|
; ACTIVATE BIOS BANK TO ACCESS DISK BUFFER |
|
|
|
LD (STKSAV),SP ; SAVE CUR STACK |
|
|
|
LD SP,XSTACK ; NEW STACK IN HI MEM |
|
|
|
LD A,(HB_CURBNK) ; GET CUR BANK |
|
|
|
PUSH AF ; SAVE CUR BANK |
|
|
|
LD A,(BNKBIOS) ; BIOS BANK |
|
|
|
CALL HB_BNKSEL ; DO IT |
|
|
|
CALL DSK_MBR1 ; DO THE WORK |
|
|
|
; RESTORE BANK |
|
|
|
PUSH AF ; SAVE RESULT |
|
|
|
POP HL ; TO HL |
|
|
|
EX (SP),HL ; RESULT TO TOS, PREV BANK TO H |
|
|
|
LD A,H ; PREV BANK TO A |
|
|
|
CALL HB_BNKSEL ; SELECT IT |
|
|
|
POP AF ; ORIGINAL RESULT BACK |
|
|
|
LD SP,STACK ; NEW STACK IN HI MEM |
|
|
|
LD A,(BNKBIOS) ; ACTIVATE HBIOS BANK |
|
|
|
LD HL,DSK_MBR1 ; ROUTINE TO RUN |
|
|
|
CALL HB_BNKCALL ; DO IT |
|
|
|
LD SP,(STKSAV) ; RESTORE ORIGINAL STACK |
|
|
|
RET |
|
|
|
|
|
|
|
.FILL 32,0 |
|
|
|
XSTACK .EQU $ |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
DSK_MBR1: |
|
|
|
@ -3239,7 +3197,7 @@ CMD .DB CMDLEN - 2 |
|
|
|
CMDLEN .EQU $ - CMD |
|
|
|
; |
|
|
|
FCB_SUB .DB '?' ; DRIVE CODE, 0 = CURRENT DRIVE |
|
|
|
.DB "SUBMIT " ; FILE NAME, 8 CHARS |
|
|
|
.DB "SUBMIT " ; FILE NAME, 8 CHARS |
|
|
|
.DB "COM" ; FILE TYPE, 3 CHARS |
|
|
|
.FILL 36-($-FCB_SUB),0 ; ZERO FILL REMAINDER OF FCB |
|
|
|
; |
|
|
|
|