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/md.asm b/Source/HBIOS/md.asm index 53363889..2a899669 100644 --- a/Source/HBIOS/md.asm +++ b/Source/HBIOS/md.asm @@ -916,6 +916,9 @@ MD_FIDEN_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY ; RET ; MD_I_SZ .EQU $-MD_FIDEN_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED + .ECHO "MD_FIDEN_R occupies " + .ECHO MD_I_SZ + .ECHO " bytes.\n" ; ;====================================================================== ; ERASE FLASH SECTOR. @@ -979,6 +982,9 @@ MD_WT6: EX AF,AF' ; RETURN TO ORIGINAL BANK ; RET ; MD_S_SZ .EQU $-MD_FERAS_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED + .ECHO "MD_FERAS_R occupies " + .ECHO MD_S_SZ + .ECHO " bytes.\n" ; ;====================================================================== ; FLASH READ SECTOR. @@ -1003,14 +1009,16 @@ MD_FREAD_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY LD L,D ; ADDRESS ; EX AF,AF' ; PUT DESTINATION BANK IN AF' - LD A,B ; PUT SOURCE BANK IN AF ; MD_FRD1: + LD A,B ; PUT SOURCE BANK IN AF CALL HBX_BNKSEL ; READ ; SWITCH TO SOURCE BANK LD C,(HL) ; BYTE ; EX AF,AF' ; SELECT BANK ; SWITCH DESTINATION BANK + PUSH AF CALL HBX_BNKSEL ; TO WRITE + POP AF LD (IX+0),C ; WRITE BYTE EX AF,AF' ; ; PUT SOURCE BANK IN AF ; @@ -1024,6 +1032,9 @@ MD_FRD1: RET ; MD_R_SZ .EQU $-MD_FREAD_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED + .ECHO "MD_FREAD_R occupies " + .ECHO MD_R_SZ + .ECHO " bytes.\n" ; ;====================================================================== ; FLASH VERIFY SECTOR. @@ -1054,7 +1065,9 @@ MD_FVE1: LD A,(HL) ; READ BYTE ; EX AF,AF' ; SELECT BANK ; SWITCH TO RAM BANK + PUSH AF CALL HBX_BNKSEL ; TO VERIFY AGAINST + POP AF EX AF,AF' ; SUB (IX+0) ; COMPARE BYTE @@ -1074,6 +1087,9 @@ MD_FVE2: RET ; MD_V_SZ .EQU $-MD_FVERI_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED + .ECHO "MD_FVERI_R occupies " + .ECHO MD_V_SZ + .ECHO " bytes.\n" ; ;====================================================================== ; FLASH WRITE SECTOR. @@ -1097,7 +1113,9 @@ MD_FWRIT_R: ; THIS CODE GETS RELOCATED TO HIGH MEMORY LD L,D ; ADDRESS ; MD_FWRI1: + PUSH AF CALL HBX_BNKSEL ; SELECT BANK TO READ + POP AF EX AF,AF' ; SAVE CURRENT BANK ; LD C,(IX+0) ; READ IN BYTE @@ -1136,6 +1154,9 @@ MD_FW7: LD A,(HL) ; FROM THE SAME FLASH ADDRESS. ; RET ; MD_W_SZ .EQU $-MD_FWRIT_R ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED + .ECHO "MD_FWRIT_R occupies " + .ECHO MD_W_SZ + .ECHO " bytes.\n" ; ;====================================================================== ; diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index f9b92a2a..b8df9f64 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -946,7 +946,11 @@ 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 + ;RET NZ ; ABORT ON ERROR + CP SD_STCMDERR ; COMMAND ERROR? + JR Z,SD_INITCARD3A ; IF SO, TRY MMC CARD INIT + OR A ; SET FLAGS + RET NZ ; ABORT IF ANY OTHER ERROR ; CHECK FOR IDLE, EXIT LOOP IF IDLE CLEARED LD A,(SD_RC) ; GET CARD RESULT CODE OR A ; SET FLAGS @@ -1316,6 +1320,8 @@ SD_INITCMD1: INC HL ; POINT TO NEXT BYTE LD (HL),A ; CLEAR IT DJNZ SD_INITCMD1 ; LOOP TILL DONE + DEC A ; $FF TO ACCUM + LD (SD_CMDCRC),A ; PUT $FF IN CRC POSITION RET ; ; EXECUTE APP COMMAND diff --git a/Source/ver.inc b/Source/ver.inc index c328bb6f..29bea73d 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.24" +#DEFINE BIOSVER "3.1.1-pre.27" diff --git a/Source/ver.lib b/Source/ver.lib index 09a3a0df..b773165e 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.24" + db "3.1.1-pre.27" endm