Ещё попытка починить первый заход на ZIP
This commit is contained in:
parent
90bb74daac
commit
8e8d43a9d5
@ -1 +1 @@
|
|||||||
Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a
|
Subproject commit 60b5ff6a74b57614b1f54fbe5611585cd46582ab
|
||||||
@ -23,13 +23,15 @@
|
|||||||
LUA PASS1
|
LUA PASS1
|
||||||
local date, month, year = Get_date_RU(sj.get_define("__DATE__"))
|
local date, month, year = Get_date_RU(sj.get_define("__DATE__"))
|
||||||
BuildDate = "'" .. date .. "." .. month .. "." .. year .. "'"
|
BuildDate = "'" .. date .. "." .. month .. "." .. year .. "'"
|
||||||
|
BuildYear = "'" .. year .. "'"
|
||||||
sj.insert_define("BUILD_DATE", BuildDate)
|
sj.insert_define("BUILD_DATE", BuildDate)
|
||||||
|
sj.insert_define("BUILD_YEAR", BuildYear)
|
||||||
ENDLUA
|
ENDLUA
|
||||||
LUA ALLPASS
|
LUA ALLPASS
|
||||||
sj.insert_define("BUILD_DATE", BuildDate)
|
sj.insert_define("BUILD_DATE", BuildDate)
|
||||||
|
sj.insert_define("BUILD_YEAR", BuildYear)
|
||||||
ENDLUA
|
ENDLUA
|
||||||
|
|
||||||
|
|
||||||
IF PACKED_MAIN
|
IF PACKED_MAIN
|
||||||
;------------[MAIN prebuild]------------;
|
;------------[MAIN prebuild]------------;
|
||||||
LUA PASS1
|
LUA PASS1
|
||||||
|
|||||||
@ -413,13 +413,14 @@ ATAPI_CHECK_MEDIA_CHANGED:
|
|||||||
RRA
|
RRA
|
||||||
LD A,BIOS.Error.ATAPI.UnitAttention
|
LD A,BIOS.Error.ATAPI.UnitAttention
|
||||||
RET
|
RET
|
||||||
;
|
;----------------------------------------------------------------------;
|
||||||
.noWait: EXX
|
|
||||||
|
;[ ] media changed
|
||||||
|
;----------------------------------------------------------------------;
|
||||||
|
ATAPI_CHECK_ERROR:
|
||||||
CALL ATAPI_GET_ERROR_REG
|
CALL ATAPI_GET_ERROR_REG
|
||||||
EXX
|
;CP BIOS.Error.ATAPI.NoSence
|
||||||
CP BIOS.Error.ATAPI.NoSence
|
;JP Z,ATAPI_MEDIA_ERROR
|
||||||
JP Z,ATAPI_MEDIA_ERROR
|
|
||||||
; !FIXIT ᪮॥ ¢á¥£® ¦¥«¥§® âãâ ¢ë¤ á⠢ᥣ¤ Error.ATAPI.NoSence
|
|
||||||
CP BIOS.Error.ATAPI.NotReady
|
CP BIOS.Error.ATAPI.NotReady
|
||||||
JP Z,ATAPI_MEDIA_ERROR
|
JP Z,ATAPI_MEDIA_ERROR
|
||||||
CP BIOS.Error.ATAPI.UnitAttention
|
CP BIOS.Error.ATAPI.UnitAttention
|
||||||
@ -491,7 +492,7 @@ EXEC_PACKET_COMMAND:
|
|||||||
JR NC,.READY
|
JR NC,.READY
|
||||||
;
|
;
|
||||||
.reset: LD BC,IDE.Write.Command
|
.reset: LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATAPI.Reset
|
LD A,IDE.CMD.ATAPI.Reset
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
;
|
;
|
||||||
LD B,#80
|
LD B,#80
|
||||||
@ -528,7 +529,7 @@ EXEC_PACKET_COMMAND:
|
|||||||
LD BC,IDE.Write.ByteCountHigh
|
LD BC,IDE.Write.ByteCountHigh
|
||||||
OUT (C),D
|
OUT (C),D
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATAPI.Packet
|
LD A,IDE.CMD.ATAPI.Packet
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD C,H ; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª á¬¥ë ®á¨â¥«ï ¤®«¦ ®¡à ¡ âë¢ âìáï ¢ EXEC_PACKET_COMMAND
|
LD C,H ; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª á¬¥ë ®á¨â¥«ï ¤®«¦ ®¡à ¡ âë¢ âìáï ¢ EXEC_PACKET_COMMAND
|
||||||
CALL ATAPI_WAITPRT
|
CALL ATAPI_WAITPRT
|
||||||
@ -592,7 +593,7 @@ EXEC_PACKET_COMMAND:
|
|||||||
EXX
|
EXX
|
||||||
RET Z ; ¢ë室, ¥á«¨ ®è¨¡ª ®¡à ¡ âë¢ ¥âáï ¥ ¢ EXEC_PACKET_COMMAND
|
RET Z ; ¢ë室, ¥á«¨ ®è¨¡ª ®¡à ¡ âë¢ ¥âáï ¥ ¢ EXEC_PACKET_COMMAND
|
||||||
;
|
;
|
||||||
JP ATAPI_CHECK_MEDIA_CHANGED.noWait
|
JP ATAPI_CHECK_ERROR
|
||||||
;====== IF DATA REQUEST ===============================================;
|
;====== IF DATA REQUEST ===============================================;
|
||||||
.data_request: IN A,(SLOT3)
|
.data_request: IN A,(SLOT3)
|
||||||
EX AF,AF' ;>-----------> \
|
EX AF,AF' ;>-----------> \
|
||||||
@ -743,13 +744,16 @@ ATAPI_READ_CAPACITY_DATA:
|
|||||||
CP BIOS.Error.ATAPI.NotReady
|
CP BIOS.Error.ATAPI.NotReady
|
||||||
SCF
|
SCF
|
||||||
RET NZ
|
RET NZ
|
||||||
|
;
|
||||||
|
PUSH BC
|
||||||
CALL ATAPI_MEDIA_ERROR
|
CALL ATAPI_MEDIA_ERROR
|
||||||
CP BIOS.Error.ATAPI.NotReady
|
CP BIOS.Error.ATAPI.NotReady
|
||||||
SCF
|
SCF
|
||||||
|
POP BC
|
||||||
RET NZ
|
RET NZ
|
||||||
;
|
;
|
||||||
CPI
|
CPI
|
||||||
RET PO
|
RET PO ;áçñâ稪
|
||||||
;
|
;
|
||||||
LD HL,0
|
LD HL,0
|
||||||
.pause: DEC HL
|
.pause: DEC HL
|
||||||
@ -779,21 +783,24 @@ ATAPI_MEDIA_ERROR:
|
|||||||
LD DE,SYS_PAGE.SHARED_BUFFER_256b
|
LD DE,SYS_PAGE.SHARED_BUFFER_256b
|
||||||
CALL ATAPI_REQUEST_SENSE.FN
|
CALL ATAPI_REQUEST_SENSE.FN
|
||||||
;
|
;
|
||||||
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 2) ; SenceKey. 06 - UNIT ATTENTION
|
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 2) ; SenceKey
|
||||||
CP 2 ; SenceKey. 02 - NOT READY
|
CP 2 ; NOT READY
|
||||||
JR Z,.Not_Ready
|
JR Z,.Not_Ready
|
||||||
CP 6
|
CP 6 ; UNIT ATTENTION
|
||||||
JR NZ,.unkn_error
|
JR NZ,.unkn_error
|
||||||
;
|
;
|
||||||
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 12) ; AdditionalSenceKey. #28
|
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 12) ; AdditionalSenceKey
|
||||||
CP #28
|
CP #28 ; NOT READY TO READY TRANSITION
|
||||||
JR NZ,.unkn_error
|
JR Z,.MedCh3
|
||||||
|
CP #29 ; POWER ON, RESET OR BUS DEVICE RESET OCCURRED
|
||||||
|
JR Z,.MedChanged
|
||||||
|
JR .unkn_error
|
||||||
;
|
;
|
||||||
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 13) ; AdditionalSenseCodeQualifier. 0
|
.MedCh3: LD A,(SYS_PAGE.SHARED_BUFFER_256b + 13) ; AdditionalSenseCodeQualifier. 0
|
||||||
AND A
|
AND A
|
||||||
JR NZ,.unkn_error
|
JR NZ,.unkn_error
|
||||||
;
|
;
|
||||||
LD A,(IY + IDE.HDD_INIT_TABLE.MediaParameters)
|
.MedChanged: LD A,(IY + IDE.HDD_INIT_TABLE.MediaParameters)
|
||||||
OR %0000'0011
|
OR %0000'0011
|
||||||
LD (IY + IDE.HDD_INIT_TABLE.MediaParameters),A
|
LD (IY + IDE.HDD_INIT_TABLE.MediaParameters),A
|
||||||
;
|
;
|
||||||
@ -826,11 +833,15 @@ ATAPI_MEDIA_ERROR:
|
|||||||
;
|
;
|
||||||
.Not_Ready: LD A,(SYS_PAGE.SHARED_BUFFER_256b + 12) ; AdditionalSenceKey
|
.Not_Ready: LD A,(SYS_PAGE.SHARED_BUFFER_256b + 12) ; AdditionalSenceKey
|
||||||
LD C,BIOS.Error.ATAPI.MediumError ; ¥â ®á¨â¥«ï
|
LD C,BIOS.Error.ATAPI.MediumError ; ¥â ®á¨â¥«ï
|
||||||
|
;!TODO
|
||||||
|
; 06,00 - NO REFERENCE POSITION FOUND (media may be upside down)
|
||||||
|
; 3A - MEDIUM NOT PRESENT
|
||||||
|
;
|
||||||
CP 4
|
CP 4
|
||||||
JR NZ,.exit
|
JR NZ,.exit
|
||||||
; [ ] !(test for ZIP)
|
; [ ] !(test for ZIP)
|
||||||
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 13) ; AdditionalSenseCodeQualifier
|
LD A,(SYS_PAGE.SHARED_BUFFER_256b + 13) ; AdditionalSenseCodeQualifier
|
||||||
CP 1
|
CP 1 ; LOGICAL DRIVE NOT READY - IN PROGRESS OF BECOMING READY
|
||||||
JR NZ,.exit
|
JR NZ,.exit
|
||||||
;
|
;
|
||||||
; ¨¤ñâ ¨¨æ¨ «¨§ æ¨ï
|
; ¨¤ñâ ¨¨æ¨ «¨§ æ¨ï
|
||||||
|
|||||||
@ -353,10 +353,10 @@ RW_ATA_SECTORs: LD C,IDE.Device.HDD
|
|||||||
LD XL,0
|
LD XL,0
|
||||||
LD XH,A
|
LD XH,A
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.WriteSectorsWithRetry
|
LD A,IDE.CMD.ATA.WriteSectorsWithRetry
|
||||||
JR C,.set_command ; CF = r/w
|
JR C,.set_command ; CF = r/w
|
||||||
;
|
;
|
||||||
LD A,IDE.ATA.ReadSectorsWithRetry
|
LD A,IDE.CMD.ATA.ReadSectorsWithRetry
|
||||||
.set_command: OUT (C),A
|
.set_command: OUT (C),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
EXX
|
EXX
|
||||||
@ -455,7 +455,7 @@ WRITE_ATA_SECTORs:
|
|||||||
LD XL,0
|
LD XL,0
|
||||||
LD XH,A
|
LD XH,A
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.WriteSectorsWithRetry
|
LD A,IDE.CMD.ATA.WriteSectorsWithRetry
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
; SAVE HL?!
|
; SAVE HL?!
|
||||||
EXX
|
EXX
|
||||||
@ -547,7 +547,7 @@ ATA_5x_VERIFY: PUSH IY
|
|||||||
CALL PRESET
|
CALL PRESET
|
||||||
POP HL
|
POP HL
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.ReadVerifySectorsWithRetry
|
LD A,IDE.CMD.ATA.ReadVerifySectorsWithRetry
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
|
|||||||
@ -228,7 +228,7 @@ FN_HDD_PREPARE: ;
|
|||||||
|
|
||||||
.SetCommand:
|
.SetCommand:
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.ReadSectorsWithRetry
|
LD A,IDE.CMD.ATA.ReadSectorsWithRetry
|
||||||
; OUT (C),A
|
; OUT (C),A
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
@ -276,7 +276,7 @@ FN_HDD_READ:
|
|||||||
SAFE_PORTY
|
SAFE_PORTY
|
||||||
;
|
;
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.ReadSectorsWithRetry
|
LD A,IDE.CMD.ATA.ReadSectorsWithRetry
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
.L2: WAIT_HDD
|
.L2: WAIT_HDD
|
||||||
;BIT IDE.CtrlBit.DataRequest,A
|
;BIT IDE.CtrlBit.DataRequest,A
|
||||||
@ -348,7 +348,7 @@ FN_HDD_WRITE:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.WriteSectorsWithRetry
|
LD A,IDE.CMD.ATA.WriteSectorsWithRetry
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
|
|
||||||
HD_WR_L2:
|
HD_WR_L2:
|
||||||
@ -387,7 +387,7 @@ FN_HDD_RECAL:
|
|||||||
LD A,IDE.Drive.Master
|
LD A,IDE.Drive.Master
|
||||||
LD BC,IDE.Write.DeviceHead
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,IDE.ATA.ExecuteDeviceDiagnostic
|
LD A,IDE.CMD.ATA.ExecuteDeviceDiagnostic
|
||||||
CALL HD_CMD_EXE
|
CALL HD_CMD_EXE
|
||||||
;AND A
|
;AND A
|
||||||
CP IDE.CtrlByte.Error
|
CP IDE.CtrlByte.Error
|
||||||
@ -624,7 +624,7 @@ FN_HDD_INIT:
|
|||||||
;
|
;
|
||||||
.L3: WAIT_HDD
|
.L3: WAIT_HDD
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATA.IdentifyDevice ;!FIXIT ¯¥à¥¤¥« âì
|
LD A,IDE.CMD.ATA.IdentifyDevice ;!FIXIT ¯¥à¥¤¥« âì
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
WAIT_HDD
|
WAIT_HDD
|
||||||
AND IDE.CtrlByte.DataRequest
|
AND IDE.CtrlByte.DataRequest
|
||||||
@ -690,7 +690,7 @@ FN_HDD_INIT:
|
|||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,D
|
LD A,D
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,IDE.ATA.InitializeDeviceParameters ; SET HDD PARAMETERS
|
LD A,IDE.CMD.ATA.InitializeDeviceParameters ; SET HDD PARAMETERS
|
||||||
;CALL HD_CMD_EXE
|
;CALL HD_CMD_EXE
|
||||||
;RET
|
;RET
|
||||||
HD_CMD_EXE:
|
HD_CMD_EXE:
|
||||||
|
|||||||
@ -456,7 +456,7 @@ PIC_FN8:
|
|||||||
|
|
||||||
;**************************************************
|
;**************************************************
|
||||||
; ‚뢮¤ á¯à ©â íªà
|
; ‚뢮¤ á¯à ©â íªà
|
||||||
; HL - £®à¨§®â «ì, dE - ¢¥à⨪ «ì
|
; HL - £®à¨§®â «ì, DE - ¢¥à⨪ «ì
|
||||||
; A',HL' - ¤à¥á ¤ ëå
|
; A',HL' - ¤à¥á ¤ ëå
|
||||||
PIC_FN9:
|
PIC_FN9:
|
||||||
|
|
||||||
@ -577,7 +577,7 @@ GENERATE_PAL1: XOR A
|
|||||||
JR Z,.PP_NO2
|
JR Z,.PP_NO2
|
||||||
LD L,A
|
LD L,A
|
||||||
.PP_NO2: BIT 2,E ; GREEN
|
.PP_NO2: BIT 2,E ; GREEN
|
||||||
JR Z,.PP_NO3
|
JR Z,.PP_NO6 ;JR Z,.PP_NO3
|
||||||
LD B,A
|
LD B,A
|
||||||
.PP_NO3: JR .PP_NO6
|
.PP_NO3: JR .PP_NO6
|
||||||
;
|
;
|
||||||
|
|||||||
@ -577,7 +577,7 @@ GENERATE_PAL1: XOR A
|
|||||||
JR Z,.PP_NO2
|
JR Z,.PP_NO2
|
||||||
LD L,A
|
LD L,A
|
||||||
.PP_NO2: BIT 2,E ; GREEN
|
.PP_NO2: BIT 2,E ; GREEN
|
||||||
JR Z,.PP_NO3
|
JR Z,.PP_NO6
|
||||||
LD B,A
|
LD B,A
|
||||||
.PP_NO3: JR .PP_NO6
|
.PP_NO3: JR .PP_NO6
|
||||||
;
|
;
|
||||||
|
|||||||
@ -128,7 +128,7 @@ WAIT:
|
|||||||
; SS_SECT EQU #3E
|
; SS_SECT EQU #3E
|
||||||
|
|
||||||
MACRO PAUSE_DJNZ num
|
MACRO PAUSE_DJNZ num
|
||||||
IF num<255
|
IF num<256
|
||||||
LD B,num
|
LD B,num
|
||||||
.loop: DJNZ .loop
|
.loop: DJNZ .loop
|
||||||
ELSE
|
ELSE
|
||||||
@ -304,7 +304,7 @@ AUTODETECTING: CALL DETECTORS.CheckChanel
|
|||||||
;
|
;
|
||||||
.IDE_ABSENT: LD A,IDE.Device.NONE
|
.IDE_ABSENT: LD A,IDE.Device.NONE
|
||||||
LD (IDEDEV),A
|
LD (IDEDEV),A
|
||||||
LD A,IDE.ATA.Nop
|
LD A,IDE.CMD.ATA.Nop
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
DEC B
|
DEC B
|
||||||
@ -415,7 +415,7 @@ IDESPEC: IN A,(SLOT3)
|
|||||||
LD BC,IDE.Write.Counter
|
LD BC,IDE.Write.Counter
|
||||||
ENDIF
|
ENDIF
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,IDE.ATA.InitializeDeviceParameters
|
LD A,IDE.CMD.ATA.InitializeDeviceParameters
|
||||||
CALL IDE_CMD
|
CALL IDE_CMD
|
||||||
LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerTrack) ; Sector per track
|
LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerTrack) ; Sector per track
|
||||||
LD B,0
|
LD B,0
|
||||||
@ -456,19 +456,11 @@ IDESPEC: IN A,(SLOT3)
|
|||||||
CP BIOS.Error.ATAPI.UnitAttention
|
CP BIOS.Error.ATAPI.UnitAttention
|
||||||
JR Z,IDESPEC.END
|
JR Z,IDESPEC.END
|
||||||
;
|
;
|
||||||
;CP BIOS.Error.ATAPI.NotReady
|
|
||||||
;SCF
|
|
||||||
;JR NZ,.set_sector ; «î¡ ï ¥¯®ïâ ï ®è¨¡ª - ¥â ®á¨â¥«ï
|
|
||||||
HALT
|
HALT
|
||||||
DJNZ .get_error_loop
|
DJNZ .get_error_loop
|
||||||
;
|
;
|
||||||
; LD HL,ATAPI_CMD_PACKET.REQUEST_SENSE
|
|
||||||
; LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
|
||||||
; CALL EXEC_PACKET_COMMAND.start
|
|
||||||
; [ ] sector size ATAPI
|
; [ ] sector size ATAPI
|
||||||
.s_size: ;LD HL,ATAPI_CMD_PACKET.READ_CAPACITY_DATA
|
.s_size: LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
||||||
LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
|
||||||
;CALL EXEC_PACKET_COMMAND.start_sys_page
|
|
||||||
CALL ATAPI_READ_CAPACITY_DATA
|
CALL ATAPI_READ_CAPACITY_DATA
|
||||||
;
|
;
|
||||||
.set_sector: LD HL,#FFFF
|
.set_sector: LD HL,#FFFF
|
||||||
@ -485,7 +477,6 @@ IDESPEC: IN A,(SLOT3)
|
|||||||
.No_Media: LD (IY+IDE.HDD_INIT_TABLE.SectorSize),H
|
.No_Media: LD (IY+IDE.HDD_INIT_TABLE.SectorSize),H
|
||||||
LD (IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L
|
LD (IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L
|
||||||
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
||||||
;LD (IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001 ; !HARDCODE ATAPI ¯®ª ¢á¥£¤ removable
|
|
||||||
;
|
;
|
||||||
JR IDESPEC.END
|
JR IDESPEC.END
|
||||||
/////////////////////////////////////////////////////////////////////[^]
|
/////////////////////////////////////////////////////////////////////[^]
|
||||||
@ -681,7 +672,7 @@ RESET_Slave_ATAPI:
|
|||||||
OUT (C),A
|
OUT (C),A
|
||||||
PAUSE_DJNZ 16
|
PAUSE_DJNZ 16
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,IDE.ATAPI.Reset
|
LD A,IDE.CMD.ATAPI.Reset
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
PAUSE_DJNZ 16
|
PAUSE_DJNZ 16
|
||||||
LD A,IDE.Drive.Master
|
LD A,IDE.Drive.Master
|
||||||
@ -750,7 +741,7 @@ DETECTORS:
|
|||||||
;-------;
|
;-------;
|
||||||
; CHECK BY EXECUTING NOP COMMAND AND WAIT.
|
; CHECK BY EXECUTING NOP COMMAND AND WAIT.
|
||||||
; Exit: CF - No device
|
; Exit: CF - No device
|
||||||
.NOP_Check: LD E,IDE.ATA.Nop
|
.NOP_Check: LD E,IDE.CMD.ATA.Nop
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
OUT (C),E
|
OUT (C),E
|
||||||
|
|
||||||
@ -786,7 +777,7 @@ DETECTORS:
|
|||||||
; Exit: CF - No device
|
; Exit: CF - No device
|
||||||
; NC and ZF - ATA
|
; NC and ZF - ATA
|
||||||
; NC and NZ - ATAPI
|
; NC and NZ - ATAPI
|
||||||
.IdentDevCheck: LD E,IDE.ATA.IdentifyDevice
|
.IdentDevCheck: LD E,IDE.CMD.ATA.IdentifyDevice
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
OUT (C),E
|
OUT (C),E
|
||||||
;
|
;
|
||||||
@ -820,7 +811,7 @@ DETECTORS:
|
|||||||
; ATAPI or Absent
|
; ATAPI or Absent
|
||||||
; Exit: CF - No device
|
; Exit: CF - No device
|
||||||
; NC - ATAPI
|
; NC - ATAPI
|
||||||
.IdentPDevChk: LD E,IDE.ATAPI.IdentifyPacketDevice
|
.IdentPDevChk: LD E,IDE.CMD.ATAPI.IdentifyPacketDevice
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
OUT (C),E
|
OUT (C),E
|
||||||
;
|
;
|
||||||
@ -871,7 +862,7 @@ SetUP_CHANELS:
|
|||||||
.CMD: CALL SELECT_IDE
|
.CMD: CALL SELECT_IDE
|
||||||
PAUSE_DJNZ 32
|
PAUSE_DJNZ 32
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD H,IDE.ATA.Nop
|
LD H,IDE.CMD.ATA.Nop
|
||||||
OUT (C),H
|
OUT (C),H
|
||||||
PAUSE_DJNZ 32
|
PAUSE_DJNZ 32
|
||||||
; Disable INTRQ
|
; Disable INTRQ
|
||||||
@ -889,9 +880,9 @@ SetUP_CHANELS:
|
|||||||
/////////////////////////////////////////////////////////////////////[v]
|
/////////////////////////////////////////////////////////////////////[v]
|
||||||
; DisableWriteCache:
|
; DisableWriteCache:
|
||||||
; LD BC,IDE.Write.Features
|
; LD BC,IDE.Write.Features
|
||||||
; LD A,IDE.ATA.SetFeatures.DisableWriteCache
|
; LD A,IDE.CMD.ATA.SetFeatures.DisableWriteCache
|
||||||
; OUT (C),A
|
; OUT (C),A
|
||||||
; LD A,IDE.ATA.SetFeatures
|
; LD A,IDE.CMD.ATA.SetFeatures
|
||||||
; JP IDE_CMD
|
; JP IDE_CMD
|
||||||
/////////////////////////////////////////////////////////////////////[^]
|
/////////////////////////////////////////////////////////////////////[^]
|
||||||
|
|
||||||
@ -902,7 +893,7 @@ SetUP_CHANELS:
|
|||||||
; LD BC,IDE.Write.Counter
|
; LD BC,IDE.Write.Counter
|
||||||
; XOR A
|
; XOR A
|
||||||
; OUT (C),A
|
; OUT (C),A
|
||||||
; LD A,IDE.ATA.Idle
|
; LD A,IDE.CMD.ATA.Idle
|
||||||
; JP IDE_CMD
|
; JP IDE_CMD
|
||||||
/////////////////////////////////////////////////////////////////////[^]
|
/////////////////////////////////////////////////////////////////////[^]
|
||||||
|
|
||||||
@ -910,9 +901,9 @@ SetUP_CHANELS:
|
|||||||
/////////////////////////////////////////////////////////////////////[v]
|
/////////////////////////////////////////////////////////////////////[v]
|
||||||
; DISABLE_8bit:
|
; DISABLE_8bit:
|
||||||
; LD BC,IDE.Write.Features
|
; LD BC,IDE.Write.Features
|
||||||
; LD A,IDE.ATA.SetFeatures.Disable8bit
|
; LD A,IDE.CMD.ATA.SetFeatures.Disable8bit
|
||||||
; OUT (C),A
|
; OUT (C),A
|
||||||
; LD A,IDE.ATA.SetFeatures
|
; LD A,IDE.CMD.ATA.SetFeatures
|
||||||
; JP IDE_CMD
|
; JP IDE_CMD
|
||||||
/////////////////////////////////////////////////////////////////////[^]
|
/////////////////////////////////////////////////////////////////////[^]
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -41,6 +41,6 @@ bitstream_ver_hex EQU CNF_ID.VER*256+CNF_ID.MOD
|
|||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
;=======================================
|
;=======================================
|
||||||
DEFINE SPTeam_year '2024'
|
DEFINE SPTeam_year BUILD_YEAR ;'2024'
|
||||||
DEFINE SetupVer '1.60'
|
DEFINE SetupVer '1.60'
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
Loading…
Reference in New Issue
Block a user