' JJJJ ?\>' L-=l>  ԠéԠˠ#~?  xDIR ERA TYPESAVEREN USER !yO#< Ty#O 3ǯ21y_͸2y2ͽ:ķ˜1͘A͌>>͌92^ :˷¥.!_~#fow]ɭʎʥ!v"!çREAD ERRORçNO FILE^:˷#͘*~ "Ʒ"͌#>?͌͘ =_.:;<> Oƅo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6"  Ň!˶2:2a{_:˷ʖ:˷>Ľʖ:=2–!B!6#5ʖ:˷Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!\X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<į2: :):>:(y2E!|"*wɍ`JX)^>EE??++ ԩ  [\ ĭ ?  JL ``LLL $Lq<`ΧԠĠڸčԠԠ͠Ԡ؍2>o:= gw8H<8H=` }Hx / hJ Leh<> > @A @A>i =<>+ LeÍڍh@(L>*// -П( ( $8` %  ZNx`. }x$50x.$50xL JJJJ`Hjf5 }h $50x`  Ȍ` Hx  -(hL(h8֩`Lx (`H݌hHhHh݌>?F؅G(jf5(  ;  R( FGj 0x j $xxH` ( Rh RL.xxH h  !"#$%&'()*+,-./0123456789:;<=>?x&& 8 , P ; ' / \ ; & ; x)*++`FGG8`0($ p,&" cI꽌ɪVɭ&Y & &Y &   꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`V0 ^ *^ *>`+*xS&x'8*3IxiU ,>J>V J>V `8'x0| &HhHh V Y V '&Y V x ꪽV ' `Hh` ! ~ 3#0 Wx x ƀ Ƃ G ~ # 3x~#B!Y~ɯ2:˷=!˾ý:˷=!˾:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ ɯw4!Y~ʆ͌†t=ʆf ^ T ɯ2o&)|+!<ͧЯ2*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C :ٷ:ddslO s#r:EϷ͊:==»y==»*Ww#*"͸*:G#š"͸:!پw4!iw:Z!E~=26 w ~>2!E5T*C!"C"C!w# F! w͌xѯ2͢*C ~<wʃG:٠!٦ʎì 4~ʶ¬:<ʶ$ʶïZͻЯx>2>2ͻ:!پZկ2:EϷẅ́͊Ͳ> *C ^OT *C~wD -'  -@ͦ~^*C Ox! N!Fwyxʋ>ڋ>*Cw~#+w#w+ɯ2E22i^ *C :ٷ~w~͔͔# # ::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | sӖ-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5:AϾ#~$=2Ek͌ ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:مo$*C~i6iw**{#zr+s{ozg**͕** Ѿ,w͜͸Ͳ!!N#F$**O!~#O: \зSЀ*C :ٷqn& ^#V>O^"*}:*)=":O:١o"*C *C!ͮ~2~2ͦ:٦2ͮ:ЯO:فw:w |g}o*ٯ# 2E>! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>گ*w#w*w#w'û*ڷ! J*""!N#F*^#V*~#foyx*{_zW+*x: 2 p&x~+é7ͯ2 H! >w_: ! Ͼ5ͤNkͱ¦ͱxʊ#Nx: Ϸ! ϖ2 ͤ! 5™#wO~x½p Hy<< ڷʑ :!qMD# O͐  :ϷE B 2>: Ϸb# : Ϸy! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: ! Ͼ Hù H H $O͐: 2 *CN# ʽ ̙̥̫̱"C{2!"E9"1Aϯ22!ty)K!G_^#V*Cΐ~؃E؜إث ,&-AGMSϛ!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~6=qf^!~2>`~2˯2\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: !˶ Â$$$ SUBÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Yʸpsp2mÆÆf ͧÆFILE EXISTS _: É: :˷ʉ=2)ͽÉ T!@k!}|qs+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!BϾw!>2*C~=2u:B2~2wE:A*C϶w>"!""ٯ2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*٤W}_*"}o|g":ٷʑ*C6:ٷʑw:2E**E}DQ>2C0T"I !>"H>2J: !͢:d::d!s~B#1!P!J߇o~,foɷp:BB Apple ][ CP/M 56K Ver. 2.20B (C) 1980 Microsoft ;ۯ2>EE??++B#1!P!J߇o~,foɷp;ۯ2:޷;ۯ2e ]~6(*} *:޽ y(3:޷s:2G<2x/a2:oa":޷zޯ2{![:޷ <2:>sɯ2>!>2!;:*     1>2>2*"?ۯ2:08 !"Y"BT"->2:8Y"/:8Y"F~!xq!;`~0,~!M;!x~>.~8[q>:޷ 2y2!!{o!:=8 ~y!3w.y2Cɯ2>!w#w#wOa."y .:g"*"!~((5:# :*޽ :޼ $| 8g,"ޯ2!"_!ޅoN!޷((+! ~O#O:x >2ޯ2:޷*(*D*:wk*(:$_"~28 ?@wx( !;!܅ony 2$8!2E!y>>?22!ɯog"$2E!.B...X&*}(8.|8&"$պ`~(,qy2E[22G: 2:O*:P!O#~#'۹~y/:02?"2O: K*:*(0**:8'(*:08* *: 8(*7!w˹#~(=5:!( +_ywɷ+ͱ*:]lc_O{- OMG!~_ :( 6>83! ~èCfuÇKmVÉÎÓãݯ`iޓښ:ޓڦJޓڲZޓھjޓzޓߊ / !~ `66= !; !{g1:Q!͢گ22>2!"2!"͎>2DU-V75 COM.CRCK COM  FILES COM DU-V75 DOC# SD-43 COMDU/MAP2 DOC DIR3 COM FLS COMA, no sector read. 26 Use G command following F, or R or S following T ~;] fyZ BK y;y#Z `i} , , :A~ }, }, {ʱ#}‘F:H1 ~ ~>.{#}1 ͿF{|Ϳ{|2212>2!"F:˜ ~ ;#2+ʫ - =ʃ#?uACʸ DF G HLfMNʨPQʹRl S T UViW XZ/ʿ26 ?26 +++ Out of memory +++ 6 Disk Informat ~ *#"!~~N_#~N:BW#eC *+"|"!:!!>2:ʚ!26 ++NO "<" SAVE COMMAND ISSUED ~#ɯ2F!W6 a 4G~ x1F$POÁl~ ;#AOy2:ʥ|^#V#"!~#fo=*H`*|2g *"!"*#DMBK:=*H*`ion: Tracks: *# 6 Sec/trk: * 6 Grpsize: :{:G*}b( 2*`*Hg !~#":͙ {z!F~~Ҥ ҫ ʫ ʫ ʫ~ î,}( *`*Hz6 ++EOF++ Ϳa :R26 ++Can't dumpDU.COM ver 7.5 1/23/81*." |2*""""<"D""\""""S:p"Å*.""6 DISK UTILITY ver 7.5 Universal Version Type ? for help Type X to exit ]!~GW##> !W2 >INDEX COM>?@FMAP COM ABUCAT COMCD( ! x: : ͙ {:BK >-*#}R|wFʂzk{E ͊: ͊Ϳ* , |~> œ>(~ , #>., ~ ~> >)6 ++FREE++ :2ʿ>:, ~#~;  W T( SD Gʼ  *ڤH>2a z*`2g W ****+:G}2:GŒ "*2:2-« o&" ͙ *ڤ"2 H`2W bk:)= :o*E/.i^]zlYťC*rjX_@q5ar KoJi VLI&oJi6/6q4} RhfP+o VEC\,x!w>f5 Kq5=K;+.=PoHoRB}|% KKrUQY}s}>>gޗ [ D> < save current sector into mem. buff. > restore saved sector ? give help A[ff,tt] ASCII dump (Type any char. to continue) C Change: CHaddr,byte,byte... (hex) or CAaddr,data... (Ascii) Allowed for  "#y * ~ ;#~ ;,- "͙ { yZ *. ~ ;:y 26 ++Can't read - not positioned Position by: Track then Sector, or Group >< >>: x y  mple: g0 +;d;z#20;/ would step in, dump, sleep 2 sec, and repeat until control-c typed. All "nn" usage except "/", "T", and "S" are HEX. Use #nn for decimal. See DU.DOC for complete examples. y#x}/o|/gctor may be invalid++ :O26 ++CANNOT WRITE UNLESS READ ISSUED s26 ++WRITE failed++ 6 Operands in brackets [...] are optional Numeric values: 'n' are decimal, 'x' hex +[n] step in [n] sectors; -[n] step out [n] se ** #>2\y y \D2|~.ʡ ʢ ;ʢ #y ~ ;#.#> ¢ ~ ; ͙ z( z *`*Ha ~ ; ͙ z*+| (Type any char. to continue) N New disk P Toggle printer switch Q Quiet mode (no msgs) R Read current sector Snn Sector nn Tnn Track nn Unn Set User nn for Find command (CP/M-2 only) V[nn] View [nn] ASCII sectors imbedded hex. or CHfrom-thru,byte e.g. ch0-7f,e5 or CAfrom-thru,byte D[ff,tt] Dump (hex+ASCII) Fn.t Find file Gnn CP/M Allocation Group nn H[ff,tt] hex dump L Log in drive Lx Log in drive x M[nn] Map [from group nn]  0   | {0> >*F~N Q #~7 #͙ zo {o ƀ_ɯ26 ++BAD DISPLACEMENT (NOT 0-7F) ~# ~ ;,->#0: AG0))))oâ #~ ;,-#0:0bk))#ɷ|g}o  }o|gBKx-!: T]x: 0:OÅ*.:^#"^#"~#2~#2^#"^#"^"!~:w* ""wctors # print disk parameters for curr drive. =xxx search for ASCII xxx from curr sector. Caution: upper/lower case matters. Use for hex: To find "IN 0" use: =<0> or "(tab)H,0(CR)(LF)" use: =<9>H,0:: >,6 T=* 6 , S=* 6 , PS=* Ϳ~#Z #- Z #BK ,H. A~ ; ~  W Write current sector X Exit program Z[nn] Sleep [nn tenths] /[nn] Repeat [nn (decimal) times] (Type any char. to continue) Cancel a function with C or Ctl-C. Suspend output with S or Ctl-S. Separate commands with ";". Exa  :y >2, ,:<2:8*ڤ"BK*"*`iҀ:š+Ú* :g:š&i"DMɯ26 ++not within tracks 0-* 6 ++ >226 ++READ failed, se)o|g 6 :!WOʲ Ubbʚ| w#K+>*w> !Wɯʲ+yv~͇͇}  $6 Ϳ!W~ #ä>^>U > > `_O > :4 CRCK.COM 4.2 10/6/80!9" 1 d:] Lͧ++NO FILE NAME SPECIFIED++ $WCRCK ver 4.2 CTL-S pauses, CTL-C aborts :m2F~ïCRCKLIST$$$ ͖ ͖ Ăy0 4**}|$!"*{z**"  the "Z" (sleep) command. USE: Any valid command string may be placed as an operand of the original DU command, i.e.: A>DU G0;D;G2;=OK<1A>;D Functions supported: Tnn Seek to track nn (no read) Snn Position to sector nn, and re!~/#DELETE? z_Y*w#-" DaD>2>-!"<:[f͹\U*}u|ʃ"nf:* 0 6)U$6)!* ~ $͌$kb))))_y¥$BK{͙$6)!6!?6!$""?80**{%#z:@d~:++FILE READ ERROR++$*|):o<|g}o"I R0k~k#~X> k> _:F{Ͳ2h2|:!\ /:\2!\ /\!\ /\!\ /\<7=Ɓo& In fact, in al- most all cases, no changes to the source file should be necessary to get DU up and running. This is because DU uses the disk paramter block of CP/M to determine the characteristics of the disk environment. (see the dis- clZ/$B],ѥ],!],!JbǤxձcKU]ǭDFt>n'.]]z$qHi\z!;*}<6y4.}COI%q+0O58J lvu6c-:cqaxyC>'o@^.a8`/=Pa84  DISK FULL: CRCFILE$!"**#"ɯ22! "!"<~ f  NO DIR SPACE: CRCFILE$1 ͊F:ʤ:++FILE NOT FOUND++$:F<*}¸">Ͳ¬<  CANNOT CLOSE CRCFILE$CRCKLISTCRCR[y!w %q+0nBs鿯i>6Αfw} N$dKs}0}<%Fr6?xV?.$*g4^zg,ͪKoY\,M?g |VuECIU.7@*E>KdzJѥy[7Rti~v8]A͗dzJѥ}<]MM>U.)u]z$*EXU7 }<]D_~)aT͏)WaJm:;yU7:;. }V$.aWܥ7R[=w}V7.ꋰ)WܥC~w<]z0+.oqsYS.Jm+!Jb?\sszVu]zC3ΕٶFszC~ƹR[=5!qVϾ-h.[w /] /2h2|2((~$#~# x/ :F”*}T">ͲH<Œ uÌ CANNOT CLOSE CRCFILE$ͧ ++ABORTED++$ * aimer for certain non-standard versions of CP/M 1.4). The only parameter that should need to be changed will be the clock speed flag at 103H. Leave this byte zero if you have a 2 mhz clock. Patch it non-zero for 4 mhz. This is only needed for!9"-1-L# x >2!,""?6,_N2[?????????????N2[ ڑ7/0/͆͆> /> /> /:[G_!~~2 #~9/#ͨ x̳~͗#ͨ: DISK FULL: CRCFIL3 w# $!ͧ DONE$!e ~!]w/!e/W --> FILE: XXXXXXXX.XXX CRC = \<«:++OPEN FAILED++$!"!"*| @\!~2#"#÷ :@> k DU-V74.DOC by Ward Christensen with additional notes by Ron Fowler (revised 1/15/81) HOW TO USE DU ver 7.4 DISK UTILITY INSTALLATION: The 7.0 and later versions of DU are designed to be installed with a minimum of trouble.qڢǽ666{Vu]z$&|+Q/ wHa fUץ7qqH9VuDIQgUץCqț x[m.=ǽcUץ7qohkXu遒H/TnTs }܀w-Blt>ng.= ϪKo(LH!ϪKo:qU]Ǎu6F{êKq{9\*/`Jb{9"Vu]z۽4^zC{ ,&˪Ko ܄ʥx1fêKү֥,zIx鷳gUץJқ R@Gf+>NUyKm^{*xJmZX70}ͪK6.iVu]z$yo־`Uץx{X/fcUץ8XQ5$u*žK/}E`Uץ8XpE.=j]4{?aCI VLn5.=}V#ͦKad Gnn Position to group nn and read. G Shows current position V Views the current sector. (assumes ASCII data) Vnn Views nn sectors Fname print directory for file "name", then positions to it's directory sector. (Won't position under >[\,x?߆ %~\q]X>.?@bC߅ %X.j/}Co[\,xbÆ>߅x^,x?6b >-.?@X.jQb@/ ~.?4{]$o/6&\,x E_bng after T command before I had a chance to issue the S command) W Write back the current sector (N-O-T-E may not be used after an F command, as CP/M was used to find the file in the directory X Exit back to CP/M (Must press return). Ctl-or, hex only note all dump commands (D, A, H) may be optionally followed by a starting and ending address: D0,7F is the same as just D D3,5 A20,3F CHaddr,val,val,val... change hex in sector CAaddr,char string... change ASCII in sector N to: lb;g0;ch0-7f,e5;< >;w;+;/16 END ir. ch0-7f,e5 fill with e5 < save the sector >;w;+;/16 restore, write, next, repeat 16 ----This could be shortenedsummary # Prints the disk parameters M Dumps a map of the group allocations for files. Mn Shows which file is allocated to group "n". N Resets CP/M via the BDOS. This may make it possible under some implementations of CP/M to cha CP/M 2.x, but see = command below.) =string Ascii search, starting at current sector. hex may be imbedded, or used alone: To find "IN 0FEH": = Ignores bit 7 unless is used. L Re-logs in the current disk. You may pul < Saves current sector in a save buffer > Gets saved buffer. < and > may be used to move a sector to another place. / Repeats entire command. Defaults or /nn to "forever". NN may be 2 to 65535 multiple commands may be separated by "c was too easy to hit over modem lines, so I decided on 2-byte (X, CR) to exit. P Toggle printer switch on/off Z Sleep - causes the program to pause, such as to look at a dump. Z is 1 sec. Znn is nn tenths of a second on a 2 MHz 8080.OTE that may be hex imbedded in the Ascii: ca0,OK<1a> ----> Use W to write changes to disk. Note that the C command echoes the overlaid data for verification. CHaddr-addr,byte or CAaddr-addr,byte repeats a change + advan&(4i&N}Ln",S[wR[y!w遒8Ssj{ Pi\>/·s=4޷@$Nb̔~na8f~^?Mt0}|T\,xSX.j$?a/?X.jlC߿łwQ>_ E_UX.jbC߯nge the disk format (e.g., density, sides, etc) R Reads the sector currently positioned to into memory. Note R (Read) is implicit in the G, +, and - commands, but N-O-T in the S and T commands (I did it because I was tired of disk readil out a disk, put in a new, and "L" just to log it in. Lx Logs in disk 'x', such as: LB Ux Logs user 'x' for next F command. Gives '?' error if not CP/M version 2.x. D Dump sector, hex + ASCII A Dump sector, ASCII only H Dump sect;" Example: the following commands will erase the b disk directory to all E5's: lb log in b drive g0 position to dir. ch0-7f,e5 fill with e5 < save the sector >;w;+;/16 restore, write, next, repeat 16 ----This could be shortened take an amount: for example, +F steps in 15 sectors. Note also that "-" issued at the first logical sector of the disk will wrap back to the last. Further, "+" issued at the last sector will wrap forward to the first. ? Gives command ce 1 sector (if below track 2, this advances to next numerical, if 2 or >, advances based on CP/M's normal sector scrambling algorithm, i.e. so + will get the next logical sector of the file - backs up 1 logical sector Note + and - maySD 4.3 - 06feb82!9" 1  }2|  ^2p 2l 2W ^2o <2!\~P:o ?ͥ͑: ^:LM cU;/o2%pm,%pmmc}dmO8ox|ȴyȴGrq\ۦj^ K0z^.ru =\멷oM F_?zmc}pcrAKeD1vۦgT\e0||4/##dd6'zi/4߂5yU]]i66'vG=oMd@z};xmin groups 0 and 1 on a single density disk. ---------------- Sample result of "FSID.COM" command: 40 00534944 20202020 20434F4D 0000003A *.SID COM...:* 50 33343536 3738393A 00000000 00000000 *3456789:........* First line - 40 00534*q *d #{z*b î:!5^ ͏##"m *m ^#V#"m >.͈[\<2K`W5K`Wŷ m}®R!o#3v F}||\]n2^22mo8"6Gm}jDNu,e%0tcM C缏}k^êky|Ȍ]1ۇL{ۦa[F^p]x KVzumc}pm_74/~-^4n Opm:o _^* *}>d2. >FNpq#=%:| 1 Driv[ More ] $ ERRO - NO FILE on - ->Drive, user containsK in files withK freUser ADFNPRS88SD DIR>:\=!_!~2k !l !]~ > 6?#7>?2h{!\^^2x##~2[ #~2Z ##^#V"X #^#VÔ*.;^#~2[ #~2Z #^"X "^ *X #ڭW+}ʾz¨äi`:[ )="` *^ #) "t "m *{zm2:l _ ^!"\ "x || || || || || || file size in sectors-^^ || || || ^^-00 = file active || E5 = file erased ^^-displacement of line in directory sector Second line - 50 33343536 3738393A 00000000 00000000 944 20202020 20434F4D 0000003A *.SID COM...:* || ||| | || || | | || ||^----hex file name-----^ || || ^file name^ || || || || in ASCII || || extent-^^^#~))))!Z o&:Z /o*z "z *x #"x [>kͥ*\ |ʡ ě͑2j www>0å0҃yx0›:j >0¥:s ã2j å2s *x |2g&:\@ͥ2q&zx&*z [&[&̓: 2 ?:k Ggӯ% _/2K"mL{ۦ2_/+d.2_/2c!\m}Be_.tKo/\ T9mc}pcmOtt6_v^}O^*#u?^>d6'|=@K%׼MFm}·g|p^߶_%m~|`6'|8`%r?" %r?"ˇINTERPRETATION OF DIRECTORY DATA PRESENTED BY THE DU PROGRAM The following explains the format of a CP/M directory entry as shown by DU, using either the "F" (find file) command, or just doing "D" (dump) of the directory sectors, which are located "z { \^ ͻ*f *h ͦ*f *b {ozg*3456789:........* | | | | ^---allocation group numbers-------^  E5 = file erased ^^-displacement of line in directory sector Second line - 50 33343536 3738393A 00000000 00000000  42_~ͥ#ͥ&*. ]*.]442:p _ ^~^*` [&^#V#N#F_ #¤™ ) ) Nq#Nq ) ) N#F^#V_ #>2͑&M&͑ ^^::!l 4:W w!~6A!~69-*6#=&^B^!~6c!5:\@2cV&̓4:?>!\4:l ڌ>1ͥ:l 0å> ͥ> åͣ>|ͥ> G:*:^B!>p#"=2x_:^{ ::<C SD 4.2 - 10/25/81 !9"b1b }2%  222̀2!\~R:.͕ͨ^#~))))!o&:/o*#"#*!#"!͇>k͕*| ċ́:\@͕͗j>:͐2ͣͣͣ>0Õ0үåx0:>0•:Ó2Õ2*!|2Ͳ:\@͕͗ͲjͲ)>15>@2G>)15ç"#(l'ͷ**͞)!2"ͫ'-L3#ͷ&"x0e5G)͍'ͫ'ͷ**͞)b)~F9#^#V##!2)))U~,L3G~`2<2<#~2<~?>?2h!\^͗A##~2#~2##^#V"#^#V]*.;^#~2#~2#^""*#vW+}ʇzqmi`:ʗ)=’" *#)d""*{z/͗:_ !""!"#\<8=! o~} o:#+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r*#͇Ͳ͇Ͳ :8͗8:!4Қ:w!~6S:\@2Ͳ :m>!\4m: |>1͕: 0Õ> ͕> Õ͓>|͕> ͟O*. ~͕#¨͕ò*. *.mm͗:_ T#=2<#^#V#^#V#"<^#V"<:<~#*<!:<@ʏ#"<*<#w"<*<~ʫ#¶#,L3;+"<*<+" A**,** {ozgÐ** #{z* p!d"l*+"|*> ##!a{   `OE!y6$ -7rBo&))T])))!y!>15:<15>{15Y/e56!'":}15Y/!:&1515\0!:</"͞) :<@"ͧ*͞)Z!:<>L">15W52c@W7|mo\{ tu?* ͇ò^#V#N#F_ #*b) ) Nq#Nqb) ) N#F^#V_ #ŚͲͲ́ ̀*b*. >FNpq#=Š:% 1bmDRIV ERRO NO FILE ON - Drive, user containsK in files withK freUser ADbuilder - Version %s by Richard Greenlaw 251 Colony Ct. Gahanna, Ohio 43230 Accepts redirection and pipes. Omit other parameters for help and prompt Parameters are from command line or (singly) from console input. Drive names and -options are passe{`in}%! ! s#r! 6#6! s! s! s͐n}-O! ^#Vr+s! 4͐n}0_! 4͐n&Ͷ}|! ͹!! s#r! ^#Vr+sn`is{.! ͹! s#r! 4! ^#Vr+sn`is`in&ͼ}DU/X8OACʇSʸ͐~#fo|/ͩ!R!]͵w}E\!is#r\w#w\\͸tempin.$$$tempin.$$$tempout.$$$ ͐?!^ !K !;9%s %s is bad afn %s %s not found - ignored  ~Ñ!9DMw}ʼ * y `is{ ¹ * y `is !| `is{  `in} ! `in}  `i6 w} ! !|!͐͐s#r͐##6#6͐~#fo8æ!9DM͐R!͐~#fo5oé!9DM͐Ҋ!ç͐##~#fo£!ç͐##~#fo`is#r͐͐͐~#fof͐!ç͐+?`is#!! ~#fo͐)~#fo# *! ~#fo͐)~#fo# #|x! ~#fo͐)~#fo#!!*#4w}͐! s#r͐͐ ~#fo! ~#fo͐)! ~#fo͐#)~#fos#r! ^#Vr+sÒ͐ ^#Vr+s`i^#Vr+s*^#Vrd thru. Ambiguous file names are expanded. CR or EOF to stop. *Q ì^u~!9DM͐?n}-| ͐?#n}: ͐?##n} ͐?!G E > ͐?`iH #|¶ ͐?!K !K > !* w#w!!N ͐*| `i!N `i!N !) s!) n}  n&!͐+++|1! n&!͐++++|i! n} V! !! n&!͐##^#Vr+szʚ͐^#Vr+s! ns&!͐͐~#fo!͐##6#6͐͐s#r͐^#Vr+s! ns&+++|!ÿ͐##^#Vr+sz>͐^#Vr+sn&ÿ!͐͐~#fo`is#r!{͐##^#Vr+sÿ͐##͐?+s#r͐͐s#r͐^#Vr+sn&ÿ!9 ~!9DM͐+|! n&͐++|! `in& !9# uÑ~!9DMw}ʑ ! n} P *!  *! n& #|{ ! !  w&|g}o|‘ ! |ʱ ! +++|±  ! n} ! ! ! n&! File output error; disk full? r͐##~#fo|ʀ!͐͐͐i͐##~#fo͐s#r͐~#fo͐s#r!!͐~#folç͐##6#6͐͐s#r!ç!9ÿûeÔ!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is+s+͐ ͐s#r! ~#fo͐ ~#fo)w#w9! ^#Vr+s`i^#Vr+s]!9Can't open %s .! ~#fo͐)~#fo#n}* ! ~#fo͐)~#fo# #|! ~#fo͐)! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 G! 6G! 6! ~#fo! n&! ^#Vr+s~#fo! ͳѯgs#r0! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s0! n}! 6#6! ^#Vr+s~#fo! s#r͐n}0͐|0! ^#V19', etc. The important thing was that each started with a '-' which meant it would sort to the top of the sorted listing. Eventually, I wrote 'FMAP' which creates a sorted directory listing, but also, if 'FMAP *.* F' is typed, writes 'NAMES.SUB' tP9yQCKFy mN^Ԑ2ko>nsvիʈLKzi/㬑2"޶}9R!^?%0CN|\ݶ}پȴ@ľn׼"CmoۏϬy|`%m6v DY^>pm'Dpqz5/Cy Q|9ȴmv?DE 4/!OFdK .| m'7s!&\͐ ͐͐ ͉͐;`is͐ ͐͐ )͐;`in&#&\!9!9DM! n&0ͯڐ! n&9ͯÚe!9DM`iw#w͐~#fon&͗}͐ ?͐^#Vr+snѯg`is#rè͐!9/!' listings with the printer on. Next I wrote a command called 'MAP' which printed the disk extent information also (but not any extent past the first). Then I wrote 'SMAP' which produces a sorted directory listing. This made finding files in the li7:,*:*" }|2q S I :qwD ! {w7*!9& 6C#6O#6M” *|ª !\&ü !\&*|¼ !!l&!~#fo > + #~ ## a{ !p !!r+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}‡! ^#Vr+s!҇! ^#Vr+s! n}~!0Á! sL͐! ^#Vr+sns{ʰ! ^#Vr+sÇ! n}! ^#Vr+s!! ^#Vr+s6 ú! ^#Vr+s`ins ! ^#706msڮݝ~|Pjj^;僚%PSߩ^22WmPssu Dvw%#^}_ƗˇL{ }GN[5Km>%:D]ݶ9|Bŷ`W@뎳VoXRd.ް4o>uWo/?%5Ku|{߶9|Bd"Ӽ^眝 K n{ם3oXR6O{ݏ,^~\o/"˗ \]A/di^;,_.޶}B|j#˗ \]Vhd.jDm| K{ Okxт,%߿_E mv?}u%#^c?ȴ?d>GN!˷/֛*{ۆiQضidQZnN;,j8BI)2P]"J QS89DM! n&|$! n&)! n&!9DM! n&aͯZ! n&zͯ7*~# e e+*&!7:O*o`  !\&!7*!&*!&!, !\&!TELkstings easier. At this time I also adopted the convention of editing a 'dummy' file on each disk, called '-DISK.nnn' where nnn is the disk's serial number. Later I changed the word 'DISK' to any more meaningful name, such as '-WORK.023' or '-CBIOS.0*w#!:**!*!ѷ! , FNxg>Goyn!$O#6M” *|ª !\&ü !\&*|¼ !!l&!~#fo > + #~ ## a{ !p !!Vr+s`ins͐6!9%!9DM! ^#Vr+sn`is{z`in} [͐! "͐`in&"#|w!À-!À!9Ï !9DM͐n}ʹ! ^#Vr+sn&͌×û!9DM͐͐ ͐^#Vr+s͐ ͐0͐ CP/M DISK CATALOGING SYSTEM FOR COMPUTER HOBBYISTS BY WARD CHRISTENSEN -----OVERVIEW----- I have always wanted to be able to keep track of where files are on my CP/M diskettes. The first step was to make a 'DIR~#"*s*u/#"u*+"7,2q*&:q):m=m=r:qo&~Ô17*x\!*{#7*|DM**><~# x ><~+ x|} J!7e uÑ7*^#V#z+V+^+'* !E!Broken pipe 7:)~:,"s!"u*|ʩ**s®! ~©6*u*+"*"*u#"uu7:)~:,"s!"u*|*u/*o disk with the names of all the files on the disk. This file of names then got me thinking about having a master file of names, or a 'master catalog'. That is what I did. I now have 1 disk file which contains the file names and disk names for evike 'DIR' except that there is a second filename.type - namely the disk's name and serial. N-O-T-E that UCAT deletes the leading '-' when it places a disk name in the directory. Therefore you don't use the '-' when asking for a particular disk. to see the listing, type: FMAP A: F (USE THIS WITH THE FMAP ON THIS DISK) Which will write the file, but also print the sorted directory listing. 5) Type: UCAT This will merge the file names in 'NAMES.SUB' (created by FMAP) with all directory entries regardless of the User area in which they are located. CAT will list the user area next to the directory name so that you have an accurate listing of the file locations. -----INSTALLING THE CATAL whenever you want, as the entries for the disk are deleted from MAST.CAT and the new ones added. This means the cataloging system properly keeps track of erased files also (i.e. erases them from the catalog when it no longer finds them on the disk bennn' on each disk. The UCAT routine then takes this as the name of the disk. 3) Put the following files on this master disk: MAST.CAT FMAP.COM UCAT.COM CAT.COM -anyname.nnn 4) Type: FMAP Aery pertinent file I have. I also wrote a command which behaves like 'DIR' but scans the master catalog. -----PROGRAMS----- UCAT2.HEX/COM Maintains 'MAST.CAT' CAT2.HEX/COM Allows 'DIR' search of 'MAST.CAT' FMAP2.HEX/COM Cy in the directory. nnn should be the disk's unique serial number. The easiest way to place an entry in the directory, with 0 data as- sociated with it is to 'SAVE 0 -anyname.nnn'. This will leave the entry in the directory, but will not take any dathe names in MAST.CAT. It will report the names of any files which are added to, or deleted from, the catalog. -----USING THE CATALOGING SYSTEM----- 1) Whenever you put a new diskette into service you must place a '-anyname.nnn' entrOGING SYSTEM----- 1) Create an empty file named 'MAST.CAT'. Now edit 'MAST.CAT' in order to place entries in it for the file names you don't want to be placed in the catalog. The format of the 'empty' MAST.CAT is simply a list of names which ing cataloged). If you want to re-catalog the 'A' disk, type: FMAP A: Q then type: UCAT 3) Use the 'CAT' command to scan the catalog as you use 'DIR' to scan the directory of the current disk. The operands of 'CAT' are just l: Q (FMAP ON THIS DISK DOES NOT ACCEPT THIS) This will creates NAMES.SUB, which has the names of the files on this disk. The 'q' means to write the file to disk 'quietly'. If you SYSTEM: - System going down in one half hour, at 05:00 EDT want reates a file of the names on a diskette as input to 'UCAT2.COM' along with 'MAST.CAT' NOTE: These versions of UCAT, FMAP & CAT will only work with CP/M ver 2.x. They differ from the earlier versions in that they reportta space. 2) Assuming the disk with the catalog programs is on drive a, whenever you want to catalog the disk on drive b, type: FMAP B: Q then type: UCAT This results in the disk being added to the catalog. This can be doneme is preceeded by a '('. The last is followed by ')'. Example: (ASM.COM PIP.COM STAT.COM) 2) Pick a disk which will contain the master catalog 'MAST.CAT'. You m-u-s-t serial number (3 digits) all your diskettes, placing a file '-anyname.you don't want put in the catalog. This may be 1 or more file names. It cannot be zero names. If you want everything cataloged, put a name such as 'DUMMY.FIL' in the catalog. The format is as follows: Each name is on a separate line. The first naExamples of 'CAT' command requests: CAT lists entire catalog CAT *.* *.002 lists entries for disk 002 CAT *.asm lists all asm files CAT A*.* lists all files starting with 'A' CAT *.BAS WORK.+: ~u##@?;~#. ;~# ,; 7> #~#?( *( [8 >?+> u[?@:?0$-7a{ 6fntutuV ^ F(< FILE NOT FOUNFtu>><  OUT OF DIRECTORY SPAC DO=W-w_L~i&73&7B= m6)!8B? Q u)!\?i/YeϟzF9 6 `֞({3Tݸ޼Zz\ղB=Ca. @WSϪ۽Zz@-}Fׅz@-r ~SHA\PH$6]{O= m PH^{O= mCAT you do so by erasing the file from the diskette it is on, then cataloging that disk. If you crash a disk and want to erase all it's entries from the catalog, you have to edit a dummy 'NAMES.SUB' with just the disk name in it, then execute 'UCAT' {_>{_>{OɅo$}|~zyxBK#~ Ef n> %!z/>>COM.BAS.INT.REL.BIN>fn~ M~ G~7V^rs~wV ^=( >%5 rs~#tu(BAK REN MAST.BAK=MAST.CAT REN MAST.CAT=NEW.CAT Thus, there are 3 versions of the catalog on your disk at one time: MAST.BAK, MAST.CAT, AND NEW.CAT, so if your disk is low on space, you may sacrifice this integrity, and manually ERA* lists all 'BAS' files on any disk with name 'WORK' (any serial) Note that what you type following the CAT command appears as the title of the resultant listing. This is particularly useful for keeping hard copy listi>1$XŪr) ֯f[?O|Fgb#L?zR 31gXgbVK ]fb"tʝqgb6LE9M*SϸLE9Q*;ϸZԟӴ2L,s9L j%WXsUqm cWuQSt1B5[OL? l]which will be faked into thinking you are cataloging an empty disk. This will cause all entries for the disk to be erased. EXAMPLE: Suppose disk '-WORK.023' crashed, and you want to delete all references to it from MAST.CAT. (you m ~7 FATAL DISK READ ERROfn~ ~ Iw#tufnV^R)>%Drsf n>> >%fn FATAL DISK WRITE ERRO~ OG (>#V^*(q#IV ^>< CAN'T CLOSE FIL!V4#~ MAST.BAK before running UCAT. ------------------------------------------------- OK ne time: MAST.BAK, MAST.CAT, AND NEW.CAT, so if your disk is low on space, you may sacrifice this integrity, and manually ERAngs of your catalog, such as by typing: CAT *.* *.* AS OF 02/17/78 this will result in the title: FILES: *.* *.* AS OF 12/17/77 appearing on each page of the catalog listing. 4) If you want to erase something from MAST.1!)"*&#"&ͽx:• *# w# w# wc ͭ!8 G͙(O#:#* ͣ((O (\(6(O 8.(&0#~<%6#6 ~#> ,> (>$O> O>O>O>32*"!":~#>> >_>------------- N O T E ------------------------------------------------- The UCAT program creates a file 'NEW.CAT', and ONLY when the update appears to be successful, does it do the following functions internally: ERA MAST.ight first want to do 'CAT *.* *.023 to see what was lost). Edit NAMES.SUB and place the following single line in it: -WORK.023 then run UCAT. This will result in all files referring to -WORK.023 being erased. ------------------------------------isk Housekeeping Program COMMAND ACTION ------- ------------------------------ Q REBOOT CPM X DELETE THE FILE C COPY THE FILE TO THE OTHER DISK B BACK UP ONE FILE any other ON TO NEXT FILE >2f!\"n!"l> 2q!|"y!"wU.ϫ^ }|\Ҭ@_64 .=PRU/㫌yKyK/`*җθzIJU"/wn 7t/\.yWK˥\_zCIP9zI7ZEU/>ڋ%^nńKWJ:5W}|nWˀw% Ǘ3Yu %0sE@_vDJ/}ܺƗ KI DISTRIBUTION SYSTEM OPERATOR OF YOU PEOPLE OUT THERE HAVE Z-80'S RUNNING IN YOUR CP/M SYSTEMS. MICHAEL J. KARAS Y B!q6 ~!6 ~ copying . . !q͘>!#!ͧ :O:<2* end of directoruB; <͔;!~#:b<2b<:<2:<BèB͔ B͔^#K͔.~,~;~~?S> #s7~?ʉ s> #~*c|=\͌++READ ERROR OR EARLY EOF$!~#"c> > _ w#6?# VERIFIED ITS OPERATION ON CROMEMCO, NORTHSTAR, VECTOR MZ, AND APPLE WITH MICROSOFT Z-80 SOFTCARD. SINCE ALL DIRECTORY ACCESS IS THROUGH THE BDOS, THE USE OF THIS PROGRAM IS NOT DISK FORMAT DEPENDANT LIKE SO MANY OTHER PROG> 2!"!":\ ><:] *.* !'[n2\>>\ʂ(0!%} o~  [6#":<2=:!=2:2!   :=2 :=2   ! #: EV}|fMŲMd0%}9B8F_Xb4ņ> KgUͥ7n3p?%vqm }|r{I3l/6;)MwRVu]z$mRwHkM}|.)U]Ri.M(%ͪKoQf4^:DwX0l/=ۼ\.Vu]z$nrLdxnXm."j .=jw遒RxJZ0{Įǭl|@I )9۽~/6ilvMhIA^ܥq˻X6.[Kg4^zCZE@I#)MS6kwCO٬ݥ3l/=ǧuh x(*\zReK#] M\^:%j CLEAN IS A CP/M DIRECTORY MAINTENCE PROGRAM THAT ALLOWS THE FUNCTIONS OF SELECTIVE FILE DELETION, COPYING TO ANOTHER DISK (SUPPORTS TWO DRIVES ONLY), AND INSPECTION OF CONTENTS OF DIRECTORY. ALL FUNCTIONS ARE DOCUMENTED IN A "FRONT END" MENU AND ARE ͌ $!~#:b<2b<:<2:<BèB͔ B͔^#MAST CAT NAME DISK U NAME DISK U $............ ............ . FILES:RAMS OF ITS TYPE. I HAVE PUT THIS PROGRAM ON THIS SYSTEM NOT BECAUSE I AM TRYING TO THE Z-80, BUT BECAUSE I KNOW THAT SO MANY OF YOU PEOPLE OUT THERE HAVE Z-80'S RUNNING IN YOUR CP/M SYSTEMS. MICHAEL J. KARAS MPTY DIRECTOR !2" uQBT:=2 < ] "!\[y X D͍[y> delete:(=2:=2! = DM*"ECE!\[ [/͍[><( replace?uCAT.COM 01/12/81 $ !9">1>]!@m!KV!] !aG6$\<—͌++UNABLE TO OPEN MAST.CAT$ *>͔)—͔͔í>  e >2 =ʒ!@K<K<!KK<KNY BAD EXPERIENCES WITH USING IT. ====> N O T E : THIS PROGRAM IS DESIGNED AROUND THE EXPANDED CAPABILITIES OF THE Z-80 INSTRUCTION SET. IT DOES NOT WORK WITH 8080 OR 8085 CPU'S. I HAVE SIMPLE SINGLE KEY STROKE COMMANDS. SEQUENCING THROUGH THE DIRECTORY IS DONE IN ALPHABETICAL ORDER IN A SINGLE COLUMN FORMAT. THIS PROGRAM DOES ALL OF ITS DIRECTORY ACCESSES THROUGH THE BDOS PART OF CP/M. THE PROGRAM DOES WORK WELL AND I HAVE NOT HAD A(dummy.fil) -CPM/DOM.000,CPM/DOM.000;0 40$IN.PAT,CPM/DOM.000;0 40$OUT.PAT,CPM/DOM.000;0 APBOOT2.ASM,CPM/DOM.000;0 APHAYES.ASM,CPM/DOM.000;0 APMODEM.COM,CPM/DOM.000;0 APMODEM.DOC,CPM/DOM.000;0 APPLHALT.ASM,CPM/DOM.000;0 APXMODEM.COM,CPM/DOM.000;0 med on the 8080, appears in the figure. CRC divides a message M(x) of any length by a generating polynomial P(x) to form a quotient Q(x) and a remainder R(x): M(x)/P(x)=Q(x)+R(x). R(x) is appended to the message and checked at the r\0!l\ ͱ\!`\ ͱ\<7=Ɓo&m ͱ] ͱ2h2|2_y 2]Û ڛ:]<2]:^P̧~#±/ ++ABORTED++*2h2|:_ !\` ͱ:\2l}DBU/@/фMQ;!KU/@ING:zIom^JoyW/>tCoryK$nr,Ϋ^xC/xKy9Tzë^}ˡU/iˡY4Do*gUץxyKzCo9*xK/`Jֹ]}EU/>޶]:zICsi~^n(̥Yu>޶`.ϻzIC\,tCCA Communications and magnetic-storage controllers often use cyclic redundancy checking (CRC) to enhance data-transmission accuracy; this method's popularity is due, in part, to its easy implementa- tion with shift registers and exclusive-OR gatLIST A .COM FILE++8JO+~BO+~OO/++CAN'T LIST AN .OBJ FILE++8:fQ/NOTE: If this file doesn't print correctly, try TYPESQ. Most files with "Q" as 2nd char. of filetype are squeezed. .8I%%ʺ/ ++APXMODEM.DOC,CPM/DOM.000;0 CAT.COM,CPM/DOM.000;0 CATALOG.DOC,CPM/DOM.000;0 CLEAN.COM,CPM/DOM.000;0 CLEAN.DOC,CPM/DOM.000;0 FMAP.COM,CPM/DOM.000;0 INDEX.ASM,CPM/DOM.000;0 INDEX.COM,CPM/DOM.000;0 INDEX.DOC,CPM/DOM.000;0 MAST.CAT,CPM/DOM.000;0 MLISTkUF_qP@W E/`JbPY?/`3`O՜q)&0_4qeo/t%Lܥ8&&<͠@/L Dz.iF_4_:0}܀\z \_4q:7>nmRǔʹKo(eϪKq._j+/.=ǭs SP's~NvPi\}.ΑfZ'7Αfw,Z'qchK7\:0}&KΗǭl|@I )+۽oPi\ͷsj6{81j2G뒆[\70]>N+{yu/r(X9E_v*MK\vu6ooI53ȗ'|a/t>Pq?.$^kUVu]zC_MLIST.COM ver 5.0 07/07/81!9"1*"")""/MLIST ver 5.0 - Multiple file lister CTL-S pauses, CTL-X skips to next file, CTL-C aborts:m2^:] 8/Usage: MLIST [drive:] [P] < > = required, [ ] = optional, Pes (EDN, Sept 5, 1978, pgs 119-123). Many software methods can emulate this hardware mechanization. The more natural software method discussed here directly executes the division of a message by a generating polynomial. An example, programSKIPPING TO NEXT FILE++8B~I#~3B> I> ʣO i> I:]Yã } ʛ } £y 2]Û ڛ:]<2]:^P̧~#±/ ++ABORTED++*2h2|:_ !\` ͱ:\2l50.COM,CPM/DOM.000;0 NOLF.PAT,CPM/DOM.000;0 STDKEYBD.PAT,CPM/DOM.000;0 THOUGHT.,CPM/DOM.000;0 UCAT.COM,CPM/DOM.000;0 [[0]].LFT,CPM/DOM.000;0  From "EDN" magazine, June 5, 1979, page 84 ------------------------------------------ 8080 ROUTINE GENERATES CRC CHARACTER by Fred Gutman California Microwave, Inc., Sunnyvale, +rinter Ambiguous file nam@ayÛ*'*)}|ڄ!")*'{zv*%p*)")B*)"'!")*%*'}>*)#")ɯ22$!@"'")<  NO DISKIN FILE$!g~#xM+~OO+~CO/++CAN'T = printer Ambiguous file names may be used.12]p:_e/++FILE NOT FOUND++/DONE:mʣ/++FILE NOT FOR DISTRIBUTION, SORRY++8:vʮx!]ͱ!eͱ/ --> LISTING FILE: XXXXXXXX.XXX ~# !\ eceiving end of the communication channel or upon read- back of magnetic-storage information. In these operations, addition and division are based on the exclusive-OR function without carry; only bit-by-bit differences are important, not X {/OPTIONS} {DRIVE:}{FILENAME}{.}{FILETYPE} where all of the parameters in the braces are optional. Wild card characters (* and ?) can be included in the file name designations. The following example commands, and their results, illustrate the wild END 100H An 8080 routine for generating a cyclic-redundancy-check character leaves that character in location REM. END  TABLE POLYNOMIAL MASK HEX FORM CR16: x16+x15+x2+1 H=128 8005 SDLC: x16+x12+x5+1 H=128 1021 CCITT: x16+x15+x10+x6+x5+1 H=128 Denver, Colorado 80227 Copyright (C) 1981 INDEX is a CP/M (R) utility program combining the features of DIR and STAT. It provides an alphabetical listing of the disk directory, spaced in columns across the sc H ;2 X R(X) 012A 3A1F01 LDA MESS ;MESSAGE BIT IN LSB 012D 85 ADD L 012E 6F MOV L,A 012F F1 POP PSW 0130 CA3B01 JZ $+11 ;IF Q-BIT IS ZERO 0133 7C QB MOV A,H 0134 E their arithmetic sum. Thus, while this process resembles nonrestoring binary division, its mechanization is somewhat simpler. Note that you don't have to store the quotient - the remainder is the only useful part. This versatile metho@+kd6C{׼r2|FȌ]9S^UFd6C^UFdK w[\<2W@EmOȽ|E&2%{"ȴ@uE+2io }BuG 2_L{ ^w|E&2%{q Dm3 ylUeDr;gdTȴ@v̧ˈL{fr)x|\]9\>dK G#RL'dddK WΈ,W22fzzCy t]!/-2KwˇmO\d#3v tm|oqȌ]ו3KKL{fn)\>p%UtKE#3v tտ^>dm>mܶ!^c?/^>d.#KFm3 >||ȴ32i/12"޶Qo6v zKd\>dG;mOUmd^>K`?V 8461 x16+x15+x13+x7+x4+x2+x+1 H=128 A097 HDLC: x14+x2+x+1 H=128 4007 x8+x7+x2+1 L=128 0185 CR12: x12+x11+x3+x2+x+1 H=8 180F BCC: x8+1 reen, and may include the file size for each entry. The total number of files, the total number of directory entries used, the disk space used, and the disk space remaining is also reported. The general form of the command is INDEE10 XRI 10H ;MS HALF OF GEN. POLY 0136 67 MOV H,A 0137 7D MOV A,L 0138 EE21 XRI 21H ;LS HALF 013A 6F MOV L,A 013B 222001 SHLD REM 013E C9 RET 013F d accepts different generating polynomials (table); you simply insert them into the routine in the figure. In each case, an R-bit remainder is left in location REM for transmission or checking. (R is the order of the generating polynomial.) INDEX PROGRAM Version 3.0 by F. J. Greeb 1915 S. Cape Way MESS DS 1 0120 0000 REM DW 0 0122 DIVP LHLD REM ;REMAINDER 0125 7C MOV A,H 0126 E680 ANI 128 ;Q-BIT MASK SEE TABLE 0128 F5 PUSH PSW ;SAVE STATUS 0129 29 DAD L=128 0101 CR16 REVERSE: x15+x14+x+1 H=128 4003 CCIT REVERSE: x16+x11+x4+1 H=128 0811 x8+x7+x5+x4+1 L=128 01B1 FIGURE 011F character capability of the program. INDEX Directory of all files on current drive INDEX B: Directory of all files on drive B INDEX *.COM Directory of all COM files on drive B fault value. See the note below concerning this option. /V Reports the version number for the INDEX program you are using. Please include this version number when rted. This mode is useful for large directories, since more columns will fit on the screen. /Wn Set the output width to n, where n is a number in the range of 32 to the directory search. Use this option if you change disks without doing a Control C. /P Directs the output to the printer rather than to the console. e, INDEX /B/M will modify the program so that the brief mode is the normal state. Including the /B command will then cause the expanded output form to be used. /Tk name file with a dash as the first character, the disk name may be used as the title by using a /T- option. This form of the title option causes the INDEX program to read the disk name INDEX A??.* Directory of all three letter or less file names begining with the letter A on the current drive INDEX B:A*.* Directory of all files on dri The number of columns is automatically adjusted to fit the width you specify. /S Include system files in the directory listing (CP/M Version 2 only). System files are 255. This command can be used to adjust the program for screens smaller than the nominal value of 80, or to set the width to a larger number for directories sent to the printer. /F Outputs a form feed character (Control L) before printing the directory (console or printer). /T Allows a title to be input (immediately following the T) which will replace the-/M will cause the title to default to the disk name. If no disk name is found, the normal DRIVE A title will be used. You can not set up any other title as the de and substitute it for the normal title. /B Sets the brief mode. The size reporting for each individual file is suppressed. The total disk space used is still repove B which begin with the letter A, regardless of the file name length. OPTIONS - The options which are allowed are: /R Resets the disk system before performing normally suppressed from the directory. This option allows you to display them. /M Modify the program to reset any of the above options to the default value. For exampl title, use the underline character. The underline will be translated to a space before the title is printed. If you are using the Master Catalog Program and your disks have a dis DRIVE designator on the directory output. The maximum title length is 20 characters, and no spaces may be contained in the input title. To include spaces in the output reporting any bugs or suggested improvements to the program. /Un Lists the directory for user number n, where n is a number in the range of 0 to 15 (CP/M Version 2 onoption allows the disk space remaining to be reported correctly, without having to input a Control C after each disk change. After you have printed all of the desired directories, the program output can be restored to the console by using the coINDEX.COM program is on the default disk. If you are logged on to Drive A, and you issue the command B:INDEX /B/M to set the default to the brief mode, the program will search for a program named INDEX.COM on Drive A. If you do not have a second copy oand INDEX /R/P /F/TSYSTEM_FILES B:*.COM will reset the disk system, use a title of SYSTEM FILES, and output the directory of all COM files on drive B to the printer, with a leading form feed. A little experimentation with the options andrestore the program to its original state. For example, if you want to list a series of directories on the printer, with a leading form feed for each printout, the command INDEX /P/F/R/M can be used to set up the desired default mode. Yng that the program does not recognize. The error is ignored and all other options are still in effect. FILE ERROR DURING MODIFY - Indicates that the modify option was not completed successfully. This can occur if the file INDEX.COM is notly). /H Print a short help message on the console, which lists all of the available options. The options may be chained together by separating then with a slash, which is used as the option designatorthat it will be destroyed. The modify command performs a check for the correct version number and a partial contents comparison before allowing the modify operation to be completed, but this is not completely foolproof. The modify command asks for cof the program on Drive A, an error will be reported and no serious consequences will result. However, if there is a file named INDEX.COM on Drive A, and it is not the same as the program on Drive B, or is a completely different program, it is possible file name wild card characters will give a better understanding of their operation. Note that all inputs may be in either lower or upper case, and are translated internally to upper case only, in keeping with the CP/M format. This does not include thou can then list all of the disks, assuming you are logged on to Drive A, using the command INDEX B: The new default values eliminate the need to list the options separately for each disk that you put in the B drive. Including the reset found on the default disk, if the program and disk version numbers do not match, or if a disk write error occurs. Modify Option A word of caution if you use the Modify option. This option requires that the character. Chained options may appear in any sequence and may also include a space as a separator if desired. There must be at least one space following the last option and any drive or file designator which is included. For example, the commnfirmation before updating the program so if you input the modify option by mistake you can abort it before any harm is done. The modify command can be used to set up a default value for performance of a series of runs, and then be used again to e specified is not a valid CP/M file name. This usually means that it is too long, although other problems can cause this error message to appear. UNRECOGNIZED OPTION IGNORED - Indicates that an option has been included in the command strie titles, which may be output in upper or lower case. Error Messages There are three error messages which may be output by the program. These are: INVALID FILE NAME - Indicates that the file nammmand INDEX /P/M The /P option toggles the printer flag, and since the current default was for printer output, this returns the default to the console. Also, since the /F and /R options were not reset, they are still in effect as the def:J >02J x/Gy/O *  *H  *5  : n:R]x *C  ~# K > ͗n: h:G <=A2~ _P*3 +|g}o {#DM!ҙ ” GŒ:- ʳ)é|/g}/o#*+  :F ̓ * ̓ *7 * _}2=  ~-ʎ>2 > x ͗~ /_)> # + 3# ͞ { 2V3# ͞ {2K >?2 2 8 ;  Y 2  !:# ¾2      Operating Restrictions The program is configured in a general manner and should work with any version of CP/M, with mini-disks, 8 inch disks, or even hard disks. The program has been tested with CP/M Version 1.4 and 2.2 using both sing^#V:0  ! = N r+s*9 6* +" ! *9  6** )))))@ "1 * * "H " "= *1   —*= }+"= ʝs#r# ~* }+}"= "A *1 "? 2J *? ^#V#"? ~#fo *? ^#V++Fr+Ns##q#p2J # *= +"= }»:Jr them has not been included in the program. If you have a file of this type, the CP/M STAT command can be used to verify the file size. CP/M is a registered trademark of Digital Research. OK ault mode. Using this technique, you can set up any available options that you desire as the default mode. Note that only options preceeding the /M option in the command line will be modified. A command of the form INDEX /B/M/P will se= = * " ! "9 2G :>4 : J:>Q:G Q<=_ ́n*9  "9  ́aƀ_: ʛ:K :N©! ~*9 6# ~# µ6* #" :R! 6- >?͗͗   #~+:$~; A2 ## ʷ~*2# m÷ > ͗ ~; .m*b>?͗# ʷ~.mT# ʷA~.¬# ʷ~*ʷ > ͗ ~; *ž>?͗÷# ʷ÷   :VG<* " !:J&>,&"7 :J}!le and double density 8 inch disks, and with Version 2.2 using mini disks and hard disks. Please report any errors or bugs which are detected to the author at the address listed above, including the INDEX version number as reported by the /V option, a *A +}"= "A ±!"5 * "= !  ~*1R*= }+"= W~*G6 #6 #6 ###6K&* "= ! "? *? ~¼*= }+"= *? ^6 #V6 +++:/ OCzW{_ :. =ʡ:- ʰ)ä*5 "5 *?  "? c2J :J >0>0 <0 Þ INDEX Version 3.0, Copyright (C) 1981, F. J. Greeb 1RPFBSTW<PV6MrUSH!; ; ʀ p ###"; ^#V*; ~/w—!9"E 1  !~ʷO#~ # ʷøy$~/ # ʷ~f!# ʷ~/ ʸ3#nd a brief mode directory to the printer, but only the brief mode will be reset as the default value. Since the /P option is after the /M option, the printer will be used for this run only, rather than becoming the default mode. ƀo&"C 2R },##F#N#~#^#V@*..20 x2/ y2.  N2- #"3 f)\"+ ! "9 * }Q+*9 6+6+~ę*9  "9 rO:0 ! §*9  N#F r+s*9  6 * "= *9 *= }F+"=  <# ! V:0 <!initially writing only record 10 and record 2356), the file size reported may not be correct. Since this type of file occurs only rarely (most random files are initially created sequentially) the extra code necessary to assure correct size reporting fond as much detail about the system configuration and disk status as possible. There is one known case where file sizes may not be reported correctly. If you use the random write capability of CP/M Version 2, and write a file with holes (such as ̓ 2? *1 ##"1 ++^#V* } +" j :J7  j *7 :? <2?  ̓ :? O:= d d +) :Bu ^#u :Bʎ $_Î ~ /0:?0W{_#   a{  :B  ̓ :G _*E INVALID FILE NAME BE 3 DIGITS$^!twd!}wx*++NO '-NAME.NNN' IN NAMES.SUB ++REISSUE: UCAT -NAME.NNN$h!twp!}w4(!4w#)4 xŒ*++TOO MANY IGNORE NAMES FOR TABLE$*++NO IGNORE NAMES IN MAST.CAT$*++EOF READING F+MFˀ-Jџzp~+ˆ3^',MF܇=d W'%>4}ˆ7zϒFE܇_߷%> #ˆp5Cc}[!{$7d2`ˆ0g&ˆOR}ۂzp~f#Qo?#l>ܐ'Ke}x5d>Ke}<}-(kyZ^6܇_גtp^ ӟH>۷J6q5tpǽ^ + ;EښqIeM-;(v wB LҨ(;V/;5Sy_ %XOyRKizWd᎟"C.xg0^PI85 {/i wܟW$]6\jK w*#"ɯ22!""<ª 0 NO NAMES FILE$NEW CAT 0 NO M,N Y**}|I!"*{z;*'͠:F2> DIRECTORY ENTRIES$2ô)L#D![)T A|eB͈pò͈Ɛ'@'ù_ ~͓#¥> Ó> Ó  + Ϳ* :F*w#"|= $INVALID OPTION IGNORED $ $FILE ERROR DURING MODIFY $MODIFY FILE, CONFIRM (Y/N)? $ DIRECTORY - DRIVE $ FILES ( ENTRIES) K USED K FREE $ $V INDEX COMID FILE NAME [6\ I%l.ò>;+> > :2ò^#V#N#F #T>2N#F#^q#Vpr+s͈pò͈Ɛ'@'[[]].LFT;0NAMES SUB  + $I???????????? $ FILES ( ENTRIES) K USED K FREE $ $V INDEX COMID FILE NAME "11e1MAST CAT á*-*/}|ڊ!"/*-{z|*+ v*/"/H*/"-!"/*+*-}>*/#"/ɯ22*!"-"/ < 0 NO MASTIN FILE$NAMES SUB<++FILE MAKE ERROR$ =*^#V#"! ~Ɛ'@'w#~I!~wV#~yÒͥ)ͥ1ͥ6~y###~y#~_:M yO̲#~!4Ϳ:2*+"|!ͥ*T]*~+Ozy#:Qa!ͥ6Ϳ:o&a==========================================$\^[({uZڻ{tS[&?Vz'|B!wC?r3m-!?o{ %Pv|ݣzswXj)cm/"(>zoUPV50wl;-]S-#~U{[({3ܣzsս?Ԅ[(ѥf͹'NK-#~% %P+Zڻ{4Hۜ[WXZGi% %PFY'VP^c( >   ~ [_#K> XXXXXXXX.YYY, . XXXXXXXX.YYY,XXXXXXXX.YYY;ZXXXXXXXX.YYY,XXXXXXXX.YYY;Z$$$ .SUB)/$pf͹!u1زB -]$37\]WKci3ʴ/Wpx!qׅwۜ[,]WKcu&|BeR֞XM8BXc(:߇zGCH̹Asj)cl;(>ͩ'1ݏU/QrN(mnZGMR)@ 2MA|&O?PFYza eisw %XUc)kO~x @h8s#Bl9u16l7+m-{!C.b|宫|ďl/I(P0C?r3m-^ZGzs ew*ݣI(jȧ?>N(2؂a&3tR>؍jQr eP+P5m-IZG;,{>Jn \!0[,o9u1vXz'|BX@st6+m-,!6;#5!g ,~ -) #:ex >.p;p pxw#52e6 #p6#x>2e!͡6,#͡:;424ͯ6.#ͯ:f4 ʸ,.; w#¯422f6 #26#rۜ[(:^]k Gp3G?[s_j)cfzs eeKY{bbp܇ @hhr#ͻu1E$|Bx!y-=*Ϝ[rR>ز% %Pv^H^CK{w3G?[6rR>">Jnc)kO@zSCو?ww]>sn&RKc7b/I(2>TG-V u/w]-#~>u&|-#~-bQr e C{49宫|ďO^Qr ePz]Hnqhpj)cm/"ʠG->u1$|B\C{49b RKc% %P2\\G-nrTKcMיQr eWGGpTK8s#"K=u1J$|B0wK8s#l]WKcvCOMPUSER.MEN] o! "#$%'&()*+,.-0/123465789:<;=>?@BACD 9Pv(Ь_™6y_j)clUE$|BeR֞XFODUPV[y9QܣяA=/1>JnrXpGriާ?V[(!5hܣ띚=VrR>ء;ʀ /Cm=Hnq ?V %P7rzse宫|ďO[9P!5TG;5{@oU]WKco{ %PvuðVv&!宫|ď {>Jn{TԄϜ[,M?n:>JnBP]Mۜ[RKc&|B+]Mۜ[,/1v+$|B+0BܣzsERKcYosnJ*ݣzsշ^ZG;{ %PFY'VK쇏 |ŇWahi2f!~ >0 >   ~ [_#K> _> _w#w#€>*}›"><  CANNOT CLOSE MASTOUT$ w# ! BeR֞XN=B}5`8TGJ̹B>tR>؁lwG-UX`x!qsZZG;,{>Jnlxݣ!$|@~|ďl3(>Ēuꅠc(;z5z!d͹M 宫|ďòQr eGF/$ڡG93>/1vu&|Bѫ vx!q&m-~tR>؄Ԅ[(Bm/3y"~(>A/L/w.",(>s e-]S>sn/1vhlQBYK{]S>snq8yj)cl z'|B|=$m-?~o{>JnXC[[=ڄϜ[ܼrR>اYosnXC[[wh>sn4'qj)cBd͹2ʲ=[1܇EFHGIJKLMNOQPRSTUVWXZ[\Yw-^~jgwpB/ӶbMPFfnc?M2^!q6+3 Y?Ɩ`Qr eG- }tׅ3G?[~|ď^gG-9*`hi: Yosnq+,w]-#~-^MG-PZmVjrɫ~|ďU; 9Pv}hiѠGr{_j)cFCzs ew0_]Gp5G?[?V-jۜ[(!j8Gd͹ŧ?z'|B IFWCK{w.ݣrf͹҄~|ď^gG-/B3m-g?RKc %Pj8G$|rR>b3(>ĒRPvpZP j~$XDXZGy"Yosn졥G-)]WKcYosn `Hn1yRKc:m9PFY'CN]CK{wׅ-nԝ6 @Khr#gP宫|ďCQr eWCK{w5G?[,w]-#~b/5(>Z#f e| C{4HnXZG;΄[(A8^HܣaGr%RKcvYosnc)kOzAmc(;WC.>snrR>m7+m-ګ롥;37YZGiu&|Bو1:h~|ďߪ %P[+ C{tϜ[~ZG!۫I(28VC.-;4?nN{5 %PIp&|4RKc^[($` ݣL̹š ?n{>JnI D~$Xv/1vj>Jn j~$8H?^!:#Hg-{鮫|ĵ4F2U=Vg-&鮩?;B IF/ {4Ϝ[|~|ď {[(5^J̹ŲrR>ͲWH(2ʲ=dz!*G졥G坣-~/1j>Jnpt{T9b2XZG;,[vۜ[(c8{TB~$X/1v[(k Qir#<]WKc^ZG;YosnMΆZڻ{THnq ?nN[Bۜ[(;>LC?r&3rR>؍ثI(2ʲ=Vh"PV54]'6]WKcrۜ[(kU- 984a-w]-#~N{[(kUh"+m-zZG;>JnL30T_D pj)c% %P+0P6zsE]j)clYz'|Bn=$m-nf-w]-#~-^!v#P Ϝ[L&~|ďU^MG-ݯP j~$8>u1;Zwp?p6+5{@[]RKc%Yosn*C=Hn*>u1v9m-sC{t9X%~|ďö;F|=vۜ[ʮ^=*Se鮫|ď`3^hhkkt5G?[,ZGM[(,X+4KO퇏=j=΄Ϝ[|6rR>m/5m-Q},eK/C+-0\ѠGrDXZG[=% %PI*/Aя/16$|B٫ mm GhPs#rR>akg͹W ѵ>snq\ZG[{5 %Pv|5wKh>sny?Qr eWϜ[{j)clyۋH(Chh>snِOK-#~fe͹2ʲ=,p6c(` ؂CK{w5G?[V/1vN(++jtT`٧?n[(zɃ^鮫|ďO^! %Pڡ]'Mg-8/1vC;WҬ sC?|-w]-#~-^Qr e`V @h r#d"ZG[j>Jn 8jAXCK{w;G?[EZG[%u&|Bp C{t 98tR>rL(2~=HnVrR>؍!d͹2:T; -졥GΏ[(k Gя7Jnltq_GÙsߋ|_j)cpK>Jn[ZP[Ϝ[&NwM1v8% %PWCK{w.I(!lbj)cl^DG-i Dۜ[,dtR>AE$|B;jx!qzsUz_j)cl^DG-/宫|ďCWQr eAktd͹oU? %P =*6?nlYosn@ *ݣb|鮫|ď%+$|BeR֞X+z1U8l`t5G?[Y]WKcKcwG-Q},e퉵ԥwa eW)9tR>*+$|BYի]SPs#AU]WKcMc/1v[ά9P6k\ GYosnk_j)cl!m-qW5ɵ{49-RKc rg-[$a j~$Xf-w]-#~6Yosn" + -=Hn1.K-#~BpzGhR[|/1vc33Qat&G?[Ȳ/1N(2xTQyf(l饽G-&Nw]-#~n[ά9PF:"Ϝ[LZG;l{>Jnc)kO^z1=*ݣMHPnq ]WKc7$(> ĩ>150⓸G;m-M8/1{>JnlC{49{7?&dBd͹2ʲ=dzCYm4FQua%||k|ďv BYm?V^MG-:M3TGÙ-~ZG[[ά9Pk5 pzs/1^MG-6P j~$8鮫|ď%rf͹C90TGd͹I^ZG[z'|B١+(atɃD^ZGi% %Pv(p~^u5G?[LtR>`/"H^FA @Hnq#+zsEu1v#:>Jn -a'q6bZG[rۜ[(` 6{];m-}.w]-#~޶B=HnVOwM1v+$|B pGr%rR>gc3ʀCGrrR>؁j>Jn 8ܬ낚-Y?ƖL(W/WA @hPs#oiu.w]-#~-o{5 %PFY'K/4ʎ442*ݣSOi?ƖYosnZڻ{Sy.K-#~^MG-Z {S߁8/1*j>Jnlx j~$XtR>ء9$|BB=bNK-#~[(;x94_Z=ά98u_j)clQ% %Pv^hhidjRʴ9oN浵2%s|<ٓeʔtvf?9B:m3*xǎ|p?s~}9=gq>3IԣLCy~)oS| 2`p:eȓ<-Ӷ6&<>?&#Ӗ0gR |.^S6O rlGqob}Ӊ'SOƿ''<>!nБAnc2Os e//Hn,\ZG;fe͹~pwgяtR>!K>Jnc)kOF^1#zXv/O!NK-#~Yosn܇~ j~$8͹u1v>Jnځ"+[~ZZG[[(;zf`Hn1rR>^[(a]SPs#ŲRKc˶י6(,X ^Pvh GÙ->/1E$|B\]!KXRKc:>JnWݣ鮫|ďlwG- x4GQ YosntR>d{ %Pv^v8GWH( y-K-#~}L(; {t[.YZG[u&|Bzֻ{TBۜ[ܼe_j)cl(v-}:к_DbQ]WKc^Qr eڃ"gۜ[D?[YosnBp?pə6k_j)cnVۜ[(kw}i~=*gۜ[p_j)c`/I(vW?p_zse>^GzsE=5R>nVۜ[(kw^]9nNK-#~-BYC6ypoC$m- ?~g" 9|.wM16a/I(+H2ݙHg-&rTKc% %P;wE>snJ>5R>aL(29/я7a宫|ďerf͹2_2wh8s#"gu1vszs eҒяڬ宫|ď6ʀ+>>/" 98~|ď-gۜ[(~xi]wHg-s-w]-#~{E΃Ln?nBۜ[(,XKa ez=wwMя|_j)c찂[(k8^H/Aя>/1d͹kԡGÙ-!?V΄[(5^™->/1&l9P6k\\ ѠGrߪz_j)cm&FQZڻ{49x/K-#~}m9zsV?^[(kW:r$67rk|ď {IG-0 w6DWOw]-#~$Upw$67YZG$|BY e!6@ZG$|BY ކHۜ[4]WKc[(kW:zs:/1i/I(vݽ 9 ~|ď[(kWY"84IV~ YZG[T{IG-qڃ~_r宫|ďö9m-iG/ݽ Y%w/1Bݝя;ZG;BG-ڃ6wwMAяANK-#~,[9Pv j~$XRKc9PFY'֛8԰P. #6D⠞j)cݬ9P֮Ý΄[(,X9O=5c(kwh8s#\?~[9PF+e›,|&O?PFYza eisw[Ȳ/1+$|BeR֞XpBʪc!s?Ɩ$ʎG+P"m-Jn!LHۜ[,!ZG6(>D ֩GP_k%s#A>?&΄[(,X^ 9:j ww&Mۜ[u-w]-#~{ %PvR[ݽ i7AZG;E$|Be[q5jΙZ]=DGQ(k$M2|M:GL> N+SRs'cG %PvҺZڻ{T$3ս/1v#">JnpEGr!rR>Azs eއ;wE>snq~|ďCc/I(C~33;,K-#~$(> a1zHnq RKc^Qr ewa^%9Y?&l!g͹zGrYZGBو: {THnd_j)c@zs e#X2p$Tf7RKc7d;4Yosn ܯ8^Hܣrf(YRKcmYosn ܯz-sZG[%$|Ba5nXq5G?[|RKc䬷9P\WB j~$i~|ďUՖ3m-k8^Hu`?w٬~|ďMۜ[6p_j)clEzs e*${"Yosnq*tR>ت$U @Hۜ[,ZG[6UH*/"Yosn~|ďO[Yosn]pGEb}k|ď YYosn];pMr3m->w/1vc 6Uxj^zs}k|ďO{>Jn]5^Yosnqߧ?nN鮩?o{IG-h2/" 9X/1vP% %PZ}pQr/1vc3ʴlBG-rs_j)c^gG-W|pw,"m-nz_j)c+$|BX{uEd͹^j)clBG-]UpwoCYosna_j)c$|B]Mۜ[|]S-#~{IG-]pw|ďm&ކHg-n~|ďö$|BY?~я7깖?Ɩm7+m-#ZڻE$G?[ /1>JnΡm$|4?$F@] 98ϵu1vYYosnl ww;m-ou_j)c% %PL$3zZG;4[(_\E$3\GB:E)B? [tXܲIy|\,- /zΎ]H[`Q@׃?^o=Ogkh@\y$> @[g(GQBH8>^o0AzOq`} euz?I5oWXwoӫ{+)[|z]L;^o=Ǣ̖Uk[g"ajOa ϐo7c3A]ABDCFEGIHJKLMNPOQTSRꖉ~׎Eq}#dH,fs͛\EɊ12} XvdS֒SQeQ80Z\~A}sf=cK.!k(E r(e:AumQYMԿI YY]$p@ 8)}ļ@Ng}Ӊ'Sx2L77#S҉m=r']4MUo[D}rMuuO_gS>? [l'TgXa{,u6U~s|:*GN[zO_gS۩3u6|޺Ǣ\gSa [}֢{|[K5iz,ʅES[t! }ӅUIXzEYr#C/4\TF<浵2%왿<>sڶbnɸ'< _BO|&2LxSe??Ȝ<<n<py~@k.7Q%7c˔F:3=ܦxq)6%=1oē#my Oƿ?{q<&9MqbO?+"-sS?6ɱbVkǛ<7OIoF'xqyq:d[ ggmL8)kө(4@i@;1,H_hMY( D~7/A`&eQ[#Q;TK7/ r(+8)k;U_BulHEykHӿ*rl74QX͛9k3Ȧo㳲_BVf(om* h\& l=kZ K6PQ'޺\qY@M]Ey,]*ڥ, r˥k/)4YQ+P\eEّ,Guv ;KDK_`u9_"ZGͮG$Ȯ@6}sȏY EY#rr+e<Gty#r K67(-֣͎*PEfeǖ(Knvwthn^UKu(+wz[Gsr= +A/kI^Ce=e6)s}?.'SV(+SP[>st6+ 2r7)}X}=OI'z}X}=OQ3o gGGC aQsMu `ío!N 29@R[9@*^uE)=>= tC71f Y zE9Dq'{| -g؇[T|>Iy9 ;;JA[sNFT=>}x->}zO[`QUI˷RN&nbs|t%{|vpalatine.menU  o !"#$%&'(*)+,-./0213457689:;<=>?@n9=z2>?|s8(rg}bRL=qގm @]s?e#>A\?˓?57e;շer2 ;Aށ&<ȗysR>Jn׊9V F\.dܐW_M_c"#ށil͞4g9% okI^Ce=u=l>z2ǜk)ȚW^OP~85{>=x:uyPl* ȗp=ko/͊ySwthn^(sr묬sdMn Dy.һ5KnJ t^KشUo=k֒>z] eQsMu->=vl޺ǧiz>ahzrMS[isMUoeíER-r\7n-޺ǧ#Q4UuLI]c|d}]](~ӵ[EZxGa4*,J͝C['/COlІ$zE< $^ă?X:fc{|z>'{|z36Lͪv8S,fU;I˷I˿֩35Po=Ǣ\*I˷ӵtNR[t-ƭ3t-X{,J=JI >]7{XQ X18-I>o=E18"I{|7x >}s*﷞cQ!?^GkQphC[g(R]64o9>Nh[cQuVԴ [tvVή?I5o=ǧ֖&!Ǣ-I>aO-x2t; o [o-E 4(i[khWO+M~k6~{4[,6~{$u.ME+4颊RXi[ӛ0%doބYOo¬AIy 1*x;zEt\eR`JUVA!xtv tUrI˷`Q6aJM5i[+Oo¬bMUEM~k1XM"IyބG`o}5?< >]}jzEP'3]ڒ:OP}+y&uEh9>=ڭ$\3tWlIŧ u8M~ke(U:l$ǧ˅3BP뿱Ţ gO[PC<3tve.NAG0圡9^cQ8h0zu.ꅆk ެÖŧ7[[ϱ(8΅^)=>]F)z|^ex->]Jtx Ν+uj޺ǧGZs} >="{|ztnq cQ\8TFQ߷o0gGG aQsO o-lO Ȳ淖Ǣܕ o-ue䷖ǧ﫿e>lK5Iyr!*ȟ-;ǧ/4eӼelr[;o-rOZ >}l[6M~ky|z~4o9eT qi޲s|PE`Q\8~*q gGG aQsMu[иo-X[6<K=#!!l6'/kQ.Փs|vR7(z,ʅxkKR[xkK*^uͭ{|Bk)z Bԍ6<^!ǧ/D(`Óll\{|Bԍ66HX רpFlTs|Bs'/ꇟӅr\7RXBO1׷Ӆ,\$Ӆ,\Ba{|k\R3XE)1>DBç0_:M~ky,ʅTVO_h~&oӣ-M~ky|zH(lQAe?lώԏwm¢,J:z[YVw0s|=[Ţr\S3tQf[gn+!xO޺ǧ5VRi|zE+ocQ\2&̪DOo\#pi[+Ǣl[[zkK5ko[[AuEVMZV-&<>]{|jo&r,JVVOnP}wiCN*^-@ŝT[|hocR?lKyfaOӅUɚg&^ Owl?<->!S3XE)1>DBS{EmGy~v~?dϮeQ:[q[,ʢ"}O%agGGC aQsMuŧUSU=>}6uT=>]./|Q(!h=CrdoaS<>6(?I5o=ǧ+~XnĕvzOZx >8ݰUs6(fwg4I5oӫ0mS3*l@$ռuOorcK[`Q6 tlg(cVNܺǧRc|ǧOq!M>M~CE9I>oϠEUߺǧϠE*^>E|rMZ>['gQ4n4cQN@['`ogskKZ9>}6NkVO p$$?x,J Y:M^!ǧKȲi3t Y;M^!ǧKȲ޹h3X?M^o=Oe}4y >9?lώԏwL¢,J:zoQ|zO7אo=ǧϦNwEjǢ+OA[gs_Zt.G=KJ޺ǧQT=Tуu|ΎҷN[g飸O@vr[kux*Λ[g5U9TO%Tx >&bPQuEYǹTuOlSs|zE!%{|z]L8J(ٶ~m?BXE\gSob[d6>VH[Cu_4t)p e پBg}tuORS[Sժbo=ǢV :O&짠԰?U >][[j޺Ǣ֖T|9>]ʝ(.Z$..?]ocQJ/o*r:ԟӥn "I>o=&<>:M~k1X@޲i޲s|z 8:[vO֖-eן zE) ]jzOojo-r[qQo-lOoֱ[yXOu[o- Q&|淶4`Qj~kKn~ky|` ͇6$uO|z淖ǧk.a?M~ky,Jn&|P[o >]k("VExd]9M~ky|Q:[vYo}bQΪ$M~>U4gSg؝gS4oR}yro淖ǧKܲi[+ǧKܲI˷cQJ֖&aO-xt9N?rdfocQʑM~ǧˑx|Ykխt9[6oRZ4o-b鲹y( ޺Ǣd}˦oήΦ-֮c뷟J(ܷ#̶ aQsMu`íoڡv*fs >]t6Hrta6sIrr,J٬^0֢[t٬I>fZ?l(fZT53t٬a8 [t٬8>Iz0'﷞cQ:fu'[gY@sY@;f5)za6 I{|lVç0~QF~v~+EYu6I[n!{|:5[k馠{,8}[gqا֩r}oT|KM)z2z{|z\C#6 xu>ú tu>'v޺Ǣ6)z >}ESpgS:)z \?9d;ww :Oxu>#=>}T54N*^uOF['/ߺǢa2^dn-jzOE)z^c`QVXkh~R{|zu0P|zS•8B$ռu*x^UD馠t1Z)8[j$ռYl zOo-k?]o=ǧ}9 2[=>}2*W@(s|?y T6'7oaOMy{O g`ܼΪu_xr,J7[ܼ > f?t7͛@f{&7oncQ~k75[6ys >]o-r|zOnCE=7qo-rs| Z7G[[rs,JaUܼ֟(:FH_h~S{EA0QΎԏws~v$9[|z3N?cV$ռuEYG1=; ocQ\x o?Q}G~ϮeQ:[' 6΀Z`>aORҧ3++}R{,*^/oӫ!C׿^ Ď[XUIX=>* `S|zUV6x~^U͉( 9<->* `Iy(:FH_h~TFQ~f~v(ҹΦ:M0[|NR[ϦuT=>=,v%u ޺ǢƟ*cqkX)=>} zONv$ռuE9۝(I˷6ajӧ#GR{|lƭER[ϱ(gc?^aO ;C|z>V$ٸz | QW(.xO3? zo=^aE)h\ԆE)z > Ɲ[ߺǢ\gS_y ۀml)z9>}Z- I| Zo\bf{Ty >}]խ3u!fO{|k1)z ZzbGt ֟5tuhn(ZSt}+3tnmIyR.54é*y9>].jhIy6}+té9>}+tI˷wܲ)8bQeTs|ބ[a8U>oGkQphC[g(VuBjzOwZ- I˷,J3J(Q`@qw?m?(MR.54é*y9>].jhIy6]o-r|zOnCE=7qo-rs| Z7G[[rs,JaUܼ֟(:FH_h~S{EA0QΎԏws~v3$m^W%a{,ʪdC&\{|zU!Hrs|zU6iˇ[gu|:EYwo.z`uwg@%U?l(J:I5o=ǧ+]uR{|zS5IT%axR?x,ʦ* kƓt]̉*JRs|Jn]IyRW%7$9{ >]Xe3x7XE)1^FBóqa[ٸz+x=>}6.sM*^uE9>l|z>W Y .^0:^!ǧqeo- :E)G=;HŧQ7@p9I5o T|.GXr#IŧEmR|tNA[P.fJXp]*5=>hQ)zΎocQP.js t7Scstu(z9BvO7ŧG5t o=Ok&/zOv OA[ϱ(QP|zt T|zvFhgt%t!TSpcQ oӅ5[z(<=>AȴHAȴH˷`Q\x O%a̶xA#ܷ]!,ʢtNlַys y>~rI˷qSSs|PwRg,JWl%/.\!;Ӆ+d $go=Ox}!C @|z(:FH_h~S{E}{Pώԏw3+EYu6Imo}O] sx@AL0C dcQ.PuO] $G=>=v ; i=>=v ; I{, :I5oc((xBXE\gSo&ƭoqEx >}6U$ռuOMp=xs,J0ީj[2pua{|:\N[gp :x=%P?^o=ǧBHy9>]E*^ >}:^o=E z(s|z 1[5z?+uOgjzEYE[gM֢{|z36Lͪv8S,J^E[z߲| MARC-CPM.DQC 8k MBASIC .FQE 2k | MICROSHL.TQT 2k | MMDFPROT.DQC 24k | MODEMS .DQC 8k MODMPROT.0Q1 6k | MP/M-II .TQT 22k | MSFT-CPM.DQC 2k | MSFT-PAS.DQC 2k MSFTCALC.DQC 2k | MSFTCALL.DQC 4k | MSFTNEWS.AQR 6k | MSFTNEWS.MQR 2k OSBMDM7X.AQM 16k | OSBMDM7X.OBJ 10k | OSBOOT .AQM 8k | OSBOOT .ASM 10k OSBORN7 .DQC 2k | OSBORN7 .OBJ 8k | OSBORNE .DQC 4k | OSBPLINK.AQM 10k OSCOPY .DQC 2k | OSCOPY .OBJ 26k | OSMOD .DQC 4k | OSMOD1 .OBJ 6k OSMODIO .CQ 4k.MQR 26k | CP/M-NET.MQY 18k | CP/M-NET.NQV 26k | CP/M-NET.OQT 30k CP/M-NET.SQP 30k | CPMUG .CQT 54k | CPMUG2 .CQT 34k | NEWS0182.SQG 10k NEWS0282.SQG 4k | NEWS0382.SQG 6k | NEWS0482.SQG 6k | NEWS1281.SQG 6k SIG/M .LIB 2k | SIGM-CAk | SMOD-600.DQC 4k | SMRTMODM.DQC 16k SOLMODS .DQC 6k | SPELSTAR.FQX 2k | STAT-RAM.DQC 4k | STATSOFT.DQC 2k TELECONF.TQT 4k | TRASHPOO.TQT 6k | TRSIIMOD.DQC 2k | TRSUCKS .DQC 4k TURBODOS.DQC 4k | TWITSAGA.DQC 4k | TWITTEST.DQC VNTPRG.AQM 28k | ADVNTPRG.OBJ 14k | ADVT .DQT 102k ADVT .PQR 14k | ATAB .DAT 2k | CHEAT .AQV 4k | CHEAT .DQC 2k COMMON .DAT 4k | INSUB .FQR 4k | KTAB .DAT 2k | LTEXT .DAT 2k MAINSB .FQR 4k | MAKEADV .BQS 6k | R042 8k | ABSTRACT.043 2k ABSTRACT.044 4k | ABSTRACT.045 2k | ABSTRACT.046 12k | ABSTRACT.047 8k ABSTRACT.048 6k | ABSTRACT.049 12k | ABSTRACT.050 4k | ABSTRACT.051 2k ABSTRACT.052 4k | ABSTRACT.053 2k | ABSTRACT.054 22k | ABSTRACT MSOFT .SQV 2k | NS-SPLIT.DQC 2k | NSCPMV23.SQ 2k | NSFIXES .DQC 2k NSTARMOD.DQC 2k | OTHERSYS.AQR 14k | OTHERSYS.MQY 16k | OXGATE .IQF 2k PACKET .MQG 4k | PCNETPRO.DQC 40k | PL/MNOTE.DQC 2k | PLUG .DQC 2k QUIKIES1.DQC 2kTH 648K FREE -ADVENT .URE 0k | AD .OBJ 40k | ADINIT .OBJ 28k | ADLISTS .AQM 4k ADLISTS .OBJ 2k | ADSOURCE.DQC 4k | ADV .OBJ 36k | ADVEN80 .DQC 14k ADVEN80 .MQC 22k | ADVENSUB.FQR 8k | ADVENT .FQR 4k | ADVENT .MQG 26k ADVT.NQW 44k | SIGMNEW .NQV 4k | SIGMNEWS.AQG 6k SIGMNEWS.AQR 6k | SIGMNEWS.DQC 4k | SIGMNEWS.JQL 6k | SIGMNEWS.JQN 6k SIGMNEWS.NQV 6k | SIGMNEWS.SQP 4k | UGFORM .LIB 4k | WHATSNEW.COM 4k DRIVE C, USER 0 CONTAINS 744K IN 68 FILES WI2k | UNIX .MQG 10k UNIXTOOL.DQC 2k | USER .TQP 4k | USER#-V3.DQC 4k | WARMBOOT.NQW 4k WHATSNEW.COM 4k | WM .CQL 2k | WM .DQC 6k | WM .SQM 6k WS-VS-WM.DQC 4k | WS30 .DQC 6k | WSNOTE15.DQC 6k | XEBEC .MQG TEXT .DAT 2k | SAMPADV .AQV 8k SAMPADV .MQC 10k | STEXT .DAT 2k | TRAVEL .DAT 6k | WHATSNEW.COM 2k DRIVE D, USER 0 CONTAINS 654K IN 44 FILES WITH 584K FREE -OSBORNE.ARA 0k | CIO .OQB 4k | MBOOTOS .ASM 8k | OSBDSCIO.HQ 6k.055 2k ABSTRACT.056 4k | ABSTRACT.057 2k | ABSTRACT.060 2k | ABSTRACT.078 8k ABSTRACT.PD 12k | CP/M-NET.AQR 20k | CP/M-NET.DQC 36k | CP/M-NET.EQD 2k CP/M-NET.FQB 14k | CP/M-NET.JNE 24k | CP/M-NET.JQN 18k | CP/M-NET.JQY 14k CP/M-NET | QUIKIES3.QQQ 4k | RADIOCOM.DQC 2k | RCPM-25A.LQT 18k RCPMDATA.17 12k | RCPMLG11.DQC 2k | RCPMLG11.FQM 2k | RCPMLIST.25A 28k RCPMTAPE.DQC 2k | SAD-TALE.TQT 2k | SCREWJOB.SDS 6k | SETXX23 .DQC 2k SEXLIFE . 6k | SIGNON .DQC 16ENT .RQA 4k | ADVENT .TQB 2k | ADVENT .TQV 4k | ADVENT .VQC 2k ADVENTUR.DQT 44k | ADVENTUR.MSG 64k | ADVENTUR.OBJ 18k | ADVI .DQT 30k ADVI .PQR 4k | ADVINIT3.FQR 18k | ADVMAIN .FQR 28k | ADVNTMOD.AQM 26k ADVNTMOD.OBJ 4k | AD25 2k | ABSTRACT.026 32k | ABSTRACT.027 32k ABSTRACT.029 4k | ABSTRACT.032 2k | ABSTRACT.033 8k | ABSTRACT.034 2k ABSTRACT.035 2k | ABSTRACT.036 8k | ABSTRACT.037 4k | ABSTRACT.038 6k ABSTRACT.040 10k | ABSTRACT.041 8k | ABSTRACT. 2k XMODEM .FQX 2k | YOURLOSS.MQG 2k | Z80TABLE.DQC 8k | Z89-37 .DQC 2k DRIVE B, USER 0 CONTAINS 820K IN 132 FILES WITH 362K FREE -CP/M-UG.ARA 0k | ABSTRACT.021 20k | ABSTRACT.022 6k | ABSTRACT.023 2k ABSTRACT.024 4k | ABSTRACT.0 | WHATSNEW.COM 2k DRIVE A, USER 1 CONTAINS 130K IN 18 FILES WITH 252K FREE -ASM .PRG 0k | / .AQM 4k | /DUP .OBJ 2k | 22PUBLIC.AQM 2k 3740UTIL.AQM 52k | 3740UTIL.DQC 6k | 8521PTCH.AQM 2k | ADM3-150.AQM 2k ADPCH3 .AQM k PASS2 .AQM 4k | PASSWD-2.AQM 6k | PATCH .AQM 4k | PCPATCH .AQM 2k PCPATCH .DQC 2k | PIPCHANG.TQT 2k | PIPPATCH.AQM 4k | PLINK65 .AQM 16k PLINK65 .DQC 4k | PLINK66A.AQM 20k | POW2 .DQC 2k | POW2 .MQN 4k POW2 .OBJ 4.BQS 10k | GENESYS .AQM 18k | GENEUSER.AQM 14k | GENEUSYS.DQC 10k GOCCP/1 .AQM 26k | GOCCP/1 .DQC 2k | HAMMING .DQC 2k | HELP20 .AQM 24k HIMEM .AQM 2k | I/O-CAP .AQM 12k | I/O-MAP .AQM 4k | IBMTBIOS.AQ6 14k INTCLOCK.ZQ0 8k | INUSE 2k | CALLS2 .AQM 2k CAT .AQM 4k | CAT-NEW .DQC 8k | CATALOG2.DQC 4k | CATFILTR.AQM 4k CCP22-02.AQM 22k | CCP22Z80.AQM 24k | CCP8080 .AQM 22k | CCP8080 .DQC 2k CCPATCH .AQM 2k | CCS2422 .FQX 2k | CHAT17 .AQM 6k | CLOCK .AQUCHTEXT.AQ6 4k | MUCHTEXT.AQM 4k | ND86 .AQ6 6k | NEWBAUD .NQW 4k NEWCAT26.AQM 14k | NEWCAT26.DOC 2k | NEWCAT28.OBJ 6k | NEWCAT29.AQM 22k NEWINDEX.AQM 24k | NEWINDEX.DQC 6k | NFMAP .AQM 6k | NOTATE .AQM 2k NS8"BIO3.AQM 32k | DQC 4k | EPROM .AQM 8k EXAMPLE .BQT 2k | EXTCCP .DQC 6k | EXTCCP2 .AQM 12k | EXTEND .AQM 4k FAST .DQC 12k | FAST2 .AQM 14k | FFORM-1 .BQS 8k | FFORMS .DQC 4k FGRID-1 .BQS 2k | FIFOS .MQC 6k | FILFND11.AQM 12k | FILPRINT 4k | ALLOC3 .AQM 14k | ALLOC3 .OBJ 2k | APAS2CPM.AQM 6k APBOOT .MQC 2k | APBYE .AQM 26k | APBYE69 .AQM 26k | APHAYES .AQM 4k APMBOOT .ASM 8k | APMODEM .DQC 4k | APMODEM2.AQM 26k | APMODM21.AQM 26k APMOVE .AQM 6k | ATARI .CPM KE .AQM 8k | MBOOT3 .ASM 8k MDIR20 .AQM 8k | MDM217-8.DQF 4k | MDM72MOD.DQC 4k | MEM-MAP .AQM 4k MENU-V2 .AQM 12k | MFT .DQC 4k | MFT46A .AQM 14k | MFTNEW .AQM 14k MHTIME .AQM 10k | MINICHEK.DQC 2k | MLIST50 .AQM 10k | M .AQM 8k | ISIS/CPM.AQM 16k | ISIS/CPM.DQC 4k LIST21 .AQM 8k | LOOK .AQM 6k | LOOK .DQC 2k | LPRINT .AQM 2k WHATSNEW.COM 4k DRIVE B, USER 1 CONTAINS 1112K IN 133 FILES WITH 362K FREE -ASM .PRG 0k | M80-HDR .MQC 2k | MAM 4k CLRSCRZ .AQM 2k | COMMO2 .AQM 6k | CONFIG .AQM 4k | COPYFAST.MQD 2k CPM-BKSP.PQT 2k | CPYFST43.AQM 28k | CPYFST43.DQC 22k | CRC120 .AQM 4k CRCK .DQC 2k | CRCK10/6.ASM 12k | CTRL-OUT.AQM 4k | D-27A .AQM 14k DASM .AQNS8"CPY3.AQM 20k | NS8"GEN3.AQM 8k | NSUSER5Z.AQM 10k NWORM .TQL 6k | NZCPR-13.DQF 10k | WHATSNEW.COM 2k DRIVE C, USER 1 CONTAINS 514K IN 47 FILES WITH 648K FREE -ASM .PRG 0k | NOTES-ON.ZCP 6k | NZCPR-14.DQF 14k | PASS .AQM 2.AQM 2k FILTEX11.AQM 6k | FIND4DDT.AQ4 4k | FINDBAD .AQ6 24k | FINDBD54.AQM 24k FINDBD54.BQG 2k | FLAGS .DQC 2k | FLAGS12 .AQM 8k | FLIP4 .AQM 4k FMAP1A .AQM 6k | FMAP1A .DQC 2k | FORMHAM .AQM 2k | FORMHAM1.NQW 4k FTABL-1 6k | ATARI .DOC 2k | AUTOST .OQZ 4k AUTOX .AQM 2k | BACK2DDT.AQM 4k | BDLOC .AQM 2k | BGMEMTST.AQM 2k BIDI .AQM 6k | BLOCKREF.AQM 4k | BMAP711 .AQM 6k | BMAPORIG.AQM 8k BUFFER .DQC 2k | BYE79 .AQM 54k | CALLS .AQMODEM214.DQC 2k MODEM221.AQM 56k | MODEM7 .DQC 10k | MODEM7 .LQB 10k | MODEM76 .AQM 48k MODEM76 .SQT 4k | MODEM77X.AQM 52k | MODEMPAT.AQM 4k | MTN22 .DQC 6k MTN22B .MQG 2k | MTN22B .OBJ 16k | MTNH-Z80.DQC 2k | MTNMSGS .OQR 10k MQC 10k | DR .AQ6 4k | DS2/14 .AQM 8k DU-V7778.DQF 2k | DUH .OBJ 10k | DUH .ZQ0 4k | DUMP1020.AQM 6k DUPUSR21.AQM 6k | DUU .AQM 32k | DUU .DQC 4k | ENTAB14 .AQM 6k EP16 .AQM 6k | EPRINT .AQM 12k | EPRINT .M 28k | DATE1 .NQW 2k | DATIME .AQM 8k | DD .AQM 12k DD .DQC 2k | DDT-64CH.FQX 4k | DDTX3 .AQM 2k | DEBLOCK .AQM 6k DEBUG .MQC 2k | DECXHAM .AQM 4k | DIRLST .AQM 4k | DIRS9/8 .AQM 6k DJALIGN .AQM 6k | DOW12 .Mk | PRINT232.AQM 26k | PRLOD .AQM 4k | PROTECT .AQM 16k PUT .AQM 4k | QMUL .MQC 4k | RCPM1 .BQT 2k | READDATE.AQM 4k REMOTE1 .AQM 6k | RENAME .AQM 18k | RESOURCE.HQP 18k | RESOURCE.OBJ 8k REZILOG .MQC 24k | REZILOG .OBJ 1 AWARI .BQS 2k | AWARI .INS 4k | BACCARAT.BQS 4k | BANNER .BQS 4k BASCOM53.DQC 2k | BASEBALL.BQS 10k | BASIC/5 .DQC 4k | BASIC/5 .OBJ 4k BASPRINT.DQC 4k | BIGTREK .BQS 34k | BNCHMARK.DQC 2k | CALCULTR.BQS 2k CALENDAR.BQS 2k AQM 38k | ZCPR-V11.CRC 2k | ZCPR-V11.DQF 8k ZCPRBF .AQM 4k | ZCPRCAF .DQF 2k | ZCPRH37 .DQC 2k | ZCPRTRS2.TQT 2k ZSRC21 .FQX 2k DRIVE D, USER 1 CONTAINS 1272K IN 141 FILES WITH 584K FREE -RBBS .PRG 0k | COMMPAT1.MQC 4k | GAME 14k SMODEM38.MQC 50k | SMODEX38.MQC 56k | SMODX002.FQX 4k | SORTV-13.AQM 12k SPELL-11.AQM 18k | SSPROM .AQM 6k | STATFIX .AQM 2k | STRIP .DQC 2k STRIP .OBJ 2k | SUBGEN10.DQC 8k | SUBGEN12.AQM 14k | SUBGEN12.OBJ 2k SUPSUB11.DQC /S2 .HLP 24k | /S3 .HLP 24k /T1 .HLP 18k | /T2 .HLP 10k | /V1 .HLP 10k | /W1 .HLP 32k 3DTICTAC.BQS 6k | 3DTICTAC.INS 2k | 555TIMER.BQS 2k | ACEYDUC .BQS 2k ALPHA1 .BQS 2k | ALPHA2 .BQS 2k | ALPHABET.BQS 2k |OM 4k WHERE .AQM 2k | WHODERE2.AQM 6k | WORM-21 .AQM 6k | XD1/82 .AQM 18k XDIR2-50.DQC 6k | XDIR2-50.OBJ 10k | XMAC .AQM 2k | XMODEM .EQP 6k XMODEM .FQX 2k | XMODEM42.DQC 2k | XMODM49 .AQM 32k | XREF141 .AQM 28k XREFPRN .A0k | RTE .AQM 6k | RUN80-21.AQM 20k SAPX03 .AQM 8k | SCRAMBLE.AQM 6k | SCRAMBLE.DQC 2k | SD-43 .DQC 2k SD-43 .DQF 6k | SD-43/44.DQF 2k | SD-NEW .AQM 32k | SD-NEW .DQC 8k SD301 .AQ6 10k | SD302 .AQ6 12k | SDCOPY .AQM ASIC .PRG 0k | -BASIC .UTL 0k | /B1 .HLP 22k | /B2 .HLP 28k /B3 .HLP 22k | /B4 .HLP 34k | /C2 .HLP 26k | /D1 .HLP 10k /D2 .HLP 18k | /E1 .HLP 22k | /F1 .HLP 30k | /F2 .HLP 24k /G1 .HLP 36k | /SHLP.COM 4k | RBBENT27.BQS 16k RBBEXIT1.BQS 4k | RBBMIN27.BQS 20k | RBBMIN27.DQC 10k | RBBSTIME.FQX 2k RBSPURGE.BQS 4k | RBSPURGE.DQC 2k | RBSUTL30.BQS 8k | WHATSNEW.COM 2k DRIVE A, USER 2 CONTAINS 76K IN 12 FILES WITH 246K FREE -B 4k | SUPSUB12.AQM 14k | SURVEY3 .AQM 10k | SWAPCOPY.DQC 2k SWAPCOPY.NQW 10k | SYNONY23.AQM 6k | SYNONYM2.DQC 4k | SYSLIB .HQP 24k SYSLIB .RQL 10k | TAG2 .AQM 4k | TALK@ .LQB 2k | TARBDIAG.AQM 54k TD .ZQ0 6k | TERMTEST.AQM AMAZING .BQS 4k ANGLO .BQS 2k | ANIMAL .BQS 4k | ANNINTER.BQS 2k | ANTONYMS.BQS 4k APPOLLO .BQS 2k | AREAPOLY.BQS 2k | ARITHMTC.BQS 2k | ARTAUCTN.BQS 2k ARTAUCTN.INS 4k | AUTHOR .BQS 8k | AUTOBOOT.BQS 2k | AVERGROW.BQS 2k QM 14k | XTCPM .DQC 2k | XTCPM14 .AQM 26k | XTCPM14 .CRC 2k YESMASTR.VQC 2k | ZCPR .AQM 34k | ZCPR .DQC 26k | ZCPR .HQP 4k ZCPR .MQG 4k | ZCPR-11 .NQW 38k | ZCPR-BB .DQF 8k | ZCPR-BB .NQT 4k ZCPR-T12.DQF 6k | ZCPR-V11. 6k | SDCOPY .DQC 2k SDNBIOS .AQM 14k | SDNBOOT .AQM 2k | SDNUSER .AQM 6k | SECURE .AQM 4k SECURTY2.AQM 4k | SENDOUT7.AQM 6k | SETCLOCK.ZQ0 4k | SKEW .MAC 6k SM .OBJ 12k | SMOD#38 .BQG 2k | SMOD-MOD.AQM 4k | SMODEM38.DQC G2 .HLP 26k | /H1 .HLP 22k | /H2 .HLP 24k /I1 .HLP 8k | /J1 .HLP 6k | /M1 .HLP 28k | /M2 .HLP 22k /M3 .HLP 32k | /O1 .HLP 10k | /P1 .HLP 26k | /R1 .HLP 26k /R2 .HLP 12k | /S1 .HLP 16k | M 16k | USERPRMT.AQM 2k USRPW34 .AQM 12k | VARBATCH.OBJ 4k | VDM2A .AQM 6k | VMAC .AQM 2k VOIC@ .CRC 2k | VOIC@ .DQC 2k | VOIC@ .LQB 12k | VOIC@EQU.LQB 4k VRMAC .AQM 2k | WASH-10 .DQC 10k | WASH-14 .AQM 22k | WHATSNEW.C 2k | TIME .AQM 2k | TIME1 .NQW 2k TIMON .AQM 2k | TIP .AQM 6k | TLIST14 .AQM 16k | TOD .ZQ0 2k TRSTERM .AQM 4k | TRSUART .AQM 2k | UNERA11 .AQM 4k | UNERA11 .HQP 2k UNLOD21 .AQM 2k | UNSPOL32.DQC 10k | UNSPOL33.AQ| CALENDR .DQC 2k | CAPSULE .BQS 2k | CHASE1 .BQS 4k CHASE2 .BQS 4k | CHEKBOOK.BQS 4k | CHISQUAR.BQS 2k | COMMO1 .BQS 4k EXARDESG.BQS 4k | HELP .HLP 2k | KING .BQS 8k | KITCHEN .LQB 2k LOSTGLD2.BQS 16k | LOSTGOLD.BQS 12k6k | CHARIO .CQ 4k | CHRSET .PQC 10k | CIO .CQ 4k CLOGS .CQ 8k | CLOGS .DQC 4k | CMAC .LQB 8k | CMODEM .DQC 2k CN .SQB 2k | CNCMDS .CQ 4k | CNET .DQC 2k | CNET .DQR 2k CNETMODM.CQ 10k | CNLIB .CQ .OBJ 4k | DISINTEL.OBJ 10k DISZILOG.OBJ 10k | FE .OBJ 18k | FEDOC .DQT 4k | FEPARM .OBJ 2k FIXMSOFT.OBJ 2k | FMAP .OBJ 4k | H89MD741.OBJ 10k | H89MOD74.DQC 2k H89MOD74.OBJ 10k | IF .OBJ 2k | INDEX101.DQC 6k | I2k TICDATA2.QQQ 2k | TICTAC .BQS 4k | TREE .BQS 14k | TREKINFO.DQC 6k TREKINS .BQS 4k | TREKMAIN.BQS 16k | TREKMOD .BQS 30k | ULTRAPLT.BQS 2k WHATSNEW.COM 4k | WSERC52 .BQS 4k | WUMPUS .BQA 6k | XFER12 .BQS 4k XFER12 .DQC k | BDSCV146.DQC 8k BDSQSORT.TQP 2k | BDSTDLIB.DQC 12k | BOOTMODM.CQ 6k | BUILDSQ .DQC 2k BYTEBNCH.CQ 2k | C .CCC 2k | C-DEBATE.CQB 10k | C-DEBATE.DQC 4k C-PROGS .NQW 6k | C-USERS .GRP 2k | CALLUTL .CQ 4k | CASM .CQ 1SK.APR 2k | RCPMDISK.COM 4k RCPMDISK.FEB 4k | RCPMDISK.JAN 12k | RCPMDISK.MAR 2k | RCPMDISK.MAY 2k SANDIEGO.MQN 4k | VALPRISO.MQN 4k | WHATSNEW.COM 2k DRIVE A, USER 3 CONTAINS 184K IN 23 FILES WITH 242K FREE -OBJECT .PRG 0k | @ | MBAS/XR .BQS 4k | MEGATREK.BQS 32k MEGATREK.DQC 2k | NET80 .BQS 8k | NFL80 .BQS 16k | ONECHECK.BQS 2k PICKIT .BQS 2k | PRNCON .BQS 2k | QUEST .BQS 10k | SARGON .DQC 4k SARGON .OBJ 8k | SCI-FI .LQB 2k | SPOOLR .BQS 4WEEP30 .OBJ 26k | SWEEP30 .PQI 24k | UMPIRE .DQC 2k | UMPIRE .OBJ 2k UN .DQC 2k | UN .OBJ 6k | WHATSNEW.COM 2k | XFERTIME.OBJ 6k XFERVER6.OBJ 6k | Z80EXT .LQB 2k | ZESOURCE.DQC 2k | ZESOURCE.OBJ 8k ZPILOT .OBJ 2k | NDEX101.OBJ 12k LASM .DQC 4k | LASM .OBJ 6k | MAP .OBJ 2k | PACMAN .DQC 2k PACMAN95.OBJ 18k | PMODEM82.DQC 12k | PMODEM82.OBJ 12k | PMODEM82.SQT 4k READ .DQC 2k | READ .OBJ 2k | REPEAT .OBJ 2k | SWEEP30 .DQC 8k S4k | XFERTIME.BQS 2k | XREF-MB .BQS 6k DRIVE B, USER 2 CONTAINS 1180K IN 119 FILES WITH 362K FREE -FORTH .PRG 0k | FORTH .OBJ 14k | FORTH11 .AQM 24k | FORTH11 .DQC 2k INIT4TH .AQM 6k | META4 .SCR 108k | READ-ME .QQQ 2k | SCRFILES.2k CASM .DQC 6k | CASM .PQC 20k | CASM .SQB 2k | CAT .CQ 6k CATALOG .BQS 2k | CB .CQL 12k | CB .DQC 6k | CB .MQN 2k CBC2881 .CQL 10k | CC0T .CQ 2k | CCC .AQM 16k | CCOL1 .DQC 8k CCOL2 .TQT .DQC 4k | @-NEW .OBJ 4k | ALOC1281.DQC 2k ALOC1281.OBJ 2k | BATCH .DQC 22k | BATCH .OBJ 2k | BC .OBJ 10k CALANDAR.AQT 2k | CALENDAR.DQC 2k | CALENDAR.OBJ 22k | CLEAN .OBJ 2k CPMXFER .DQC 2k | CPMXFER .OBJ 4k | D k | STARS .BQS 2k STARTREK.BQS 6k | STARTREK.TQT 38k | STARWAR2.HQ9 10k | STARWARS.BQS 10k STRTRK/2.BQS 14k | STRTRK/3.BQS 14k | SUNRISE .BQS 4k | SUPMAIL .BQS 10k SWARMS .BQS 10k | THCLOCK .BQS 2k | THOUGHT .BQA 4k | TICDATA .QQQ ZPILOT .Z80 8k | ZREF .ZQ0 14k | ZZSOURCE.AQM 32k DRIVE B, USER 3 CONTAINS 394K IN 56 FILES WITH 362K FREE -'C' .PRG 0k | AMATCH .CQ 4k | BANNER .MQN 2k | BANNER .OBJ 20k BAUD .CQ 2k | BDS .LQB 4k | BDSCIO .HQ 4N.MQN 10k | COMPUSER.MQN 14k | CRANFORD.MQN 4k DISKMENU.DOC 24k | DISKMENU.HTH 4k | FORTFONE.MQN 6k | GFRN .MQN 6k GFRN(2) .MQN 6k | HEATH .MQN 6k | HYDEPARK.MQN 6k | MAST .CQT 28k MCGRAW .BQS 24k | PALATINE.MQN 10k | RCPMDIHQW 2k TOOLS .SCR 22k | UX .TQT 4k | WHATSNEW.COM 2k DRIVE C, USER 2 CONTAINS 186K IN 11 FILES WITH 648K FREE -UPLOAD .ARA 0k | WHATSNEW.COM 2k DRIVE D, USER 2 CONTAINS 2K IN 2 FILES WITH 584K FREE -MENUS . 0k | ALLENTW 4k | CNMAIN .CQ 10k | CNODE .GQ 2k CNODE .HQ 4k | COEFSTAT.CQ 2k | COMMAND .HQP 2k | COMMANDS.QQQ 4k CONVERT .CQ 4k | COPYALL .CQ 4k | CP .CQ 4k | CP-2 .CQ 4k CPMDIR .CQ 2k | CPMUTL .CQ 22k | CTRIG .CQ | CBASIC .HLP 14k | CBASIC2 .HLP 22k COMMANDS.HLP 4k | CPM .HLP 32k | DATABASE.HLP 8k | EBASIC .HLP 12k FORTRAN .HLP 8k | HARDDISC.HLP 2k | HARDWARE.HLP 2k | HELP .HLP 2k LANGUAGE.HLP 2k | LOCAL .HLP 2k | LOCAL-SY.HLP 4 .CQ 4k | RM .MQN 2k | RM .OBJ 6k | RX .CQ 12k SAMPLE .CQM 2k | SB-11 .CQ 6k | SCOTT .CQ 4k | SEE .CQ 2k SEND .CQ 6k | SETJMP .AQM 2k | SETJMP .CQL 2k | SETJMP .MQN 2k SHORTEN .CQ 4k | SHORCQ 6k | ECHO .CQ 2k ERROR .CQ 4k | FI .PQC 10k | FIXCCC .AQM 2k | FLIP .CQ 2k FLOAT .CQ 6k | FLOAT .DQC 6k | FLOAT+44.CQ 8k | FLOAT+44.DQC 8k FLOATSUM.CQ 2k | FLS .CQ 4k | FLS-15 .OBJ 10k | FORM ERCODE.CQ 4k | USQ .HQ 2k | USQ-18 .CQ 6k | USQ-18 .OBJ 10k UTR .CQ 2k | VIO .CQ 8k | VOICE .CQ 6k | WC .CQ 2k WELCOME .QQQ 2k | WHATSNEW.COM 4k | WILDEXP2.CQ 4k | XC .CQ 14k XCOM .QQQ 2k | XS1.HQ 4k | PACMAN .CQ 6k PACMAN1 .CQ 8k | PACMONS1.CQ 6k | PACMONST.CQ 6k | PACMOVI1.CQ 6k PACMOVIE.CQ 6k | PACNEW .DQC 2k | PACUTIL .CQ 8k | PACUTIL1.CQ 10k PMMI .HQ 2k | PORTIO .CQ 4k | PPONG .CQ 6k | PPRIN 6k | CTRIG .DQC 4k CUG-INFO.DQC 2k | CUG-NODE.DQC 12k | WHATSNEW.COM 2k DRIVE C, USER 3 CONTAINS 360K IN 63 FILES WITH 648K FREE -'C' .PRG 0k | DEFF .CQL 8k | DEFF2 .AQM 20k | DEFF2 .CQL 6k DEFF2-01.CQL 6k | DEFF2-01.CEEZER.DQC 14k | SSED2 .CQ 8k SSED2 .OBJ 12k | STD .HQ 2k | STDLIB1 .CQ 6k | STDLIB2 .CQ 12k STONE .CQ 8k | STONES .CQ 8k | STTY .CQ 2k | TABIFY-4.CQ 2k TALK .CQ 2k | TELEDT11.CQ 14k | TELEDT11.DQC 6k | TETEN .OBJ 8k | SORT .CQ 2k | SORT .OBJ 10k SPCLDIO .CQ 6k | SPECUSER.COM 2k | SQ .CQ 6k | SQ .HQ 2k SQ-15 .OBJ 14k | SQ/USQ15.DQC 2k | SQCHANGE.DQC 2k | SQCOM .HQ 2k SQDEBUG .CQ 2k | SQHISTOR.DQC 6k | SQU.CQM 4k FRND13 .CQ 8k | FRND1X .DQC 4k | FROMCPM .CQ 4k | FS .CQ 2k HELP .HQP 2k | HEXDIF2 .CQ 2k | IO .CQ 2k | L2 .DQC 10k L2 .OBJ 18k | L2-NEW .CQ 16k | L2LINK .FQX 2k | LIFE .CQ 6k LOGIN MODM13 .CQ 8k | XMODM13 .DQC 6k | YAM .PQC 60k YAM8 .CQL 2k DRIVE D, USER 3 CONTAINS 966K IN 165 FILES WITH 584K FREE -HELP .ARA 0k | ALGOLM .HLP 12k | ASM .HLP 4k | ASM2 .HLP 4k BYE .COM 6k | C .HLP 18kT .CQ 4k PPRINT .DQC 2k | PPRINT .HQ 6k | PR .CQ 4k | PR .MQN 2k PR .OBJ 10k | PRIME .CQ 2k | PRVLIB .CQ 4k | QSORT .CQ 2k RAIN .CQ 2k | RCV .CQ 6k | READMAIL.CQ 4k | RESTART .CQ 2k RM QM 14k | DEFF2A .AQM 8k | DEFF2A01.CQM 8k DEL .CQ 4k | DEL .OBJ 4k | DIF .DQC 2k | DIF .MQN 2k DIF-11 .OBJ 8k | DIF2 .CQ 12k | DIF2 .OBJ 16k | DIF2 .RQO 4k DIFVSASM.DQC 2k | DIO .HQ 2k | DIO2 .LNET .CQ 14k TESTCLOG.CQ 2k | TESTTRIG.CQ 2k | TEXT .QQQ 2k | TIME .CQ 2k TR1 .CQ 2k | TR2 .CQ 10k | TYPESQ14.CQ 4k | TYPESQ14.DQC 2k TYPESQNT.OBJ 10k | TYPSQ80B.OBJ 10k | UNLOAD .CQ 4k | UNTIP .CQ 2k US .CQ 4k | MFP14 .CQ 12k | MFP20 .CQ 10k MFP20 .DQC 6k | NDIO .CQ 6k | NEWFLVAL.CQ 2k | NEWSTUFF.DQC 2k NL2 .CQ 16k | NOBOOT .CQ 2k | NOBOOT .OBJ 4k | OPBOX .CQ 2k OTHELLO .CQ 8k | PACDEFS .HQ 4k | PACDEF.HQP 2k | LOGOUT .HQP 2k | LOGUTL .CQ 6k | LOWER .CQ 2k LOWER .OBJ 8k | LPR .CQ 2k | LPR .MQN 2k | LPR .OBJ 8k LPRINTF .CQ 2k | LS .CQ 8k | MAIN1 .CQ 4k | MAKOVL .CQ 14k MCROANG .HQ 6k | MENU k | MAC .HLP 8k MASM .HLP 8k | MBASIC .HLP 22k | MINIRBBS.COM 2k | MISSISSA.HLP 22k PASCAL .HLP 10k | PLI .HLP 8k | POLICY .HLP 4k | PROG-DB .HLP 8k RBBS .HLP 4k | RCPM .HLP 2k | READ-ME .HLP 16k | RESOURCE.HLP 2MZ89XM.H A3:YAMX .SUB A3:YAMTU .SUB A3:YAMPHONE.T A3:YAMTRSII.SUB A3:YAMLYLE .SUB A3:YAML .SUB A3:YAMD .SUB A3:YAMDIF .SUB A3:YAMDCH .TXT A3:XYAMHELP.T A4:CPMUTL .CQ A4:SB .CQ A4:UMODEM30.CQ A4:WHATSNEW.CTEM .DIR A0:TYPESQ .COM A0:FLS .OBJ A0:TYPESQNT.COM A0:CHAT .COM A0:FILEFIND.COM A0:RCPM .NEW A0:BULLETIN. A0:HELP .COM A0:CPMINFO .COM A0:RCPM-24A.LQT A0:SD .COM A0:PAMS .AQR A1:DIO .HQ A1:SQ .HQUSER 4 CONTAINS 28K IN 4 FILES WITH 648K FREE -SUPERCA.LC 0k | FORM1040.CQL 8k | SCHEDULA.CQL 4k | WHATSNEW.COM 2k DRIVE D, USER 4 CONTAINS 14K IN 4 FILES WITH 584K FREE -SPECIAL.ARA 0k | BDOS22A .AQM 50k | BYE .COM 6k | CONFIG LY .CQ A2:STONE .CQ A2:TABIFY .CQ A2:TTT .CQ A3:YAM1 .CQ A3:YAM2 .CQ A3:YAM3 .CQ A3:YAM5 .CQ A3:YAM7 .CQ A3:YAM8 .AQM A3:YAM9 .AQM A3:YAM10 .CQ A3:YAM-PMMI.DQC A3:YAMDOC .RQO A3:YAMDOC .MQH 584K FREE FILES WITH 648K FREE -NEWSOFT.WAR 0k | WHATSNEW.COM 2k | WILLOWDL.ED 32k DRIVE D, USER 5 CONTAINS 34K IN 3 FILES WIT8k SOFTWAR1.HLP 2k | SPECIAL .HLP 2k | STORES .HLP 4k | SURVEY .HLP 4k THISSYS .HLP 2k | TRANSFER.HLP 6k | WHATSNEW.COM 2k DRIVE A, USER 4 CONTAINS 322K IN 39 FILES WITH 236K FREE -PASCAL .PRG 0k | CAL .OBJ 14k | CAL .PQSUEEZER.DQC A2:PMMI .H A2:BDS-C .DQC A2:VOLUME48.DQC A2:BDSCIO .HQ A2:RALLY .MAP A2:R2 .MAP A2:OTHELLO .OBJ A2:BUGS .OBJ A2:TTT .OBJ A2:LIFE .OBJ A2:MM .OBJ A2:STONE .OBJ A2:TABIFY .OBJ A2:HLIFE .OBJ A1:USQDIO .CQ A1:SQCOM .HQ A1:USQ .HQ A1:SQ/USQ .HQS A1:CIO .CQ A1:DIO2 .CQ A1:TYPESQ .DOC A1:FLS .CQ A1:IO .CQ A1:SQDIO .CQ A1:TR1 .CQ A1:TR2 .CQ A1:UTR .CQ A1:TYPESQ14.CQ A1:SQ.AQM 4k CPMPOWER.DQC 4k | CPMPOWER.OBJ 10k | DCON-UTL.BQG 2k | DCON11 .DQC 10k DCON11 .OBJ 10k | DIAG1-3 .OSB 16k | DIAGV1-2.OSB 14k | DUP .OSB 6k MINIRBBS.COM 2k | RBBS2BYE.RQN 2k | REC-V05 .AQM 16k | REFM .OBJ 14k TOMBS M A3:YAM .DIF A3:YAM .HQ A3:YAM .SUB A3:YAM1 .DIF A3:YAM10 .DIF A3:YAM2 .DIF A3:YAM3 .DIF A3:YAM5AP .CQ A3:YAM7 .DIF A3:YAMAPPLE.H A3:YAMLYLE .H A3:YAMTRSII.H A3:YAMTUART.H A3:YAMZ89 .H A3:YA A0>FILEFIND *.* A0:SQ/USQ .DOC A0:SQ .OBJ A0:CPMCAT .COM A0:CAT .DOC A0:CRCK .COM A0:NEWRCPM .TGM A0:TYPESQ .DOC A0:CHANGES .DOC A0:XFER .DOC A0:XMODEM .DOC A0:USQ .OBJ A0:INDEX .DOC A0:THIS-SYS.DOC A0:SYS 10k | CAL-13 .OBJ 16k CAL-13 .PQS 10k | GOTOXY .PQS 4k | PLIXREF .PQS 20k | WHATSNEW.COM 2k DRIVE B, USER 4 CONTAINS 76K IN 8 FILES WITH 362K FREE -PLI .PRG 0k | PSTAT .OBJ 20k | PSTAT .PQI 6k | WHATSNEW.COM 2k DRIVE C, A2:HSTONE .OBJ A2:PRESSUP .OBJ A2:PPONG .OBJ A2:RALLY .OBJ A2:-CATALOG.048 A2:ABSTRACT.048 A2:BUGS .CQ A2:HLIFE .CQ A2:HSTONE .CQ A2:LIFE .CQ A2:MM .CQ A2:OTHELLO .CQ A2:PPONG .CQ A2:PRESSUP .CQ A2:RALS 2K IN 2 FILES WITH 362K FREE -UPLOAD .ARA 0k | SMODEX38.ENH 2k | WHATSNEW.COM 2k DRIVE C, USER 5 CONTAINS 4K IN 3 FILES WITH 648K FREE -NEWSOFT.WAR 0k | WHATSNEW.COM 2k | WILLOWDL.ED 32k DRIVE D, USER 5