IMD 1.16: 31/05/2007 19:52:33 FOGCPM.104 --FOGCPM104D1 COMD1-NOUSQCOMDIRFIRSTDOCI D2 COMD2 DOC D80 COMD80 AQM3DIRR7 COM" !DIRR DOCI"#$%&'()*+DIRR7 AQM,-./0123456789:;DIRR7 AQM<=>?@ABCDEFGHIJKDIRR7 AQM:LMNOPQRS-07-00 86 -CPM104 DOCDIRU COMTDIRU DOC7UVWXYZ[DIRU MQC\\]^_`abcdefgEDIR COMhSAP44 COMiSAP44 DQCjklmSAP44 AQMWnopqrstuvwxSORTDIR COM yzSORTDIR DOC{|X COM}~X AQMXDIR37A COMXDIR37A AQMXDIR37A AQMXXDIR COMThis is the disk name. 1  Z-80 Sorted directory showing first line(s), v. 3.1 Copyright 1986 by Bob Abrahams Options: $A (disp All), $X (eXcl types), $S (incl SYS), $L (Libr), $K (1K size), $N (No paging), $1-9 (# of lines). [^C to abort.] 8COMOBJOV?ARCBADSYSLOGINTREL?RL$$$HEXBAK<<.<<.<<LBRAXSLKN#G:\=Nx_A2 ##~2+ #~2* X!] †^ 6?>?2h!m!\͡:.º! ~:,! h!~!!"  w# w#w#*##"|Þ" ", |=ʜ2. *, DM xʜ! N#F#^#V+`i #q†= V++`i DMbk##yg*, +", 2. ++N#F#^#Vp+q+r+s x/|:. *, DM! ͩ^#V͙ ]o&))))O :2:* O /o:*!eh͒2h\<, [File not found.]2|/2\=ʼ [File read error.]:0r:*2!"}:ʥ [Bad library directory.]*))"1 !26 ͙͙̀}͡~Š×:, hŠ:6 =26 #cc͙ in A:!]͙##^#V"4 !͙͙͙~+Q [Member empty.]Ç:*hhh͒Ç#~23 ##^#V̀>!2_!3 ͮʇ#*1 #R´:6  [No active entries.] [File empty.]>2_!e%ka!fͮ:2\## x¤~$ #~ R16:627N)N9L>=> :+ G)]> |_|”ͳ>.eͳeé~#e ³:47:<2 ͽد2 [More...] ^Cշe> 2a!b^#V#0R7 -y0Je>02aP:ae&}0e>ke d ʇ?ʁO~‰#nkÊ~#2~#2~2 [Cannot show .XXX file.]:7G  ̽2: O$::  cx< 2: e$27 */ }@~#"/ :_[*4 +"4 |k*}#"}\q=D>27w2!"/ *}R"}!\D|g}oo&w!2"&~Q*}v|< [Squeezed from ͩ>]e: <: v FIRST END:, :*/ !~#/ . ~/ h/ * "G !~#8 ^#V#))~#zʓ }I `iBK@! | ʓ DM!] !w#† ! "/ >27 28 ! "&>v:8 =28 :9 29 = ¹ >Z !)):7  2$ 727  ##^#V <{/ % > 7>”ͳ>.eͳeé~#e ³:47:<2 ͽد2 [More...] ^Cշe> 2a!b^#V#0R7 -y0Je>02aP:ae&}0e>ke d ʇ?ʁO~‰#nkÊ~#2~#2~2 [Cannot show .XXX file.]:7G  ̽2: O$::  cx< 2: e$27 */ }@~#"/ :_[*4 +"4 |k*}#"}\q=D>27w2!"/ *}R"}!\D|g}oo&w!2"&~Q*}v|< [Squeezed from ͩ>]e: <: v FIRS1  Z-80 Sorted directory showing first line(s), v. 3.1 Copyright 1986 by Bob Abrahams Options: $A (disp All), $X (eXcl types), $S (incl SYS), $L (Libr), $K (1K size), $N (No paging), $1-9 (# of lines). [^C to abort.] 8COMOBJOV?ARCBADSYSLOGINTREL?RL$$$HEXBAK<<.<<.<<LBRAXSLKN#G:\=Nx_A2 ##~2+ #~2* X!] †^ 6?>?2h!m!\͡:.º! ~:,! h!~!!"  w# w#w#*##"|Þ" ", |=ʜ2. *, DM xʜ! N#F#^#V+`i #q†= V++`i DMbk##yg*, +", 2. ++N#F#^#Vp+q+r+s x/|:. *, DM! ͩ^#V͙ ]o&))))O :2:* O /o:*!eh͒2h\<, [File not found.]2|/2\=ʼ [File read error.]:0r:*2!"}:ʥ [Bad library directory.]*))"1 !26 ͙͙̀}͡~Š×:, hŠ:6 =26 #cc͙ in A:!]͙##^#V"4 !͙͙͙~+Q [Member empty.]Ç:*hhh͒Ç#~23 ##^#V̀>!2_!3 ͮʇ#*1 #R´:6  [No active entries.] [File empty.]>2_!e%ka!fͮ:2\## x¤~$ #~ R16:627N)N9L>=> :+ G)]> |_|”ͳ>.eͳeé~#e ³:47:<2 ͽد2 [More...] ^Cշe> 2a!b^#V#0R7 -y0Je>02aP:ae&}0e>ke d ʇ?ʁO~‰#nkÊ~#2~#2~2 [Cannot show .XXX file.]:7G  ̽2: O$::  cx< 2: e$27 */ }@~#"/ :_[*4 +"4 |k*}#"}\q=D>27w2!"/ *}R"}!\D|g}oo&w!2"&~Q*}v|< [Squeezed from ͩ>]e: <: v FIRSDIRFIRST: (General description and operation.) Z-80 sorted directory showing of first line(s) of files. This file documents version 3.1, written February 28, 1986. Copyright 1986 by Bob Abrahams, released for non-commercial use at no cost. May not be sold. All other rights reserved. Messages for the author can be left on Kim Levitt's Micro-BBS system in Hollywood, CA (213-653-6398) or on Abel Iwaz's Literaria BBS in Glendale, CA (818-956-6164). NOTE: This version is written using Z-80 instructions, so it should be run on Z-80 CPU systems only. This program lists a sorted disk directory (with file sizes) that also shows the first line(s) of each file (if printable). This feature can be used to provide additional information on files beyond the name of the file alone. This is intended primarily for text files, but other file types can be displayed. The user must put the additional description or other information on the first line(s) of the file, with less than 80 characters in each line. The display of each line will stop at any carriage return. If file is to be used by WordStar, the line(s) can be set up as a "comment" line by starting the line with two periods. Any blank lines are skipped, including lines with blanks and tabs only. The contents of some files (those with certain extensions, such as .COM and .OVR) will not be displayed (unless the $A option is used). In any case, in displaying the contents line of the file, control characters are suppressed, and each line stops at the first carriage return or at the end of the first console line* so that "unprintable" files do not wreak havoc even if displayed. * In this version, console width is assumed to be 80 chars. Squeezed files (with file type ?Q?) of the standard type squeezed by the various public domain CP/M squeezing programs are unsqueezed, unless the program is modified as listed below, or unless the original file is of an "unprintable" type. Whether or not the unsqueezing is done, the squeezed and original file names are still listed, even if of an "unprintable" type. The check for file type can be skipped by uising the appropriate options. It is suggested that the user change the name of the program to D1.COM for easier use. D1 is called similar to DIR -- that is, D1 {} {$} As with DIR, the parameter can be any file specification, ambiguous (containing wildcard characters * and/or ?) or unambiguous, including an optional drive specification. Only standard CP/M drive specifications are permitted (e.g. B:). This version is NOT set up to use ZCPR-type drive/user specifications, such as B1:. Options are indicated with a dollar sign ($) followed by the requested option code(s). Spaces may not be embedded between the dollar sign and the option codes. As created, the defaults for most options is OFF. Default for options $L (Libraries) and $X (eXclude types) is ON. See below for information on patching for other defaults. In this version, the options are: A: display contents of All files. (Otherwise supress the display of the contents of files with some types: .COM, .OBJ, .SYS, .OVR, etc.) When listed types are supressed, a squeezed file whose original name is on the "unprintable" list will not be unsqueezed and displayed. S: include SYS attribute files. Normally these files are supressed from the listing. X: eXclude files on the "bad" type list altogether. (Not even listed in the directory.) This does not exclude squeezed files by their original name, though this can be done by including ?Q? to the type table (see patching procedure below), which will exclude all files with type ?Q?, whether truely squeezed or not. Overrides the $A option. Default for this option is ON. L: open Library files (type .LBR), list member names and sizes and display the contents of each member, following the same rules as under option A with regard to files not displayed. (With no $L, option, files with type .LBR are not displayed, unless option A is used.) Library members are shown in order in library directory (sorted only if created by library utility that sorts its directory.) Default for this option is ON. K: show file sizes in 1K increments. Normally file sizes are shown in disk block increments. (This has no real effect if the drive referenced has 1K blocks.) Library member sizes are always shown in 1K increments. N: No paging. Do not stop at the end of each screen.* (May be used with CP/M ^P echo feature to print output on list device.) Normally, the display stops at the end of each screen with the message "More...". The program then waits for any key to be pressed. At this point (or at almost any other point in the execution), pressing ^C will abort the program execution. * In this version, screen height is assumed to be 24 lines. 1-9: List this number of lines from each file. Default is normally 1 line (thus DIRFIRST). With 1 line requested, no page break will occur between the file or member name and the first line of that file. With more than one line selected, a page break may occur in the middle of the file display. (Obviously this does not apply if the $N option is ON and there is no paging.) If more lines are requested than are in the file, an extra blank line may be shown at the end of the display for that file. All options used are listed on the command line together following a dollar sign. For example, to list files on drive B:, opening Libraries, displaying contents of All files, and including SYS files, use the command D1 B: $LAS. Option codes may be listed in any order. Program operation may be aborted at any time by pressing ^C (Control and C keys together.) On some system, this entry is blocked during disk reads. Those with buffered keyboard entries will not have this restriction. ----------------------------------------------------- Making modifications to .COM file (patching): (Use DDT, SID or other file patcher to make modifications.) 1) The list of files that cannot be displayed (except under A option) is located near the beginning of the program, following the sign-on message. This is a table in which each entry has three characters, each representing an unprintable file type. The character following the last entry must be a 00 byte to terminate the scan. The ? character can be used to represent any character (wildcard). (The * wildcard cannot be used.) An entry starting with a period (.xx) may be used to hold a space to be skipped, since there can never be a type starting with a period. 2) Library files (type .LBR) are checked against a string following the above table. This string is 4 bytes long, consisting of the letters LBR and terminating with a 00 byte. If .LBR files are not to be checked as Libraries, then patch out the character L with a 00 byte to terminate the comparison. 3) Immediately following the 00 byte terminating the LBR string above is a table used to check for and set options. Each entry in this table consists of the option letter and a byte used to store the status of the option. A value of zero sets the option off. The last entry is followed by a 00 byte terminator. To set the option default on, set the 0 byte for that option to non- zero. With the default set on, using the option letter in the option group on the command line (following the $) then sets the option off. (Actually, each use of the option represents a toggle. Normally, using any option twice leaves the option off.) 4) Following the above table, is the character "#" followed by a byte with the value 01. This second byte is the default value of the number of lines to be printed. It can be set for any value from 1 to 9. DO NOT SET THIS VALUE TO 00. (It is recommended not to use a value over 9.) 5) The program includes an unsqueezing section which pushes the total size of the .COM file over 2K. If no unsqueezing is to be done (perhaps because no squeezed files are included) and the user wants the file to be within 2K, the unsqueezer can be deactivated and removed. To do this, use DDT or SID as follows: load the program into memory using DDT or SID. If using SID, start with the CP/M command SID D1. Then use the SID command W.COM,0100,08FF, then exit with the SID command G0. If using DDT (on CP/M 2.2), start with the CP/M command DDT D1.COM, then immediately exit DDT with the G0 command, then use the CP/M command SAVE 8 .COM. With CP/M 2.2, use SID or DDT to be sure to SAVE an initialized version of the program. With CP/M 3.0, only use SID, with its W command. In both cases is the new temporary name of the program. It may be renamed to D1.COM after testing. The file D1/NOUSQ.COM has been prepared in this way. ue over 9.) 5) The program includes an unsqueezing section which pushes the total size of the .COM file over 2K. If no unsqueezing is to be done (perhaps because no squeezed files are included) and the user wants the file to be within 2K, the unsqueezer can be deactivated and removed. To do this, use DDT or SID as follows: load the program into memory using DDT or SID. If using SID, start with the CP/M command SID D1. Then use the SID command W.COM,0100,08FF, then exit with the SID command G0. If using DDT (on CP/M 2.2), start with the CP/M command DDT D1.COM, then immediately exit DDT with the G0 command, then use the CP/M command SAVE 8 .COM. With CP/M 2.2, use SID or DDT to be sure to SAVE an initialized version of the program. With CP/M 3.0, only use SID, with its W command. In both cases is the new temporary name of the progr!9"1E22!F#/~AQA2!@"!">2 :_:ʻ##~==2!)=j"#~2##^#V#"^#V#")))))*+:O|~ Ÿ/O* :=ʸ)ð"!\6# 6?#\;*#"_!~G:/O/G+++~w*O "* w#!w#"*#"*"*|g}o"|/g}/o#*"!""*))T])9 *))T])  ڲ–#ˆ*#"*|A®}Ag> /O  Nwy#¿*|/W}/_*"ʖj:A2y*!*!i*!*!i*!*  9y2o&)T]))"*4>w#Uq !E"!5* %** %** % %* ">i:_:*6K#zOUGPQzz0w#)'#~1 %1~;K%|^#%1dM M0_% Oya0c> _%{/_z/W DRIVE: ENTRIES: SPACE USED: FILES: LEFT: LEFT: $E D.DOC A extende Dis Director progra bette tha bot CP/M' DI an XDIR.COM N clai t copyrigh no authorship. Us i o you Utilit Dis lik XDIR singl letter "d" call it I print o th scree th driv an th numbe o files th total o director entrie use an remaining an o spac use an remaining an listin filename an size i ASCI sequenc i THRE 16-characte column (al withi th 5 colum screen) Yo ca usuall lis th conten o disk i bot drive ( an B withou overflowin th screen Cal fo driv B wit " b (th colo won' hurt bu it' no needed). Pu " o Ke N wit th SETU program an " b o Ke 2 t mak i quic an eas t us it Chang <07>AUTOS i Trac 2 Secto o you dis t <03>D..... (period indicat ASCI zeros an i wil com u automatically (Us DU t d this.) Yo ca cal i fro WordSta (editin n file wit " d t chec you defaul dis fo spac o content (I list i th thre column an no sprea ou a WordStar' Fil Director does.) Tr it You'l LIK it. driv an th numbe o files th total o director entrie use an remaining an o spac use an remaining an listin filename an size i ASCI sequenc i THRE 16-characte column (al withi th 5 colum screen) Yo ca usuall lis th conten o disk i bot drive ( an B withou overflowin th screen Cal fo driv B wit " b (th colo won' hurt bu it' no needed). Pu " o Ke N wit th SETU program an " b o Ke 2 t mak i quic an eas t us it Chang <07>AUTOS i Trac 2 Secto o you dis t <03>D..... (period indicat ASCI zeros an i wil com u automatically (Us DU t d this.) Yo ca cal i fro WordSta (editin n file wit!9"122!F#/~AQA2!@"!">2 :_:ʻ##~==2!)=j"#~2##^#V#"^#V#")))))*+:O|~ Ÿ/O* :=ʸ)ð"!\6# 6?#\;*#"_!~G:/O/G+++~w*O "* w#!w#"*#"*"*|g}o"|/g}/o#*"!""*))T]) *))T])  ڲ–#ˆ*#"*|A®}Ag> /O  Nwy#¿*|/W}/_*"ʖj:A2v*!ͼ**!ͼf*!ͼ*!ͼ*  ,y2o&)T]))"*4>w#H  !"!5*#**#**  * ">^t :_:*zOUGPQzz0w#)'#~... ~8kn ^#.dJ J0_ Ly^0`> _{/_z/W | $ : Size= k Used= k ( files) Space= k $vuD80.ASM\  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQoRSTUVWXYZ[ هHN$).~/I!{M?IBN]I!l<$e!o/<-+|~wL dovv$Nr]Lp/_>35L'3&_cs=cZkH1x3K F'9?cjkϘ&U=G>0A"KRzd:hA$N2++C9ı-2xZC&JQf vg7СK3Rpd[vפxd+l<K29o_ѼyLp'>6?aw`!eBX!gBX!gBF6b k8&KM;W3{JsL0 yx1AN6~+7}$a%]bc&])r&px͑ in]Z=hpnWn,) 9INeB:L+LFLH/k&Tr&Tr&DaFL+Lm#&Tr&T +_3!͍b}ϯs1Z3! #5 9("4))r&SLPșN3A"gL0Q\wi03A 9) F4\̈́(cBF6gBj&E3:,rBj&px@n93Gh6{[d8&DaoºpdBXa&)6+ &7)L0}j&]+pԍՒ 9n6h>)R7V+QhzVh)dH~ZLIl7YJ9l6fjV̪B^5!_Oy5M>wY)~̈́hL+L x=-\!+D˯&Tr&foy3>ޜɶeC Qzvz`BU}h4oǛ3ٖ[^.`Vk&xg R&ٜ͝lXJQf-ĄihKJ8KnxNLFL]/gh峔[AA3QNe,}Qfg6[d2[dLˆu`ԡu9&Dao|fJ^%|r+ݔ4w,*hRn%29Xpb[8x4Y)6m2$?$3=3=ܢ QnԯI$$h ~cn2A 9|r+ ϭ$8y<ˤf6[&_!gBF6bBm<jPτx&E3&8UQӧOL0Q?2! #|&I2Jpu5(YӧOL0Q,f^( ʄhnG Qٗ9Yqdd2-*uyfwI(egrdLˆuL+L+(X3v cQ2! #֡ٗ}[y{aH~wr(pg'&Tr&Q,f^(e[eɍ2~Dm6Yٔ"cBX!gBeebɄۨCjj47NRRl,dg4+(.+K&Q\BSjBW0Q\B0µ9BP Q QZÄL:&Q\BB3i7 Qڜ >rLˆuL&1! #LP-Vș5Ln%) ini fU!oLHsHC/RBwq4745SjB^_ak&(.Mz u 90Bۜ Q1 9) fUaݦKw>/NfL0Q^N3A"gBP&Da90bn )r&S(ANfB4VX#SjB>_[An=RBnHMG&T b kpx@jB>3&Lni 9(P/ &|~ExdBF6g:(n=RBwd Ä(pa:LHMݑ)5!t5n `JM_W =>f0· Xa~82Zf:Ś +_3Ab̈́hnL rneBF6bBFDcBF3!] b bek&./L0Q\B0µ9|:&Dak |sP-VP&(P/LPP&Q^8&!gmԄ}dB nL:&5S0+u^͔ w2++acc&8^$oܛ+97LHQzMR 6$)doL0Q\V/hRne NLXhRtfYU(K3I a-3٣鷙esI(Y)$~żXMqXʭ";0FqΊ8ol,V0؉ +_3{Js(̪BFLJg'E&I!$~DŽ.tP&xg 8K&(4O&S(p&m\eJ!i5̪BF?G&xg yGs"$n}cɍb}ϯ`V6J0;c+=SL0 &7Œ k&Dc~82+T ʄ[BDŽ(pgBt QaZDŽhLPșLˆ5LPșNLPșFჩaɍb6B &Dcמ_^92x!br+YL& Q b kpx cj&Dc53]̈́h0 fYUt!Lʭd2!͍b6ݲfE_*mާLP_#bmOՒ &7t˚ 2)NL2;ci5jZx4Yb,2~dS +_MVL0Q,צ[LPP44IIVʩLLthNqRdMvV~p7 NQk&(|03ak&(k-k&S(~$)6"k-cΒxM; &S(3eeSl-߲ݖ Xan} &xg : Xan%3]rmebBO/$+eC&r,4vd[RoW&S((k-k4CJaʩLL =03/֐`3LqJ(3pd؉ &7`4혐v6!7wr*"1y 4ƖOOOO 03~`ZW +Dc}}~&+6I Q b dj {}hw5º}lY3ҭ̄h0/AsW3! #\1;c:{4~'I!$~DŽh0/w/L SsW_{JshNqRd欏Mfc&tOieBX3!+ͦ,CZCʄ.tX3  ]3L Sը542*hL W&xg R&t2L Stk3_! #6Bs"m\%ovV?KRHnɿoxx5 93]5L]<[$Vv΄z^25L/%)6.r}]R&INbS$Sô:+Dcu{$I^xx_L=6AYqf8+N´\yWH~١) V -ml ~cf6[LRn%ova∦8ol,V Y)%Zxh 4éARb۽-29elX -M; y_qxǴ\nYCS\9IXR~o%)$ovVOVdLJ\~>[LIz@sl2%Ý O+o_^߽cZjz>@S\ʬɔ w2$?=~x)rKBS\ߒa/acc)MvveJ;y;.fh 473;vϒCdvg4\ MqD˔ wr~o3۩< Y_L})W~sǔ. Y!l3[& e/4??2! #||fsV1$+ed բgBƚ zdSŚ SKߣWVLQe-2igh6g}h%+6I„ۨCudZB4Vp틼0uZ]W+Da:48)2ά&IdJLB3]̈́.tL%S0UqWLcBF̭cBFV#DŽ(1ZL%Sä5^D05LQz}]׭l_J4iNϧN?y'/L5^ފ6ؿ׭l_ㅩaKX^AMqXʭ";a>$I^xx_L=6AYqf8+N´\yWH~١) V -ml ~cf6[LRn%ova∦8ol,V Y)%Zxh 4éARb۽-29elX -M; y_qxǴ\nYCS\9IXR~o%)$ovVOVdLJ\~>[LIz@sl2%Ý O+o_^߽cZjz>@S\ʬɔ w2$?=~x)rK!9"%1%*"0 "] " *+":<!"!]~$N!m~$q#~?3 F N P #Q: : 1%͈2 ͵g+ͽ ʪ>!+ ҧ)ͽ ʸY}     þ![r+s+p+qZXͰ *Z*X:]?:^ 3 $  l]W !]6 !^6!\6%  :\ͦ ~*\&l ~2]A;2:]CF2:]EQ2:]Na>22:]Sl2 :]Vw2 !\4:ʊ!4:!5AͰ  :<) :  :\=_:]  ?]b :!.6? 2. /]W  ?\b E~#!%"V*L##)*V"T*H&#͆ ":*L#"< !:͌ ">>!J 2@\2-:-:-ƀo&"C~  *<+"<*CDM  *C DM  *T q#p*' "'. *C#DM*T -*C *T w*+#"+)*V*Ts#r*T"T2-r!l6!"o*+"!l*l&m) ^#V"d O! ^#V"f:l=2lfdͰ **d"`*f"b*d͐ )*V^#V"hb`Ͱ 3*`)*VN#F*h ¶*`#"`Ô*b)*V^#V*hDM *b+"böb`Ͱ ڈ*`)*V^#V"j*b)*V* `)*VN#Fq#p*b)*V*js#r*`#"`*b+"bÈdbͰ `fͰ ͟ ҍf`Ͱ ҄:l<2lO!m *`s#r*l&) *fs#r*b"fbdͰ :l<2lO!m *ds#r*l&) *bs#r*`"dY!""+Ͱ ҈*#")*V*#")*VN#Fq#p+Ͱ *)*V*) *V^#VN#F H*#")*V^#V"T *T ^#V"*)*V^#V"T*T H  *T q#p*")!p+q*)*V^#V"T!6> !*&*TN :<2ª. ê:/ *T ^#V*>r DMl k : *T Nl ͼ*T ~#A 3 *T ~ͼ*T ~IR Lͼ#~S ü:<` !6:!ڔ:/z!:Ҋ :<2h*)"!"! **&S "A**&S ͜ *A#"A*DM*A"A!"AͰ c!"}2:<2O:Y*** ")Ͱ K>!< *DM͏*+"*A*"*#"*&*Ar *"͔à*J#"""*N"ͽ ʹ:ҩ*+"!͌ +s#rÐ }0_.!~w+ *: ##~2C #~2B ##^#V"@ *@ # W+}* z  i`:C : )=5 "D *A#"A͔% AO :   **>r DMl   *)DMl   *'*>r DMl   *<DMl / *DMl k *A#"A͔. g  - >>!. ~? W ># :  /!:@7  1 #+  W B #9 N#FogDM!>))덑o|gl =Z DM!>))ҁ =y ) † ^#V|g}o  _{ozgO{ozgi`N#Fogo&og_{_z#W O O  y O _ Y:% %  S L L _KL XS -Y {-e !s+p+q* 2<2:!ڝ   !4Ç !6:=!*& N !4¢ 3  03} Z; { ) # ! "!P6 #6" `" " y' * s#" * * *0 "* 6:d G *0 "*%G _U * 6#}g #P|2 !\ ~# <2\2_\\ P : = 2 ö   D : *":/22 >2>82>2 >82!R "E / U < G DIRR extended directory program v7 Directory program, accepts wildcards, extra commands via $ char: B>DIRR ? help guide B>DIRR all normal files in current user area B>DIRR $ANV all on this user area plus options A,N,V B>DIRR *.ASM $A all .ASM files plus option A Options: 103H A - files from all user areas, this drive (nice with 'E' below) 104H C - compressed display, extra row, no filesize, aborts extended 105H E - extended display, includes user area and any attributes 106H F - makes a disk file named ~DIR after displaying the request 107H N - do not stop each screenful, else say [more] when full 108H P - send output to the printer (paginates if more than one page) 109H S - include any system files that meet the request 10AH V - version number and date CTL-X, CTL-C, X or K to abort at any time. DIRR extended directory program v7 DISK FULL [more] : Used: /k Free: k ~DIR user area B>DIRR $ANV all on this user area plus options A,N,V B>DIRR *.ASM $A all .ASM files plus option A Options: 103H A - files from all user areas, this drive (nice with 'E' below) 104H C - compressed display, extra row, no filesize, aborts extended 105H E - extended display, includes user area and any attributes 106H F - makes a disk file named ~DIR after displaying the request 107H N - do not stop each screenful, else say [more] when full 108H P - send output to the printer (paginates if more than one page) 109H S - include any system files that meet the request 10AH V - version number and date CTL-X, CTL-C, X or K to abort at any time. DIRR extended directory program v7 DISK FULL [more] : DIRR, A CP/M DIRETORY PROGRAM notes by Irv Hoff 01/24/86 NOTE: MAY BE USED WITH 8080, 8085 OR Z80 PROCESSORS. SUPPORTS CP/M V2.2 AND CP/M V3.0 BOTH. HISTORY: ------- The history of DIRR is quite clouded. It was likely called D.COM originally and probably written in 'C'. Jim King disassembled it and obviously spent a considerable amount of time in documenting and altering it for his terminal, printer and time-date board. It was limited for use with Z80 processors. He called his version DI214.COM. His work was mostly done around December 1983. I had independently modified the original D.COM program for a dis- play I liked a lot more, but renamed my version DIRR.COM. This was done so it would not interfere with any changes the original author might wish to make in future releases of D.COM, and would minimize any animosity to my making such extensive changes to his program, then using his orig inal name. In early December 1985, I found Jim King had the source code for his Z80 version, and he graciously made that available. I made a large number of changes and again thought I should call my version something different from either D.COM or his DI214.COM. This ver- sion is again called DIRR.COM as the display is almost identical to the version I have been using for some time, and distributed under the name DIRR2.COM. The most important thing I did was to rewrite it in normal 8080 code and eliminate the macro libraries that were required. It may now be used on any CP/M-80 v2.2 computer with 8080, 8085 or Z80 processor. It may now be assembled with any normal assembler. Numerous other changes were made, which include making the reverse video optional. Several new options were added, and all were changed to be similar to those offered for the 'SD' directory program, where possible. This should make it easier for people to move between the two pro- grams - note there is no "D" option with this program, at present. In early January, I updated the pragram to work with CP/M 3.0, as I found a large number of people with CP/M 3.0 (especially Commodore C128 owners) were trying to use the program but getting incorrect "space remaining" displays. PURPOSE: ------- DIRR makes an alphabetical list of the CP/M directory files and in- cludes the file length. A number of options are available to make the program quite useful. These are listed below. Several of them are likely unique to this program. Most can be set to be activated by default, if preferred. The program is for CP/M-80 v2.2 or v3.0 and can run with 8080, 8085 or Z80 processors. EXAMPLES OF USE: --------------- DIRR ? help guide that shows all the options DIRR lists all non-"SYSTEM" files in the current user area DIRR *.COM lists all the ".COM" files in the current user area DIRR B:*.*" lists all files on drive B: in the current user area DIRR *.* $A lists all programs in all user areas on current disk DIRR *.* $E gives an extended display of user area and attributes DIRR *.* $S lists all files including .SYS system files. DIRR $AES" extended listing of all files this disk OPTIONS, QUICK REFERENCE: ------------------------ 103H A - shows files from all user area on current disk 104H C - compressed display, 5 rows, no file size included 105H E - extended display, shows user areas and attributes 106H F - Makes a disk file after the CRT display is done 107H N - Does not stop at full screen, else shows [more] when full 108H P - Printer output, does not display on CRT 109H S - Includes any systems files (most useful with $AES) 10AH V - Version number and date OPTIONS, DETAILED: ----------------- DIRR $A Shows all the files on the disk, alphabetized, no user areas shown (use the 'E' option to include user area.) DIRR $C Compressed listing - 5 rows instead of 4, leaves off the file length to get the extra row for users with very large disk systems. Overrides 'E' option request. DIRR $E Extended display, easily the most unique feature of this program. Shows one row less than normal, but to the right of each row it shows the user area of the file just listed and then has a separate area for each of the attributes: archive bit read/only file system file DIRR $F After displaying the directory, will then make a disk file of the same information, called ~DIR. Using this special character will insure the file is listed at the very end of a normal display where it is easily found. DIRR $N When the CRT display fills, DIRR stops with a [more] message on the bottom line. Touching any character on the keyboard restarts the display. The 'N' option will keep the display running until finished with no stops. DIRR $P Prints the output for a hard copy. Option offered for sending control strings to the printer for the print font preferred, etc. Another option returns it to the normal print size, etc. when done printing. DIRR $S Includes any systems files that meet the original re- quest - the ideal display for these files would be to use options '$AES'. DIRR $V Shows the version number and date. DIRR $ACEFNPSV - causes ALL of the above options to be used. NOTE: A few options cannot work well at the same time. For instance, 'C' overrides the 'E' option as it not possible to compress to 5 rows and also expand to just 3 rows showing user areas and attributes. Keeping this in mind, the options may be entered in any order. SUMMARY: Special Note: DIRR alphabetizes vertically, but in a quite unique manner that has established its popularity. If the file names can all be shown at one time, then the DIRR display is similar to tha t of some other programs. When they can't be all shown at one time, DIRR has two different types of displays available. To help simplify the explanation, assume a normal display of 24x80. the bottom line will display [more] after the screen fills, leaving 23 lines of 4 rows, or 92 total files displayed. The normal display alphabetizes the first 92 files into four rows and displays those, saying [more] on the bottom line to indicate the user should tap any key to continue. It then alphabetizes the next 92 files and displays those, etc. until finished. DIRR is perhaps the only directory program available that works in this manner. If the 'N' option (nonstop) is selected, the entire directory is first alphabetized and placed into four rows, the top 23 lines shown on the first screen, then the next 23 lines, etc. This is very similar to other programs such as SD, where the same method is used whether you operate the 'N' option or not. When sending to the printer where 56 lines are typed between form feeds, the first 220 files are alphabetized, etc. This makes each hard copy page somewhat independent of any others. These special features are difficult to describe. They are quite quite unique in performance and unlike other programs, such as "SD" which originally offered only horizontal alphabetization. This is pretty difficult to scan rapidly for content, and much harder to de- termine if a specific file exists on this system while looking at a general listing. DIRR alphabetizes vertically, which is more common to general index listings and may be rapidly scanned for content. The header at the bottom has some very interesting information. Here is one from a system using a 1 megabyte floppy disk drive: B: 984k Used: 31/412k Free: 97/572k This says the disk has 984k available to the user, 31 files and ex- tents have been used totaling 412k leaving 572k and room for 97 more file names. Few other directory programs give all this information. Some users frequently run out of room for new file names before they exhaust all the disk space, so this information is very useful. Try DIRR, you may like it better than what you have been using. In any case, it has some quite unique features you are certain to like. (Suggest you rename it to D.COM on your working disk as you can then just type "D " to activate the program. This is a lot easier than typing "DIR " for the normal display - and display lots of additional information as well.) It does have some modest drawbacks - it can only be used on one disk drive at a time, has no provision for use with RCPM systems using a wheel byte, and no means of limiting outside users to certain drives or maximum user areas. It is excellent however for local use on any size disk system. - Irv Hoff Los Altos Hills, CA  (415) 948-2166 - voice  run out of room for new file names before they exhaust all the disk space, so this information is very useful. Try DIRR, you may like it better than what you have been using. In any case, it has some quite unique features you are certain to like. (Suggest you rename it to D.COM on your working disk as you can then just type "D " to activate the program. This is a lot easier than typing "DIR " for the normal display - and display lots of additional information as well.) It does have some modest drawbacks - it can only be used on one disk drive at a time, has no provision for use with RCPM systems using a wheel byte, and no means of limiting outside users to certain drives or maximum user areas. It is excellent however for local use on any size disk system. - Irv Hoff Los Altos Hills, CA v]DIRR7.ASMc  !"#$%&'()*+,-./0123456789:;<=>?@AoBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab|9&.6X}6q{:u 5hlrVV?0˻?+c 7cd'?z]Xn5}W}gchc(uÈA2[ G72:BQqLa/6l], )<*6{[`?۬Rxl]]v*Joug@%olpkHv^Q)>5OO+Oۯ0óhVŀq4Y"iӗ3~`>RRx)<zyoy1zbdDs:FoM:NϊME:FoMxW~/c8B3$E@=fÍ Gg`υ.F OxMu6n9ņ$U}Ht>OgRxoFg`gYR\*zV4pZH:}0s' ch#'цۂܳa"hl.7RxzsZ=>=r)?L-5 70zc( 5Hnc(a$*n`6Rx[_ %LE K^i޿&7PO|y"X^{:zэ6}UrƱ=|7.g>0V+D@M{:?MyRϊab{. )<@u:a[!i0FC,fɬLH6HG$XwN*$ژ g 6 et826a(-ǽ67XfS\ު_@L 6_b.ÎC-b1K;#YsicNA"4O+YD,<ݮkΞuJ Oy$\U\Au쐰uXf#W-mxGDO%`X)3W*c`נ좉bQj肥ÂD& z3%EjmxGDy J]0,"MN=mxG/DO 6)6R ]^Q:R"Hm.D-8A!dWԮ X /R ]AaX8X(XD ",4 Rx) aU!8(| JDުN!ǃh60|Z=K:4oD0\*m`$ uH&6 :mFϔu, uH) o1(mAuNL虲) m_cP0v.z3g:BRzA͚]cFgl8I♥4_R- uH/PfSX7KOm$gBQ{%GݏD5"hBA Z3ʤ7h.vDN *)(,TWo4!z;D"a ?Sug)^ KV(f]^+yN%Xkv=FMH*=߮cSPlkPXPRduy\BB1,gY6RP?y(Abc|a۽y='ʎQ&*B 9Uzǿ]Jy bظ|Z NU"KVP]T8^((;.okU ws["\lձah7'?ȣf > HRx|f$etl`)  ][@uƺ3}g £ƺ3zm:XTmpH^C4 N#){E gbg7E-vB7赁CuyK1lw+KQ ;"7`{t\aōt{%Hmr$>0" !;<VP/X wsmoQ6}yIiNYu-jhT ʳ(/[)MS6}yɤ< ,KM_^+ʳ(}A /E6}yIh(rNi\a,ʦ)h(y=Atm T6Q7h9_ylYiJɺRP@]D"a3ah=3Rx)Y4M&'d46YMn&nXIvADoV7z.6X}6q K_KR ,^_4-G69u,1B /^aw]ћɎ/A%Ci% q4 qRx)}8\4Dِ(168X 68RP@݂c`@u|/MNsʫp Ȇ|>Gagn`'[HAo&;vugJð'~.KM_>S]-mx"MV'TKDj+j)h:Ѥ4_R-MV'Ts ﮥSZ-mr,'#ެa$ј ?c}Z[(X(?NuQY~rNco8OXkTqGL̔g!dul'DP㐏PQ2*s&17Pc$ eM,)hrӤ-%lC69u,cRx)sg Cu VV}ψ#~jcJ'HȦ/WsC)y̝U6/ 1ZYE<#R4I5rNu\)hrӤJ8!+ʳwƟgVA 9Ҍ6"YMi.)?w"ެ ' 7m /Y /:\"/Y TWS"Oq ǙB`E,Y 9U|$NAiBqQ1z[0J.o4Ki$ C>"6$uxÓ4Y(&D[(/KA" y JUAٰ+Y wsn<>G4ʎĢ,ah8&޴(&hp6ЪcRo654,2!K__QH3Z.ty7RoֆP|.X z~5GTdž+7赁VzIaQ~%G$JU c^A˨vRx)WҌ6{'9no<+SnB`)Mk"V+ W(;.ok:6(f]HA"!dDk(mVETl`gîd)4 IAnN-Gqy^8~$J7'iNY5=j)hXdToB e۵^Brцw鸞|7st J츼Ar(ޠ'E i?ȣ cʎ@ JD$Rаh8#s  *D1F٠eTV;)+ iFE޽ݜnORЛeӗ;)hXdt:R /E6}9S]-mxE {HAo&;:!Z"3lF;?~K2BQ~%Gqy^>#\/6A G_3lJAo>Ѷ߉W-hzmqGMZ< t5H tەsd$AEu\,8( v t:Lv4dmDZ5ۢ)ip4e'i?ݰy 7v idC>#YǒiNyu}M6G6=(j GSv=bQ`A4)dGH17R;etc)w>O(,Vá&5 6z]|&9vq7՟V%l\vRP@c<.YNaAux̞aѼ]cP0f aX oK1W49)<Bqۂ]vwCM#czc$j.k;-vB7Aєl)(,4V!vM#s֝{4}yuL< &d;!!4TǰNq!Rx)a%MNsךc2+] zm0K֡~w0zc)(B%}yLfux:549)}\y M١)3W*XRP@c]<Q:F*As#~_7mN8JA)-mx7JACRZ.W)(! R)hCJE}y}):\(YJ)%+,mxoX.nuxÓ49)< ivx+YJK)(!aRPJAՉD KDi5y}) uHihû^l:SZ-mxQ 9rцwJAyۑRo0V hlc 3")~KM?P6U Jj)hחRPCJ"=K4K)&D KDc5BRZ. -R ʳ(/RPp7'ʦeRPCJE*%RP6U z3Q6#h)[юϯߥRx)w:\G)(Re^_JA) ,,T N&Rм]R-MV'Jrцw)h:XRdu RP@d~ݜC-i?Q66BRZ.K)-mxQ z3Q6.#Z1shc)w)^lmzEa9Z.s ~,'#ެa$ј ?]<ߎ(f #a\9?/RPXi6U 9rцwj< HqvD7h e41nvRP@t~޴9eӷ/RPXi6KSZ-mxg!P>]<ߎ(f #a\9?/RЛ6lҌ6|"=eRаhhÇ/RduʤiNc5rNu\;)(R4KivwCMrцwJA˼vRduIj)h:ѤJP6|"MNss os)(R4KivwCMrцwK)hQ-MV'T[)h.&MT /E6}{BRZ.4! R)dG퇭^ /E6}r}Ea9Z.sJ F)(B|~;y\Q:F*As#~_7mNRPH3Z.4oIA" HAՉ*&9T 9rц鸞4Ki,Q 5RPCJEލR2/jG4YhRmyZ N4R)(! HAӜj*jh\ Jj)(RPS-:\G)hחRnZ N4Rм]R-MV'T^l+ uHihû_)-mx7JȦo?ldG6?~KȦo~S]M<>5$ uHihwRP6+"}X-mJAa9Z.g!P>]<ߎ(f #a\9?/RЛ6l)(! JAvI4! JAiR--R uHiXdgf)RnBRZ.4oTKACRZ.f)R2/PE{JAiR*-u&D KDc5vRduIKAvI4YhRRx)ۏjhT 9rцo< HqvD7h e4t sqL 5RPCJE޿,Z ZҰ~R)(RJPS-:\[)(,4V/RPTKAi(-R uHiXdgf)Rdum5j)h:QZMjG4Y(&Rм]R-MV'g!P>_nNS)hӵ4#eRnQ NWR>KAoڜ۷[)(! JAvI4! JAiR--R uHiXdgf)Rdum5j)h:QZMe^_JACR "r)(,4V_P°\ JF)h:ѶHAvI4Y(&R2/)-mx^ uHihwRPTKABRY*YJ4Yh[MyZ NV)hחRP°\ uH) ʥ4KirNi\{)(Bles/RnBR "r)(RjG4YhRRм]R-MV'TflcJ^c-hRRx)ח/Wrц鸞)-mnv!~.KM}ɮ(,TWEޏRduI5JAiZ N4r)(! 3)(Re^_JA) ,,T N&Rм]R-MV'JK)hCJaXU.jh\ 4Rx)>\4JAa9Z.>Ɏ&RЛo?y q߱CcRPCJER4JA˼BR "r)(RJDy5!Ȼhb:~rNuu- uHihk)/Wgy|k~y}):MDlsdk6(c)hrS]M<& i6 E`}"YMK)hCJan'6c1J=sJ uHihR2/Pڻ~ȣml{}`u,MNs)$0a8цg!P6RrQF)=IAyeq""0v)'ʦfRPCJan%+1J=s ORм]RM16kQSRP¼ "5X17Rx):Tolsdݣ ) &UM䱛)tA a')h:Q^"LЦabXI uH)m drf ;:FgN:]<ߎ(f ð\9gE zM2)(B|D>5= X 9ՔS\ORP6?HAՉ*HA"s.<(mk ;QSPS)WҌy dᄝ()XI {ʈ~,'#ެa$ј ?фc`2sc JE怒7mN}E 9Un|B{} W_a')(BM'%{X1K@;%`)}BRZ.4Yhj)h:Q^)(BlK&:\)(͗TKACRZ.^l~rE)yD:FgN:^KAym;Gqy^@RfmgLvM"bLE)1&DfAc$JxfqK.`$%DY@;F T  +)hCJE>n< 66(:V]HACRZ.ڐM)-m^Pݘ)%+Ģ%T:<'Ģ%T{:\cN1(mc$X2f 7hRx)ǗWgy|k0u,4QE)(Bl:|Veӏ^3BcVlp,ty#Y4A KyZ NU"KV8A^F eӏoIAvI58۬4.oɍ4Y(&D`4,2ʦ~j)h.&m %+l7mp,ty7HAvI4Y(&R2/)eӏo_Q6ck$UB7^l,c2+]8Ip-lp,ty#2)MǷS)RdӏohCJEflq|+~.Kq笳$Jxf)ۗ+JGVS"ڞ;N.of#h"~|ґD{.t,nRdӏo]Q:Ҕ_{$Uʮ /`ӱ?~K?^/Rx lʺ3 VuPZ-8c0Yw|KM?o(B|RPCJan%+QX()@uNj"+ o)X^&p|::6_HAym; Cu6Aagph,YA ʳwƟgV?HAa9JAӜ*ۧq v Mn\v(cQHAyj dpoU1] (cQHAY:coV!\ NWeu[s]4Tl`')(BnA1k:Fc KAӜ#.ux̟< /A ֝(uR4-ǰ%# T(ug!euKA)-my}):\g!P6wDެgʸU=cX N4V4Y(49i[]KAye[)(,4V^QXΩ␏q i ' tޚDxGєl)hrӶ~!~BqQv\HȦهMV'ʪ %+4>f aXI ws-g[4e47(fos"BєbQ`A4)h:QZeD0K lI#%+6#z7 76*Fo vqRPi&ksU=VRP>QJY, MNsʪ)ǧcTiYr!:6,ODj$nDUvʎ8~fTF /#3>0:6 &6EYpL4N /E6W4o4yc`7Nj"qYCu oZ[@i-D+(8IpP qRЛeÖ#h)[юf4BvIq ExgXI Z3ʈ<VP#FQgxN}#+١/95B z~l}U yQS')4{?^QH%RjQ&D4x-%Rx)iF)(޴(fG)h]H_KRdW49i[Mk)4B-i&U&%RPH%RjQ*D4^yZ /E6Ͳ+K4V z~l}( )w)^leMV'ʫ4oTKAՉj"4[R*eiJ4Y(T4oJA!͖JAY(MV'L oRRx)4?\duDyS]MiNYuV /E6vwCMf)R2/nL Jj)hחRPn\ NL NU4#RduʤyT zM|+YJKJRd,^nY J=eRЛel̥v!~.KMMV'Z NWA 9T UoRd,(Re^_JAiR--R zM)(RRdl|OD4KG)h]H_KRxMczc4TX{6=lsd?Iᥨ_YJ5GgǂX')(y칙 1J=sJ z~%}yט9e 4ڱ.ϯߥRx)ivxDj"%RduHA˼KM+NUgIAl/MV'L NUA g{)h:Q2)(KAoOM[)h]H_KRdqrEՉU&MNsJ^l:N?\duJAHA NL NU4#Rduʤv!~.KMi~EՉ*&9T NU[)h)&*&eU* H4Y2)h]H_KRx\*z&虲L2x'u*F Ħ1$Rxctܡ]tN%Phs4k ;%GgNAie 7ϴg53.UԽMPͺ ;CuXY,hl߳aW2c*ј E<&HXF D1Mp6)=s Cug)(BMUK1k:Fug)64O+)[h$s`SlfK<.YAu&4o4ycuj<2 xIAY;鯇#/8sURduʈ<zmgj=SRP@݂c`נ좉b#0?inWRPXim:N[4zml5}DRP@C櫖c`@u 53Qꆥ lt~ "<ݮRncϥ~`1:F /ЦB-i$dbNxfXI wsz?IAcP0Tx>!3&9}jG4< NA ] /c`l]L. _9ƟgVB+:ec,wj)hw7ԔJAQ WDpGMDE5K< t5HAlODPug57޴9nx!pZU8J^)hrS^|yT&3+QvR, 9?Mk""ȿBiyfnݜn?Mk""X~*)'|q-e>j"P͏2& 17HAnNJAo>k)(vy+i?"yVul*cyq͍^?W[h$saXHAՎR)hQ-V;<2<$*7RЛɎB /拗+ڭv4y9Q0THT,ojG[ۅ^ /Gf}`tlVuH̔BQY`BÉ.*c}]#B1J=s AuD8KQ?0T0f!6$K1Y&V;<.YAu jfbNX:0g#MNsTc6 e43ðpuκ4oTykmb#MNsTnu tM47l)EXD҆:lD :F ڭvTy9Q0TXk)h]H_KREXW4Nk"]<3zmp=j'E#M)ǠgF B4>p{:j@B: ˗+JGVS"AF5 70{FֳJ#QK̈FdžqoU=SBEKqL_/+mQ c)<.X*6AaX^~όDixCX`m.*)0ORPCJrV9%+8p=j'MV'T["!>0T8^(j"qYcSl)EXDC|`a]ixNqNA SX$]W[h7|&sarQi#:TaqBq cAbyװuxvwCM5Gg Vh1)(!: k"='JcRLv4ȣf :Ƙ<1tKǢ qY TxRi ӷ5K(n<\k&nPj.ϯߥRx)Xwhlr)h(޴hN|O1 I|`Xåz3%b/\_ћɎ_|Glmְ.QfV*ά]tgnpbjJAyX&HRq#~.K1w NDin!k'%bp#b%wWRovMq kl0i ' c)j5$0BPENq chc qh4@D+$*7Xk( ]4HT,ovADkp FpoUg l`?~KHWv"ka'jدiNxf)(B0,Vw "]16$Rm:?Ǯ]쇝^ z3KcURy1lRni&m#b}B LgJ WaXy(4`KFB /EY4c`@u& FalRncϥ~`NF"NAi8PvRLvnA^c-(c ;%~.Kz)c g:,=kT\`m FcZF#E úQk{f_p߱WJ7Rx)<(:Få6 :]]XP*BiD46£ 7c`)  ]HS:_QCJrV9%+1QH6̈Mc8I`$]-~iNwӚ<(poU|~|vu&64oTyhsN&eU dBC a')h(# hǸ`)M "VWh4B0+N /£ՊOOOHC;3c)4>0lkPvѝc8D PPWoe1Kcc{:`]8#S UxXU, C>y JUPF HA"&["Aið cPZKAՎvg"KV(gưShlr7)h:Ѷʈ'g, h nth8b]赲%Ȫ:V )(~{Ά !Ģs6LۂY[)(Vmp}-Z+]ru[*|_t{=R~' f D1:V JGm}`td[v{{#*W #^O@(fm8IAcu/*7e"nt[+8ؿpxF%o]mpґnj`o] xQ5V JG%l GD D='UA JG~`o8ADc`ґncؠɺ֝:?8QUA JGZ-~pZ!Qz e4̮nt[.F/Omq߱C?+*W #^O?kgj=SPcu nt۟x.*N`{la.:hX3r[*t֕ŬaDw"QAo Np+#nT0'U8HAHӬN6n9At U8T )(DzB? Khߡ4Qp}T Rx) 'I<3(O+JGM=bp.6X}6q_o|_C5bO+JGM8܅p[M.\Q:R¡6ϷTa_&Wt කy|A%'%:Zzm6Q)R6'Wt+VS"GÅXFaN(. T7E^(LS)6|3MX.4bh˯W4"m3M<10;1lsd#xw4%jݣaXgugDi-K^Jቨ +6^yHwt1h ]HHw[\QDJk6P&7Rq+JGy.otWc"ݍc\Q:Ҕc,tyMLn城I"ݍґDo&&7Rx)ݘ+J?Ӕ# M<366R1O(LS".6ov3ۀ2)ݘ#M<%T`*Ep}EHS"(t.6K4%HRis\*mHwp3M<7P&7^ R /Ea_Q:ҴJ1,߳ґT /rц/+JGVS)6tE޽\Q:T \Q:T /rцw(i*!\ґT ~ti5bhûW4Rx)6(iZMX..ti5bhû#ME>\_Q:ҴJX.#MX.#ME>3Mi5մVjZMi5bhґT /rц+J?ӴVjZMi5մVS)6wEHj*rцo(iZMX.#M^ +JGJ\xEHS)6ϯ(i*rц#M^ W4R,mx}EHj*rц_(iZMX.#M^s.(iJp͑ J=sE>ti5" a(iZMX.1ti5bh#M^ ґT #MEwW4bhCґRx)6do(iZMX.ڐtEW4bhC]Q:T /rцl3Mi5մVSxBqU,ti5մVj*~.K-vB7#E :u6vH:}_ۻ6l>uCk D05TP&Q8^(M:£1-!c8?_ Cu]C NY힁TiYPGV- #MScNt/ a$4nnXȰ",kґD 7E} t_|%{ Cp|4մVjJ(8>0u,ᐏ4մVjJ@B,&4մVj*#M4մyxY߳_cu dfX Jz7%s@uDpK1,+JzKA6_0|/R4}%;mUqݶ8ö&)6vxE ZMX..ti5bhû#ME>\_Q:ҴJX.#MX.#ME>3Mi5մVjZMi5bhґT /rц+J?ӴVjZMi5մVS)6wEHj*rцo(iZMX.#M^ +JGJ\xEHS)6ϯ(i*rц#M^ W4R,mx}EHj*rц_(iZMX.#M^s.(iJp͑ J=sE>ti5" a(iZMX.1ti5bh#M^ ґT #MEwW4bhCґRx)6do(iZMX.ڐtEW4bhC]Q:T /rцl3Mi5մVSxBqU,ti5մVj*~.K-vB7#E :u6vH:}_ۻ6l>uCk D05TP&Q8^(M:£1-!c8?_ Cu]C NY힁TiYPGV- #MScNt/ a$4nnXȰ",kґD 7E} t_|%!   p2 ! " " :\(=_##~2 ##~2 #^#VS #^#V# BC G!)y2  2 S!~(#:0082 0W{_ 2 W:  E IZ{ҁͻG &Ɓo{[ ~#S * #" ͻc(: _ >* w#KTz iR>|T* (iiR|ATr|* r|* Ϳ>KTr|* #: (G)* K RͿ>KTÑ'd }0T0 R0 y10xy(^} R0: _: G}zOyR0 !~( # 8(> T~6b>.Ta> _~T#> T>  > T |: _NO FILES FOUND$MULTIPLE FILE NAME$USER CODE 0-15$DRIVE: $FILES:$USED: $LEFT: $???????????? DIR i 1 director fo standar CP/ 2. an CP/ systems I handle file wit a uppe limi o 999K / 7,99 records wit 1 bi overal capacit o 65,535 FFFF Kbytes Tw version o DIR ar available th correc versio bein determine b th syste i use brie outlin o bot version i give below I shoul b note tha DIR display al file o al th t 1 use levels Thi featur howeve wa foun unsatisfactor i CP/ 2. a th use cod are ha no bee implemente fo efficien us a resul cause sever tim penalties Therefor thi featur ha no bee include i th director fo CP/ 2. systems VERSION CP/ 2. fo th Osborn o an othe compute wit scree widt les the 8 wide Display file from the default user level only, in a tw column format A>DIRUOS1 0 CPM3 .SYS 142 18K : 0 PIP .COM 68 10K 0 DIRU .MAC 137 18K : 0 PP .COM 154 20K 0 DIRUOS1 .COM 8 2K : 0 SAVE .COM 16 2K DRIVE: A FILES: 6 USED: 70K LEFT: 20K VERSIOΠ2: This version actually contains 2 versions in one. CP/ 2. wit a 8 wid scree width Display file fro th default user level only, in a three column format. CP/͠ 3. fo th Executiv o an othe CP/ 3. computer Display file fro al th t 1 use levelsi thre column format. A>DIRU 0 CPM3 .SYS 142 18K : 0 LIB .COM 37 5K : 0 WS .COM 138 18K 0 DIRU .COM 8 1K : 0 M80 .COM 156 20K : 0 WSMSG .OVR 235 30K 0 DIRU .MAC 137 18K : 0 PIP .COM 68 9K : 0 WSOVLY1 .OVR 262 33K 0 L80 .COM 84 11K : 0 PP .COM 154 20K : DRIVE: B FILES: 11 USED: 183K LEFT: 0K Th CO file fo Version 2 hav bee supplie o disk On sourc file ha bee supplie whic i defaulte t Versio 2 howeve instruction fo th creatio o version are clearl outline a th beginnin o th file. DIRUOS1 .COM = Version 1 DIRU .COM = Version 2 DIRU .MAC = The Source code. I th abov example o th consol displa eac activ file use code record Kbyte ar displaye finall tall o th numbe o file i th director, plu th tota Kbyte use lef o th dis i given Fo al thre version a optio ha bee provide tha enable th use t vie file fro on specifie user level. EG:- A>DIROS1 ;Displas file fro use leve 0 only. ;This i CP/M' defaul user mode. A>DIRU 15 ;Displays files from user level 15. Belo i brie outlin o ho DIRU produce som of these results. THE DPB (Disk Parameter Block) Thi i 1 byt structur passe fro th BIO t th BDO whic control spac managemen o th disk BDO 1FH/13 return th addres o th currentl selecte disk DPB DIRU make us o fou o th DPB' parameters Thes ar liste belo wit an explanatio o thei applicatio i DIRU Als liste belo i tabl o al o th possibl allocatio bloc size supporte b CP/M Thes ar als supporte b DIRU th numbe given in Kbytes is the minimum size of file saved on your disk. 8 REC = 1k = 1024D / 0400H 16 REC = 2K = 2048D / 0800H All possible allocation 32 REC = 4K = 4069D / 1000H block sizes under CP/M. 64 REC = 8K = 8129D / 2000H 128 REC = 16K = 16384D / 4000H 1. BSH (Block Shift Factor). Th allocatio bloc siz i byte a use b CP/M i obtaine b initializin registe pai t th valu 128D/80 the doublin thi value BSH times. DIRU divide th resul b 1024D/0400 t produc th allocatio bloc size in Kbytes. EG:- 2048D divided by 1024D = 2K 2. DRM (Directory Maximum). Th siz o th director i Kbytes th DRM+ divided by 32D/20H. EG:- The Executive DRM = 3FH 3FH+1= 40H 40H/64D Divided by 20H/32D = 2K directory Size. Th firs record o th outermos dat track ar use b th monito t contai th directory Th siz o th director i vendo option Thi valu mus b subtracte fro th dis capacit t discove th tota Kbytes available for data storage. 3. DS (Disk Space Maximum) & BSH (Block Shift Factor). Th dis spac capacit i obtaine b addin t th DS doublin th result by (BSH-3) times. DIRU use thi to calculat ho muc fre spac i lef o the disk. *1s th Kbyte use o th dis are obtaine b addin th tota Kbyte for each file in the directory. *2nd the directory size is added to the number of Kbytes used. *3r subtractin th resul fro th dis spac capacit produce th number of free kbytes available on the disk. EG:- DS - (Kbyte use Director size Kbyte Lef o th disk. 4. EXM (Extent Mask). On director entr ca describ onl limite amoun o space fil thaexceed thi amoun o spac ha mor director entrieallocate t it singl director entry' spac allocatio i determine b th siz of the allocation block. Allocation Directory entry 1 Logical Block size space allocation Extent = 16k 1k 16k 1 Extent 2k 32k 2 Extent 4k 64k 4 Extent 8k 128k 8 Extent 16k 255k 16 Extent * The EXM describes how much space is allocated to a single directory entry. EG:- Executive EXM = 00 ;1 Extent per directoy entry. Osborne 1 EXM = 01 ;2 Extent " " " DIR use th EX t determin th tota recor coun fo file Thi recor coun i divide b th numbe o record i th allocatio bloc siz t obtai th tota Kbytes of the file. Extensiv REM' hav bee adde t th sourc cod fo thos wit a interes i th programin step o th abov outlin othe movement o CP/M DIRՠ wa originall develope a a updat o S 4 progra whic handle CP/͠ 2. MP/ systems bu no CP/ whic i use b th Executive. Programmed by : L.DUNFORD. 68a FINDLAY AVE, ROSEVILLE, N.S.W. AUSTRALIA. 2069. A member of a Sydney based software group for better assembly programs. d to a single directory entry. EG:- Executive EXM = 00 ;1 Extent per directoy entry. Osborne 1 EXM =vDIRU.MACG  !"#$%&'()*+,-.o/0123456789:;<=>?@ABCDEFݷ!e% Rv!T Pb*&h%odG oa޸xb 0 C.,rjo98Gكi!Spr3%F:B #8Amn_* B>nF\%8 8( 9ٓU7| vxKL 5rB|#A$zz*MR4/#̕7s b]&ȁiz&8Jp*L03/9r1 >o_-1A̎INHUR=vxb]&ȁi18M5HB '`es$B/$\?/w>>~S̎Ər1 w w}>exNޒoP fGT-o|-1-S>npk" N4,H^H T.S> 8M5HBB">H^Hb'F2AL"02'\LNPV"GR.ݴG"?y}#NŧPnM{ջ [q%{rq1 qߛivHgܹ@=^i7G3Aav#t~ϸf:{}i7':w@ɧ"|WrC/B Q'DyٞM HgWvEf NobW azZLؐ~ϸvzT=J,tB=?i/ N)b{}o !n%i (஋)3+kɴ<;G(x/){}LkM 9C0P\LsJܰ?`MV2v|X" " eO e1Ja?~<ĭd2fG'>30;q1-:kɴGAa@d1s`B=㾎ʹG(x#9ȁi1~ϸ{3CFp0Gr6B9~ϸK3E$SJU.uhG98*O*!_U.wHgfMoit6 ʹDDP.L/w{)[ ,q18dWڛ) #Ӵt4S5O~7S&jəv (x/.b˜f!03 S1=SJPPfG1.(M={3Ea/|b0t; 89>+J)) #OMLi W07N ezn_+|w{[Lijbflb4L1b¸Nlx4aZi7E$SJ7moa^ŴBi"!BUB@L!' y|78y ֫ n?z7?7Xbڿ]ߎ?ݾ ֫Ǐ߾7X 0Ea\bdo{3g,djb^_;L;8xX,=V 1 \iڿ{3\DӋ) c) *a*=B*!_ WQ##HW=,褘bN) uoNWS,q7~Ɵ 8.gU.wS1=7>X1 ̑0D(Mo{3?0Ƀ)NSL5cS~-+`$Å8Ɂ I\1O{n)>);') #MlG*.7A| Hr`"*Ŵs$oTasz 炃]ŔRQD7pH#88Ӿrpܵ7D*.7A'# - nE?'Gw]gxKA9<9bڣ`$:A{[LQt͔3 #En0j!"3y(٧]Mq 2bp#ݴ$)&%C*A0 GӞ*F)^Qa þb 8: 8oaHRwݧEpt@a$I|NSt):{}:):O_ߧ?~\LI.(mba2ߎf(SAMnƈ0;Ld202M=03=LSd¸Nhܷg27y@G@ջDR5Eagz b_1A}o) T3810;M1ՌL= <9BL>j^_hx_ddϡ챼0WaUM1ՌMLQsajb[ؐ96d2Eaq{'# Ar3w?LiA>Cr]L{r$-s$90E8,]B`<'GgSNgF,\y\Daf$S\׉+ݴ;>8Qf0Grbɭ(eLQi*(yۛ)"+hM{ѠxHFZL{,/T€ufG1_Cp_bX}fd/TL1ՌML1ՌTL1ՌMLQ {vӞ ^a$oF+C'Gw]L{ pͥI(seޥz^LQL9T`X&S )o:0ĴN[q# EA|+ۖy18wHn0PJʶz^L+ 2# EaSsHnpŧMFZNab+< [`$ rrɴ}o؏0;€u܂($=aH9J.,?c."8$ bύҀ"T"V-b ^pi_o;EF*L{+/+Q(_'jڏ <~=yMS ?=y޴w.z~#}qAxS(L׆ rp 9/q6ǿ0I 3i o!UMzT) LyvS2ptГTe1R< 4QCJ.HBu~E" @Oi/moo >oL tNSNaX&BXL! (40bX&Fh3΂sq#8Ź+P9bS1-lX)2e,N\}Wra10orp!UQ!zF/rp!U SNflط&P<810W))) cfpt*zG98`t rp 9Ճ(4/rp!U`GLl3΂sq#8Ź+P9bS1-l7Cav#yvSذ)"Cr (_ ȳsT=S|ka$!(~EnӀ pWra"G@"iO A1;=yU# -{.7(P FZLQ˔M18,h_Li/\$ÅFc |#^HBP*o07uW86džL=|p㸘"=!3U# E(̎b\LqcC&tS-> #88Zɴ 36{D_(F)ͱa Ay(̎b\Lijhd/{Pey rPŸ)5c 7Ay(~U(1O|:VrWO|Sxq)na& /Cavb[ؐ 3݀)TOBavb!b?ZLQL9T)o# As)2elbxCSS†LQCs)na&Q9F(rrb6O`$!av}p@O+98Bv&ptT7<;GHBr_L93 c 3i o!UMxpca~1Ea07yG8qTM)cΐ*9F(M&Frp 9/ ; U# E(̎b\LQL~ 36{Tz0P(rrǁ% |O2# ES|k|ͅL1B'# -ݴszIL00W.=Gqa@.]!Upt^LߠŹbǸA.]aBA7Ź+Woa1(M0EaSŴ|1;!Rτ?}i`zT|O1;?>~2?Ilsl>>) #Ӵf 96lؙ? ' pt^/w fGT#0 yB%F0HxK p|I?jɴzS†kFLQ˔/SbNLqc&)2MM/SFiߏa׌M&& &)na&io&WPŸrr?0c 2Ea/|/i7&W-o0x%'B) #OunڿC%__~=06؛)fl21v>/w fGT#V/w>>~~_ {㧘Q?0>ajbLSn=Ei=WO$TˉuŴ_) 5)8"K/hflbX&S|w:qrݴo.Us$90-`L6džMLQeo`ئ:) :5SES vӾT=$~nbb."!ݴo!UCa$rp 9/=B΃Gr:TbflbflbflbH}Sd&HO45AMn(ǐ\b61Ea\:)")=B΃өͥnU# EWOn(ǐ\=|U.w)na&^֫Grp 9g_r`HSA,~1Asez0Gb8bd 36LQ/k|vӞC}!!Q0Pz`T~R) cq) LsĔwS2}|@Kǡs0{n.[b`H9/= ;ͥ~XL{7`szNb[ؐ ;>8-o0S2i7#8ro bvD5Bn ?>~ro'z]`?||/)fGTO7bgptw7S|wX_'Nsd ͥ!;) #Ou(! >+ˆ% |ͥғ0oϘn~Ȏ7V2-(eL1 GKÇb7xK )n^6.!lT=Tz0bM{00W)*մ R&ptP Kaڳ$`szdbM[bQ[g[bɴF^=A~)fGTOh<02Mm(M0\DӋ);|8b." SN(Ϙf'sMi\إ]g yv4,8 [LQ&~1\Dpћ0b."rXLߏf`=b."f7n7"DR=Oi%gÀ" pr}pib7Eal2P) :YL1lOLy75#8ro bvD5Sx!  ?>~ro'>\8o<JPS<O1;?>~2 R=é)Ԕ>b1Ni\DpCvSEㆈI!p,ݴo.U)!z~:Vr\֫s$T)STsGodsĔMQs0{>/w fGT#8:rP/w>>~2ÅFPɃ pt 5?I||#'"-3*BMs0=,q/s0 ;'HB\XLi\.S!z~:Vr\֫BCөb4]dxSE7i7p[l%'!J  sg8L"*7Gq~}}NS&=& 7x˱)) c{Ggۯ)yk3 43`b_'NȈ=^9b¸Np5__SNX0c b/|#X"'wݴs>o9tJ~||_\֫b."؞2bϡ(`ʋ) c>\> ͥb`)oQeӎ`s/|5⮐*8:ɁPbNɴ3t*?!R,|r1-)?0S N ; )i:ǿb?v-̱T^L1lOLδ=1i:}GX*/'|g4\sĔLS(Lӱ#vO5.'|gX&AsM>.XLĜ0t*'|{9%a~1mOL31#T30WbpXHrq Cy1Ÿfl21!vN/ g`ZLaS{b_K'Ź+D)fl21! %_xWSdʘ{a֒/0W0)#7a~1=7+@ T83 9T=l.UV2-7p|@B1oT);yjOL;S2=7*vR΋)G7S2e(h1wJnT=[ɴv>!P [q%{rq1mOL3 :c4Cy1w)}szȭ=ŴvN/)oM+0bY< b1OuĞ\bX&Aiz) `8* ):hxT3fĞjS  bwC.]aH9/׌M&&%1A L):hk8]B`> Bp!_Lё7 nPJG98*FPDB.> |^i1Mu> pBa$Ŵ7 W07"r)TX%Qy0~݃) #ML\Su*(eS ):jX&6^FaoL輘vGq7(輀e 3i5EaS1ఘ0)b\36LёWS|wXtY~7EG޴N[qa$#8(OKfib:$3nslȄcy!Sذ b Q0l!&B]LQszi%)2MM: Q0bdcoJn0zS,dbBM<$0b/ 78 €JOFZL1o{n/0 aHBb_!]0W#+);0eT36Afa$L1ՌL= yvS  bwC.]aH9/Ȕ1#v 9/i "yi6!I(stHnLL=Q0P r8m/7oߒoPHB֫L4$ˎ= i+ғ).Cr=6lE- 胣yn#yl.U€O>FT=1b!(eb[d`i7 oG^=A0r"H(b."fo¸N׆Gh1\DpCٟQt7i1}ak;Pc0mSŴo.UW'bf96d2m 0TLQ5SEWaS†L li7 zCptT}`BPc0mStCg27y0gEM1ՌML+n~ai7KC.Υr&pgW'Hd<0);SEMQ$ٛv>/w fGT#V>>~ro'z S̎ƏL¸Nǝi7KCJ Ӊaq۟Qt7SEM+m7EG޴Cy9 ~bڣw!U`Gt?0i+hMALCXȹ zy1a== #WS|wXÐݴ,>mB0r" 炃]$~3 #);anM;x:m \pK0i0a7}apHBB*8:/n4,8 K/rrTLLC) #M1O;54\DpM}ʹF<#I(s0yY|ڄ`$!D`g?̑?3إz0⇑?^+~#3EF^ݴӚs#.\+]z!ȁ ?` y{GZN"o>F)ӓSiv)Mrp 9/2F_7wS2}|@Kǡs0{n.[b`H9/= ;ͥ~XL{7`szNb[ؐ ;NGD b."!w(e7r)0|X>b."fo¸N׆Gh1\DpCٟQt7i1}ak;Pc0mSŴo.UW'bf96d2m 0TLQ5SEWaS†L li7 zCptT}`BPc0mStCg27y0gEM1ՌML+n~ai7KC.Υr&pgW'Hd<0);SEMQ$ٛv>/w fGT#V>>~ro'z S̎ƏL¸Nǝi7KCJ Ӊaq۟Qt7SEM+m7EG޴Cy9 ~bڣw!U`Gt?0i+hMALCXȹ!9"12:\#=2_!]>? w#*6? Exec DIRectory version 3.2 $_[;  Disk $:AM : $:d  Files $:h K Used $!h> K Free $*George WalkerColumbia, Md.!"\?؇ƀ_*:\w#P~K *P+~#:d<2dyS>/ #*y"6!c4\~#P!:e<2y#m7ڏO~q#‚ :<2!ci :e<2e!c54^:d>2!"!""! s# y*~M\Z"!\ # 4!\Z:f̤>22f!\Z:G:2ͤ!""*~ >2g*"~ ʎ  | $:g<2gh  $*@""Y:!w*!Z*@":g<2g!>2g*""# ~M#x>.MF:h2hx#~M~#$M Od* *By-O{00GG> MM_~#Z-*5ʹ1~ SORT AND PACK DIRECTORY v44 07/25/85  %}02 &k@ͽ5~Done {!"͍~}Æ 6# *"#*#.n*.>2Z"[:^#"^#""~#2~#2^#" ^#"$^"(^#V#"~#foʹ2 *(N!"*"#"!"*#*.2* #N!W*DMN: oQh×" DMH"DM* ZDM: KT×~#O6~)))))*"*+"|N~#´!"͍ ~0 2#~$#~$#:w+6$+6$+6$*#*"#.~ ---> Reading, |g}o:\=2OE: ʘ2~Sorting, *#"!"! " *"}w*#}o|g" !""- x‘"""~G# x­  >2Fwx# x*|/W}/_* #"**{ozg"é*#""* }|f**à}o|g:V~(Previously sorted) - ~Writing, >~++ READ ERROR - NO CHANGE made {~++ WRITE ERROR - directory left in UNKNOWN condition {~ SAP not useable with MP/M or CP/M 3.0{vSAP44.DOCR  "!$#%'&)(+*-,./01o3254678:9<;=>@?ABCEDFGHJIKLMONPQIiG٤M3+7!} /@9ja~ALg73&Ϭ$zWt*ڿk?]@XFS@ow8鏇sXǴUvt(}]eUE]8 Uvg\\g;.*O+Vg@P=[+<zf1Ҙ mEd7wE]n'j?]@XQcV6ݬ_ =+a~w|+<XW{lѯʮWVeCf.]+k̰1;hLp06ODw@ܟڿw}*;8FЋQn'xӈe_Y_Pǎi*vnw.%D6(PC@H\>&w]Uw1Qv1S,x+UvQa_[sf1Rnhp8ӏl[|} nG],EWְ% i8F_WiDWulhX\wSuгIp쮇w͒41mAQ7~8FeVߺ (PO ʮ_YΒi,  n3.ݮOU]bªlh7D>>9[Gr'"ڡwwi]7D ϬN .Zi%G2gVSgxCʮχ>UlǴG}Vns|CγgSUvu~-Z|}>~纼n =+ .xY}IKssҒΨٰA~똶ʮF3LT_$7?մ$7?1%g޴$751m͹Fe ~C캼wUAϼ5ߜ,P%T7z8bQul-Ʒ=:kyǮ .g5œa*4曓}(1TUvnvt7ʚIi Xnsa0Nw%:kt{*y3z>Pch1,.d_̻ ^s$BiIn~n9];5ЛۣkR%o?߅їD @}_yr+U?߂BɛMJ=j(/@Ȣ߹˱tXG; mߗD(-ߕSٻwk4 7Ii"!޴G %i|3oMKrwT1:wlhD\'ҋ==[}IB {s ftS6/^]'=Tbuu{tU6IiwG]^Ş|]K"j؛O0>B%iYp>5oZڿoNA׷7hL]eC&~<^tXK"ڛO0*9~1::A_ѥ ۣMJEs8zH/gG_P_\|Ti*I˂ KPִ$7?cڦ%tݧU$]; ѰaF^sWdGnv؎)xF{_tX ~]eGAiDO^EُY}";Lwwegߜ\^П@ݍF^cW\-іag79(}ApVjfI->xa@z6KVТcyl$}>, > ZKgD] e7d\ft";ҢcTχ?6G;W:ޮta~8⃷&ҳ*h 4ݡi ~|'ݠf6E/5x @xl_b=  ~ZbzS aa7 Vh绣IveNͣn -~̺;캁wG'x >0GcToVuWb 3`AkId#ƻ>PC@cھ$!#erq(}]e'x pk 7tvX7MUnGc-N)ÛF;7mtat #5v7,̚Z 7(paF^sWdGnv؎)xF{_tX ~]eGAiDO^EُY}";Lwwegߜ\^П@ݍF^cW\-іag79vSAP44.ASM[ ! #"%$&'()*+,.-0/21346578:9<;=>?@AoBDCEFGHIJKLNMOPQRSVTWUYXZĜ] -[vbEiG/hcу0 9{:uzǵC/ԥ(.{;ʙK+ylˏ\S^r8AT\Z/Lu>Z7ui%{eͫV>\ZcX>|7E{d7rGK+yl\kJ^Ky]~+asJvcZJtl"$"nSF߼yM+NQ,ϑDąO^3R~5USB昜t|Ωd[ c3xi%ԱkJ^KQ\=7|W 97<( <ͯvSn mݼ_V $o )ĶX͜JqIewKiuK4\e/|Z) NdR2quBsoS͛v${"8dk@,(Rq9}.c+=\ZcX~cZ&l>N받B^Y?).J hO~BJ"W)_7l}Gt$}'YHq]x8%f0.hXe^Z! MfǴe&s:d"BVW"^tk7@x5;\pxuSnj"rSWmp,zf%dPi9u%{Ir~\~^o~ztꦎ^V@COi%uzۿ_|yyr{ۏj_z=ۓa7OCɴZ~{>-DO+)q]yWC9uQmǻ'ӵq%ddOIh;um~ũ6t-Onr/h+yb;n G;e oM++^2ݘ'睺˵~zkuB9~4kIwSG/+x%;oqEu{NsmzZi%+pOMTwS8z6;v:}\[O{wq%lq]iI' MrtnN]|ϩ{MOK>Y8-{~5 MOT?=]]*){_z: O˩[z°} ˎuWl=Ʋc=䶄y<=]Ϗ ]N՝A秧%Wn G͇F~ oڿ^/+{Ai'Nwq|6OBkI߇~m29_ϩۋG/=n GK?-ke7WŢrSWmp,%i{wm>t{Zj_z=鰛:zYh/;}ܔ/9.i't}:]VwTK.)J%|x; .y%-n͂ Ws丮 Kڿ^/+{Ai%;8_'_SW>ЯM&9u{qJҋOwjMe7WŢrShr+,oU!]Ojm{}ZzIŻ«X|re?㢴ɞ\? z?.kBT)vP7Wi9uviuOݔ>%r7Z) DАDA7.Y<} J+Kxɶr{wAP':?kJq|Ciχ&{hC=qLLKOM֏k&ۼl7ٓD7 棍 DА:q]ߏVk' Z-4Nt~\&9;v:~(|HѺ^^ʩߚ׏- 6in/6;zX=IenӖ^Mxr\sv퐎_adx@/SG/ T΂[zΏאa77&/ACDumr|?Z)BI?1g~tz:zYPߗM{>uWl=|W؇-=?W%mr{_t~| )7Ȝx˒>qީKx牛>ܔ[\G-4$IbG#GArÍa棍nnؑݠq|_bvd(t~rL+ޞOKcihx\+ܹn '6ݔۂ%rzYm}!DP*7->@n`#:NAۋfņcG+~m_t/u -D_+A2rK耺#8Qms/ %rcrK4:ѧ=ΏۂoC De^R=5 I症& ܔ;M)7ukm~+qrS#CAHꆯe#@7&OD:6=D:ˡ.Cz%\/u:/{S7xwAt[`}_)țܰukJ^+tɆa= B)7FC{wAt[`Sld0eS "r[`ʣ E^2r7È4"9b}<@ݪW[ `Dd0e":)7F\G ޚդhv[_Tj+Y톨V @ k&PүnUMtXum,_l851ԭ_z:oo͂8\fEմRd-xk\k&PkN6l ^.҈L ޚդhvSn1H#2n錧| Nu { nMnM^Vkm~%>k!M9:L#26nXɹq:yS7!nX }Mݔn ) lM} '6ݔr7Dd`LݔrSeG/6r[?97#G9nM_lF7al &E$|nc+ntCM5.*4YrmMMN;O;iwÚ(+7D @x dt7`7|snp17QV]/$9bۧ;cvCT3뷈N,mK-^A+wP경{(WlrP&ȌP7~A yϩNݻn톹Qu5 /6{\,a7 06Tnԭ_z?u=+}J3XEuQɒk>PN6^t:Ɔ/~2& 5yb~Ԁί N8+Ӟk l ճH9Ƶ>t%>klM@]diMۋT|5뷈.iZew~Tvpac2uL~^pc IoKUgXEul7Q}y?k+ àkHzL~^ۨ# M/>dۨ#G^jmi6)06Tn` Q#-"u[;+Ӟk=qP!Vnaԑ_| c@,"*TnX,ԉP!8wCF2TnZ~G2@ݷ%Ӯr+S7 GAsH#2nM[6iCͻr[zf_1,6P?G|r7#: "5}7dQru\wnn/ί`D\ߚ׷1L6307cx嚾̈́ 7d$C/0=IW[0"1Ls,[ s{&OG톱 rC` Adk5膚nՠj06Tn錅P'G톱 rHg, 5yB>j7Mk5Q} Lnՠj|n*7j  tCM t>A+w^dưrSn,p=ۼ)7i>X{Fdr֬ŶQ'vP&OG톱 rC` kXA7|$IcZkuuo?^ҧT,p 5yb~ԀO'c c@冚X{Fdrݔ#l|!oU }`$}:q]?kn#GD1r%/sW} uMhj_z=7MS~nXKҷu-h~Gu>$}P7=P ڤn#"v>Pc|E=Iܔߏd+yn{|JK06TnՠcY [Cs~?u>ȂI@OݲYZ !Yѐ%O7ԥ_z{A]qɒ=HUCr7MHFT @ڜ<4Y7֐%mW:Cs~?冯f^7ţԉ/TrO'jܰ!SVn 7̓+Cn P7OF`o #-o!7Խ]ܔʙ3f@]~ũ6ܞ5 Q} kLUg+uN5qCQMwSnM]k=ԅJ(o)7Fw^ Q} ;P' 5yb}|nXi.w+S7+mcxJ^憚<xTnsW} \Z ,ܰ߇W۸&O,jܔn #҈L>6)7Θp:L_ᕩN6l ^.҈LrÍaݠq+S7lLi> 7 GaB\ '6A/SG6sSnMܘn~Xߚ {|ib$b3q:1n P_q %!}5&*Ԩڿ:CM^d`LUg(O\{s7e.m$6=?^knm7F > v~E=Ip- 5yb~Ԁ/~- e{=H~E=IH2uoO%\/uyg̀׏Uz:ڞ< @]Domlڍn##n`3UMtw.nE&K-^v^Z/mb "2b| Q+y]sÚ(wCT"17tF& 5yb~nXAl!l^06TnvÚ b Qd<憱 ԉί{/M~Ac3P'PDWlmA/tCQ?6t[P?Gԏ 6*7c3M76cuMtM 7Mk5膯[alXA7dQr:Dd2}^ro{k7Du^)7uZN~T8o):/{S7xwAt[`}_^C|d0e]!ݔn != B-/|m>pac2u I)M!_@݀u+N+廞rSnX[R K/^շ Θukŵ/uCMuCMjίjM)7uP>qCGmA?-FQmJ {|r2d،p[_n d6u2Ȗ_[ c@Q} ԯ\FTE$Q} B3{ݐED P7%ZA cn ^~qC*@ݜShZܔf;-h~>+,rcsdr_1&RrՇί@>7cM~uB+$4nԍM~[Vr7wFKu=wCT3 Ii$Q{ݔrS7OWlJ.)7册dXi \µR7d$s+S75;?jv2Z > c@冚<1?>7 5y{nrX,P'Q} '7|c  op>!ҙn` ɰpCnʭa`3s[X&Ȍ;cuCT3 #p>!ț>cnՠ2aᆌdܐED YDTX)Fƶ!AO7csk56307jMWng$ YDTX! PB+Qߓ'6|q]OPjx8vT89۞ )nllanFDܐED }7QanFDP' ɐ }7 7d$ Q4$["n*7M l `ᆚ<1?n Qw Qu1]+7ԥ~=Zi-i uZ>ԩ+Q=jK)rKdQ͊1]+7c "?gnH P__z\O'IOn/+CmE7d$0_qs=qCF2,5f7| yլhpPATMnAρnՠc3憚<1?Dd 5y{nA,P'Q} B7}tCTa%u6M5DZm!#*@Ӯ*9p-t PjxX˩ӆ6vkW} B3{06Tn D:  opC`Ux 5yb~|nj  07D`sd _1AIㆌd`n"sk5膯 o!Vn3442ܔo-/$T-=$T!}^V}7U2&ݔ,FMDd醚<=f7QA,`ncv+S7f4Dϙ;cvCT3/ 7a7uSn1|DH76^dZzNm}nQ à{wAtSn1f_p GN6l ^!= Bl|7߇M0]![C|d0e]!ݔn != B-GN6l ^!= B)7olspCT6nM[~kouM}ɻu>_n 7 ʙ|_޲kȭ ʛԨ醓 à{wAtSn1{6pac2u I)M-/(wCTAM)7u>O~m u~-ݔ|_nc㗽rÍa< B-9ac*O/yom-I/i/k4\|ϩ{醓 à{wAtSn1 n8ٰ1 zX~! cܔ:8f .|M^N6I7È4"눹atC[4nuVJu>_n`  ?6Ŝ] %]+k,5 op QuS7lL]\ǛvA7$5Inܔ:qknmf1ߵIqL 6n@-jbne黍c191 W1+Wm.1Sop67nxf@Mtf6 ܄ o>&s3}L &yc17!ț>i D_o3rSdh6ypǗn)7-Dn p[|6 `nL`17`1+pm0 u Z˷bn)`}_4,)7!)rM_1a Ա_\C'V i'nHrM_1a+n%\WLJ Dk 1@n)6erKO;Bn)bn%rM_1!F&r-<嚾bB,Z7!]%\WLX&drKO0p)g-<嚾brf["x5}ńpTBn)hbnHrM_1&:ԑ|Zzm~k\_l85}-<嚾b͒PGiYp}ᘛnv24y K%\&AALEup,VZ,VNpW*{~W ڸi>1]K%\/= ]R7w)7r-,消ݔdܢ = B-9ac*O/yom-I/i/k4\|ϩ{醓 à{wAtSn1 n8ٰ1 zX~! cܔ:8f .|M^N6I7È4"눹atC[4nuVJu>_n` 1l::A#l21l>2Y:1_"4~27##~2R###^#V#^#V#F#N#"9&#"W*9|g}o|g}o####";:1O>q^#V"2*;:6_*4 ~#fo"=!>$qK*2>0q>!q*=>q>'q€:7*=#"=:6_ x¬ll*;:6_*4 ~#fo"=!>$qK*2>0q>!q*=>q>*q€:7x*=#"=:6_ x+l*N͋>l*P͋Vl*9"L͋nl!~ *L+"L}»͋l͋l*9"L!~O͋ ^ *L+"L}*W:S/_UN z]fE:RPYʁ)*W)"W:Y'2Y=i"U!zʒ#È*W{_zW:T/o&#l͋Kl͋K`i#""*Wy/Ox/G {_Jl͋%){_ `i)2 -y2SO:SGOG Hx2T:SOxfG [xɷ# *+++_ ? ͽ0 ™>$0· ¬ ů))# *9"L!"N"P*L|g}o"L*9+}o|g"H!"F*F"D*D*L"JUAAͅ*L*D}o|g"DAA*F#"F*H͡ *N#"N*D)))))"@*J)))))"B#{*P#"P*@*B Fwx# •|} Bad drive.$ Read/Write Error!$ Loading directory track.$ Sorting directory.$ Writing directory track.$ Disk Statistics Number of compares : $ Number of exchanges: $ Possible entries : $ Active entries : $ Deleted entries : $ User areas active : $ Disk space used : $ Disk space free : $ Percent full : $ Sortdir Version 3.1 Dave Rand 04/01/84 $"U!zʒ#È*W{_zW:T/o&#l͋Kl͋K`i#""*Wy/Ox/G {_Jl͋%){_ `i)2 -y2SO:SGOG Hx2T:SOxfG [xɷ# *+++_ ? ͽ0 ™>$0· ¬ ů))# *9"L!"N"P*L|g}o"L*9+}o| SORTDIR - Version 3.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada SORTDIR is intended as a utility to ease the use of any CP/M based system. It simply places the directory in alphabetical order, and places all the 'deleted' entries at the end of the directory. Unlike SAPX, SORTDIR does not delete zero length files. As I label my user areas, with zero length files, it would obviously not be beneficial to destroy the labels just to have the directory in order. Having the directory in alpha order has a number of side effects: programs like SD, DD and the like operate faster, since they do not have preform a sort themselves; MLIST, TYPE-15 and other multiple- file handling programs enjoy the benefit of having the files displayed in alpha order when a wildcard filespec is given; it becomes easier to locate a directory entry when using DU, or doing any operations on the directory itself. SORTDIR gives a report of some useful information, as is seen below. A0>sortdir b: Sortdir Version 3.0 Alpha One Micro-Consulting Ltd. Loading directory track. Sorting directory. <---- This step seldom takes more than Writing directory track. one second. Disk Statistics Number of compares : 1793 <---- How many compares were needed Number of exchanges: 0 <---- How many exchanges were needed Possible entries : 256 <---- Maximum # of directory entries Active entries : 112 <---- Number currently active Deleted entries : 144 <---- Number available User areas active : 0 1 5 15 <---- User areas 'in use' Disk space used : 894K <---- Used space (all user areas) Disk space free : 92K <---- Free space Percent full : 89% <---- Pecentage occupation of disk In all, SORTDIR is a fast, useful tool for maintaining directories! !" " "1 9" 1 >2 2 2 23 24 !l5 ͊:6 ʋ2A 2U !> ͊5 ͧͿ> 26 Unable to create output file $2V !Y "W ö** XDIR v3.6 1/2 for OSBORNE 1 ** $2 :\=2 _"  }*.: ##~2 ##n&" _'_##~2 ###~#fo" #* +#~zI-1:] j:e j!]>?2  w#d>?2h": = ********************************************** * FORMAT 1 - Files fill more than one screen * $͏: -As specified:$: u files total of$*1 ͂K $9Disk $: A:$* #͂: nK disk of which $ÉK with$: u Files $â!}uK blocks$ Used=$* ͂K Space=$* ͂K$:6 >::V 5 ͛* * #" * #" : )= ~#$ ! " 2 \NNo such file(s) $7o&)))))* :\w#~#i-" 6! 4\N 2 !: <2 ±#¥7O~q#º : <2 ! ڡ : <2 ! 54ږ: =! " : * ~\͊" !\  kʱ!\ ͊: N*/ !+ s#r!"/ : <2 ʱ:3 <23 ڪ23 :4 <24 ±Press any key to continue $q24 ñ $!\ ͊:. O*/ "/ */ !+ s#r: y!q! " !"1 !" " 2 23 2 : ! s# y%* ~ʚ\͊" !\  k!\ ͊: r*/ !+ s#r!"/ : <2 !\ ͊:. O*/ "/ -*/ !+ s#r!" " * ~ #>2 * " ~  $#: <2 * @" " ð* ! ͊* @" : <2 >2 * " " : N>D#^+## :^>^ #T: Gyȇe#ko&ÐÊ'͡͡d͡ ͡}o|gڰã {00> > > !  ~#x>.^#V*1 "1 x>kG}:6 -x:$/:V bY 5 ͳ!Y "W 2V *W w#"W !V 4_~#Šɷ|g}oDIRvX.ASM`  !"#$%&'()*+,-./01234567o89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_٦L7}FfN&{rg]Eqa56:JY<'؞5mW2!dC#aGffj\_ScpzklED]pzDSp~)l)%1ڒq|%:9 '@wskLC TCh:qBgrֳ˧oopw^\z~}yEo._K=\7/.EG-o@4ƅ3Jz.d5[EI-Sp~@o\ 12YbOu'{*UǑz2qq,j>Ekt_'`Ekc4{ 5¢51 &O,Jw~~Eo^Oq\q S]E1)L=9uL)Lވ 36gJaFD8=saCz.?=0y#**E;Rp Q}LRhl%py55-_jZڈ^wB)F:qdQE[kZN^wB)F5-˺ ~*-(Rtcز(\i9RR=4d+UǑ(`qFg8ŦN^Lմ/5-E15-'_jZRXkǑ^CNL:&s?0@w/D6mi9RR(ƭŲEa [X)s4Lֈ"EQHɷo@Ɓl MD"gt2 Kf E15-'_jZE!Qg}\ 2G&3Lu|r&qټ:o4Ot뭱S0a2LrE1ajXkX*2Lu4 *}~ooO/./_^(Rt }:ffcQmO~Aw?!ǧ.iOٚz˙o_h8!335[h9l8BzPdQ%vQ[Ԁ96JS 5[(RtK ETf eLiʙfK?fK2ՐEy%(\05-_jZG?ŽF--ӟErDz'ge?f{.h)#fÖ.[4d0*qˢFQ[v<v 9j$Q.hZ!G]HtNG6df\H)Q]?,-N5(s!-5i=rF/̴mÛ_Ӗs"E簴PD1-Dr s9B EqOi6b N7]mS >5m9<?vћ??pKz{ӕ(^79?>#}CO|AW/o/_{~/_۷W/?]ݛ{G{zRׯ~@C?t(_~{Q~ @Kx~Or%|z||k?^Gzs>|zyBW/|[?\KQ\- Ǜע~[翧W{yIׯ/Ͽ맿f} ?]߈_~=]x}KQ\k?\K.! 虋 )M97lymtbʌffO%n^b [E1n-ZصSaɐfKEaibfg>עl@p1ZOzvNfRhL5d״\ltf"G6mXЏlL͖DCq|Ņ@(B eń̔j$Q S1-7{Qc؂(qk®̟ ;N 5[(RtK EC0= ݽH( 7Ea(ưE\GRR[ΆLx||E,O™B?,b"e@/&d&kL.΢~Yo0 fQa@?VF -ozo~# 7E1-uli7L&ЯFc­.roL_Fev @/&d&)7Tc2!vMy7N_3`ŚB&PDw4t2d7pk΅t|dCѹӖ Yn҆n:-1=Pt.hl4 cs' 63-8P̔ gQ]K?uj2 -P 7t1l6Ni@&Pa&[Ew!G:=>>]t.J8[8otNR +,3Um0Cѭt\LL54Dc8{Q]KnX:5NydohR]-c;yrolSAnw1t2aOթZoLf{â]thzr=MDhUǑWj\ @(µS򥦥ziV̅E,Lf^E/5-ՠ_L@R54d.(`qFg4py55-_jZGo\ @9YŸDQLDWt90Q[eNP)1/T|~( 7ER" M\T#elc s[f3'=7r6T垦Pj#07rֳhGl!kDItl0n-z3אoZvL?S򥦅7H9 ShuL>L&.E(lE yDTf e' "7 G6TcqdJaFix͗=zr/~˫<H4 uC6h R^]E[pdz5UQgO/^?=}qj1d&3GO3=lMyuuuu=Ltlo€D*Eqi6U븬t1CCP41ߋ"EP7@/!1828Ea}1828%ю![oL=Y_CS359EE7v\kq\^@fLR{Tw/DrDŅ?ŦM):lD=*'[-/gp-"QvmI@uL)Lވ"E`ݐ(ڂ3q!Lt/gpk0Ş(RtK@L0QLH9X7d#gkʫ/g]tlv~]w@7WWׯD!uC6h ly_D{wDEZDG6Tq2ܨ ,Ξπ>&k(RtDsnFm3QQ52Ȇ9L0yC>|le(` &:3J"E琂}LП)T(RtKp-" /bZ8䃡8.8"( M'QE[pGj.E6zaC@&P 0b8S,C ~+1lWtvrL˽a2~QvmI@E!QgŅP~9o;"E`ݐ(ڂ3"^˙( G6g 9LCpE!LEsص]7d(Rt و-8#] 1Ͽͮffg8rH\ Րff:0 E):V):]%QE[p_΀;P>:J]EԴ|iV &C:&bJɅd(`qFg8Ŧټ4zߝ}|=Lf qH9bp-",SM@w! 4ycX -SD(.)6濊m,ZrBaֱ(RtɅ¢]#:G-x^7֐ ͏Eټ9ͮ!Vg.&d&&QavlDh/~uy%E;}S΁OGfedJffӸpP)Eni9nfOSF723ƅ3ff(Egaʌ%n~7pk 7ِ_2JSF 顈 f(x1dE]T} YCKL€Yh=0Le, 7FP33c# J53Bz(t;7tL)F3,J+kt53?v*&d&LtT330y#J@?̢tFvJov1CffZ\H YO~ZL]Lpb8vPLń̍_GW\Rf3eO)eY$? g UHӯF]-sE3\ | Gd+ haz ߈<5>LǙ=?"͔=J%bή0Zbzx֋v.aݐ }"Y4d 0Yv EhgL7pkzJ1qfaw/ځX g23SQ1ެd8GÍv̢t#&h><͋G]qpL73.jݐ3;ߐ TLLCp&uC6ư:l(Rcpa:Y2 i΢H~9:oc)uC6'@'[CL&oE?b: !(_cQ\`ݐt tdC3sn䀍N!#y||,ECJc9")'}Pi,G.ڑ7RhuL>L&.0R'S"EI4Uopy=saC(7(69"Mzr3UǑ)QE[MM ǜf!S )M9ĢH9*4X|iVaMzE!Qg)T_ߜ)gW9,@5z? zw@7ij,1l(qk1haE (ZlEb,fQE[2UQDI@Oaj82YoUoDfPDZiR(Rt%ً" '߾݅0T(.)Rf/@5$;J>Q PǑ1YoŒ7r,EITopVoޘ~*UoD~sQaEKfXkŞ2gjL_bOY-64Qa~A?/QD\Tf@؛|kbo/~1@?bʌ&qk{ʢzMi0ŸTo> (`EK(.)J(IzaC)|Oţh|>`(0`EB$a*3f]Y(hZ},Z7p-nD1-E1-:A$ 7h~Y-e,(՛o€&! EKbY/gG? U_)ņEE\~ B{QXEQLą(̘E6ZI@LjS 7H URc0ND1(.JD435/T}, X=eQذb(\@3YB{QXEQL0(b^7 Cސ TcJaF-eH趒jS 7t &^Tf e' 3FQ aPv€Y zEfy%X#*; }![oZd☬ EP9VԐhNDZD&ȆuL>L)Lވ" /^Gw\ 9z=}憪u\ zs{.`l%ѡz?@nc1g.lzCCpE]Cfk՛tXCTB֓cQEOE7&T!Xo8b [uzefZ S44 gQ@5d+o*8)(Ƣc277LM(ƭŲV_)"E0-̮z3-S`,a*3fQżQE[kՋbZ,D):br013X U|L 3B:&G̢8P4d+Uj#bʌYnc1EncZZ}, 1lkTcqd2#g=Q\'LRIٓ-T'融(.)3/q [#uC6h d.'(o~9E!ǔP ~ 17~(Rt;. E#g=b#"ГYυR,b"\Dq17ϢCf):lDE;ڂ3O 虏-4Ƣ3_΀>o'Wt+zzEOW^ū7Kz{z^\ Qѡz|X̫iXuS"qkDsÖEZĦKMKNS{rj5QaFQ[e=]C-Eb"2Z)b0To'Cf7Z)} [jSL&PM(6i>m,uSe"1l1, 7E1-Ƶ"E簫>}arֱ#S=eQv\.[ľQgQd6c1828&멆]x3޾z7Ow^\z~}y%EoowwO/Dqo_/_<xIoo. ~u);=߼~t˫t^_~5|Nw7OOo~<]]%<=Y^zI/W]+~ @yzO_tsJW߯_}=WW @:&G&Ǣ(k{Q5 ѡzsnv 7y/1lQi83oE>﹈ f/8 TcqdQvէszC:&GŸ(H=36 gѡzso^nc=eQЀL@&獡j#̮a&E1-:" gt&S ՛_"E`ݐhG[pFI=qr1Sep3_΀><|\~~O/ӋWx@{Io_~xOWo?\ۧOo_~4dU|Y):]CPǑEZD&Ea}FE1ɛE,޾zsi<7SAC@AtޜÎK@o7 , 7|" hkŞ?ņto1<̮a&̮a&Eq17'?1lO4-SǑ0i!, 7XbOѭov7L\ņ&2kɛ 0yYgDQ{ѻ盫7/E/~L;#Eǜ@w! 4ycYcN߀ނgcN˺I"q==4{-8A8 >$ 7ER" cNBh:j1o]-s EBOePɄ,1l YC@P&o8"t[:(ưE\3PrS1)QSy"[cN?[C:´8&oER_GW\CƎ\DqOq'Qd6$کlRr,ZLNpkq&4E(ߠ fQŸAhcזDhaj-JXv7g,ekXDwmIa FoL_(ƭż޵]:`Zqek {.Eq1ؽk l S,=ZSDhm5L5L=ZS(TjBndKp,E;؛|Bnd5,Jmm=zr35{.[cSu(qsk@go8&c=v.;vm5L]ȍL| Eh{x]ȍL]EItvqks'1SGk>5=UpeݟЇl?jh(RtK{peݟ}ڟjh(RtK{ݻpeݟ}ڟjh(RtK{QŲρ>d 5{F):]ۥ(ƭE[@/l٣5vÞGQŲ>d 5{Ftvi)Lt.ktrzc2r{PiGQiApk,,XD1-5"av/q [Qg0ЭOGR8`v.Atv-6,@PB1i遬+}aJa򆬧XLi8;?4d+`sŅ?ŮgQXр~1J!v^-e4Q\S.}ŸLK1Liq?"E簋IRt>d 5{F֢{Qd6$;JNsOT84S PHi'P)V/E;؛|%.RG!SEho9oߒ䃡&VbWXi!;#ƅ3ӻߐHT+gQ-9a*3fQ SD1Le"qkRCMH9,-Q a"! h€Y(9TC&C!)GBXh`owHL:g}KTlfT¢@M 14.6FZZ9hi S1bʌ&a*3Q[jEaibQ a@̢lDIw8Dhab(Tr3@)vQqpa*3ŸkʢH9bŸH9b e'FD{ǮDhaֱ#Sao?|$(_c.Jnc1/5-գ]PǑFtW}:?`Z,~j829G3OưE\GW6i&CiY):]L@ek@ 7E1-b|0j#oHgQ\SO'q={<7ilCEatr@K #{C)LވŸbW}݅0ut9b [:I3U똊=eQX,1lQnv SE Mev S&GQюs%5L٣5L| zj(><;O7_7o zե(ƭE\΀>d HggH9bEf#Jc}])d-9 g2R%8UXv74L&.[â$a*3QaeH9bJp-KMKHq]DsTEw1€E(],vXTLH&P }jv&S Yc/.ځK]Pl hrO.\4Q3QSQv1 (.XDIwbvXc2ֱh`oHs1d5,JTf̢2c(;Q&_L@RX_h+Qb+Q\$b{Q Sр0epeH96mpִ"Eְ(Ƣm(RtM(0m,5,Sz†2UQ5e(69"L5b0`(;Q5eЋ )1b [k̢(kTQże ֧#{Ca*0y# 3FQ a,FD{G)'Œ4L5R%8͔}4L~FJ_qC!(_cQ1̘^)ùbʌ&a*3Q[jz(_cOO)4Eaimx`xt%! X2JFCD1(2Q}])d-9 g2R%8M? "1d8 ְ(bJ S1-S-s0MTf,iݥTw| N>Q[ۘfG=vQmv{r@q̔bq^f[ ͔q6`ʌYTf4Q SbZ5R(RtK ECb(0`Ef#J3;6Lֱ͖h`owe jZDI3 S1bʌ&a*3Q[6v5"E簴PD1(0bfQd6$;vO0:76:ʜBnd5[Dh{Dl-ST"Jl 0Le,a*3(XD1n-Һ+&Q(0`4Q a,FD{><@:M?LRM(2c0MTf,iCMH9,-Q a"! h€Y(¦>QaCm[\h`owZRDIic<`ʌYTf4Q SbZX(RtK ECb(0`Ef#Jwz%+.JfG>P[pvwLD{5=|$ZLL>݅Ӄhp רh΢)L @ֱ#2'g=Za2Ʌ06fd=`t=gr! 1YOz#JZAŞ2 C1S)orpDk|@+8zS5Ş&Su)L @OaBj8rYϢz.=SPYυTRf$Zrr@+xSuL)xŅ Za2dhjL)Lވea2dhjLCp Th_=Lf -SEIp@+@&<@:M?LR xdir 3.7a !" " "Q 9": 1: >2 2 2< 2S 2T !lU ͪ:V ʓ2a 2u !^ ͪU ‰> 2V .Can't make output file $ 2v !y "w .** XDIR v3.7 works on CP/M 3.0 & 2.2 ** $2 :\=2 _"  }2 0: _.!~w+ *" _##~2 ###~#fo" #* +#~zW;?:] x:e x!]>?2  w#r>?2h>: Q. ********************************************** * FORMAT 1 - Files fill more than one screen * $ͫ: ?.Specified files:$:< ͕. files, total of$*Q ͢.K $.Disk $: A<.: Size=$* ##" ͢: {.K $Ö.K with$:< ͕. Files $Ù. Used=$: 0ڼ* * }o|g* #͢.K Space=$: 0* * #͢.K$:V >Z:v U ͻ*: * #" * #" : )=(~#$<</!! " 2 \j.No such file(s) $7o&)))))* :\w#~#…M" 6! 4\j! 2= !:= <2> #7O~q# :> <2> ! ڽ := <2= ! 54ڲ: Q!! " : * ~\ͪ" !\  ͋!\ ͪ:< j*O !K s#r!"O :< <2< :S <2S 2S :T <2T .Press any key to continue $͑2T . : $!\? ͪ:N O*O "O %*O !K s#r:  y!8q!! " !"Q !A" " 2< 2S 2 : !A s# yC* ~ʸ\ͪ" !\  ͋ʝ!\ ͪ:< ʐ*O !K s#r!"O :< <2< !\? ͪ:N O*O "O K*O !K s#r!A" " * ~ #>2 * " ~ . : $#: <2 * @" " * !? ͪ* @" : <2 >2 * " " : n>d#~+## Z~>~ #t: Gyȇ…#‹o&ðê'd }o|g {00> <<> <> <!@  ~<#x$>.<^#V*Q "Q ͝>k<G͝:V MxZ$<O:v ڂy U !y "w 2v *w w#"w !v 4_~#ªɷ|g}oDIR vXDIR37.ASM`  !#"$&%('*)+-,.0/12345o6879;:<>=?A@BDCEFGHIJKLMNOPQRSTUVXWYZ[\_^]\aR!ܲz7a+oz4PC3\G6hnua\z4PCArulLjoK} \As5&- \z4P#<([-Vgf9w&M>! ق[7˶1fmNZąVúYlل\`9O[߇="!eʅ(:ƒ«lܷ7y}4w f9_sգ?]7 (P'@lA=)O;nsc:nۿA $ںY}+6b]2(!e(!:ƒ>la лYFq|?KeK f7sg鶱\`>>hc.!'ңB!b0uY6{b𠹄\z\x@&q۷lPOP9oLw\`e=Xضβ ~\`>Bc=ՂZrBNdje $DŽp 0Zeyúg:E%Ì2rɛp Kʠ'eKX [gsִVlʠ'ʅH<[9lkJ aʠ'pgu88gfhE="q=Zw[!6BAO$hpc%#*aMWe"ht,ngIiaUDG%eZz5`UD xaaX\AOaK<[=o[ z"DguwaA=I[R 7V2 KnYlߖD{lلC=';Vvn2g%8h݃|4W|3@y2P ֳxy[y=ʠ'Jɹ=9}+;ݎ-n|Gc!䄜0AOhnZ28gx&N}Y2\,gD$FZ x\2C< 9jعy*|u*CeA6_@CۓӷC!8\\v >fH W$2Τ+P1AI@/$z?/ж՚hB_vaokyB9B| 5W}ߪ=G-Ex՞ioqsuwvoj/q7l[>;v$.@*:%^: Ө3_Ţ֙O%^,qE@u&rB:_VgN?UZ}ֽ9*}~W}Ʈwٶm:{Xwv*<]!wٶm:{XW}B+~X=9}+;,"jC<FhrՇ0vw]<'9߽ni YE^o>r:[ u(MM~>P7CہP7CBqJNں;l?k>Fq OW}cW} u'orՇ0vwP; |n=?ټlg䯻<{{O!r'<[ LJS6.v&MsVW 5Ws#TLG-LrBB6x˗[n +fv|<[x#K /֤ÍP!?H7ޘxlGۚbonSKm,;ڷ?'Fh]Ch귰ܣm5KSx0ג7{4F !$bP5Bnģ +jC~no=wۘuߟڶ1fmξ-b1.Xp^03/(+\?H6Ƭh{?U}Gͦ ! {섪m aFBVh0BNȕn_xu,ږۍrx3غYh%.7xMzъ ʩ:[ Bn8y\ٳIGp?P>==,h,1Äm aF{m|[P>%ۓӷb2޾> IPnmL\X~y% 8\G!)',MfaGI yl P"TNBZT ӁrP#A榄rB.v]W۪mɿ@ -S>aOmÍuV k[P!?HwzcVŶ&Xnz*OolGwa:Ql:Wm%^UaOpc%Tmc3ꝯR 3B%P<=OُV fM\K̺'oe[hu$[!TMm:?fѾB~PJJ uA)yT{>˷z7P<*}O,.o uΣƳI|Y x޾e&=[Ʂ-lOL~P*e^Fs@`5 ̚?׻pj#1ķ1fmξG{a_Umc}wg7BN mM6'oe[n}!ߟڶŸn-޾yCej|2_+=}fwϏBݟt!&cVJ `׭^Sw.s =_pǻ`7mq]He3w˨ |;e&tk+PoS1+h[[),F.Z mۂoml&֙oP|ƬķXV ˺`zYoav+p^ he.8V 7_FOw]1:.P |b[g?=7BNWoJk}wj^si Z2zF3vw]<'9߽n]߷X U߫'TNnajU}|ub'T}7P9CMqJU\K?GBǫg4P7ӗ }vV@+sv$<^O6[⛡nkJe-LuA)B- Ӂ:[r jm,鶍{ X_EBlzkY6V6וynzqr-p 6S=͗aݵeP7}W}Ʈv Tmc%^oF u,gBIL,FhrW쯻öӶΤB*SLA>-PBx{ ahcP9Up > U-PW-|{PWg17y2-{Ym;,c9O[mc-f}=93|C}`ꝯޘ%p!'TN!Imܜ$}Í^lPx寻ö7jC_oö7!'"zcrn;6lꟅ-m emJ!KuwX||BtxFP6dr?/vͷP; |C93|BN G"䄜P; |?k='GIH^h귰F/Bp'_g< BPUB6x'ThxO 9F:B<%2wL_rAAC<'VfFB6GN*#(DxFP6d+!Fhj/$uw +{%3*u˷s=!Wmc(*~Bo\W>4Y yh&!jCw*_F<'䄜|LtFW)rh!,MP#A]1xBj #HGP^P<=buΣƳGgJ :Q鳉P9'!'L$Z8fh[X7U%~6/ t hlV1t[>|h۪1y>!'䄙ggj:Zq$m!X:eV"ƒWkjkVh%TN+f\_bܟG+t6ϝ#lɿ5'Tʕ|BN$ W$^-ZfYWVfFB6GŒ2{P6d+jCw*ʇ|nocka5!'MƮ_3oak|n3O^o>r:[pC:W홟<->&m:B6:B4U9McG9+FS P9C!tՇHmFP3!'jclݞkBNx#W/,!BxA&p 9!m[ 2Z[,V=`yOm{rVv#J$MoM7mG[߬o-lajۓӷt[rm$J%ֻ'HGP-Hf_vMǬ^PJ۞b:hAo[";_* 9!ԛT)F:‚ق3/v[WzE{xan= Ϋ+f 0boc]1: ;L aO ُj[IߟcV3o_~}m 9I$~+\/6Y,].I[g)[}{BNXg?25BS.P45n ֑o%2J5ocl~d3ZP*0 EP,%T ̚I{IUȖh;|okN 9!ojoq[n[fo7BNȥ~;o!X۷`{m !Voo弽} ?%R|Aw|1 9!5]hXF62^B JjCY׫ij~[wvڶ6^6s%^xF /5BSI;3P5BTg?{ŖxNr{ݺ[_wvrz]lOiԙ/kqmI*Qg?{;$^ZA~PQ u(MMuX+;n3P7: 5BӸݢ|7C;ݎ-[nu{Q#TMvU%ClXY%c,}Bt^?ۓsOo q[gY/c?oOl='TmcZ%meşM>jCYJߕ!?gTu=15WjOx?1tΣj>cWR]@[F e6yT}6B+K /ZO /sz]lg?HGh?a/u'ԡ0BU<3fCuΣΧRBUʺ^%-ێ;ӶPQ%-Z;ݎۍP>!!zu/.0E 3hϲ " +p6'͔y[fBA=ȣ38T<pf f P 2?T1xLm6sƅx3e ByhBN 30fθ y˴3Pp>]/yB KqJZ?/*}"!\wv[b: P1AoBCijΤaöΤB4LxʎmL'TM&M*q;ܿmo0BU|keBqJ/<{Mxe'|]6S<|n?(%T:QY 5KO _?HG_u;oVuΣ󔸳_YmۿB*7cƼ%nvF^?BUx~W}hk:WxF9F +؎} $J 5Wjs:dCUxۊhö4BUJ^?ēs6aiz*%8\Oq 9:WxF9&smse W)Fh3P45B!rM<ں;l:FqJW}ly4B~PJsu>jC<.smiY_?qJZYwm@#TLGhΤ^֙Oۋo3uC<15WjOx?1tΣj>cWR]@[F e6yT}6B+K /ZO /sz]_YƷU[7fo)|f;{5!uA|uwvjCYkr_wmojaFjM^e[av۳2cdP9y$|]Gm em*0zvnz/BUx/s u3V*z:%n}Íu2JTY,RB)q뿰n{QB+IPJ aBPJP|Bt`%>|7 rWRxa3u'aBǫ%yj\BXSa7Xl/ V#PUB~PJP|Bt`zݤ;6nRaj6\La1kwu]B($ⶭ3 fijq\F uΣڳJ֑oeL'T ${I+aZjmLa[g?(5B-% f].Hԇ U.!|[-3a/S#$T@B~P  'TN*RϗP>!'䄜+6[ V,ϭ9rYrXjFkfYwK;kMJvmrB.뿰0N.v8u9!g*2fϿn&=1 W>*ꝯRBKȹbi_VeZzn넜/,L=˶n3`,0BNeʣs]R~jek#!޳l{rVֻ\Vζ~%7RBIL&1OxUOW UÌz+P|W)}%\Y.͖mnn=ap 6GeMb7f uڳB6<^pm e[%;_1Kbp 9W6[uwXo+Lgn=ap W*}\.mN?-¬5x?l;vX0ze3uΣ󔸳_v[VUʶ*l~B~P* ۾oP<=}$mוy@^y"TN*z<^g>hr߶;jCV WSV֙OTʖݤ;heG󔸳_uw 4B~PJs'F:~@#ThAP1A?^PS!'Tmc()dij~[O.n=a{lPLAhco2}!T^yp[fK(p^yS͔y7 u0(6G^%81<o6#c[3y3'A <^gWr_6+Pl* se[]V-۶Xݚ귲n=azXwrB.뿰0TVZV͖p 2&1Os?jCV+FhrՇ0vwP|BmMs՞>jCVaU6S|'\BΕmqYmobw/ϭ9l[0BNeI N.vo弽} 볬KmAP8w#TLGPo~*aUfꝯޘ%HGJ˷9F p?SyCidNq&2^6!idN]&RZKxΣ1uΣ$uAP@h* s{, xm:gY!'\pfijZJa!9jT1oҿBs>yT{c˅g'TiPJƐf$;_z@wJ U.!:-=ma/,L=S tOg2$J &1U ԛT>U}UB60#';_BUJbp 9Wζ6pm!rYpB 0gcMbPoSBIL<^g UB60#';_BUJb.!Ǐ@;f cBNNcn[>r0k=-O&y< 67

oeǜ[ot0[1Vn]Kxpg*D/$|gieu_XES! "qwm@#hΤB[u&tN;ۍpnŖxI;ݎ-kec-fp ]!L(xxGuwc1W Ql_?q֙O8ĽL(g䯟8geyB81ؐG%>&9+!z 4(6mo_h6bG+n4sC[b[_@;V0+Y?J]xul۪mjÍ^L(Í^V,NS! ":eD [GHD L(>7$~+>S!-q7l,N’7BBTHai?lyBL(öΤ·f*DA !6S!MƘ;oVmc}V,!L(3mIV"a.ŖxcZlLsי Q%, ff_wmo Q 4 <"F0\h=ö7BPփBh Z-SoSz*Mb*P>JƐf$;_z@wJ U.!:-=maD2 COMD2 DOC D80 COMD80 AQM3DIRR7 COM" !DIRR DOCI"#$%&'()*+DIRR7 AQM,-./0123456789:;DIRR7 AQM<=>?@ABCDEFGHIJKDIRR7 AQM:LMNOPQRSDIRU COMTDIRU DOC7UVWXYZ[DIRU MQC\\]^_`abcdefgEDIR COMhSAP44 COMiSAP44 DQCjklmSAP44 AQMWnopqrstuvwxSORTDIR COM yzSORTDIR DOC{|X COM}~X AQMXDIR37A COMXDIR37A $$$XDIR37A $$$-)(|SD 5.0 - 28 May 8 !9"1 }2  D2 2 2 D2 <2 !\~j: ʤ~w“6ÃU ʳ0 2 2 0ڈ ҈o: g2 2 Ãg # !~|#>?|g: >:5 >*"<:  D: W  g: )  :\=!p _! ~2 ! !]~ – 6?#>?2hv!\^D[ ##~2 #~2 ##^#V" #^#V*.;^#~2 #~2 #^" " : 0:\=_.D!~w+  *U* #4W+}Ez/+i`: U)=P" * #)" " *{z[ : _ D!" " " vÔ\D<=! o: ʹ~} o: ’#*  w#w#" * #" ! *{zڒMemorc* }U2 * ! s#r# +}* " +}ʞ* |g}oʞ}o" #" * {ozg" * " > ͼ* * ͧ* * {ozgʉU* * #{zH* 5: G! G5 D<D ͊†##" b* ^#V#" >.|^#~))))! o&: /o* " * #" >k|* |U qb:Og> :\@|[ P>:wb2 +++>0|07-x0O: >0|: z2 |: d* |g 2 * |ʰ2 7 :\@|[ ڑE PL * V [ ~: [ %: ! 4X: w! ~6! ~6* 6#= D D! ~6&! 5:\@23 & ~4: :%>!\4^:  D D: b>1|: 0|> |> |z:|> G: µ* : ¬c D!# >p#" =2 x_: D{ : : 2 g  g DD: 0 -D : ) : : _D*: 09 -D*}G >D2 .  >FNpq#=N : 1!" 2 * |ʕ +" %* > ͊ ##" q * |2 gv  *   * 2 !" "  * ^#V#" ! q !: gg! >.|g:\  ͽ 6#0 ͽ  D Dc! ~ ! ʹ !: g * 2 * " !"  >2 q ++Not a LIBRARY file.++  D[ : _ D D > #U # ^#~U #^#VzU " * #" :2 !:2 0 * }] +" ͽ  Dc! ~@  0  %! :h >h : @|[ P>:w#>.|##^#V* " >s|* #" : =2 q5 :2 g5 ~#½ !  # Library file members for : LBRDriv [More] $ $ Erro - No file on - Drive, user containsk in files withk free. User There are Member Files in Library(s with sectors total This library contains sectors totalACDFNPRSVa a # $SD DIRCl scr code-> !:2 0 * }] +" ͽ  Dc! ~@  0  %! :h >h : @|[ P>:w#>.|##^#V* " >s|* #" : =2 q5 :2 g5 ~#½ !  # Library file members for : LBRDriv [More] $ $ Erro - No file on - Drive, user containsk in files withk free. User There are Member Files in Library(s with sectors total This library contains sectors totalACDFNPRSVa a #  This is the release date of the disk. EDIR COM hSAP44 COM iSAP44 DQC jSAP44 AQM n+SORTDIR COM ySORTDIR DOC {X COM }X AQM ?XDIR37A COM XDIR37A AQM @DIR37A AQM XXDIR COM DIRR7 .AQM 72 37 40192 314 DIRU .COM CB D9 1024 8 DIRU .DOC D2 00 7040 55 DIRU .MQC C6 F7 11776 92 EDIR .COM B6 65 896 7 SAP44 .COM 02 8C 1024 8 SAP44 .DQC A8 C8 3712 29 SAP44 .AQM 2B 76 11136 87 SORTDIR .COM 0B 62 1664 13 SORTDIR .DOC 63 17 2048 16 X .COM DF 85 2048 16 X .AQM 61 39 16256 127 XDIR37A  Fog Library Disk FOG-CPM.104 Copyright (1986) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. Disk Directory Programs. Filename Description -07-00 .86 This is the release date of the disk. -CPM104 .DOC This is the description of the disk contents. D1 .COM EB47 3K ver. 1 [DIRFIRST 1 of 3] Lists a sorted directory and displays the first line of a squeezed or unsqueezed text file. For Z80 computers only. D1-NOUSQ.COM DD61 2K ver. 1 [DIRFIRST 2 of 3] DIRFIRST.DOC 68E8 10K ver. 1 [DIRFIRST 3 of 3] D2 .COM 667D 1K [D2 1 of 2] Small (1K) sorted directory program. D2 .DOC 3B57 2K [D2 2 of 2] D80 .COM 2FF2 1K [D80 1 of 2] Very small (1K) directory program. Squeezed ASseMbler source is included. D80 .AQM 7811 7K [D80 2 of 2] DIRR7 .COM DDC0 5K [DIRR7 1 of 3] Sorted directory program. Squeezed ASseMbler source included. DIRR .DOC E439 10K [DIRR7 2 of 3] DIRR7 .AQM 7237 40K [DIRR7 3 of 3] DIRU .COM CBD9 1K [DIRU 1 of 3] Displays files on all user areas. Squeezed MAC source included. DIRU .DOC D200 7K [DIRU 2 of 3] DIRU .MQC C6F7 12K [DIRU 3 of 3] EDIR .COM B665 1K Extended Directory - another small Directory prgm. SAP44 .COM 028C 1K ver. 4.4 [Sort & Pack 1 of 3] A utility which alphabetizes and sort the disk directory. Both documentation and ASseMbler source are squeezed. SAP44 .DQC A8C8 4K ver. 4.4 [Sort & Pack 2 of 3] SAP44 .AQM 2B76 11K ver. 4.4 [Sort & Pack 3 of 3] SORTDIR .COM 0B62 2K [SORTDIR 1 of 2] Sorts directory without erasing 0K files and moves "erased" files to the end of the directory. An alternative to SAP. SORTDIR .DOC 6317 2K [SORTDIR 2 of 2] X .COM DF85 2K [Extended Directory 1 of 2] Very small eXtended directory program. Squeezed ASseMbler source is included. X .AQM 6139 16K [Extended D%irectory 2 of 2] XDIR37A .COM 6EAF 2K ver. 3.7A [XDIR 1 of 2] Directory program which can also correctly calculated file sizes and space remaining on a CPM+ systems. Squeezed ASseMbler source is included. XDIR37A .AQM C811 17K ver. 3.7A [XDIR 2 of 2] XXDIR .COM 7401 4K Another eXtended directory program.  Very small eXtended directory program. Squeezed ASseMbler source is included. X .AQM 6139 16K [Extended D&'