;16.06.2000
;ᥬ஢ 㦭  䠩 "PC1"

LOAD	EQU 1
NAMEprg	EQU 24060
SEC_48	EQU 82 ; - ᢮.ᥪ.  48K 

	ORG 24576

;	 ORG 26368

	INCLUDE	"PC"

⭥ ᪠
MOVE	CALL qf
	JP Z,ARROW
	CALL DEL_FL ;A=- 㤠. 䠩
	AND A
	JR Z,MOVE+3
	LD (move),A
	LD A,B
	AND A
	LD HL,MARKEDL
	JR Z,$+5
	LD HL,MARKEDR
	LD DE,BUFD   ;
	LD BC,128
	LDIR
	LD HL,MARK_L
	JR Z,$+5
	LD HL,MARK_R
	LDI	     ;
	LDI
	LD HL,MRKadrL
	JR Z,$+5
	LD HL,MRKadrR
	LDI	     ;
	LDI

	XOR 1
	LD HL,CAT_L
	JR Z,MV1_3
	LD HL,CAT_R
MV1_3	LD BC,2304
	PUSH HL
	PUSH HL
	LDIR

	XOR 1
	LD DE,CAT_L
	LD HL,MARKEDL
	JR Z,MV1
	LD DE,CAT_R
	LD HL,MARKEDR
MV1	LD (MV6+1),HL
	POP HL
	EX DE,HL
	LD BC,2304
	LDIR	   ; BC=0

	POP DE
	LD H,C	   ; HL=0
	LD L,H
	LD (FIL_PAR),HL
	LD HL,2048+244
	ADD HL,DE
	LD (HL),C  ;㫨 - 㤠. 䠩
	LD HL,2048+228
	ADD HL,DE
	LD A,(HL)  ;A=- 䠩  ᪥
	LD HL,2048+225
	ADD HL,DE
	PUSH DE
	PUSH HL

	EX DE,HL
	LD DE,16
MV2	EX AF,AF'
	LD A,(HL)
	CP 1
	JR Z,MV3
	ADD HL,DE
	EX AF,AF'
	DEC A
	INC C
	JR NZ,MV2

MV3	LD B,C
	INC C
	LD DE,13
	ADD HL,DE
	LD A,(HL)
	INC HL
	POP DE
	PUSH BC
	LDI	   ; ᢮. ᥪ.  ४ ⠭
	LDI	   ; 1- 㤠. 䠩
	EXX
	LD HL,0
	LD D,H
	LD E,A
	ADD HL,DE
	EXX
	POP BC
	LD DE,13

	EX AF,AF'
	DEC A
MV4	EX AF,AF'
	LD A,(HL)
	LD (HL),D
	CP 1
	ADD HL,DE
	LD A,(HL)
	JR Z,MV5

	LD E,A
	PUSH HL
	LD HL,(FIL_PAR)
	ADD HL,DE
	LD (FIL_PAR),HL
	LD E,13
MV6	LD HL,#2121
	LD (HL),C
	INC HL
	LD (MV6+1),HL
	POP HL

MV5	EXX
	LD E,A
	ADD HL,DE
	EXX
	INC HL
	INC HL
	INC HL
	INC C
	EX AF,AF'
	DEC A
	JP NZ,MV4

	LD A,B
	EXX
	POP DE
	EX DE,HL
	LD BC,2048+228
	ADD HL,BC
	LD (HL),A ; - 䠩  ᪥ ⠭
	INC HL
	LD C,(HL)
	INC HL
	LD B,(HL)
	EX DE,HL
	ADD HL,BC
	EX DE,HL
	DEC HL
	LD (HL),E
	INC HL
	LD (HL),D  ; ⠭	- ᢮. ᥪ஢

	CALL panel
	LD DE,MARK_L
	JR Z,MV7
	LD DE,MARK_R
MV7	LD HL,FIL_PAR
	LDI
	LDI
	LD DE,(MV6+1)
	LD HL,MRKadrL
	JR Z,MV8
	LD HL,MRKadrR
MV8	LD (HL),E
	INC HL
	LD (HL),D
	JR COPY_FL

७	䠩
MOV_FIL	LD A,255
	LD (move),A
	LD (firstM3),A
	AND A
	JP Z,ARROW

஢ 䠩
COPY_FL	LD DE,(Q_MEM) ;	DE=- ᥪ.	 ⮣	
	LD A,35	      ;	 
	LD (LENline),A
Cop0	CALL panel
	LD HL,(MARK_L)
	JR Z,Cop1
	LD HL,(MARK_R)
Cop1	XOR A
	OR L
	OR H
	JR NZ,Cop1_2 ; - ⬥祭?
⬥砥, ᫨ 祣  ⬥祭
	CALL QFILES
	JR Z,MOV_FIL+2
	CALL DelFile
	JR Z,MOV_FIL+2
	LD HL,firstM3
	LD A,#C9
	CP (HL)
	LD (HL),A
	LD A,0
	JR Z,MOV_FIL+2
	CALL MARK
	JP COPY_FL
Cop1_2	LD BC,#0001 ; HL=-	⬥. ᥪ.
	PUSH HL	    ; DE=-	
	AND A
Cop2	SBC HL,DE
	JR C,Cop3
	JR Z,Cop3+1
	INC C
	JP Cop2
Cop3	INC B
	POP HL	   ; HL=⬥. ᥪ.
	LD A,C	   ; C= ᪮쪮
	DEC A	   ; ࠧ ᪮㥬
	JR Z,Cop4  ;  墠⠥ ⮡ ᪮.  1 ࠧ
	LD A,B
	AND A
	JR Z,Cop4  ; 㥬 ஢  C ࠧ
	DEC C
	LD (COPYlen),BC
	LD DE,#0023
	CALL DIV
	EX DE,HL
	LD HL,(Q_MEM) ;	   訢
	CALL DIV
	LD A,L
	CP 35
	JR C,Cop3_1
	LD A,34
Cop3_1	LD (LENone),A
	JR Cop6

Cop4	LD B,A
	LD (COPYlen),BC
	LD D,C
	LD C,35	   ; C= 
	LD B,D

; L=C/B,	A=⮪
	XOR A
	LD L,1
D1	RL C
	RLA
	CP B
	JP C,ZER
	SUB B
	SLA L
	SET 0,L
	JP NC,D1
	JR ZER2
ZER	SLA L
	JP NC,D1

ZER2	LD C,L
	AND A
	JR Z,Cop5
	INC L
	LD C,L
	LD H,0
	LD A,D
	CALL mul_hla
	LD A,L
	LD (LENline),A
Cop5	LD A,C
	LD (LENone),A ;  訢

⠥  Copy/Move
Cop6	CALL ARRcurS
	LD HL,#0A05
	LD DE,#082C
	LD BC,#170B
	EXX
	CALL Move
	PUSH AF
	PUSH AF
	LD BC,#0508
	JR Z,Cop61
	LD B,10
Cop61	LD A,7
	CALL WINDOW
	POP AF
	LD HL,COPYC
	JR Z,Cop60
	LD HL,MOVEC
Cop60	LD DE,COPYT+4
	LD BC,4
	LDIR
	LD DE,#1A05
	LD HL,COPYT
	CALL PRINT
	LD HL,ok_can+4
	CALL PRINT
	LD BC,COPYT3
	PUSH BC
	CALL panel
	LD HL,LEFT_D+1
	LD DE,RIGHT_D+1
	JR Z,Cop6_0
	EX DE,HL
Cop6_0	LD A,(HL)
	LD (BC),A
	INC BC
	INC BC
	INC BC
	INC BC
	LD A,(DE)
	LD (BC),A
	POP HL
	LD DE,#0C07
	POP AF
	JR Z,cop6
	CP 255
	JR NZ,cop6+3
cop6	CALL PRINT

Cop6_00	LD A,(LENline)
	LD (WDH_BOX),A
	LD DE,#0F07
Cop6_1	PUSH AF
	PUSH DE
	LD HL,COPYT2
	CALL PRINT
	POP DE
	POP AF
	INC D
	DEC A
	JR NZ,Cop6_1
	JP CONTROL

DEL_FL	CALL panel
	LD A,(CAT_L+2048+244)
	RET Z
	LD A,(CAT_R+2048+244)
	RET

ࠡ⪠  Copy  Move (10)
WIN_5	EX AF,AF'
	BIT 7,A
	JR Z,WIN_5_1
⬥ ஢
WIN_5ex	CALL Move
	JR NZ,W_10esc
W5E	LD A,(firstM3)
	CP #C9
	CALL Z,MARK
W_5ex	XOR A
	LD (move),A
	LD (firstM3),A
	JP ViewExi
W_10esc	INC A
	JR Z,W5E
	CALL panel
	LD B,A
	LD A,(move)
	LD HL,CAT_L+2048+244
	JR Z,W_10s
	LD HL,CAT_R+2048+244
W_10s	LD (HL),A
	LD A,B
	LD DE,MARKEDL
	JR Z,W_10e
	LD DE,MARKEDR
W_10e	LD HL,BUFD
	LD BC,128
	LDIR
	LD DE,MARK_L
	JR Z,W_10es
	LD DE,MARK_R
W_10es	LDI
	LDI
	LD DE,MRKadrL
	JR Z,W_10e2
	LD DE,MRKadrR
W_10e2	LDI
	LDI
	XOR 1
	LD DE,CAT_L
	JR Z,W_10e3
	LD DE,CAT_R
W_10e3	LD BC,2304
	LDIR
	JR W_5ex

WIN_5_1	LD A,B
	AND A
	JR NZ,WIN_5ex

஢
FILES_COPY

	CALL panel
	LD HL,(MARK_L)
	JR Z,FC1
	LD HL,(MARK_R)
FC1	LD (Q_MARK),HL
	LD HL,CAT_L+13
	JR Z,FC2
	LD HL,CAT_R+13
FC2	LD (FC4+1),HL
	LD DE,MARKEDL
	LD HL,(MRKadrL)
	JR Z,FC3
	LD DE,MARKEDR
	LD HL,(MRKadrR)
FC3	SBC HL,DE
	LD A,L
	LD (NxtFile+1),A
	LD (Q_FILES),A
	EX DE,HL
	LD (FC5+1),HL
	LD A,15
	LD (SV11+2),A
	XOR A
	LD (FC4_1+1),A
	LD (ADDone),A
	LD (SAVING+1),A
	LD (firstM3),A
;
Loading	LD (FC3_1+1),A	; ࢠ .
	LD A,1
	LD (D_ERROR+1),A
	DEC A
	LD (NextPg+1),A
	CALL ONPAGE
	LD HL,(Q_MEM)
	LD (Q_MEM2),HL
	LD A,SEC_48+1 ;- ᥪ.  ࢮ 뢠 +1
	LD HL,BUFFER ; .   .
	LD (FC7+1),A
	LD (FC6+1),HL

FC3_1	LD A,0
	AND A
	JR Z,FC3_2-5
	CALL Move
	JR Z,fc3
	INC A
	JR NZ,FC5
fc3	CALL CompDrv  ;᫨ ࠩ ࠧ, ஢  㤥
	JR NZ,FC3_2+3
	LD HL,COPYT6
	LD A,8
	LD B,A
	JP PrntMes
	CALL compar2
	JR FC3_2+3
FC3_2	CALL compare

	LD A,(COPYT3) ;롮 ᪮
	SUB 65
	LD C,1
	CALL DOS
	LD C,#18
	CALL DOS

FC5	LD DE,0	   ;  ⬥祭 䠩
	LD A,(DE)
	LD HL,16
	CALL mul_hla
FC4	LD BC,0	   ;  ⠫ ᪠+13  . 㥬
	ADD HL,BC
	LD B,(HL) ;B= 䠩  ᥪ.
	INC HL
	LD E,(HL)
	INC HL
	LD D,(HL) ;DE=஦,ᥪ 䠩
FC4_1	LD A,0	  ;<>0, 䠩  ⠭   ,    稫 
	AND A
	JR Z,FC6
	LD DE,(PlaceFl)
	LD A,(PRT_FIL)
	LD B,A
FC6	LD HL,BUFFER
	LD A,B
FC7	LD C,0	; 80/65
	CP C
	JR NC,PRTload ;	㤥 뢠	䠩 ᪠
	LD C,5
	LD (PRT_FIL),A
	CALL DOS ;䠩 ⠭ 
	XOR A
	LD (FC4_1+1),A
	LD A,(PRT_FIL)
	LD C,A
	LD A,(FC7+1)
	SUB C
	LD (FC7+1),A

	EX AF,AF'

	LD B,0
	LD HL,(Q_MEM2)
	AND A
	SBC HL,BC
	LD (Q_MEM2),HL
	LD HL,256
	LD A,C
	CALL mul_hla
	EX DE,HL
	LD HL,(FC6+1)
	ADD HL,DE
	LD (FC6+1),HL
NxtFile	LD A,0	     ;  ᫥.䠩
	DEC A
	LD (NxtFile+1),A
	PUSH AF
	EX AF,AF'
	CP 1
	JR NZ,NXT_FIL
	CALL M_check
	JR Z,SAVE
	CALL NextPg
NXT_FIL	POP AF
	JR Z,SAVE
	LD HL,(FC5+1)
	INC HL
	LD (FC5+1),HL
	JP FC5

PRTload	DEC C
	SUB C
	LD (PRT_FIL),A
	PUSH HL
	LD B,0
	LD HL,(Q_MEM2)
	AND A
	SBC HL,BC
	LD (Q_MEM2),HL
	POP HL
	LD B,C
	LD C,5
	CALL DOS
	LD HL,(#5CF4)
	LD (PlaceFl),HL
	CALL M_check
	JR Z,SAVE0 ; ⮬ 䠩 㦭	 
	CALL NextPg
	LD DE,(#5CF4)
	LD A,(PRT_FIL)
	LD B,A
	JP FC6
;------

M_check	LD HL,(Q_MEM2) ; ᫨ Z,  =0
	XOR A
	OR L
	OR H
	RET

NextPg	LD A,0	  ;. .
	INC A
	LD (NextPg+1),A
	CALL ONPAGE
	LD A,65
	LD (FC7+1),A
	LD HL,#C000
	LD (FC6+1),HL
	RET

CompDrv	LD A,(COPYT3)
	LD B,A
	LD A,(COPYT3+4)
	CP B
	RET

Sel_Drv	LD A,(COPYT3+4)	;롮 ᪮
	SUB 65
	LD C,1
	CALL DOS2
	RET

SAVE0	LD A,1	 ; - 䠩 .   !
	LD (FC4_1+1),A
SAVE	LD A,2
	LD (D_ERROR+1),A
	LD DE,#0F07
	LD A,(ADDone)
	LD C,A
	ADD A,D
	LD D,A
	LD HL,(COPYlen)
	LD A,L
	AND A
	JR NZ,SV1
	LD A,H
	AND A
	JR Z,SV2
	LD A,(LENline)
	SUB C
	JR save1
SV1	DEC L
	LD (COPYlen),HL
SV2	LD A,(LENone)
save1	PUSH AF
	PUSH DE
	LD HL,COPYT4
	CALL PRINT
	POP DE
	POP AF
	INC D
	DEC A
	JR NZ,save1
	LD A,D
	SUB 15
	LD (ADDone),A

	CALL Move
	JR Z,sv0
	INC A
	JR NZ,SAVING
sv0	CALL CompDrv
	JR NZ,SAVING
	LD HL,COPYT5
	LD A,6
	LD B,A
PrntMes	LD DE,#130A ;IF	B<>0 - Print "ok"
	PUSH BC	    ;IF	B=0 - Print "Retry"
	PUSH DE
	PUSH HL
	LD (WINnum),A
	LD A,7+16+64
	CALL MES_WIN
	POP HL
	POP DE
	CALL PRINT
	POP AF
	AND A
	JR NZ,PM
	LD DE,#170B
	LD HL,RETR
	CALL PRINT
	JP CONTROL

PM	CALL ARRcurS
	LD HL,CONTRL2
	LD (Arr_Mod+1),HL
	JP ARROW

- 訡	 ஢
WIN_9	CALL Move
	JR Z,w9
	INC A
	CALL NZ,compare
w9	LD A,(D_ERROR+1)
	DEC A
	JP Z,Loading+3
	DEC A
	JP Z,SAVING
	CALL RESTcat+4
	JP DEL_M

;INS.DEST.DISK/INS.SOUR.DISK
WIN_6	EX AF,AF'
	BIT 7,A
win_6	JP NZ,Restart
	LD A,B
	AND A
	JR NZ,win_6
	CALL OK
	LD A,(WINnum)
	CP 8
	JP Z,FC3_2
	CP 9
	JR Z,WIN_9

SAVING	LD A,0
	AND A
	JR NZ,SV3
	CALL Move
	JR Z,Sv1
	INC A
	JR NZ,SAVING2
Sv1	CALL CompDrv
	CALL NZ,Sel_Drv
SAVING2	LD A,(PANEL)
	XOR 1
	LD HL,CAT_L
	JR Z,SV0
	LD HL,CAT_R
SV0	LD (SV20+1),HL
	PUSH HL
	LD DE,0
	LD BC,#0905
	CALL Move
	JR Z,Sv0
	INC A
Sv0	CALL Z,DOS2
SV00	POP HL
	LD DE,2273
	ADD HL,DE
	LD E,(HL)
	INC HL
	LD D,(HL)
	INC HL
	INC HL
	LD (SAVER),DE
	LD A,(Q_FILES)
	ADD A,(HL)
	CP 129
	JP NC,D_err1
	INC HL
	LD E,(HL)
	INC HL
	LD D,(HL)
	LD HL,(Q_MARK)
	EX DE,HL
	AND A
	SBC HL,DE
	JP C,D_err1
	JR SV5
SV3	CALL Move
	JR Z,Sv3
	INC A
	JR NZ,SV5
Sv3	CALL CompDrv
	JR NZ,SV4
	LD A,(PANEL)
	XOR 1
	CALL compare+3
	JR SV5
SV4	CALL Sel_Drv

SV5	XOR A
	LD (NextPg+1),A
	LD (SV9+1),A
	CALL ONPAGE

	CALL M_check
	JR Z,SV7
	EX DE,HL

	LD HL,(Q_MEM)
	SBC HL,DE
	XOR A
	LD C,SEC_48 ;(65536-BUFFER)/256
	LD B,A
SV5_1	INC A
	LD D,H
	LD E,L
	SBC HL,BC
	JR Z,SV7+4
	LD C,64
	JP NC,SV5_1

	LD HL,BUFFER
	EX AF,AF'
	LD A,E
	LD (SV9+1),A
	LD B,A
	EX AF,AF'
	DEC A
	JR Z,SV10+1
	JR SV7+4

뢠  㯭	
SV7	LD A,(PAGE)
	INC A
	LD HL,BUFFER
	LD B,SEC_48
	LD DE,(SAVER)
SV8	PUSH AF
	LD C,6
	CALL DOS2
	CALL NextPg
	LD DE,(#5CF4)
	LD B,64
	POP AF
	DEC A
	JP NZ,SV8
	LD (SAVER),DE
SV9	LD A,0
	AND A
	JR Z,SV11

SV10	LD B,A
	LD C,6
	LD DE,(SAVER)
	CALL DOS

⠥ 
SV11	LD DE,#0F09
	LD A,(ADDone)
	SUB D
	ADD A,15
SV12	PUSH AF
	PUSH DE
	LD HL,COPYT4
	CALL PRINT
	POP DE
	POP AF
	INC D
	DEC A
	JR NZ,SV12
	LD A,D
	LD (SV11+2),A
	LD A,(NxtFile+1)
	AND A
	LD A,1
	LD (SAVING+1),A
	JP NZ,Loading

ନ㥬 ⠫!
SV20	LD HL,#2121
	PUSH HL
	LD BC,2048
	ADD HL,BC
	PUSH HL
	LD DE,BUFD
	LD BC,256
	LDIR
	POP HL
	LD BC,225
	ADD HL,BC
	LD DE,(#5CF4)
	LD C,(HL)
	LD (HL),E
	INC HL
	LD B,(HL)
	LD (HL),D ;  ᫥.	᢮. ᥪ.  ४ ⠭
	INC HL
	INC HL
	LD A,(HL)
	EX AF,AF'
	LD A,(Q_FILES)
	ADD A,(HL)
	LD (HL),A ; - 䠩 ⠭
	INC HL
	PUSH HL
	LD E,(HL)
	INC HL
	LD D,(HL)
	LD HL,(Q_MARK)
	EX DE,HL
	AND A
	SBC HL,DE
	EX DE,HL
	POP HL
	LD (HL),E
	INC HL
	LD (HL),D ; - ᢮. ᥪ. ⠭
	EX AF,AF'
	LD HL,16
	CALL mul_hla
	POP DE
	ADD HL,DE
	EXX
	CALL panel
	LD HL,CAT_L
	LD DE,MARKEDL
	JR Z,SV21
	LD HL,CAT_R
	LD DE,MARKEDR
SV21	LD (SV23+1),HL
	LD (SV22+1),DE
	EXX
	EX DE,HL
	LD A,(Q_FILES)
	LD H,B
	LD L,C

४뢠  䠩  ४㥬
 ⮯  ᪥
SV22	LD BC,#2121
	EX AF,AF'
	PUSH BC
	PUSH HL
	PUSH DE
	LD A,(BC)
	LD HL,16
	CALL mul_hla
SV23	LD DE,#1111
	ADD HL,DE
	POP DE
	LDI:LDI:LDI:LDI:LDI:LDI:LDI
	LDI:LDI:LDI:LDI:LDI:LDI:LDI
	DEC DE
	LD A,(DE)
	INC DE
	EX DE,HL
	POP DE
	LD (HL),E
	INC HL
	LD (HL),D
	LD B,H
	LD C,L

	LD H,0
	LD L,A
	LD D,H
	ADD HL,DE
	LD D,H
	LD E,L

	SRL H
	RR L

	SRL L
	SRL L
	SRL L

	LD A,(BC)
	ADD A,L

	SLA L
	SLA L
	SLA L
	SLA L
	RL H

	EX DE,HL
	SBC HL,DE
	LD H,A

	INC BC
	LD D,B
	LD E,C

	POP BC
	INC BC
	EX AF,AF'
	DEC A
	JP NZ,SV22+3

	LD HL,(SV20+1)
	LD D,A
	LD E,A
	LD BC,#0906
	CALL DOS
	CALL EXIT
	LD A,(move)
	INC A
	JP NZ,Restart

	LD A,3
	LD (D_ERROR+1),A
	CALL CompDrv
	JR Z,df
	LD A,(COPYT3)
	CALL Sel_Drv+3
	CALL CONTROc
	JP DEL_M+3
df	LD HL,(SV23+1)
	PUSH HL
	LD BC,2048
	ADD HL,BC
	LD DE,BUFD
	LD BC,256
df1	LD A,(DE)
	CPI
	INC DE
	JR NZ,df2
	JP PE,df1
df2	LD A,C
	AND A
	POP HL
	LD DE,0
	LD BC,#0905
	CALL Z,DOS
	CALL CONTROc
	LD HL,COPYT6
	LD A,9
	LD B,A
	JP PrntMes

RUN	LD HL,(FILEadr)
	LD DE,9
	ADD HL,DE
	LD A,(HL)
	CP "B"
	JP NZ,VIEW
	CALL DelFile
	JP Z,ARROW
	CALL ARRcurS
	CALL compar2
	LD HL,(FILEadr)
	LD DE,NAMEprg
	LD BC,8
	LDIR
EXIT	XOR A
	CALL ONPAGE
	LD HL,10072
	EXX
	LD HL,15360
	LD (23606),HL
	RET

	INCLUDE	"PC2"

FIRE	LD B,A
	EX AF,AF'
	LD A,(WINnum)
	AND A
	JP NZ,FIRE1

	LD HL,(COORDS)
	LD A,L
	CP 23
	LD A,H
	JR Z,MENUS

	LD B,A
	LD A,(PANEL)
	RRCA
	RRCA
	RRCA
	LD (lf_pan3+1),A
	LD C,A
	AND A
	LD A,B
	JR Z,LF_PAN
	CP 32
	JP C,CAPS2
	JR SEL_FLm

MENUS	CP 58
	JP NC,EXIT0
	CP 52
	JP NC,Mask
	CP 44
	JP NC,DELETE
	CP 38
	JP NC,MOV_FIL
	CP 30
	JP NC,RENAME
	CP 24
	JP NC,COPY_FL
	CP 18
	JP NC,ARROW
	CP 12
	JP NC,VIEW
	CP 6
	JP NC,USER
	JP HELP

४祭 	ࠢ 
LF_PAN	CP 32
	JP NC,CAPS2

롮 䠩 誮
SEL_FLm	LD A,L
	AND A
	JR NZ,FIRE_N
	LD A,H
	AND 31
	CP 9
	JR C,FIRE_N
	CP 21
	LD A,(PANEL)
	JP C,CH_DRIV-4

FIRE_N	CP 20
	JP Z,INFO
	LD A,30
	OR C
	LD D,A
	LD A,15
	OR C
	LD E,A
	LD A,H
	EX AF,AF'

	LD A,H
	CP D
	LD A,1	; Right
	JP NC,udlr-3

	LD A,E
	CP H
	JP Z,ARROW

	LD A,H	     ; X
	AND 31
	LD A,2	; Left
	JP Z,udlr-3

	LD A,(FIRE_Q)
	AND A
	JP Z,MRK_MS

	LD A,L	    ; Y
	CP 19
	LD A,4
	JR Z,updw
	JP NC,ARROW
	XOR A
	CP L
	LD A,8
updw	JP Z,UpDw

	CALL QFILES
	JP Z,ARROW

	LD C,A
	LD A,H
	CP E
	JR C,N18
MORE18	LD A,C	  ;A=- 䠩
	LD E,19
	CP E
	JR C,lf_end
	DEC E
	SUB E
	CP L
	JR C,lf_end
	LD A,L
	ADD A,E
	JR SEL_FL
N18	LD A,L
	INC C
	CP C
	JP NC,ARROW

SEL_FL	DEC A
	LD C,L
	LD HL,ADDER2+1
	ADD A,(HL)
	LD HL,12
	CALL mul_hla
	LD (FIRE_Q),A
	LD A,B	    ; B=PANEL
	AND A
	LD A,C
	LD BC,TXT_L
	LD DE,COORD_L
	JR Z,lf_pan
	LD BC,TXT_R
	LD DE,COORD_R
lf_pan	ADD HL,BC
	LD BC,(FILEadr)
	LD (FILEadr),HL
	AND A
	SBC HL,BC
	JR Z,FILEexe	;   䠩!

lf_pan5	EX DE,HL
	LD (HL),A
	LD A,16
lf_pan3	LD C,0
	OR C
	LD B,A
	EX AF,AF'
	CP B
	LD A,2
	INC HL
	JR C,lf_pan4
	LD A,B
	INC A
lf_pan4	OR C
	LD (HL),A
	DEC HL
	CALL CURSOR
FILE_e2	LD A,(CLICK)
	LD (count+1),A
lf_end	JP ARROW

 䠩 誮
FILEexe	LD A,(count+1)
	AND A
	JR Z,FILE_e2
	LD HL,CLICK
	CP (HL)
fexe	JP Z,ARROW
	JP RUN

ન஢ 䠩 誮
MRK_MS	LD A,L
	AND A
	JR Z,MRK_MS1
	CP 19
	JR C,MRK_MS0
a1	JP NZ,ARROW
	SCF
MRK_MS1	EX AF,AF'
	LD A,(FIRE_Q+1)
	DEC A
	JR Z,MRK_MS3
	LD (FIRE_Q+1),A
	CP 29
	JR NZ,a1
MRK_MS3	EX AF,AF'
	JR MRK_MS2
MRK_MS0	LD A,0
	SUB L
	JR Z,fexe
MRK_MS2	PUSH AF
	LD A,#C9
	LD (MRK_MOD),A

	CALL QFILES
	LD B,A
	LD D,L		; D=Y
	LD E,17
	LD HL,(CRDS+1)
	INC HL
	LD A,(HL)
	DEC HL
	AND 31
	CP E
	LD A,B
	JR C,MRK_MS4
	SUB 18
MRK_MS4	INC E
	CP E
	JR Z,MRK_MS5
	DEC D
	CP D
	JR NZ,MRK_MS5
	LD (FIRE_Q),A
MRK_MS5	EXX
	CALL ARRcurS
	CALL MARK
	XOR A
	LD (MRK_MOD),A
	POP AF
	JP C,Down
	JP Up

UpDw	LD HL,(CRDS+1)
	JP udlr

Disk_er	CP 1
	JP Z,Rst1_1
	JP Rst0

Dsk_er	PUSH AF
	CALL CAT_CUR
	POP AF
	CP 1
	JP NZ,Rst0
	JP Rst1_1

ࠡ稪 訡 (1)
WIN_1	EX AF,AF'
	BIT 7,A
	JR NZ,w1_esc
	LD A,B
	AND A
	JR NZ,w1_esc
⪠ ᪠
	CALL READ
	CALL W_1
	CALL Z,W_11
	JR w1_esc1
⬥ ⢨
w1_esc	LD A,(disk_er)
	AND A
	JR NZ,Dsk_er
	CALL RESTcat
	CALL WINS
w1_esc1	LD A,(disk_er)
	AND A
	JR NZ,Disk_er
	CALL W_1
	JR NZ,WIN_3E

	PUSH AF
w1_esc3	CALL SET_PAN
	POP AF
	AND A
	LD HL,ADD3_L
	JR Z,w1_esc5
	LD HL,ADD3_R
w1_esc5	LD (HL),B
	JP Arrow2

RESTcat	LD A,0
	AND A
	RET Z
	CALL panel
	LD HL,BUFD
	LD BC,2304
	LD DE,CAT_L
	JR Z,w1_esc8-2
	LD DE,CAT_R
	LDIR
w1_esc8	XOR A
	LD (RESTcat+1),A
	RET

 䠩	(2)
WIN_2	EX AF,AF'
	BIT 7,A
	JR NZ,w2_esc
	LD A,B
	AND A
	JP Z,DEL_M
w2_esc	CALL WINS
	CALL SET_PAN
	CALL RESTcat
	JR w1_esc5+1

 ࠩ (3)
WIN_3	EX AF,AF'
	BIT 7,A
	JR Z,w3_read
INFOesc	CALL WINS
	JR WIN_3E
w3_read	LD A,B
	CALL READ2
WIN_3E	CALL W_1
	PUSH AF
	JR Z,w3_esc2
	AND A
	CALL ch_pan1
	CALL CAT
	JR w3_esc3
w3_esc2	CALL W_11
	CALL SET_PAN
w3_esc3	POP AF
	AND A
	LD A,B
	LD HL,ADD3_L
	JR Z,w3_esc5
	LD HL,ADD3_R
w3_esc5	LD (HL),A
	CALL W_1
	PUSH AF
	LD A,B
	LD (PANEL),A
	AND A
	CALL ch_pan1
	LD A,#C9
	LD (CAT_MOD),A
	CALL CAT
	CALL w1_esc8
	LD (CAT_MOD),A

	LD HL,(FILEadr)
	LD DE,11
	ADD HL,DE
	LD A,(HL)
	AND 127
	LD (FILEnum),A

	POP AF
	JP Z,Arrow2
	CALL c3
	JP ARROW2

W_11	CALL panel
	LD HL,(FILE_L)
	JR Z,LEFT8_1
	LD HL,(FILE_R)
LEFT8_1	LD (FILEadr),HL
	RET

W_1	LD A,(old_crd+2)
	AND 32
	LD B,0
	JR Z,w1_esc2
	INC B
w1_esc2	LD A,(PANEL)
	CP B
	RET

Move	LD A,(move)
	AND A
	RET

AT_BOX	DW 0  ;न  (Y,X)
WDH_BOX	DW 0  ;ਭ, 
ATcurs	DW 0  ;.   (Y,X)
LENcurs	DB 0  ; 
WINnum	DB 0  ; 

M_SUtxt	DB " Double click speed	",0
MStxt	DB " Mouse speed ",0,13,13,0
mstxt	DB "+-----------|",0
DC_txt	DB "Test   OK  Cancel",0

USERtxt	DB " User ",0
	DB "Deleted files:",13
	DB "RAM	driver:",13
	DB "Kempston mouse:",13
	DB "Mouse setup",13
	DB "Save setup",0
	DB 252,0,"",0
INS	DB " Inside",0

HELPtxt	DB " Help ",0
	DB "BREAK - Change panel",13
	DB "GRAPH - Mark files",13
	DB "SS+1 (!) - Left drive",13
	DB "SS+2 (@) - Right drive",13
	DB "SS+6 (&) - Rename title",13
	DB "SS+7 (') - Move disk",13
	DB "SS+K (+) - Select files",13
	DB "SS+J (-) - Unselect	files",13
	DB "SS+B (*) - Invert files",13
	DB "SS+L (=) -"

INFOTXT	DB " Info ",0
INFOtxt	DB "Perspective	Commander, Ver 1.0",13
	DB "	  Written by Alex Xor",13
	DB "   Copyright (C) 1998, 2000",13
	DB "	   Perspective group",13
INFOlin	DB 196,196,196,196,196,196,196
	DB 196,196,196,196,196,196,196
	DB 196,196,196,196,196,196,196
	DB 196,196,196,196,196,196,196
	DB 196,196,182,0
	DB "Computer type:",13
	DB "Free memory:",0
INFtext	DB "Files on disk:",13
	DB "Deleted files:",13
	DB "Free sectors:",0
SCOR	DB "SCORPION",0
ATM	DB "ATM-TURBO",0
PROF	DB "PROFI",0
KAY	DB "KAY",0
SPEC	DB "SPECTRUM",0

COPYT	DB 255,255,255,"      ",13,13,13,13,13,13,0
COPYT2	DB "_",13,13,"_",0
COPYT3	DB "A:",13,13,"B:",0
COPYT4	DB "_",0
COPYT5	DB " Insert destination	disk",0
COPYT6	DB "   Insert source disk",0

MENU	DB "1Help 2User	3View 4Edit 5"
COPYC	DB "Copy 6Rename 7"
MOVEC	DB "Move 8Delete 9Mask 0Quit",0

Large	DB "*",0
ViewT	DB "PgUp PgDn 8Mode 0Exit",0
VIEWM	DB 255," Mode ",13
	DB "Text",13
	DB "Screen",13
	DB "Font",0
	DB 252,0
DRIVE	DB " Drive Letter ",13
	DB " Choose drive:",13
	DB "  A	 B  C  D",0
del1	DB 255,255,255," Confirm ",13
	DB "Delete  Cancel",0
REN	DB 255,255,255," Rename	",0
	DB "Rename file	to:",0
REN_T	DB "Rename title to:",0
Msk	DB 255,255," Mask ",0
Unsel	DB " Unselect ",0
Sel	DB 255," Select	",0
Errors	DB 255,255,255," Disk error ",13,13
	DB "Reread catalogue ?",13
ok_can	DB "	OK    Cancel",0
e21	DB " Operation abandoned",0
e20	DB " Error ",13
	DB 13,13,13,"	"
OKtxt	DB "OK",0
E216	DB "  Read only",0
E21	DB "  Wrong disk",0
E20	DB "BREAK pressed",0
E6	DB "	No disk",0
E35	DB "   Disk error",0
E4	DB "Destination	disk full",0
FIL_PAR	DB "		    ",0	;ࠬ 䠩
MarkPar	DB " sec.",0," in  sel.	files"
E255	DB ": trk ",0
e255	DB " sec ",0
RETR	DB " Retry  ",0
e255_2	DB "Retry   Abort   Ignore",0
VER	DB "|",0 ; 186
VER2	DB "|",0 ; 179
MASK_FL	DB "**.	      "; ᪠  ન஢ 䠩
LEFT_D	DB "  :		",0 ;  ᪠
RIGHT_D	DB "  :		",0

tabl_pg	DB 0,1,3,4
	DB    #FF
TABL_PG	DS 62
	DB    #FF
DOOM	DS    64
	DB    0

FILEadr	DW 0 ;  䠩  ஬ ⮨ 
FILEnum	DB 0 ;  䠩 -/-/-/-/-
FILEsiz	DW 0 ;  䠩  ᥪ -/-/-
BEGIN	DW 0 ;  砫 ⥪. 
END	DW 0 ;   ⥪. 
PANEL	DB 0 ;  ⥪饩 ,
	     ; 0-,	1-ࠢ.
move	DB 0 ; ਧ 樨	Move, ᫨=1
disk_er	DB 0
COORDS	DW 0 ; . 誨! Y,X
OLD_CRD	DW 0 ; . 誨!
FIRE_Q	DW 0
AT_INP	DW 0
VIEWMOD	DB 0; ᬮ txt/scr/fnt
Q_MEM	DW 0;-   ᥪ

६ :
:
ADD1_L	DW 0
ADD2_L	DB 0
ADD3_L	DB 0
MARK_L	DW 0 ;- ⬥祭	ᥪ஢  ⮩ 
MRKadrL	DW 0 ; 㤠 "" 	⬥祭 䠩
FILE_L	DW 0 ; ⥪饣 䠩
COORD_L	DW 0 ;. 

ࠢ:
ADD1_R	DW 0
ADD2_R	DB 0
ADD3_R	DB 0
MARK_R	DW 0
MRKadrR	DW 0
FILE_R	DW 0
COORD_R	DW 0

⠭
DEL	EQU COORD_R+2 ;0-.	1- . DEL	䠩
RAM_drv	EQU DEL+1     ;INSIDE/USER 0/1 ࠩ 
MOUSE	EQU RAM_drv+1 ; 1-./0-⪫.
M_SP	EQU MOUSE+1   ;	 (0-10)
CLICK	EQU M_SP+1    ;	  誨
MASK_L	EQU CLICK+1   ;DB "**.	     " ᪠
砫	७ 䠩, ⮬	᪠
, 殬 ᪨  "."!
MASK_R	EQU MASK_L+10
TYPE	EQU MASK_R+10 ; 
PAGE	EQU TYPE+1    ;᫮ . ࠭
USERdrv	EQU TYPE

砫 
LINE	EQU DEL+256 ;  ᥣ 256 
QFILESL	EQU LINE+256 ;- 䠩 襤  ᪥
QFILESR	EQU LINE+257
MARKEDL	EQU QFILESR+1; ⬥祭	䠩 128
MARKEDR	EQU MARKEDL+128;   ࠢ
CAT_L	EQU MARKEDR+128
CAT_R	EQU CAT_L+2304
TXT_L	EQU CAT_R+2304
TXT_R	EQU TXT_L+1536
BUFD	EQU TXT_R+1536;  	2304
 

BUFFER	EQU 44543
TEXT	EQU BUFD+1 ; ⥪  View'
LENline	EQU FIL_PAR ; 
LENone	EQU FIL_PAR+1 ;訢  1 ࠧ
COPYlen	EQU FIL_PAR+2 ; ᪮쪮 ࠧ 㥬
COPYln2	EQU FIL_PAR+3 ;᫨ 1,  - . +1
ADDone	EQU FIL_PAR+4 ;㬬 訢
Q_MARK	EQU FIL_PAR+5 ;- ⬥. ᥪ஢
Q_MEM2	EQU FIL_PAR+7 ;- 
PRT_FIL	EQU FIL_PAR+9 ;⮪  䠩
PlaceFl	EQU FIL_PAR+10; 䠩  ᪥
Q_FILES	EQU FIL_PAR+12;- ⬥. 䠩
SAVER	EQU FIL_PAR+13;㤠 ࠭(sec,trk) 
