Browse Source

FDC Detection Improvement

- Some FDC modules startup with the FDC reset signal active.  This fix ensures that reset is not asserted when FDC hardware prove is performed.
pull/201/head
Wayne Warthen 5 years ago
parent
commit
8e4ea799af
  1. 13
      Source/HBIOS/fd.asm
  2. 2
      Source/ver.inc
  3. 2
      Source/ver.lib

13
Source/HBIOS/fd.asm

@ -743,9 +743,14 @@ FD_INIT0:
; DOES NOT ATTEMPT TO DETERMINE THE ACTUAL VARIANT. ; DOES NOT ATTEMPT TO DETERMINE THE ACTUAL VARIANT.
; ;
FD_DETECT: 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 IN A,(FDC_MSR) ; READ MSR
;CALL PC_SPACE ; *DEBUG*
;CALL PRTHEXBYTE ; *DEBUG*
CP $80 CP $80
JR Z,FD_DETECT1 ; $80 IS OK JR Z,FD_DETECT1 ; $80 IS OK
CP $D0 CP $D0
@ -755,6 +760,8 @@ FD_DETECT:
FD_DETECT1: FD_DETECT1:
CALL DLY32 ; WAIT A BIT FOR FDC CALL DLY32 ; WAIT A BIT FOR FDC
IN A,(FDC_MSR) ; READ MSR AGAIN IN A,(FDC_MSR) ; READ MSR AGAIN
;CALL PC_SPACE ; *DEBUG*
;CALL PRTHEXBYTE ; *DEBUG*
CP $80 CP $80
RET ; $80 OK, ELSE NOT PRESENT RET ; $80 OK, ELSE NOT PRESENT
; ;
@ -1312,7 +1319,7 @@ FC_SETUPSPECIFY:
; ;
; SET FST_DOR ; SET FST_DOR
; ;
FC_SETDOR
FC_SETDOR:
LD (FST_DOR),A LD (FST_DOR),A
OUT (FDC_DOR),A OUT (FDC_DOR),A
#IF (FDTRACE >= 3) #IF (FDTRACE >= 3)

2
Source/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 1 #DEFINE RMN 1
#DEFINE RUP 1 #DEFINE RUP 1
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.79"
#DEFINE BIOSVER "3.1.1-pre.80"

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 1
rup equ 1 rup equ 1
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.1.1-pre.79"
db "3.1.1-pre.80"
endm endm

Loading…
Cancel
Save