|
|
|
@ -350,33 +350,41 @@ REBOOT: |
|
|
|
; |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
WBOOT: |
|
|
|
LD SP,STACK ; STACK FOR INITIALIZATION |
|
|
|
; |
|
|
|
#IFDEF PLTWBW |
|
|
|
; GIVE HBIOS A CHANCE TO DIAGNOSE ISSUES, PRIMARILY |
|
|
|
; THE OCCURRENCE OF A Z180 INVALID OPCODE TRAP |
|
|
|
POP HL ; SAVE PC FOR DIAGNOSIS |
|
|
|
LD SP,STACK ; STACK FOR INITIALIZATION |
|
|
|
LD BC,$F003 ; HBIOS USER RESET FUNCTION |
|
|
|
RST 08 ; DO IT |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IFDEF PLTUNA |
|
|
|
; RESTORE COMMAND PROCESSOR FROM UNA BIOS CACHE |
|
|
|
LD BC,$01FB ; UNA FUNC = SET BANK |
|
|
|
LD DE,(BNKBIOS) ; UBIOS_PAGE (SEE PAGES.INC) |
|
|
|
RST 08 ; DO IT |
|
|
|
PUSH DE ; SAVE PREVIOUS BANK |
|
|
|
|
|
|
|
LD HL,(CCPBUF) ; ADDRESS OF CCP BUF IN BIOS MEM |
|
|
|
LD DE,CCP_LOC ; ADDRESS IN HI MEM OF CCP |
|
|
|
LD BC,CCP_SIZ ; SIZE OF CCP |
|
|
|
LDIR ; DO IT |
|
|
|
|
|
|
|
LD BC,$01FB ; UNA FUNC = SET BANK |
|
|
|
POP DE ; RECOVER OPERATING BANK |
|
|
|
RST 08 ; DO IT |
|
|
|
LD BC,$01FB ; UNA FUNC = SET BANK |
|
|
|
LD DE,(BNKBIOS) ; UBIOS_PAGE (SEE PAGES.INC) |
|
|
|
RST 08 ; DO IT |
|
|
|
PUSH DE ; SAVE PREVIOUS BANK |
|
|
|
|
|
|
|
LD HL,(CCPBUF) ; ADDRESS OF CCP BUF IN BIOS MEM |
|
|
|
LD DE,CCP_LOC ; ADDRESS IN HI MEM OF CCP |
|
|
|
LD BC,CCP_SIZ ; SIZE OF CCP |
|
|
|
LDIR ; DO IT |
|
|
|
|
|
|
|
LD BC,$01FB ; UNA FUNC = SET BANK |
|
|
|
POP DE ; RECOVER OPERATING BANK |
|
|
|
RST 08 ; DO IT |
|
|
|
#ELSE |
|
|
|
; RESTORE COMMAND PROCESSOR FROM CACHE IN HB BANK |
|
|
|
LD B,BF_SYSSETCPY ; HBIOS FUNC: SETUP BANK COPY |
|
|
|
LD DE,(BNKBIOS) ; D = DEST (USER BANK), E = SRC (BIOS BANK) |
|
|
|
LD HL,CCP_SIZ ; HL = COPY LEN = SIZE OF COMMAND PROCESSOR |
|
|
|
RST 08 ; DO IT |
|
|
|
LD B,BF_SYSBNKCPY ; HBIOS FUNC: PERFORM BANK COPY |
|
|
|
LD HL,(CCPBUF) ; COPY FROM FIXED LOCATION IN HB BANK |
|
|
|
LD DE,CCP_LOC ; TO CCP LOCATION IN USR BANK |
|
|
|
RST 08 ; DO IT |
|
|
|
LD B,BF_SYSSETCPY ; HBIOS FUNC: SETUP BANK COPY |
|
|
|
LD DE,(BNKBIOS) ; D = DEST (USER BANK), E = SRC (BIOS BANK) |
|
|
|
LD HL,CCP_SIZ ; HL = COPY LEN = SIZE OF COMMAND PROCESSOR |
|
|
|
RST 08 ; DO IT |
|
|
|
LD B,BF_SYSBNKCPY ; HBIOS FUNC: PERFORM BANK COPY |
|
|
|
LD HL,(CCPBUF) ; COPY FROM FIXED LOCATION IN HB BANK |
|
|
|
LD DE,CCP_LOC ; TO CCP LOCATION IN USR BANK |
|
|
|
RST 08 ; DO IT |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
; SOME APPLICATIONS STEAL THE BDOS SERIAL NUMBER STORAGE |
|
|
|
|