diff --git a/Source/HBIOS/Makefile b/Source/HBIOS/Makefile index 6a45ea2c..ea32f1c1 100644 --- a/Source/HBIOS/Makefile +++ b/Source/HBIOS/Makefile @@ -3,7 +3,7 @@ ifndef ROM_CONFIG endif ifdef ROM_PLATFORM - OBJECTS = ${ROM_PLATFORM}_${ROM_CONFIG}.rom ${ROM_PLATFORM}_${ROM_CONFIG}.com + OBJECTS = ${ROM_PLATFORM}_${ROM_CONFIG}.rom ${ROM_PLATFORM}_${ROM_CONFIG}.com ${ROM_PLATFORM}_${ROM_CONFIG}.upd else OBJECTS += DYNO_std.rom DYNO_std.com DYNO_std.upd OBJECTS += EZZ80_std.rom EZZ80_std.com EZZ80_std.upd diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index f9b92a2a..0ae34c9e 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -946,7 +946,16 @@ SD_INITCARD3: LD A,$40 ; P0 = $40 INDICATES WE SUPPORT V2 CARDS LD (SD_CMDP0),A ; SET COMMAND PARM 0 CALL SD_EXECCMDND ; EXEC COMMAND W/ NO DATA RETURNED + ;RET NZ ; ABORT ON ERROR + JR Z,SD_INITCARD3AA ; IF GOOD SKIP AHEAD + ; SOME CARDS DON'T SUPPORT ACMD41, SO TRY CMD1 AS ALTERNATIVE + LD A,SD_CMD_SEND_OP_COND ; SD_CMD_SEND_OP_COND + CALL SD_INITCMD ; SETUP COMMAND BUFFER + LD A,$40 ; P0 = $40 INDICATES WE SUPPORT V2 CARDS + LD (SD_CMDP0),A ; SET COMMAND PARM 0 + CALL SD_EXECCMDND ; EXEC COMMAND W/ NO DATA RETURNED RET NZ ; ABORT ON ERROR +SD_INITCARD3AA: ; CHECK FOR IDLE, EXIT LOOP IF IDLE CLEARED LD A,(SD_RC) ; GET CARD RESULT CODE OR A ; SET FLAGS