781 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			781 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 25.03.2025 savelij
 | ||
| 
 | ||
| ;[]---------------------------------------------------------[]
 | ||
| PrnASCIIpage	LD	HL,PrintVProc
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	(TempShift),HL
 | ||
| 		LD	HL,(FileShift+2)
 | ||
| 		LD	(TempShift+2),HL
 | ||
| 		LD	B,0x1C
 | ||
| PrnASCIIlp	PUSH	BC
 | ||
| 		CALL	PutASCIIline   ;‚뢮¤¨¬	áâப㠢 ¡ãä ¨   íªà 
 | ||
| 		POP	BC
 | ||
| 		JR	C,FillASCIIdn  ;CY-‡ ª®ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
 | ||
| 		LD	A,B
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	B,A
 | ||
| 		CP	0xE4
 | ||
| 		JR	NZ,PrnASCIIlp
 | ||
| 		LD	HL,(TempShift)
 | ||
| 		LD	(FVNextShift),HL
 | ||
| 		LD	HL,(TempShift+2)
 | ||
| 		LD	(FVNextShift+2),HL
 | ||
| 		SUB	A
 | ||
| 		LD	(EmptyLines),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà  
 | ||
| FillASCIIdn	LD	A,0xE4
 | ||
| 		SUB	B
 | ||
| 		LD	(FLenASC),A
 | ||
| 		JR	Z,FASCIIe	;Z-¥â ®âç¨á⪨
 | ||
| 		LD	A,B
 | ||
| 		LD	(FPosASC),A
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 0,0,640,0,COLORI.PANEL
 | ||
| 	W_END
 | ||
| FLenASC		EQU $-4
 | ||
| FPosASC		EQU $-8
 | ||
| 
 | ||
| FASCIIe		LD	HL,(TempShift)
 | ||
| 		LD	(FVNextShift),HL
 | ||
| 		LD	HL,(TempShift+2)
 | ||
| 		LD	(FVNextShift+2),HL
 | ||
| 		LD	A,(FLenASC)
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		LD	(EmptyLines),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨   íªà 
 | ||
| PutASCIIline	LD	IXH,B
 | ||
| 		LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		LD	C,0x50
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	C,0xF0
 | ||
| .L1		PUSH	BC
 | ||
| 		LD	HL,(FileLenght)
 | ||
| 		LD	BC,(TempShift)
 | ||
| 		SBC	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		LD	BC,(TempShift+2)
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	BC
 | ||
| 		RET	C
 | ||
| 		LD	B,0xF0
 | ||
| 		JR	NZ,PutLine
 | ||
| 		LD	A,D
 | ||
| 		OR	A
 | ||
| 		JR	NZ,PutLine
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,E
 | ||
| PutLine		LD	HL,LineBuffer
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		CALL	InitFPages
 | ||
| PutLnLoop	CALL	TestFPages
 | ||
| 		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		CP	0x0D
 | ||
| 		JR	NZ,PutLine1
 | ||
| 		CALL	TestFPages
 | ||
| 		LD	A,(DE)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,PutLnExit
 | ||
| 		INC	DE
 | ||
| 		JR	PutLnExit
 | ||
| 
 | ||
| PutLine1	CP	0x0A
 | ||
| 		JR	Z,PutLnExit
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,PutLine2
 | ||
| PutTab		LD	(HL),0x20
 | ||
| 		INC	L
 | ||
| 		LD	A,L
 | ||
| 		CP	C
 | ||
| 		JR	Z,PutLineWrap;PutLine3
 | ||
| 		AND	0x07
 | ||
| 		JR	NZ,PutTab
 | ||
| 		JR	PutLine3
 | ||
| 
 | ||
| PutLine2	CALL DecodeSymbol	; § ¬¥ï¥âáï   NOP, ¥á«¨ ¥ 㦠 ¯¥à¥ª®¤¨à®¢ª 
 | ||
| 		LD	(HL),A
 | ||
| 		LD	A,L
 | ||
| 		CP	C
 | ||
| 		JR	Z,PutLineWrap;PutLine3
 | ||
| 		INC	L
 | ||
| PutLine3	DJNZ	PutLnLoop
 | ||
| 		INC DE
 | ||
| PutLineWrap:	dec de
 | ||
| 		CALL	TestFPages
 | ||
| 		LD	A,(DE)
 | ||
| 		CP	0x0D
 | ||
| 		JR	NZ,PutLnExit
 | ||
| 		INC	DE
 | ||
| 		CALL	TestFPages
 | ||
| 		LD	A,(DE)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,PutLnExit
 | ||
| 		INC	DE
 | ||
| PutLnExit	POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		CALL	GetFPages
 | ||
| 		LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		JR	NZ,PutLineUWR
 | ||
| 		LD	A,0x50
 | ||
| 		SUB	L
 | ||
| 		JR	Z,PutLine4
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L1
 | ||
| PutLine4	LD	HL,LineBuffer
 | ||
| 		LD	DE,0x0000
 | ||
| 		LD	B,0x50
 | ||
| 		LD	C,IXH
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| DecodeSymbol:	CP	0x80
 | ||
| 		RET	C	
 | ||
| 		PUSH	HL
 | ||
| 		SUB	0x80
 | ||
| 		LD	HL,Table866
 | ||
| .table		EQU $-2
 | ||
| 		ADD	A,L
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	H
 | ||
| .L1		LD	A,(HL)
 | ||
| 		POP	HL
 | ||
| 		RET
 | ||
| 
 | ||
| PutLineUWR	LD	C,IXH
 | ||
| 		LD	A,L
 | ||
| 		LD	(SaveUW),A
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		ADD	A,0x50
 | ||
| 		SUB	L
 | ||
| 		JR	Z,PutLnUW1
 | ||
| 		JR	C,PutLnUW1
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L1
 | ||
| PutLnUW1	LD	E,0x00
 | ||
| 		LD	B,0x50
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		LD	L,A		;ᬥ饨¥ ®â  ç «  áâப¨
 | ||
| 		OR	A
 | ||
| 		JR	Z,PutLnUW2
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		LD	HL,SpaceLeft
 | ||
| 		LD	D,0x00
 | ||
| 		LD	B,0x01
 | ||
| 		LD	A,COLORP.PANEL + COLORI.YELLOW	;(Yellow)
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		INC	L
 | ||
| 		DEC	B
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		LD	E,0x08
 | ||
| PutLnUW2	LD	D,A
 | ||
| 		LD	A,0x00
 | ||
| SaveUW		EQU $-1
 | ||
| 		SUB	D
 | ||
| 		JR	C,PutLnUW3
 | ||
| 		CP	0x51
 | ||
| 		JR	C,PutLnUW3
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		LD	HL,SpaceRight
 | ||
| 		LD	DE,0x0278
 | ||
| 		LD	B,0x01
 | ||
| 		LD	A,COLORP.PANEL + COLORI.YELLOW	;(Yellow)
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		DEC	B
 | ||
| PutLnUW3	LD	D,0x00
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES	;(Yellow)
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| SpaceLeft	DEFB	0x1B
 | ||
| SpaceRight	DEFB	0x1A
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ChCodePage:	LD	HL,ViewerBegin
 | ||
| 		EX	(SP),HL
 | ||
| 		LD      A,(CodePage)
 | ||
| 		INC     A
 | ||
| 		CP      3
 | ||
| 		JR      C,.L1
 | ||
| 		XOR     A
 | ||
| .L1		LD      (CodePage), A
 | ||
| 		RET
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ChASCIImode	LD	HL,ViewerBegin
 | ||
| 		EX	(SP),HL
 | ||
| 		LD	A,(ASCIImode)
 | ||
| 		XOR	0x01
 | ||
| 		LD	(ASCIImode),A
 | ||
| 		RET	Z
 | ||
| 		SUB	A
 | ||
| 		LD	(ASCIIaddX),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ScrollLeft	LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		DEC	A
 | ||
| 		LD	(ASCIIaddX),A
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ScrollRght	LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		CP	0xA0
 | ||
| 		RET	Z
 | ||
| 		INC	A
 | ||
| 		LD	(ASCIIaddX),A
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| THome		LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		SUB	A
 | ||
| 		LD	(ASCIIaddX),A
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TEnd		LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	A,(ASCIIaddX)
 | ||
| 		CP	0xA0
 | ||
| 		RET	Z
 | ||
| 		LD	A,0xA0
 | ||
| 		LD	(ASCIIaddX),A
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TLineUpMs	CALL	TLineUp
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| TUpMs1		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	TUpMs1
 | ||
| TUpMs2		CALL	TLineUp
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	TUpMs2
 | ||
| TLineUp		LD	HL,(FileShift)
 | ||
| 		LD	DE,(FileShift+2)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		OR	D
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		CALL	SearchUp
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),DE
 | ||
| 		LD	(TempShift),HL
 | ||
| 		LD	(TempShift+2),DE
 | ||
| 		LD	HL,EmptyLines
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	(HL)
 | ||
| 		OR	A
 | ||
| 		JR	NZ,TLineU1
 | ||
| 		INC	(HL)
 | ||
| 		LD	HL,(FVNextShift)
 | ||
| 		LD	DE,(FVNextShift+2)
 | ||
| 		CALL	SearchUp
 | ||
| 		LD	(FVNextShift),HL
 | ||
| 		LD	(FVNextShift+2),DE
 | ||
| TLineU1		CALL	ScrollSCRdown
 | ||
| 		LD	B,0x1C
 | ||
| 		CALL	PutASCIIline	    ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬	áâபã
 | ||
| 		CALL	PrintVProc
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TLineDwnMs	CALL	TLineDwn
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| TDnMs1		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	TDnMs1
 | ||
| TDnMs2		CALL	TLineDwn
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	TDnMs2
 | ||
| 
 | ||
| TLineDwn	LD	HL,(FVNextShift)
 | ||
| 		LD	DE,(FVNextShift+2)
 | ||
| 		LD	BC,(FileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	BC,(FileLenght+2)
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,BC
 | ||
| 		CCF 
 | ||
| 		RET	C
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	DE,(FileShift+2)
 | ||
| 		CALL	SearchDown
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),DE
 | ||
| 		LD	HL,(FVNextShift)
 | ||
| 		LD	DE,(FVNextShift+2)
 | ||
| 		LD	(TempShift),HL
 | ||
| 		LD	(TempShift+2),DE
 | ||
| 		CALL	ScrollSCRup
 | ||
| 		LD	B,0xDC
 | ||
| 		CALL	PutASCIIline	    ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬	áâபã
 | ||
| 		LD	HL,(TempShift)
 | ||
| 		LD	DE,(TempShift+2)
 | ||
| 		LD	(FVNextShift),HL
 | ||
| 		LD	(FVNextShift+2),DE
 | ||
| 		CALL	PrintVProc
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TPageUpMs	CALL	TPageUp
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| TUpMs1p		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	TUpMs1p
 | ||
| TUpMs2p		CALL	TPageUp
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	TUpMs2p
 | ||
| 
 | ||
| TPageUp		LD	HL,(FileShift)
 | ||
| 		LD	DE,(FileShift+2)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		OR	D
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,0x19
 | ||
| TPageU1		PUSH	BC
 | ||
| 		CALL	SearchUp
 | ||
| 		POP	BC
 | ||
| 		JR	C,TPageU2
 | ||
| 		DJNZ	TPageU1
 | ||
| TPageU2		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),DE
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TPageDwnMs	CALL	TPageDwn
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| TDnMs1p		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	TDnMs1p
 | ||
| TDnMs2p		CALL	TPageDwn
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	TDnMs2p
 | ||
| 
 | ||
| TPageDwn	LD	HL,(FVNextShift)
 | ||
| 		LD	DE,(FVNextShift+2)
 | ||
| 		LD	BC,(FileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	BC,(FileLenght+2)
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,BC
 | ||
| 		CCF 
 | ||
| 		RET	C
 | ||
| 		LD	HL,(FVNextShift)
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	HL,(FVNextShift+2)
 | ||
| 		LD	(FileShift+2),HL
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TBegFile	LD	HL,JUMPS.ResFire
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FileShift)
 | ||
| 		LD	DE,(FileShift+2)
 | ||
| 		LD	A,H
 | ||
| 		OR	D
 | ||
| 		OR	L
 | ||
| 		OR	E
 | ||
| 		RET	Z
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),HL
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TEndFile	LD	HL,JUMPS.ResFire
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FVNextShift)
 | ||
| 		LD	DE,(FVNextShift+2)
 | ||
| 		LD	BC,(FileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	BC,(FileLenght+2)
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,BC
 | ||
| 		RET	NC
 | ||
| 		LD	HL,(FileLenght)
 | ||
| 		LD	DE,(FileLenght+2)
 | ||
| 		LD	B,0x19
 | ||
| TEndFl1		PUSH	BC
 | ||
| 		CALL	SearchUp
 | ||
| 		POP	BC
 | ||
| 		RET	C
 | ||
| 		DJNZ	TEndFl1
 | ||
| 		LD	(FileShift),HL
 | ||
| 		LD	(FileShift+2),DE
 | ||
| 		CALL	PrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| SearchUp	LD	B,0xF0
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.SearchUpBeg
 | ||
| 		LD	A,H
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.SearchUpBeg
 | ||
| 		OR	L
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,L
 | ||
| .SearchUpBeg
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		LD	A,H		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		RLA 
 | ||
| 		RL	E
 | ||
| 		RLA 
 | ||
| 		RL	E
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| 		LD	C,0x00
 | ||
| 		LD	IXL,C
 | ||
| 		INC	C
 | ||
| 		DEC	B
 | ||
| 		DEC	HL
 | ||
| 		BIT	6,H
 | ||
| 		JR	NZ,.SrchUp0
 | ||
| 		DEC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SET	6,H
 | ||
| .SrchUp0	LD	A,(HL)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,.L3
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,.SrchUpEx
 | ||
| 		INC	C
 | ||
| 		DEC	B
 | ||
| 		DEC	HL
 | ||
| 		BIT	6,H
 | ||
| 		JR	NZ,.SrchUp1
 | ||
| 		DEC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SET	6,H
 | ||
| .SrchUp1	LD	A,(HL)
 | ||
| .L3		CP	0x0D
 | ||
| 		JR	Z,.SearchUpLp
 | ||
| 		DEC	C
 | ||
| 		INC	B
 | ||
| 		INC	HL
 | ||
| 		BIT	7,H
 | ||
| 		JR	Z,.SearchUpLp1
 | ||
| 		INC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| 		JR	.SearchUpLp1
 | ||
| 
 | ||
| .SearchUpLp	LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,.SrchUpEx
 | ||
| .SearchUpLp1	DEC	HL
 | ||
| 		BIT	6,H
 | ||
| 		JR	NZ,.SrchUp2
 | ||
| 		DEC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SET	6,H
 | ||
| .SrchUp2	LD	A,(HL)
 | ||
| 		CP	0x0A
 | ||
| 		JR	Z,.SrchUpEx
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,.SrchUpEx
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,.L1
 | ||
| 		ld a,7
 | ||
| 		add a,c
 | ||
| 		ld c,a
 | ||
| 		ld a,7
 | ||
| 		add a,IXL
 | ||
| 		ld IXL,a
 | ||
| 		ld a,b
 | ||
| 		sub 7
 | ||
| 		jr z,.SrchUpEx
 | ||
| 		jr c,.SrchUpEx
 | ||
| .L1		INC	IXL
 | ||
| 		INC	C
 | ||
| 		DJNZ	.SearchUpLp1
 | ||
| .SrchUpEx	POP	DE
 | ||
| 		POP	HL
 | ||
| 		LD	B,0x00
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	C,B
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		RET	NZ
 | ||
| 		LD	A,IXL
 | ||
| 		CP	0x51
 | ||
| 		CCF 
 | ||
| 		RET	NC
 | ||
| 		LD	C,0x50
 | ||
| .SrchUpEx0	ADD	HL,BC
 | ||
| 		JR	NC,.L2
 | ||
| 		INC	DE
 | ||
| .L2		SUB	0x50
 | ||
| 		CP	0x51
 | ||
| 		JR	NC,.SrchUpEx0
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| SearchDown	LD	(SrchHL),HL
 | ||
| 		LD	(SrchDE),DE
 | ||
| 		LD	A,(ASCIImode)
 | ||
| 		OR	A
 | ||
| 		LD	B,0x50
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	B,0xF0
 | ||
| .L1		PUSH	BC
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		LD	HL,(FileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	C,E
 | ||
| 		LD	B,D
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FileLenght+2)
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	BC
 | ||
| 		RET	C
 | ||
| 		JR	NZ,.SearchDnBeg
 | ||
| 		LD	A,D
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.SearchDnBeg
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,E
 | ||
| .SearchDnBeg
 | ||
| 		LD	HL,0x0000
 | ||
| SrchHL		EQU $-2
 | ||
| 		LD	DE,0x0000
 | ||
| SrchDE		EQU $-2
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		LD	A,H		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		RLA 
 | ||
| 		RL	E
 | ||
| 		RLA 
 | ||
| 		RL	E
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| 		LD	C,0x00
 | ||
| 		DEC	HL
 | ||
| SearchDnLp	INC	C
 | ||
| 		INC	HL
 | ||
| 		BIT	7,H
 | ||
| 		JR	Z,SrchDn0
 | ||
| 		INC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| SrchDn0		LD	A,(HL)
 | ||
| 		CP	0x0D
 | ||
| 		JR	NZ,SrchE1
 | ||
| 		INC	HL
 | ||
| 		BIT	7,H
 | ||
| 		JR	Z,SrchDn1
 | ||
| 		INC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| SrchDn1		LD	A,(HL)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,SrchEEx
 | ||
| 		INC	C
 | ||
| 		JR	SrchEEx
 | ||
| 
 | ||
| SrchE1		CP	0x0A
 | ||
| 		JR	Z,SrchEEx
 | ||
| 		DJNZ	SearchDnLp
 | ||
| 		INC	HL
 | ||
| 		BIT	7,H
 | ||
| 		JR	Z,SrchDnE
 | ||
| 		INC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| SrchDnE		LD	A,(HL)
 | ||
| 		CP	0x0D
 | ||
| 		JR	NZ,SrchEEx
 | ||
| 		INC	C
 | ||
| 		INC	HL
 | ||
| 		BIT	7,H
 | ||
| 		JR	Z,SrchDE1
 | ||
| 		INC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| SrchDE1		LD	A,(HL)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,SrchEEx
 | ||
| 		INC	C
 | ||
| SrchEEx		POP	DE
 | ||
| 		POP	HL
 | ||
| 		LD	B,0x00
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,B
 | ||
| 		EX	DE,HL
 | ||
| 		ADC	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| Table866:	db	0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8
 | ||
| 		db	0x3F,0x25,0x3F,0x3C,0x3F,0x3F,0x3F,0x3F
 | ||
| 		db	0x3F,0x27,0x27,0x22,0x22,0x07,0x2D,0x2D
 | ||
| 		db	0x3F,0x54,0x3F,0x3E,0x3F,0x3F,0x3F,0x3F
 | ||
| 		db	0xFF,0xF6,0xF7,0x3F,0xFD,0x3F,0xB3,0x15
 | ||
| 		db	0xF0,0x63,0xF2,0x3C,0xBF,0x2D,0x52,0xF4
 | ||
| 		db	0xF8,0x2B,0x49,0x69,0x3F,0xE7,0x14,0xFA
 | ||
| 		db	0xF1,0xFC,0xF3,0x3E,0x3F,0x3F,0x3F,0xF5
 | ||
| 		db	0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87
 | ||
| 		db	0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F
 | ||
| 		db	0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97
 | ||
| 		db	0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F
 | ||
| 		db	0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7
 | ||
| 		db	0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF
 | ||
| 		db	0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7
 | ||
| 		db	0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF
 | ||
| ; koi8-r
 | ||
| TableKoi:	db	0xC4,0xB3,0xDA,0xBF,0xC0,0xD9,0xC3,0xB4
 | ||
| 		db	0xC2,0xC1,0xC5,0xDF,0xDC,0xDB,0xDD,0xDE
 | ||
| 		db	0xB0,0xB1,0xB2,0xF4,0xFE,0xF9,0xFB,0xF7
 | ||
| 		db	0xF3,0xF2,0xFF,0xF5,0xF8,0xFD,0xFA,0xF6
 | ||
| 		db	0xCD,0xBA,0xD5,0xF1,0xD6,0xC9,0xB8,0xB7
 | ||
| 		db	0xBB,0xD4,0xD3,0xC8,0xBE,0xBD,0xBC,0xC6
 | ||
| 		db	0xC7,0xCC,0xB5,0xF0,0xB6,0xB9,0xD1,0xD2
 | ||
| 		db	0xCB,0xCF,0xD0,0xCA,0xD8,0xD7,0xCE,0xFC
 | ||
| 		db	0xEE,0xA0,0xA1,0xE6,0xA4,0xA5,0xE4,0xA3
 | ||
| 		db	0xE5,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE
 | ||
| 		db	0xAF,0xEF,0xE0,0xE1,0xE2,0xE3,0xA6,0xA2
 | ||
| 		db	0xEC,0xEB,0xA7,0xE8,0xED,0xE9,0xE7,0xEA
 | ||
| 		db	0x9E,0x80,0x81,0x96,0x84,0x85,0x94,0x83
 | ||
| 		db	0x95,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E
 | ||
| 		db	0x8F,0x9F,0x90,0x91,0x92,0x93,0x86,0x82
 | ||
| 		db	0x9C,0x9B,0x87,0x98,0x9D,0x99,0x97,0x9A
 |