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
|
||||
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 ; ¤«ï § ¤¥à¦ª¨
|
||||
POP HL ; ¤«ï § ¤¥à¦ª¨
|
||||
LD A,#3C ;!HARDCODE ª®¬ ¤ ¤«ï ‚ƒ93
|
||||
|
||||
@ -481,7 +481,7 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
||||
OR E
|
||||
JR Z,.SectorSizeError
|
||||
;
|
||||
OUTI ; !FIXIT à §¬¥à ᥪâ®à ¬®¦¥â ¡ëâì ¯« ¢ î騬 ¨ ¯à¨¡¨âì ¡ãä¥à
|
||||
OUTI
|
||||
.wwait_data: IN A,(FDC_93.DrvCTRL)
|
||||
AND %1100'0000 ;b6: DRQ (§ ¯à®á ¤ ëå = 1). b7: INTRQ (¢ë¯®«ï¥âáï ª®¬ ¤ = 0).
|
||||
JR Z,.wwait_data
|
||||
@ -641,7 +641,7 @@ DISK_ID: EXX
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
AND #80
|
||||
AND #80
|
||||
RET
|
||||
|
||||
|
||||
|
||||
@ -38,11 +38,28 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI
|
||||
CP BIOS.Error.ATAPI.UnitAttention
|
||||
SCF
|
||||
RET Z
|
||||
;!FIXIT ¥ âண âì ¯à¥àë¢ ¨ï
|
||||
EI
|
||||
HALT
|
||||
;
|
||||
CP BIOS.Error.ATAPI.MediumError
|
||||
SCF
|
||||
RET Z
|
||||
; ¥ âண âì ¯à¥àë¢ ¨ï
|
||||
; EI
|
||||
; HALT
|
||||
EXX
|
||||
XOR A
|
||||
.pause_loop: LD B,A
|
||||
DJNZ $
|
||||
DEC A
|
||||
JR NZ,.pause_loop
|
||||
EXX
|
||||
DJNZ .loop
|
||||
RET
|
||||
/*
|
||||
HL = 1e00
|
||||
B = 1
|
||||
ATAPI_WAITPRT.LOOP
|
||||
DE = 00FF
|
||||
*/
|
||||
;[]================================================================[#51]
|
||||
|
||||
|
||||
@ -807,6 +824,7 @@ ATAPI_GET_ERROR_REG:
|
||||
ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
|
||||
.Custom: LD B,100
|
||||
LD HL,#0000
|
||||
;
|
||||
.LOOP: LD A,high IDE.Read.Status
|
||||
IN A,(low IDE.Read.Status)
|
||||
CP #FF
|
||||
@ -819,6 +837,7 @@ ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
|
||||
.NEXT_TRY: DEC L
|
||||
JR NZ,.LOOP
|
||||
DEC H
|
||||
; 15615
|
||||
JR NZ,.LOOP
|
||||
DJNZ .LOOP
|
||||
.error: SCF
|
||||
|
||||
@ -382,23 +382,46 @@ HD_WR_LOOP:
|
||||
LD HL,#C000 ; !HARDCODE
|
||||
JR HD_WR_L2
|
||||
|
||||
;!FIXIT ¯®ª à ¡®â ¥â ⮫쪮 á ®¤¨¬ ª «®¬ (¯®-áâ ஬ã)
|
||||
;-----------------------------------------------------------------------;
|
||||
FN_HDD_RECAL:
|
||||
; !TEST ;[ ] à ¡®â á ¯à¥¤¢ à¨â¥«ì® ¢ë¡à ë¬ HDD
|
||||
LD BC,IDE.Read.Control
|
||||
IN A,(C)
|
||||
PUSH AF
|
||||
;
|
||||
LD A,IDE.Drive.Master
|
||||
LD BC,IDE.Write.DeviceHead
|
||||
OUT (C),A
|
||||
LD A,IDE.CMD.ATA.ExecuteDeviceDiagnostic
|
||||
CALL HD_CMD_EXE
|
||||
;AND A
|
||||
CP IDE.CtrlByte.Error
|
||||
RET Z
|
||||
; !TEST à ¡®â á ¯à¥¤¢ à¨â¥«ì® ¢ë¡à ë¬ HDD
|
||||
POP DE
|
||||
;
|
||||
RET C
|
||||
LD BC,IDE.Read.Error
|
||||
IN A,(C)
|
||||
CP 1 ; !HARDCODE
|
||||
; !TEST à ¡®â á ¯à¥¤¢ à¨â¥«ì® ¢ë¡à ë¬ HDD
|
||||
LD BC,IDE.Write.DeviceHead
|
||||
OUT (C),D
|
||||
;
|
||||
AND #7F
|
||||
DEC A
|
||||
RET Z
|
||||
SCF
|
||||
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
|
||||
@ -406,6 +429,8 @@ FN_HDD_RECAL:
|
||||
; CALL HD_CMD_EXE
|
||||
; RET
|
||||
|
||||
|
||||
|
||||
; [x] 28/01/2024 à ¡®â ¥â á® ¢á¥¬¨ ª « ¬¨
|
||||
FN_HDD_TEST_IDE:
|
||||
LD E,#00
|
||||
@ -703,8 +728,8 @@ HD_WAIT:
|
||||
PUSH BC
|
||||
PUSH AF
|
||||
LD DE,0
|
||||
.loop: LD BC,IDE.Read.Status
|
||||
IN A,(C)
|
||||
LD BC,IDE.Read.Status
|
||||
.loop: IN A,(C)
|
||||
AND IDE.CtrlByte.Busy
|
||||
JR Z,.EXIT
|
||||
DEC DE
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
ENDM
|
||||
;
|
||||
|
||||
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
||||
; ╜╔ ╛╔╜ОБЛ CF
|
||||
CMOS_EMU_WR:
|
||||
PUSH DE
|
||||
|
||||
@ -25,7 +25,6 @@ CMOS_EMU_WR:
|
||||
;
|
||||
|
||||
; § ¯¨áì ¢ CMOS
|
||||
;!FIXIT ¯¥à¥¤¥« âì ¯® ¤®ª¥ „ «« á ¨ § ¯¨áì ¢ ï祩ª¨ ç ᮢ
|
||||
CMOS_WR: ; [x]
|
||||
_mCMOS_MAX_TEST
|
||||
;
|
||||
@ -38,7 +37,7 @@ CMOS_WR: ; [x]
|
||||
RET
|
||||
;
|
||||
|
||||
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
||||
; ╜╔ ╛╔╜ОБЛ CF
|
||||
CMOS_EMU_RD: PUSH DE
|
||||
LD C,SLOT3
|
||||
IN B,(C)
|
||||
|
||||
@ -1295,7 +1295,7 @@ LP_SCROLL_UP: DEC E
|
||||
; ‚室 :
|
||||
; D - ¢¥àåïï áâப ( ®â 0 )
|
||||
; E - ç¨á«® áªà®««¨à㥬ëå áâப
|
||||
LP_SCROLL_DN: DEC E ;!FIXIT ¯à ¢¨«ì®?
|
||||
LP_SCROLL_DN: DEC E
|
||||
RET Z
|
||||
CALL LP_OPEN_PG
|
||||
;
|
||||
|
||||
@ -354,7 +354,6 @@ _SW_ROM EQU SW_ROM
|
||||
;
|
||||
;---------------------------------------
|
||||
; _mInfoBLOCK #3FC6-$,#FF
|
||||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
||||
; ¨«¨ ¬®¦® ¤®¡ ¢¨âì äãªæ¨¨
|
||||
; TRDOS_HD_CMD:
|
||||
; ; LD A,C
|
||||
@ -377,7 +376,6 @@ _SW_ROM EQU SW_ROM
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
||||
;--------[ From TR-DOS to HDD part2]--------
|
||||
_mInfoBLOCK #3FD8-$,#FF
|
||||
TRDOS_HD_CMD:
|
||||
|
||||
@ -550,9 +550,6 @@ INSTALL:
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
|
||||
;BUILD:
|
||||
; db ', BIOS v', Disk_subsystem_ver_txt,0 ; !FIXIT ¬®¦¥â ¢®âªãâì ¢¬¥á⥠á msgStrings ?
|
||||
|
||||
RESTART_ID:
|
||||
.str: DZ "RESTART"
|
||||
.size EQU $ - RESTART_ID.str
|
||||
@ -1063,10 +1060,10 @@ FDSTART: PUSH BC
|
||||
LD A,msgStrings.bootFdd
|
||||
CALL POSTMSG
|
||||
POP AF
|
||||
CALL FDD_5x_RESET
|
||||
CALL FDD_5x_RESET
|
||||
POP BC
|
||||
RET C
|
||||
JP OS_LOAD
|
||||
JR OS_LOAD
|
||||
;
|
||||
CDSTART: LD A,B ; [ ] 15/02/2025 boot from ATAPI
|
||||
OR DRIVE_CODES.SPRINTER.ATAPI
|
||||
@ -1918,7 +1915,7 @@ MAIN_END_CODE_ADDRESS EQU $-1
|
||||
; OUT (SLOT3),A
|
||||
; ;
|
||||
; ;[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 B,#42 ;!HARDCODE page
|
||||
; CALL SET_PORTS
|
||||
|
||||
@ -566,7 +566,7 @@ PITEM: LD E,(IY+MenusItem.Column) ; x-coor
|
||||
jp POSTMSG
|
||||
|
||||
ELSE
|
||||
; !FIXIT ¢ë§®¢ë ¯à®æ¥¤ãà ¡¨®á ¤¥îâáï â®, çâ® ¥ª®â®àë¥ à¥£¨áâàë ¥ ¯®àâïâáï
|
||||
; ЂыЇЎЂы ЏрЎцЅЄур ЁЈЎс ЄЅются тЎ, чтЎ ЅЊЎтЎрыЅ рЅЃЈстры Ѕ ЏЎртятся
|
||||
; HL - item's address
|
||||
PITEM: LD E,(HL) ; x-coordinate
|
||||
INC HL
|
||||
|
||||
@ -566,7 +566,7 @@ SPRINTER_reset:
|
||||
;*****************************
|
||||
; *** MENU UTILITES ***
|
||||
;*****************************
|
||||
;!FIXIT этЎ Ї ЏусЊ c:\disk.trd - Ѕ ЄуЌ ю, чтЎ этЎ уІЎ, ЌЎІЎ Ї ЌЅЈть
|
||||
;!FIXIT BIOS SIZE. этЎ Ї ЏусЊ c:\disk.trd - Ѕ ЄуЌ ю, чтЎ этЎ уІЎ, ЌЎІЎ Ї ЌЅЈть
|
||||
RUN_DISK_TRD:
|
||||
LD HL,C_DISK_C
|
||||
CALL CALL_DOS1
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user