   0iler     O  O Q  
' 65367  W :15363  < ::"filer"  32768      15360   <   filer           iP͊2\b>2]!s"]!  9"]++͏*]\DP# D(:P#~ȷ͊!]~6  ͼ̈́{]*]K] ͤ ~{=\)Ύ*=\"]*]++"=\5s#r*]"=\ɯ2\2]!  9"]++͏!]66%!Cבe*]++͊2]b͹C!Ӏ"]>2]*Y\"]~(!ז+ W>Pz# >	2]2]2\2]!;\˾ !ߖ!	^#V<!;\* FILER ver 4.0* 1984 Technology Research Ltd.Commands are:CAT          List of File nameNEW "newfile","oldfile"  RenameERASE "filename"   Erase a fileMOVE          Remove empty gapsRETURN        Return to SystemFORMAT "name"   format new diskCOPY "new","old"  copy fileCOPY "b:*","a:*" copy all filesCOPY s"file"  single drive copyCOPY b   Backup whole disk **K-H!-P2]:]ב!>2\[\ !]w( !H :/(!B͢ˆˎ:+G _*]#~.> 2] C\(+# "]\ͫ)(,ӍΎ[QE:\6Ӎ !)H  !H!Zב!\ב!bב:\A,*:K![!ב:J!v(!(
!(!בN!ב!ƗבKLH!֗בw* 	Ny
8d0> H!rב	 	^#V͆> ,#^#V͆ 	~Bu **Þ 	F#^#V(>  !p>!p ~#N#Fx> ,H f	8!\4!HAӍӍQyӍބф2]ePm7t:\2\&t:\!\Ӎ.M:]C:\ )C(D(##(B!\p!9:\:]P>2]6:\A,>:,!\!ב[Y66{:\#(>
2]w>	2]:\*QE~*Ӎ:\2\:\e>2]:\e:]<2]O&:\ P(!\\ :\ew 
ͯ w 7:,!\\ [\ *-R"-*)"\'"\*\")!,4N 	 S\.*]#~SBm7t:\2\ƅ&!\\ t:\2\:\e:\e ͯ wP7:\#P>
2]!\4:\eͯP&!\\ :\e:\`0C:\G2\2\:\Oe!p[\*\"\:\Oe[\>2\*\"\2\`2]72]͚mP:\2]!]4:, =2,(!<4&̇>2\(:]2\w*\")[\*- "-eΎ[!?ב[Y C7t:\2\2\W:\#P>
2]!\46!?ב[Y wPW&!\\ :\2(:\e*\"1*\"3:\2\>2'*)"\*\")!,4N 	 S\.ɯ2':\e*\"5*\"7w:,!\\ :(2\[\ *-R"-*)"\"):\:' 6!?ב[Y C:\`0U:\G2\2\:\Oe!p[\Չ*\"\6!ב[Y C:'ĵ[\*\"\2\`2'*\"5*\"7:+2=!(! ((
! 
(Ӎ";K9B*1"\*3"\*5"\*7"\!ב!?ב[Y C2\2\>2':\e*\"1*\"3:+!(! ((
! 
(ӍK-B"+"9!  "-"/͌:=2+*;K9B"-	 S\P*+|͆:' 6!ב!?ב[Y C͆` B0W*+DM!  "+!p[-AՉ*\"-6!ב!ב[Y C:'ē[/A*\"/Ì"+` &:\O̓O>>2]C*a\"\Ŏ!9!B|0>=2#]G "\"\[\*\ "\:<P!  "\ y2\*\"\](  :\O (h2\]:\2\2\*\"\G*\"\"\2\:\>2\2\:\O*\"\:\2\:\<O&*\"\:\OÆ*-[\"-:,!<2,6 *\")O&2\,:\`0+:\G2\!p[\*\"\[\*\"\2\`!\6 y84Oh\ (7R
 DM!9!M>:,!  "\Ύ>y2\07 #^#V#"\S\S\Ύ) !>ւP!>!\6 #ބEyӍ	8~ Ӎ\#~: +~фe##+:]ei& ))))H	 h͹y  \:]G 	(>O2]͊ͤ{]*=\+> +"=\ ~(>2:\<!ւP::\!_((!i(!]~> !-~Ύ`!>! !,!kp!(!n!!+!!!*]#"]\),ӍΎ[e[)(VC\C\),(	ӍVC\>2\*]!*a\!0 !  *]p!!U$.[\!H͢~(
F !4>2\S\=|?͉:\ͅ:\:\̑č >!\4 6 !\4g. Rh|zɯ2\7!"\"\"\.ӍlH>2\͕͊͜rH:\$(͕@| >2\r!H6 I \\
P((>!p>!> >!	2+"->2*>2/!23 6 !\= ͊ !H:\*-"\2\!\>*- _RDMH>/HP	
͙G>2Ք>Ք>P(>(2\:]<2]:]o>!\~6 (!]˞~+~!\
Nf ffdSd dVdddNf ffd  fd2Nf~#  f-f@º:\{?!\~_>!  b(!\4~# (Q!\F#w{Ք͜:\(!]6(!\3]-Nwy#*Y\6"[\#6:]̭*Y\*:]A>*!:\6.~,~##!>!z>>>2:\>BACKUP DISKInsert Destination diskthen press Y Insert Source disk then press Y * BREAK *Out of RAM spaceDirectory fullNo diskStream openedNot disk fileStreem not openedFile existsOver write existing file? (Y/N)w~#><~>>O H9 ![  \!\[  iPÈ*]++͈{=\:]vW:]'>2]͜WëS]͜[]*]!Ͱ:]2]Ͱ:]2]Ͷȓȓ!;\n(ˮ:H\8Ͱ>Ͱ>ٓٓ a 1>2\!\p Uѓ!"\"\2]2]2]>2:\2]Ͱ>>G:]x̊B̊! 9͙!T9!{9(:]2\!]O><w͙(ͧl͢:\P>  >w> = \*\~\͙p>K>ՔF>Ք 	ՔxKG?xK>
͐O͊͢5~(F ?(?yO͙Gyݔy?:\ȯ2\>͐yOÕ͊2\?gՔ>2  >:\>2]`(2\" ]>>2\
:\<_* ]:\9SG!4@ x [  >xo!B ? _
ב!ב?!ב_!ב[6R3IA >2]PɕH:\Ø=Ö2  (2  (*P͹~(̴'R8<02>R8<02?d R8<02@
 R8<02A}02B!>ב*6nq  No File(s)  Del. File(s) *ERROR*No space.File exists. Free.Write protecDisc ErroRec. No. O/Title:  Disk Drive:     40 Track S. Side  80 Track S. Side  40 Track D. Side  80 Track D. Side  Free Sector    File Name    Start Length line Track    Sector  (R)etry (A)bort (I)gnore ?           oop1	in	            0c0h
	jrz	wloop1
	rm	
wloop2	outi
	jr	wloop1




r1
;********* new read sector routine
read$loop
	mvi	b,50
rloop	in	dport
	ani	0c0h
	jrnz	rloop2
	inx	d
	ora	d
	jrnz	rloop
	djnz	rloop
	ret
rloop1	in	dport
	     4   	jrz	rloo  
	rm
rl      4   jr	rloop1  

	if	  est
;	che k for good system
cksys	lxi	h,dos+2000h
	lxi	d,0
	mvi	b,0
cksys1	push	h
	mov	c,m
	xchg
	dad	b
	xchg
	pop	h
	inx	h
	mov	a,h
	cpi	0ch+20h
	jrnz	cksys1
	lda	chsum
	cmp	e
	jnz	cksys2
	lda	chsum+1
	cmp	d
	rz
cksys2	lxi	h,badsys
	rst	3
	hlt
	endif
;	subroutine
print$lf
	push	b
	call	crlf
	pop	b
	djnz	printlf
	jmp	retprom
;	check for delleted file
ckdel	call	nextdir
	mov	a,m
	ora	a
	jrz	print$lf
	cpi	1
	cz	skip
	rnz
	jr	ckdel
;	print number sobroutine
pnum	xra	a
	lxi	d,10000
pnumb	dsbc	d
	jrc	pnum1
	inr	a
	jr	pnumb
pnum1	adi	30h
	sta	numbe
	dad	d
	xra	a
	lxi	d,1000
pnum2	dsbc	d
	jrc	pnum3
	inr	a
	jr	pnum2
pnum3	adi	30h
	sta	numbe+1
	dad	d
	xra	a
	lxi	d,100
pnum4	dsbc	d
	jrc	pnum5
	inr	a
	jr	pnum4
pnum5	adi	30h
	sta	numbe+2
	dad	d
	xra	a
	lxi	d,10
pnum6	dsbc	d
	jrc	pnum7
	inr	a
	jr	pnum6
pnum7	adi	30h
	sta	numbe+3
	dad	d
	mov	a,l
	adi	30h
	sta	numbe+4
	lxi	h,numbe
	call	pmsg
	ret
;


com1
comtb	db	207	;CAT
com2	db	'*'
com3	db	208	;format
	db	209	;MOVE
com4	db	230	;NEW
com5	db	210	;ERASE
;com6	db	239	;LOAD
;com7	DB	248	;SAVE
	db	254	;RETURN
;	db	192	;USR
;	db	190	;PEEK
;	db	244	;POKE
;	db	213	;MERGE
;	db	247	;RUN
;	db	211	;open #
;	db	212	;close#
	db	255	;copy
comaddr	dw	dirtry
	dw	drva
	dw	format		
	dw	pack		;inital
	dw	rename
	dw	erase
;	dw	get
;	dw	put
	dw	return
;	dw	pastart
;	dw	rget
;	dw	rput
;	dw	merge
;	dw	rrun
;	dw	open
;	dw	close
	dw	copy
	if	not mix
chsum	dw	0
	endif
nfile	db	0dh,'No'
m1file	
mfile	db	' File(s)',0
	if	uk
delfile	db	' Del. File(s)',0
	endif
error	db	0dh
	db	'*ERROR*',0dh+80h
nsp	db	0dh
	db	'No space.'
