Browse Source

Improved SD Error Messaging

Convert SD error to NO MEDIA when initial command fails.
pull/48/head
Wayne Warthen 7 years ago
parent
commit
dcc1bd8cb7
  1. 1
      Doc/ChangeLog.txt
  2. 14
      Source/HBIOS/sd.asm

1
Doc/ChangeLog.txt

@ -3,6 +3,7 @@ Version 2.9.2
- PMS: Fixed DS1210-related issue resulting in "Invalid BIOS" errors
- SCC: Support for SC126 motherboard
- WBW: Enable Auto-CTS/DCD in SIO driver for pacing output data
- WBW: Support missing pull-up resistors in SD driver (a common occurence)
Version 2.9.1
-------------

14
Source/HBIOS/sd.asm

@ -756,12 +756,6 @@ SD_GEOM:
; (RE)INITIALIZE CARD
;
SD_INITCARD:
;
;; CLEAR OUT UNIT SPECIFIC DATA
;SD_DPTR(0) ; SET HL TO START OF UNIT DATA
;LD BC,SD_UNITDATALEN
;XOR A
;CALL FILL
;
CALL SD_CHKCD ; CHECK CARD DETECT
JP Z,SD_NOMEDIA ; Z=NO MEDIA, HANDLE IF SO
@ -777,7 +771,7 @@ SD_INITCARD1:
;
; PUT CARD IN IDLE STATE
CALL SD_GOIDLE ; GO TO IDLE
RET NZ ; ABORT IF FAILED
JP NZ,SD_NOMEDIA ; CONVERT ERROR TO NO MEDIA
;
SD_INITCARD2:
LD (IY+SD_TYPE),SD_TYPESDSC ; ASSUME SDSC CARD TYPE
@ -1155,13 +1149,11 @@ SD_GOIDLE1:
LD A,$95 ; CRC FOR GO_IDLE_STATE COMMAND IS $95
LD (SD_CMDCRC),A ; SET CRC
CALL SD_EXECCMDND ; EXECUTE COMMAND W/ NO DATA RETURNED
RET NZ ; ABORT ON ERROR
LD A,(SD_RC) ; GET CARD RESULT
DEC A ; MAP EXPECTED $01 -> $00
RET Z ; ALL IS GOOD, RETURN WITH Z=0 AND Z SET
LD A,SD_STCMDERR ; SET COMMAND ERROR VALUE, NZ ALREADY SET
RET ; AND RETURN
RET Z ; ALL IS GOOD, RETURN WITH A=0 AND Z SET
JP SD_ERRCMD ; SET COMMAND ERROR VALUE
;
; INITIALIZE COMMAND BUFFER
; COMMAND BYTE IN ACCUM

Loading…
Cancel
Save