...
This commit is contained in:
		
							parent
							
								
									743cc31493
								
							
						
					
					
						commit
						d8e1695ca0
					
				| @ -1 +1 @@ | ||||
| Subproject commit 18269745815d90e76686f5693e0cb45f8f31741c | ||||
| Subproject commit 349ba286106d21a77cf3f8a25b6f7c952eccb046 | ||||
| @ -117,7 +117,6 @@ SELHH:	EXX | ||||
| 	LD	A,IDE.Chanel.Primary | ||||
| SELCHAN: | ||||
| 	OUT	(IDE.Chanel.Set),A	;R02 | ||||
| 	 | ||||
| 	LD	A,(IY+IDE.HDD_INIT_TABLE.DriveType) | ||||
| 	CP	IDE.Device.HDD						;!FIXIT ¢®§¬®¦®,  åॠ¥ 㦮, ¯®â®¬ã-çâ® ¥á«¨ CD, â® ¯à¨«¥â¨â ¢ ¤à ©¢¥à CD | ||||
| 	LD	A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) | ||||
| @ -128,7 +127,7 @@ SELCHAN: | ||||
| 	EXX  | ||||
| 	RET	Z | ||||
| NODRIVE: | ||||
| 	LD	A,2	;!HARDCODE | ||||
| 	LD	A,BIOS.Error.BadDrvNumber | ||||
| 	SCF  | ||||
| 	RET  | ||||
| 
 | ||||
| @ -239,13 +238,13 @@ HDD_5x.LONG_READ: | ||||
| 	ADD	IX,BC | ||||
| 	LD	B,C | ||||
| 	ADC	HL,BC | ||||
| 	EX	AF,AF' | ||||
| 	;EX	AF,AF'	;!TEST 21/11/23 | ||||
| 	JR	RST8RDR | ||||
| 
 | ||||
| RNOT256	ADD	IX,BC | ||||
| 	LD	C,B | ||||
| 	ADC	HL,BC | ||||
| 	EX	AF,AF' | ||||
| 	;EX	AF,AF'	;!TEST 21/11/23 | ||||
| 	JR	RST8RDR | ||||
| 
 | ||||
| HERRRD0	LD	B,A | ||||
| @ -265,14 +264,13 @@ HERRRD0	LD	B,A | ||||
| 	LD	C,A | ||||
| 	LD	A,B | ||||
| 	LD	B,C | ||||
| 	SCF		;R03 | ||||
| 	EX	AF,AF'	;R03 | ||||
| RST8RDR: | ||||
| 
 | ||||
| 	RESTORE_PORTY | ||||
| 
 | ||||
| 	;R03 | ||||
| 	 SCF | ||||
| 	 ;EX	AF,AF'	;!TEST 21/11/23 | ||||
| 	; | ||||
| RST8RDR: RESTORE_PORTY | ||||
| 	POP	IY | ||||
| 	EX	AF,AF' | ||||
| 	;EX	AF,AF'	;!TEST 21/11/23 | ||||
| 	RET  | ||||
| ;READ SECTOR(S) | ||||
| RDS000:	CALL	SELECTH | ||||
| @ -401,13 +399,13 @@ HDD_5x.LONG_WRITE: | ||||
| 	ADD	IX,BC | ||||
| 	LD	B,C | ||||
| 	ADC	HL,BC | ||||
| 	EX	AF,AF' | ||||
| 	;EX	AF,AF' | ||||
| 	JR	RST8WRR | ||||
| 
 | ||||
| WNOT256	ADD	IX,BC | ||||
| 	LD	C,B | ||||
| 	ADC	HL,BC | ||||
| 	EX	AF,AF' | ||||
| 	;EX	AF,AF' | ||||
| 	JR	RST8WRR | ||||
| 
 | ||||
| HERRWR0	LD	B,A | ||||
| @ -427,14 +425,13 @@ HERRWR0	LD	B,A | ||||
| 	LD	C,A | ||||
| 	LD	A,B | ||||
| 	LD	B,C | ||||
| 	SCF		;R03 | ||||
| 	EX	AF,AF'	;R03	;!FIXIT  ¬ã¤à¨« ® çñâ ¢ í⮬ R03 | ||||
| RST8WRR	EXX  | ||||
| 	POP	BC | ||||
| 	OUT	(C),B | ||||
| 	EXX  | ||||
| 	;R03 | ||||
| 	 SCF		;R03 | ||||
| 	 ;EX	AF,AF'	;R03	;!FIXIT  ¬ã¤à¨« ® çñâ ¢ í⮬ R03 | ||||
| 	; | ||||
| RST8WRR: RESTORE_PORTY | ||||
| 	POP	IY | ||||
| 	EX	AF,AF' | ||||
| 	;EX	AF,AF' | ||||
| 	RET  | ||||
| 
 | ||||
| ;WRITE SECTOR(S) | ||||
| @ -451,6 +448,7 @@ WRS000: | ||||
| 	PUSH	AF | ||||
| 	PUSH	DE | ||||
| 
 | ||||
| 	;[x] CMOS Write Protect Disabled | ||||
|         IF	HDDwriteProtect | ||||
| 	 PUSH	BC | ||||
| 	 LD	D,#1D           ;!HARDCODE CMOS Write Protect | ||||
| @ -462,7 +460,7 @@ WRS000: | ||||
| 	 POP	AF | ||||
| 	 EX	AF,AF' | ||||
| 	 LD	XL,0 | ||||
| 	 LD	A,8	;WRITE PROTECT | ||||
| 	 LD	A,BIOS.Error.WriteProtect | ||||
| 	 SCF  | ||||
| 	 RET  | ||||
|         ENDIF | ||||
| @ -483,13 +481,12 @@ WRS002:	EXX | ||||
| 	EXX  | ||||
| 	RET	C | ||||
| 
 | ||||
| 	//DI  | ||||
| 	;DI  | ||||
| 	IN	A,(SLOT3) | ||||
| 	EX	AF,AF' | ||||
| 	LD	A,XH | ||||
| 	OUT	(SLOT3),A | ||||
| 	LD	BC,IDE.Write.Data | ||||
| 	 | ||||
| 	;LD	D,#20 | ||||
| 	LD	D,512/WRITE_OUTI_DUPs | ||||
| WRS003: | ||||
| @ -542,18 +539,13 @@ WRS003: | ||||
| ;VERIFY	SECTOR(S) | ||||
| HDD_5x.VERIFY: | ||||
| 	PUSH	IY | ||||
| 
 | ||||
| 	SAFE_PORTY_2 | ||||
| 
 | ||||
| 	 SAFE_PORTY_2 | ||||
| 	PUSH	IX | ||||
| 	PUSH	HL | ||||
| 	CALL	VRS000 | ||||
| 	POP	HL | ||||
| 	POP	IX | ||||
| 	EXX  | ||||
| 	POP	BC | ||||
| 	OUT	(C),B | ||||
| 	EXX  | ||||
| 	 RESTORE_PORTY | ||||
| 	POP	IY | ||||
| 	RET  | ||||
| ;[]================================================================[#54] | ||||
| @ -679,9 +671,7 @@ CHS005:	INC	A | ||||
| WAITPRT: | ||||
| 	LD	BC,IDE.Read.Status | ||||
| 	LD	HL,#0000		; § ¤¥à¦ª  ;!HARDCODE | ||||
| 
 | ||||
| .loop:	PUSH	HL | ||||
| 
 | ||||
| .loop2:	IN	A,(C) | ||||
| 	AND	D | ||||
| 	CP	E | ||||
| @ -690,12 +680,12 @@ WAITPRT: | ||||
| 	LD	A,L | ||||
| 	OR	H | ||||
| 	JP	NZ,.loop2 | ||||
| 
 | ||||
| 	; | ||||
| 	POP	HL | ||||
| 	DEC	L | ||||
| 	JR	NZ,.loop | ||||
| 
 | ||||
| .error:	LD	A,4    			;!HARDCODE error number | ||||
| 	; | ||||
| .error:	LD	A,BIOS.Error.WaitPort | ||||
| 	SCF  | ||||
| 	RET  | ||||
| .ok:	POP	HL | ||||
| @ -711,7 +701,7 @@ WAITPRT: | ||||
| HDD_5x.DETECT: | ||||
| 	CP	#84	;!HARDCODE max HDD drives (#80,#81,#82,#83) | ||||
| 	CCF | ||||
| 	RET	C | ||||
| 	JR	C,.error | ||||
| 
 | ||||
| 	LD	HL,IDE.INIT_TBL_IDE0.DriveType | ||||
| 	AND	3 | ||||
| @ -736,5 +726,6 @@ HDD_5x.DETECT: | ||||
| 	CP	IDE.Device.HDD | ||||
| 	RET	Z | ||||
| 	SCF | ||||
| .error:	LD	A,BIOS.Error.BadDrvNumber | ||||
| 	RET  | ||||
| ;[]================================================================[#57] | ||||
| @ -179,7 +179,6 @@ FN_HDD_READ_BPB: | ||||
| 	RET	C | ||||
| 	CALL	HD_BPB_PREP | ||||
| 	RET	C | ||||
| 
 | ||||
| 	JR	HD_RD_L1 | ||||
| 
 | ||||
| 
 | ||||
| @ -249,14 +248,14 @@ HD_READ_CONT: | ||||
| 
 | ||||
| .loop_read1: | ||||
| 	DUP 16 | ||||
| 		INI							; ¢á¥£® 16 à § INI - ®¯â¨¬ «ì®. | ||||
| 	 INI								; ¢á¥£® 16 à § INI - ®¯â¨¬ «ì®. | ||||
| 	EDUP | ||||
|         JP NZ,.loop_read1 | ||||
|         JR NZ,.loop_read1 | ||||
| .loop_read2: | ||||
| 	DUP 16 | ||||
| 		INI							; ¢á¥£® 16 à § INI - ®¯â¨¬ «ì®. | ||||
| 	 INI								; ¢á¥£® 16 à § INI - ®¯â¨¬ «ì®. | ||||
| 	EDUP | ||||
|         JP NZ,.loop_read2 | ||||
|         JR NZ,.loop_read2 | ||||
| 
 | ||||
| 	LD A,H | ||||
| 	OR L | ||||
| @ -303,14 +302,14 @@ HD_WR_L2: | ||||
| 	JP Z,HD_RET | ||||
| 
 | ||||
|         LD	BC,IDE.Write.Data | ||||
|         LD	D,32 | ||||
|         LD	D,32	;!HARDCODE § ¢¨á¨â ®â áçñâ稪  DUP ¢ HD_WR_LOOP | ||||
| HD_WR_LOOP: | ||||
| 	DUP 16 | ||||
| 		OUTI						        ; ¢á¥£® 16 à § OUTI - ®¯â¨¬ «ì®. | ||||
| 	 OUTI						      		  ; ¢á¥£® 16 à § OUTI - ®¯â¨¬ «ì®. | ||||
| 	EDUP | ||||
| 
 | ||||
| 	DEC	D | ||||
| 	JP	NZ,HD_WR_LOOP | ||||
| 	JR	NZ,HD_WR_LOOP | ||||
| 
 | ||||
| 	LD	A,H | ||||
| 	OR	L | ||||
| @ -599,53 +598,51 @@ HD_CALC_SECS: | ||||
| 	BIT     6,A | ||||
| 	JR      NZ,HDD_LBA | ||||
| 	POP     BC							; ᨬ ¥¬ § ç¥¨¥ ¤«ï ª®à४⮣® ret | ||||
| 
 | ||||
| 	; | ||||
| 	LD      A,XH | ||||
| 	AND     A | ||||
| 	SCF | ||||
| 	RET     NZ							; ®è¨¡ª , ᫨誮¬ ¡®«ì让 HDD | ||||
| 
 | ||||
| ;	IX,DE -  ¡á®«îâë© ®¬¥à ᥪâ®à  | ||||
| 	; IX,DE -  ¡á®«îâë© ®¬¥à ᥪâ®à  | ||||
| 	PUSH    IX | ||||
| 	POP     HL | ||||
| 
 | ||||
| 	; | ||||
| 	IN      A,(SLOT3) | ||||
| 	LD      C,A | ||||
| 	LD      A,SYS_PAGE | ||||
| 	OUT     (SLOT3),A | ||||
| 	LD      A,C | ||||
| 	LD      (SYS_PAGE.COPY_SLOT3),A | ||||
| 
 | ||||
| ; HL,DE - ®¬¥à ᥪâ®à  | ||||
| ; BC - ç¨á«® ᥪâ®à®¢   樫¨¤à¥ | ||||
| 	; HL,DE - ®¬¥à ᥪâ®à  | ||||
| 	; BC - ç¨á«® ᥪâ®à®¢   樫¨¤à¥ | ||||
| 	LD      BC,(SYS_PAGE.HD_IDF_ADR.sec_cyl)			; ç¨á«® ᥪâ®à®¢   樫¨¤à¥ | ||||
| 	LD      A,16							; HL,DE à §¤¥«¨âì   BC | ||||
| 	SCF | ||||
| DIV_LOOP: | ||||
| .DIV_LOOP: | ||||
| 	EX	DE,HL | ||||
| 	ADD     HL,HL | ||||
| 	EX	DE,HL | ||||
| 	ADC     HL,HL | ||||
| 
 | ||||
| 	; | ||||
| 	SBC     HL,BC							; áà ¢¨âì HL ¨ BC | ||||
| 	JR	NC,NO_ADD						; ¯¥à¥®á  ¥ ¡ë«® - +1! | ||||
| 	JR	NC,.NO_ADD						; ¯¥à¥®á  ¥ ¡ë«® - +1! | ||||
| 	ADD	HL,BC | ||||
| 	DEC	A | ||||
| 	JR	NZ,DIV_LOOP | ||||
| 	JR	DIV_END | ||||
| NO_ADD: | ||||
| 	JR	NZ,.DIV_LOOP | ||||
| 	JR	.DIV_END | ||||
| .NO_ADD: | ||||
| 	INC DE | ||||
| 	DEC A | ||||
| 	JR NZ,DIV_LOOP | ||||
| DIV_END: | ||||
| ; DE - १ã«ìâ â, HL - ®áâ â®ª | ||||
| ; DE - 樫¨¤à | ||||
| 	JR NZ,.DIV_LOOP | ||||
| .DIV_END: | ||||
| 	; DE - १ã«ìâ â, HL - ®áâ â®ª | ||||
| 	; DE - 樫¨¤à | ||||
| 	LD A,(SYS_PAGE.HD_IDF_ADR+12)                                   ; !HARDCODE .sectors | ||||
| ; A - ç¨á«® ᥪâ®à®¢   ¤®à®¦ª¥ | ||||
| ; HL - ®¬¥à ᥪâ®à  ¢ 樫¨¤à¥ | ||||
| 	; A - ç¨á«® ᥪâ®à®¢   ¤®à®¦ª¥ | ||||
| 	; HL - ®¬¥à ᥪâ®à  ¢ 樫¨¤à¥ | ||||
| 	LD B,0 | ||||
| 	LD C,A | ||||
| ;	LD BC,(MS_BPB+S_P_T)                                            ; —ˆ‘‹Ž ‘…Š’Ž<E28099>Ž‚ <20>€ „Ž<E2809E>ކЅ | ||||
| 	;LD BC,(MS_BPB+S_P_T)						; —ˆ‘‹Ž ‘…Š’Ž<E28099>Ž‚ <20>€ „Ž<E2809E>ކЅ | ||||
| 	XOR A | ||||
| HD_CALC_LOOP2: | ||||
| 	SBC HL,BC | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Anatoliy Belyanskiy
						Anatoliy Belyanskiy