mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Merge pull request #392 from b1ackmai1er/master
Recovery button support for Duo
This commit is contained in:
@@ -1877,6 +1877,17 @@ SAVE_REC_M:
|
|||||||
LD A,0 ; BIT 6
|
LD A,0 ; BIT 6
|
||||||
JR Z,SAVE_REC_M ; IS RECOVERY MODE
|
JR Z,SAVE_REC_M ; IS RECOVERY MODE
|
||||||
LD A,1
|
LD A,1
|
||||||
|
SAVE_REC_M:
|
||||||
|
LD (HB_BOOT_REC),A ; SAVE FOR LATER
|
||||||
|
#ENDIF
|
||||||
|
#ENDIF
|
||||||
|
#IF ((PLATFORM == PLT_DUO)
|
||||||
|
#IF (BT_REC_TYPE == BT_REC_DUORI)
|
||||||
|
IN A,($78 + 6) ; UART_MSR MODEM
|
||||||
|
BIT 6,A ; STATUS REGISTER
|
||||||
|
LD A,0 ; BIT 6
|
||||||
|
JR Z,SAVE_REC_M ; IS RECOVERY MODE
|
||||||
|
LD A,1
|
||||||
SAVE_REC_M:
|
SAVE_REC_M:
|
||||||
LD (HB_BOOT_REC),A ; SAVE FOR LATER
|
LD (HB_BOOT_REC),A ; SAVE FOR LATER
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -3225,7 +3236,7 @@ CALLDUMMY:
|
|||||||
#IF (BT_REC_TYPE != BT_REC_NONE)
|
#IF (BT_REC_TYPE != BT_REC_NONE)
|
||||||
;
|
;
|
||||||
HB_PCINIT_REC:
|
HB_PCINIT_REC:
|
||||||
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
|
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC) | (PLATFORM == PLT_DUO))
|
||||||
.DW UART_PREINIT
|
.DW UART_PREINIT
|
||||||
; .DW CALLDUMMY
|
; .DW CALLDUMMY
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -3237,6 +3248,10 @@ HB_INIT_REC:
|
|||||||
.DW MD_INIT
|
.DW MD_INIT
|
||||||
.DW PPIDE_INIT
|
.DW PPIDE_INIT
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
#IF ((PLATFORM == PLT_DUO)
|
||||||
|
.DW UART_INIT
|
||||||
|
.DW MD_INIT
|
||||||
|
#ENDIF
|
||||||
HB_INITRLEN .EQU (($ - HB_INIT_REC) / 2)
|
HB_INITRLEN .EQU (($ - HB_INIT_REC) / 2)
|
||||||
;
|
;
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
; 17. DUO Andrew Lynch's Duodyne Computer
|
; 17. DUO Andrew Lynch's Duodyne Computer
|
||||||
; 18. HEATH Les Bird's Heath Z80 Board
|
; 18. HEATH Les Bird's Heath Z80 Board
|
||||||
; 19. EPITX Alan Cox' Mini-ITX System
|
; 19. EPITX Alan Cox' Mini-ITX System
|
||||||
; 20. MON Jacques Pelletier's Monsputer
|
; 20. MON Jacques Pelletier's Monsputer
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;
|
;
|
||||||
@@ -87,6 +87,8 @@ BT_REC_FORCE .EQU 1 ; FORCE BOOT RECOVERY MODE
|
|||||||
BT_REC_SBC01 .EQU 2 ; ECB-SBCV2 - BIT 1 RTC HIGH
|
BT_REC_SBC01 .EQU 2 ; ECB-SBCV2 - BIT 1 RTC HIGH
|
||||||
BT_REC_SBC1B .EQU 3 ; ECB-SBCV2 - 1-BIT IO PORT
|
BT_REC_SBC1B .EQU 3 ; ECB-SBCV2 - 1-BIT IO PORT
|
||||||
BT_REC_SBCRI .EQU 4 ; ECB-SBCV2 - 16550 UART RING INDICATOR LINE
|
BT_REC_SBCRI .EQU 4 ; ECB-SBCV2 - 16550 UART RING INDICATOR LINE
|
||||||
|
BT_REC_DUORI .EQU 5 ; DUO MULTI I/O - TL16C2552FN UART RING INDICATOR LINE
|
||||||
|
|
||||||
;
|
;
|
||||||
BT_REC_TYPE .EQU BT_REC_NONE ; BOOT RECOVERY METHOD TO USE
|
BT_REC_TYPE .EQU BT_REC_NONE ; BOOT RECOVERY METHOD TO USE
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -56,19 +56,17 @@ UART_CTSBAD .EQU 4 ; CTS STALL DETECTED
|
|||||||
;
|
;
|
||||||
#IF (PLATFORM == PLT_DUO)
|
#IF (PLATFORM == PLT_DUO)
|
||||||
UARTSBASE .EQU $58
|
UARTSBASE .EQU $58
|
||||||
|
UARTDBASE .EQU $70
|
||||||
#ELSE
|
#ELSE
|
||||||
UARTSBASE .EQU $68
|
UARTSBASE .EQU $68
|
||||||
|
UARTDBASE .EQU $80
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
;
|
||||||
UARTABASE .EQU $A8
|
UARTABASE .EQU $A8
|
||||||
UARTCBASE .EQU $80
|
UARTCBASE .EQU $80
|
||||||
UARTMBASE .EQU $18
|
UARTMBASE .EQU $18
|
||||||
UART4BASE .EQU $C0
|
UART4BASE .EQU $C0
|
||||||
UARTRBASE .EQU $A0
|
UARTRBASE .EQU $A0
|
||||||
#IF (PLATFORM == PLT_DUO)
|
|
||||||
UARTDBASE .EQU $70
|
|
||||||
#ELSE
|
|
||||||
UARTDBASE .EQU $80
|
|
||||||
#ENDIF
|
|
||||||
;
|
;
|
||||||
#IF (UARTINTS)
|
#IF (UARTINTS)
|
||||||
;
|
;
|
||||||
@@ -1165,25 +1163,24 @@ UART_CFG_MFP:
|
|||||||
; DUAL UART CHANNEL A
|
; DUAL UART CHANNEL A
|
||||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||||
.DB 0 ; UART TYPE
|
.DB 0 ; UART TYPE
|
||||||
|
.DB UARTDBASE+8 ; IO PORT BASE (RBR, THR)
|
||||||
|
.DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
|
||||||
|
.DW UARTCFG ; LINE CONFIGURATION
|
||||||
|
.DW 0 ; SHOULD NEVER NEED INT HANDLER
|
||||||
|
; DUAL UART CHANNEL B
|
||||||
|
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||||
|
.DB 0 ; UART TYPE
|
||||||
.DB UARTDBASE ; IO PORT BASE (RBR, THR)
|
.DB UARTDBASE ; IO PORT BASE (RBR, THR)
|
||||||
.DB UARTDBASE + UART_LSR ; LINE STATUS PORT (LSR)
|
.DB UARTDBASE + UART_LSR ; LINE STATUS PORT (LSR)
|
||||||
.DW UARTCFG ; LINE CONFIGURATION
|
.DW UARTCFG ; LINE CONFIGURATION
|
||||||
.DW 0 ; SHOULD NEVER NEED INT HANDLER
|
.DW 0 ; SHOULD NEVER NEED INT HANDLER
|
||||||
;
|
;
|
||||||
.ECHO "UART: MODE=DUAL, IO="
|
.ECHO "UART: MODE=DUAL, IO="
|
||||||
.ECHO UARTDBASE+0
|
.ECHO UARTDBASE+8
|
||||||
.ECHO "\n"
|
.ECHO "\n"
|
||||||
;
|
|
||||||
; DUAL UART CHANNEL B
|
|
||||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
|
||||||
.DB 0 ; UART TYPE
|
|
||||||
.DB UARTDBASE+8 ; IO PORT BASE (RBR, THR)
|
|
||||||
.DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
|
|
||||||
.DW UARTCFG ; LINE CONFIGURATION
|
|
||||||
.DW 0 ; SHOULD NEVER NEED INT HANDLER
|
|
||||||
;
|
;
|
||||||
.ECHO "UART: MODE=DUAL, IO="
|
.ECHO "UART: MODE=DUAL, IO="
|
||||||
.ECHO UARTDBASE+8
|
.ECHO UARTDBASE+0
|
||||||
.ECHO "\n"
|
.ECHO "\n"
|
||||||
;
|
;
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|||||||
Reference in New Issue
Block a user