725 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			725 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 20.03.2025 savelij
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ;<3B>à®æ¥¤ãà  ¯¥ç â¨ áâà ¨æë ¤ ¬¯  á ⥪.ᬥé. ®â	 ç «  ä ©« 
 | ||
| ;<3B>  ¢å®¤:
 | ||
| ;	   None
 | ||
| ;<3B>  ¢ë室:
 | ||
| ;	   None
 | ||
| PrnHEXpage	LD	HL,PrintVProc
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	A,L
 | ||
| 		AND	0xF0
 | ||
| 		LD	L,A
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(TempShift),HL	;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
 | ||
| 		LD	HL,(FileShift+2)
 | ||
| 		LD	(TempShift+2),HL
 | ||
| 		LD	HL,LineBuffer
 | ||
| 		LD	BC,0x5020
 | ||
| .L1		LD	(HL),C
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L1
 | ||
| 		LD	B,0x1C		;ˆ§ ç.¯®§¨æ¨ï ¯¥ç â¨
 | ||
| PrnHEXl		PUSH	BC
 | ||
| 		CALL	PutHLine ;‚뢮¤¨¬ áâப㠢 ¡ãä¥à ¨   íªà 
 | ||
| 		POP	BC
 | ||
| 		JR	C,FillDwnHex	;CY-‡ ª®ç¨«¨áì	¡ ©âë ¤«ï ¯¥ç â¨
 | ||
| 		LD	HL,(TempShift)
 | ||
| 		LD	DE,0x0010	;€¤à¥á ¤ ¬¯ +16
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(TempShift),HL
 | ||
| 		LD	HL,(TempShift+2)
 | ||
| 		LD	E,D
 | ||
| 		ADC	HL,DE
 | ||
| 		LD	(TempShift+2),HL
 | ||
| 		LD	A,B
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	B,A
 | ||
| 		CP	0xE4
 | ||
| 		JR	NZ,PrnHEXl
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà  
 | ||
| FillDwnHex	LD	A,B
 | ||
| 		CP	0xE4
 | ||
| 		RET	Z	;Z-¥â ®âç¨á⪨
 | ||
| 		LD	(FPosHex),A
 | ||
| 		LD	A,0xE4
 | ||
| 		SUB	B
 | ||
| 		LD	(FLenHex),A
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 0,0,640,0,COLORI.PANEL
 | ||
| FPosHex		EQU $ - 7
 | ||
| FLenHex		EQU $ - 3
 | ||
| 	W_END
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨   íªà 
 | ||
| PutHLine	LD	IXL,0x00
 | ||
| 		LD	IXH,B
 | ||
| 		LD	HL,(FileLenght)
 | ||
| 		LD	BC,(TempShift)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		LD	BC,(TempShift+2)
 | ||
| 		SBC	HL,BC
 | ||
| 		RET	C
 | ||
| 		LD	B,0x10
 | ||
| 		JR	NZ,PutHLn
 | ||
| 		LD	A,D
 | ||
| 		OR	A
 | ||
| 		JR	NZ,PutHLn
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	A,E
 | ||
| 		CP	B
 | ||
| 		JR	NC,PutHLn
 | ||
| 		LD	B,E
 | ||
| PutHLn
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		CALL	InitFPages
 | ||
| 		LD	HL,LineBuffer+1	;¡ãä¥à áâப¨
 | ||
| 		EXX 
 | ||
| 		LD	HL,LineBuffer+0x3F ;¬¥áâ® ¤«ï ASCII ª®¤®¢
 | ||
| 		EXX 
 | ||
| 		LD	A,(TempShift+3)	;Š« ¤¥¬	ᬥ饨¥
 | ||
| 		CALL	PutHexNumb	;®â  ç «  ä ¨« 
 | ||
| 		LD	A,(TempShift+2)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(TempShift+1)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(TempShift)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	(HL),":"
 | ||
| 		INC	L
 | ||
| 		INC	L
 | ||
| PutHLoop	CALL	TestFPages
 | ||
| 		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		EXX 
 | ||
| 		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		EXX 
 | ||
| 		CALL	PutHexNumb	;<3B>à®æ¥¤ãà  ª®¢¥àâ 
 | ||
| 		INC	L
 | ||
| 		INC	IXL		;“¢¥«¨ç.ª®«-¢® ¢¢¥¤¥ëå ¡ ©â®¢
 | ||
| 		LD	A,IXL
 | ||
| 		CP	0x04
 | ||
| 		JR	Z,.PtHNx1
 | ||
| 		CP	0x08
 | ||
| 		JR	Z,.PtHNx1
 | ||
| 		CP	0x0C
 | ||
| 		JR	NZ,.L1
 | ||
| .PtHNx1		INC	L
 | ||
| .L1		DJNZ	PutHLoop
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| ;<3B>à®æ¥¤ãà  ®ç¨á⪨ § ª®ç¨¢è¨åáï ¡ ©â®¢
 | ||
| FillHex		LD	A,0x10		;Œ ªá.¡ ©â®¢
 | ||
| 		SUB	IXL		;’¥ª.ª®«-¢® ¡ ©â®¢
 | ||
| 		JR	Z,.FillE2
 | ||
| 		LD	B,A
 | ||
| 		LD	C,0x20
 | ||
| .FillE1		LD	(HL),C
 | ||
| 		INC	L
 | ||
| 		LD	(HL),C
 | ||
| 		INC	L
 | ||
| 		INC	L
 | ||
| 		EXX 
 | ||
| 		LD	(HL),0x20
 | ||
| 		INC	L
 | ||
| 		EXX 
 | ||
| 		INC	IXL
 | ||
| 		LD	A,IXL		;‚ æ¥âॠ2 ¯à®¡¥« 
 | ||
| 		CP	0x04
 | ||
| 		JR	Z,.FlHNx1
 | ||
| 		CP	0x08
 | ||
| 		JR	Z,.FlHNx1
 | ||
| 		CP	0x0C
 | ||
| 		JR	NZ,.L2
 | ||
| .FlHNx1		INC	L
 | ||
| .L2		DJNZ	.FillE1
 | ||
| .FillE2		LD	HL,LineBuffer
 | ||
| 		LD	DE,0x0000
 | ||
| 		LD	B,0x50
 | ||
| 		LD	C,IXH
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		OR	A
 | ||
| 		RET		;CY-¡ë«  ¯®á«¥¤ïï áâப 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ¯à¥®¡à §®¢ ¨ï 8¡¨â®¢ëå ç¨á¥« ¢ è¥áâ ¤æ. ⥪áâ
 | ||
| ;<3B>  ¢å®¤:
 | ||
| ;	 HL -  ¤à¥á ¡ãä¥à 
 | ||
| ;	  € - ¡ ©â
 | ||
| ;<3B>  ¢ë室:
 | ||
| ;	  ¡ãä¥à	á ⥪áâ.ç¨á«®¬
 | ||
| PutHexNumb	PUSH	AF
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		AND	0x0F
 | ||
| 		ADD	A,0x90
 | ||
| 		DAA 
 | ||
| 		ADC	A,0x40
 | ||
| 		DAA 
 | ||
| 		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		POP	AF
 | ||
| 		AND	0x0F
 | ||
| 		ADD	A,0x90
 | ||
| 		DAA 
 | ||
| 		ADC	A,0x40
 | ||
| 		DAA 
 | ||
| 		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		RET 
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ;<3B>à®æ¥¤ãàë ®¡à ¡®âª¨ View
 | ||
| ;<3B>  áâப㠢¢¥àå
 | ||
| HLineUpMs	CALL	FVHLineUp
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| HUpMs1		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	HUpMs1
 | ||
| HUpMs2		CALL	FVHLineUp
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	HUpMs2
 | ||
| 
 | ||
| FVHLineUp	LD	HL,(FileShift)
 | ||
| 		LD	DE,(FileShift+2)
 | ||
| 		LD	A,H		;<3B>஢¥à塞    ç «® ä ©« 
 | ||
| 		OR	D
 | ||
| 		OR	L
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z		;Z- ç «® ä ©« 
 | ||
| 		LD	BC,0x0010
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	(FileShift),HL	;FileShift-16¡ ©â(¯à¥¤¨¤.áâப )
 | ||
| 		LD	(TempShift),HL	;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
 | ||
| 		LD	C,B
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	(FileShift+2),HL
 | ||
| 		LD	(TempShift+2),HL
 | ||
| 		CALL	ScrollSCRdown
 | ||
| 		LD	B,0x1C
 | ||
| 		CALL	PutHLine	;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
 | ||
| 		CALL	PrintVProc
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>  áâப㠢¨§
 | ||
| HLineDwnMs	CALL	HLineDwn
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| HDnMs1		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	HDnMs1
 | ||
| HDnMs2		CALL	HLineDwn
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	HDnMs2
 | ||
| 
 | ||
| HLineDwn	LD	HL,(FileShift)
 | ||
| 		LD	BC,(FileShift+2)
 | ||
| 		LD	DE,0x0190
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(TempShift),HL	;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
 | ||
| 		JR	NC,.L1		;<3B>ਡ ¢«ï¥¬ ª ᬥ饨î áâà ¨æã
 | ||
| 		INC	BC		;¡ ©â®¢	(480¡)
 | ||
| .L1		LD	(TempShift+2),BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE		;<3B>஢¥à塞   ª®¥æ ä ©« 
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		SBC	HL,BC
 | ||
| 		RET	C
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z		;Z - ª®¥æ
 | ||
| .L2		LD	HL,(FileShift)
 | ||
| 		LD	DE,(FileShift+2)
 | ||
| 		LD	BC,0x0010
 | ||
| 		ADD	HL,BC
 | ||
| 		JR	NC,.L3
 | ||
| 		INC	DE
 | ||
| .L3		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),DE
 | ||
| 		CALL	ScrollSCRup
 | ||
| 		LD	B,0xDC
 | ||
| 		CALL	PutHLine	;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
 | ||
| 		CALL	PrintVProc
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>  áâà ¨æã ¢¢¥àå
 | ||
| HPageUpMs	CALL	FVHPageUp
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| HUpMs1p		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	HUpMs1p
 | ||
| HUpMs2p		CALL	FVHPageUp
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	HUpMs2p
 | ||
| 
 | ||
| FVHPageUp	LD	HL,(FileShift)
 | ||
| 		LD	BC,(FileShift+2)
 | ||
| 		LD	A,H	;<3B>஢¥à塞    ç «® ä ©« 
 | ||
| 		OR	B
 | ||
| 		OR	L
 | ||
| 		OR	C
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	DE,0x0190  ;Žâ¨¬ ¥¬ ®â ⥪.ᬥé. áâà ¨æã ¡ ©â®¢
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,.HPgUp1
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		DEC	BC	;<3B>஢¥à塞,çâ® ¥ ¢ë¢ «¨«¨áì § 
 | ||
| 		JR	NZ,.HPgUp1	; ç «®	ä ©«  Z	- ¢ë¢ «¨«¨áì
 | ||
| 		INC	BC
 | ||
| 		LD	L,C	;’®£¤  ᬥ饨¥	= 0
 | ||
| 		LD	H,B
 | ||
| .HPgUp1		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),BC
 | ||
| 		CALL	PrnHEXpage	;<3B>¥ç â ¥¬ áâà ¨æã
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>  áâà ¨æã ¢¨§
 | ||
| HPageDwnMs	CALL	HPageDwn
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| HDnMs1p		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	HDnMs1p
 | ||
| HDnMs2p		CALL	HPageDwn
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	HDnMs2p
 | ||
| 
 | ||
| HPageDwn	LD	HL,(FileShift)
 | ||
| 		LD	BC,(FileShift+2)
 | ||
| 		LD	DE,0x0190	;<3B>«îá㥬 ª ⥪.ᬥé.
 | ||
| 		ADD	HL,DE		;áâà ¨æã ¡ ©â®¢
 | ||
| 		PUSH	HL
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	BC
 | ||
| .L1		PUSH	BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght)	   ;<3B>஢¥à塞,çâ® áâà ¨æ 
 | ||
| 		OR	A		;¯®á«¥¤ïï
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		RET	C	;‘ - ¥â
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z	;Z - ¥â
 | ||
| .L2		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),BC
 | ||
| 		CALL	PrnHEXpage	;<3B>¥ç â ¥¬ áâà ¨æã
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;‚  ç «® ä ©« 
 | ||
| HBegFile	LD	HL,JUMPS.ResFire
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	BC,(FileShift+2)
 | ||
| 		LD	A,H	;<3B>஢¥à塞    ç «® ä ©« 
 | ||
| 		OR	B
 | ||
| 		OR	L
 | ||
| 		OR	C
 | ||
| 		RET	Z	;Z - <20> ç «®
 | ||
| 		LD	HL,0x0000	;‘¬¥é¥¨¥ = 0000
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),HL
 | ||
| 		CALL	PrnHEXpage	;<3B>¥ç â ¥¬ áâà ¨æã
 | ||
| 		RET 
 | ||
| 
 | ||
| ;‚ ª®¥æ ä ©« 
 | ||
| HEndFile	LD	HL,JUMPS.ResFire
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	BC,(FileShift+2)
 | ||
| 		LD	DE,0x0190
 | ||
| 		ADD	HL,DE
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	BC
 | ||
| .L1		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght)	;<3B>஢¥à塞,çâ® ¬ë   ¯®á«¥¤¥©
 | ||
| 		PUSH	HL		;áâà ¨æ¥
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		PUSH	HL
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		RET	C	;‘ - ¢ ª®æ¥
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		RET	Z	;Z - ¢ ª®æ¥
 | ||
| .L2		LD	DE,0x0190
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE  ;<3B>à®áç¨â뢠¥¬ ᬥ饨¥ ¯®á«¥¤¥©	áâà ¨æë
 | ||
| 		JR	NC,.L3
 | ||
| 		DEC	BC
 | ||
| .L3		LD	A,L	;‘¬¥é¥¨¥ ªà â® 16
 | ||
| 		AND	0x0F
 | ||
| 		JR	Z,.HEnd1
 | ||
| 		LD	A,L
 | ||
| 		AND	0xF0
 | ||
| 		LD	L,A
 | ||
| 		LD	DE,0x0010
 | ||
| 		ADD	HL,DE
 | ||
| 		JR	NC,.HEnd1
 | ||
| 		INC	BC
 | ||
| .HEnd1		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),BC
 | ||
| 		CALL	PrnHEXpage	;<3B>¥ç â ¥¬ áâà ¨æã
 | ||
| 		RET 
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ;<3B>à®æ¥¤ãà  ¢¢®¤  ®¢®£®	㪠§ â¥«ï á¬¥é¥¨ï ¢ ä ©«¥
 | ||
| HGoTo		LD	HL,(FileLenght)
 | ||
| 		LD	DE,(FileLenght+2)
 | ||
| 		LD	A,H		;<3B>஢¥à塞,çâ® ¤«¨ 
 | ||
| 		OR	D		;ä ©«  ¡®«ìè¥ 16 ¡ ©â
 | ||
| 		OR	E
 | ||
| 		JR	NZ,HGoToOk
 | ||
| 		LD	A,L
 | ||
| 		CP	0x11
 | ||
| 		RET	C		;¬¥ìè¥	16¡ ©â
 | ||
| HGoToOk		LD	HL,NewShift	;<3B>ãä¥à ¤«ï ¢¢®¤  ®¢®£®	㪠§.
 | ||
| 		SUB	A
 | ||
| 		LD	(CursPos+1),A	;<3B>®§¨æ¨ï ¢¢®¤  ¢ ¡ãä¥à¥
 | ||
| 		INC	A
 | ||
| 		LD	(BuffFlg),A
 | ||
| 		LD	A,(FileShift+3)
 | ||
| 		CALL	PutHexNumb	;‡ ®á¨¬ ¢ ¡ãä¥à ⥪ã饥 ᬥé.
 | ||
| 		LD	A,(FileShift+2)	;¢ ⥪á⮢®¬ ¢¨¤¥
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(FileShift+1)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(FileShift)
 | ||
| 		CALL	PutHexNumb
 | ||
| ;‚뢮¤¨¬   íªà  ¡ãä¥à	¨
 | ||
| HGoToRet	CALL	PrintHGT	;¯¥ç â ¥¬ ªãàá®à
 | ||
| HGoToLp		HALT			;ަ¨¤ ¥¬ ¯à¥à뢠¨¥
 | ||
| 		CALL	ChangeCurs	;¯à®¢¥àï¬   ᬥ㠪ãàá®à 
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		JP	NZ,HGTescape
 | ||
| 	SPDSS DSSF.SCANKEY		;ަ¨¤ ¥¬  ¦ â¨ï ª« ¢¨è¨
 | ||
| 		JR	Z,HGoToLp	;Z - ¥	 ¦ â 
 | ||
| 		LD	A,B
 | ||
| 		AND	0x3F
 | ||
| 		JR	NZ,HGoToLp
 | ||
| 		LD	A,E
 | ||
| 		OR	A
 | ||
| 		JR	Z,HGoToSys	;A=0 á¨áâ.ª« ¢¨è 
 | ||
| 		CP	0x0D
 | ||
| 		JP	Z,HGTenter	; ¦ â Enter
 | ||
| 		CP	0x08
 | ||
| 		JR	Z,HGTdelete	; ¦ â BackSpace
 | ||
| 		CP	0x1B
 | ||
| 		JP	Z,HGTescape	; ¦ â Esc
 | ||
| 		CP	0x20
 | ||
| 		JR	C,HGoToLp	;ª®¤<0x20  ¬ ¥	¯®¤å®¤¨â
 | ||
| 		LD	C,A		;á®åà. ASCII ª®¤
 | ||
| 		LD	A,0x00
 | ||
| BuffFlg		EQU $-1
 | ||
| 		OR	A
 | ||
| 		CALL	NZ,ClearBuff
 | ||
| CursPos		LD	A,0x00		;⥪.¯®§¨æ¨ï ¯¥ç â¨ ¢ ¡ãä¥à¥
 | ||
| 		LD	B,A		;á®åà.⥪.¯®§.
 | ||
| 		LD	HL,NewShift	;‘¬¥é.®â  ç « 	¡ãä¥à 
 | ||
| 		ADD	A,L
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	H
 | ||
| .L1		LD	(HL),C		;‡ ®á¨¬ ª®¤ ¢ ¡ãä¥à
 | ||
| 		LD	A,B		;⥪.¯®§.
 | ||
| 		CP	0x07		;<3B>®§¨æ¨ï ¢ ¡ãä¥à¥ (7-¯®á«¥¤ïï)
 | ||
| 		JR	Z,HGoToRet	;¯¥ç â ¥¬ áâப㠨 ªãàá®à
 | ||
| 		INC	A		;á«¥¤.¯®§¨æ¨ï
 | ||
| 		LD	(CursPos+1),A
 | ||
| 		JR	HGoToRet	;¯¥ç â ¥¬ áâப㠨 ªãàá®à
 | ||
| 
 | ||
| ClearBuff	LD	HL,NewShift
 | ||
| 		LD	B,0x08
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L1
 | ||
| 		SUB	A
 | ||
| 		LD	(BuffFlg),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;‡ ¡®©
 | ||
| HGTdelete	SUB	A
 | ||
| 		LD	(BuffFlg),A
 | ||
| 		LD	A,(CursPos+1)	;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
 | ||
| 		OR	A
 | ||
| 		JR	Z,HGoToLp	;0 - ¢ë室¨¬
 | ||
| 		DEC	A
 | ||
| 		LD	(CursPos+1),A	;¯à¥¤¨¤.¯®§¨æ¨ï
 | ||
| 		LD	HL,NewShift
 | ||
| 		ADD	A,L		;ᬥé.¢	¡ãä¥à¥
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	H
 | ||
| .L1		LD	(HL)," "	;‡ ¡¨¢ ¥¬ ¯à®¡¥«®¬
 | ||
| 		JR	HGoToRet
 | ||
| 
 | ||
| ;á¨á⥬ ï ª« ¢¨è 
 | ||
| HGoToSys		LD	A,D
 | ||
| 		CP	0x54		;<-
 | ||
| 		JR	Z,HGTleft
 | ||
| 		CP	0x56		;->
 | ||
| 		JR	Z,HGTright
 | ||
| 		JR	HGoToLp
 | ||
| 
 | ||
| ;Šãàá®à	¢«¥¢®
 | ||
| HGTleft		SUB	A
 | ||
| 		LD	(BuffFlg),A
 | ||
| 		LD	A,(CursPos+1)	;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
 | ||
| 		OR	A
 | ||
| 		JP	Z,HGoToLp	;0 - ¢ë室¨¬
 | ||
| 		DEC	A
 | ||
| 		LD	(CursPos+1),A	;“¬¥ìè.¯®§.
 | ||
| 		JP	HGoToRet
 | ||
| 
 | ||
| HGTright	SUB	A
 | ||
| 		LD	(BuffFlg),A
 | ||
| 		LD	A,(CursPos+1)	;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
 | ||
| 		CP	0x07
 | ||
| 		JP	Z,HGoToLp	;7 - ¯®á«¥¤ïï
 | ||
| 		INC	A
 | ||
| 		LD	(CursPos+1),A	;“¢¥«¨ç.¯®§.
 | ||
| 		JP	HGoToRet
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ¢ë¢®¤  áâப¨ ¨ ªãàá®à 
 | ||
| PrintHGT	LD	HL,NewShift
 | ||
| 		LD	DE,0x0008
 | ||
| 		LD	BC,0x081C
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		LD	A,(CursPos+1)	;<3B>®§¨æ¨ï ¢ë¢®¤ 	ªãàá®à 
 | ||
| 		INC	A
 | ||
| 		LD	L,A
 | ||
| 		LD	H,0x00
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,TCursor
 | ||
| 		LD	(HL),0xAB;"<"
 | ||
| 		LD	BC,0x011C
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		LD	A,0x01		;<3B>®¬¥à ¢ë¢¥¤¥®£® ªãàá®à 
 | ||
| 		LD	(CurCurs),A
 | ||
| 		LD	A,0x06		;ަ¨¤ ¨¥ ¤«ï á¬¥ë ªãàá®à 
 | ||
| 		LD	(CurWait),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  á¬¥ë ªãàá®à 
 | ||
| ChangeCurs	LD	A,0x00	;‡ ¤¥à¦ª  ¬¥¦¤ã	ᬥ®© ªãàá®à 
 | ||
| CurWait		EQU $-1
 | ||
| 		DEC	A
 | ||
| 		LD	(CurWait),A
 | ||
| 		RET	NZ	;¥é¥ ¥	¢à¥¬ï
 | ||
| 		LD	A,(CursPos+1)
 | ||
| 		INC	A
 | ||
| 		LD	L,A
 | ||
| 		LD	H,0x00	;’¥ª.§ ª®¬¥áâ®
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,NewShift	;‘¬¥é.¢	¡ãä¥à¥
 | ||
| 		LD	A,(CursPos+1)
 | ||
| 		ADD	A,L
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L2
 | ||
| 		INC	H
 | ||
| .L2		LD	A,0x00		;<3B>®¬¥à ⥪ã饣®	ªãàá®à 
 | ||
| CurCurs		EQU $-1
 | ||
| 		XOR	0x01		;Œ¥ï¥¬	ªãàá®à
 | ||
| 		LD	(CurCurs),A
 | ||
| 		LD	A,(HL)
 | ||
| 		JR	Z,.L1		;<3B>¥ç â ¥¬
 | ||
| 		LD	A,0xAB;"<"
 | ||
| .L1		LD	HL,TCursor
 | ||
| 		LD	(HL),A
 | ||
| 		LD	BC,0x011C
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		LD	A,0x0C		;ަ¨¤ ¨¥ ¤«ï á¬¥ë ªãàá®à 
 | ||
| 		LD	(CurWait),A
 | ||
| 		RET 
 | ||
| 
 | ||
| TCursor		DEFB	" "
 | ||
| 
 | ||
| ;Š« ¢¨è  ENTER
 | ||
| HGTenter	SUB	A		;<3B>ਠ®è¨¡ª¥ ¢¥à¥¬áï á ªãàá®à®¬
 | ||
| 		LD	(CursPos+1),A	;¢ ã«¥¢®© ¯®§¨æ¨¨
 | ||
| 		LD	BC,NewShift	;<3B>ãä¥à áâப¨
 | ||
| 		CALL	GetHexNum32	;<3B>¥à¥¢®¤¨¬ ⥪áâ ¢ 32¡¨â ç¨á«®
 | ||
| 		JP	C,HGoToRet	;CY - á¨â ªá.®è¨¡ª 
 | ||
| 		LD	C,E
 | ||
| 		LD	B,D
 | ||
| 		LD	A,L		;€¤à¥á ªà âë© 16
 | ||
| 		AND	0xF0
 | ||
| 		LD	L,A
 | ||
| 		EX	DE,HL		;‘¬¥é.¢	BC+DE
 | ||
| 		LD	HL,(FileLenght)	;<3B>஢¥à塞,ç⮠ᬥ饨¥	¢
 | ||
| 		OR	A		;¯à¥¤¥« å ä ©« 
 | ||
| 		SBC	HL,DE
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	C,HGTent	;CY-§  ¯à¥¤¥« ¬¨
 | ||
| 		JR	NZ,HGTent1	;NZ-¢ ¯à¥¤¥« å
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,HGTent1	;NZ-¢ ¯à¥¤¥« å
 | ||
| HGTent		LD	HL,(FileLenght)
 | ||
| 		LD	BC,0x0010
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC	;ᬥé.=¯®á«¥¤ïï áâப 	ä ©«  16 ¡ ©â
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		JR	NC,.L1
 | ||
| 		DEC	HL
 | ||
| .L1		LD	C,L
 | ||
| 		LD	B,H
 | ||
| HGTent1		LD	(FileShift),DE
 | ||
| 		LD	(FileShift+2),BC
 | ||
| 		CALL	PrnHEXpage	;<3B>¥ç â ¥¬ áâà ¨æã
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B> ¦ â Escape
 | ||
| HGTescape	LD	HL,NewShift	;<3B>ãä¥à áâப¨
 | ||
| 		PUSH	HL
 | ||
| 		LD	A,(FileShift+3)	;‡ ®á¨¬ ⥪.ᬥ饨¥
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(FileShift+2)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(FileShift+1)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		LD	A,(FileShift)
 | ||
| 		CALL	PutHexNumb
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x0008
 | ||
| 		LD	BC,0x081C
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		CALL	JUMPS.ResFire
 | ||
| 		RET			;‚ë室¨¬
 | ||
| 
 | ||
| NewShift	DEFB	"        ",0
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ª®¢¥àâ¨à®¢ ¨ï 32¡¨â®¢®£® è¥áâ.⥪á⮢®£® ç¨á« 
 | ||
| ;<3B>  ¢å®¤:
 | ||
| ;	  BC - €¤à¥á ¡ãä¥à  á ⥪á⮬ (0-ª®¥æ ¡ãä¥à )
 | ||
| ;<3B>  ¢ë室:
 | ||
| ;	  DE+HL	- —¨á«®	32¡¨â
 | ||
| ;	  CY - á¨â ªá¨ç¥áª ï ®è¨¡ª 
 | ||
| GetHexNum32	LD	HL,0x0000
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| GetHNlp		LD	A,(BC)
 | ||
| 		INC	BC
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		CP	" "
 | ||
| 		JR	Z,GetHNlp
 | ||
| 		CP	0x61
 | ||
| 		JR	C,.L1
 | ||
| 		SUB	0x20
 | ||
| .L1		CP	0x30
 | ||
| 		RET	C
 | ||
| 		CP	0x47
 | ||
| 		CCF 
 | ||
| 		RET	C
 | ||
| 		SUB	0x30
 | ||
| 		CP	0x0A
 | ||
| 		JR	C,GetHNum
 | ||
| 		SUB	0x07
 | ||
| 		CP	0x0A
 | ||
| 		RET	C
 | ||
| GetHNum		ADD	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADC	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADC	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADC	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		ADC	HL,HL
 | ||
| 		EX	DE,HL
 | ||
| 		OR	L
 | ||
| 		LD	L,A
 | ||
| 		JR	GetHNlp
 |