tst
This commit is contained in:
		
							parent
							
								
									1acf5f9a6a
								
							
						
					
					
						commit
						0c166ec49d
					
				| @ -1 +1 @@ | ||||
| Subproject commit 5aa6ffff2b5879e26a8ccf0925c18223c76da539 | ||||
| Subproject commit cc23cc96bb8bb12432622cc688b2e1afe39c6105 | ||||
| @ -1,130 +0,0 @@ | ||||
| 6E      0000.00 0110 1110 | ||||
| 7E      0000.00 0111 1110 | ||||
| EE      0000.00 1110 1110 | ||||
| FE      0000.00 1111 1110 | ||||
| 16E     0000.01 0110 1110 | ||||
| 17E     0000.01 0111 1110 | ||||
| 1EE     0000.01 1110 1110 | ||||
| 1FE     0000.01 1111 1110 | ||||
| 
 | ||||
| and     0000.00 0110 1110 | ||||
| or      0000.01 1111 1110 | ||||
| notAnd  0011.11 1001 0001 | ||||
| xor^    0011.10 0110 1111 | ||||
| 
 | ||||
| 
 | ||||
| ; DATA FOR DCP | ||||
| ; ¢¡¨¢ ¥¬ ¢ â ¡«¨æã DCP.XLSX ã¦ë© ¢¥è¨© ¯®àâ, | ||||
| ; ᬮâਬ ᬥ饨¥ ¤«ï OUT (‘),x - íâ®  ¤à¥á | ||||
| ; | ||||
| ;                        CCED/AAAAAAAAA | ||||
| ;                        NN1OW116517210 | ||||
| ;                        FF2SR54  3        | ||||
| ;          CC EDWA  AAAA AAAA | ||||
| ;          NN 1O/1  1651 7210 | ||||
| ;          FF 2SR5  4  3 | ||||
| ;          10 8 | ||||
| 
 | ||||
| and        00 0000  0000 0111 - a1 | ||||
| or         11 1011  1001 0111 - o1 | ||||
| not a1     11 1111  1111 1000 - n1 | ||||
| n1 xor o1  00 0110  0110 1111 | ||||
| 
 | ||||
| #10 ALTERA      #1F external | ||||
| ;       CS_WG93_1F       ...0...00.0111 | ||||
|         DW              %00 0000 0000 0111 ; -  ¤à¥á | ||||
|         DW              %00 0100 0110 1111 ; - ¬ áª  - 0 ¨§¬¥ï¥¬ë¥ ¡¨âë, 1 ¥¨§¬¥ï¥¬ë¥ | ||||
|         DB              #10             ; - ¯®àâ | ||||
|          | ||||
| 
 | ||||
| 
 | ||||
| Altera #16 | ||||
|   2D       00 0000  0010 1101        | ||||
|  82D       00 1000  0010 1101        | ||||
| 302D       11 0000  0010 1101        | ||||
| 342D       11 0100  0010 1101        | ||||
| 382D       11 1000  0010 1101        | ||||
| 3C2D       11 1100  0010 1101        | ||||
| 
 | ||||
| and        00 0000  0010 1101 - a1      adress | ||||
| or         11 1100  0010 1101 - o1       | ||||
| not a1     11 1111  1101 0010 - n1       | ||||
| n1 xor o1  00 0011  1111 1111           mask | ||||
| 
 | ||||
| Altera #17 | ||||
|   3D       00 0000  0011 1101  | ||||
|  83D       00 1000  0011 1101  | ||||
| 303D       11 0000  0011 1101  | ||||
| 343D       11 0100  0011 1101  | ||||
| 383D       11 1000  0011 1101  | ||||
| 3C3D       11 1100  0011 1101  | ||||
| 
 | ||||
| and        00 0000  0011 1101 - a1      adress | ||||
| or         11 1100  0011 1101 - o1       | ||||
| not a1     11 1111  1100 0010 - n1       | ||||
| n1 xor o1  00 0011  1111 1111           mask | ||||
| 
 | ||||
| and        00 0000  0011 1101 - a1      adress | ||||
| or         00 1000  0011 1101 - o1       | ||||
| not a1     11 1111  1100 0010 - n1       | ||||
| n1 xor o1  11 0111  1111 1111           mask | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| and        00 0000  0000 0000 - a1      adress | ||||
| not a1     00 0000  0000 0000 - n1       | ||||
| or         00 0000  0000 0000 - o1       | ||||
| n1 xor o1  00 0000  0000 0000           mask | ||||
| 
 | ||||
| Found 48 occurrences of '29'. | ||||
| 
 | ||||
|  4C5       00 0100  1100 0101 | ||||
|  4D5       00 0100  1101 0101 | ||||
|  6C5       00 0110  1100 0101 | ||||
|  6D5       00 0110  1101 0101 | ||||
|  CC5       00 1100  1100 0101 | ||||
|  CD5       00 1100  1101 0101 | ||||
|  EC5       00 1110  1100 0101 | ||||
|  ED5       00 1110  1101 0101 | ||||
| 
 | ||||
| 34C5       11 0100  1100 0101 | ||||
| 34D5       11 0100  1101 0101 | ||||
| 36C5       11 0110  1100 0101 | ||||
| 36D5       11 0110  1101 0101 | ||||
| 3CC5       11 1100  1100 0101 | ||||
| 3CD5       11 1100  1101 0101 | ||||
| 3EC5       11 1110  1100 0101 | ||||
| 3ED5       11 1110  1101 0101 | ||||
| 
 | ||||
| and        11 0100  1100 0101 - a1      adress | ||||
| not a1     00 1011  0011 1010 - n1       | ||||
| or         11 1110  1101 0101 - o1       | ||||
| n1 xor o1  11 0101  1110 1111           mask | ||||
| 
 | ||||
| 
 | ||||
| Found 12 occurrences of '1b'. | ||||
|  12D       00 0001  0010 1101 | ||||
|  52D       00 0101  0010 1101 | ||||
|  92D       00 1001  0010 1101 | ||||
|  D2D       00 1101  0010 1101 | ||||
| 
 | ||||
| 312D       11 0001  0010 1101 | ||||
| 352D       11 0101  0010 1101 | ||||
| 392D       11 1001  0010 1101 | ||||
| 3D2D       11 1101  0010 1101 | ||||
| 
 | ||||
| and        11 0001  0010 1101 - a1      adress | ||||
| not a1     00 1110  1101 0010 - n1       | ||||
| or         11 1101  0010 1101 - o1       | ||||
| n1 xor o1  11 0011  1111 1111           mask | ||||
| 
 | ||||
| 
 | ||||
| 21BD       10 0001  1011 1101 | ||||
| 23BD       10 0011  1011 1101 | ||||
| 29BD       10 1001  1011 1101 | ||||
| 2BBD       10 1011  1011 1101 | ||||
| 
 | ||||
| and        10 0001  1011 1101 - a1      adress | ||||
| not a1     01 1110  0100 0010 - n1       | ||||
| or         10 1011  1011 1101 - o1       | ||||
| n1 xor o1  11 0101  1111 1111           mask | ||||
| @ -129,9 +129,9 @@ CD_READ: | ||||
| ;	 0Bh - ABORTED COMMAND | ||||
| ;	 80h - TIME OUT | ||||
| AP_COM:	AND	#01 | ||||
| 	LD	A,#A0 | ||||
| 	LD	A,IDE.Drive.Master | ||||
| 	JR	Z,.APCOM1 | ||||
| 	LD	A,#B0 | ||||
| 	LD	A,IDE.Drive.Slave | ||||
| .APCOM1	LD	BC,IDE.Write.DeviceHead | ||||
| 	OUT	(C),A		;SELECT	DRIVE | ||||
| 	EXX  | ||||
| @ -183,7 +183,7 @@ AP_COM:	AND	#01 | ||||
| 	LD	BC,IDE.Write.CylinderHigh | ||||
| 	OUT	(C),D | ||||
| 	LD	BC,IDE.Write.Command | ||||
| 	LD	A,#A0 | ||||
| 	LD	A,IDE.ATAPI.Packet | ||||
| 	OUT	(C),A | ||||
| 	LD	DE,#8000 | ||||
| 	;LD	BC,IDE.Read.Status | ||||
|  | ||||
| @ -678,7 +678,7 @@ CHS005:	INC	A | ||||
| 	//; BC - PORT | ||||
| WAITPRT: | ||||
| 	LD	BC,IDE.Read.Status | ||||
| 	LD	HL,#0000		; § ¤¥à¦ª  | ||||
| 	LD	HL,#0000		; § ¤¥à¦ª  ;!HARDCODE | ||||
| 
 | ||||
| .loop:	PUSH	HL | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| ; | ||||
|  MACRO WAIT_HDD | ||||
| .loop:	LD BC,IDE.Read.Status	 | ||||
| 	IN A,(C) | ||||
| 	LD BC,IDE.Read.Status	 | ||||
| .loop:	IN A,(C) | ||||
| 	BIT IDE.ControlBit.Busy,A | ||||
| 	JR NZ,.loop | ||||
|  ENDM | ||||
| @ -128,7 +128,7 @@ NEXT_ADD_SEC: | ||||
| 	AND #F0 | ||||
| 	OR E | ||||
| 	INC B | ||||
| 	OUT (C),A							; ????? HEADS?! IDE.Write.DeviceHead | ||||
| 	OUT (C),A							; IDE.Write.DeviceHead | ||||
| 
 | ||||
| 	POP AF | ||||
| 	RET | ||||
| @ -328,7 +328,7 @@ HD_WR_LOOP: | ||||
| 	JR	HD_WR_L2 | ||||
| 
 | ||||
| FN_HDD_RECAL: | ||||
| 	LD	A,#A0 | ||||
| 	LD	A,IDE.Drive.Master | ||||
| 	LD	BC,IDE.Write.DeviceHead | ||||
| 	OUT	(C),A | ||||
| 	LD	A,IDE.ATA.ExecuteDeviceDiagnostic | ||||
| @ -443,7 +443,7 @@ TEST_HDD_DRV: | ||||
| 
 | ||||
| FN_HDD_INIT: | ||||
| 	LD	BC,IDE.Write.DeviceHead | ||||
| 	LD	A,#A0 | ||||
| 	LD	A,IDE.Drive.Master | ||||
| 	OUT	(C),A | ||||
| 	CALL    TEST_HDD_DRV | ||||
| 	JR	NZ,HD_ABSENT | ||||
| @ -503,7 +503,7 @@ HD_C0_L2: | ||||
| 	OR	B | ||||
| 
 | ||||
| 	LD	H,A | ||||
| 	LD	A,(SYS_PAGE.HD_IDF_ADR+99)				; ????? LBA? | ||||
| 	LD	A,(SYS_PAGE.HD_IDF_ADR+99)				; !HARDCODE ç¥à¥§ áâàãªâãàã! | ||||
| 	BIT	1,A | ||||
| 	JR	Z,HD_C0_NO_LBA | ||||
| 	SET	6,H | ||||
|  | ||||
| @ -527,20 +527,20 @@ CLS_WIN:CALL	LP_BEG_P | ||||
|         CALL	LP_TAB_E | ||||
| 	PUSH	DE | ||||
| 	EXX | ||||
| 	LD	BC,(SYS_PAGE.SYS_WORK1) | ||||
| 	 LD	BC,(SYS_PAGE.SYS_WORK1) | ||||
| 	EXX | ||||
| 	LD	B,L | ||||
| 	LD	A,#50 | ||||
| 	OUT	(SLOT3),A | ||||
| 
 | ||||
| .loop2:	EXX | ||||
| 	LD	A,D | ||||
| 	OUT	(PORT_Y),A | ||||
| 	LD	(HL),C | ||||
| 	INC	L | ||||
| 	LD	(HL),B | ||||
| 	DEC	L | ||||
| 	INC	D | ||||
| 	 LD	A,D | ||||
| 	 OUT	(PORT_Y),A | ||||
| 	 LD	(HL),C | ||||
| 	 INC	L | ||||
| 	 LD	(HL),B | ||||
| 	 DEC	L | ||||
| 	 INC	D | ||||
|  	EXX | ||||
| 	DJNZ	.loop2 | ||||
| 
 | ||||
|  | ||||
| @ -94,21 +94,12 @@ WAIT_IDE	EQU	#0000 | ||||
| WAIT_SML	EQU	#1000 | ||||
| WAIT_ERROR	EQU	#0400 | ||||
| 
 | ||||
| IDE__CD: | ||||
| 	CALL	SELECT_IDE | ||||
| ;MASTER | ||||
| CDAUTO: | ||||
| 	LD	A,IDE.Device.CDROM | ||||
| 	LD	(IDEDEV),A | ||||
| 	LD	A,#FF			;!FIXIT ¬®¦® ®¯â¨¬¨§¨à®¢ âì | ||||
| 	JP	CDMASTR | ||||
| 
 | ||||
| SELECT_IDE: | ||||
| 	AND	A	;%0000'0011 | ||||
| 	LD	D,IDE.Drive.Master | ||||
| 	JR	Z,.AUTO_0 | ||||
| 	DEC	A | ||||
| 	LD	D,#B0 | ||||
| 	LD	D,IDE.Drive.Slave | ||||
| 	JR	Z,.AUTO_0 | ||||
| 	DEC	A | ||||
| 	;R00 | ||||
| @ -132,7 +123,22 @@ SELECT_IDE: | ||||
| 	; | ||||
| 	RET | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| IDE__CD: | ||||
| 	CALL	SELECT_IDE | ||||
| ;MASTER | ||||
| CDAUTO: | ||||
| 	LD	A,IDE.Device.CDROM | ||||
| 	LD	(IDEDEV),A | ||||
| 	LD	A,#FF			;!FIXIT ¬®¦® ®¯â¨¬¨§¨à®¢ âì | ||||
| 	JP	CDMASTR | ||||
| 
 | ||||
| IDEAUTO: | ||||
| 	;Disable 8-bit data transfer | ||||
| 	 ;!TODO | ||||
| 	; | ||||
| 
 | ||||
| 	CALL	SELECT_IDE | ||||
| 	LD	A,IDE.Device.NONE | ||||
| 	LD	(IDEDEV),A | ||||
| @ -261,10 +267,14 @@ WXREADY: | ||||
| 	JP	Z,ABSENT | ||||
| 	CALL	SKIPKEY | ||||
| 	JP	C,ABSENT | ||||
|  	;LD	BC,IDE.Read.Status | ||||
|  	LD	BC,IDE.Read.Status | ||||
| 	IN	A,(C) | ||||
| 	AND	#C0 | ||||
| 	CP	#40 | ||||
| 	;!TEST detect drives | ||||
| 	 ;AND	#C0 | ||||
| 	 ;CP	#40 | ||||
| 	 AND	#81 | ||||
| 	 CP	1 | ||||
| 	; | ||||
| 	JR	NZ,WXREADY | ||||
| 
 | ||||
| ;	LD	A,#90		;????? | ||||
| @ -295,7 +305,10 @@ GETPARM: | ||||
| 	INIR  | ||||
| 	INIR  | ||||
| 	CALL	IDESPEC | ||||
| 	AND	A | ||||
| 	;!TEST save hdd parameters to cmos for "setup" in settings | ||||
| 	 CALL	SaveToCMOS | ||||
| 	; | ||||
| .exit:	AND	A | ||||
| 	RET  | ||||
| 
 | ||||
| Non_ATA: LD	A,IDE.Device.CDROM | ||||
| @ -324,6 +337,17 @@ IDESPEC: | ||||
| 	LD	(IY+IDE.HDD_INIT_TABLE.DriveType),A	 | ||||
| 	CP	IDE.Device.CDROM | ||||
| 	JP	Z,FOR_CDR | ||||
| 	;Check write caching | ||||
| 	LD	A,(TEMP+85*2)						; !TODO ᤥ« âì ç¥à¥§ áâàãªâãàã. ‚ª«îç¥ «¨ ªíè § ¯¨á¨? | ||||
| 	AND	%0010'0000 | ||||
| 	JR	Z,.NoWriteCache | ||||
| 	;Disable write caching | ||||
| 	LD	BC,IDE.Write.Features | ||||
| 	LD	A,IDE.ATA.SetFeatures.DisableWriteCache | ||||
| 	OUT	(C),A | ||||
| 	LD	A,IDE.ATA.SetFeatures | ||||
| 	CALL	IDE_CMD | ||||
| .NoWriteCache: | ||||
| 	LD	BC,IDE.Read.Control | ||||
| 	IN	A,(C) | ||||
| 	AND	#F0 | ||||
| @ -361,8 +385,9 @@ NONLBA:	LD	A,B | ||||
| ;	RET	C | ||||
| 	LD	C,(IY+IDE.HDD_INIT_TABLE.SectorsPerTrack)               ; Sector per track | ||||
| 	LD	B,0 | ||||
| 	LD	H,B | ||||
| 	LD	L,B | ||||
| 	LD	A,(IY+IDE.HDD_INIT_TABLE.HeadsNumber)                   ; Head per HDD | ||||
| 	LD	HL,0 | ||||
| HDDINI3: | ||||
| 	ADD	HL,BC | ||||
| 	DEC	A | ||||
| @ -370,6 +395,9 @@ HDDINI3: | ||||
| 	LD	(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow),L | ||||
| 	LD	(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh),H | ||||
| NOSPEC: | ||||
| 	;!TEST save hdd parameters to cmos for "setup" in settings | ||||
| 	 LD	A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)	; for save to cmos in GETPARM | ||||
| 	; | ||||
| 	EX	AF,AF' | ||||
| 	OUT	(SLOT3),A | ||||
| 	AND	A | ||||
| @ -388,7 +416,6 @@ IDE_CMD: | ||||
| 	PUSH	AF | ||||
| 	LD	HL,WAIT_IDE | ||||
| 	LD	DE,#C040 | ||||
| 	;LD	BC,IDE.Read.Status | ||||
| 	CALL	WAIT_PRT | ||||
| 	POP	DE | ||||
| 	RET	C | ||||
| @ -396,12 +423,11 @@ IDE_CMD: | ||||
| 	OUT	(C),D | ||||
| 	LD	HL,WAIT_IDE | ||||
| 	LD	DE,#C040 | ||||
| 	;LD	BC,IDE.Read.Status | ||||
| 	JP	WAIT_PRT | ||||
| 
 | ||||
| WAITHDD: | ||||
| 	EI  | ||||
| 	LD	HL,1533 | ||||
| 	LD	HL,1533			;!HARDCODE HDD | ||||
| WTREADY: | ||||
| 	HALT  | ||||
| 	LD	BC,IDE.Read.Status | ||||
| @ -458,6 +484,50 @@ SKIPKEY: | ||||
| 	SCF  | ||||
| 	RET  | ||||
| 
 | ||||
| ;!TEST save hdd parameters to cmos for "setup" in settings | ||||
| ; IN: A' = DRV_Flags | ||||
| SaveToCMOS: | ||||
| 	LD	A,(IDEDEV) | ||||
| 	CP	IDE.Device.HDD | ||||
| 	RET	NZ | ||||
| 
 | ||||
| 	EX	AF,AF' | ||||
| 	;LD	A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) | ||||
| 	AND	%0001'0001 | ||||
| 	LD	IX,PRIM_MASTER_CMOS_T | ||||
| 	JR	Z,.save_to_cmos | ||||
| 	; | ||||
| 	DEC	A | ||||
| 	LD	IX,SEC_MASTER_CMOS_T | ||||
| 	JR	Z,.save_to_cmos	  | ||||
| 	; | ||||
| 	CP	%0001'0000 | ||||
| 	LD	IX,SEC_SLAVE_CMOS_T | ||||
| 	JR	Z,.save_to_cmos	 | ||||
| 	; | ||||
| 	LD	IX,PRIM_SLAVE_CMOS_T | ||||
| .save_to_cmos: | ||||
| 	LD	HL,(TEMP+1*2) | ||||
| 	LD	B,L | ||||
| 	LD	A,(IX+0) | ||||
| 	CALL	WRITCMS			; Cylinder low | ||||
| 
 | ||||
| 	LD	B,H | ||||
| 	LD	A,(IX+1) | ||||
| 	CALL	WRITCMS			; Cylinder high | ||||
| 
 | ||||
| 	LD	A,(TEMP+3*2) | ||||
| 	LD	B,A | ||||
| 	LD	A,(IX+2) | ||||
| 	CALL	WRITCMS			; Heads | ||||
| 
 | ||||
| 	LD	A,(TEMP+6*2) | ||||
| 	LD	B,A | ||||
| 	LD	A,(IX+3) | ||||
| 	JP	WRITCMS			; Heads	  | ||||
| ;;;;;;;;;; | ||||
| 
 | ||||
| 
 | ||||
| SKIP:		DB	#FF | ||||
| IDEDEV:		DB	#FF | ||||
| ICHANEL:	DB	#00 | ||||
|  | ||||
| @ -74,25 +74,46 @@ | ||||
| 
 | ||||
| ;!!!!!!!!!!!!!!!!!!!!!! | ||||
| ; !FIXIT ¯à®¢¥à¨âì â ª¨¥ ¦¥ «¨  ¤à¥á  CMOS ¢ Settings ¨á¯®«ì§ãîâáï  | ||||
| SM_CYLL	EQU	#2F | ||||
| SM_CYLH	EQU	#30 | ||||
| SM_HEAD	EQU	#31 | ||||
| SM_SECT	EQU	#32 | ||||
| ; SM_CYLL	EQU	#2F | ||||
| ; SM_CYLH	EQU	#30 | ||||
| ; SM_HEAD	EQU	#31 | ||||
| ; SM_SECT	EQU	#32 | ||||
| 
 | ||||
| SS_CYLL	EQU	#33 | ||||
| SS_CYLH	EQU	#34 | ||||
| SS_HEAD	EQU	#35 | ||||
| SS_SECT	EQU	#36 | ||||
| ; SS_CYLL	EQU	#33 | ||||
| ; SS_CYLH	EQU	#34 | ||||
| ; SS_HEAD	EQU	#35 | ||||
| ; SS_SECT	EQU	#36 | ||||
| 
 | ||||
| M_CYLL	EQU	#37 | ||||
| M_CYLH	EQU	#38 | ||||
| M_HEAD	EQU	#39 | ||||
| M_SECT	EQU	#3A | ||||
| ; M_CYLL	EQU	#37 | ||||
| ; M_CYLH	EQU	#38 | ||||
| ; M_HEAD	EQU	#39 | ||||
| ; M_SECT	EQU	#3A | ||||
| 
 | ||||
| ; S_CYLL	EQU	#3B | ||||
| ; S_CYLH	EQU	#3C | ||||
| ; S_HEAD	EQU	#3D | ||||
| ; S_SECT	EQU	#3E | ||||
| 
 | ||||
| M_CYLL	EQU	#12 | ||||
| M_CYLH	EQU	#13 | ||||
| M_HEAD	EQU	#14 | ||||
| M_SECT	EQU	#15 | ||||
| 
 | ||||
| S_CYLL	EQU	#16 | ||||
| S_CYLH	EQU	#17 | ||||
| S_HEAD	EQU	#18 | ||||
| S_SECT	EQU	#19 | ||||
| 
 | ||||
| SM_CYLL	EQU	#37 | ||||
| SM_CYLH	EQU	#38 | ||||
| SM_HEAD	EQU	#39 | ||||
| SM_SECT	EQU	#3A | ||||
| 
 | ||||
| SS_CYLL	EQU	#3B | ||||
| SS_CYLH	EQU	#3C | ||||
| SS_HEAD	EQU	#3D | ||||
| SS_SECT	EQU	#3E | ||||
| 
 | ||||
| S_CYLL	EQU	#3B | ||||
| S_CYLH	EQU	#3C | ||||
| S_HEAD	EQU	#3D | ||||
| S_SECT	EQU	#3E | ||||
| ;!!!!!!!!!!!!!!!!!!!!!! | ||||
| 
 | ||||
| 
 | ||||
| @ -1101,10 +1122,11 @@ AUTODET: | ||||
| 	OUT	(SLOT3),A | ||||
| 	LD	HL,IDE.INIT_TBL_IDE0 | ||||
| 	LD	BC,256*(IDE.HDD_INIT_TABLE * 4) + #FF	;R02 | ||||
| FILLIDE: | ||||
| 	LD	(HL),C		;CLEAR HDD VARIABLE | ||||
| ;CLEAR HDD VARIABLE | ||||
| .FILLIDE: | ||||
| 	LD	(HL),C		 | ||||
| 	INC	HL | ||||
| 	DJNZ	FILLIDE | ||||
| 	DJNZ	.FILLIDE | ||||
| 	EX	AF,AF' | ||||
| 	OUT	(SLOT3),A | ||||
| 
 | ||||
| @ -1127,7 +1149,7 @@ FILLIDE: | ||||
| 	;========================================== | ||||
| 
 | ||||
| 	LD	IY,IDE.INIT_TBL_IDE0 | ||||
| 	LD	A,#00 | ||||
| 	XOR	A | ||||
| 	CALL	COMMONIDE | ||||
| 
 | ||||
| 	LD	IY,IDE.INIT_TBL_IDE1 | ||||
| @ -1142,6 +1164,9 @@ FILLIDE: | ||||
| 	LD	A,#03 | ||||
| 	CALL	COMMONIDE | ||||
| 
 | ||||
| 	;!TEST save hdd parameters to cmos for "setup" in settings | ||||
| 	 CALL	WRITING | ||||
| 	; | ||||
| 	CALL	ScreenPOS.CRLF | ||||
| 	RET | ||||
| ; | ||||
| @ -1260,14 +1285,17 @@ SEC_SLAVE_CMOS_T: | ||||
| SETUPDETECT: | ||||
| 	LD	A,H | ||||
| 	LD	IX,PRIM_MASTER_CMOS_T | ||||
| 	CP	0 | ||||
| 	OR	A | ||||
| 	JR	Z,SETUPD2 | ||||
| 	; | ||||
| 	LD	IX,PRIM_SLAVE_CMOS_T | ||||
| 	CP	1 | ||||
| 	JR	Z,SETUPD2 | ||||
| 	; | ||||
| 	LD	IX,SEC_MASTER_CMOS_T | ||||
| 	CP	2 | ||||
| 	JR	Z,SETUPD2 | ||||
| 	; | ||||
| 	LD	IX,SEC_SLAVE_CMOS_T | ||||
| SETUPD2: | ||||
| 	CALL	SELECT_IDE | ||||
| @ -1278,23 +1306,28 @@ SETUPD2: | ||||
| 	LDIR  | ||||
| 	CALL	WAITHDD | ||||
| 	RET	C | ||||
| 	;; | ||||
| 	LD	A,(IX+2)	;M_HEAD | ||||
| 	CALL	READCMS | ||||
| 	LD	(TEMP+#06),A                            ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. HEADS PER TRACK | ||||
| 	LD	(TEMP+3*2),A                            ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. HEADS PER TRACK | ||||
| 	; | ||||
| 	LD	A,(IX+1)	;M_CYLH | ||||
| 	CALL	READCMS | ||||
| 	PUSH	AF | ||||
| 	; | ||||
| 	LD	A,(IX+0)	;M_CYLL | ||||
| 	CALL	READCMS | ||||
| 	POP	HL | ||||
| 	LD	L,A | ||||
| 	LD	(TEMP+#02),HL                           ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. CYLINDERS | ||||
| 	LD	(TEMP+1*2),HL                           ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. CYLINDERS | ||||
| 	; | ||||
| 	LD	A,(IX+3)	;M_SECT | ||||
| 	CALL	READCMS | ||||
| 	LD	(TEMP+#0C),A                            ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. SECTOR PER TRACK | ||||
| 	LD	A,#A0 | ||||
| 	LD	BC,IDE.Write.DeviceHead | ||||
| 	OUT	(C),A | ||||
| 	LD	(TEMP+6*2),A                            ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. SECTOR PER TRACK | ||||
| 	; | ||||
| 	;LD	A,IDE.Drive.Master | ||||
| 	;LD	BC,IDE.Write.DeviceHead | ||||
| 	;OUT	(C),A | ||||
| 	LD	A,IDE.Device.HDD | ||||
| 	LD	(IDEDEV),A | ||||
| 	CALL	IDESPEC | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| ;U_SETUP: | ||||
| SETTINGS: | ||||
| 	LD	A,#1A                                                   ; !HARDCODE | ||||
| 	LD	A,CMOS.Cell.ScreenSET | ||||
| 	CALL	READCMS | ||||
| 	AND	#0F | ||||
| 	AND	CMOS.Cell.ScreenSET.Mask.ColorStyle | ||||
| 	LD	L,A | ||||
| 	CALL	CSET | ||||
| 	LD	DE,0 | ||||
| @ -248,13 +248,13 @@ DECITM: | ||||
| 	JP	PCURSOR | ||||
| 
 | ||||
| CCHANGE: | ||||
| 	LD	A,#1A | ||||
| 	LD	A,CMOS.Cell.ScreenSET | ||||
| 	CALL	READCMS | ||||
| 	INC	A | ||||
| 	AND	#0F | ||||
| 	AND	CMOS.Cell.ScreenSET.Mask.ColorStyle | ||||
| 	LD	L,A | ||||
| 	LD	B,A | ||||
| 	LD	A,#1A | ||||
| 	LD	A,CMOS.Cell.ScreenSET | ||||
| 	CALL	WRITCMS | ||||
| CSET: | ||||
| 	LD	H,0 | ||||
| @ -545,7 +545,7 @@ PITEM:  LD      E,(IY+MenusItem.Column)                                 ; x-coor | ||||
|         JR      NZ,.printParameter                                      ; ¥á«¨ íâ® ¥ áâப  á ¨§¬¥ï¥¬ë¬ ¯ à ¬¥â஬, â® ¯à®áâ® ¯¥ç âì | ||||
| 
 | ||||
|         LD      A,(IY+MenusItem.CMOSreg)                                ; address of next parametr | ||||
|         CALL    READCMS                                                 ; read item`s value from cmos | ||||
|         CALL	READCMS                                                 ; read item`s value from cmos | ||||
| 
 | ||||
| 	LD	B,(IY+MenusItem.ValueMask)                              ; item's value mask | ||||
| 	AND	B | ||||
| @ -573,7 +573,6 @@ PITEM:	LD	E,(HL)                                                  ; x-coordinate | ||||
| 	LD	D,(HL)                                                  ; y-coordinate | ||||
| 	INC	HL                                                      ; address of next parametr | ||||
| 	PUSH    HL | ||||
| 	;CALL	ScreenPOS.LOCAT | ||||
|         CALL    LP_SET_PLACE                                            ; set position of item | ||||
| 	LD      A,(HL) | ||||
| 	CALL	POSTMSG | ||||
| @ -657,7 +656,7 @@ CHEKSUM: | ||||
| 
 | ||||
| TCHEKSM: | ||||
| 	CALL	CHEKSUM | ||||
| 	LD	A,#3F							;!HARDCODE | ||||
| 	LD	A,#3F							; !HARDCODE CMOS | ||||
| 	CALL	READCMS | ||||
| 	CP	H | ||||
| 	RET  | ||||
| @ -676,7 +675,7 @@ TCHEKSM: | ||||
| ; 	JP_to_BIOS | ||||
| 
 | ||||
| READING: | ||||
| 	LD	D,#0E                                                   ; !HARDCODE CMOS  | ||||
| 	LD	D,CMOS.USED_MIN_ADDRESS | ||||
| .loop:	PUSH	DE | ||||
| 	CALL    CMOS_RD | ||||
|         POP	DE | ||||
| @ -692,9 +691,9 @@ READING: | ||||
| WRITING: | ||||
| 	CALL	CHEKSUM | ||||
| 	LD	B,H | ||||
| 	LD	A,#3F | ||||
| 	LD	A,CMOS.Cell.CheckSum | ||||
| 	CALL	WRITCMS | ||||
| 	LD	D,#0E                                                   ; !HARDCODE CMOS  | ||||
| 	LD	D,CMOS.USED_MIN_ADDRESS                                                   ; !HARDCODE CMOS  | ||||
| .loop: | ||||
| 	LD	H,high CMOSARE | ||||
| 	LD	L,D | ||||
| @ -710,7 +709,7 @@ WRITING: | ||||
| 	RET  | ||||
| 
 | ||||
| SETDEFX: | ||||
| 	LD A,#FF | ||||
| 	LD	A,#FF | ||||
| 	LD	(ERRSUM),A | ||||
| 	CALL	SETDEF | ||||
| 	JP	WRITING | ||||
| @ -718,7 +717,7 @@ SETDEFX: | ||||
| SETDEF:							;!TODO ¬®¦¥â ¡ åãâì LDIR®¬? ¯®á¬®âà¥âì | ||||
| 	LD	HL,DEFVAL | ||||
| 	LD	C,DEFVAL.Size | ||||
| 	LD	A,#0E                                                   ; !HARDCODE CMOS c¬¥é¥¨¥ ¢ â ¡«¨æ¥ ¤® ï祥ª ¯ ¬ï⨠| ||||
| 	LD	A,CMOS.USED_MIN_ADDRESS | ||||
| .loop: | ||||
| 	LD	B,(HL) | ||||
| 	INC	HL | ||||
| @ -729,17 +728,17 @@ SETDEF:							;!TODO  | ||||
| 	DEC	C | ||||
| 	JR	NZ,.loop | ||||
| ;REGISTER #35 -	BASIC SETTING 1 | ||||
| 	LD	A,#35 | ||||
| 	LD	A,#35			;!HARDCODE cmos | ||||
| 	LD	B,#00 | ||||
| 	CALL	WRITCMS | ||||
| ;REGISTER #36 -	BASIC SETTING 2 | ||||
| 	LD	A,#36 | ||||
| 	LD	A,#36			;!HARDCODE cmos | ||||
| 	LD	B,#00 | ||||
| 	CALL	WRITCMS | ||||
| 
 | ||||
| 	CALL	CHEKSUM | ||||
| 	LD	B,H | ||||
| 	LD	A,#3F | ||||
| 	LD	A,CMOS.Cell.CheckSum | ||||
| 	CALL	WRITCMS | ||||
| 	RET  | ||||
| 
 | ||||
| @ -827,9 +826,9 @@ setXYpos: | ||||
|         JP RESCREEN | ||||
| 
 | ||||
| setVsinc: | ||||
|         ld a,@CMOS.Cell.ScreenSET | ||||
|         ld a,CMOS.Cell.ScreenSET | ||||
|         call READCMS | ||||
|         and @CMOS.Cell.ScreenSET.Mask.Sinc | ||||
|         and CMOS.Cell.ScreenSET.Mask.Sinc | ||||
|         SCF | ||||
|         jr z,.skip                                              ;320 | ||||
|         SLA A | ||||
| @ -844,9 +843,9 @@ setLang: | ||||
|         ld (ITEM_Restore),a | ||||
|         pop hl							; delete return adress from stack | ||||
|         jp SETTINGS	 | ||||
| setInt: ld a,@CMOS.Cell.ScreenSET | ||||
| setInt: ld a,CMOS.Cell.ScreenSET | ||||
|         call READCMS | ||||
|         and @CMOS.Cell.ScreenSET.Mask.Int | ||||
|         and CMOS.Cell.ScreenSET.Mask.Int | ||||
|         jr nz,.skipDefaultInt | ||||
|         ld a,2							; Pentagon sync - default | ||||
|         jr .set | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Anatoliy Belyanskiy
						Anatoliy Belyanskiy