1240 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1240 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 27.04.2025 savelij
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PrintDisks	LD	L,(IY + PANEL.XL)
 | ||
| 		LD	H,(IY + PANEL.XH)
 | ||
| 		INC	HL
 | ||
| 		INC	HL
 | ||
| 		LD	(.DiskX1),HL
 | ||
| 		LD	DE,0x0004
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(.DiskX2),HL
 | ||
| 		LD	DE,0x0006
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(.NameX),HL
 | ||
| 		LD	A,'A'
 | ||
| 		LD	(.DISK),A
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURRPATH
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	A,(HL)
 | ||
| 		SUB	'A'
 | ||
| 		LD	C,A
 | ||
| 		LD	A,(NUM_DEVICES)
 | ||
| 		LD	B,A
 | ||
| .L1		LD	A,C
 | ||
| 		OR	A
 | ||
| 		LD DE,(COLORP.BLACK + COLORI.BLACKGRAY)  << 8 | (COLORP.BLACKGRAY + COLORI.YELLOW)
 | ||
| 		JR	Z,.L2
 | ||
| 		LD DE,(COLORP.BLACK + COLORI.HIGHGRAY) << 8 | (COLORP.HIGHGRAY + COLORI.BLACK)
 | ||
| .L2		LD	A,D
 | ||
| 		LD	(.ColRect),A
 | ||
| 		LD	A,E
 | ||
| 		LD	(.ColName),A
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_BUTTON 0,30,28,12
 | ||
| .DiskX1		EQU $ - 8
 | ||
| .LnDiskX	EQU $ - 4
 | ||
| 	W_FILL 0,32,20,8,COLORI.BLACK
 | ||
| .DiskX2		EQU $ - 9
 | ||
| .ColRect	EQU $ - 1
 | ||
| 	W_TEXT 0,32,COLORI.BLACK," "
 | ||
| .NameX		EQU $ - 7
 | ||
| .ColName	EQU $ - 3
 | ||
| .DISK		EQU $ - 2
 | ||
| 	W_END
 | ||
| 		LD	HL,(.DiskX1)
 | ||
| 		LD	DE,(.LnDiskX)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(.DiskX1),HL
 | ||
| 		LD	HL,(.DiskX2)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(.DiskX2),HL
 | ||
| 		LD	HL,(.NameX)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(.NameX),HL
 | ||
| 		LD	HL,.DISK
 | ||
| 		INC	(HL)
 | ||
| 		DEC	C
 | ||
| 		DJNZ	.L1
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PrintPath	BIT	PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
 | ||
| 		LD	A,COLORP.BLACK + COLORI.BLACK
 | ||
| 		LD	C,COLORP.BLACK + COLORI.WHITE
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	A,COLORP.BLACK + COLORI.BLACKGRAY
 | ||
| 		LD	C,COLORP.BLACKGRAY + COLORI.WHITE
 | ||
| .L1		LD	(.HeadCol),A
 | ||
| 		LD	A,C
 | ||
| 		LD	(.PathCol),A
 | ||
| 		LD	L,(IY + PANEL.XL)
 | ||
| 		LD	H,(IY + PANEL.XH)
 | ||
| 		LD	(.PanelHX),HL
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 0,46,310,12,COLORI.BLACK
 | ||
| .PanelHX	EQU $ - 9
 | ||
| .HeadCol	EQU $ - 1
 | ||
| 	W_END
 | ||
| 
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.CURRPATH
 | ||
| 		ADD	HL,BC
 | ||
| 		PUSH	HL
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		SUB	A
 | ||
| .L2		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L2
 | ||
| 		DEC	HL
 | ||
| 		LD	A,'\\'
 | ||
| 		CP	(HL)
 | ||
| 		JR	Z,.L3
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| .L3		POP	HL
 | ||
| 		SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,.PrPath1
 | ||
| 		LD	BC,0x000D
 | ||
| 		SBC	HL,BC
 | ||
| 		BIT	SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG)
 | ||
| 		JR	NZ,.L4
 | ||
| 		LD	HL,NORMmask
 | ||
| .L4		LDIR 
 | ||
| .PrPath1	LD	IX,300
 | ||
| 		LD	HL,(.PanelHX)
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		LD	BC,0x0006
 | ||
| 		ADD	HL,BC
 | ||
| 		EX	DE,HL
 | ||
| 		LD	C,0x30
 | ||
| 		LD	A,0x00
 | ||
| .PathCol	EQU $-1
 | ||
| 		JP	PrnRangPathL
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PrintDOSPath	PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.CURRPATH
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		DEC	HL
 | ||
| 		LD	A,'\\'
 | ||
| 		CP	(HL)
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| .L2		LD	A,'>'
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 4,231,246,8,COLORI.HIGHGRAY
 | ||
| 	W_END
 | ||
| 
 | ||
| 		LD	IX,246
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,250
 | ||
| 		LD	BC,231
 | ||
| 		LD	A,COLORP.HIGHGRAY + COLORI.BLACK
 | ||
| 		JP	PrnRangPathR
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PrnFileInfo	BIT	VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,PrnTreeInfo		;Tree
 | ||
| 		LD	A,(IY + PANEL.MFL)
 | ||
| 		OR	(IY + PANEL.MFH)
 | ||
| 		JP	NZ,PrnSelInfo
 | ||
| 	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.SIZE
 | ||
| 		CALL	MoveBytes
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	HL,WorkBuffer + FileHDR.SIZE;0x18
 | ||
| 		LD	B,38
 | ||
| 		LD	A,' '
 | ||
| .L2		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L2
 | ||
| 		LD	(HL),0x00
 | ||
| 		LD	IX,WorkBuffer
 | ||
| 		LD	HL,WorkBuffer+1
 | ||
| 		LD	A,(HL)
 | ||
| 		OR	A
 | ||
| 		JR	Z,PrntFI
 | ||
| 		LD	DE,WorkBuffer + FileHDR.SIZE;0x18
 | ||
| 		LD	B,0x08
 | ||
| .EFI0		LD	A,(HL)
 | ||
| 		CP	' '
 | ||
| 		JR	Z,.EFI1
 | ||
| 		INC	HL
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		DJNZ	.EFI0
 | ||
| .EFI1		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,.L3
 | ||
| .L4		INC	HL
 | ||
| 		DJNZ	.L4
 | ||
| .L3		LD	B,0x03
 | ||
| 		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		CP	' '
 | ||
| 		JR	NZ,.EFI3
 | ||
| .EFI2		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		DJNZ	.EFI2
 | ||
| .EFI3		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	Z,.EndFI
 | ||
| 		LD	A,'.'
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| .EFI4		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		DJNZ	.EFI4
 | ||
| .EndFI		LD	DE,WorkBuffer + FileHDR.SIZE + FileHDR.Zero;0x18 + 0x0D
 | ||
| 		CALL	GetFileLen
 | ||
| 		LD	DE,WorkBuffer + FileHDR.SIZE + FileHDR.SIZE;0x18+0x18
 | ||
| 		CALL	GetData
 | ||
| 		INC	DE
 | ||
| 		CALL	GetTime
 | ||
| PrntFI		LD	HL,WorkBuffer + FileHDR.SIZE;0x18
 | ||
| 		LD	E,(IY+PANEL.XL)
 | ||
| 		LD	D,(IY+PANEL.XH)
 | ||
| 		INC	DE
 | ||
| 		INC	DE
 | ||
| 		INC	DE
 | ||
| 		INC	DE
 | ||
| 		LD	BC,215
 | ||
| 		LD	A,COLORP.HIGHGRAY + COLORI.BLACK
 | ||
| 		JP	PrnTxtLnNorm
 | ||
| 
 | ||
| GetFileLen	BIT	DIR.B_Dir,(IX + FileHDR.Attr)
 | ||
| 		JP	NZ,PDirectory
 | ||
| 		RES	DIR.B_Device,(IX + FileHDR.Attr)
 | ||
| 		LD	HL,GetLenExit
 | ||
| 		LD	(ChooseStringFormat.address),HL
 | ||
| 		LD	L,(IX + FileHDR.SizeBytes)
 | ||
| 		LD	H,(IX + FileHDR.SizeBytes + 1)
 | ||
| 		EXX 
 | ||
| 		LD	L,(IX + FileHDR.SizeBytes + 2)
 | ||
| 		LD	H,(IX + FileHDR.SizeBytes + 3)
 | ||
| 		EXX
 | ||
| 		JP	ConvNumTxt32_Shared
 | ||
| 
 | ||
| GetLenExit	CP	0x30
 | ||
| 		JR	Z,.L1
 | ||
| 		SET	DIR.B_Device,(IX + FileHDR.Attr)
 | ||
| .L1		BIT	DIR.B_Device,(IX + FileHDR.Attr)
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,0x20
 | ||
| .L2		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		RET 
 | ||
| 
 | ||
| PDirectory	LD	HL,DirText
 | ||
| 		LD	BC,0x000A
 | ||
| 		LDIR 
 | ||
| 		RET 
 | ||
| 
 | ||
| DirText		DEFB	"   <DIR>  "
 | ||
| 
 | ||
| ; <20><><EFBFBD><EFBFBD>
 | ||
| GetData		EX	DE,HL
 | ||
| 		LD	A,(IX + FileHDR.Date)
 | ||
| 		CALL	Get8Bit
 | ||
| 		LD	(HL),'.'
 | ||
| 		INC	HL
 | ||
| 		LD	A,(IX + FileHDR.Month)
 | ||
| 		CALL	Get8Bit
 | ||
| 		LD	(HL),'.'
 | ||
| 		INC	HL
 | ||
| 		LD	A,(IX + FileHDR.Year)	;<3B><><EFBFBD>
 | ||
| 		CALL	Get8Bit
 | ||
| 		EX	DE,HL
 | ||
| 		RET 
 | ||
| 
 | ||
| ; <20>६<EFBFBD>
 | ||
| GetTime		EX	DE,HL
 | ||
| 		LD	A,(IX + FileHDR.Hours)	;<3B><><EFBFBD><EFBFBD>
 | ||
| 		CALL	Get8Bit
 | ||
| 		LD	(HL),':'
 | ||
| 		INC	HL
 | ||
| 		LD	A,(IX + FileHDR.Minutes)
 | ||
| 		CALL	Get8Bit
 | ||
| 		EX	DE,HL
 | ||
| 		RET 
 | ||
| 
 | ||
| Get8Bit		LD	B,'0' - 1
 | ||
| .L1		INC	B
 | ||
| 		SUB	10
 | ||
| 		JR	NC,.L1
 | ||
| 		ADD	A,10
 | ||
| 		LD	(HL),B
 | ||
| 		INC	HL
 | ||
| 		ADD	A,'0'
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		RET 
 | ||
| 
 | ||
| PrnTreeInfo
 | ||
| 	IF TREE_REZID
 | ||
| 		CALL	RESIDENT.MakeTreePath
 | ||
| 	ELSE
 | ||
| 		CALL	MakeTreePathR
 | ||
| 	ENDIF
 | ||
| 		EX	DE,HL
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.CURRPATH
 | ||
| 		ADD	HL,BC
 | ||
| 		INC	HL
 | ||
| 		INC	HL
 | ||
| 		EX	DE,HL
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	(DE),A
 | ||
| 		CALL	PrintPath
 | ||
| 		BIT	PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
 | ||
| 		JP	NZ,PrintDOSPath
 | ||
| 		RET 
 | ||
| 
 | ||
| PrnSelInfo	LD	L,(IY+PANEL.MBL1)
 | ||
| 		LD	H,(IY+PANEL.MBH1)
 | ||
| 		LD	C,(IY+PANEL.MBL2)
 | ||
| 		LD	B,(IY+PANEL.MBH2)
 | ||
| 		LD	A,(IY+PANEL.MBL3)		; [ ] FAT32
 | ||
| 		LD	DE,WorkBuffer
 | ||
| 		CALL	ConvNumTxt40			; [ ] fat32
 | ||
| 		LD	HL,CrSizeT
 | ||
| 		LD	BC,0x000A
 | ||
| 		LDIR 
 | ||
| 		LD	L,(IY+PANEL.MFL)
 | ||
| 		LD	H,(IY+PANEL.MFH)
 | ||
| 		CALL	ConvNumTxt16
 | ||
| 		LD	HL,CrSelT
 | ||
| 		LD	BC,0x000F
 | ||
| 		LDIR 
 | ||
| 		LD	A,E
 | ||
| 		LD	DE,WorkBuffer+0x100
 | ||
| 		LD	C,A
 | ||
| 		SUB	38
 | ||
| 		NEG 
 | ||
| 		SRL	A
 | ||
| 		LD	B,A
 | ||
| 		JR	Z,.PrSelI1
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		DJNZ	.L1
 | ||
| .PrSelI1	LD	HL,WorkBuffer
 | ||
| 		LDIR 
 | ||
| 		LD	A,38
 | ||
| 		SUB	E
 | ||
| 		JR	Z,.PrSelI2
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L2		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		DJNZ	.L2
 | ||
| .PrSelI2	SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		LD	HL,WorkBuffer+0x100
 | ||
| 		LD	E,(IY+PANEL.XL)
 | ||
| 		LD	D,(IY+PANEL.XH)
 | ||
| 		INC	DE
 | ||
| 		INC	DE
 | ||
| 		INC	DE
 | ||
| 		INC	DE
 | ||
| 		LD	BC,215
 | ||
| 		LD	A,COLORP.HIGHGRAY + COLORI.BLACK
 | ||
| 		JP	PrnTxtLnNorm
 | ||
| 
 | ||
| CrSizeT		DEFB	" bytes in "
 | ||
| CrSelT		DEFB	" selected files"
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PrintDIR	LD	A,(IY+PANEL.EFL)
 | ||
| 		OR	(IY+PANEL.EFH)
 | ||
| 		JR	NZ,PrnDIRECT
 | ||
| 		LD	L,(IY+PANEL.XL)
 | ||
| 		LD	H,(IY+PANEL.XH)
 | ||
| 		INC	HL
 | ||
| 		INC	HL
 | ||
| 		LD	(.ClrDIR1),HL
 | ||
| 		LD	HL,308
 | ||
| 		LD	DE,141
 | ||
| 		LD	A,(IY+PANEL.VIEWFLAG)
 | ||
| 		AND	VIEWFLAG.MASK
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	HL,292
 | ||
| 		LD	DE,149
 | ||
| .L1		LD	(.H),HL
 | ||
| 		LD	(.V),DE
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 0,60,0,0,COLORI.PANEL
 | ||
| .ClrDIR1	EQU $ - 9
 | ||
| .H		EQU $ - 5
 | ||
| .V		EQU $ - 3
 | ||
| 	W_END
 | ||
| 		RET
 | ||
| 
 | ||
| PrnDIRECT	BIT	VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,PrintFULL
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,PrintTREE
 | ||
| ; <20><><EFBFBD>⪨<EFBFBD> ᯨ᮪
 | ||
| 		PUSH	IY
 | ||
| 	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)
 | ||
| 		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,0x33 * FileHDR.SIZE;0x18
 | ||
| 		CALL	MoveBytes
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 	GETPORT WINSP.Y_PORT		; <20><><EFBFBD>࠭塞 Y <20><><EFBFBD><EFBFBD>
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		PUSH	HL
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	HL,PositTABLeft
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	HL,PositTABRight
 | ||
| .L2		LD	B,0x33
 | ||
| .PrnDIR1	LD	E,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	D,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	C,(HL)
 | ||
| 		INC	HL
 | ||
| 		EX	(SP),HL
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		LD	B,0x0C
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x0019
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		JR	Z,PrnDIR2
 | ||
| 		EX	(SP),HL
 | ||
| 		DJNZ	.PrnDIR1
 | ||
| 		JR	PrnDIRe
 | ||
| 
 | ||
| PrnDIR2		DEC	B
 | ||
| 		JR	Z,PrnDIRe
 | ||
| 		LD	HL,EmptyFile
 | ||
| 		EX	(SP),HL
 | ||
| PrnDIR3		LD	E,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	D,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	C,(HL)
 | ||
| 		INC	HL
 | ||
| 		EX	(SP),HL
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 		LD	B,0x0C
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		EX	(SP),HL
 | ||
| 		DJNZ	PrnDIR3
 | ||
| PrnDIRe		POP	HL
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		RET 
 | ||
| 
 | ||
| EmptyFile	DB	0x00,"        ",0x01,"   ",0x00
 | ||
| 
 | ||
| ; <20><><EFBFBD><EFBFBD><E0AEA1><EFBFBD> ᯨ᮪
 | ||
| PrintFULL	PUSH	IY
 | ||
| 	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)
 | ||
| 		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,0x12 * FileHDR.SIZE;0x18
 | ||
| 		CALL	MoveBytes
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 	GETPORT WINSP.Y_PORT		; <20><><EFBFBD>࠭塞 Y <20><><EFBFBD><EFBFBD>
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	DE,8
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	DE,328
 | ||
| .L2		LD	BC,0x123F
 | ||
| .PrnDIRp	PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		PUSH	HL
 | ||
| 		LD	DE,WorkBuffer+0x200
 | ||
| 		LD	BC,0x000D
 | ||
| 		LDIR 
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		POP	IX
 | ||
| 		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
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,WorkBuffer+0x200
 | ||
| 		LD	B,0x26
 | ||
| 		CALL	PrintName
 | ||
| 		POP	HL
 | ||
| 		LD	BC,0x0019
 | ||
| 		ADD	HL,BC
 | ||
| 		POP	BC
 | ||
| 		LD	A,C
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		POP	DE
 | ||
| 		LD	A,(HL)
 | ||
| 		DEC	HL
 | ||
| 		OR	A
 | ||
| 		JR	Z,.PrnDIRp2
 | ||
| 		DJNZ	.PrnDIRp
 | ||
| 		JR	.PrnDIRpE
 | ||
| 
 | ||
| .PrnDIRp2	DEC	B
 | ||
| 		JR	Z,.PrnDIRpE
 | ||
| 		LD	HL,EmptyFile1
 | ||
| .PrnDIRp3	PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		LD	B,0x26
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,C
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		DJNZ	.PrnDIRp3
 | ||
| .PrnDIRpE	POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		RET 
 | ||
| 
 | ||
| PutDIRTxt	EX	AF,AF'
 | ||
| 		LD	HL,DIRt1
 | ||
| 		LD	A,(IX + FileHDR.Name)
 | ||
| 		CP	'.'
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	HL,DIRt2
 | ||
| .L1		LD	BC,0x000A
 | ||
| 		LDIR 
 | ||
| 		EX	AF,AF'
 | ||
| 		RET 
 | ||
| 
 | ||
| DIRt1		DEFB	0x20,0x10,"UP--DIR",0x11
 | ||
| DIRt2		DEFB	0x20,0x10,"SUB-DIR",0x11
 | ||
| 
 | ||
| EmptyFile1	DEFB	0x00,"        "
 | ||
| 		DEFB	0x01,"   "
 | ||
| 		DEFB	0x01,"          "
 | ||
| 		DEFB	0x01,"        "
 | ||
| 		DEFB	0x01,"     "
 | ||
| 
 | ||
| ; <20><>ॢ<EFBFBD> <20><>⠫<EFBFBD><E2A0AB><EFBFBD><EFBFBD>
 | ||
| PrintTREE
 | ||
| 	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)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	Z,.PrDIRb2
 | ||
| .PrDIRb1	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,.PrDIRb1
 | ||
| .PrDIRb2	LD	DE,WorkBuffer+0x100
 | ||
| 		LD	BC,0x12*0x10
 | ||
| 		CALL	MoveBytes
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	B,COLORP.PANEL + COLORI.FILES
 | ||
| 		LD	C,COLORP.PANEL + COLORI.SELECTFILES
 | ||
| 		CALL	InsPrnColor
 | ||
| 	GETPORT WINSP.Y_PORT		; <20><><EFBFBD>࠭塞 Y <20><><EFBFBD><EFBFBD>
 | ||
| 		LD	C,A
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	BC
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	HL,WorkBuffer+0x100
 | ||
| 		LD	DE,10
 | ||
| 		JR	Z,.L3
 | ||
| 		LD	DE,330
 | ||
| .L3		LD	BC,0x123F
 | ||
| .PrnDIRt	PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		LD	DE,WorkBuffer+0x300
 | ||
| 		CALL	MakeTreeLine
 | ||
| 		POP	BC
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,WorkBuffer+0x300
 | ||
| 		LD	B,0x24
 | ||
| 		PUSH	IY
 | ||
| 		CALL	PrintName
 | ||
| 		POP	IY
 | ||
| 		POP	HL
 | ||
| 		LD	BC,0x000F
 | ||
| 		ADD	HL,BC
 | ||
| 		POP	BC
 | ||
| 		LD	A,C
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		POP	DE
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		INC	A
 | ||
| 		JR	Z,.PrnDIRt2
 | ||
| 		DEC	B
 | ||
| 		JP	NZ,.PrnDIRt
 | ||
| 		JR	.PrnDIRtE
 | ||
| 
 | ||
| .PrnDIRt2	DEC	B
 | ||
| 		JR	Z,.PrnDIRtE
 | ||
| 		LD	HL,EmptyFile2
 | ||
| 		PUSH	IY
 | ||
| .PrnDIRt3	PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	BC
 | ||
| 		LD	B,0x24
 | ||
| 		CALL	PrintName
 | ||
| 		POP	BC
 | ||
| 		LD	A,C
 | ||
| 		ADD	A,0x08
 | ||
| 		LD	C,A
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		DJNZ	.PrnDIRt3
 | ||
| 		POP	IY
 | ||
| .PrnDIRtE	POP	BC
 | ||
| 		LD	A,B
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		RET 
 | ||
| 
 | ||
| MakeTreeLine	SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		LD	C,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	IXL,A
 | ||
| 		LD	A,' '
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		INC	C
 | ||
| 		DEC	C		; r.C=0 "\"
 | ||
| 		JR	Z,.MTreeL2
 | ||
| 		PUSH	HL
 | ||
| 		LD	A,C
 | ||
| 		AND	0x7F
 | ||
| 		LD	B,A
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		PUSH	HL
 | ||
| 		LD	L,A
 | ||
| 		LD	(HL),C
 | ||
| 		POP	HL
 | ||
| 		DEC	B
 | ||
| 		JR	Z,.MTreeL1
 | ||
| .MTreeL0	INC	HL
 | ||
| 		BIT	7,(HL)
 | ||
| 		LD	A,0xB3
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	A,' '
 | ||
| .L1		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		BIT	VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,' '
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| .L2		DJNZ	.MTreeL0
 | ||
| .MTreeL1	BIT	7,C
 | ||
| 		LD	A,0xC3
 | ||
| 		JR	Z,.L3
 | ||
| 		LD	A,0xC0
 | ||
| .L3		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		BIT	VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,.L4
 | ||
| 		LD	A,0xC4
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| .L4		POP	HL
 | ||
| .MTreeL2	LD	A,IXL
 | ||
| 		BIT	1,A
 | ||
| 		JR	Z,.MTreeL3
 | ||
| 		BIT	VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,.L5
 | ||
| 		DEC	E
 | ||
| .L5		LD	A,0xDD
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		LD	A,IXL
 | ||
| .MTreeL3	BIT	0,A
 | ||
| 		LD	A,0x02
 | ||
| 		JR	NZ,.L6
 | ||
| 		INC	A
 | ||
| .L6		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		SUB	A
 | ||
| .L7		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L7
 | ||
| 		LD	A,0x03
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		LD	A,IXL
 | ||
| 		BIT	1,A
 | ||
| 		JR	Z,.MTreeL5
 | ||
| 		LD	A,0xDE
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| .MTreeL5	LD	A,0x28
 | ||
| 		SUB	E
 | ||
| 		JR	Z,.MTreeL6
 | ||
| 		JR	C,.MTreeL6
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L8		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		DJNZ	.L8
 | ||
| .MTreeL6	LD	A,IXL
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		LD	E,0x26
 | ||
| 		LD	A,0x02
 | ||
| 		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		LD	A,0x11
 | ||
| 		LD	(DE),A
 | ||
| 		RET 
 | ||
| 
 | ||
| EmptyFile2	DEFB	0x00
 | ||
| 		DB	0x24 DUP ' '
 | ||
| 
 | ||
| InsPrnColor	LD	HL,PrnINKd1	; INK <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	DE,PrnPAPd1	; PAPER <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		PUSH	BC
 | ||
| 		LD	A,B
 | ||
| 		PUSH	AF
 | ||
| 		AND	0x0F		; INK
 | ||
| 		LD	C,A
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		OR	C
 | ||
| 		CPL 
 | ||
| 		LD	B,0x08
 | ||
| .L1		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L1
 | ||
| 		LD	B,A
 | ||
| 		POP	AF
 | ||
| 		AND	0xF0		; PAPER
 | ||
| 		LD	C,A
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		OR	C
 | ||
| 		XOR	B		; XOR <20> INK
 | ||
| 		LD	B,0x08
 | ||
| .L2		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		DJNZ	.L2
 | ||
| 		POP	BC
 | ||
| 		LD	HL,PrnINKd2	; INK <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	DE,PrnPAPd2	; PAPER <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	A,C
 | ||
| 		PUSH	AF
 | ||
| 		AND	0x0F		; INK
 | ||
| 		LD	C,A
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		RLCA 
 | ||
| 		OR	C
 | ||
| 		CPL 
 | ||
| 		LD	B,0x08
 | ||
| .L3		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L3
 | ||
| 		LD	B,A
 | ||
| 		POP	AF
 | ||
| 		AND	0xF0		; PAPER
 | ||
| 		LD	C,A
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		OR	C
 | ||
| 		XOR	B		; XOR <20> INK
 | ||
| 		LD	B,0x08
 | ||
| .L4		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		DJNZ	.L4
 | ||
| 		RET 
 | ||
| 
 | ||
| PrnINKd1	DB	 8 DUP 0
 | ||
| PrnPAPd1	DB	 8 DUP 0
 | ||
| PrnINKd2	DB	 8 DUP 0
 | ||
| PrnPAPd2	DB	 8 DUP 0
 | ||
| 
 | ||
| PrintName	LD	IYL,C		; Y <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	HL
 | ||
| 		PUSH	DE
 | ||
| 		EXX 
 | ||
| 		LD	HL,PrnPAPd1	; INK <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	DE,PrnINKd1	; PAPER <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		OR	A
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	HL,PrnPAPd2	; INK <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	DE,PrnINKd2	; PAPER <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| .L1		POP	BC
 | ||
| 		SRL	B
 | ||
| 		RR	C
 | ||
| 		SET	6,B
 | ||
| 		EXX 
 | ||
| 		DI 
 | ||
| 	GETPORT WINSP.CPU0
 | ||
| 		PUSH	AF
 | ||
| 		LD	A,(RAMPAGES.FNFONT)
 | ||
| 	SETPORT WINSP.CPU0,,0
 | ||
| 		LD	A,B
 | ||
| 		LD	C,L		; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
 | ||
| 		LD	B,H
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	H,0x08
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .L2		EX	AF,AF'
 | ||
| 		LD	A,(BC)
 | ||
| 		INC	BC
 | ||
| 		CP	0x03
 | ||
| 		JR	NZ,.L3
 | ||
| 		EXX 
 | ||
| 		LD	HL,PrnPAPd1	; INK <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	DE,PrnINKd1	; PAPER <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		EXX 
 | ||
| 		JR	.L5
 | ||
| 
 | ||
| .L3		CP	0x02
 | ||
| 		JR	NZ,.L4
 | ||
| 		EXX 
 | ||
| 		LD	HL,PrnPAPd2	; INK <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		LD	DE,PrnINKd2	; PAPER <20><><EFBFBD><EFBFBD><EFBFBD>
 | ||
| 		EXX 
 | ||
| .L5		LD	A,(BC)
 | ||
| 		INC	BC
 | ||
| .L4		PUSH	BC
 | ||
| 		CP	0x01
 | ||
| 		LD	B,0x04
 | ||
| 		JR	NZ,.L6
 | ||
| 		LD	B,0x02
 | ||
| 		LD	A,0x20
 | ||
| .L6		LD	L,A
 | ||
| 		LD	H,HIGH (IFFFONT_RAW)-0xC0
 | ||
| 		LD	E,(HL)
 | ||
| 		INC	H
 | ||
| 		LD	A,(HL)
 | ||
| 		ADD	A,HIGH (IFFFONT_RAW)-0xC0
 | ||
| 		LD	D,A
 | ||
| 		LD	HL,0x0008
 | ||
| 		EX	DE,HL
 | ||
| .L7
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		EXX 
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		OR	(HL)
 | ||
| 		EX	DE,HL
 | ||
| 		XOR	(HL)
 | ||
| 	ACCEL ACCELCMD.COPY_VERT
 | ||
| 		LD	(BC),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		EX	DE,HL
 | ||
| 		INC	BC
 | ||
| 		EXX 
 | ||
| 		ADD	HL,DE
 | ||
| 		DJNZ	.L7
 | ||
| 		POP	BC
 | ||
| 		EX	AF,AF'
 | ||
| 		DEC	A
 | ||
| 		JR	NZ,.L2
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU0,,0
 | ||
| 		EI 
 | ||
| 		RET 
 | ||
| 
 | ||
| PositTABLeft
 | ||
| .COUNT := 63
 | ||
| 	REPT 17
 | ||
| 		DW 10
 | ||
| 		DB .COUNT
 | ||
| .COUNT := .COUNT + 8
 | ||
| 	ENDM 
 | ||
| .COUNT := 63
 | ||
| 	REPT 17
 | ||
| 		DW 114
 | ||
| 		DB .COUNT
 | ||
| .COUNT := .COUNT + 8
 | ||
| 	ENDM 
 | ||
| .COUNT := 63
 | ||
| 	REPT 17
 | ||
| 		DW 218
 | ||
| 		DB .COUNT
 | ||
| .COUNT := .COUNT + 8
 | ||
| 	ENDM
 | ||
| 
 | ||
| PositTABRight
 | ||
| .COUNT := 63
 | ||
| 	REPT 17
 | ||
| 		DW 330
 | ||
| 		DB .COUNT
 | ||
| .COUNT := .COUNT + 8
 | ||
| 	ENDM
 | ||
| .COUNT := 63
 | ||
| 	REPT 17
 | ||
| 		DW 434
 | ||
| 		DB .COUNT
 | ||
| .COUNT := .COUNT + 8
 | ||
| 	ENDM
 | ||
| .COUNT := 63
 | ||
| 	REPT 17
 | ||
| 		DW 538
 | ||
| 		DB .COUNT
 | ||
| .COUNT := .COUNT + 8
 | ||
| 	ENDM
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| SetInvert	BIT	PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
 | ||
| 		RET	Z
 | ||
| 		LD	HL,(COLORP.PANEL + COLORI.FILES) << 8 | (COLORP.PANEL + COLORI.SELECTFILES)
 | ||
| 		LD	BC,(COLORP.INVERTPAPER + COLORI.INVERTINK) << 8 | (COLORP.INVERTPAPER + COLORI.INVSELFILES)
 | ||
| 		JR	PrnInvert
 | ||
| 
 | ||
| ResInvert	BIT	PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
 | ||
| 		RET	Z
 | ||
| 		LD	HL,(COLORP.INVERTPAPER + COLORI.INVERTINK) << 8 | (COLORP.INVERTPAPER + COLORI.INVSELFILES)
 | ||
| 		LD	BC,(COLORP.PANEL + COLORI.FILES) << 8 | (COLORP.PANEL + COLORI.SELECTFILES)
 | ||
| PrnInvert	LD	A,(IY + PANEL.EFL)
 | ||
| 		OR	(IY + PANEL.EFH)
 | ||
| 		RET	Z
 | ||
| 		BIT	VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
 | ||
| 		JP	NZ,PrnTreeInv
 | ||
| 		PUSH	HL
 | ||
| 	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			; | 0xC000
 | ||
| 		LD	E,(HL)
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		POP	HL
 | ||
| 		LD	A,E
 | ||
| 		OR	A
 | ||
| 		LD	E,B
 | ||
| 		LD	D,H
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	E,C
 | ||
| 		LD	D,L
 | ||
| .L2		BIT	VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,PrnInvertP
 | ||
| 		LD	L,(IY + PANEL.CFL)
 | ||
| 		LD	H,(IY + PANEL.CFH)
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,BC
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
 | ||
| 		LD	BC,PositTABLeft
 | ||
| 		JR	Z,.L3
 | ||
| 		LD	BC,PositTABRight
 | ||
| .L3		ADD	HL,BC
 | ||
| 		PUSH	DE
 | ||
| 		LD	E,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	D,(HL)
 | ||
| 		INC	HL
 | ||
| 		LD	C,(HL)
 | ||
| 		LD	B,0x00
 | ||
| 		EX	DE,HL
 | ||
| 		POP	DE
 | ||
| 		LD	IX,8 << 8 + 48
 | ||
| 		DEC	HL
 | ||
| 		DEC	HL
 | ||
| 		JP	InvertRectan
 | ||
| 
 | ||
| PrnInvertP	LD	L,(IY + PANEL.CFL)
 | ||
| 		LD	H,(IY + PANEL.CFH)
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	BC,0x003F
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,L
 | ||
| 		LD	B,0x00
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
 | ||
| 		LD	HL,6
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	HL,326
 | ||
| .L1		LD IX,8 << 8 + 146
 | ||
| 		JP	InvertRectan
 | ||
| 
 | ||
| PrnTreeInv	PUSH	HL
 | ||
| 	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
 | ||
| 		ADD	HL,HL			; *10
 | ||
| 		SET	6,H			; | 0x4000
 | ||
| 		LD	A,(HL)
 | ||
| 		EX	AF,AF'
 | ||
| 		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	IXH,A
 | ||
| 		LD	IXL,0xFF
 | ||
| .L2		INC	IXL
 | ||
| 		INC	HL
 | ||
| 		LD	A,(HL)
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	A,IXL
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		LD	IXL,A
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		POP	HL
 | ||
| 		LD	A,IXH
 | ||
| 		OR	A
 | ||
| 		LD	E,B
 | ||
| 		LD	D,H
 | ||
| 		JR	Z,.L3
 | ||
| 		LD	E,C
 | ||
| 		LD	D,L
 | ||
| .L3		LD	L,(IY+PANEL.CFL)
 | ||
| 		LD	H,(IY+PANEL.CFH)
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	BC,0x003F
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,L
 | ||
| 		LD	B,0x00
 | ||
| 		BIT	PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
 | ||
| 		LD	HL,0x0012
 | ||
| 		JR	Z,.L4
 | ||
| 		LD	HL,0x0152
 | ||
| .L4		BIT	VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	Z,.PrTreeI
 | ||
| 		EX	AF,AF'
 | ||
| 		OR	A
 | ||
| 		JR	Z,.PrTreeI1
 | ||
| 		EX	AF,AF'
 | ||
| 		LD	A,IXH
 | ||
| 		OR	A
 | ||
| 		JR	Z,.PrTreeI
 | ||
| 		PUSH	BC
 | ||
| 		LD	C,0x08
 | ||
| 		ADD	HL,BC
 | ||
| 		POP	BC
 | ||
| .PrTreeI	EX	AF,AF'
 | ||
| .PrTreeI1	PUSH	BC
 | ||
| 		AND	0x7F
 | ||
| 		LD	C,A
 | ||
| 		SLA	C
 | ||
| 		RL	B
 | ||
| 		SLA	C
 | ||
| 		RL	B
 | ||
| 		SLA	C
 | ||
| 		RL	B
 | ||
| 		ADD	HL,BC
 | ||
| 		BIT	VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
 | ||
| 		JR	NZ,.L5
 | ||
| 		ADD	HL,BC
 | ||
| .L5		POP	BC
 | ||
| 		LD	IXH,0x08
 | ||
| 		JP InvertRectan
 |