From d79adf24ba2a82a30152eda2d10258b687892323 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Tue, 9 Nov 2021 18:07:07 -0800 Subject: [PATCH 1/2] Add ZMTX-ZMRX - Preliminary but functional ZModem send/receive. --- Source/Images/Common/All/ZMRX.COM | Bin 0 -> 29495 bytes Source/Images/Common/All/ZMTX.COM | Bin 0 -> 22789 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Source/Images/Common/All/ZMRX.COM create mode 100644 Source/Images/Common/All/ZMTX.COM diff --git a/Source/Images/Common/All/ZMRX.COM b/Source/Images/Common/All/ZMRX.COM new file mode 100644 index 0000000000000000000000000000000000000000..6a5286af8ed4bf9e5d8da5eb4b43f1f71a0b8f4a GIT binary patch literal 29495 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 M14A76|Cp0bJV7eCGT4{QfAKm-p^H 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 literal 0 HcmV?d00001 From 891893c0e5ffadb21469b5fb92fa93520e61cf49 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Tue, 9 Nov 2021 20:25:38 -0800 Subject: [PATCH 2/2] Fix DSD Driver - Dual SD support in sd.asm was broken for two cards when the SC126 dual SD card support was added. This should fix all scenarios. --- Source/HBIOS/sd.asm | 18 ++++++++++++------ Source/ver.inc | 2 +- Source/ver.lib | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index 1bd0f951..e81baf5d 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -1742,26 +1742,32 @@ SD_SELECT: ; CALL SD_WAITTX ;#ENDIF ; +#IF (SDMODE == SDMODE_SC) LD A,(IY+SD_DEV) ; GET CURRENT DEVICE OR A ; SET FLAGS LD A,(SD_OPRVAL) ; GET CURRENT OPRVAL BACK JR NZ,SD_SELECT1 ; IF NOT ZERO, DO SECONDARY ; ASSERT PRIMARY CS, DEASSERT SECONDARY (IF ANY) OR SD_CS0 -#IF (SD_DEVCNT > 1) + #IF (SD_DEVCNT > 1) AND ~SD_CS1 -#ENDIF + #ENDIF JR SD_SELECT2 SD_SELECT1: ; DEASSERT PRIMARY CS, ASSERT SECONDARY (IF ANY) AND ~SD_CS0 -#IF (SD_DEVCNT > 1) + #IF (SD_DEVCNT > 1) OR SD_CS1 + #ENDIF +#ELSE + LD A,(SD_OPRVAL) ; GET CURRENT OPRVAL BACK + OR SD_CS0 #ENDIF +; SD_SELECT2: ; ADJUST BIT(S) FOR INTERFACES USING INVERTED CS BITS #IF ((SDMODE == SDMODE_PPI) | (SDMODE == SDMODE_UART) | (SDMODE == SDMODE_SC)) - #IF (SD_DEVCNT > 1) + #IF ((SDMODE == SDMODE_SC) & (SD_DEVCNT > 1)) XOR SD_CS0 | SD_CS1 #ELSE XOR SD_CS0 @@ -1794,14 +1800,14 @@ SD_DESELECT: #ENDIF ; LD A,(SD_OPRVAL) -#IF (SD_DEVCNT > 1) +#IF ((SDMODE == SDMODE_SC) & (SD_DEVCNT > 1)) AND ~(SD_CS0 | SD_CS1) #ELSE AND ~SD_CS0 #ENDIF ; ADJUST BIT(S) FOR INTERFACES USING INVERTED CS BITS #IF ((SDMODE == SDMODE_PPI) | (SDMODE == SDMODE_UART) | (SDMODE == SDMODE_SC)) - #IF (SD_DEVCNT > 1) + #IF ((SDMODE == SDMODE_SC) & (SD_DEVCNT > 1)) XOR SD_CS0 | SD_CS1 #ELSE XOR SD_CS0 diff --git a/Source/ver.inc b/Source/ver.inc index 5a9f50a1..eff51670 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1.1-pre.137" +#DEFINE BIOSVER "3.1.1-pre.138" diff --git a/Source/ver.lib b/Source/ver.lib index 96a49209..ef0d476e 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 1 rtp equ 0 biosver macro - db "3.1.1-pre.137" + db "3.1.1-pre.138" endm