2085 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2085 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 24.06.2025 savelij
 | ||
| 
 | ||
| ;[]===========================================================[]
 | ||
| CursUp		LD	A,(IY + PANEL.EFL)
 | ||
| 		OR	(IY + PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY + PANEL.CFL)
 | ||
| 		LD	H,(IY + PANEL.CFH)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JR	NZ,CursUp1
 | ||
| 		LD	A,(IY + PANEL.FFL)
 | ||
| 		OR	(IY + PANEL.FFH)
 | ||
| 		RET	Z
 | ||
| 		JR	ScrlDn1
 | ||
| 
 | ||
| CursUp1		DEC	HL
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	HL
 | ||
| 		LD	(IY + PANEL.CFL),L
 | ||
| 		LD	(IY + PANEL.CFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		JP	PrnFileInfo
 | ||
| 
 | ||
| ScrollDown:	LD	A,(IY + PANEL.EFL)
 | ||
| 		OR	(IY + PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY + PANEL.FFL)
 | ||
| 		OR	(IY + PANEL.FFH)
 | ||
| 		RET	Z
 | ||
| ScrlDn1		BIT	VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,ScrlDnP
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,ScrlDnT
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY + PANEL.EFL)
 | ||
| 		LD	H,(IY + PANEL.EFH)
 | ||
| 		ADD	HL,HL			; *2
 | ||
| 		ADD	HL,HL			; *4
 | ||
| 		ADD	HL,HL			; *8
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		ADD	HL,DE			; *18
 | ||
| 		SET	6,H			; | 0x4000 -  ¤à¥á  ç «  áâà ¨æë
 | ||
| 		PUSH	HL
 | ||
| 		POP	IX
 | ||
| 		LD	L,(IY + PANEL.FFL)
 | ||
| 		LD	H,(IY + PANEL.FFH)
 | ||
| 		DEC	HL
 | ||
| 		ADD	HL,HL			; *2
 | ||
| 		ADD	HL,HL			; *4
 | ||
| 		ADD	HL,HL			; *8
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		ADD	HL,DE			; *18
 | ||
| 		SET	6,H			; | 0x4000 -  ¤à¥á  ç «  áâà ¨æë
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,FileHDR.Attr
 | ||
| 		PUSH	HL
 | ||
| 		LDIR 
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x18*0x11
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	E,IXL
 | ||
| 		LD	D,IXH
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		ADD	HL,DE
 | ||
| 		JR	C,.L2
 | ||
| 		EX	DE,HL
 | ||
| .L2		LD	DE,WorkBuffer+0x10
 | ||
| 		LD	C,0x0E
 | ||
| 		PUSH	HL
 | ||
| 		LDIR 
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x18*0x11
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	E,IXL
 | ||
| 		LD	D,IXH
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		ADD	HL,DE
 | ||
| 		JR	C,.L3
 | ||
| 		EX	DE,HL
 | ||
| .L3		LD	DE,WorkBuffer+0x20
 | ||
| 		LD	C,0x0E
 | ||
| 		LDIR 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 		CALL	ResInvert
 | ||
| 		PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT		; ‘®åà ï¥¬ Y ¯®àâ
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	L,(IY + PANEL.XL)
 | ||
| 		LD	H,(IY + PANEL.XH)
 | ||
| 		LD	DE,6
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,63 << 8 | 71
 | ||
| 		LD BC,128 << 8 | 46
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x01
 | ||
| 		LD BC,12 << 8 | 63
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		PUSH	DE
 | ||
| 		CALL	NZ,PrintName
 | ||
| 		POP	HL
 | ||
| 		LD	DE,104
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,63 << 8 | 71
 | ||
| 		LD BC,128 << 8 | 46
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x11
 | ||
| 		LD BC,12 << 8 | 63
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		PUSH	DE
 | ||
| 		CALL	NZ,PrintName
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x0068
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,63 << 8 | 71
 | ||
| 		LD BC,128 << 8 | 46
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x21
 | ||
| 		LD BC,12 << 8 | 63
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		CALL	NZ,PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		LD	L,(IY + PANEL.FFL)
 | ||
| 		LD	H,(IY + PANEL.FFH)
 | ||
| 		DEC	HL
 | ||
| 		LD	(IY + PANEL.FFL),L
 | ||
| 		LD	(IY + PANEL.FFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		JP	PrnHScrBar
 | ||
| 
 | ||
| ScrlDnP
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY + PANEL.FFL)
 | ||
| 		LD	H,(IY + PANEL.FFH)
 | ||
| 		DEC	HL
 | ||
| 		ADD	HL,HL			; *2
 | ||
| 		ADD	HL,HL			; *4
 | ||
| 		ADD	HL,HL			; *8
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		ADD	HL,DE			; *18
 | ||
| 		SET	6,H			; | 0x4000
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,FileHDR.SIZE
 | ||
| 		LDIR 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	IX,WorkBuffer
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,WorkBuffer+0x200
 | ||
| 		LD	BC,0x000D
 | ||
| 		LDIR 
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		BIT	DIR.B_Dir,(IX + FileHDR.Attr)
 | ||
| 		CALL	NZ,PutDIRTxt
 | ||
| 		CALL	Z,GetFileLen
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		CALL	GetData
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		CALL	GetTime
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 		CALL	ResInvert
 | ||
| 		PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT			; ‘®åà ï¥¬ Y ¯®àâ
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	L,(IY+PANEL.XL)
 | ||
| 		LD	H,(IY+PANEL.XH)
 | ||
| 		LD	DE,4
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,63 << 8 | 71
 | ||
| 		LD BC,136 << 8 + 144
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x200
 | ||
| 		LD BC,38 << 8 + 63
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		DEC	HL
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		JP	PrnVScrBar
 | ||
| 
 | ||
| ScrlDnT
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	B,0x18
 | ||
| 		LD	A,0x80
 | ||
| 		PUSH	HL
 | ||
| .L2		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L2
 | ||
| 		POP	DE
 | ||
| 		LD	HL,0x4000
 | ||
| 		LD	C,(IY+PANEL.FFL)
 | ||
| 		LD	B,(IY+PANEL.FFH)
 | ||
| 		DEC	BC
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	Z,ScrDdn2
 | ||
| ScrDdn1		PUSH	BC
 | ||
| 		LD	A,(HL)
 | ||
| 		AND	0x7F
 | ||
| 		LD	E,A
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 		LD	BC,0x0010
 | ||
| 		ADD	HL,BC
 | ||
| 		POP	BC
 | ||
| 		DEC	BC
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	NZ,ScrDdn1
 | ||
| ScrDdn2		LD	DE,WorkBuffer+0x100
 | ||
| 		LD	BC,0x0010
 | ||
| 		LDIR 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer+0x100
 | ||
| 		LD	DE,WorkBuffer+0x200
 | ||
| 		CALL	MakeTreeLine
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 		CALL	ResInvert
 | ||
| 		PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT			; ‘®åà ï¥¬ Y ¯®àâ
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	L,(IY+PANEL.XL)
 | ||
| 		LD	H,(IY+PANEL.XH)
 | ||
| 		LD	DE,6
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,63 << 8 | 71
 | ||
| 		LD BC,136 << 8 | 144
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x200
 | ||
| 		LD BC,36 << 8 | 63
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		DEC	HL
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		JP	PrnVScrBar
 | ||
| 
 | ||
| ;[]===========================================================[]
 | ||
| CursDown	LD	C,(IY+PANEL.EFL)
 | ||
| 		LD	B,(IY+PANEL.EFH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.CFL)
 | ||
| 		LD	H,(IY+PANEL.CFH)
 | ||
| 		INC	HL
 | ||
| 		PUSH	HL
 | ||
| 		LD	E,(IY+PANEL.FFL)
 | ||
| 		LD	D,(IY+PANEL.FFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	HL
 | ||
| 		RET	NC
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,ScrlUp1
 | ||
| 		ADD	HL,DE
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	HL
 | ||
| 		LD	(IY+PANEL.CFL),L
 | ||
| 		LD	(IY+PANEL.CFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		JP	PrnFileInfo
 | ||
| 
 | ||
| ScrollUp:	LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	E,(IY+PANEL.EFL)
 | ||
| 		LD	D,(IY+PANEL.EFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	NC
 | ||
| ScrlUp1		BIT	VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,ScrlUpP
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,ScrlUpT
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	DE,0x0011
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,DE
 | ||
| 		SET	6,H
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,0x000E
 | ||
| 		PUSH	HL
 | ||
| 		LDIR 
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x18*0x11
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	DE,WorkBuffer+0x10
 | ||
| 		LD	C,0x0E
 | ||
| 		PUSH	HL
 | ||
| 		LDIR 
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x18*0x11
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	DE,WorkBuffer+0x20
 | ||
| 		LD	C,0x0E
 | ||
| 		LDIR 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 		CALL	ResInvert
 | ||
| 		PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT			; ‘®åà ï¥¬ Y ¯®àâ
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	L,(IY+PANEL.XL)
 | ||
| 		LD	H,(IY+PANEL.XH)
 | ||
| 		LD	DE,6
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,71 << 8 | 63
 | ||
| 		LD BC,128 << 8 | 46
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x01
 | ||
| 		LD BC,12 << 8 | 191
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		PUSH	DE
 | ||
| 		CALL	NZ,PrintName
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x0068
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	D,0x3F+0x08
 | ||
| 		LD	E,0x3F
 | ||
| 		LD	BC,0x802E
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x11
 | ||
| 		LD BC,12 << 8 | 191
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		PUSH	DE
 | ||
| 		CALL	NZ,PrintName
 | ||
| 		POP	HL
 | ||
| 		LD	DE,104
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,71 << 8 | 63
 | ||
| 		LD BC,128 << 8 | 46
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x21
 | ||
| 		LD BC,12 << 8 | 191
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		CALL	NZ,PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		INC	HL
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		JP	PrnHScrBar
 | ||
| 
 | ||
| ScrlUpP
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	DE,0x0012
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,DE
 | ||
| 		SET	6,H
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,0x0018
 | ||
| 		LDIR 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	IX,WorkBuffer
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,WorkBuffer+0x200
 | ||
| 		LD	BC,0x000D
 | ||
| 		LDIR 
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		BIT	DIR.B_Dir,(IX + FileHDR.Attr)
 | ||
| 		CALL	NZ,PutDIRTxt
 | ||
| 		CALL	Z,GetFileLen
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		CALL	GetData
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		CALL	GetTime
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 		CALL	ResInvert
 | ||
| 		PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT			; ‘®åà ï¥¬ Y ¯®àâ
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	L,(IY+PANEL.XL)
 | ||
| 		LD	H,(IY+PANEL.XH)
 | ||
| 		LD	DE,4
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,71 << 8 | 63
 | ||
| 		LD BC,136 << 8 | 144
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x200
 | ||
| 		LD BC,38 << 8 | 199
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		INC	HL
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		JP	PrnVScrBar
 | ||
| 
 | ||
| ScrlUpT
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	B,0x18
 | ||
| 		LD	A,0x80
 | ||
| 		PUSH	HL
 | ||
| .L2		LD	(HL),A
 | ||
| 		INC	L
 | ||
| 		DJNZ	.L2
 | ||
| 		POP	DE
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	BC,0x0012
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		LD	HL,0x4000
 | ||
| ScrDup1		PUSH	BC
 | ||
| 		LD	A,(HL)
 | ||
| 		AND	0x7F
 | ||
| 		LD	E,A
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 		LD	BC,0x0010
 | ||
| 		ADD	HL,BC
 | ||
| 		POP	BC
 | ||
| 		DEC	BC
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	NZ,ScrDup1
 | ||
| 		LD	DE,WorkBuffer+0x100
 | ||
| 		LD	BC,0x0010
 | ||
| 		LDIR 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer+0x100
 | ||
| 		LD	DE,WorkBuffer+0x200
 | ||
| 		CALL	MakeTreeLine
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 		CALL	ResInvert
 | ||
| 		PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT			; ‘®åà ï¥¬ Y ¯®àâ
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	L,(IY+PANEL.XL)
 | ||
| 		LD	H,(IY+PANEL.XH)
 | ||
| 		LD	DE,6
 | ||
| 		ADD	HL,DE
 | ||
| 		LD DE,71 << 8 | 63
 | ||
| 		LD BC,136 << 8 | 144
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ScrollDIRDownUp
 | ||
| 		POP	DE
 | ||
| 		LD	HL,WorkBuffer+0x200
 | ||
| 		LD BC,36 << 8 | 199
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		INC	HL
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		JP	PrnVScrBar
 | ||
| 
 | ||
| ; <20>  ¢å®¤:
 | ||
| ; HL - X ¯®§¨æ¨ï
 | ||
| ; D  - Y ®âªã¤ 
 | ||
| ; …  - Y ªã¤ 
 | ||
| ; B  - ¢ëá®â 
 | ||
| ; C  - è¨à¨ 
 | ||
| ScrollDIRDownUp:
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	A,B
 | ||
| 		LD	(.ScrlLen),A
 | ||
| 		DI 
 | ||
| 		LD	B,C
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .ScrlLen	EQU $-1
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .ScRect1	LD	A,D
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY_VERT
 | ||
| 		LD	A,(HL)
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	A,E
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY_VERT
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.ScRect1
 | ||
| 		EI 
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]===========================================================[]
 | ||
| CursLeft	BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.CFL)
 | ||
| 		LD	H,(IY+PANEL.CFH)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JP	Z,PageUp
 | ||
| 		LD	DE,0x0011
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,CursLRex
 | ||
| 		LD	HL,0x0000
 | ||
| 		JR	CursLRex
 | ||
| 
 | ||
| CursRight	BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.CFL)
 | ||
| 		LD	H,(IY+PANEL.CFH)
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		DEC	DE
 | ||
| 		OR	A
 | ||
| 		PUSH	HL
 | ||
| 		SBC	HL,DE
 | ||
| 		POP	HL
 | ||
| 		JP	Z,PageDown
 | ||
| 		LD	DE,0x0011
 | ||
| 		ADD	HL,DE
 | ||
| 		BIT	VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	DE,0x0032
 | ||
| .L1		EX	DE,HL
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,CursRg1
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		DEC	DE
 | ||
| CursRg1		EX	DE,HL
 | ||
| 		PUSH	HL
 | ||
| 		LD	E,(IY+PANEL.FFL)
 | ||
| 		LD	D,(IY+PANEL.FFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	C,(IY+PANEL.EFL)
 | ||
| 		LD	B,(IY+PANEL.EFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	HL
 | ||
| 		JR	C,CursLRex
 | ||
| 		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		DEC	HL
 | ||
| 		PUSH	HL
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		POP	HL
 | ||
| 		RET	Z
 | ||
| CursLRex	PUSH	HL
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	HL
 | ||
| 		LD	(IY+PANEL.CFL),L
 | ||
| 		LD	(IY+PANEL.CFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		JP	PrnFileInfo
 | ||
| 
 | ||
| ;[]===========================================================[]
 | ||
| PageUp		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JP	Z,Home
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	HL
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,.L1
 | ||
| 		LD	HL,0x0000
 | ||
| .L1		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		JR	PageUDex
 | ||
| 
 | ||
| PageDown	LD	C,(IY+PANEL.EFL)
 | ||
| 		LD	B,(IY+PANEL.EFH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		ADD	HL,DE
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JP	NC,End
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	C,PageUDex
 | ||
| 		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		LD	E,(IY+PANEL.FFL)
 | ||
| 		LD	D,(IY+PANEL.FFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		DEC	HL
 | ||
| 		LD	(IY+PANEL.CFL),L
 | ||
| 		LD	(IY+PANEL.CFH),H
 | ||
| PageUDex	CALL	PrintDIR
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		LD	A,(IY+PANEL.VIEWFLAG)
 | ||
| 		AND	VIEWFLAG.MASK
 | ||
| 		PUSH	AF
 | ||
| 		CALL	Z,PrnHScrBar
 | ||
| 		POP	AF
 | ||
| 		CALL	NZ,PrnVScrBar
 | ||
| 		LD	B,0x07
 | ||
| PgUDext		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	PgUDext
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]===========================================================[]
 | ||
| Home		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY+PANEL.FFL)
 | ||
| 		OR	(IY+PANEL.FFH)
 | ||
| 		JR	NZ,Home1
 | ||
| 		LD	A,(IY+PANEL.CFL)
 | ||
| 		OR	(IY+PANEL.CFH)
 | ||
| 		RET	Z
 | ||
| 		CALL	ResInvert
 | ||
| 		SUB	A
 | ||
| 		LD	(IY+PANEL.CFL),A
 | ||
| 		LD	(IY+PANEL.CFH),A
 | ||
| 		CALL	SetInvert
 | ||
| 		JP	PrnFileInfo
 | ||
| 
 | ||
| Home1		CALL	ResInvert
 | ||
| 		SUB	A
 | ||
| 		LD	(IY+PANEL.FFL),A
 | ||
| 		LD	(IY+PANEL.FFH),A
 | ||
| 		LD	(IY+PANEL.CFL),A
 | ||
| 		LD	(IY+PANEL.CFH),A
 | ||
| 		JR	PageUDex
 | ||
| 
 | ||
| End		LD	C,(IY+PANEL.EFL)
 | ||
| 		LD	B,(IY+PANEL.EFH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		RET	Z
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		INC	HL
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		RET	Z
 | ||
| 		PUSH	BC
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	BC
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		BIT	VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
 | ||
| 		LD	E,(IY+PANEL.FPL)
 | ||
| 		LD	D,(IY+PANEL.FPH)
 | ||
| 		ADD	HL,DE
 | ||
| 		INC	HL
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	Z,End1
 | ||
| 		JR	C,End1
 | ||
| 		LD	L,(IY+PANEL.EFL)
 | ||
| 		LD	H,(IY+PANEL.EFH)
 | ||
| 		LD	E,(IY+PANEL.FFL)
 | ||
| 		LD	D,(IY+PANEL.FFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		DEC	HL
 | ||
| 		LD	(IY+PANEL.CFL),L
 | ||
| 		LD	(IY+PANEL.CFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		RET 
 | ||
| End1		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		LD	(IY+PANEL.FFL),L
 | ||
| 		LD	(IY+PANEL.FFH),H
 | ||
| 		BIT	VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
 | ||
| 		LD	L,(IY+PANEL.FPL)
 | ||
| 		LD	H,(IY+PANEL.FPH)
 | ||
| 		DEC	HL
 | ||
| 		LD	(IY+PANEL.CFL),L
 | ||
| 		LD	(IY+PANEL.CFH),H
 | ||
| 		JP	PageUDex
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| NewFile		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		LD	A,(IY+PANEL.VIEWFLAG)
 | ||
| 		AND	VIEWFLAG.MASK
 | ||
| 		LD	A,0x00
 | ||
| 		JR	NZ,NewFile1
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	BC,0x0068
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	BC,0x01A8
 | ||
| .L1		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	C,NewFile1
 | ||
| 		ADD	HL,BC
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	BC,0x0070
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	BC,0x01B0
 | ||
| .L2		SBC	HL,BC
 | ||
| 		RET	C
 | ||
| 		ADD	HL,BC
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	BC,0x00D0
 | ||
| 		JR	Z,.L3
 | ||
| 		LD	BC,0x0210
 | ||
| .L3		SBC	HL,BC
 | ||
| 		LD	A,0x11
 | ||
| 		JR	C,NewFile1
 | ||
| 		ADD	HL,BC
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	BC,0x00D8
 | ||
| 		JR	Z,.L4
 | ||
| 		LD	BC,0x0218
 | ||
| .L4		SBC	HL,BC
 | ||
| 		RET	C
 | ||
| 		ADD	HL,BC
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	BC,0x0138
 | ||
| 		JR	Z,.L5
 | ||
| 		LD	BC,0x0278
 | ||
| .L5		SBC	HL,BC
 | ||
| 		RET	NC
 | ||
| 		LD	A,0x22
 | ||
| NewFile1	LD	HL,0x003F
 | ||
| 		OR	A
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,DE
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		LD	C,A
 | ||
| 		LD	B,0x00
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,(IY+PANEL.CFL)
 | ||
| 		LD	B,(IY+PANEL.CFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JP	Z,OpenFile
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	E,(IY+PANEL.FFL)
 | ||
| 		LD	D,(IY+PANEL.FFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	C,(IY+PANEL.EFL)
 | ||
| 		LD	B,(IY+PANEL.EFH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		RET	NC
 | ||
| 		ADD	HL,BC
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	HL
 | ||
| 		LD	(IY+PANEL.CFL),L
 | ||
| 		LD	(IY+PANEL.CFH),H
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		JP	ResFire
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| OpenFile	BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 	IF TREE_REZID
 | ||
| 		JP	NZ,RESIDENT.TestTreeBeg
 | ||
| 	ELSE
 | ||
| 		JP	NZ,TestTreeR.TestTreeBeg
 | ||
| 	ENDIF
 | ||
| 		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL			; *2
 | ||
| 		ADD	HL,HL			; *4
 | ||
| 		ADD	HL,HL			; *8
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		ADD	HL,DE			; *18
 | ||
| 		SET	6,H			; | 0x4000
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,FileHDR.Attr
 | ||
| 		PUSH	HL
 | ||
| 		ADD	HL,BC
 | ||
| 		LDI 
 | ||
| 		POP	HL
 | ||
| 		INC	HL
 | ||
| 		CALL	MakeDOSname
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		BIT	4,(HL)
 | ||
| 		INC	HL
 | ||
| 		JP	Z,RunEXEfile
 | ||
| 		LD	A,(HL)
 | ||
| 		CP	'.'
 | ||
| 		JR	NZ,OpenF2
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		SUB	A
 | ||
| .L2		INC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,0x5C
 | ||
| 		DEC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	Z,OpenF1
 | ||
| .L3		DEC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L3
 | ||
| 		INC	HL
 | ||
| 		SUB	A
 | ||
| 		LD	DE,PrevDIR
 | ||
| .L4		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L4
 | ||
| 		LD	(DE),A
 | ||
| 		LD	A,'.'
 | ||
| OpenF1		POP	HL
 | ||
| OpenF2		PUSH	AF
 | ||
| 		PUSH	HL
 | ||
| 		CALL	ResInvert
 | ||
| 		POP	HL
 | ||
| 		CALL	SetClock
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		CALL	C,DOSError
 | ||
| 		CALL	ReadDIR
 | ||
| 		PUSH	IY
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CURDISK
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	A,'A'
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		LD	(HL),':'
 | ||
| 		INC	HL
 | ||
| 	SPDSS DSSF.CURDIR
 | ||
| 		POP	IY
 | ||
| 		CALL	PrintPath
 | ||
| 		BIT	PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
 | ||
| 		CALL	NZ,PrintDOSPath
 | ||
| 		POP	AF
 | ||
| 		CP	'.'
 | ||
| 		CALL	Z,FindPrevDIR
 | ||
| 		CALL	PrintDIR
 | ||
| 		CALL	SetInvert
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		CALL	InitScrollBar
 | ||
| 		LD	A,(IY+PANEL.VIEWFLAG)
 | ||
| 		AND	VIEWFLAG.MASK
 | ||
| 		PUSH	AF
 | ||
| 		CALL	Z,PrnHScrBar
 | ||
| 		POP	AF
 | ||
| 		CALL	NZ,PrnVScrBar
 | ||
| 		CALL	SetMouse
 | ||
| 		LD	A,(TreeFlag)
 | ||
| 		OR	A
 | ||
| 		JP	Z,ResFire
 | ||
| 		PUSH	IY
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	IY,LeftPanel
 | ||
| 		LD	HL,RightPanel
 | ||
| 		JR	NZ,.L5
 | ||
| 		LD	IY,RightPanel
 | ||
| 		LD	HL,LeftPanel
 | ||
| .L5		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		INC	HL
 | ||
| 		INC	HL
 | ||
| 	IF TREE_REZID
 | ||
| 		CALL	RESIDENT.FindTreeDIR
 | ||
| 	ELSE
 | ||
| 		CALL	FindTreeDIRR
 | ||
| 	ENDIF
 | ||
| 		CALL	PrintDIR
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BARXL
 | ||
| 		ADD	IX,DE
 | ||
| 		CALL	PrnVScrBar
 | ||
| 		POP	IY
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ChPanel		CALL	ResInvert
 | ||
| 		LD	A,(LeftPanel)
 | ||
| 		XOR	0x80
 | ||
| 		LD	(LeftPanel),A
 | ||
| 		LD	A,(RightPanel)
 | ||
| 		XOR	0x80
 | ||
| 		LD	(RightPanel),A
 | ||
| 		CALL	PrintPath
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	Z,ChPan1
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L1
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		SET	6,H
 | ||
| 		INC	HL
 | ||
| 		SET	1,(HL)
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		CALL	PrintDIR
 | ||
| ChPan1		LD	IY,LeftPanel
 | ||
| 		BIT	PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	IY,RightPanel
 | ||
| .L1		CALL	PrintPath
 | ||
| 		CALL	PrintDOSPath
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	Z,ChPan2
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L2
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		SET	6,H
 | ||
| 		INC	HL
 | ||
| 		RES	1,(HL)
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		CALL	PrintDIR
 | ||
| ChPan2		CALL	SetInvert
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		RET	NC
 | ||
| 		CALL	DOSError
 | ||
| 		JP	BegDIRECTORY
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ChangeDriveL	LD	IX,LeftPanel
 | ||
| 		JR	ChangeDrive
 | ||
| 
 | ||
| ChangeDriveR	LD	IX,RightPanel
 | ||
| ChangeDrive	PUSH	IY
 | ||
| 		PUSH	IX
 | ||
| 		POP	IY
 | ||
| 		LD	C,(IY+PANEL.XL)
 | ||
| 		LD	B,(IY+PANEL.XH)
 | ||
| 		INC	BC
 | ||
| 		INC	BC
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		LD	BC,0x001C
 | ||
| 		LD	A,0xFF
 | ||
| .L1		INC	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	NC,.L1
 | ||
| 		ADD	A,'A'
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(HL),D
 | ||
| 		LD	HL,NewDrive
 | ||
| 		LD	(HL),A
 | ||
| 		CALL	NewDIRECTORY
 | ||
| 		LD A,(AutoActivatePanel)
 | ||
| 		AND A
 | ||
| 		JR NZ,loc_C82E
 | ||
| 		BIT	PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
 | ||
| 		POP	IY
 | ||
| 		JP Z,ChPanel	;	RET	NZ
 | ||
| 		RET
 | ||
| 
 | ||
| loc_C82E	BIT PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
 | ||
| 		POP IY
 | ||
| 		RET NZ
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		RET	NC
 | ||
| 		CALL	DOSError
 | ||
| 		JP	BegDIRECTORY
 | ||
| 
 | ||
| NewDrive	DZ " :\\"
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ReplacePanels	LD	IX,LeftPanel
 | ||
| 		SET	PANELFLAG.B_SIDE,(IX+PANEL.PANELFLAG)
 | ||
| 		LD	L,(IX+PANEL.XL)
 | ||
| 		LD	H,(IX+PANEL.XH)
 | ||
| 		LD	IX,RightPanel
 | ||
| 		RES	PANELFLAG.B_SIDE,(IX+PANEL.PANELFLAG)
 | ||
| 		LD	E,(IX+PANEL.XL)
 | ||
| 		LD	D,(IX+PANEL.XH)
 | ||
| 		LD	(IX+PANEL.XL),L
 | ||
| 		LD	(IX+PANEL.XH),H
 | ||
| 		LD	IX,LeftPanel
 | ||
| 		LD	(IX+PANEL.XL),E
 | ||
| 		LD	(IX+PANEL.XH),D
 | ||
| 		LD	HL,RAMPAGES.LEFTPANEL
 | ||
| 		LD	DE,RAMPAGES.RIGHTPANEL
 | ||
| 		LD	A,(DE)
 | ||
| 		LDI 
 | ||
| 		DEC	HL
 | ||
| 		LD	(HL),A
 | ||
| 		LD	HL,LeftPanel
 | ||
| 		LD	DE,RightPanel
 | ||
| 		LD	BC,PANEL.CURRPATH + 0x100
 | ||
| ReplPan		LD	A,(DE)
 | ||
| 		LDI 
 | ||
| 		DEC	HL
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		JP	PE,ReplPan
 | ||
| 		LD	A,0x01
 | ||
| 		JP	InitPanels
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ShowDOSscreen	CALL	ResVideoMode
 | ||
| ShowDSlp
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		JR	NZ,ShowDSexit
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		OR	A
 | ||
| 		JR	Z,ShowDSlp
 | ||
| ShowDSexit
 | ||
| 	SPDSS DSSF.SETVMOD,0,SETVMOD.GRF640X256
 | ||
| 		JP	ResFire
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| RunEXEfile:	LD	IX,fn_ext
 | ||
| 		LD	DE,PrevFile
 | ||
| 		PUSH	DE
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	(DE),A
 | ||
| 		POP	DE
 | ||
| 		LD	L,E
 | ||
| 		LD	H,D
 | ||
| .L2		INC HL
 | ||
| 		LD A,(HL)
 | ||
| 		AND A
 | ||
| 		SCF
 | ||
| 		RET Z
 | ||
| 		CP '.'
 | ||
| 		JR	NZ,.L2
 | ||
| 		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		RES	5,A
 | ||
| 		cp	'B'
 | ||
| 		jp	z,RunBATfile
 | ||
| 		CP	'F'
 | ||
| 		JP	Z,RunFLXfile
 | ||
| 		CP	'E'
 | ||
| 		JP	NZ,TestEXT
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		RES	5,A
 | ||
| 		CP	'X'
 | ||
| 		JP	NZ,TestEXT
 | ||
| 		LD	A,(HL)
 | ||
| 		RES	5,A
 | ||
| 		CP	'E'
 | ||
| 		JP	NZ,TestEXT
 | ||
| RunFile:	PUSH	DE
 | ||
| 		CALL	ResDrivers
 | ||
| 		SUB	A
 | ||
| 		CALL	ClearScreen
 | ||
| 		CALL	ResVideoMode
 | ||
| 		POP	HL
 | ||
| 	SPDSS DSSF.EXEC,0
 | ||
| 		PUSH	AF
 | ||
| 	SETPORT BORDER,0
 | ||
| 		;!FIXIT	¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â	SAFE_PORTY 
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		CALL	InitVideoMode
 | ||
| 		CALL	InitDrivers
 | ||
| 		CALL	InitScreen
 | ||
| 		CALL	ClearDOSline
 | ||
| 		LD	A,0x02
 | ||
| 		CALL	InitPanels
 | ||
| 		POP	AF
 | ||
| 		JP	C,DOSError
 | ||
| 		RET
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| RunBATfile:	LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		RES	5,A
 | ||
| 		CP	'A'
 | ||
| 		JP	NZ,TestEXT
 | ||
| 		LD	A,(HL)
 | ||
| 		RES	5,A
 | ||
| 		CP	'T'
 | ||
| 		JP	NZ,TestEXT
 | ||
| 		PUSH	DE
 | ||
| 		ld	hl,ShellFile
 | ||
| 		ld	de,WorkBuffer
 | ||
| 		call	CopyString
 | ||
| 		bit	PANELFLAG.B_SIDE,(iy+PANEL.PANELFLAG)
 | ||
| 		ld	hl,RightPanel + PANEL.CURRPATH
 | ||
| 		jr	nz,.next
 | ||
| 		ld	hl,LeftPanel + PANEL.CURRPATH
 | ||
| .next:		call	ConcatString
 | ||
| 		dec	de
 | ||
| 		ex	hl,de
 | ||
| 		ld	a,'\\' 
 | ||
| 		cp	(hl)
 | ||
| 		jr	z,.skipSlash
 | ||
| 		inc	hl
 | ||
| 		ld	(hl),a
 | ||
| .skipSlash:	inc	hl
 | ||
| 		ex	hl,de
 | ||
| 		pop	hl	
 | ||
| 		call	CopyString
 | ||
| 		ld	de,WorkBuffer
 | ||
| 		jr	RunFile
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ; § ¯ã᪠FLX ¯« £¨  ¨§ ¯ ¥«¨ ¯® ENTER
 | ||
| RunFLXfile	LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		RES	5,A
 | ||
| 		CP	'L'
 | ||
| 		JP	NZ,TestEXT
 | ||
| 		LD	A,(HL)
 | ||
| 		RES	5,A
 | ||
| 		CP	'X'
 | ||
| 		JP	NZ,TestEXT
 | ||
| 		EX	DE,HL
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	(DE),A
 | ||
| 		CALL	RunFLX
 | ||
| 		JP	C,DOSError
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]-----------------------------------------------------------[]
 | ||
| TestEXT:	PUSH	IX
 | ||
| 		LD	IXL,E
 | ||
| 		LD	IXH,D
 | ||
| 		EX	DE,HL
 | ||
| 		LD	A,'.'
 | ||
| .L1		INC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		INC	HL
 | ||
| 		EX	DE,HL
 | ||
| 		POP	HL
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,(RAMPAGES.FNHELP)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| TestEXT1:	LD	C,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	B,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	Z,TestEND
 | ||
| 		PUSH	DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		CP	'?'
 | ||
| 		JR	Z,.L1
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,TestEXTn
 | ||
| .L1		INC	HL
 | ||
| 		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		CP	'?'
 | ||
| 		JR	Z,.L2
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,TestEXTn
 | ||
| .L2		INC	HL
 | ||
| 		LD	A,(DE)
 | ||
| 		INC	DE
 | ||
| 		CP	'?'
 | ||
| 		JR	Z,TestEXTn
 | ||
| 		CP	(HL)
 | ||
| TestEXTn:	EX	DE,HL
 | ||
| 		POP	DE
 | ||
| 		JR	Z,TestEXTok
 | ||
| 		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		JR	TestEXT1
 | ||
| 
 | ||
| TestEND:	POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		SCF 
 | ||
| 		RET 
 | ||
| 
 | ||
| TestEXTok:	LD	DE,WorkBuffer
 | ||
| 		LD	C,0x00
 | ||
| TstEXT0:	LD	A,C
 | ||
| 		LDI 
 | ||
| 		LD	C,A
 | ||
| 		LD	A,(HL)
 | ||
| 		OR	A
 | ||
| 		JR	Z,TstEXT2
 | ||
| 		CP	' '
 | ||
| 		JR	Z,TstEXT1
 | ||
| 		CP	'.'
 | ||
| 		JR	NZ,TstEXT0
 | ||
| 		LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		CP	' '
 | ||
| 		JR	Z,TstEXT1
 | ||
| 		RES	5,A
 | ||
| 		CP	'F'
 | ||
| 		JR	NZ,.L1
 | ||
| 		SET	0,C
 | ||
| .L1		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		CP	' '
 | ||
| 		JR	Z,TstEXT1
 | ||
| 		RES	5,A
 | ||
| 		CP	'L'
 | ||
| 		JR	NZ,.L2
 | ||
| 		SET	1,C
 | ||
| .L2		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		CP	' '
 | ||
| 		JR	Z,TstEXT1
 | ||
| 		RES	5,A
 | ||
| 		CP	'X'
 | ||
| 		JR	NZ,TstEXT1
 | ||
| 		SET	2,C
 | ||
| TstEXT1:	LD	A,(HL)
 | ||
| 		CP	'!'
 | ||
| 		JR	NZ,TstEX11
 | ||
| 		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		CP	'.'
 | ||
| 		JP	Z,EName
 | ||
| 		CP	':'
 | ||
| 		JP	Z,EDrive
 | ||
| 		CP	'\\' 
 | ||
| 		JP	Z,EPath
 | ||
| 		DEC	HL
 | ||
| TstEX11:	LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		OR	A
 | ||
| 		JR	NZ,TstEXT1
 | ||
| TstEXT2:	LD	(DE),A
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	A,C
 | ||
| 		CP	0x07
 | ||
| 		JP	Z,RunFLX
 | ||
| 		LD	DE,WorkBuffer+0x100
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.F_FIRST,1,0x37
 | ||
| 		POP	IY
 | ||
| 		JP	C,RestoreDIR
 | ||
| 		CALL	ResDrivers
 | ||
| 		SUB	A
 | ||
| 		CALL	ClearScreen
 | ||
| 		CALL	ResVideoMode
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 	SPDSS DSSF.EXEC,0
 | ||
| 		PUSH	AF
 | ||
| 	SETPORT BORDER,0
 | ||
| 		; !FIXIT ¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â	SAFE_PORTY 
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		CALL	InitVideoMode
 | ||
| 		CALL	InitDrivers
 | ||
| 		CALL	InitScreen
 | ||
| 		CALL	ClearDOSline
 | ||
| 		LD	A,0x02
 | ||
| 		CALL	InitPanels
 | ||
| 		POP	AF
 | ||
| 		CALL	C,DOSError
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| RestoreDIR:	PUSH	AF
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.CURRPATH
 | ||
| 		ADD	HL,BC
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		POP	AF
 | ||
| 		RET 
 | ||
| 
 | ||
| EName:		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		CP	'!'
 | ||
| 		JR	NZ,TstEX11
 | ||
| 		INC	HL
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		LD	HL,PrevFile
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		INC	HL
 | ||
| 		JP	TstEXT1
 | ||
| EDrive:		LD	A,(IY+PANEL.CURRPATH)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		LD	A,':'
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		INC	HL
 | ||
| 		JP	TstEXT1
 | ||
| 
 | ||
| EPath:		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.CURRPATH
 | ||
| 		ADD	HL,BC
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		DEC	HL
 | ||
| 		LD	A,'\\' 
 | ||
| 		CP	(HL)
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| .L2		POP	BC
 | ||
| 		POP	HL
 | ||
| 		INC	HL
 | ||
| 		JP	TstEXT1
 | ||
| 
 | ||
| ; § ¯ã᪠FLX ä ©« 
 | ||
| RunFLX:		LD	HL,RestoreDIR
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	A,0x21
 | ||
| .L1		INC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	C,.L1
 | ||
| 		SUB	A
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.OPEN,,1
 | ||
| 		POP	IY
 | ||
| 		POP	HL
 | ||
| 		RET	C
 | ||
| 		LD	(.FLXHandle),A
 | ||
| 		PUSH	HL
 | ||
| 		LD	IX,0x0000
 | ||
| 		LD	HL,0x0000
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.MOVE_FP,2
 | ||
| 		POP	IY
 | ||
| 		LD	A,IXH
 | ||
| 		AND	0xC0
 | ||
| 		OR	H
 | ||
| 		OR	L
 | ||
| 		POP	HL
 | ||
| 		SCF 
 | ||
| 		LD	A,0x1E
 | ||
| 		RET	NZ
 | ||
| 		PUSH	IY
 | ||
| 		PUSH	HL
 | ||
| 		; !FIXIT ¯à®¢¥à¨âì ¤«ï í⮣® ®® ¨«¨ ¥â SAFE_PORTY 
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	IX,0x0000
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	A,(.FLXHandle)
 | ||
| 	SPDSS DSSF.MOVE_FP,0
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,(RAMPAGES.FLX)
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer + 0x0100
 | ||
| 		LD	DE,0x0010
 | ||
| 		LD	A,(.FLXHandle)
 | ||
| 		PUSH	HL
 | ||
| 	SPDSS DSSF.READ
 | ||
| 		POP	HL
 | ||
| 		JR	C,.L2
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	'F'
 | ||
| 		SCF 
 | ||
| 		LD	A,0x10
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	'L'
 | ||
| 		SCF 
 | ||
| 		LD	A,0x10
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		CP	'X'
 | ||
| 		SCF 
 | ||
| 		LD	A,0x10
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	L,0x08
 | ||
| 		LD	E,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	D,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	C,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	B,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	(.FLXexec),BC
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	(.FLXmode),A
 | ||
| 		RES	7,D
 | ||
| 		SET	6,D
 | ||
| 		LD	HL,0x8000
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	A,(.FLXHandle)
 | ||
| 	SPDSS DSSF.READ
 | ||
| .L2:		EX	AF,AF'
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EX	AF,AF'
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,(.FLXHandle)
 | ||
| 	SPDSS DSSF.CLOSE
 | ||
| 		POP	AF
 | ||
| 		POP	HL
 | ||
| 		POP	IY
 | ||
| 		RET	C
 | ||
| 		LD	DE,0x0000
 | ||
| .FLXexec	EQU $-2
 | ||
| 		SET	7,D
 | ||
| 		SET	6,D
 | ||
| 		LD	A,(RAMPAGES.FLX)
 | ||
| 		LD	C,WINSP.CPU3
 | ||
| 		PUSH	IY
 | ||
| 		CALL	Resident
 | ||
| 		POP	IY
 | ||
| 		CCF 
 | ||
| 		RET	NC
 | ||
| 		LD	A,0x00
 | ||
| .FLXmode:	EQU $-1
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		INC	SP
 | ||
| 		INC	SP
 | ||
| 	SETPORT BORDER,0
 | ||
| 		; !FIXIT ¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â	SAFE_PORTY 
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		CALL	InitScreen
 | ||
| 		CALL	ClearDOSline
 | ||
| 		LD	A,0x02
 | ||
| 		CALL	InitPanels
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| .FLXHandle:	DEFB	0x00
 | ||
| 
 | ||
| ;[]===========================================================[]
 | ||
| Help:		LD	DE,HelpR
 | ||
| 		LD	A,(RAMPAGES.FNHELP)
 | ||
| 		LD	C,WINSP.CPU1
 | ||
| 		JP	Resident
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| ViewFileSH:	BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		CALL	ResInvert
 | ||
| 		LD	HL,SetInvert
 | ||
| 		PUSH	HL
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 200,81,240,62
 | ||
| 	W_FILL 4,2,232,10,COLORI.BLACK
 | ||
| 	W_TEXT 108,3,COLORI.WHITE,"View"
 | ||
| 	W_BUTTON 40,42,72,14
 | ||
| 	W_TEXT 68,45,COLORP.HIGHGRAY,"Ok"
 | ||
| 	W_BUTTON 128,42,72,14
 | ||
| 	W_TEXT 148,45,COLORP.HIGHGRAY,"Cancel"
 | ||
| 	W_TEXT 12,25,COLORP.HIGHGRAY,"View the file:"
 | ||
| 	W_BORDER 86,22,134,12
 | ||
| 	W_FILL 88,23,130,10,COLORI.WHITE
 | ||
| 	W_END
 | ||
| 		LD	IX,ViewStr
 | ||
| 		LD	HL,ViewEditTab
 | ||
| 		CALL	InputLine
 | ||
| 	WINDOWCLOSE
 | ||
| 		RET	C
 | ||
| 		LD	A,(ViewLen)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	HL,ViewName
 | ||
| 		LD	DE,PrevFile
 | ||
| 		LD	B,A
 | ||
| ViewSH1:	LD	A,(HL)
 | ||
| 	IF CORR_FILENAME
 | ||
| 		CALL	CorrBigChar
 | ||
| 	ENDIF
 | ||
| 		LD	(HL),A
 | ||
| 		LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		DJNZ	ViewSH1
 | ||
| 		SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		POP	HL
 | ||
| 		CALL	SetInvert
 | ||
| 		JP	View
 | ||
| 
 | ||
| ViewStr:	DEFB	0x0C,0x00,0x00,0x00
 | ||
| ViewLen:	DEFB	0x00
 | ||
| 		DEFW	0x0122,0x006A
 | ||
| 		DEFW	0x0068
 | ||
| 		DEFB	0xF0
 | ||
| ViewName:	DB	0x0D DUP 0x00
 | ||
| 
 | ||
| ;-------------------------------------------
 | ||
| ViewFile:	SUB	A
 | ||
| 		JR	StViewFile.L1
 | ||
| 
 | ||
| ;-------------------------------------------
 | ||
| StViewFile:	LD	A,0x01
 | ||
| .L1		LD	(VFlag+1),A
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L2		;!FIXIT
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L2
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL			; *2
 | ||
| 		ADD	HL,HL			; *4
 | ||
| 		ADD	HL,HL			; *8
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		ADD	HL,DE			; *18
 | ||
| 		SET	6,H			; | 0x4000
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,FileHDR.Attr
 | ||
| 		PUSH	HL
 | ||
| 		ADD	HL,BC
 | ||
| 		LDI 
 | ||
| 		POP	HL
 | ||
| 		INC	HL
 | ||
| 		CALL	MakeDOSname
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		BIT	4,(HL)
 | ||
| 		RET	NZ
 | ||
| 		INC	HL
 | ||
| 		LD	DE,PrevFile
 | ||
| 		SUB	A
 | ||
| .L3		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L3
 | ||
| 		LD	(DE),A
 | ||
| VFlag:		LD	A,0x00
 | ||
| 		OR	A
 | ||
| 		JR	NZ,View1
 | ||
| View:		LD	IX,fnview_ext
 | ||
| 		LD	DE,PrevFile
 | ||
| 		CALL	TestEXT
 | ||
| 		RET	NC
 | ||
| View1:		CALL	ResInvert
 | ||
| 		LD	HL,SetInvert
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	IY
 | ||
| 		LD	HL,PrevFile
 | ||
| 		LD	DE,0xC000
 | ||
| 		LD	A,(RAMPAGES.FNVIEW)
 | ||
| 		LD	C,WINSP.CPU3
 | ||
| 		CALL	Resident
 | ||
| 		POP	IY
 | ||
| 		RET	C
 | ||
| 	SETPORT BORDER,0
 | ||
| 		; !FIXIT ¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â	SAFE_PORTY 
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		CALL	InitScreen
 | ||
| 		CALL	ClearDOSline
 | ||
| 		LD	A,0x02
 | ||
| 		CALL	InitPanels
 | ||
| 		POP	HL
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| EditFileSH:	BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		CALL	ResInvert
 | ||
| 		LD	HL,SetInvert
 | ||
| 		PUSH	HL
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 200,81,240,62
 | ||
| 	W_FILL 4,2,232,10,COLORI.BLACK
 | ||
| 	W_TEXT 110,3,COLORI.WHITE,"Edit"
 | ||
| 	W_BUTTON 40,42,72,14
 | ||
| 	W_TEXT 68,45,COLORP.HIGHGRAY,"Ok"
 | ||
| 	W_BUTTON 128,42,72,14
 | ||
| 	W_TEXT 148,45,COLORP.HIGHGRAY,"Cancel"
 | ||
| 	W_TEXT 12,25,COLORP.HIGHGRAY,"Edit the file:"
 | ||
| 	W_BORDER 86,22,134,12
 | ||
| 	W_FILL 88,23,130,10,COLORI.WHITE
 | ||
| 	W_END
 | ||
| 		LD	IX,EditStr
 | ||
| 		LD	HL,ViewEditTab
 | ||
| 		CALL	InputLine
 | ||
| 	WINDOWCLOSE
 | ||
| 		RET	C
 | ||
| 		LD	A,(EditLen)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	HL,EditName
 | ||
| 		LD	DE,PrevFile
 | ||
| 		LD	B,A
 | ||
| EditSH1:	LD	A,(HL)
 | ||
| 	IF CORR_FILENAME
 | ||
| 		CALL	CorrBigChar
 | ||
| 	ENDIF
 | ||
| 		LD	(HL),A
 | ||
| 		LD	(DE),A
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		DJNZ	EditSH1
 | ||
| 		SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		POP	HL
 | ||
| 		CALL	SetInvert
 | ||
| 		JP	Edit
 | ||
| 
 | ||
| EditStr:	DEFB	0x0C,0x00,0x00,0x00
 | ||
| EditLen:	DEFB	0x00
 | ||
| 		DEFW	0x0122,0x006A
 | ||
| 		DEFW	0x0068
 | ||
| 		DEFB	0xF0
 | ||
| EditName:	DB	0x0D DUP 0x00
 | ||
| 
 | ||
| ;-------------------------------------------
 | ||
| EditFile:	SUB	A
 | ||
| 		JR	StEditFile.L1
 | ||
| 
 | ||
| ;-------------------------------------------
 | ||
| StEditFile:	LD	A,0x01
 | ||
| .L1		LD	(EFlag),A
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	A,(RAMPAGES.LEFTPANEL)
 | ||
| 		JR	Z,.L2		;!FIXIT
 | ||
| 		LD	A,(RAMPAGES.RIGHTPANEL)
 | ||
| .L2
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	L,(IY+PANEL.FFL)
 | ||
| 		LD	H,(IY+PANEL.FFH)
 | ||
| 		LD	E,(IY+PANEL.CFL)
 | ||
| 		LD	D,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,DE
 | ||
| 		ADD	HL,HL			; *2
 | ||
| 		ADD	HL,HL			; *4
 | ||
| 		ADD	HL,HL			; *8
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		ADD	HL,DE			; *18
 | ||
| 		SET	6,H			; | 0x4000
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,FileHDR.Attr
 | ||
| 		PUSH	HL
 | ||
| 		ADD	HL,BC
 | ||
| 		LDI 
 | ||
| 		POP	HL
 | ||
| 		INC	HL
 | ||
| 		CALL	MakeDOSname
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		BIT	4,(HL)
 | ||
| 		RET	NZ
 | ||
| 		INC	HL
 | ||
| 		LD	DE,PrevFile
 | ||
| 		SUB	A
 | ||
| .L3		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L3
 | ||
| 		LD	(DE),A
 | ||
| 		LD	A,0x00
 | ||
| EFlag:		EQU $-1
 | ||
| 		OR	A
 | ||
| 		JR	NZ,Edit1
 | ||
| Edit:		LD	IX,fnedit_ext
 | ||
| 		LD	DE,PrevFile
 | ||
| 		CALL	TestEXT
 | ||
| 		RET	NC
 | ||
| Edit1:		CALL	ResInvert
 | ||
| 		LD	HL,SetInvert
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	IY
 | ||
| 		LD	HL,PrevFile
 | ||
| 		LD	DE,CPU3
 | ||
| 		LD	A,(RAMPAGES.FNEDIT)
 | ||
| 		LD	C,WINSP.CPU3
 | ||
| 		CALL	Resident
 | ||
| 		POP	IY
 | ||
| 		RET	C
 | ||
| 	SETPORT BORDER,0
 | ||
| 		; !FIXIT ¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â	SAFE_PORTY 
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		CALL	InitScreen
 | ||
| 		CALL	ClearDOSline
 | ||
| 		LD	A,0x02
 | ||
| 		CALL	InitPanels
 | ||
| 		POP	HL
 | ||
| 		RET 
 | 
