new ide detecting procedures

This commit is contained in:
Anatoliy Belyanskiy 2023-09-07 22:28:26 +10:00
parent 3acb1a76ff
commit 32b684103d

View File

@ -137,7 +137,9 @@ SS_SECT EQU #3E
ENDM
/////////////////////////////////////////////////////////////////////[v]
START: IN A,(SLOT3)
START: CALL SetUP_CHANELS
;
IN A,(SLOT3)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT3),A
@ -379,17 +381,7 @@ IDESPEC:
LD (IY+IDE.HDD_INIT_TABLE.DriveType),A
CP IDE.Device.CDROM
JP Z,.FOR_CDR
; ;Check write caching
; LD A,(TEMP+85*2) ; !TODO ᤥ« âì ç¥à¥§ áâàãªâãàã. ‚ª«î祭 «¨ ªíè § ¯¨á¨?
; AND %0010'0000
; JR Z,.NoWriteCache
; ;Disable write caching
; LD BC,IDE.Write.Features
; LD A,IDE.ATA.SetFeatures.DisableWriteCache
; OUT (C),A
; LD A,IDE.ATA.SetFeatures
; CALL IDE_CMD
; .NoWriteCache:
;
LD BC,IDE.Read.Control
IN A,(C)
AND #F0
@ -721,8 +713,12 @@ DETECTORS:
.NOP_Check: LD E,IDE.ATA.Nop
LD BC,IDE.Write.Command
OUT (C),E
DEC B ; LD BC, IDE.Read.Status
PAUSE_DJNZ 0
LD HL,PAUSES.HALT.SMALL
LD BC,IDE.Read.Status
;DEC B
;
.loop: IN A,(C)
SCF
@ -821,6 +817,32 @@ DETECTORS:
/////////////////////////////////////////////////////////////////////[^]
/////////////////////////////////////////////////////////////////////[v]
SetUP_CHANELS:
LD A,1
CALL .CMD
LD A,3
CALL .CMD
LD A,0
CALL .CMD
LD A,2
.CMD: CALL SELECT_IDE
LD BC,IDE.Write.Command
LD H,IDE.ATA.Nop
OUT (C),H
PAUSE_DJNZ 32
; Disable INTRQ
; LD BC,IDE.Write.DeviceControl
; LD A,%0000'0010
; OUT (C),A
; PAUSE_DJNZ 32
; ;
; CALL DisableStandBy
; PAUSE_DJNZ 32
RET
/////////////////////////////////////////////////////////////////////[^]
/////////////////////////////////////////////////////////////////////[v]
; DisableWriteCache:
; LD BC,IDE.Write.Features