1947 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1947 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 20.03.2025 savelij
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FEPrnASCIIpage	LD	HL,PrnASCIIinfo
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	(FETempShift),HL
 | ||
| 		LD	B,0x1C
 | ||
| FEPrnASCIIlp	PUSH	BC
 | ||
| 		CALL	PrnASCIIline   ;‚뢮¤¨¬	áâப㠢 ¡ãä ¨   íªà 
 | ||
| 		POP	BC
 | ||
| 		JR	C,FillASCII    ;CY-‡ ª®ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
 | ||
| 		LD	A,B
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	B,A
 | ||
| 		CP	0xE4
 | ||
| 		JR	NZ,FEPrnASCIIlp
 | ||
| 		SUB	A
 | ||
| 		LD	(FEEmptyLines),A
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	GetString
 | ||
| 		RET 
 | ||
| 
 | ||
| ;<3B>à®æ¥¤ãà  ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà  
 | ||
| FillASCII	LD	A,0xE4
 | ||
| 		SUB	B
 | ||
| 		LD	(FEFLenASC),A
 | ||
| 		JR	Z,FEFASCIIe	;Z-¥â ®âç¨á⪨
 | ||
| 		LD	A,B
 | ||
| 		LD	(FEFPosASC),A
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 0,0,624,0,COLORI.PANEL
 | ||
| FEFPosASC	EQU $ - 7
 | ||
| FEFLenASC	EQU $ - 3
 | ||
| 	W_END
 | ||
| 
 | ||
| FEFASCIIe	LD	A,(FEFLenASC)
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		LD	(FEEmptyLines),A
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	GetString
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| RefrASCIIpage	LD	HL,PrnASCIIinfo
 | ||
| 		PUSH	HL
 | ||
| 		CALL	FEResCursor
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	(FETempShift),HL
 | ||
| 		LD	B,0x1C
 | ||
| 		LD	C,(IY+CursorY)
 | ||
| .RefrASCIIlp	PUSH	BC
 | ||
| 		LD	A,C
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.RfASCII
 | ||
| 		CALL	PrnASCIIstring
 | ||
| 		LD	HL,(FETempShift)
 | ||
| 		CALL	FESearchDown
 | ||
| 		LD	(FETempShift),HL
 | ||
| 		JR	.L1
 | ||
| 
 | ||
| .RfASCII	CALL	PrnASCIIline   ;‚뢮¤¨¬	áâப㠢 ¡ãä ¨   íªà 
 | ||
| .L1		POP	BC
 | ||
| 		RET	C	       ;CY-‡ ª®ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
 | ||
| 		DEC	C
 | ||
| 		LD	A,B
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	B,A
 | ||
| 		CP	0xE4
 | ||
| 		JR	NZ,.RefrASCIIlp
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨   íªà 
 | ||
| PrnASCIIline	LD	IXH,B
 | ||
| 		LD	C,0xF0
 | ||
| 		LD	HL,(FEFileLenght)
 | ||
| 		LD	DE,(FETempShift)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	C
 | ||
| 		LD	B,0xF0
 | ||
| 		LD	A,H
 | ||
| 		OR	A
 | ||
| 		JR	NZ,PutASCIIln
 | ||
| 		OR	L
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,L
 | ||
| PutASCIIln	LD	HL,TempBuffer
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	DE,(FETempShift)
 | ||
| 		LD	A,D		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		AND	0xC0
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		EXX 
 | ||
| 		LD	E,A		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| 		RES	7,D		;‚ª«.á 0x4000
 | ||
| 		SET	6,D
 | ||
| PutASCIIlnLp	BIT	7,D
 | ||
| 		JR	Z,PutLnA1
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| PutLnA1		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		CP	0x0D
 | ||
| 		JR	NZ,PutLineA1
 | ||
| 		BIT	7,D
 | ||
| 		JR	Z,PutLnA2
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| PutLnA2		LD	A,(DE)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,PutLnExitA
 | ||
| 		INC	DE
 | ||
| 		JR	PutLnExitA
 | ||
| 
 | ||
| PutLineA1	CP	0x0A
 | ||
| 		JR	Z,PutLnExitA
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,PutLineA2
 | ||
| PutTabA		LD	(HL),0x20
 | ||
| 		INC	L
 | ||
| 		LD	A,L
 | ||
| 		CP	C
 | ||
| 		JR	Z,PutLnEA1
 | ||
| 		AND	0x07
 | ||
| 		JR	NZ,PutTabA
 | ||
| 		JR	PutLineA3-2
 | ||
| 
 | ||
| PutLnEA0	BIT	7,D
 | ||
| 		JR	Z,PutLEA1
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| PutLEA1		LD	A,(DE)
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,PutLineA3
 | ||
| 		INC	DE
 | ||
| 		CP	0x0A
 | ||
| 		JR	Z,PutLnExitA
 | ||
| PutLnEA1	DJNZ	PutLnEA0
 | ||
| 		JR	PutLineA3
 | ||
| 
 | ||
| PutLineA2	LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		LD	A,L
 | ||
| 		CP	C
 | ||
| 		JR	Z,PutLineA3
 | ||
| 		DJNZ	PutASCIIlnLp
 | ||
| PutLineA3	BIT	7,D
 | ||
| 		JR	Z,PutLnA3
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| PutLnA3		LD	A,(DE)
 | ||
| 		CP	0x0D
 | ||
| 		JR	NZ,PutLnExitA
 | ||
| 		INC	DE
 | ||
| 		BIT	7,D
 | ||
| 		JR	Z,PutLnA4
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| PutLnA4		LD	A,(DE)
 | ||
| 		CP	0x0A
 | ||
| 		JR	NZ,PutLnExitA
 | ||
| 		INC	DE
 | ||
| PutLnExitA	RES	6,D
 | ||
| 		EXX 
 | ||
| 		LD	A,E
 | ||
| 		EXX 
 | ||
| 		BIT	7,D
 | ||
| 		RES	7,D
 | ||
| 		JR	Z,.L1
 | ||
| 		INC	A
 | ||
| .L1		RRCA 
 | ||
| 		RRCA 
 | ||
| 		OR	D
 | ||
| 		LD	D,A
 | ||
| 		LD	(FETempShift),DE
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,(IY+CursAddX)
 | ||
| 		ADD	A,0x4E
 | ||
| 		SUB	L
 | ||
| 		JR	Z,PutLnExA
 | ||
| 		JR	C,PutLnExA
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L2		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L2
 | ||
| PutLnExA	LD	L,(IY+CursAddX)
 | ||
| 		LD	H,HIGH (TempBuffer)
 | ||
| 		LD	DE,0x0000
 | ||
| 		LD	B,0x4E
 | ||
| 		LD	C,IXH
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| PrnASCIIstring	LD	HL,TempBuffer
 | ||
| 		LD	DE,LineBuffer
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		OR	A
 | ||
| 		JR	Z,PrASCIIexit
 | ||
| 		LD	B,A
 | ||
| 		LD	C,0xF0
 | ||
| PrASCIIstr1	LD	A,(DE)
 | ||
| 		INC	E
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,PrASCIIstr2
 | ||
| PutTabS		LD	(HL),0x20
 | ||
| 		INC	L
 | ||
| 		LD	A,L
 | ||
| 		CP	C
 | ||
| 		JR	Z,PrASCIIexit
 | ||
| 		AND	0x07
 | ||
| 		JR	NZ,PutTabS
 | ||
| 		JR	PrASCIIstr3
 | ||
| 
 | ||
| PrASCIIstr2	LD	(HL),A
 | ||
| 		INC	L
 | ||
| PrASCIIstr3	DJNZ	PrASCIIstr1
 | ||
| PrASCIIexit	LD	A,(IY+CursAddX)
 | ||
| 		ADD	A,0x4E
 | ||
| 		SUB	L
 | ||
| 		JR	Z,PrASCIIex1
 | ||
| 		JR	C,PrASCIIex1
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L1
 | ||
| PrASCIIex1	CALL	FEResCursor
 | ||
| 		LD	L,(IY+CursAddX)
 | ||
| 		LD	H,HIGH (TempBuffer)
 | ||
| 		LD	DE,0x0000
 | ||
| 		LD	B,0x4E
 | ||
| 		LD	A,(IY+CursorY)
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,0x1C
 | ||
| 		LD	C,A
 | ||
| 		LD	A,COLORP.PANEL + COLORI.FILES
 | ||
| 		CALL	JUMPS.PrnTxtLnNormC
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FESearchUp	LD	B,0xF0
 | ||
| 		LD	A,H
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.SearchUpBeg
 | ||
| 		OR	L
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,L
 | ||
| .SearchUpBeg	PUSH	HL
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,H		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		AND	0xC0
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		LD	E,A
 | ||
| 		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,FESrchUp1+1
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,FESrchUpEx
 | ||
| 		INC	C
 | ||
| 		DEC	B
 | ||
| 		DEC	HL
 | ||
| 		BIT	6,H
 | ||
| 		JR	NZ,FESrchUp1
 | ||
| 		DEC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SET	6,H
 | ||
| FESrchUp1	LD	A,(HL)
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,FESearchUpLp
 | ||
| 		DEC	C
 | ||
| 		INC	B
 | ||
| 		INC	HL
 | ||
| 		BIT	7,H
 | ||
| 		JR	Z,FESearchUpLp1
 | ||
| 		INC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| 		JR	FESearchUpLp1
 | ||
| 
 | ||
| FESearchUpLp	LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,FESrchUpEx
 | ||
| FESearchUpLp1	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,FESrchUpEx
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,FESrchUpEx
 | ||
| 		INC	IXL
 | ||
| 		INC	C
 | ||
| 		DJNZ	FESearchUpLp1
 | ||
| FESrchUpEx	POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		POP	HL
 | ||
| 		LD	B,0x00
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| FESearchDown	LD	B,0xF0
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FEFileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		RET	C
 | ||
| 		LD	A,D
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.SearchDnBeg
 | ||
| 		OR	E
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	B,E
 | ||
| .SearchDnBeg	PUSH	HL
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,H		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		AND	0xC0
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		LD	E,A
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| 		LD	C,0x00
 | ||
| 		DEC	HL
 | ||
| FESearchDnLp	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	FESearchDnLp
 | ||
| 		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	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		POP	HL
 | ||
| 		LD	B,0x00
 | ||
| 		ADD	HL,BC
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| GetString	LD	HL,(FEFileLenght)
 | ||
| 		LD	DE,(LineShift)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	C
 | ||
| 		LD	B,0xF0
 | ||
| 		LD	C,B
 | ||
| 		LD	A,H
 | ||
| 		OR	A
 | ||
| 		JR	NZ,GetLine
 | ||
| 		LD	B,L
 | ||
| GetLine		LD	HL,LineBuffer
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,GetLnE1
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,D		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		AND	0xC0
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		EXX 
 | ||
| 		LD	E,A		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| 		RES	7,D		;‚ª«.á 0x4000
 | ||
| 		SET	6,D
 | ||
| GetLnLoop	BIT	7,D
 | ||
| 		JR	Z,GetLn1
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| GetLn1		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,GetLnExit
 | ||
| 		CP	0x0A
 | ||
| 		JR	Z,GetLnExit
 | ||
| 		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	GetLnLoop
 | ||
| GetLnExit	POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| GetLnE1		SUB	A
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	A,L
 | ||
| 		LD	(IY+LenString),A
 | ||
| 		LD	(IY+PrvLenStr),A
 | ||
| 		push	af
 | ||
| 		neg
 | ||
| 		ld	b,a
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L1
 | ||
| 		pop	af
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		RET	NC
 | ||
| 		LD	A,(IY+StringX)
 | ||
| 		LD	(IY+LenString),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PutString	LD	A,(IY+ReadyStr)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		OR	A
 | ||
| 		JR	Z,PutStr2
 | ||
| 		LD	L,A
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| PutStr1		DEC	L
 | ||
| 		LD	A,0x20
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,PutStr2
 | ||
| 		DEC	(IY+LenString)
 | ||
| 		LD	A,L
 | ||
| 		OR	A
 | ||
| 		JR	NZ,PutStr1
 | ||
| PutStr2
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	A,(IY+PrvLenStr)
 | ||
| 		SUB	(IY+LenString)
 | ||
| 		CALL	NZ,CorrectFile
 | ||
| PutStrN		SUB	A
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	HL,LineBuffer
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		LD	(IY+PrvLenStr),A
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	B,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	DE,(LineShift)
 | ||
| 		LD	A,D		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		AND	0xC0
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		EXX 
 | ||
| 		LD	E,A		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| 		RES	7,D		;‚ª«.á 0x4000
 | ||
| 		SET	6,D
 | ||
| PutStringLp	BIT	7,D
 | ||
| 		JR	Z,PutStr3
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		EXX 
 | ||
| 		INC	E		;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EXX 
 | ||
| PutStr3		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		INC	L
 | ||
| 		DJNZ	PutStringLp
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RET 
 | ||
| 
 | ||
| CorrectFile	JR	NC,MinusBytes
 | ||
| PlusBytes	NEG 
 | ||
| 		LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		LD	HL,(FEFileLenght)
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	A,H
 | ||
| 		CP	0xC0
 | ||
| 		JP	NC,NoMemSpace
 | ||
| 		LD	(FEFileLenght),HL
 | ||
| 		EX	DE,HL
 | ||
| 		PUSH	HL
 | ||
| 		LD	BC,(LineShift)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		POP	HL
 | ||
| 		DI 
 | ||
| 		EXX 
 | ||
| 	GETPORT WINSP.CPU0
 | ||
| 		LD	L,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	E,A
 | ||
| 	GETPORT WINSP.CPU2
 | ||
| 		LD	C,A
 | ||
| 		EXX 
 | ||
| 		LD	A,(PagesList)
 | ||
| 	SETPORT WINSP.CPU0,,0
 | ||
| 		LD	A,(PagesList+1)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,(PagesList+2)
 | ||
| 	SETPORT WINSP.CPU2,,0
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,.MovUp1
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .MovUp0		DEC	H
 | ||
| 		DEC	D
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		DEC	B
 | ||
| 		JR	NZ,.MovUp0
 | ||
| .MovUp1		LD	A,C
 | ||
| 		OR	A
 | ||
| 		JR	Z,MoveUpE
 | ||
| 		LD	(.LenUp),A
 | ||
| 		SBC	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .LenUp		EQU $-1
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| MoveUpE		EXX 
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.CPU2,,0
 | ||
| 		LD	A,E
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,L
 | ||
| 	SETPORT WINSP.CPU0,,0
 | ||
| 		EXX 
 | ||
| 		EI 
 | ||
| 		RET 
 | ||
| 
 | ||
| MinusBytes	LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		PUSH	HL
 | ||
| 		ADD	HL,BC
 | ||
| 		PUSH	HL
 | ||
| 		EX	DE,HL
 | ||
| 		LD	HL,(FEFileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	(FEFileLenght),HL
 | ||
| 		LD	BC,(LineShift)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		POP	HL
 | ||
| 		POP	DE
 | ||
| 		DI 
 | ||
| 		EXX 
 | ||
| 	GETPORT WINSP.CPU0
 | ||
| 		LD	L,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	E,A
 | ||
| 	GETPORT WINSP.CPU2
 | ||
| 		LD	C,A
 | ||
| 		EXX 
 | ||
| 		LD	A,(PagesList)
 | ||
| 	SETPORT WINSP.CPU0,,0
 | ||
| 		LD	A,(PagesList+1)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,(PagesList+2)
 | ||
| 	SETPORT WINSP.CPU2,,0
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,MovFl1
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| MovFl0
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	H
 | ||
| 		INC	D
 | ||
| 		DEC	B
 | ||
| 		JR	NZ,MovFl0
 | ||
| MovFl1		LD	A,C
 | ||
| 		OR	A
 | ||
| 		JR	Z,MoveFlE
 | ||
| 		LD	(.LenFl),A
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .LenFl		EQU $-1
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| MoveFlE		EXX 
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.CPU2,,0
 | ||
| 		LD	A,E
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,L
 | ||
| 	SETPORT WINSP.CPU0,,0
 | ||
| 		EXX 
 | ||
| 		EI 
 | ||
| 		RET 
 | ||
| 
 | ||
| NoMemSpace	CALL	GetString
 | ||
| 		CALL	PrnASCIIstring
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		INC	SP
 | ||
| 		INC	SP
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| PrnASCIIinfo	LD	HL,LineT
 | ||
| 		LD	DE,ColT
 | ||
| 		LD	BC,FreeT
 | ||
| 		LD	A,0x01
 | ||
| 	REPT     0x04
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		LD	(BC),A
 | ||
| 		INC	BC
 | ||
| 	ENDM 
 | ||
| 		LD	(HL),A
 | ||
| 		LD	(DE),A
 | ||
| 		LD	(BC),A
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		LD	DE,LineT
 | ||
| 		INC	HL
 | ||
| 		CALL	JUMPS.ConvNumTxt16
 | ||
| 		LD	DE,ColT
 | ||
| 		LD	A,(IY+CursorX)
 | ||
| 		ADD	A,(IY+CursAddX)
 | ||
| 		INC	A
 | ||
| 		CALL	JUMPS.ConvNumTxt8
 | ||
| 		LD	HL,0xC000
 | ||
| 		LD	DE,FreeT
 | ||
| 		LD	BC,(FEFileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		CALL	JUMPS.ConvNumTxt16
 | ||
| 		LD	HL,ReadyNo
 | ||
| 		LD	A,(IY+ReadyFile)
 | ||
| 		OR	A
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	HL,ReadyYes
 | ||
| .L1		LD	DE,0x017E
 | ||
| 		LD	BC,0x0011
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	JUMPS.PrnTxtLnIFF
 | ||
| 		LD	HL,LineT
 | ||
| 		LD	DE,0x01AE
 | ||
| 		LD	BC,0x0011
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	JUMPS.PrnTxtLnIFF
 | ||
| 		LD	HL,ColT
 | ||
| 		LD	DE,0x01F8
 | ||
| 		LD	BC,0x0011
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	JUMPS.PrnTxtLnIFF
 | ||
| 		LD	HL,FreeT
 | ||
| 		LD	DE,0x0248
 | ||
| 		LD	BC,0x0011
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	JUMPS.PrnTxtLnIFF
 | ||
| 		LD	IX,EditVBar
 | ||
| 		LD	HL,(ELines)
 | ||
| 		LD	DE,(EquipLines)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	Z,TstLine
 | ||
| 		LD	(ELines),DE
 | ||
| 		CALL	JUMPS.InitScrBar
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		LD	(CLine),HL
 | ||
| 		CALL	JUMPS.PrnVScrBar
 | ||
| 		JR	TstAddX
 | ||
| 
 | ||
| TstLine		LD	HL,(CLine)
 | ||
| 		LD	DE,(CurLine)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	Z,TstAddX
 | ||
| 		LD	(CLine),DE
 | ||
| 		CALL	JUMPS.PrnVScrBar
 | ||
| TstAddX		LD	A,(CAddX)
 | ||
| 		SUB	(IY+CursorX)
 | ||
| 		CP	(IY+CursAddX)
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY+CursorX)
 | ||
| 		ADD	A,(IY+CursAddX)
 | ||
| 		LD	(CAddX),A
 | ||
| 		LD	IX,EditHBar
 | ||
| 		CALL	JUMPS.PrnHScrBar
 | ||
| 		RET 
 | ||
| 
 | ||
| ReadyNo		DEFB	0x01,0
 | ||
| ReadyYes	DEFB	"*",0
 | ||
| LineT		DUPL	6,0
 | ||
| ColT		DUPL	6,0
 | ||
| FreeT		DUPL	6,0
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| TInsertSymbol	CP	0x20
 | ||
| 		JR	NC,InsSymbol
 | ||
| 		CP	0x08
 | ||
| 		JP	Z,BackSpace
 | ||
| 		CP	0x0D
 | ||
| 		JP	Z,Enter
 | ||
| 		CP	0x09
 | ||
| 		RET	NZ
 | ||
| InsSymbol:	push	af
 | ||
| 		call	Insert
 | ||
| 		call	TCursorRight
 | ||
| 		pop	bc
 | ||
| 		call 	AutoBracket
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	(IY+ReadyFile),A
 | ||
| 		jp	PrnASCIIstring
 | ||
| 
 | ||
| AutoBracket:	ld	a,1
 | ||
| AutoBrackets	EQU $-1
 | ||
| 		and	a
 | ||
| 		ret	z
 | ||
| 		call	CanInsertBrackets
 | ||
| 		ret	c
 | ||
| 		ld	a,b
 | ||
| 		call	Subst
 | ||
| 		db	4
 | ||
| 		db	"(){}[]<>"
 | ||
| 		cp	b
 | ||
| 		jr	nz,Insert
 | ||
| 		cp	'\"'		; #22
 | ||
| 		ret	nz
 | ||
| 		jp	Insert
 | ||
| 
 | ||
| CanInsertBrackets:
 | ||
| 		LD	A,(IY+LenString)	;InpytSymb
 | ||
| 		CP	240			;Max len
 | ||
| 		RET	Z
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	L,(IY+StringX)
 | ||
| 		ld	a,(hl)
 | ||
| 		and	a
 | ||
| 		ret	z
 | ||
| 		cp	32
 | ||
| 		ret	z
 | ||
| 		cp	9
 | ||
| 		ret	z
 | ||
| 		scf
 | ||
| 		ret
 | ||
| 
 | ||
| Insert		EX	AF,AF'
 | ||
| 		LD	A,(IY+LenString)	;InpytSymb
 | ||
| 		CP	240			;Max len
 | ||
| 		RET	Z
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		JR	C,.NotInsert
 | ||
| 		JR	Z,.NotInsert
 | ||
| ;‚¢®¤ ¢	á¥à¥¤¨ã ⥪áâ 
 | ||
| 		LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		LD	L,(IY+LenString)
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		DEC	HL
 | ||
| 		LDDR 
 | ||
| .NotInsert	LD	H,HIGH (LineBuffer)
 | ||
| 		LD	L,(IY+StringX)
 | ||
| 		EX	AF,AF'
 | ||
| 		LD	(HL),A
 | ||
| 		ld	a,(IY+LenString)
 | ||
| 		inc	a
 | ||
| 		cp	l
 | ||
| 		jr	nc,.set
 | ||
| 		ld	a,l
 | ||
| 		inc	a
 | ||
| .set:		ld	(IY+LenString),a
 | ||
| 		ret
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;<3B>®¤áâ ®¢ª  a ¯® ᯨáªã §  call.
 | ||
| ;¯¥à¢ë© ¡ ©â ᯨ᪠ ᮤ¥à¦¨â ç¨á«®
 | ||
| ;á«¥¤ãîé¨å ¤ «¥¥ ¯ à ®¡à §¥æ-§ ¬¥¨â¥«ì.
 | ||
| ;‚室:  a.  ‚ë室: a
 | ||
| ; BXO„:  A,List
 | ||
| ; B›XO„: A
 | ||
| Subst:		ex	(sp),hl
 | ||
| 		push	bc
 | ||
| 		ld	b,(hl)
 | ||
| 		inc	hl
 | ||
| 		ld	c,a
 | ||
| Subst1:		cp	(hl)
 | ||
| 		inc	hl
 | ||
| 		jr	nz,Subst2
 | ||
| 		ld	c,(hl)
 | ||
| Subst2:		inc	hl
 | ||
| 		djnz	Subst1
 | ||
| 		ld	a,c
 | ||
| 		pop	bc
 | ||
| 		ex	(sp),hl
 | ||
| 		ret
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;DoubleString
 | ||
| TDoubleString:	ld	l,(iy+LenString)
 | ||
| 		ld	a,l
 | ||
| 		and	a
 | ||
| 		adc	a,a		;¡ã¤¥â ¯à¥¢ëè¥ ¡ãä¥à ¢ 256 ᨬ¢®«®¢
 | ||
| 		ret	c
 | ||
| 		adc	a,2
 | ||
| 		ret	c
 | ||
| 		ld	h,0x00
 | ||
| 		push	hl
 | ||
| 		push	hl
 | ||
| 		pop	bc
 | ||
| 		ld	de,LineBuffer
 | ||
| 		add	hl,de
 | ||
| 		ld	(hl),0x0D
 | ||
| 		inc	hl
 | ||
| 		ld	(hl),0x0A
 | ||
| 		inc	hl
 | ||
| 		ex	hl,de
 | ||
| 		ld	a,c
 | ||
| 		or	a
 | ||
| 		jr	z,.skip
 | ||
| 		ldir
 | ||
| .skip:		pop	hl
 | ||
| 		add	hl,hl
 | ||
| 		inc	hl
 | ||
| 		inc	hl
 | ||
| 		ld	(iy+LenString),l
 | ||
| 		ld	a,0x01
 | ||
| 		ld	(iy+ReadyStr),a
 | ||
| 		ld	(iy+ReadyFile),a
 | ||
| 		call	PutString
 | ||
| 		ld	hl,(EquipLines)
 | ||
| 		inc	hl
 | ||
| 		ld	(EquipLines),hl
 | ||
| 		call	FEPrnASCIIpage
 | ||
| 		jp	TCursorDown
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;Enter
 | ||
| Enter		LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		jr	nc,.less
 | ||
| 		xor	a
 | ||
| .less:		LD	C,A
 | ||
| 		call	CalcStartTabs
 | ||
| 		ld	a,l
 | ||
| 		ld	(.tabs),a
 | ||
| 		push	af
 | ||
| 		inc	a
 | ||
| 		LD	L,(IY+LenString)
 | ||
| 		add	a,l
 | ||
| 		ld	e,a
 | ||
| 		ld	d,h
 | ||
| 		xor	a
 | ||
| 		cp	c
 | ||
| 		jr	z,.endLine
 | ||
| 		LD	B,0x00
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		dec	l
 | ||
| 		LDDR
 | ||
| .endLine:	pop	af
 | ||
| 		and	a
 | ||
| 		jr	z,.skip
 | ||
| 		ld	c,a
 | ||
| 		ld	b,0x00
 | ||
| 		ld	h,HIGH (LineBuffer)
 | ||
| 		ld	l,a
 | ||
| 		dec	l
 | ||
| 		lddr
 | ||
| .skip:		ex	hl,de
 | ||
| 		ld	(hl),0x0A
 | ||
| 		dec	hl
 | ||
| 		ld	(hl),0x0D
 | ||
| 		add	a,(IY+LenString)
 | ||
| 		add	a,2
 | ||
| 		ld	(IY+LenString),a
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	(IY+ReadyFile),A
 | ||
| 		CALL	PutString
 | ||
| 		LD	HL,(EquipLines)
 | ||
| 		INC	HL
 | ||
| 		LD	(EquipLines),HL
 | ||
| 		CALL	FEPrnASCIIpage
 | ||
| 		ld	a,0
 | ||
| .tabs		EQU $-1
 | ||
| 		LD	(IY+StringX),A
 | ||
| 		and	a
 | ||
| 		call	nz,StringXToCursorX
 | ||
| 		LD	(IY+CursorX),a
 | ||
| 		JP	TCursorDown
 | ||
| 
 | ||
| StringXToCursorX:
 | ||
| 		ld	b,a
 | ||
| 		ld	c,0x00
 | ||
| 		ld	hl,LineBuffer
 | ||
| .loop:		ld	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,.skip
 | ||
| 		LD	A,C
 | ||
| 		AND	0xF8
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		DEC	C
 | ||
| .skip:		INC	C
 | ||
| 		DJNZ	.loop
 | ||
| 		ld	a,c
 | ||
| 		ret
 | ||
| 
 | ||
| CalcStartTabs:	ld	hl,LineBuffer
 | ||
| 		ld	a,1
 | ||
| .param		EQU $-1
 | ||
| 		and	a
 | ||
| 		ret	z
 | ||
| 		ld	b,(iy+StringX)
 | ||
| .loop:		ld 	a,(hl)
 | ||
| 		cp	0x20
 | ||
| 		jr	z,.next
 | ||
| 		cp	0x09
 | ||
| 		ret	nz
 | ||
| .next:		inc	l
 | ||
| 		djnz	.loop
 | ||
| 		ret
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| Undo:		xor	a
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	(IY+ReadyFile),A
 | ||
| 		call	GetString
 | ||
| 		CALL	PrnASCIIstring
 | ||
| 		jp	PrnASCIIinfo
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;BackSpace
 | ||
| BackSpace	LD	A,(IY+StringX)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	L,A
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		DEC	DE
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		JR	Z,BackSp1
 | ||
| 		LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		LDIR 
 | ||
| 		SUB	A
 | ||
| BackSp1		LD	(DE),A
 | ||
| 		INC	A
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	(IY+ReadyFile),A
 | ||
| 		DEC	(IY+LenString)
 | ||
| 		CALL	PrnASCIIstring
 | ||
| 		JP	TCursorLeft
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TDeleteString:	sub	a
 | ||
| 		ld	(IY+LenString),a
 | ||
| 		ld	(IY+StringX),a
 | ||
| 		ld	l,a
 | ||
| 		ld	h,HIGH (LineBuffer)
 | ||
| 		ld	(hl),a
 | ||
| 		inc	a
 | ||
| 		ld	(IY+ReadyStr),A
 | ||
| 		ld	(IY+ReadyFile),A
 | ||
| 		call	PutString
 | ||
| 		jr	AddString
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TDeleteSymbol	LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		JR	Z,AddString
 | ||
| 		LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		LD	L,(IY+StringX)
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		INC	HL
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		DEC	DE
 | ||
| 		LDIR 
 | ||
| 		SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		INC	A
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	(IY+ReadyFile),A
 | ||
| 		DEC	(IY+LenString)
 | ||
| 		CALL	PrnASCIIstring
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		RET 
 | ||
| 
 | ||
| AddString	CALL	PutStr2
 | ||
| 		LD	A,(IY+StringX)
 | ||
| 		CP	0xF0
 | ||
| 		RET	Z
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		CALL	FESearchDown
 | ||
| 		LD	DE,(FEFileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	Z
 | ||
| 		ADD	HL,DE
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,H		;‚뤥«ï¥¬ ®¬¥à	áâà ¨æë
 | ||
| 		AND	0xC0
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		LD	E,A
 | ||
| 		LD	D,HIGH (PagesList)
 | ||
| 		LD	A,(DE)		;’¥ª.áâà ¨æ 
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RES	7,H
 | ||
| 		SET	6,H
 | ||
| 		DEC	HL
 | ||
| 		BIT	6,H
 | ||
| 		JR	NZ,AddStr0
 | ||
| 		DEC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SET	6,H
 | ||
| AddStr0		LD	A,(HL)
 | ||
| 		CP	0x0D
 | ||
| 		LD	B,0x01
 | ||
| 		JR	Z,AddStr2
 | ||
| 		CP	0x0A
 | ||
| 		LD	B,0x00
 | ||
| 		JR	NZ,AddStr2
 | ||
| 		DEC	HL
 | ||
| 		BIT	6,H
 | ||
| 		JR	NZ,AddStr1
 | ||
| 		DEC	E
 | ||
| 		LD	A,(DE)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SET	6,H
 | ||
| AddStr1		LD	A,(HL)
 | ||
| 		CP	0x0D
 | ||
| 		LD	B,0x01
 | ||
| 		JR	NZ,AddStr2
 | ||
| 		LD	B,0x02
 | ||
| AddStr2		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		CALL	MinusBytes
 | ||
| 		CALL	PutStrN
 | ||
| 		LD	HL,(EquipLines)
 | ||
| 		DEC	HL
 | ||
| 		LD	(EquipLines),HL
 | ||
| 		CALL	FEPrnASCIIpage
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;Delete	word
 | ||
| TDeleteWord	LD	A,(IY+StringX)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	C,A
 | ||
| 		LD	B,A
 | ||
| 		LD	L,A
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	C
 | ||
| 		LD	E,A
 | ||
| 		PUSH	HL
 | ||
| 		DEC	L
 | ||
| 		DEC	C
 | ||
| 		LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.next
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.next
 | ||
| 		CP	','
 | ||
| 		JR	Z,.next
 | ||
| 		CP	'.'
 | ||
| 		JR	Z,.next
 | ||
| 		DEC	B
 | ||
| 		JR	Z,.skip
 | ||
| .DWord0		DEC	L
 | ||
| 		DEC	C
 | ||
| 		LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.DWord2
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.DWord2
 | ||
| 		CP	','
 | ||
| 		JR	Z,.DWord2
 | ||
| 		CP	'.'
 | ||
| 		JR	Z,.DWord2
 | ||
| 		DJNZ	.DWord0
 | ||
| 		JR	.skip
 | ||
| 
 | ||
| .DWord1		LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.next
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.next
 | ||
| 		CP	','
 | ||
| 		JR	Z,.next
 | ||
| 		CP	'.'
 | ||
| 		JR	NZ,.DWord2
 | ||
| .next		DEC	L
 | ||
| 		DEC	C
 | ||
| 		DJNZ	.DWord1
 | ||
| .DWord2		INC	L
 | ||
| 		INC	C
 | ||
| .skip		LD	A,(IY+StringX)
 | ||
| 		LD	(IY+StringX),C
 | ||
| 		SUB	C
 | ||
| 		LD	C,A
 | ||
| 		EX	AF,AF'
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	C
 | ||
| 		LD	(IY+LenString),A
 | ||
| 		LD	C,E
 | ||
| 		LD	B,0x00
 | ||
| 		EX	DE,HL
 | ||
| 		POP	HL
 | ||
| 		LD	A,C
 | ||
| 		OR	A
 | ||
| 		JR	Z,.L1
 | ||
| 		LDIR 
 | ||
| .L1		EX	DE,HL
 | ||
| 		EX	AF,AF'
 | ||
| 		LD	B,A
 | ||
| 		SUB	A
 | ||
| .L2		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L2
 | ||
| 		INC	A
 | ||
| 		LD	(IY+ReadyStr),A
 | ||
| 		LD	(IY+ReadyFile),A
 | ||
| 		CALL	PrnASCIIstring
 | ||
| 		INC	(IY+StringX)
 | ||
| 		JP	TCursorLeft
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;Šãàá®à	¢«¥¢®   ®¤® ¬¥áâ®
 | ||
| TCursorLeft	LD	A,(IY+StringX)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		DEC	A
 | ||
| 		LD	(IY+StringX),A
 | ||
| 		LD	C,0x00
 | ||
| 		JR	Z,CursLf3
 | ||
| 		LD	HL,LineBuffer
 | ||
| 		LD	B,A
 | ||
| CursLf1		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,CursLf2
 | ||
| 		LD	A,C
 | ||
| 		AND	0xF8
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		DEC	C
 | ||
| CursLf2		INC	C
 | ||
| 		DJNZ	CursLf1
 | ||
| CursLf3		LD	B,(IY+CursAddX)
 | ||
| CursLf4		LD	A,C
 | ||
| 		SUB	(IY+CursAddX)
 | ||
| 		JR	NC,CursLf5
 | ||
| 		LD	A,(IY+CursAddX)
 | ||
| 		SUB	Step
 | ||
| 		LD	(IY+CursAddX),A
 | ||
| 		JR	CursLf4
 | ||
| 
 | ||
| CursLf5		LD	(IY+CursorX),A
 | ||
| 		LD	A,B
 | ||
| 		CP	(IY+CursAddX)
 | ||
| 		CALL	NZ,RefrASCIIpage
 | ||
| 		CALL	FEResCursor
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		RET	Z
 | ||
| 		LD	B,A
 | ||
| 		LD	L,(IY+LenString)
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	D,0x00
 | ||
| 		LD	A,0x20
 | ||
| CursLf6		DEC	HL
 | ||
| 		CP	(HL)
 | ||
| 		RET	NZ
 | ||
| 		LD	(HL),D
 | ||
| 		DEC	(IY+LenString)
 | ||
| 		DJNZ	CursLf6
 | ||
| 		RET 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;Šãàá®à	¢¯à ¢®   ®¤® ¬¥áâ®
 | ||
| TCursorRight	LD	A,(IY+CursorX)
 | ||
| 		ADD	A,(IY+CursAddX)
 | ||
| 		CP	240
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY+StringX)
 | ||
| 		CP	240
 | ||
| 		RET	Z
 | ||
| 		INC	A
 | ||
| 		LD	(IY+StringX),A
 | ||
| 		LD	C,0x00
 | ||
| 		LD	HL,LineBuffer
 | ||
| 		OR	A
 | ||
| 		JR	Z,.CursRg3
 | ||
| 		LD	B,A
 | ||
| .CursRg1	LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,.CursRg2
 | ||
| 		LD	A,C
 | ||
| 		AND	0xF8
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		DEC	C
 | ||
| .CursRg2	INC	C
 | ||
| 		DJNZ	.CursRg1
 | ||
| .CursRg3	LD	B,(IY+CursAddX)
 | ||
| .CursRg4	LD	A,C
 | ||
| 		SUB	(IY+CursAddX)
 | ||
| 		CP	0x4E
 | ||
| 		JR	C,CursRg5
 | ||
| 		LD	A,(IY+CursAddX)
 | ||
| 		ADD	A,Step
 | ||
| 		LD	(IY+CursAddX),A
 | ||
| 		JR	.CursRg4
 | ||
| 
 | ||
| CursRg5		LD	(IY+CursorX),A
 | ||
| 		LD	A,B
 | ||
| 		CP	(IY+CursAddX)
 | ||
| 		CALL	NZ,RefrASCIIpage
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		JR	NC,CursRg6
 | ||
| 		LD	L,(IY+LenString)
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	(HL),0x20
 | ||
| 		INC	(IY+LenString)
 | ||
| CursRg6		CALL	FEResCursor
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;Word left
 | ||
| TWordLeft	LD	A,(IY+StringX)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	C,A
 | ||
| 		LD	B,A
 | ||
| 		LD	L,A
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| .WordLf0	DEC	L
 | ||
| 		DEC	C
 | ||
| 		LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.next
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.next
 | ||
| 		CP	','
 | ||
| 		JR	Z,.next
 | ||
| 		CP	'.'
 | ||
| 		JR	Z,.next
 | ||
| 		DJNZ	.WordLf0
 | ||
| 		JR	.skip
 | ||
| 
 | ||
| .WordLf1	LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.next
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.next
 | ||
| 		CP	','
 | ||
| 		JR	Z,.next
 | ||
| 		CP	'.'
 | ||
| 		JR	NZ,.WordLf2
 | ||
| .next		DEC	L
 | ||
| 		DEC	C
 | ||
| 		DJNZ	.WordLf1
 | ||
| .WordLf2	INC	C
 | ||
| .skip		LD	(IY+StringX),C
 | ||
| 		INC	(IY+StringX)
 | ||
| 		JP	TCursorLeft
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ;Word right
 | ||
| TWordRight	LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		RET	Z
 | ||
| 		LD	B,A
 | ||
| 		LD	L,(IY+StringX)
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	C,L
 | ||
| .WordRg0	LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.next
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.next
 | ||
| 		CP	','
 | ||
| 		JR	Z,.next
 | ||
| 		CP	'.'
 | ||
| 		JR	Z,.next
 | ||
| 		INC	L
 | ||
| 		INC	C
 | ||
| 		DJNZ	.WordRg0
 | ||
| 		JR	.WordRg2
 | ||
| 
 | ||
| .WordRg1	LD	A,(HL)
 | ||
| 		CP	0x09
 | ||
| 		JR	Z,.next
 | ||
| 		CP	0x20
 | ||
| 		JR	Z,.next
 | ||
| 		CP	','
 | ||
| 		JR	Z,.next
 | ||
| 		CP	'.'
 | ||
| 		JR	NZ,.WordRg2
 | ||
| .next		INC	L
 | ||
| 		INC	C
 | ||
| 		DJNZ	.WordRg1
 | ||
| .WordRg2	LD	(IY+StringX),C
 | ||
| 		LD	A,C
 | ||
| 		OR	A
 | ||
| 		JP	Z,THomeString
 | ||
| 		DEC	(IY+StringX)
 | ||
| 		JP	TCursorRight
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| THomeString	ld	a,1
 | ||
| .param		EQU $-1
 | ||
| 		and	a
 | ||
| 		jr	z,.toZero
 | ||
| 		LD	A,(IY+StringX)
 | ||
| 		ld	e,a
 | ||
| 		ld	l,0
 | ||
| 		ld	d,l
 | ||
| 		ld	c,0x09
 | ||
| 		ld	b,(iy+LenString)
 | ||
| 		ld	h,HIGH (LineBuffer)
 | ||
| ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | ||
| .loop:		ld	a,(hl)
 | ||
| 		or	a
 | ||
| 		jr	z,.toFirst
 | ||
| 		cp	0x20
 | ||
| 		jr	z,.next
 | ||
| 		cp	c
 | ||
| 		jr	nz,.firstSym
 | ||
| 		ld	a,7
 | ||
| 		add	a,d
 | ||
| 		ld	d,a
 | ||
| .next:		inc	l
 | ||
| 		inc	d
 | ||
| 		djnz	.loop
 | ||
| 		jr	.toZero
 | ||
| ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | ||
| 
 | ||
| .firstSym:	ld	a,l
 | ||
| 		cp	e
 | ||
| 		jr	c,.skipTabs
 | ||
| 		jr	nz,.skipTabs
 | ||
| .toFirst:	and	a
 | ||
| 		jr	z,.skipTabs
 | ||
| .toZero:	sub	a
 | ||
| 		ld	l,a
 | ||
| 		ld	d,a
 | ||
| .skipTabs:	LD	B,(IY+CursAddX)
 | ||
| 		ld	a,l
 | ||
| 		LD	(IY+StringX),A
 | ||
| 		LD	(IY+CursorX),d
 | ||
| 		and	a
 | ||
| 		jr	nz,.notZero
 | ||
| 		LD	(IY+CursAddX),A
 | ||
| 		jr	.skip
 | ||
| 
 | ||
| .notZero:	cp	b
 | ||
| 		jr	nc,.skip
 | ||
| 		SUB	A
 | ||
| 		LD	(IY+CursAddX),A
 | ||
| .skip:		LD	A,B
 | ||
| 		CP	(IY+CursAddX)
 | ||
| 		CALL	NZ,RefrASCIIpage
 | ||
| 		CALL	FEResCursor
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	(IY+StringX)
 | ||
| 		RET	Z
 | ||
| 		LD	B,A
 | ||
| 		LD	L,(IY+LenString)
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	D,0x00
 | ||
| 		LD	A,0x20
 | ||
| HomeStr		DEC	HL
 | ||
| 		CP	(HL)
 | ||
| 		RET	NZ
 | ||
| 		LD	(HL),D
 | ||
| 		DEC	(IY+LenString)
 | ||
| 		DJNZ	HomeStr
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TEndString	LD	A,(IY+LenString)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	B,A
 | ||
| 		LD	L,A
 | ||
| 		LD	H,HIGH (LineBuffer)
 | ||
| 		LD	D,0x00
 | ||
| 		LD	A,0x20
 | ||
| EndStr1		LD	(HL),D
 | ||
| 		DEC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,EndStr2
 | ||
| 		DJNZ	EndStr1
 | ||
| EndStr2		LD	(IY+LenString),B
 | ||
| 		LD	A,B
 | ||
| 		CP	(IY+StringX)
 | ||
| 		RET	Z
 | ||
| 		OR	A
 | ||
| 		JP	Z,THomeString.toZero
 | ||
| 		DEC	A
 | ||
| 		LD	(IY+StringX),A
 | ||
| 		JP	TCursorRight
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TCursorUp	CALL	PutString
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY+CursorY)
 | ||
| 		OR	A
 | ||
| 		JP	Z,TScrollUp
 | ||
| 		CALL	FESearchUp
 | ||
| 		LD	(LineShift),HL
 | ||
| 		DEC	(IY+CursorY)
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		DEC	HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		JP	CursorExit
 | ||
| 
 | ||
| TCursorDown	CALL	PutString
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		LD	DE,(FEFileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	Z
 | ||
| 		ADD	HL,DE
 | ||
| 		CALL	FESearchDown
 | ||
| 		LD	A,(IY+CursorY)
 | ||
| 		CP	0x18
 | ||
| 		JP	Z,TScrollDown
 | ||
| 		LD	(LineShift),HL
 | ||
| 		INC	(IY+CursorY)
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		INC	HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		JP	CursorExit
 | ||
| 
 | ||
| TScrollUp	CALL	PutString
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JP	Z,TCursorUp
 | ||
| 		CALL	FESearchUp
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		LD	(FETempShift),HL
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		CALL	FESearchUp
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		DEC	HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		CALL	FEResCursor
 | ||
| 		CALL	FEScrollSCRdown
 | ||
| 		LD	B,0x1C
 | ||
| 		CALL	PrnASCIIline
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		JP	CursorExit
 | ||
| 
 | ||
| TScrollDown	CALL	PutString
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	B,0x19
 | ||
| .ScrlDn1	PUSH	BC
 | ||
| 		CALL	FESearchDown
 | ||
| 		POP	BC
 | ||
| 		JP	C,TCursorDown
 | ||
| 		DJNZ	.ScrlDn1
 | ||
| 		LD	(FETempShift),HL
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		CALL	FESearchDown
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		CALL	FESearchDown
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		INC	HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		CALL	FEResCursor
 | ||
| 		CALL	FEScrollSCRup
 | ||
| 		LD	B,0xDC
 | ||
| 		CALL	PrnASCIIline
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| CursorExit	CALL	GetString
 | ||
| 		LD	HL,LineBuffer
 | ||
| 		LD	C,0x00
 | ||
| 		LD	A,(IY+CursorX)
 | ||
| 		add	a,(iy+CursAddX)
 | ||
| 		OR	A
 | ||
| 		JR	Z,CursEx3
 | ||
| 		LD	B,A
 | ||
| CursEx1		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,CursEx2
 | ||
| 		LD	A,C
 | ||
| 		AND	0xF8
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		DEC	C
 | ||
| CursEx2		INC	C
 | ||
| 		LD	a,c
 | ||
| 		cp	b
 | ||
| 		jr	nc,CursEx3
 | ||
| 		jr	CursEx1
 | ||
| 
 | ||
| CursEx3:	ld	(iy+StringX),l
 | ||
| 		LD	B,(IY+CursAddX)
 | ||
| 		LD	(IY+CursAddX),0x00
 | ||
| CursEx4:	LD	A,C
 | ||
| 		SUB	(IY+CursAddX)
 | ||
| 		CP	0x4E
 | ||
| 		JR	C,CursEx5
 | ||
| 		LD	A,(IY+CursAddX)
 | ||
| 		ADD	A,Step
 | ||
| 		LD	(IY+CursAddX),A
 | ||
| 		JR	CursEx4
 | ||
| 
 | ||
| CursEx5		LD	(IY+CursorX),A
 | ||
| 		LD	A,B
 | ||
| 		CP	(IY+CursAddX)
 | ||
| 		CALL	NZ,RefrASCIIpage
 | ||
| 		CALL	FEResCursor
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| FETPageUp	CALL	PutString
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JP	Z,FETBegFile
 | ||
| 		LD	DE,(CurLine)
 | ||
| 		LD	B,0x19
 | ||
| PageUp1		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		CALL	FESearchUp
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		JR	C,.L1
 | ||
| 		DEC	DE
 | ||
| 		DJNZ	PageUp1
 | ||
| .L1		LD	(FEPageShift),HL
 | ||
| 		LD	(CurLine),DE
 | ||
| 		JR	PageExit
 | ||
| 
 | ||
| TPageDown	CALL	PutString
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	DE,(CurLine)
 | ||
| 		LD	B,0x19
 | ||
| PageDn1		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		CALL	FESearchDown
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		JP	C,FETEndFile
 | ||
| 		INC	DE
 | ||
| 		DJNZ	PageDn1
 | ||
| 		LD	BC,(FEFileLenght)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JP	Z,FETEndFile
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		LD	(CurLine),DE
 | ||
| PageExit	LD	A,(IY+CursorY)
 | ||
| 		OR	A
 | ||
| 		JR	Z,PageEx3
 | ||
| 		LD	B,A
 | ||
| PageEx1		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		CALL	FESearchDown
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		JR	C,PageEx2
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		DJNZ	PageEx1
 | ||
| 		DEC	B
 | ||
| PageEx2		INC	B
 | ||
| 		LD	A,(IY+CursorY)
 | ||
| 		SUB	B
 | ||
| 		LD	(IY+CursorY),A
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		LD	A,L
 | ||
| 		SUB	B
 | ||
| 		LD	L,A
 | ||
| 		LD	A,H
 | ||
| 		SBC	A,0x00
 | ||
| 		LD	H,A
 | ||
| 		LD	(CurLine),HL
 | ||
| 		EX	DE,HL
 | ||
| PageEx3		LD	(LineShift),HL
 | ||
| NewPage		CALL	GetString
 | ||
| 		LD	HL,LineBuffer
 | ||
| 		LD	C,0x00
 | ||
| 		LD	A,(IY+StringX)
 | ||
| 		OR	A
 | ||
| 		JR	Z,PagePr3
 | ||
| 		LD	B,A
 | ||
| PagePr1		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,PagePr2
 | ||
| 		LD	A,C
 | ||
| 		AND	0xF8
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		DEC	C
 | ||
| PagePr2		INC	C
 | ||
| 		DJNZ	PagePr1
 | ||
| PagePr3		LD	(IY+CursAddX),0x00
 | ||
| PagePr4		LD	A,C
 | ||
| 		SUB	(IY+CursAddX)
 | ||
| 		CP	0x4E
 | ||
| 		JR	C,PagePr5
 | ||
| 		LD	A,(IY+CursAddX)
 | ||
| 		ADD	A,Step
 | ||
| 		LD	(IY+CursAddX),A
 | ||
| 		JR	PagePr4
 | ||
| 
 | ||
| PagePr5		LD	(IY+CursorX),A
 | ||
| 		CALL	FEPrnASCIIpage
 | ||
| 		RET 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| FETBegFile	CALL	PutString
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		RET	Z
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		LD	(IY+CursorY),L
 | ||
| 		JP	NewPage
 | ||
| 
 | ||
| FETEndFile	CALL	PutString
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		LD	B,0x19
 | ||
| EndFl1		PUSH	BC
 | ||
| 		CALL	FESearchDown
 | ||
| 		POP	BC
 | ||
| 		JR	C,EndFile1
 | ||
| 		DJNZ	EndFl1
 | ||
| 		LD	HL,(FEFileLenght)
 | ||
| 		LD	B,0x19
 | ||
| EndFl2		PUSH	BC
 | ||
| 		CALL	FESearchUp
 | ||
| 		POP	BC
 | ||
| 		DJNZ	EndFl2
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		LD	(IY+CursorY),0x18
 | ||
| EndFlEx		LD	HL,(FEFileLenght)
 | ||
| 		CALL	FESearchUp
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	HL,(EquipLines)
 | ||
| 		DEC	HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		JP	NewPage
 | ||
| 
 | ||
| EndFile1	LD	A,0x18
 | ||
| 		SUB	B
 | ||
| 		CP	(IY+CursorY)
 | ||
| 		RET	Z
 | ||
| 		LD	(IY+CursorY),A
 | ||
| 		LD	HL,(FEFileLenght)
 | ||
| 		CALL	FESearchUp
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	HL,(EquipLines)
 | ||
| 		DEC	HL
 | ||
| 		LD	(CurLine),HL
 | ||
| 		JP	NewPage
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| TNewCrPos	PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		CALL	PutString
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		LD	A,E
 | ||
| 		SUB	0x1C
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		LD	D,A
 | ||
| 		LD	E,L
 | ||
| 		LD	HL,(FEPageShift)
 | ||
| 		OR	A
 | ||
| 		JR	Z,NewPos2
 | ||
| 		LD	B,A
 | ||
| NewPos1		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		CALL	FESearchDown
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		JP	C,FETEndFile
 | ||
| 		DJNZ	NewPos1
 | ||
| NewPos2		LD	(LineShift),HL
 | ||
| 		LD	HL,(CurLine)
 | ||
| 		LD	A,D
 | ||
| 		SUB	(IY+CursorY)
 | ||
| 		LD	(IY+CursorY),D
 | ||
| 		LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		JR	NC,.L1
 | ||
| 		DEC	B
 | ||
| .L1		ADD	HL,BC
 | ||
| 		LD	(CurLine),HL
 | ||
| 		SUB	A
 | ||
| 		LD	(IY+StringX),A
 | ||
| 		PUSH	DE
 | ||
| 		CALL	GetString
 | ||
| 		POP	DE
 | ||
| 		LD	C,0x00
 | ||
| 		LD	A,E
 | ||
| 		ADD	A,(IY+CursAddX)
 | ||
| 		JR	Z,NewPos6
 | ||
| 		LD	E,A
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		OR	A
 | ||
| 		JR	Z,NewPos6
 | ||
| 		LD	B,A
 | ||
| 		LD	HL,LineBuffer
 | ||
| NewPos3		LD	A,(HL)
 | ||
| 		INC	L
 | ||
| 		CP	0x09
 | ||
| 		JR	NZ,NewPos4
 | ||
| 		LD	A,C
 | ||
| 		AND	0xF8
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		DEC	C
 | ||
| NewPos4		INC	C
 | ||
| 		LD	A,C
 | ||
| 		CP	E
 | ||
| 		JR	NC,NewPos5
 | ||
| 		DJNZ	NewPos3
 | ||
| NewPos5		LD	(IY+StringX),L
 | ||
| 		LD	A,(IY+LenString)
 | ||
| 		SUB	L
 | ||
| 		JR	NC,NewPos6
 | ||
| 		NEG 
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L2		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L2
 | ||
| 		LD	(IY+LenString),L
 | ||
| NewPos6		LD	A,C
 | ||
| 		SUB	(IY+CursAddX)
 | ||
| 		LD	(IY+CursorX),A
 | ||
| 		CALL	FEResCursor
 | ||
| 		LD	E,(IY+CursorX)
 | ||
| 		LD	D,(IY+CursorY)
 | ||
| 		CALL	FESetCursor
 | ||
| 		CALL	PrnASCIIinfo
 | ||
| 		CALL	JUMPS.ResFire
 | ||
| 		RET 
 |