From d27fa8a58779c77e6318c2e7aae3c29bb52b5aba Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Fri, 24 Nov 2017 21:02:32 -0800 Subject: [PATCH] Add Option for SMB SIO Module --- Source/HBIOS/Config/RC_std.asm | 3 ++- Source/HBIOS/cfg_mk4.asm | 1 + Source/HBIOS/cfg_n8.asm | 1 + Source/HBIOS/cfg_rc.asm | 1 + Source/HBIOS/cfg_sbc.asm | 1 + Source/HBIOS/cfg_zeta.asm | 1 + Source/HBIOS/sio.asm | 14 ++++++++++++-- Source/HBIOS/std.asm | 6 ++++++ 8 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Source/HBIOS/Config/RC_std.asm b/Source/HBIOS/Config/RC_std.asm index 1f2c5bda..206141af 100644 --- a/Source/HBIOS/Config/RC_std.asm +++ b/Source/HBIOS/Config/RC_std.asm @@ -8,7 +8,8 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) ; -SIOENABLE .SET TRUE ; TRUE FOR ZILOG SIO/2 SUPPORT +SIOENABLE .SET TRUE ; TRUE FOR ZILOG SIO/2 +SIOMODE .SET SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB ACIAENABLE .SET TRUE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT ; diff --git a/Source/HBIOS/cfg_mk4.asm b/Source/HBIOS/cfg_mk4.asm index bcc0776b..3e2ceb7c 100644 --- a/Source/HBIOS/cfg_mk4.asm +++ b/Source/HBIOS/cfg_mk4.asm @@ -23,6 +23,7 @@ ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) UARTOSC .EQU 1843200 ; UART OSC FREQUENCY SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT +SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT diff --git a/Source/HBIOS/cfg_n8.asm b/Source/HBIOS/cfg_n8.asm index 4403dfc4..a64f8057 100644 --- a/Source/HBIOS/cfg_n8.asm +++ b/Source/HBIOS/cfg_n8.asm @@ -23,6 +23,7 @@ ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) UARTOSC .EQU 1843200 ; UART OSC FREQUENCY SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT +SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT diff --git a/Source/HBIOS/cfg_rc.asm b/Source/HBIOS/cfg_rc.asm index 7badf2fc..ea3ed0bf 100644 --- a/Source/HBIOS/cfg_rc.asm +++ b/Source/HBIOS/cfg_rc.asm @@ -23,6 +23,7 @@ ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) UARTOSC .EQU 1843200 ; UART OSC FREQUENCY SIOENABLE .EQU TRUE ; TRUE FOR ZILOG SIO/2 SUPPORT +SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB ACIAENABLE .EQU TRUE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index 660a1fd7..ac016998 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -23,6 +23,7 @@ ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) UARTOSC .EQU 1843200 ; UART OSC FREQUENCY SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT +SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT diff --git a/Source/HBIOS/cfg_zeta.asm b/Source/HBIOS/cfg_zeta.asm index 0640adb9..8c93ba9a 100644 --- a/Source/HBIOS/cfg_zeta.asm +++ b/Source/HBIOS/cfg_zeta.asm @@ -23,6 +23,7 @@ ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) UARTOSC .EQU 1843200 ; UART OSC FREQUENCY SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT +SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT diff --git a/Source/HBIOS/sio.asm b/Source/HBIOS/sio.asm index b559a0fe..8c16ffdd 100644 --- a/Source/HBIOS/sio.asm +++ b/Source/HBIOS/sio.asm @@ -15,12 +15,19 @@ SIO_DEBUG .EQU FALSE SIO_NONE .EQU 0 SIO_SIO .EQU 1 ; -; -; +#IF (SIOMODE == SIOMODE_RC) SIOA_CMD .EQU $80 SIOA_DAT .EQU $81 SIOB_CMD .EQU $82 SIOB_DAT .EQU $83 +#ENDIF +; +#IF (SIOMODE == SIOMODE_SMB) +SIOA_CMD .EQU $80 +SIOA_DAT .EQU $82 +SIOB_CMD .EQU $81 +SIOB_DAT .EQU $83 +#ENDIF ; ; ; @@ -306,6 +313,9 @@ SIO_OUT: JR Z,SIO_OUT ; LOOP IF NOT LD C,(IY + 3) ; C := SIO CMD PORT INC C ; BUMP TO DATA PORT +#IF (SIOMODE == SIOMODE_SMB) + INC C ; SMB SIO INC AGAIN +#ENDIF OUT (C),E ; SEND CHAR FROM E XOR A ; SIGNAL SUCCESS RET diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 82feb89a..c23cabf6 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -71,6 +71,12 @@ DSRTCMODE_NONE .EQU 0 ; NO DSRTC DSRTCMODE_STD .EQU 1 ; ORIGINAL DSRTC CIRCUIT (SBC, ZETA, MK4) DSRTCMODE_MFPIC .EQU 2 ; MF/PIC VARIANT ; +; SIO MODE SELECTIONS +; +SIOMODE_NONE .EQU 0 +SIOMODE_RC .EQU 1 ; RC2014 SIO MODULE FROM SPENCER +SIOMODE_SMB .EQU 2 ; RC2014 SIO MODULE BY SCOTT BAKER +; ; FD MODE SELECTIONS ; FDMODE_NONE .EQU 0