|
|
|
@ -81,11 +81,12 @@ TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
TMS_PREINIT: |
|
|
|
#IF (TMSTIMENABLE) |
|
|
|
CALL TMS_INT_DIS ; SPECIAL CASE - NEED TO STOP TMS9918 FROM FIRING INTERRUPTS |
|
|
|
#ENDIF ; WHEN DRIVER IS LOADED - IT WILL BE RELOADED |
|
|
|
|
|
|
|
RET |
|
|
|
; DISABLE INTERRUPT GENERATION |
|
|
|
LD A, (TMS_INIT9918_REG_1) |
|
|
|
RES TMSINTEN, A ; RESET INTERRUPT ENABLE BIT |
|
|
|
LD (TMS_INIT9918_REG_1), A |
|
|
|
LD C, TMSCTRL1 |
|
|
|
JP TMS_SET |
|
|
|
; |
|
|
|
TMS_INIT: |
|
|
|
#IF (CPUFAM == CPU_Z180) |
|
|
|
@ -144,21 +145,10 @@ TMS_INIT1: |
|
|
|
XOR A ; SIGNAL SUCCESS |
|
|
|
RET |
|
|
|
|
|
|
|
#IFDEF APPBOOT |
|
|
|
#IF TMSTIMENABLE |
|
|
|
; SPECIAL CASE FOR APPBOOT - NEEDING TO DISABLE INTERRUPT GENERATOR |
|
|
|
; ISSUE: |
|
|
|
; IF THE CURRENT ROMBOOT HAD LOADED THE TMS DRIVER |
|
|
|
; THEN THE ROMLOADER MAY START RECEIVING INTERRUPTS |
|
|
|
; FROM THE CHIP BEFORE THE TMS DRIVER HAS BEEN RE- |
|
|
|
; INITALISED, AND CAUSING BAD INT PANICS |
|
|
|
; DISABLE INTERRUPT |
|
|
|
TMS_INT_DIS: |
|
|
|
LD A, (TMS_INIT9918_REG_1) |
|
|
|
RES TMSINTEN, A ; RESET INTERRUPT ENABLE BIT |
|
|
|
LD (TMS_INIT9918_REG_1), A |
|
|
|
LD C, TMSCTRL1 |
|
|
|
JP TMS_SET |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
;====================================================================== |
|
|
|
@ -189,7 +179,7 @@ TMS_FNTBL: |
|
|
|
#ENDIF |
|
|
|
#IF (($ - TMS_FNTBL) != (VDA_FNCNT * 2)) |
|
|
|
.ECHO "*** INVALID TMS FUNCTION TABLE ***\n" |
|
|
|
FAIL |
|
|
|
!!!!! |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
TMS_VDAINI: |
|
|
|
|