новый бит в переменной HDD_INIT_TABLE.MediaParameters, мелкие правки
This commit is contained in:
		
							parent
							
								
									5069c5941e
								
							
						
					
					
						commit
						fddc5985b8
					
				| @ -1 +1 @@ | ||||
| Subproject commit 63faf9f0823649cfb52e9fcaad430170a05b31a7 | ||||
| Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1 | ||||
										
											Binary file not shown.
										
									
								
							| @ -19,6 +19,9 @@ RAM_ATAPI_PK 				EQU	SYS_PAGE.SHARED_BUFFER_32b | ||||
| RAM_ATAPI_RW_CMD			EQU	SYS_PAGE.SHARED_BUFFER_32b+16 | ||||
| MAX_DATA_PACKET_FOR_REQUEST_SENSE	EQU	254 | ||||
| 
 | ||||
| 
 | ||||
| _ZIP_WAITS_				EQU	128 | ||||
| 
 | ||||
| 	ASSERT ((PACKET_SIZE % 4) = 0), "PACKET_SIZE must be an even number" | ||||
| 
 | ||||
| ;[]================================================================[#51] | ||||
| @ -93,6 +96,7 @@ ATAPI_5x_GET_PAR: | ||||
| 		 OUT	(SLOT3),A | ||||
| 		 ; | ||||
| 	; [ ] sector size. media changed | ||||
| 		 RES	1,(IY + IDE.HDD_INIT_TABLE.MediaParameters)	; [ ] removable media | ||||
| 		 CALL	ATAPI_CHECK_MEDIA_CHANGED | ||||
| 		EX	AF,AF' | ||||
| 		POP	AF | ||||
| @ -123,6 +127,10 @@ ATAPI_5x_GET_PAR: | ||||
| 		SCF | ||||
| 		EX	AF,AF' | ||||
| .get_data:	 LD	A,(IY+IDE.HDD_INIT_TABLE.MediaParameters) | ||||
| 		 AND	%000'0100 | ||||
| 		 CALL	NZ,.RereadCapacity | ||||
| 		 ; | ||||
| 		 LD	A,(IY+IDE.HDD_INIT_TABLE.MediaParameters) | ||||
| 		 LD	B,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) | ||||
| 		 ; [ ] sector size | ||||
| 		 LD	E,(IY+IDE.HDD_INIT_TABLE.SectorSize) | ||||
| @ -139,7 +147,14 @@ ATAPI_5x_GET_PAR: | ||||
| 		OUT	(SLOT3),A | ||||
| 		LD	A,BIOS.Error.ATAPI.UnitAttention	; ¥á«¨ CF, â® ®¬¥à ®è¨¡ª¨ | ||||
| 		EX	AF,AF | ||||
| 		RET  | ||||
| 		RET | ||||
| .RereadCapacity: | ||||
| 		EX	AF,AF' | ||||
| 		PUSH	AF | ||||
| 		CALL	GET_ATAPI_CAPACITY | ||||
| 		POP	AF | ||||
| 		EX	AF,AF' | ||||
| 		RET | ||||
| ;[]================================================================[#58] | ||||
| 
 | ||||
| 
 | ||||
| @ -515,27 +530,7 @@ EXEC_PACKET_COMMAND: | ||||
| 		RET	NZ | ||||
| 		LD	A,BIOS.Error.Failure | ||||
| 		RET | ||||
| ;		 | ||||
| ; .error_ex:	EX	DE,HL | ||||
| ; .error:		CP	#FF | ||||
| ; .error_fail:	SCF | ||||
| ; 		LD	C,A | ||||
| ; 		LD	A,BIOS.Error.Failure | ||||
| ; 		RET	Z | ||||
| ; 		; | ||||
| ; 		LD	A,BIOS.Error.ATAPI.UnitAttention | ||||
| ; 		CP	C | ||||
| ; 		SCF | ||||
| ; 		RET	Z | ||||
| ; 		; | ||||
| ; 		LD	A,BIOS.Error.ATAPI.MediumError | ||||
| ; 		CP	C | ||||
| ; 		SCF | ||||
| ; 		RET	Z | ||||
| ; 		; | ||||
| ; 		LD	A,BIOS.Error.Busy | ||||
| ; 		RET | ||||
| ; | ||||
| 		; | ||||
| .error_TimeOut:	CP	#FF | ||||
| 		EX	DE,HL | ||||
| 		JR	Z,.error_fail | ||||
| @ -543,10 +538,8 @@ EXEC_PACKET_COMMAND: | ||||
| 		SCF | ||||
| 		RET | ||||
| 		; | ||||
| ; .start_sys_page: | ||||
| ; 		LD	A,SYS_PAGE | ||||
| ; 		EX	AF,AF' | ||||
| 		; | ||||
| ; | ||||
| .start:		XOR	A	; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª  á¬¥ë ®á¨â¥«ï ¤®«¦  ®¡à ¡ â뢠âìáï ¢ EXEC_PACKET_COMMAND | ||||
| .start_custom:	EXX | ||||
| 		 LD	C,A	; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª  á¬¥ë ®á¨â¥«ï ¤®«¦  ®¡à ¡ â뢠âìáï ¢ EXEC_PACKET_COMMAND | ||||
| @ -636,7 +629,7 @@ EXEC_PACKET_COMMAND: | ||||
| 		EX	DE,HL | ||||
| 		; | ||||
| .AP_LOOP:	;CALL	ATAPI_WAITPRT.wait_NZ | ||||
| 		LD	B,128 | ||||
| 		LD	B,_ZIP_WAITS_ | ||||
| 		DJNZ	$ | ||||
| 		CALL	ATAPI_CHECK_DRV | ||||
| 		JP	C,.error;_APLOOP | ||||
| @ -683,7 +676,7 @@ EXEC_PACKET_COMMAND: | ||||
| 		JR	.return_rw | ||||
| 	;	; | ||||
| .END_BUFFER:	;CALL	ATAPI_WAITPRT.wait_NZ | ||||
| 		LD	B,128 | ||||
| 		LD	B,_ZIP_WAITS_ | ||||
| 		DJNZ	$ | ||||
| 		CALL	ATAPI_CHECK_DRV | ||||
| 		JP	C,.error | ||||
| @ -693,7 +686,7 @@ EXEC_PACKET_COMMAND: | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ATAPI_IdlePasses: | ||||
| 		;CALL	ATAPI_WAITPRT.wait_NZ | ||||
| 		LD	B,128 | ||||
| 		LD	B,_ZIP_WAITS_ | ||||
| 		DJNZ	$ | ||||
| 		CALL	ATAPI_CHECK_DRV | ||||
| 		JP	C,EXEC_PACKET_COMMAND.error | ||||
| @ -1084,26 +1077,27 @@ ATAPI_MEDIA_ERROR: | ||||
| 		OR	%0000'0011 | ||||
| 		LD	(IY + IDE.HDD_INIT_TABLE.MediaParameters),A | ||||
| 		; | ||||
| 		 ;LD	HL,ATAPI_CMD_PACKET.READ_CAPACITY_DATA | ||||
| 		 LD	DE,SYS_PAGE.TMP_BUFFER | ||||
| 		 ;CALL	EXEC_PACKET_COMMAND.start_sys_page | ||||
| 		 CALL	ATAPI_READ_CAPACITY_DATA | ||||
| 		; | ||||
| 		LD	HL,#FFFF | ||||
| 		LD	C,BIOS.Error.ATAPI.MediumError | ||||
| 		JR	C,.No_Media | ||||
| 		; | ||||
| 		 LD	HL,(SYS_PAGE.TMP_BUFFER)	; media size high | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeHigh),H | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeHigh+1),L | ||||
| 		 LD	HL,(SYS_PAGE.TMP_BUFFER + 2)	; media size low | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeLow),H | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeLow+1),L | ||||
| 		 LD	HL,(SYS_PAGE.TMP_BUFFER + 6)	; sector size | ||||
| 		; | ||||
| 		LD	C,BIOS.Error.ATAPI.UnitAttention | ||||
| .No_Media:	LD	(IY+IDE.HDD_INIT_TABLE.SectorSize),H			;[ ] sector size | ||||
| 		LD	(IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L		 | ||||
| 		CALL	GET_ATAPI_CAPACITY | ||||
| ; 		 LD	DE,SYS_PAGE.TMP_BUFFER | ||||
| ; 		 CALL	ATAPI_READ_CAPACITY_DATA | ||||
| ; 		; | ||||
| ; 		LD	HL,#FFFF | ||||
| ; 		LD	C,BIOS.Error.ATAPI.MediumError | ||||
| ; 		JR	C,.No_Media | ||||
| ; 		; | ||||
| ; 		 LD	HL,(SYS_PAGE.TMP_BUFFER)	; media size high | ||||
| ; 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeHigh),H | ||||
| ; 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeHigh+1),L | ||||
| ; 		 LD	HL,(SYS_PAGE.TMP_BUFFER + 2)	; media size low | ||||
| ; 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeLow),H | ||||
| ; 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeLow+1),L | ||||
| ; 		 LD	HL,(SYS_PAGE.TMP_BUFFER + 6)	; sector size | ||||
| ; 		; | ||||
| ; 		LD	C,BIOS.Error.ATAPI.UnitAttention | ||||
| ; .No_Media:	LD	(IY+IDE.HDD_INIT_TABLE.SectorSize),H			;[ ] sector size | ||||
| ; 		LD	(IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L | ||||
| ; 		JR	NC,.exit | ||||
| ; 		SET	2,(IY + IDE.HDD_INIT_TABLE.MediaParameters)		 | ||||
| 		; | ||||
| .exit:		POP	AF | ||||
| 		POP	HL | ||||
| @ -1132,6 +1126,34 @@ ATAPI_MEDIA_ERROR: | ||||
| 		; | ||||
| .unkn_error:	LD	C,BIOS.Error.ATAPI.MediumError	 | ||||
| 		JR	.exit | ||||
| 
 | ||||
| 
 | ||||
| ;----------------------------------------------------------------------; | ||||
| GET_ATAPI_CAPACITY: | ||||
| 		; | ||||
| 		 LD	DE,SYS_PAGE.TMP_BUFFER | ||||
| 		 CALL	ATAPI_READ_CAPACITY_DATA | ||||
| 		; | ||||
| 		LD	HL,#FFFF | ||||
| 		LD	C,BIOS.Error.ATAPI.MediumError | ||||
| 		JR	C,.No_Media | ||||
| 		; | ||||
| 		 LD	HL,(SYS_PAGE.TMP_BUFFER)	; media size high | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeHigh),H | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeHigh+1),L | ||||
| 		 LD	HL,(SYS_PAGE.TMP_BUFFER + 2)	; media size low | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeLow),H | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaSizeLow+1),L | ||||
| 		 LD	HL,(SYS_PAGE.TMP_BUFFER + 6)	; sector size | ||||
| 		; | ||||
| 		LD	C,BIOS.Error.ATAPI.UnitAttention | ||||
| .No_Media:	LD	(IY+IDE.HDD_INIT_TABLE.SectorSize),H			;[ ] sector size | ||||
| 		LD	(IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L | ||||
| 		RET	NC | ||||
| 		SET	2,(IY + IDE.HDD_INIT_TABLE.MediaParameters)	 | ||||
| 		RET | ||||
| ;----------------------------------------------------------------------; | ||||
| 
 | ||||
| ;----------------------------------------------------------------------; | ||||
| 
 | ||||
| ; !!! SELECT_DRIVE ¤®«¦¥ ®âà ¡®â âì § à ¥¥ | ||||
|  | ||||
| @ -459,7 +459,7 @@ PARSE_IdentifyDevice: | ||||
| 		LD	(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh),H | ||||
| .END:		RES	1,(IY + IDE.HDD_INIT_TABLE.MediaParameters)	; [ ] removable media | ||||
| 		; [x] save hdd parameters to cmos for "setup" in settings | ||||
| 		 LD	A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)	; for save to cmos in GETPARM | ||||
| .END_2:		 LD	A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)	; for save to cmos in GETPARM | ||||
| 		; | ||||
| 		EX	AF,AF' | ||||
| 		OUT	(SLOT3),A | ||||
| @ -472,26 +472,40 @@ PARSE_IdentifyDevice: | ||||
| 		LD	HL,ICHANEL | ||||
| 		OR	(HL) | ||||
| 		LD	(IY+IDE.HDD_INIT_TABLE.DRV_Flags),A | ||||
| 	; | ||||
| 		LD	(IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001 | ||||
| 		LD	B,200	; áçñâ稪 ¯®¯ë⮪ (1 ¯®¯ë⪠ - 1 HALT) | ||||
| .get_error_loop: | ||||
| 		PUSH	BC | ||||
| 		;LD	HL,ATAPI_CMD_PACKET.TEST_UNIT_READY | ||||
| 		;CALL	EXEC_PACKET_COMMAND.start | ||||
| 		CALL	EXEC_TEST_CMD  | ||||
| 		POP	BC | ||||
| 		JR	NC,.s_size | ||||
| 		; | ||||
| 		CP	BIOS.Error.ATAPI.UnitAttention | ||||
| 		JR	Z,PARSE_IdentifyDevice.END	;!TEST ;!FIXIT ZIP bug | ||||
| 		; | ||||
| 		;   ¢á直© á«ãç © | ||||
| 		 LD	(IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001 | ||||
| 		 LD	B,200	; áçñâ稪 ¯®¯ë⮪ (1 ¯®¯ë⪠ - 1 HALT) | ||||
| .get_error_loop: PUSH	BC | ||||
| 		 ;LD	HL,ATAPI_CMD_PACKET.TEST_UNIT_READY | ||||
| 		 ;CALL	EXEC_PACKET_COMMAND.start | ||||
| 		 CALL	EXEC_TEST_CMD  | ||||
| 		 POP	BC | ||||
| 		 JR	NC,.s_size | ||||
| 		 ; | ||||
| 		 CP	BIOS.Error.ATAPI.UnitAttention | ||||
| 		 JR	Z,PARSE_IdentifyDevice.END	;!TEST ;!FIXIT ZIP bug | ||||
| 		 ; | ||||
| 		 CP	BIOS.Error.ATAPI.NotReady | ||||
| 		 HALT | ||||
| 		 JR	Z,.get_error_loop | ||||
| 		 DJNZ	.get_error_loop | ||||
| 		HALT | ||||
| 		; | ||||
| 		PUSH	AF | ||||
| 		 CALL	SKIPKEY | ||||
| 		 JR	NC,.noSkipKey | ||||
| 		 ; CF=1 | ||||
| 		 LD	A,#FF | ||||
| 		 LD	(SKIP),A | ||||
| 		 ; LD	(IY+IDE.HDD_INIT_TABLE.SectorSize),A | ||||
| 		 ; LD	(IY+IDE.HDD_INIT_TABLE.SectorSize + 1),A | ||||
| 		 SET	2,(IY + IDE.HDD_INIT_TABLE.MediaParameters)	; [ ] removable media | ||||
| 		 POP	AF | ||||
| 		 SCF | ||||
| 		 JR	.set_sector | ||||
| .noSkipKey:	POP	AF | ||||
| 		; | ||||
| 		CP	BIOS.Error.ATAPI.NotReady | ||||
| 		JR	Z,.get_error_loop | ||||
| 		DJNZ	.get_error_loop | ||||
| 	; | ||||
| 		; [ ] sector size ATAPI | ||||
| .s_size:	 LD	DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224	; ¯à®á⮠㦥 ¡ë« ¡ãä¥à | ||||
| 		 CALL	ATAPI_READ_CAPACITY_DATA | ||||
| @ -675,26 +689,25 @@ SELECT_IDE:	AND	A	;%0000'0011 | ||||
| 
 | ||||
| 
 | ||||
| /////////////////////////////////////////////////////////////////////[v] | ||||
| SKIPKEY: | ||||
| 	EXX  | ||||
| 	 CALL	SCANKEY | ||||
| 	EXX  | ||||
| 	SCF  | ||||
| 	CCF  | ||||
| 	RET	Z | ||||
| 	EXX  | ||||
| 	 LD	HL,#3E00        ;!HARDCODE | ||||
| 	 XOR	A | ||||
| 	 SBC	HL,DE | ||||
| 	EXX  | ||||
| 	SCF  | ||||
| 	CCF  | ||||
| 	RET	NZ | ||||
| 	;A=0 | ||||
| 	LD	(SKIP),A | ||||
| 	INC	A | ||||
| 	SCF | ||||
| 	RET		;ZF=0, CF=1  | ||||
| SKIPKEY:	EXX  | ||||
| 		 CALL	SCANKEY | ||||
| 		EXX  | ||||
| 		;SCF  | ||||
| 		;CCF  | ||||
| 		RET	Z | ||||
| 		EXX  | ||||
| 		 LD	HL,#3E00        ;!HARDCODE | ||||
| 		 ;XOR	A | ||||
| 		 SBC	HL,DE | ||||
| 		EXX  | ||||
| 		SCF  | ||||
| 		CCF  | ||||
| 		RET	NZ | ||||
| 		;A=0 | ||||
| 		LD	(SKIP),A | ||||
| 		INC	A | ||||
| 		SCF | ||||
| 		RET		;ZF=0, CF=1  | ||||
| /////////////////////////////////////////////////////////////////////[^] | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -81,93 +81,89 @@ SF_BUFF         EQU     0 | ||||
| ;       D8 | ||||
| ;   D7..D0 - ASCII code | ||||
| 
 | ||||
| WAITKEY: | ||||
|         LD      HL,HOST | ||||
|         LD      A,(HEAD) | ||||
|         CP      (HL) | ||||
|         JR      Z,WAITKEY | ||||
|         CALL    GETSYM | ||||
|         LD      A,E | ||||
|         AND     A | ||||
|         RET  | ||||
| WAITKEY:	LD      HL,HOST | ||||
| 		LD      A,(HEAD) | ||||
| 		CP      (HL) | ||||
| 		JR      Z,WAITKEY | ||||
| 		CALL    GETSYM | ||||
| 		LD      A,E | ||||
| 		;AND     A | ||||
| 		RET  | ||||
| 
 | ||||
| SCANKEY: | ||||
|         LD      HL,HOST | ||||
|         LD      A,(HEAD) | ||||
|         CP      (HL) | ||||
|         RET     Z | ||||
|         CALL    GETSYM | ||||
|         LD      A,E | ||||
|         RET  | ||||
| SCANKEY:	LD      HL,HOST | ||||
| 		LD      A,(HEAD) | ||||
| 		CP      (HL) | ||||
| 		RET     Z | ||||
| 		CALL    GETSYM | ||||
| 		LD      A,E | ||||
| 		RET  | ||||
| 
 | ||||
| CTRLKEY: | ||||
|         LD      HL,HOST | ||||
|         LD      A,(HEAD) | ||||
|         CP      (HL) | ||||
|         LD      BC,(KEYFLAG) | ||||
|         LD      A,#00 | ||||
|         RET     Z | ||||
|         DEC     A | ||||
|         RET  | ||||
| CTRLKEY:	LD      HL,HOST | ||||
| 		LD      A,(HEAD) | ||||
| 		CP      (HL) | ||||
| 		LD      BC,(KEYFLAG) | ||||
| 		LD      A,#00 | ||||
| 		RET     Z | ||||
| 		DEC     A | ||||
| 		RET  | ||||
| 
 | ||||
| PUTSYM:	LD      HL,HEAD | ||||
|         LD      A,(HOST) | ||||
|         SUB     4 | ||||
|         AND     #3F | ||||
|         CP      (HL) | ||||
|         JR      Z,FULL_BF | ||||
|         LD      A,(HL) | ||||
|         INC     (HL) | ||||
|         INC     (HL) | ||||
|         INC     (HL) | ||||
|         INC     (HL) | ||||
|         RES     6,(HL) | ||||
|         LD      L,A | ||||
|         LD      H,high SBUF | ||||
|         LD      (HL),E | ||||
|         INC     L | ||||
|         LD      (HL),D | ||||
|         INC     L | ||||
|         LD      (HL),B | ||||
|         INC     L | ||||
|         LD      (HL),C | ||||
|         RET  | ||||
| PUTSYM:		LD      HL,HEAD | ||||
| 		LD      A,(HOST) | ||||
| 		SUB     4 | ||||
| 		AND     #3F | ||||
| 		CP      (HL) | ||||
| 		JR      Z,FULL_BF | ||||
| 		; | ||||
| 		CALL	GetSymAddr | ||||
| 		; | ||||
| 		LD      (HL),E | ||||
| 		INC     L | ||||
| 		LD      (HL),D | ||||
| 		INC     L | ||||
| 		LD      (HL),B | ||||
| 		INC     L | ||||
| 		LD      (HL),C | ||||
| 		RET  | ||||
| 
 | ||||
| GETSYM: LD      HL,HOST | ||||
|         LD      A,(HEAD) | ||||
|         CP      (HL) | ||||
|         RET     Z | ||||
|         LD      A,(HL) | ||||
|         INC     (HL) | ||||
|         INC     (HL) | ||||
|         INC     (HL) | ||||
|         INC     (HL) | ||||
|         RES     6,(HL) | ||||
|         LD      L,A | ||||
|         LD      H,high SBUF | ||||
|         LD      E,(HL) | ||||
|         INC     L | ||||
|         LD      D,(HL) | ||||
|         INC     L | ||||
|         LD      B,(HL) | ||||
|         INC     L | ||||
|         LD      C,(HL) | ||||
|         RET  | ||||
| GetSymAddr:	LD	A,(HL) | ||||
| 		INC	(HL) | ||||
| 		INC	(HL) | ||||
| 		INC	(HL) | ||||
| 		INC	(HL) | ||||
| 		RES	6,(HL) | ||||
| 		LD	L,A | ||||
| 		LD	H,high SBUF | ||||
| 		RET | ||||
| 
 | ||||
| FULL_BF: | ||||
|         EX      AF,AF' | ||||
|         BIT     SF_BUFF,(IX+SOUND_K) | ||||
|         JR      Z,.FBF | ||||
|         EXX  | ||||
|          LD      DE,230 | ||||
|          LD      HL,50 | ||||
|          CALL    BEEP | ||||
|         EXX  | ||||
| .FBF:   EX      AF,AF' | ||||
|         RET  | ||||
| GETSYM:		LD      HL,HOST | ||||
| 		LD      A,(HEAD) | ||||
| 		CP      (HL) | ||||
| 		RET     Z | ||||
| 		AND	A | ||||
| 		; | ||||
| 		CALL	GetSymAddr | ||||
| 		; | ||||
| 		LD      E,(HL) | ||||
| 		INC     L | ||||
| 		LD      D,(HL) | ||||
| 		INC     L | ||||
| 		LD      B,(HL) | ||||
| 		INC     L | ||||
| 		LD      C,(HL) | ||||
| 		RET | ||||
| 
 | ||||
| KEYSCAN: | ||||
|         LD      IX,KEYFLAG | ||||
| FULL_BF:       	EX      AF,AF' | ||||
|         	BIT     SF_BUFF,(IX+SOUND_K) | ||||
|         	JR      Z,.FBF | ||||
|         	EXX  | ||||
|         	 LD      DE,230 | ||||
|         	 LD      HL,50 | ||||
|         	 CALL    BEEP | ||||
|         	EXX  | ||||
| .FBF:   	EX      AF,AF' | ||||
|         	RET  | ||||
| 
 | ||||
| KEYSCAN:	LD	IX,KEYFLAG | ||||
| RESCANN: | ||||
|         IN      A,(Z84.SIO.Ch_A.Ctrl) | ||||
| 	AND	1 | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tolik
						Tolik