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