RECOVERY:
- обновлены системные файлы - подправлены опечатки. Спасибо @Andrew_Gorshkov BIOS: Исправлен баг в READ_SECTOR, могло уходить в бесконечный цикл
This commit is contained in:
		
							parent
							
								
									44dfb7f39b
								
							
						
					
					
						commit
						9c14f06b9c
					
				| @ -232,7 +232,7 @@ FDD_5x_LONG_READ: | ||||
| 		PUSH	DE | ||||
| 		PUSH	BC | ||||
| 		PUSH	HL | ||||
| 		CALL	RD_SEC | ||||
| 		CALL	READ_SECTOR | ||||
| 		JP	C,ERRDOS | ||||
| 		LD	D,YH | ||||
| 		LD	E,YL | ||||
| @ -431,80 +431,80 @@ FDD_5x_LONG_WRITE: | ||||
| ;------------------------------- | ||||
| ;READ SECTOR | ||||
| ;------------------------------- | ||||
| RD_SEC:	LD	D,5	;RETRY COUNT | ||||
| .RRETRY: | ||||
| 	;DI  | ||||
| 	PUSH	DE | ||||
| 	LD	A,E | ||||
| 	INC	A | ||||
| 	OUT	(FDC_93.Sector),A | ||||
| .FDREAD: | ||||
| 	IN	A,(SLOT3) | ||||
| 	EX	AF,AF' | ||||
| 	LD	A,XH | ||||
| 	OUT	(SLOT3),A | ||||
| 	LD	B,4 | ||||
| 	LD	C,FDC_93.Data | ||||
| 	LD	A,#80		;COMMAND READ | ||||
| 	OUT	(FDC_93.Command),A | ||||
| .FDR001: | ||||
| 	IN	A,(FDC_93.DrvCTRL)	;WAIT INTRQ or DRQ | ||||
| 	AND	#C0 | ||||
| 	JR	NZ,.FDR004 | ||||
| 	INC	DE | ||||
| 	LD	A,E | ||||
| 	OR	D | ||||
| 	JR	NZ,.FDR001 | ||||
| 	DJNZ	.FDR001 | ||||
| 	SCF  | ||||
| 	JR	.FDR005 | ||||
| .FDR004: | ||||
| 	INI			;READ BYTE | ||||
| .FDR002: | ||||
| 	IN	A,(FDC_93.DrvCTRL) | ||||
| 	AND	#C0 | ||||
| 	JR	Z,.FDR002 | ||||
| 	JP	P,.FDR004 | ||||
| .FDR005: | ||||
| 	EX	AF,AF' | ||||
| 	OUT	(SLOT3),A | ||||
| 	EX	AF,AF' | ||||
| ;------------------------------- | ||||
| 	POP	DE | ||||
| 	;EI  | ||||
| 	IN	A,(FDC_93.Command) | ||||
| 	LD	C,A | ||||
| ;R01 | ||||
| 	JP	C,.ERR_XRD | ||||
| ;	JP	C,ERRRD	;READ ERROR | ||||
| 	AND	#7F | ||||
| 	RET	Z | ||||
| 	BIT	2,C | ||||
| 	JR	NZ,.ERDATA | ||||
| 	LD	A,5	;SEEK ERROR | ||||
| 	DEC	D | ||||
| 	JP	Z,.RSTOP | ||||
| 	PUSH	DE | ||||
| 	CALL	RESWG		; RESET_WG | ||||
| 	LD	A,XL | ||||
| 	CALL	SEEK	  ; !!!!!  ¯®á¬®âà¥âì | ||||
| .ERR_XRD: | ||||
| 	POP	DE | ||||
| 	JR	.RRETRY | ||||
| .ERDATA: | ||||
| 	DEC	D	       ; POTERIA DANNYH | ||||
| 	JR	NZ,.RRETRY | ||||
| .ERRRD:	LD	A,9	;READ ERROR | ||||
| .RSTOP:	EX	AF,AF' | ||||
| 	LD	A,#D0 | ||||
| 	OUT	(FDC_93.Command),A      ;STOP OPERATION | ||||
| 	EX	AF,AF' | ||||
| 	BIT	0,C | ||||
| 	SCF  | ||||
| 	RET	Z | ||||
| 	LD	A,6	;SECTOR	NOT FOUND /NO DISK/ | ||||
| 	RET  | ||||
| ; | ||||
| READ_SECTOR:	LD	D,5			;RETRY COUNT | ||||
| .RRETRY:	;DI  | ||||
| 		PUSH	DE | ||||
| 		LD	A,E | ||||
| 		INC	A | ||||
| 		OUT	(FDC_93.Sector),A | ||||
| .FDREAD:	IN	A,(SLOT3) | ||||
| 		EX	AF,AF' | ||||
| 		LD	A,XH | ||||
| 		OUT	(SLOT3),A | ||||
| 		LD	B,4 | ||||
| 		LD	C,FDC_93.Data | ||||
| 		LD	A,#80			;COMMAND READ | ||||
| 		OUT	(FDC_93.Command),A | ||||
| .FDR001:	IN	A,(FDC_93.DrvCTRL)	;WAIT INTRQ or DRQ | ||||
| 		AND	#C0 | ||||
| 		JR	NZ,.FDR004 | ||||
| 		INC	DE | ||||
| 		LD	A,E | ||||
| 		OR	D | ||||
| 		JR	NZ,.FDR001 | ||||
| 		DJNZ	.FDR001 | ||||
| 		SCF  | ||||
| 		JR	.FDR005 | ||||
| 		; | ||||
| .FDR004:	INI				;READ BYTE | ||||
| .FDR002:	IN	A,(FDC_93.DrvCTRL) | ||||
| 		AND	#C0 | ||||
| 		JR	Z,.FDR002 | ||||
| 		JP	P,.FDR004 | ||||
| .FDR005:	EX	AF,AF' | ||||
| 		OUT	(SLOT3),A | ||||
| 		EX	AF,AF' | ||||
| 		; | ||||
| 		POP	DE | ||||
| 		;EI  | ||||
| 		IN	A,(FDC_93.Command) | ||||
| 		LD	C,A | ||||
| ;R01		; JP	C,ERRRD			;READ ERROR | ||||
| 		; !TEST 29/06/2024 | ||||
| 		 ;JP	C,.ERR_XRD | ||||
| 		 JP	NC,.NO_ERR_XRD | ||||
| 		 DEC	D | ||||
| 		 JR	Z,.RSTOP | ||||
| 		 JR	.RRETRY | ||||
| 		; | ||||
| .NO_ERR_XRD:	;  | ||||
| 		AND	#7F | ||||
| 		RET	Z | ||||
| 		BIT	2,C | ||||
| 		JR	NZ,.ERDATA | ||||
| 		LD	A,5			;SEEK ERROR | ||||
| 		DEC	D | ||||
| 		JR	Z,.RSTOP | ||||
| 		PUSH	DE | ||||
| 		CALL	RESWG			; RESET_WG | ||||
| 		LD	A,XL | ||||
| 		CALL	SEEK	  ; !!!!!  ¯®á¬®âà¥âì | ||||
| .ERR_XRD:	POP	DE | ||||
| 		JR	.RRETRY | ||||
| 		; | ||||
| .ERDATA:	DEC	D			; POTERIA DANNYH | ||||
| 		JR	NZ,.RRETRY | ||||
| .ERRRD:		LD	A,9	;READ ERROR | ||||
| .RSTOP:		EX	AF,AF' | ||||
| 		LD	A,#D0 | ||||
| 		OUT	(FDC_93.Command),A      ;STOP OPERATION | ||||
| 		EX	AF,AF' | ||||
| 		BIT	0,C | ||||
| 		SCF  | ||||
| 		RET	Z | ||||
| 		LD	A,6			;SECTOR	NOT FOUND /NO DISK/ | ||||
| 		RET  | ||||
| ;	;	; | ||||
| 
 | ||||
| ; | ||||
| ;------------------------------- | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tolik
						Tolik