 f428f0b18b
			
		
	
	
		f428f0b18b
		
	
	
	
	
		
			
			- устранено перепутанные кнопки для нажатий мышью для F7 и F9. FileViewer.flx 1.06 - добавлено переключение кодировки в режиме HEX просмотра. FlexNavigaror 1.16.01 - исправлен вылет при создании нового файла по Shift+F4 или просмотр с вводом имени по Shift+F3, плагин был не загружен.
		
			
				
	
	
		
			717 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			717 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 28.07.2025 savelij
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ; <20>à®æ¥¤ãà  ¯¥ç â¨ áâà ¨æë ¤ ¬¯  á ⥪.ᬥé. ®â  ç «  ä ©« 
 | ||
| ; <20>  ¢å®¤:
 | ||
| ;	   None
 | ||
| ; <20>  ¢ë室:
 | ||
| ;	   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 
 | ||
| 
 | ||
| ; <20>à®æ¥¤ãà  ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà  
 | ||
| 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 
 | ||
| 
 | ||
| ; <20>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨   íªà 
 | ||
| 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 
 | ||
| ; 32-å ¡¨â®¥ ᬥ饨¥
 | ||
| 		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
 | ||
| DECODE4HEX	CALL DecodeSymbol
 | ||
| 		LD	(HL),A			; ᨬ¢®« ¤«ï ®â®¡à ¦¥¨ï
 | ||
| 		INC	L
 | ||
| 		EXX 
 | ||
| 		CALL	PutHexNumb		; <20>à®æ¥¤ãà  ª®¢¥àâ 
 | ||
| 		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
 | ||
| ; <20>à®æ¥¤ãà  ®ç¨á⪨ § ª®ç¨¢è¨åáï ¡ ©â®¢
 | ||
| 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-¡ë«  ¯®á«¥¤ïï áâப 
 | ||
| 
 | ||
| ; <20>à®æ¥¤ãà  ¯à¥®¡à §®¢ ¨ï 8¡¨â®¢ëå ç¨á¥« ¢ è¥áâ ¤æ. ⥪áâ
 | ||
| ; <20>  ¢å®¤:
 | ||
| ;	 HL -  ¤à¥á ¡ãä¥à 
 | ||
| ;	  € - ¡ ©â
 | ||
| ; <20>  ¢ë室:
 | ||
| ;	  ¡ãä¥à	á ⥪áâ.ç¨á«®¬
 | ||
| PutHexNumb	PUSH	AF
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		CALL .L1
 | ||
| 		POP	AF
 | ||
| .L1		AND	0x0F
 | ||
| 		ADD	A,0x90
 | ||
| 		DAA 
 | ||
| 		ADC	A,0x40
 | ||
| 		DAA 
 | ||
| 		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		RET 
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ; <20>à®æ¥¤ãàë ®¡à ¡®âª¨ View
 | ||
| ; <20>  áâப㠢¢¥àå
 | ||
| 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			; <20>஢¥à塞    ç «® ä ©« 
 | ||
| 		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 
 | ||
| 
 | ||
| ; <20>  áâப㠢¨§
 | ||
| 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			; <20>ਡ ¢«ï¥¬ ª ᬥ饨î áâà ¨æã
 | ||
| 		INC	BC			; ¡ ©â®¢ (480¡)
 | ||
| .L1		LD	(TempShift+2),BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE			; <20>஢¥à塞   ª®¥æ ä ©« 
 | ||
| 		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 
 | ||
| 
 | ||
| ; <20>  áâà ¨æã ¢¢¥àå
 | ||
| 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			; <20>஢¥à塞    ç «® ä ©« 
 | ||
| 		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			; <20>஢¥à塞,çâ® ¥ ¢ë¢ «¨«¨áì § 
 | ||
| 		JR	NZ,.HPgUp1		;  ç «® ä ©«  Z - ¢ë¢ «¨«¨áì
 | ||
| 		INC	BC
 | ||
| 		LD	L,C			; ’®£¤  ᬥ饨¥ = 0
 | ||
| 		LD	H,B
 | ||
| .HPgUp1		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),BC
 | ||
| 		CALL	PrnHEXpage		; <20>¥ç â ¥¬ áâà ¨æã
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ; <20>  áâà ¨æã ¢¨§
 | ||
| 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		; <20>«îá㥬 ª ⥪.ᬥé.
 | ||
| 		ADD	HL,DE			; áâà ¨æã ¡ ©â®¢
 | ||
| 		PUSH	HL
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	BC
 | ||
| .L1		PUSH	BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght)		; <20>஢¥à塞,çâ® áâà ¨æ 
 | ||
| 		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		; <20>¥ç â ¥¬ áâà ¨æã
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ; ‚  ç «® ä ©« 
 | ||
| HBegFile	LD	HL,JUMPS.ResFire
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	BC,(FileShift+2)
 | ||
| 		LD	A,H			; <20>஢¥à塞    ç «® ä ©« 
 | ||
| 		OR	B
 | ||
| 		OR	L
 | ||
| 		OR	C
 | ||
| 		RET	Z			; Z - <20> ç «®
 | ||
| 		LD	HL,0x0000		; ‘¬¥é¥¨¥ = 0000
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),HL
 | ||
| 		JP	PrnHEXpage		; <20>¥ç â ¥¬ áâà ¨æã
 | ||
| 
 | ||
| ; ‚ ª®¥æ ä ©« 
 | ||
| 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)		; <20>஢¥à塞,çâ® ¬ë   ¯®á«¥¤¥©
 | ||
| 		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			; <20>à®áç¨â뢠¥¬ ᬥ饨¥ ¯®á«¥¤¥© áâà ¨æë
 | ||
| 		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
 | ||
| 		JP	PrnHEXpage		; <20>¥ç â ¥¬ áâà ¨æã
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ; <20>à®æ¥¤ãà  ¢¢®¤  ®¢®£® 㪠§ â¥«ï á¬¥é¥¨ï ¢ ä ©«¥
 | ||
| HGoTo		LD	HL,(FileLenght)
 | ||
| 		LD	DE,(FileLenght+2)
 | ||
| 		LD	A,H			; <20>஢¥à塞,çâ® ¤«¨ 
 | ||
| 		OR	D			; ä ©«  ¡®«ìè¥ 16 ¡ ©â
 | ||
| 		OR	E
 | ||
| 		JR	NZ,HGoToOk
 | ||
| 		LD	A,L
 | ||
| 		CP	0x11
 | ||
| 		RET	C			; ¬¥ìè¥ 16¡ ©â
 | ||
| HGoToOk		LD	HL,NewShift		; <20>ãä¥à ¤«ï ¢¢®¤  ®¢®£® 㪠§.
 | ||
| 		SUB	A
 | ||
| 		LD	(CursPos+1),A		; <20>®§¨æ¨ï ¢¢®¤  ¢ ¡ãä¥à¥
 | ||
| 		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			; <20>®§¨æ¨ï ¢ ¡ãä¥à¥ (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
 | ||
| 
 | ||
| ; <20>à®æ¥¤ãà  ¢ë¢®¤  áâப¨ ¨ ªãàá®à 
 | ||
| PrintHGT	LD	HL,NewShift
 | ||
| 		LD	DE,0x0008
 | ||
| 		LD	BC,0x081C
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		LD	A,(CursPos+1)		; <20>®§¨æ¨ï ¢ë¢®¤  ªãàá®à 
 | ||
| 		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			; <20>®¬¥à ¢ë¢¥¤¥®£® ªãàá®à 
 | ||
| 		LD	(CurCurs),A
 | ||
| 		LD	A,0x06			; ަ¨¤ ¨¥ ¤«ï á¬¥ë ªãàá®à 
 | ||
| 		LD	(CurWait),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ; <20>à®æ¥¤ãà  á¬¥ë ªãàá®à 
 | ||
| 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			; <20>®¬¥à ⥪ã饣® ªãàá®à 
 | ||
| CurCurs		EQU $-1
 | ||
| 		XOR	0x01			; Œ¥ï¥¬ ªãàá®à
 | ||
| 		LD	(CurCurs),A
 | ||
| 		LD	A,(HL)
 | ||
| 		JR	Z,.L1			; <20>¥ç â ¥¬
 | ||
| 		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			; <20>ਠ®è¨¡ª¥ ¢¥à¥¬áï á ªãàá®à®¬
 | ||
| 		LD	(CursPos+1),A		; ¢ ã«¥¢®© ¯®§¨æ¨¨
 | ||
| 		LD	BC,NewShift		; <20>ãä¥à áâப¨
 | ||
| 		CALL	GetHexNum32		; <20>¥à¥¢®¤¨¬ ⥪áâ ¢ 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)		; <20>஢¥à塞,ç⮠ᬥ饨¥ ¢
 | ||
| 		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
 | ||
| 		JP	PrnHEXpage		; <20>¥ç â ¥¬ áâà ¨æã
 | ||
| 
 | ||
| ; <20> ¦ â Escape
 | ||
| HGTescape	LD	HL,NewShift		; <20>ãä¥à áâப¨
 | ||
| 		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
 | ||
| 		JP	JUMPS.ResFire		; ‚ë室¨¬
 | ||
| 
 | ||
| NewShift	DEFB	"        ",0
 | ||
| 
 | ||
| ; <20>à®æ¥¤ãà  ª®¢¥àâ¨à®¢ ¨ï 32¡¨â®¢®£® è¥áâ.⥪á⮢®£® ç¨á« 
 | ||
| ; <20>  ¢å®¤:
 | ||
| ;	  BC - €¤à¥á ¡ãä¥à  á ⥪á⮬ (0-ª®¥æ ¡ãä¥à )
 | ||
| ; <20>  ¢ë室:
 | ||
| ;	  DEHL	- —¨á«®	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
 |