Browse Source

- Improve PPIDE Device Detection

- Some PPI chips were falsely detecting the presence of an IDE device.  Added code to preset PPI register with a value that avoids false positives.
work v3.5.0-dev.62
Wayne Warthen 2 years ago
parent
commit
83d26a4faf
  1. BIN
      Doc/RomWBW ROM Applications.pdf
  2. 12
      Source/Doc/Build.cmd
  3. 7
      Source/HBIOS/ppide.asm
  4. 2
      Source/ver.inc
  5. 2
      Source/ver.lib

BIN
Doc/RomWBW ROM Applications.pdf

Binary file not shown.

12
Source/Doc/Build.cmd

@ -11,12 +11,12 @@ set PATH=%TOOLS%\gpp;%PATH%
if not "%1"=="" (call :GenDoc %1 & goto :eof) if not "%1"=="" (call :GenDoc %1 & goto :eof)
call :GenDoc ReadMe
call :GenDoc UserGuide
call :GenDoc SystemGuide
call :GenDoc Applications
call :GenDoc Catalog
call :GenDoc Errata
call :GenDoc ReadMe || exit /b
call :GenDoc UserGuide || exit /b
call :GenDoc SystemGuide || exit /b
call :GenDoc Applications || exit /b
call :GenDoc Catalog || exit /b
call :GenDoc Errata || exit /b
if exist ReadMe.gfm copy Readme.gfm ..\..\ReadMe.md || exit /b if exist ReadMe.gfm copy Readme.gfm ..\..\ReadMe.md || exit /b
if exist ReadMe.txt copy ReadMe.txt ..\..\ReadMe.txt || exit /b if exist ReadMe.txt copy ReadMe.txt ..\..\ReadMe.txt || exit /b

7
Source/HBIOS/ppide.asm

@ -1507,6 +1507,13 @@ PPIDE_PROBE:
; WAIT FOR THE DEVICE TO BE READY. THIS WAIT IS MANDATORY BECAUSE ; WAIT FOR THE DEVICE TO BE READY. THIS WAIT IS MANDATORY BECAUSE
; SOME (IF NOT ALL) DEVICES WILL NOT PERSIST REGISTER VALUES UNTIL ; SOME (IF NOT ALL) DEVICES WILL NOT PERSIST REGISTER VALUES UNTIL
; THE DRIVE IS READY. ; THE DRIVE IS READY.
;
; FIRST, WRITE A $7F VALUE TO THE PPIDE STATUS REGISTER. IF
; AN IDE DEVICE EXISTS, THIS WILL DO NO HARM. IF NOT, THIS
; WILL HELP AVOID A FALSE POSITIVE (STALL).
LD A,$7F
CALL PPIDE_OUT
.DB PPIDE_REG_DATA
; ;
CALL PPIDE_IN CALL PPIDE_IN
.DB PPIDE_REG_STAT .DB PPIDE_REG_STAT

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 5 #DEFINE RMN 5
#DEFINE RUP 0 #DEFINE RUP 0
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.5.0-dev.61"
#DEFINE BIOSVER "3.5.0-dev.62"
#define rmj RMJ #define rmj RMJ
#define rmn RMN #define rmn RMN
#define rup RUP #define rup RUP

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 5
rup equ 0 rup equ 0
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.5.0-dev.61"
db "3.5.0-dev.62"
endm endm

Loading…
Cancel
Save