|
|
|
@ -171,9 +171,11 @@ Z2U_INT: |
|
|
|
PUSH DE |
|
|
|
PUSH HL |
|
|
|
; |
|
|
|
; START BY SELECTING I/O PAGE $FE |
|
|
|
LD L,$FE ; Z280 UART REGISTERS AT I/O PAGE $FE |
|
|
|
; START BY SELECTING I/O PAGE $FE (SAVING PREVIOUS VALUE) |
|
|
|
LD C,Z280_IOPR ; REG C POINTS TO I/O PAGE REGISTER |
|
|
|
.DB $ED,$66 ; LDCTL HL,(C) ; GET CURRENT I/O PAGE |
|
|
|
PUSH HL ; SAVE IT |
|
|
|
LD L,$FE ; NEW COUNTER/TIMER I/O PAGE |
|
|
|
.DB $ED,$6E ; LDCTL (C),HL |
|
|
|
; |
|
|
|
; CHECK TO SEE IF SOMETHING IS ACTUALLY THERE |
|
|
|
@ -228,9 +230,9 @@ Z2U_INTRCV3: |
|
|
|
JR NZ,Z2U_INTRCV1 |
|
|
|
; |
|
|
|
Z2U_INTRCV4: |
|
|
|
; RESTORE I/O PAGE TO $00 |
|
|
|
LD L,$00 ; NORMAL I/O REG IS $00 |
|
|
|
; RESTORE I/O PAGE |
|
|
|
LD C,Z280_IOPR ; REG C POINTS TO I/O PAGE REGISTER |
|
|
|
POP HL ; RECOVER ORIGINAL I/O PAGE |
|
|
|
.DB $ED,$6E ; LDCTL (C),HL |
|
|
|
; |
|
|
|
; RESTORE REGISTERS |
|
|
|
@ -351,7 +353,6 @@ Z2U_OUT: |
|
|
|
#IF (INTMODE < 3) |
|
|
|
; |
|
|
|
Z2U_IST: |
|
|
|
; |
|
|
|
; START BY SELECTING I/O PAGE $FE |
|
|
|
LD L,$FE ; Z280 UART REGISTERS AT I/O PAGE $FE |
|
|
|
LD C,Z280_IOPR ; REG C POINTS TO I/O PAGE REGISTER |
|
|
|
@ -368,6 +369,7 @@ Z2U_IST: |
|
|
|
; |
|
|
|
OR A ; SET FLAGS |
|
|
|
JP Z,CIO_IDLE ; NOT READY, RETURN VIA IDLE PROCESSING |
|
|
|
|
|
|
|
RET |
|
|
|
; |
|
|
|
#ELSE |
|
|
|
@ -421,6 +423,7 @@ Z2U_INITDEV: |
|
|
|
Z2U_INITSAFE: |
|
|
|
LD A,%11000010 ; 8N0, DIV 16, NO C/T |
|
|
|
LD (Z2U_CFGREG),A ; SAVE IT |
|
|
|
LD HL,1 ; C/T DIV 1 |
|
|
|
JR Z2U_INITDEV8 ; DO IT |
|
|
|
; |
|
|
|
Z2U_INITDEVX: |
|
|
|
@ -436,6 +439,27 @@ Z2U_INITDEVX: |
|
|
|
; |
|
|
|
Z2U_INITDEV1: |
|
|
|
LD (Z2U_NEWCFG),DE ; SAVE NEW CONFIG |
|
|
|
|
|
|
|
; |
|
|
|
; HACK FOR TESTING!!! |
|
|
|
; |
|
|
|
#IF FALSE |
|
|
|
;LD A,%11000000 ; 8N0, DIV 1, NO C/T |
|
|
|
LD A,%11000010 ; 8N0, DIV 16, NO C/T |
|
|
|
;LD A,%11000100 ; 8N0, DIV 32, NO C/T |
|
|
|
;LD A,%11000110 ; 8N0, DIV 64, NO C/T |
|
|
|
LD (Z2U_CFGREG),A ; SAVE UART CONFIG VALUE |
|
|
|
;LD HL,1 ; 24MHZ / 8 / 1 |
|
|
|
LD HL,2 ; 24MHZ / 8 / 2 |
|
|
|
;LD HL,3 ; 24MHZ / 8 / 5 |
|
|
|
;LD HL,15 ; 24MHZ / 8 / 15 |
|
|
|
;LD HL,26 ; 24MHZ / 8 / 26 = 115384 BAUD (~115200) |
|
|
|
;LD HL,52 ; 24MHZ / 8 / 52 = 57692 BAUD (~57600) |
|
|
|
JP Z2U_INITDEV8 ; SKIP AHEAD TO IMPLMENT IT |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
; |
|
|
|
; |
|
|
|
LD A,D ; HIWORD OF CONFIG |
|
|
|
AND $1F ; ISOLATE BAUD RATE |
|
|
|
PUSH AF |
|
|
|
|