FN_HDD_RECAL: работа со всеми каналами IDE
ATAPI_5x_RESET: переделана пауза, чтоб убрать EI Обновлён recovery.img
This commit is contained in:
parent
6f588ed8bb
commit
fdad365528
@ -1 +1 @@
|
|||||||
Subproject commit 4a5753ea2c090485263117929d6a734d4a669ec4
|
Subproject commit be6067585059da92ec2674091bedf341e9219f09
|
||||||
@ -1065,7 +1065,7 @@ PORTS_INIT:
|
|||||||
; ‚ª«îç¨âì ¤®áâ㯠ª ª®â஫«¥àã ¤¨áª (âà¥âìï ª®ä )
|
; ‚ª«îç¨âì ¤®áâ㯠ª ª®â஫«¥àã ¤¨áª (âà¥âìï ª®ä )
|
||||||
LD A,CNF_PORT.CNF_3+ROM.BIOS
|
LD A,CNF_PORT.CNF_3+ROM.BIOS
|
||||||
OUT (SYS_PORT.ROM),A
|
OUT (SYS_PORT.ROM),A
|
||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A : ASSERT CNF_PORT.CNF_3+ROM.BIOS = #1C, "ERROR: A != #1C"
|
||||||
PUSH HL ; ¤«ï § ¤¥à¦ª¨
|
PUSH HL ; ¤«ï § ¤¥à¦ª¨
|
||||||
POP HL ; ¤«ï § ¤¥à¦ª¨
|
POP HL ; ¤«ï § ¤¥à¦ª¨
|
||||||
LD A,#3C ;!HARDCODE ª®¬ ¤ ¤«ï ‚ƒ93
|
LD A,#3C ;!HARDCODE ª®¬ ¤ ¤«ï ‚ƒ93
|
||||||
|
|||||||
@ -481,7 +481,7 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
|||||||
OR E
|
OR E
|
||||||
JR Z,.SectorSizeError
|
JR Z,.SectorSizeError
|
||||||
;
|
;
|
||||||
OUTI ; !FIXIT à §¬¥à ᥪâ®à ¬®¦¥â ¡ëâì ¯« ¢ î騬 ¨ ¯à¨¡¨âì ¡ãä¥à
|
OUTI
|
||||||
.wwait_data: IN A,(FDC_93.DrvCTRL)
|
.wwait_data: IN A,(FDC_93.DrvCTRL)
|
||||||
AND %1100'0000 ;b6: DRQ (§ ¯à®á ¤ ëå = 1). b7: INTRQ (¢ë¯®«ï¥âáï ª®¬ ¤ = 0).
|
AND %1100'0000 ;b6: DRQ (§ ¯à®á ¤ ëå = 1). b7: INTRQ (¢ë¯®«ï¥âáï ª®¬ ¤ = 0).
|
||||||
JR Z,.wwait_data
|
JR Z,.wwait_data
|
||||||
|
|||||||
@ -38,11 +38,28 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI
|
|||||||
CP BIOS.Error.ATAPI.UnitAttention
|
CP BIOS.Error.ATAPI.UnitAttention
|
||||||
SCF
|
SCF
|
||||||
RET Z
|
RET Z
|
||||||
;!FIXIT ¥ âண âì ¯à¥àë¢ ¨ï
|
;
|
||||||
EI
|
CP BIOS.Error.ATAPI.MediumError
|
||||||
HALT
|
SCF
|
||||||
|
RET Z
|
||||||
|
; ¥ âண âì ¯à¥àë¢ ¨ï
|
||||||
|
; EI
|
||||||
|
; HALT
|
||||||
|
EXX
|
||||||
|
XOR A
|
||||||
|
.pause_loop: LD B,A
|
||||||
|
DJNZ $
|
||||||
|
DEC A
|
||||||
|
JR NZ,.pause_loop
|
||||||
|
EXX
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
RET
|
RET
|
||||||
|
/*
|
||||||
|
HL = 1e00
|
||||||
|
B = 1
|
||||||
|
ATAPI_WAITPRT.LOOP
|
||||||
|
DE = 00FF
|
||||||
|
*/
|
||||||
;[]================================================================[#51]
|
;[]================================================================[#51]
|
||||||
|
|
||||||
|
|
||||||
@ -807,6 +824,7 @@ ATAPI_GET_ERROR_REG:
|
|||||||
ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
|
ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
|
||||||
.Custom: LD B,100
|
.Custom: LD B,100
|
||||||
LD HL,#0000
|
LD HL,#0000
|
||||||
|
;
|
||||||
.LOOP: LD A,high IDE.Read.Status
|
.LOOP: LD A,high IDE.Read.Status
|
||||||
IN A,(low IDE.Read.Status)
|
IN A,(low IDE.Read.Status)
|
||||||
CP #FF
|
CP #FF
|
||||||
@ -819,6 +837,7 @@ ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
|
|||||||
.NEXT_TRY: DEC L
|
.NEXT_TRY: DEC L
|
||||||
JR NZ,.LOOP
|
JR NZ,.LOOP
|
||||||
DEC H
|
DEC H
|
||||||
|
; 15615
|
||||||
JR NZ,.LOOP
|
JR NZ,.LOOP
|
||||||
DJNZ .LOOP
|
DJNZ .LOOP
|
||||||
.error: SCF
|
.error: SCF
|
||||||
|
|||||||
@ -382,23 +382,46 @@ HD_WR_LOOP:
|
|||||||
LD HL,#C000 ; !HARDCODE
|
LD HL,#C000 ; !HARDCODE
|
||||||
JR HD_WR_L2
|
JR HD_WR_L2
|
||||||
|
|
||||||
;!FIXIT ¯®ª à ¡®â ¥â ⮫쪮 á ®¤¨¬ ª «®¬ (¯®-áâ ஬ã)
|
;-----------------------------------------------------------------------;
|
||||||
FN_HDD_RECAL:
|
FN_HDD_RECAL:
|
||||||
|
; !TEST ;[ ] à ¡®â á ¯à¥¤¢ à¨â¥«ì® ¢ë¡à ë¬ HDD
|
||||||
|
LD BC,IDE.Read.Control
|
||||||
|
IN A,(C)
|
||||||
|
PUSH AF
|
||||||
|
;
|
||||||
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.CMD.ATA.ExecuteDeviceDiagnostic
|
LD A,IDE.CMD.ATA.ExecuteDeviceDiagnostic
|
||||||
CALL HD_CMD_EXE
|
CALL HD_CMD_EXE
|
||||||
;AND A
|
; !TEST à ¡®â á ¯à¥¤¢ à¨â¥«ì® ¢ë¡à ë¬ HDD
|
||||||
CP IDE.CtrlByte.Error
|
POP DE
|
||||||
RET Z
|
;
|
||||||
|
RET C
|
||||||
LD BC,IDE.Read.Error
|
LD BC,IDE.Read.Error
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
CP 1 ; !HARDCODE
|
; !TEST à ¡®â á ¯à¥¤¢ à¨â¥«ì® ¢ë¡à ë¬ HDD
|
||||||
|
LD BC,IDE.Write.DeviceHead
|
||||||
|
OUT (C),D
|
||||||
|
;
|
||||||
|
AND #7F
|
||||||
|
DEC A
|
||||||
RET Z
|
RET Z
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
; Diagnostic Codes
|
||||||
|
;
|
||||||
|
; Code Description
|
||||||
|
; #01 Device 0 passed, Device 1 passed or not present
|
||||||
|
; #00 Device 0 failed, Device 1 passed or not present
|
||||||
|
; #81 Device 1 failed, Device 0 passed
|
||||||
|
; #80 Device 1 failed, Device 0 failed
|
||||||
|
;
|
||||||
|
; The meaning of values other than #01 and #81 are vendor specific and
|
||||||
|
; should be considered a diagnostic failed condition.
|
||||||
|
;-----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
;????? £«ïãâì
|
;????? £«ïãâì
|
||||||
; RET C
|
; RET C
|
||||||
@ -406,6 +429,8 @@ FN_HDD_RECAL:
|
|||||||
; CALL HD_CMD_EXE
|
; CALL HD_CMD_EXE
|
||||||
; RET
|
; RET
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; [x] 28/01/2024 à ¡®â ¥â á® ¢á¥¬¨ ª « ¬¨
|
; [x] 28/01/2024 à ¡®â ¥â á® ¢á¥¬¨ ª « ¬¨
|
||||||
FN_HDD_TEST_IDE:
|
FN_HDD_TEST_IDE:
|
||||||
LD E,#00
|
LD E,#00
|
||||||
@ -703,8 +728,8 @@ HD_WAIT:
|
|||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD DE,0
|
LD DE,0
|
||||||
.loop: LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
IN A,(C)
|
.loop: IN A,(C)
|
||||||
AND IDE.CtrlByte.Busy
|
AND IDE.CtrlByte.Busy
|
||||||
JR Z,.EXIT
|
JR Z,.EXIT
|
||||||
DEC DE
|
DEC DE
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
ENDM
|
ENDM
|
||||||
;
|
;
|
||||||
|
|
||||||
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
; ╜╔ ╛╔╜ОБЛ CF
|
||||||
CMOS_EMU_WR:
|
CMOS_EMU_WR:
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
@ -25,7 +25,6 @@ CMOS_EMU_WR:
|
|||||||
;
|
;
|
||||||
|
|
||||||
; § ¯¨áì ¢ CMOS
|
; § ¯¨áì ¢ CMOS
|
||||||
;!FIXIT ¯¥à¥¤¥« âì ¯® ¤®ª¥ „ «« á ¨ § ¯¨áì ¢ ï祩ª¨ ç ᮢ
|
|
||||||
CMOS_WR: ; [x]
|
CMOS_WR: ; [x]
|
||||||
_mCMOS_MAX_TEST
|
_mCMOS_MAX_TEST
|
||||||
;
|
;
|
||||||
@ -38,7 +37,7 @@ CMOS_WR: ; [x]
|
|||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
|
||||||
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
; ╜╔ ╛╔╜ОБЛ CF
|
||||||
CMOS_EMU_RD: PUSH DE
|
CMOS_EMU_RD: PUSH DE
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
IN B,(C)
|
IN B,(C)
|
||||||
|
|||||||
@ -1295,7 +1295,7 @@ LP_SCROLL_UP: DEC E
|
|||||||
; ‚室 :
|
; ‚室 :
|
||||||
; D - ¢¥àåïï áâப ( ®â 0 )
|
; D - ¢¥àåïï áâப ( ®â 0 )
|
||||||
; E - ç¨á«® áªà®««¨à㥬ëå áâப
|
; E - ç¨á«® áªà®««¨à㥬ëå áâப
|
||||||
LP_SCROLL_DN: DEC E ;!FIXIT ¯à ¢¨«ì®?
|
LP_SCROLL_DN: DEC E
|
||||||
RET Z
|
RET Z
|
||||||
CALL LP_OPEN_PG
|
CALL LP_OPEN_PG
|
||||||
;
|
;
|
||||||
|
|||||||
@ -354,7 +354,6 @@ _SW_ROM EQU SW_ROM
|
|||||||
;
|
;
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
; _mInfoBLOCK #3FC6-$,#FF
|
; _mInfoBLOCK #3FC6-$,#FF
|
||||||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
|
||||||
; ¨«¨ ¬®¦® ¤®¡ ¢¨âì äãªæ¨¨
|
; ¨«¨ ¬®¦® ¤®¡ ¢¨âì äãªæ¨¨
|
||||||
; TRDOS_HD_CMD:
|
; TRDOS_HD_CMD:
|
||||||
; ; LD A,C
|
; ; LD A,C
|
||||||
@ -377,7 +376,6 @@ _SW_ROM EQU SW_ROM
|
|||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
|
|
||||||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
|
||||||
;--------[ From TR-DOS to HDD part2]--------
|
;--------[ From TR-DOS to HDD part2]--------
|
||||||
_mInfoBLOCK #3FD8-$,#FF
|
_mInfoBLOCK #3FD8-$,#FF
|
||||||
TRDOS_HD_CMD:
|
TRDOS_HD_CMD:
|
||||||
|
|||||||
@ -550,9 +550,6 @@ INSTALL:
|
|||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;BUILD:
|
|
||||||
; db ', BIOS v', Disk_subsystem_ver_txt,0 ; !FIXIT ¬®¦¥â ¢®âªãâì ¢¬¥á⥠á msgStrings ?
|
|
||||||
|
|
||||||
RESTART_ID:
|
RESTART_ID:
|
||||||
.str: DZ "RESTART"
|
.str: DZ "RESTART"
|
||||||
.size EQU $ - RESTART_ID.str
|
.size EQU $ - RESTART_ID.str
|
||||||
@ -1066,7 +1063,7 @@ FDSTART: PUSH BC
|
|||||||
CALL FDD_5x_RESET
|
CALL FDD_5x_RESET
|
||||||
POP BC
|
POP BC
|
||||||
RET C
|
RET C
|
||||||
JP OS_LOAD
|
JR OS_LOAD
|
||||||
;
|
;
|
||||||
CDSTART: LD A,B ; [ ] 15/02/2025 boot from ATAPI
|
CDSTART: LD A,B ; [ ] 15/02/2025 boot from ATAPI
|
||||||
OR DRIVE_CODES.SPRINTER.ATAPI
|
OR DRIVE_CODES.SPRINTER.ATAPI
|
||||||
@ -1918,7 +1915,7 @@ MAIN_END_CODE_ADDRESS EQU $-1
|
|||||||
; OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
; ;
|
; ;
|
||||||
; ;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
; ;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
|
||||||
; ;!FIXIT ; [ ] free zx pages! ¯¥à¥¤¥« âì ¢ë§®¢ FREE_ZX_PAGES.INIT_vROM
|
; [ ] free zx pages! ¯¥à¥¤¥« âì ¢ë§®¢ FREE_ZX_PAGES.INIT_vROM
|
||||||
; LD A,ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128
|
; LD A,ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128
|
||||||
; LD B,#42 ;!HARDCODE page
|
; LD B,#42 ;!HARDCODE page
|
||||||
; CALL SET_PORTS
|
; CALL SET_PORTS
|
||||||
|
|||||||
@ -566,7 +566,7 @@ PITEM: LD E,(IY+MenusItem.Column) ; x-coor
|
|||||||
jp POSTMSG
|
jp POSTMSG
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
; !FIXIT ¢ë§®¢ë ¯à®æ¥¤ãà ¡¨®á ¤¥îâáï â®, çâ® ¥ª®â®àë¥ à¥£¨áâàë ¥ ¯®àâïâáï
|
; ЂыЇЎЂы ЏрЎцЅЄур ЁЈЎс ЄЅются тЎ, чтЎ ЅЊЎтЎрыЅ рЅЃЈстры Ѕ ЏЎртятся
|
||||||
; HL - item's address
|
; HL - item's address
|
||||||
PITEM: LD E,(HL) ; x-coordinate
|
PITEM: LD E,(HL) ; x-coordinate
|
||||||
INC HL
|
INC HL
|
||||||
|
|||||||
@ -566,7 +566,7 @@ SPRINTER_reset:
|
|||||||
;*****************************
|
;*****************************
|
||||||
; *** MENU UTILITES ***
|
; *** MENU UTILITES ***
|
||||||
;*****************************
|
;*****************************
|
||||||
;!FIXIT этЎ Ї ЏусЊ c:\disk.trd - Ѕ ЄуЌ ю, чтЎ этЎ уІЎ, ЌЎІЎ Ї ЌЅЈть
|
;!FIXIT BIOS SIZE. этЎ Ї ЏусЊ c:\disk.trd - Ѕ ЄуЌ ю, чтЎ этЎ уІЎ, ЌЎІЎ Ї ЌЅЈть
|
||||||
RUN_DISK_TRD:
|
RUN_DISK_TRD:
|
||||||
LD HL,C_DISK_C
|
LD HL,C_DISK_C
|
||||||
CALL CALL_DOS1
|
CALL CALL_DOS1
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user