@ -117,7 +117,7 @@ SD_NOPULLUP .EQU TRUE ; ASSUME NO PULLUP
;
;
SD_DEVCNT .EQU SDCNT ; SET SD_DEVCNT TO SDCNT CONFIG VAR
SD_DEVCNT .EQU SDCNT ; SET SD_DEVCNT TO SDCNT CONFIG VAR
;
;
. ECHO "SD: MODE="
DEV ECHO "SD: MODE="
;
;
# IF ( SDMODE = = SDMODE_JUHA ) ; JUHA MINI-BOARD
# IF ( SDMODE = = SDMODE_JUHA ) ; JUHA MINI-BOARD
SD_DEVMAX .EQU 1 ; NUMBER OF PHYSICAL UNITS (SOCKETS)
SD_DEVMAX .EQU 1 ; NUMBER OF PHYSICAL UNITS (SOCKETS)
@ -131,7 +131,7 @@ SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU % 10000000 ; RTC:7 IS DATA OUT (CARD -> CPU)
SD_DO .EQU % 10000000 ; RTC:7 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
. ECHO "JUHA"
DEV ECHO "JUHA"
;
;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
# ENDIF
# ENDIF
@ -148,7 +148,7 @@ SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU % 01000000 ; RTC:6 IS DATA OUT (CARD -> CPU)
SD_DO .EQU % 01000000 ; RTC:6 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
. ECHO "N8"
DEV ECHO "N8"
;
;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
# ENDIF
# ENDIF
@ -163,7 +163,7 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR
SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
. ECHO "CSIO"
DEV ECHO "CSIO"
;
;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
# ENDIF
# ENDIF
@ -184,7 +184,7 @@ SD_DI .EQU %00000001 ; PPIC:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU % 10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU)
SD_DO .EQU % 10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_PPIBASE ; IOBASE
SD_IOBASE .EQU SD_PPIBASE ; IOBASE
SD_INVCS .EQU TRUE ; INVERT CS
SD_INVCS .EQU TRUE ; INVERT CS
. ECHO "PPI"
DEV ECHO "PPI"
# ENDIF
# ENDIF
;
;
# IF ( SDMODE = = SDMODE_UART )
# IF ( SDMODE = = SDMODE_UART )
@ -199,7 +199,7 @@ SD_DI .EQU %00000001 ; UART MCR:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU % 00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU)
SD_DO .EQU % 00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU UARTIOB ; IOBASE
SD_IOBASE .EQU UARTIOB ; IOBASE
SD_INVCS .EQU TRUE ; INVERT CS
SD_INVCS .EQU TRUE ; INVERT CS
. ECHO "UART"
DEV ECHO "UART"
# ENDIF
# ENDIF
;
;
# IF ( SDMODE = = SDMODE_DSD ) ; DUAL SD
# IF ( SDMODE = = SDMODE_DSD ) ; DUAL SD
@ -215,7 +215,7 @@ SD_DI .EQU %00000001 ; RTC:6 IS DATA IN (CARD <- CPU)
SD_DO .EQU % 00000001 ; RTC:0 IS DATA OUT (CARD -> CPU)
SD_DO .EQU % 00000001 ; RTC:0 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
. ECHO "DSD"
DEV ECHO "DSD"
# ENDIF
# ENDIF
;
;
# IF ( SDMODE = = SDMODE_MK4 ) ; MARK IV (CSIO STYLE INTERFACE)
# IF ( SDMODE = = SDMODE_MK4 ) ; MARK IV (CSIO STYLE INTERFACE)
@ -227,7 +227,7 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR
SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
. ECHO "MK4"
DEV ECHO "MK4"
# ENDIF
# ENDIF
;
;
# IF ( SDMODE = = SDMODE_SC ) ; SC
# IF ( SDMODE = = SDMODE_SC ) ; SC
@ -241,16 +241,10 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR
SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU TRUE ; INVERT CS
SD_INVCS .EQU TRUE ; INVERT CS
. ECHO "SC"
DEV ECHO "SC"
;
;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
# ENDIF
# ENDIF
;
.ECHO ", IO="
.ECHO SD_IOBASE
.ECHO ", UNITS="
.ECHO SDCNT
.ECHO "\n"
;
;
# IF ( SDMODE = = SDMODE_MT ) ; MT shift register for RCBUS (ref SDMODE_CSIO)
# IF ( SDMODE = = SDMODE_MT ) ; MT shift register for RCBUS (ref SDMODE_CSIO)
;
;
@ -300,6 +294,7 @@ SD_CS1 .EQU %00010000 ; IN/OUT:SD_OPREG:4 = CS1, SDCARD1 CS, IN=1 Card present
# ENDIF
# ENDIF
SD_IOBASE .EQU SD_BASE ; IOBASE
SD_IOBASE .EQU SD_BASE ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
DEVECHO "DUO"
# ENDIF
# ENDIF
;
;
;
;
@ -332,6 +327,7 @@ SD_CINIT .EQU TRUE ; INITIALIZE OUTPUT PORT
SD_DDR .EQU $ 6 B ; DATA DIRECTION REGISTER
SD_DDR .EQU $ 6 B ; DATA DIRECTION REGISTER
SD_DDRVAL .EQU % 11100110 ; DATA DIRECTION REGISTER VALUE
SD_DDRVAL .EQU % 11100110 ; DATA DIRECTION REGISTER VALUE
SD_INVCS .EQU TRUE ; INVERT CS
SD_INVCS .EQU TRUE ; INVERT CS
DEVECHO "PIO"
# ENDIF
# ENDIF
;
;
;
;
@ -355,6 +351,7 @@ SD_CINIT .EQU TRUE ; INITIALIZE OUTPUT PORT
SD_DDR .EQU $ 03 ; DATA DIRECTION REGISTER
SD_DDR .EQU $ 03 ; DATA DIRECTION REGISTER
SD_DDRVAL .EQU % 00001101 ; DATA DIRECTION REGISTER VALUE
SD_DDRVAL .EQU % 00001101 ; DATA DIRECTION REGISTER VALUE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
DEVECHO "USR"
# ENDIF
# ENDIF
;
;
# IF ( SDMODE = = SDMODE_Z80R ) ; Z80 Retro
# IF ( SDMODE = = SDMODE_Z80R ) ; Z80 Retro
@ -376,6 +373,7 @@ SD_DI .EQU %00000001 ; DATA IN (CARD <- CPU) MOSI
SD_DO .EQU % 00000001 ; DATA OUT (CARD -> CPU) MISO
SD_DO .EQU % 00000001 ; DATA OUT (CARD -> CPU) MISO
SD_CINIT .EQU FALSE ; INITIALIZE OUTPUT PORT
SD_CINIT .EQU FALSE ; INITIALIZE OUTPUT PORT
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
DEVECHO "Z80R"
# ENDIF
# ENDIF
; FOR NOW WE JUST HOOK UP ONE UNIT. THERE ARE EIGHT PORTS FOR DIFFERENT
; FOR NOW WE JUST HOOK UP ONE UNIT. THERE ARE EIGHT PORTS FOR DIFFERENT
@ -389,7 +387,14 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR
SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS
SD_INVCS .EQU FALSE ; INVERT CS
DEVECHO "EPITX"
# ENDIF
# ENDIF
;
DEVECHO ", IO="
DEVECHO SD_IOBASE
DEVECHO ", UNITS="
DEVECHO SDCNT
DEVECHO "\n"
;
;
# IF ( SD_DEVCNT > SD_DEVMAX )
# IF ( SD_DEVCNT > SD_DEVMAX )
.ECHO "*** ERROR: SDCNT EXCEEDS MAXIMUM SUPPORTED BY INTERFACE!!!\n"
.ECHO "*** ERROR: SDCNT EXCEEDS MAXIMUM SUPPORTED BY INTERFACE!!!\n"