...
This commit is contained in:
parent
1f3a3f2192
commit
1acf5f9a6a
@ -1 +1 @@
|
|||||||
Subproject commit 2facbb273ecfd873a5bb622c8c405cc9880a39e5
|
Subproject commit 5aa6ffff2b5879e26a8ccf0925c18223c76da539
|
||||||
@ -132,7 +132,7 @@ AP_COM: AND #01
|
|||||||
LD A,#A0
|
LD A,#A0
|
||||||
JR Z,.APCOM1
|
JR Z,.APCOM1
|
||||||
LD A,#B0
|
LD A,#B0
|
||||||
.APCOM1 LD BC,IDE.Write.DriveCtrl
|
.APCOM1 LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A ;SELECT DRIVE
|
OUT (C),A ;SELECT DRIVE
|
||||||
EXX
|
EXX
|
||||||
LD DE,#8000
|
LD DE,#8000
|
||||||
@ -175,7 +175,7 @@ AP_COM: AND #01
|
|||||||
EXX
|
EXX
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
XOR A
|
XOR A
|
||||||
LD BC,IDE.Write.Error
|
LD BC,IDE.Write.Features
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD DE,SIZESEC ;SIZE BLOCK
|
LD DE,SIZESEC ;SIZE BLOCK
|
||||||
LD BC,IDE.Write.CylinderLow
|
LD BC,IDE.Write.CylinderLow
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
/*
|
/*
|
||||||
;Write
|
;Write
|
||||||
IDE.Write.Command EQU #4153 ; #1F7 Command
|
IDE.Write.Command EQU #4153 ; #1F7 Command
|
||||||
IDE.Write.DriveCtrl EQU #4152 ; #1F6 Drive Control
|
IDE.Write.DeviceHead EQU #4152 ; #1F6 Drive Control
|
||||||
|
|
||||||
HDW_CLH EQU #0155 ; #1F5 Cylinder High
|
HDW_CLH EQU #0155 ; #1F5 Cylinder High
|
||||||
HDW_CLL EQU #0154 ; #1F4 Cylinder Low
|
HDW_CLL EQU #0154 ; #1F4 Cylinder Low
|
||||||
@ -122,7 +122,7 @@ SELCHAN:
|
|||||||
CP IDE.Device.HDD ;!FIXIT ¢®§¬®¦®, åॠ¥ 㦮, ¯®â®¬ã-çâ® ¥á«¨ CD, â® ¯à¨«¥â¨â ¢ ¤à ©¢¥à CD
|
CP IDE.Device.HDD ;!FIXIT ¢®§¬®¦®, åॠ¥ 㦮, ¯®â®¬ã-çâ® ¥á«¨ CD, â® ¯à¨«¥â¨â ¢ ¤à ©¢¥à CD
|
||||||
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
||||||
OUT (C),B ;¢®§¢à â áâà ¨æë
|
OUT (C),B ;¢®§¢à â áâà ¨æë
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
RES 0,A
|
RES 0,A
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
EXX
|
EXX
|
||||||
@ -595,7 +595,7 @@ PRESET: LD A,B
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
;!TEST
|
;!TEST
|
||||||
;BIT 6,A ;¡¨â CHS/LBA ;!FIXIT ᤥ« âì ¬¥âª ¬¨ ®¬¥à ¡¨â
|
;BIT 6,A ;¡¨â CHS/LBA ;!FIXIT ᤥ« âì ¬¥âª ¬¨ ®¬¥à ¡¨â
|
||||||
@ -615,7 +615,7 @@ PRESET: LD A,B
|
|||||||
IN A,(C)
|
IN A,(C)
|
||||||
AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask
|
AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask
|
||||||
OR H ;LBA 24..27
|
OR H ;LBA 24..27
|
||||||
INC B ; LD BC,IDE.Write.DriveCtrl
|
INC B ; LD BC,IDE.Write.DeviceHead
|
||||||
ELSE
|
ELSE
|
||||||
LD BC,IDE.Write.CylinderLow
|
LD BC,IDE.Write.CylinderLow
|
||||||
OUT (C),D ;LBA 8..15
|
OUT (C),D ;LBA 8..15
|
||||||
@ -625,7 +625,7 @@ PRESET: LD A,B
|
|||||||
IN A,(C)
|
IN A,(C)
|
||||||
AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask
|
AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask
|
||||||
OR H ;LBA 24..27
|
OR H ;LBA 24..27
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
ENDIF
|
ENDIF
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|||||||
@ -56,7 +56,7 @@ HD_PREPARE:
|
|||||||
IN A,(C)
|
IN A,(C)
|
||||||
AND #F0 ; !!!!! ¯®á¬®âà¥âì
|
AND #F0 ; !!!!! ¯®á¬®âà¥âì
|
||||||
OR H
|
OR H
|
||||||
INC B ; IDE.Write.DriveCtrl
|
INC B ; IDE.Write.DeviceHead
|
||||||
|
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ NEXT_ADD_SEC:
|
|||||||
AND #F0
|
AND #F0
|
||||||
OR E
|
OR E
|
||||||
INC B
|
INC B
|
||||||
OUT (C),A ; ????? HEADS?! IDE.Write.DriveCtrl
|
OUT (C),A ; ????? HEADS?! IDE.Write.DeviceHead
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
@ -329,7 +329,7 @@ HD_WR_LOOP:
|
|||||||
|
|
||||||
FN_HDD_RECAL:
|
FN_HDD_RECAL:
|
||||||
LD A,#A0
|
LD A,#A0
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,IDE.ATA.ExecuteDeviceDiagnostic
|
LD A,IDE.ATA.ExecuteDeviceDiagnostic
|
||||||
CALL HD_CMD_EXE
|
CALL HD_CMD_EXE
|
||||||
@ -353,7 +353,7 @@ FN_HDD_RECAL:
|
|||||||
|
|
||||||
FN_HDD_TEST_IDE:
|
FN_HDD_TEST_IDE:
|
||||||
LD E,#00
|
LD E,#00
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
LD A,#A0 ; !!!!! £«ïãâì
|
LD A,#A0 ; !!!!! £«ïãâì
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
@ -362,7 +362,7 @@ FN_HDD_TEST_IDE:
|
|||||||
JR NZ,NO_HDD1
|
JR NZ,NO_HDD1
|
||||||
SET 0,E
|
SET 0,E
|
||||||
NO_HDD1:
|
NO_HDD1:
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
LD A,#B0 ; !!!!! £«ïãâì
|
LD A,#B0 ; !!!!! £«ïãâì
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
@ -442,7 +442,7 @@ TEST_HDD_DRV:
|
|||||||
|
|
||||||
|
|
||||||
FN_HDD_INIT:
|
FN_HDD_INIT:
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
LD A,#A0
|
LD A,#A0
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
CALL TEST_HDD_DRV
|
CALL TEST_HDD_DRV
|
||||||
@ -461,7 +461,7 @@ HD_C0_L3:
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
HD_ABSENT:
|
HD_ABSENT:
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
LD A,#B0 ; !HARDCODE
|
LD A,#B0 ; !HARDCODE
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
CALL TEST_HDD_DRV
|
CALL TEST_HDD_DRV
|
||||||
@ -509,7 +509,7 @@ HD_C0_L2:
|
|||||||
SET 6,H
|
SET 6,H
|
||||||
|
|
||||||
HD_C0_NO_LBA:
|
HD_C0_NO_LBA:
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),H
|
OUT (C),H
|
||||||
|
|
||||||
LD A,(SYS_PAGE.HD_IDF_ADR.sectors) ; ç¨á«® ᥪâ®à®¢
|
LD A,(SYS_PAGE.HD_IDF_ADR.sectors) ; ç¨á«® ᥪâ®à®¢
|
||||||
@ -573,7 +573,7 @@ HD_CALC_SECS:
|
|||||||
RET NZ ; ®è¨¡ª , ᫨誮¬ ¡®«ì让 HDD
|
RET NZ ; ®è¨¡ª , ᫨誮¬ ¡®«ì让 HDD
|
||||||
|
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
DEC B
|
DEC B
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
BIT 6,A
|
BIT 6,A
|
||||||
|
|||||||
@ -127,7 +127,7 @@ SELECT_IDE:
|
|||||||
XOR A
|
XOR A
|
||||||
.AUTO: LD (ICHANEL),A
|
.AUTO: LD (ICHANEL),A
|
||||||
;R01
|
;R01
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),D
|
OUT (C),D
|
||||||
;
|
;
|
||||||
RET
|
RET
|
||||||
@ -138,7 +138,7 @@ IDEAUTO:
|
|||||||
LD (IDEDEV),A
|
LD (IDEDEV),A
|
||||||
CDMASTR:
|
CDMASTR:
|
||||||
LD (SKIP),A
|
LD (SKIP),A
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),D
|
OUT (C),D
|
||||||
DEC B
|
DEC B
|
||||||
INC C ; LD BC,IDE.Read.Status
|
INC C ; LD BC,IDE.Read.Status
|
||||||
@ -339,7 +339,7 @@ IDESPEC:
|
|||||||
JR Z,NONLBA
|
JR Z,NONLBA
|
||||||
SET 6,B
|
SET 6,B
|
||||||
NONLBA: LD A,B
|
NONLBA: LD A,B
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask
|
AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask
|
||||||
LD HL,ICHANEL
|
LD HL,ICHANEL
|
||||||
|
|||||||
@ -1293,7 +1293,7 @@ SETUPD2:
|
|||||||
CALL READCMS
|
CALL READCMS
|
||||||
LD (TEMP+#0C),A ; !TODO ᤥ« âì ç¥à¥§ áâàãªâãàã. SECTOR PER TRACK
|
LD (TEMP+#0C),A ; !TODO ᤥ« âì ç¥à¥§ áâàãªâãàã. SECTOR PER TRACK
|
||||||
LD A,#A0
|
LD A,#A0
|
||||||
LD BC,IDE.Write.DriveCtrl
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,IDE.Device.HDD
|
LD A,IDE.Device.HDD
|
||||||
LD (IDEDEV),A
|
LD (IDEDEV),A
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user