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,30 +382,55 @@ 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  | ||||
| 	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 | ||||
| ;	LD A,#1F	; RECALIBRATE | ||||
| ;	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
	 Tolik
						Tolik