From 2b459b13588fa55f5f9250b0da05208859c428e7 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Wed, 17 Sep 2025 14:25:25 -0700 Subject: [PATCH] Add Config for ESPSD CD - Allow card detect functionality in ESPSD driver to be controlled by a configuration variable. --- Source/HBIOS/cfg_FZ80.asm | 1 + Source/HBIOS/cfg_MASTER.asm | 1 + Source/HBIOS/cfg_S100.asm | 1 + Source/HBIOS/espsd.asm | 3 +++ 4 files changed, 6 insertions(+) diff --git a/Source/HBIOS/cfg_FZ80.asm b/Source/HBIOS/cfg_FZ80.asm index 2a124b07..328c8df3 100644 --- a/Source/HBIOS/cfg_FZ80.asm +++ b/Source/HBIOS/cfg_FZ80.asm @@ -379,6 +379,7 @@ SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM) ESPSDTRACE .SET 1 ; ESPSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD +ESPSD_USECD .SET TRUE ; ESPSD: ENABLE CARD DETECT SIGNAL USAGE ESPSD0BASE .SET $80 ; ESPSD 0: ESP32 INTERFACE IO BASE ADR ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD) ESPSD1BASE .SET $82 ; ESPSD 1: ESP32 INTERFACE IO BASE ADR diff --git a/Source/HBIOS/cfg_MASTER.asm b/Source/HBIOS/cfg_MASTER.asm index ca4af9db..cf18aa3f 100644 --- a/Source/HBIOS/cfg_MASTER.asm +++ b/Source/HBIOS/cfg_MASTER.asm @@ -446,6 +446,7 @@ SYQ1BASE .EQU LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ ; ESPSDENABLE .EQU FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM) ESPSDTRACE .EQU 1 ; ESPSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +ESPSD_USECD .EQU FALSE ; ESPSD: ENABLE CARD DETECT SIGNAL USAGE ESPSDCNT .EQU 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD ESPSD0BASE .EQU $80 ; ESPSD 0: ESP32 INTERFACE IO BASE ADR ESPSD0DUAL .EQU TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD) diff --git a/Source/HBIOS/cfg_S100.asm b/Source/HBIOS/cfg_S100.asm index 5ffdcf70..b2fefef2 100644 --- a/Source/HBIOS/cfg_S100.asm +++ b/Source/HBIOS/cfg_S100.asm @@ -363,6 +363,7 @@ SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ ; ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM) ESPSDTRACE .SET 1 ; ESPSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +ESPSD_USECD .SET TRUE ; ESPSD: ENABLE CARD DETECT SIGNAL USAGE ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD ESPSD0BASE .SET $80 ; ESPSD 0: ESP32 INTERFACE IO BASE ADR ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD) diff --git a/Source/HBIOS/espsd.asm b/Source/HBIOS/espsd.asm index 9d2d8cf5..c8fe3b5f 100644 --- a/Source/HBIOS/espsd.asm +++ b/Source/HBIOS/espsd.asm @@ -474,6 +474,8 @@ ESPSD_DETECT: ; INITIALIZE DEVICE ; ESPSD_INITDEV: +; +#IF (ESPSD_USECD) ; CHECK CARD DETECT LD A,(IY+ESPSD_ROLE) ; GET ROLE LD B,%00000010 ; MASK FOR PRIMARY @@ -485,6 +487,7 @@ ESPSD_INITDEV1: IN A,(C) ; GET STATUS AND B ; APPLY MASK JP Z,ESPSD_NOMEDIA ; IF NO CARD, HANDLE AS NO MEDIA +#ENDIF ; CALL ESPSD_INITCARD ; PERFORM DEVICE INIT JP NZ,ESPSD_NOMEDIA ; CONVERT TO NO MEDIA ERROR