|
|
|
@ -1796,7 +1796,7 @@ HB_DISPATCH: |
|
|
|
PUSH AF |
|
|
|
LD A,(HB_STACK - HB_STKSIZ + $08) |
|
|
|
CP $FF |
|
|
|
CALL NZ,PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,$FF |
|
|
|
LD (HB_STACK - HB_STKSIZ + $08),A |
|
|
|
POP AF |
|
|
|
@ -1813,17 +1813,20 @@ HB_DISPCALL: |
|
|
|
CP BF_RTC + $10 ; $20-$2F: REAL TIME CLOCK (RTC) |
|
|
|
JP C,RTC_DISPATCH |
|
|
|
CP BF_EMU + $10 ; $30-$3F: EMULATION |
|
|
|
CALL C,PANIC ; OBSOLETE! |
|
|
|
JR C,HB_DISPERR |
|
|
|
CP BF_VDA + $10 ; $40-$4F: VIDEO DISPLAY ADAPTER |
|
|
|
JP C,VDA_DISPATCH |
|
|
|
|
|
|
|
CP BF_SND + $08 ; $50-$58: SOUND DRIVERS |
|
|
|
JP C,SND_DISPATCH |
|
|
|
|
|
|
|
CP BF_SYS ; SKIP TO BF_SYS VALUE AT $F0 |
|
|
|
CALL C,PANIC ; PANIC IF LESS THAN BF_SYS |
|
|
|
JR C,HB_DISPERR ; ERROR IF LESS THAN BF_SYS |
|
|
|
JP SYS_DISPATCH ; OTHERWISE SYS CALL |
|
|
|
CALL PANIC ; THIS SHOULD NEVER BE REACHED |
|
|
|
; FALL THRU |
|
|
|
; |
|
|
|
HB_DISPERR: |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOFUNC |
|
|
|
OR A |
|
|
|
RET |
|
|
|
; |
|
|
|
;================================================================================================== |
|
|
|
@ -2185,7 +2188,7 @@ RTC_DISPATCH: |
|
|
|
RET |
|
|
|
; |
|
|
|
RTC_DISPERR: |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOHW |
|
|
|
OR A |
|
|
|
RET |
|
|
|
@ -2340,7 +2343,7 @@ SYS_RESET: |
|
|
|
JR Z,SYS_RESWARM |
|
|
|
CP BF_SYSRES_COLD |
|
|
|
JR Z,SYS_RESCOLD |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOFUNC |
|
|
|
OR A ; SIGNAL ERROR |
|
|
|
RET |
|
|
|
@ -2453,7 +2456,7 @@ SYS_ALLOC: |
|
|
|
; ALL OTHER REGISTERS PRESERVED |
|
|
|
; |
|
|
|
SYS_FREE: |
|
|
|
;CALL PANIC ; NOT YET IMPLEMENTED |
|
|
|
CALL SYSCHK ; NOT YET IMPLEMENTED |
|
|
|
LD A,ERR_NOTIMPL ; NOT YET INMPLEMENTED |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -2470,9 +2473,9 @@ SYS_GET: |
|
|
|
CP BF_SYSGET_RTCCNT |
|
|
|
JR Z,SYS_GETRTCCNT |
|
|
|
CP BF_SYSGET_VDACNT |
|
|
|
JR Z,SYS_GETVDACNT |
|
|
|
JP Z,SYS_GETVDACNT |
|
|
|
CP BF_SYSGET_SNDCNT |
|
|
|
JR Z, SYS_GETSNDCNT |
|
|
|
JP Z, SYS_GETSNDCNT |
|
|
|
CP BF_SYSGET_TIMER |
|
|
|
JR Z,SYS_GETTIMER |
|
|
|
CP BF_SYSGET_SECS |
|
|
|
@ -2485,7 +2488,7 @@ SYS_GET: |
|
|
|
JR Z,SYS_GETMEMINFO |
|
|
|
CP BF_SYSGET_BNKINFO |
|
|
|
JR Z,SYS_GETBNKINFO |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOFUNC ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -2625,7 +2628,7 @@ SYS_SET: |
|
|
|
JR Z,SYS_SETSECS |
|
|
|
CP BF_SYSSET_BOOTINFO |
|
|
|
JR Z,SYS_SETBOOTINFO |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOFUNC ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -2722,7 +2725,7 @@ SYS_INT: |
|
|
|
JR Z,SYS_INTGET |
|
|
|
CP BF_SYSINT_SET |
|
|
|
JR Z,SYS_INTSET |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOFUNC ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -2750,7 +2753,7 @@ SYS_INTINFO: |
|
|
|
; |
|
|
|
SYS_INTVECADR: |
|
|
|
#IF (INTMODE == 0) |
|
|
|
;CALL PANIC ; INVALID FOR INT MODE 0 |
|
|
|
CALL SYSCHK ; INVALID FOR INT MODE 0 |
|
|
|
LD A,ERR_BADCFG ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -2766,7 +2769,7 @@ SYS_INTVECADR: |
|
|
|
LD A,E ; INCOMING INDEX POSITION TO A |
|
|
|
CP C ; COMPARE TO VECTOR COUNT |
|
|
|
JR C,SYS_INTGET1 ; CONTINUE IF POSITION IN RANGE |
|
|
|
;CALL PANIC ; ELSE ERROR |
|
|
|
CALL SYSCHK ; ELSE ERROR |
|
|
|
LD A,ERR_RANGE ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -2985,13 +2988,13 @@ HB_DISPCALL: |
|
|
|
RET ; JUMP TO DRIVER FUNC ADR ON TOS |
|
|
|
; |
|
|
|
HB_FUNCERR: |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOFUNC ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
; |
|
|
|
HB_UNITERR: |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOUNIT ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
@ -3080,7 +3083,7 @@ HB_ALLOC: |
|
|
|
HB_ALLOC1: |
|
|
|
; ERROR RETURN |
|
|
|
POP DE ; RESTORE INCOMING DE |
|
|
|
;CALL PANIC |
|
|
|
CALL SYSCHK |
|
|
|
LD A,ERR_NOMEM ; SIGNAL ERROR |
|
|
|
OR A ; SET FLAGS |
|
|
|
RET |
|
|
|
|