diff --git a/Source/HBIOS/fd.asm b/Source/HBIOS/fd.asm index f4680b98..f2470378 100644 --- a/Source/HBIOS/fd.asm +++ b/Source/HBIOS/fd.asm @@ -743,9 +743,14 @@ FD_INIT0: ; DOES NOT ATTEMPT TO DETERMINE THE ACTUAL VARIANT. ; FD_DETECT: - IN A,(FDC_MSR) ; IGNORE FIRST READ - CALL DLY32 ; WAIT A BIT FOR FDC + ; BLINDLY RESET FDC (WHICH MAY OR MAY NOT EXIST) + LD A,DOR_INIT ; MAKE SURE INITIAL DOR VALUE IS SETUP + LD (FST_DOR),A ; AND PUT IN SHADOW REGISTER + CALL FC_RESETFDC ; RESET FDC + IN A,(FDC_MSR) ; READ MSR + ;CALL PC_SPACE ; *DEBUG* + ;CALL PRTHEXBYTE ; *DEBUG* CP $80 JR Z,FD_DETECT1 ; $80 IS OK CP $D0 @@ -755,6 +760,8 @@ FD_DETECT: FD_DETECT1: CALL DLY32 ; WAIT A BIT FOR FDC IN A,(FDC_MSR) ; READ MSR AGAIN + ;CALL PC_SPACE ; *DEBUG* + ;CALL PRTHEXBYTE ; *DEBUG* CP $80 RET ; $80 OK, ELSE NOT PRESENT ; @@ -1312,7 +1319,7 @@ FC_SETUPSPECIFY: ; ; SET FST_DOR ; -FC_SETDOR +FC_SETDOR: LD (FST_DOR),A OUT (FDC_DOR),A #IF (FDTRACE >= 3) diff --git a/Source/ver.inc b/Source/ver.inc index ce8c0e8f..07caab2b 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.79" +#DEFINE BIOSVER "3.1.1-pre.80" diff --git a/Source/ver.lib b/Source/ver.lib index 14085a15..bd153311 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.79" + db "3.1.1-pre.80" endm