IMD 1.16: 28/05/2007 17:23:04 -FOG/UTL053   åååååååååå  åååååååååå  åååååååååå  -FOG/UTL053/UTL#053CRC /UTL#053DOCARCADD COMARCADD1 DOC ARCCOPY COMARCCOPY1DOCARCDEL COM åARCDEL DOC ARCDIR COMARCDIR1 DOC ARCGET COM ARCGET1 DOC ARCTYPE COM ARCTYPE1DOC LBR-ARC COMåLOCK COMV !LOCK DOC"MKEY COM#MKEY DOC"$%&NSQ COM/NSQ110 DOCSORTDIR COM SORTDIR3DOCåUNLOCK COMV'()*+,USQ COMåCRCKLISTCRCåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå!9"´ 1P Í2¶  Í}þ Ò&+ ÍDÃ:¯2ë :€·Â}È ÍD>ÿ2ë H ÍD!€6xë Í:�·Ê<2€_!‚å6á�~·Ê}Ít#ÃeþaØþ{Ðæ_É Í:¶ _Í!€P €ÍIQ Í�Ê1þ(>ʪ¯2è ë"æ !"Ø !håÍçáÍ{å*Ø "Ø á:è ·Êèë*æ ëÕÍ�Ê1ÑÍ�þ)º"é Íç!]~þ Ê1 ~þ?ÊO#åÂù¯2³ *æ ëÍ�Ê#þ/Â#Í�þEÂ12³ *Ø }´Â[!e͉ ÍDÍT:¶ _Í:ë ·Â<*´ ùÉ ÍDÍTÃ:*Ø "» ͯL ÍD!eÍ“ÍT!\@ ÍIëåÑ6ÍIÍo!h"· *Ø "± !$6ÍI*·  ÍIÍ<ÂÉ6 ÍDÃ:Íš*· "· *Ø +"Ø }´ÂšÍð:³ þEÂ:!h"· *± "Ø !  $6ÍI*·  ÍIÍ*· "· *Ø +"Ø }´ÂùÃ:ÍÉ Í4 Ã4 Ã~# x±ÂIÉ:\·ÊpG:¶ <¸ÊpxÆ@_Í4:Í4!]åÅ~þ Ê�_Í4Áá# Âu.Í4!eåÅ~þ Êž_Í4Áá# Â’Í:É|ºÀ}»É*» "Ê !"Ì "Î *Ê ¯|g}o"Ê ´Èë*» +}“o|šg"Æ !"Ä *Ä " * ë*Ê "È Í,ÊÚÍ_*ÊëÕ*Ø ë*» Ñ#))))"Ü "à *ö"Þ å† ÍDÑ*Ü {•OzœGÍ%Í:Í:*» }´È))))åÁ*é ë*Ú ëÍIÉ!@\ ÍIë͉m ÍDÍT!I͉@Í@Í<Ê¿!"» Ãì#Í*9"â }´È+åÍÐ!¯ ~æ# ®*ä ës#r#Áë ës#rë#"ä >ÿ·É*» }´Ê åÁ*Ú Å å#æ¾Â„ # ÂåáÁå ^#V#N#F ë* }“o|šg" úµÊÃç*Ä #"Ä ë*Æ Í©Ú¾Ãá*Ì #"Ì * ))))ë!h"¾ å*È ))))ë!h"À ѾÀ#ÂUÉ*Î #"Î *¾ ë*À Fwx# ÂoÉÕå:\·ÊŽ_Í\ÍáÑ<ªåÕ:¶ _ÍÑáÉÕåÑ=‡‡‡‡‡Õ!€_Ñ#:\ ~æ#ÂÅ!ÑÕå\ÍáÑ<ªÜ!\å*æ ëÍ�á·ÊÞ@Gþ:ÊÕy“_xšW*â +Í©Â~ á6åÍÑ*aëáÕ"a!\ ÍI\ ÍDÍTÕë"9*à ëÍ!Í·ÂÈ*à €"à ë*Þ Í©ÜÑÑ*â Í©Â9 ÍÑá"aáññ¯ÉÑá6ÿëÉáÁ x±ÂÝ*» åÁ*Ú >ÿ¾Ê±  x±Â˜ å*» #"» áå6ÿ#åÑ6ÍIÑÉ*Ú Ã¨ ARCADD Version 1.32 Dave Rand 12/26/1982 Use:  :¶ É·Èþ ÀÃ�Í�È!\ ÍI\ ÍDÍTÕë"9*à ëÍ!Í·ÂÈ*à €"à ë*Þ Í©ÜÑÑ*â Í©¶ÉÍÑ@Í<ʤ! ARCADD (fspec1 fspec2) fspec3 | fspec1 fspec3 [/E] Where fspecN can be wildcard, such as B:*, ASSEM???.ASM, C:*.* The fspec3 defines the destination archive for the files. It may not be ambiguous. /E - Erase after IÍ“åÑ6ÍI@Í@Í<Ê¿*» ))))ë*Ú ë*» }æÊRå>ÿÕá6ÍIá#"» Ã4*Ú ë*» åÕÍ@ͷ¶Ñ!€ëáøÿ }´ÂY@Í<ʤÉ6A#6R#6C#É6D#6I#6R#É ÍDÉ— ÍDÃ:· ÍDÃ:Ø ÍDÃ:å ÍDÃ:÷ ÍDÃ:*à ë*Ü Í©Èå{•OzœGÅ” ÍDÁÍ%§ ÍDáëÕÍ@adding to archive.$ Can't find any files to add to: $ File not found. You must have changed disks.$ File too long, invalid.$ Can't find .ARC file!$ Can't close destination file.$ Can't rename destination file.$ Disk full.$ Directory full.$ Read er"ͷ¶*a#"aá€ë*à Í©Âö*Ü "à ÉÅáP ÕÕ ÍTÆ0 Â3Ñ>$Ñþ0ÂQ ÂFÃDůÃ`�òe€)Ãh)# Â[ÁÉ!IÍ“@Í<ÊS*é ëÕÅÍ@ͷ±Á ¨e ÍDÃ:Ñ!€ëÇáÑ&)))"» !I͉åÑ6ÍI@Í<Âá ÍDÃ:@#Í*a"ä *» #))))ë*é ë"Ú ror.$ Ambiguous destination not allowed: $ CP/M version 2.x required!$ *$ Directory: $Inserting file: $ Creating new archive: $Buffer size: $--------> Writing $ bytes. $  åce as fast) o FULL Wildcards supported: B:*, A:*, C:AQ*.A?M o Uses only 22% of the memory required by Rubenstein's ARCADD: (4K instead of 18K!) o More efficient add algorithm. To use, just type ARCADD fspec1 arcname, where fspec1 åis the wildcard specification for the source file(s), and arcname is the destination ARC file. If the destination does not exist, it will be created. You may also use the multiple file mode, as follows: ARCADD (fspec1 .... x:fspecN) arcname å where fspec1 through fspecN are wildcard source files, and may include drivespecs. ARCADD now has a more efficient addition algorithm. Instead of always appending to the .ARC file, it now checks to see if the file exists in the destination arcåhive. If it does, and the size has not changed, the current write buffer is purged, the source file is read, and the file is overlayed with the new information. The advantage to this method is that if you are just making minor corrections to files, the  ARCADD - Version 1.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada ARCADD1 is an assembly language replacement for ARCADD, by Rubenstein. The advantages to this version are: o Faster operation (about twi.ARC file does not become so inefficient (read LARGE!). The disadvantage to this method is that the disk has to do more seeks, thus slowing the operation down by 0-10%. If you wish to always append, simply ARCDEL the files first.   åÍ<Ê* #))))ë*Ëëå"¿Ñ"Á"Å*ö"ÃÍ]!"ž"É*ž))))"µë*Ëë~þÿÂf*µë*¿6ÿ#åÑ6ÍlÃÈå\ ÍlŠÍgÍwá N#F#^#V͆ë#"ÇÅÑÕë"š *ÅëÍy !Í·Â *Å€"Åë*ÃÍÌÜÑ*ÇÍÌÂ�*ž#"žë* ÍÌÂ7Íy Í<Êå¡ Í<Êå!¡ 1 Ílå!¡  ÍlëÍÀA Í1 Í<Êî!ª ÍÊåÑ6Íl¡ Í¡ Í<Ê*¿ë* åÕÍ¡ Í·Â÷Ñ!€ëáøÿ þÿÊv}´ÂM¡ Í<ÊåÍ]ÉÅÕ{‘oz˜gå*µë*Ëëå*µë*¿ëá Íl*Éës#r#Áë ës#rë#"ÉÑÁÉ6A#6R#6C#É6D#6I#6R#É6$#6$#6$#ÉÍÍgÉ÷ÍgÃxÍgÃx8ÍgÃx!9"™11 Í2› Í}þ Ò&eÍgÃx:]þ Â7FÍgÃx Í:›_Í:\·ÊS=_Í!eÍÊ!É Õå\ÍáÑ<†hÍgÍw:›_Í*™ùÉÕåÑ=‡‡‡‡‡Õ!€_Ñ#:\ ~#¡ÕáÑÕå\ÍáÑ<†"ËÕá"½!É "œ!Q R $6Íl*œQ  ÍlQ Í<Âù„ÍgÃx*ËëÕEÍgÃxWÍgÃx*Åë*ÁÍÌÈëÕÍ¡ Í·Â÷á€ë*ÅÍÌÂ*Á"ÅÉ ARCCOPY Version 1.16 Dave Rand 12/26/1982 Use: ARCCOPY fspec [fspec] Where fspec can be wildcard, such as B:* C:, ASSEMBLE, C:AQ* a: The second filespÅÍQ Í·Â)Á  ³ÍgÃxÑ!€ëÃÿáÑ&)))" }´Ê>ÍÒÍž*œ "œ*½+"½}´ÂÊÃxÍÉ ÍW ÃW Ã~# x±ÂlÉ:\·Ê“G:›<¸Ê“xÆ@_ÍW:ÍW!]åÅ~þ ʤ_ÍWÁá# ˜.ÍW!eåÅ~þ ÊÁ_ÍWÁá# µÍ]É|ºÀ}»É* "¯!"±"³*¯¯|g}o"¯´Èë* +}“o|šg"«!ec defines the destination drive for the files. If not supplied, current drive is used.$ No ARCHIVES under name: $ File not found. You must have changed disks.$ File too long, invalid.$ Can't find .ARC file! Skipping to next.$ Can't c"©*©"§*§ë*¯"­ÍOÊ;Ú;Í‚*¯ë*§}“o|šg"§ú;µÊ;à *©#"©ë*«ÍÌÚáÃ*±#"±*§))))ë*Ë"£å*­))))ë*Ë"¥Ñ¾À#ÂxÉ*³#"³*£ë*¥Fwx# Â’É*œ\ ÍlzÍgÍw!y z O6Íl!\y  ÍlëÍÀ!\¡  ÍlëÍÔ:l2¡ y Í<ÊÞ¡ Í¡ lose destination file.$ Can't rename destination file.$ Disk full.$ Directory full.$ Read error.$ CP/M 2.x required!$ Directory: $Copying file: $   ARCCOPY - Version 1.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada ARCCOPY1 is an assembly language replacement for ARCCOPY, by Rubenstein. The advantages to this version are: o Faster operation (about åtwice as fast) o Wildcards supported: B:*, A:*, C:AQ* o Uses only 10% of the memory required by Rubenstein's ARCCOPY: (2K instead of 20K!) To use, just type ARCCOPY fspec, where fspec can be a wildcard. To copy an archive calleåd MYASM, for example, to drive B, type: A0>ARCCOPY MYASM B: To copy an archive called HARD to the same drive, type: A0>ARCCOPY HARD åå!9"[1ãÍ2] Í}þ Ò&ÍeÃÏ:€·Â6@ÍeÃÏ Í:]_Í!€ã€ÍjäÍŒÊ-þ(>Êc¯2vë"t!"l!ûåÍãáÍÐå*l"lá:v·Êœë*të͌ʜþ)Âs"}Íã!]~þ Ê- ~þ?ÊÝ#­*l}´Âé!eͶUÍeÍu:]_Í*[ùÉßÍeÍuÃÏÍe!eÍÀÍu!\Ó åÍjëåÑ6ÍjÍîÍ[!û"^!«¬$6Íj*^« ÍjÍ–*^"^*l+"l}´Â͵ÃÏÍÉ ÍU ÃU Ã~# x±ÂjÉ:\·Ê‘G:]<¸Ê‘xÆ@_ÍU:ÍU!]åÅ~þ Ê¢_ÍUÁá# –.ÍU!eåÅ~þ Ê¿_ÍUÁá# ³Í[É|ºÀ}»Éë!\ Íjë É!\å*tëÍŒá·ÊÿÞ@Gþ:Ê:  ]É·Èþ ÀÃŒ*b"w*}"yÍGÀå&ÍeÍuá6ÿâ6A#6R#6C#É6D#6I#6R#ÉÑÍeÃÏ’ÍeÃϲÍeÃÏ¿ÍeÃÏ!ÜÍÀÓÍ<Ê;å*}ëÕÅÍÓÍ·Â0Á Â'xÍeÃÏÑ!€ëÃáÑ&)))"bÉ6ÍeÍuÃÏ*w|µÊ±åÁ*y¬åÅ ~þÿÊ�#¾Â˜#Âb^#V#N#F#"yë"pÅá"r"{áÑ+"wëå\ ÍjáÉþ?ÊgÁá x±ÂT"yÅá"w>ÿ·É!ÜÍÀåÑ6ÍjÓÍÓÍ<Êå*b))))ë*}ëë*b}æÊ å>ÿÕá6Íj ARCDEL - Version 1.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada ARCDEL is new in the series of ARC programs. It allows the wildcard deletion of files WITHIN an archive. Before, it was only possible to delete filá#"bÃë*}ë*båÕÍÓÍ·ÂÜÑ!€ëáøÿ }´ÂÓÍ<ÊÓÉ ARCDEL Version 1.12 Dave Rand 01/01/1983 Use: ARCDEL (fspec1 fspec2) fspec3 | fspec1 fspec3 Where fspecN can be wildcard, such as B:*, ASSEM???.ASM, C:*.* Tes inside an archive with DDT or DU. When a file is deleted, or when a file is re-added to an existing archive, a hole develops. ARCDIR will show the relative efficiency of the archive, and when the efficiency (%) drops too low, ARCCOPY should be he fspec3 defines the source archive for the files. It may not be ambiguous.$ Can't find any files to delete: $ File too long, invalid.$ Can't close destination file.$ Disk full.$ Directory full.$ Read error.$ Ambiguous archive not allowed: used. Note that ARCDEL can create holes very rapidly, and the efficiency should be monitored on a regular basis. Also be aware THAT ARCDEL IS VERY DESTRUCTIVE! ARCDEL *.* file WILL DESTROY ALL FILES IN THE ARCHIVE!!! Make SURE the parameters give$ CP/M 2.x required!$ Directory: $DELETING file: $ Archive directory does not exist: $oo long, invalid.$ Can't close destination file.$ Disk full.$ Directory full.$ Read error.$ Ambiguous archive not allowed:  ARCDEL are correct, and that you have a back-up copy of the .DIR file. To use ARCDEL, just indicate the files you wished removed, either in list form or wildcard form, or both. ARCDEL (OLD.ASM NEW.ASM) ASSEMBLE ARCDEL OLD.* B:ASSEMBLE    ARCDEL (OLD.* *.NEW) C:ASSEMBLE Drivespecs may be supplied on the file list, but will be ignored. Drivespecs on the archive file will be respected. Note as well that this program only modifies the .DIR portion of the archive, and the .ARC file neͦͷÂ2Á ÂHÍãÃwÑ·Ê*þÿÂT!€ëÃþáÑåÕá6ÿÍòá&)))"}´ÊTÍXÍŸ* "*2+"2}´ÂÉÃwÕÍÑ{þ Ìš Í·ÈÍþÊwþÀÿÍ·ÊŽÉ:7<27G:¸ÀÕÂÍãÍŽþÊwÍÍã¯27ÑÉ [More...]$ $ Ím Ãmë~þ$È#å_ÍmáÃä~# x±ÂòÉ:\ed not be present, or if present, it may be squeezed. ive file will be respected. Note as well that this program only modifies the .DIR portion of the archive, and the .ARC file ne·ÊG:<¸ÊxÆ@_Ím:Ím!]åÅ~þ Ê*_ÍmÁá# Â.Ím!eåÅ~þ ÊG_ÍmÁá# Â;ÍÙÉ|ºÀ}»É*""!"$"&*"¯|g}o""´Èë*+}“o|šg"!"*"*ë*"" ÍÕÊÁÚÁÍ*"ë*}“o|šg"úÁµÊÁÃ�*#"ë*ÍRÚgÊ*$#"$*))))ë*4"å* ))))ë*4"ѾåÀ#ÂþÉ*&#"&*ë*Fwx# ÂÉœÕÕ Í„Æ0 Â0Ñ>$Ñþ0ÂN ÂCÃãœÕÕ Í„Æ0 Â]Ñ>$Ñþ0Â~>  Âp�ÃãůÃ��ò•€)Ø)# ‹ÁÉ!"*",*\ ÍòwÍãÍý‡Íã¯26*åÁ*4~þÿÊãåÅ#ÍnͽÍ\Áá x±ÂÏÍÙÙÍã*,Í$àÍåã**Í$ñÍã*,åÁÍSÍXÍSÍSÍSÍXÍSÍSå**åÁáy/Ox/Gÿ {Îÿ_Ú=j&Í$ÍãÉ){_É ÐÉ:6<26þÀ¯26ÍÙÉåÅ~þ Ê�_ÍmÄÁ ÅÁá#ÂrÅå.ÍmáÁåÅ~þ Ê¥_ÍmèÁ ÅÁá#–åÅ ÍmÁ °áÉN#F#^#VÅÕ{‘oz˜gë*,",ëåÍQ Ímá####|·g}o|·g}o|·g}oÍQÑÁ**Ã!9" 1œ¯27Í2 Í}þ Ò.bÍãÃw:]þ Â?ÍãÃw:\·ÊM=_Í!e6D#6I#6R!ÎÕå\ÍáÑ<Â…ýÍãÍý:_Í* ùÉÕåÑ=‡‡‡‡‡Õ!€_Ñ#:\ ~# ÕáÑÕå\ÍáÑ<Â…"4Õá"2!Î"!¦§$6Íò*¦ Íò¦Í<ÂøÍãÃw*4ëÕÅÍRÒ ë"*Å ÍmÁ  É ARCDIR Version 1.30 Dave Rand 12/26/1982 Use: ARCDIR fspec Where fspec can be wildcard, such as B:*, ASSEMBLE, C:AQ* (No extention .DIR is required, and any supplied will be ignored.)$ N  o ARCHIVES under name: $ File not found. You must have changed disks.$ File too long, invalid.$ CP/M 2.x required!$ Directory: $ Name Recs Size(K) Name Recs Size(K) Name Recs Size(K) $Using $ records of the $ records allocaåted. ($%) $tory: $ Name Recs Size(K) Name Recs Size(K) Name Recs Size(K) $Using $ records of the $ records allocaå ARCDIR - Version 1.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada ARCDIR1 is an assembly language replacement for ARCDIR, by Rubenstein. The advantages to this version are: o Faster operation o Wildåcards supported: B:*, A:*, C:AQ* o CP/M 'K' size shown for each file o Uses only 11% of the memory required by Rubenstein's ARCDIR: (2K instead of 18K!) To use, just type ARCDIR fspec, where fspec can be a wildcard. Extensions are igånored, so B:QQZ.OLD will be translated to B:QQZ.DIR. in's ARCDIR: (2K instead of 18K!) To use, just type ARCDIR fspec, where fspec can be a wildcard. Extensions are igå  !9"y1 Í2{ Í}þ Ò&Í£Ã&¯2£:€·Â}"Í£>ÿ2£/Í£!€6xë Í:�·Ê<2€_!‚å6á�~·Ê}Ít#ÃeþaØþ{Ðæ_É:£·Ê’> Í:{_Í!€ €Í¨¯2š ÍÊÊ1þ(>ʵ¯2”ë"’!"Š! åÍ!áÍå*Š"Šá:”·Êóë*’ëÕÍÊÊ1ÑÍÊþ)ÂÅ"¡Í!!]~þ ÊͨáÉþ?ÊÔÁá x±ÂÁ"˜Åá"–>ÿ·É ARCGET Version 1.31 Dave Rand 01/01/1983 Use: ARCGET (fspec1 fspec2) fspec3 | fspec1 fspec3 Where fspecN can be wildcard, such as B:*, ASSEM???.ASM, C:*.* The fspec3 defines the retrieve 1 ~þ?Ê;#Â*Š}´ÂG!eÍ‘8Í£ͳ:{_Í:£·Â<*yùÉøÍ£ͳÃ&3Í£!eÍ›ͳ!\Ð  ͨëåÑ6ͨÍ! "|ÍÔ*|"|*Š+"Š}´ÂwÃ&ÍÉ Í“ Ó Ã~# x±Â¨É:\·ÊÏG:{<¸ÊÏxÆ@_Í“:Í“!]åÅ~þ Êà_Í“Áá# ÂÔ.Í“!eåÅ~þ Êý_Í“Áá# archive for the files. It may not be ambiguous.$ Can't find any files to get: $ File too long, invalid.$ Can't find .ARC file!$ Can't close destination file.$ Can't rename destination file.$ Disk full.$ Directory full.$ Read error.$ Ambigu ÂñÍ™É|ºÀ}»Éë!\ ͨë É!\å*’ëÍÊá·Ê=Þ@Gþ:ÊE:{É·Èþ ÀÃÊ*€"–*¡"˜!ø ù $6ͨ*|ø  ͨÍ´Àå*ous archive not allowed: $ CP/M 2.x required!$ *$ Directory: $Getting file: $ Archive directory does not exist: $ $|~á#2ø 2\ù  ͨÕá6ͨø Íø Í<ÊÐCÍ£ͳ*�"Œ*ŽëÕë"ñ *ŒëÍÐ !ͷ¬*Œ€"Œë*ŸÍÜÙÑ*�ÍÂFÍÙø Í<ʵÃà6A#6R#6C#É6D#6I#6R#ÉrÍ£ÉêÍ£Ã&ŠÍ£Ã&ªÍ£Ã&ËÍ£Ã&ØÍ£Ã&*Œë*�ÍÈëÕÍø "Í·ÂÇ* #" á ARCGET - Version 1.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada ARCGET1 is an assembly language replacement for ARCGET, by Rubenstein. The advantages to this version are: o Faster operation (about twi€ë*ŒÍÂå*�"ŒÉ!٠͛РÍ<ʨ*¡ëÕÅÍÐ Í·ÂVÁ ÂMXÍ£Ã&Ñ!€ëÃ,áÑ&)))"€!Ù Í‘åÑ6ͨÐ Í<†rÍ£Ã&*€ë*¡ë#))))"�"Œ*ö"ŸÍ™ÉRÍ£ͳÃ&*–|µÊåÁ*˜ù åÅ ~þÿÊ #¾Â#ÂÏ^#V#N#F#"˜ë"ŽÅá"�"›áÑ+"–ëå\ ce as fast) o FULL Wildcards supported: B:*, A:*, C:AQ*.A?M o Uses only 10% of the memory required by Rubenstein's ARCADD: (2K instead of 20K!) To use, just type ARCGET fspec1 arcname, where fspec1 is the wildcard specification for t  he file(s) you wish to retrieve, and arcname is the source ARC file. If the destination does not exist, it will be created. You may also use the multiple file mode, as follows: ARCGET (fspec1 .... x:fspecN) arcname where fspec1 through fspecåN are wildcard destination files, and may include drivespecs. If a destination file is not in the specified archive, no error will result, and that file will be skipped. Ã!9"Ü 1z¯2ø Í2Þ  Í}þ Ò@ÍK CP/M 2.x required!Ã:€·ÂaÍK ARCTYPE Version 1.32 Dave Rand 01/01/1983 Use: ARCTYPE (fspec1 fspec2) fspec3 | fspec1 fspec3 Where fspecN can be wildcard, such as B:*, ASSEM???.ASM, C:*.å* The fspec3 defines the retrieve archive for the files. It may be ambiguous.Ã!€z€Í{Í5ÊGþ(>Ê€¯2÷ ë"õ !"í !’åÍŒáÍyå*í "í á:÷ ·Ê¾ë*õ ëÕÍ5ÊGÑÍ5þ)Â�" ÍŒ!]~þ ÊG!eÍÍ´"ÿ }´ÊáÃ!eÍ ÍK Can't find any fileså to type: Í!:Þ _Í*Ü ùÉ!’" *í " * \ Í* "í ÍK Directory: !eÍÍ!!\j ÍëåÑ6ÍÍSÊ­!’"ß !BC$6Í*ß B ÍÍ?*ß "ß *í +"í }´Âz*  " *ÿ +"ÿ |µÂ(Ãæ_·Êïþ Âê:ø <2ø G:·Êê¸>Ü‚þÈÍÿÍþÊþÀåÿÍþÊ·ÀÃþÍK É~# x±ÂÉ:\·Ê<G:Þ <¸Ê<xÆ@ÍÆ>:ÍÆ!]åÅ~þ ÊLÍÆÁá# ÂA>.ÍÆ!eåÅ~þ ÊhÍÆÁá# Â]ÍÉ|ºÀ}»Éë!\ Íë É!\å*õ ëÍ5á·Ê¨Þ@Gþ:ʰ:Þ É·Èþ ÀÃ5*ã "ù * "û Í ÀÍK Typing file: Í!*ñ "‹€Íj!Í·Â?!€^#V!vÿÍs*ñ Â!9"¯2 2 <2 ÍÍK Original name: ÍÉÂK·ÊÍÍÆýÍ " |µÊ÷ÕÍÑës#r#åÍëás#r#ë* +ÃÓÍK ÍWåþÊKÍÆþÊKÃýÍÉÂ!õÍÉÂ!gñoÉÍK Premature EOF on file... aborted.ÃKá~·#åÈÍÆÃK: ·Êf=2 : ÉÍ…þ�Â�Í…·Âx>�É==2 : É2 É: O: ·ÂžÕÍÉÂ!ÑO>=2 yOõ! ñÒ³##^#Vzæ€ÊŒy2 zþþ>È{/É: <2 þ€Êß_!€~¿É¯=2 *‹#"‹ë*ó Êj!Í·Â?ÃÉå1ÃKëÕë"‹€Íj!Í·Â?!€Í?Ñ*ó ÍsÂ*ý ëÍsÂKÃK€Åå~æþÊ[ÍÆþÊ^áÁ#ÂAÉáÁÉáÁÑá#"ó +åÕÉÿÍþÊþ ÈþÈþ ÂjÉåÅÕ¯2ø ÍK ¯2ø ÿÍþ ʰþ ʰþÊþʰÃ’ÑÁáÉ!’Õå\ÍáÑ<ÂÎ!ÉÕåÑ=‡‡‡‡‡Õ!€_Ñ#:\ ~#ÂéÕáÑÕå\ÍáÑå<ÂÎ" ÕáÉ6A#6R#6C#É6D#6I#6R#ÉÍK Can't find .ARC file: Í!¯ÉÍK Read error.Ã!sÍjÍ<ÊÔ* ëÕÅÍjͷ¬Á £ÍK File too long, invalid.ÃÑ!€ëÃkáÑ&)))"ã !sÍ åÑ6ÍjÍ<ÊÉÍK Archive directory does not exist: Í!Ãå*ù |µÊz åÁ*û CåÅ ~þÿÊf åÕÅ Í~ ÁÑáÊf #¾Âa #Â- ^#V#N#F#"û ë"ñ Åá"ó "ý áÑ+"ù ë\ ÍÉþ?Ê2 Áá x±Â "û Åá"ù >ÿ·É"Ú © *Ú ëæ¾Â˜ #Š É#˜ ~·Ê¦ ëÄ /·ÉCOMOBJBADLOGSYSTX#EXEOVLOVRRELCRLIRLLBRARCINTABSå  åude drivespecs. The drivespecs, if supplied, are ignored. While a file is listing, the display will pause every MAXLINES lines. MAXLINES can be set by modifying the byte at 103H. If this byte is set to zero, no paging will take place. It is currenåtly set to 23. A file may be skipped by hitting CONTROL X, and the screen may be paused by the use of CONTROL-S. Any files of type OBJ, COM or REL will be ignored, as well as all squeezed files (type .?Q?). With the latest (1.3) version, a ARCTYPE - Version 1.0 Dave Rand 10232-160 Street Edmonton, Alberta Canada ARCTYPE1 is an assembly language replacement for ARCTYPE, by Rubenstein. The advantages to this version are: o Faster operation o Fny squeezed files are automatically usqueezed, and displayed. Since some squeezed files may not be text, just use CTRL-X to skip past them. ULL Wildcards supported: B:*, A:*, C:AQ*.A?M o Uses only 10% of the memory required by Rubenstein's ARCTYPE: (2K instead of 20K!) To use, just type ARCTYPE fspec1 arcname, where fspec1 is the wildcard specification for the source file(s)å, and arcname is the retrieval ARC file. The retrieve filespec may be ambiguous. You may also use the multiple file mode, as follows: ARCTYPE (fspec1 .... x:fspecN) arcname where fspec1 through fspecN are wildcard source files, and may inclå  !9"è1‚ Í2ê Í}þ Ò&´̓Ãx:]þ Â7”̓Ãx Í:ê_Í:\·ÊS=_Í!eÍ!ò Õå\ÍáÑ<†¶̓Í“:ê_Í*èùÉÕåÑ=‡‡‡‡‡Õ!€_Ñ#:\ ~#¡ÕáÑÕå\ÍáÑ<†" Õá" !ò "ë!¢ £ $6͈*ë¢  ͈¢ Í<ÂùÓ̓Ãx* ëÕ ÑÁÉ6L#6B#6R#É6A#6R#6C#É6D#6I#6R#É6$#6$#6$#É̓ÉF̓Ãxf̓Ãx‡̓Ãx”̓Ãx¦̓Ãx* ë* ÍèÈëÕÍÊ Í·ÂEá€ë* ÍèÂl* " É LBR-ARC Version 1.02 Dave Rand 12/02/1983 Use: LBR-ARC fspec [fspec] Where fspec can be Í¢ Í·ÑÂZÕ!^#Váz·ÂZå&k))"ï}´áÊZK€ë ÊTÕÅÍ¢ Í·ÂxÁÑ!€ëÃ3Íîͼ*ë "ë* +" }´ÂÊÃxÍÉ Ís Ãs Ã~# x±ÂˆÉ:\·Ê¯G:ê<¸Ê¯xÆ@_Ís:Ís!]åÅ~þ ÊÀ_ÍsÁá# ´.Ís!eåÅ~þ ÊÝ_ÍsÁá# ÂÑÍyÉ|ºÀ}»É*ï"þ!" " *þwildcard, such as B:* C:, ASSEMBLE, C:AQ* a: The second filespec defines the destination drive for the files. If not supplied, current drive is used.$ No LIBRARIES under name: $ File not found. You must have changed disks¯|g}o"þ´Èë*ï+}“o|šg"ú!"ø*ø"ö*öë*þ"üÍkÊWÚWÍ *þë*ö}“o|šg"öúWµÊWÃ&*ø#"øë*úÍèÚýà * #" *ö)))))ë* "òå*ü)))))ë* "ôѾÀ#–É* #" *òë*ô Fwx# °É*ë\ ͈É̓Í“!Ê Ë '6͈!\Ê  ͈ëÍ":l2Ê Ê ÍÊ .$ File too long, invalid.$ Can't find .LBR file! Skipping to next.$ Can't close destination file.$ Can't rename destination file.$ Disk full.$ Directory full.$ Read error.$ CP/M 2.x required!$ Directory: $Copying file: $Í<ÊN*ï#)))))ë* ëå" Ñ" " *ö" Íy!" #"í* åÑå*ï#)))))åÁ á6ÿ͈*í+))))" *í)))))" ë* ë~·Ê�* ë* 6ÿ#åÑ6͈Ãÿå\ ͈Ù̓Í“á N#F#^#Vz³Ê½åÅÅáëÁáÍÊë#" ÅÑÕë"à * ëÍ¢ !Í·ÂW* €" ë* ÍèÜ`Ñ* ÍèÂÆ* file.$ Disk full.$ Directory full.$ Read error.$ CP/M 2.x required!$ Directory: $Copying file: $í#"íë*ïÍèÂUÍ`¢ Í<Ê3Ê Í<Ê3!Ê ‚ ͈!Ê  ͈ëÍ’ Í‚ Í<Ê<!Ó ÍåÑ6͈Ê ÍÊ Í<ÊN* ë*ïåÕÍÊ Í·ÂEÑ!€ëáøÿ |æ€Â­}´Â„Ê Í<Ê3ÍyÉ* ë* 6ÿÃÿÅÕ{‘oz˜gå* ë* ëå* ë* ëá ͈* ës#r#Áë ës#rë#"å  åååÃìÑÍò >Ú +ë<2Z8¯2[82e8"X8ëå*~8Íò ÒÕ áëÉÍßÀ~·<ð=õæÊQ+:e8<2e8ñæîÀ:e8·È:e8=2e8<É#~þÂ=+:e8·Â=+:o8·Â=+ñ7É"X8:Z8=2Z8ÉÍe þ&°+*R6~þ Ê®+þ Ê®+åÅÍРͼ+Áá"R6®+>&2\8Ã,þ&°+:\8·Âµ+>&ÍÓ3·øõ¯2\81GÍ NSQ version å1.11 Jim Lopushinsky 02/16/84 Í- Í2¯2 :€·Â˜Í Use: NSQ afn [afn afn ...] [destination [drive][user]:]>ÿ2 Í *ÍfÊ{+~å<Ía6áT]Íú: ·Ä ¯2=2!€6 " *"* ~þ Ê¿#ë!\Íp#}´Ê9+" !]~þ Â2+45Âæ+~#<Ê9åÍ Outputá45ÊåÍ dråive = á~2Æ@ÍF+~<Ê,=2õÍ user = ñÍuÍ?Ã5Í* }´Âµ*ë*Í! ÂbÍ No file(s) found.Ç*Í! Ú‰! "ë*Í .å"Í! Ú‰»Í  Out of memory. Use more specific filenames.á|g}o"*"*ë*Í! Ê![ë Í�"!\Í®![G"Í�!Q~þ >Qå w#w#Ã6#¾Â6Í has 'Q' in middle of filetype ÃÌw!H:·ÊBw:<ÊL=+wÍŒÂeÍ not found ÃÌ*ÍÚ Í³·Êqþ”Í is already squeezed ÃÌþ«Í is empty ÃÌþÂÍ Squeezing will not produce any size reduction Squeeze anyway (Y/N): Ífʰ  þYÊkþN°Í?ÃÌþÂDÍ squeeze table or bit length overflow ÃÌÍ  invalid return code from SQINIT/SQ!\Í®Í -> !HÍ®:GÍ' !TT]6Í�!Q~æwHÍHÍ<ÂÊÍ  no more directory space*"ÍŒ!\Íð ͳ·ÊþÂDÍ abnormal EOF on input f“ "• Í~¯2> ͯ >Ãè vÿÍüÂ) >Ãè }2= åÍ`á|Ã< ͻʗ != ¾Êq #45ÊŽ õ~6þÒb G+~õÍ`ñÂU ñÃŽ õ>�Íiñ<ÍiñÃŽ þ�ÊŽ #4~þÿÂ6 å>�Íiá~6Íi:= 2= Í`Ã6 :> ·Ê© õ>�Íiñ<Íi*“ ^#V#N#z³±ÂÄ #® >Ãè ~å*• w#s#r#q#"K á>2? #^#V#N#~#2‘ {²±ÊK åÅ:? G*• #åÍÚ á#ile ÍFHÍÍ?ÃÌ: ·Â{Ç![4: Ê+5~wÍ' lÍ\ÍÃJ\Í<È*ë![õÍ�ñ=‡‡‡‡‡!lÍa# Í�ë"ÃBõ¯2 ñd͇ ͇�Ú‘ É€õy·Â£Ê£: ·Ê¬yÆ02 ÍFñɯ2 54ÊÀ~Æ@ÍF2 +: ¾ÊÑ~<2 =Íu#: ·ÊÞ>:ÍF#~þ ÊïÍF#ÂáxÍa~þ È>.ÍF~þ###Â÷ y2’ Ã* *K y2’ ÁÅ }‘O|˜GÕT]+Í+Ñá+Á:‘ w#s#r#:’ w*K ####"K :? <2? áÂÜ :? !Ú·Êm 45Âd ¾Âh ¾Òm #Â[ !Ùp¯2Œ 2� Íįg2> 2J 4xÍëö ͬʬ G!= :Ù¾Ú ~!h Íá:>  ÈÍF#ÂþÉþaØþ{ÐÖ Éá~·#åÈÍFÃá~·#åÊ.ÍFà Í - aborting.Ç> ÍF> õÅÕå_ÍáÑÁñÉÅÕåÍáÑÁÉ…oÐ$É€>} ÍÍ?!�~·È#~Í ·Éx±È ~#Ã�:[Í' *""!hi6Í�\Í<Éõ:[Í' \ÍñÉ*ë*Í! ÌæÈ~#"ÉÍ aborted.Ç:·Âö Í·ÂØ:[Í' *"¾Â ÍeÃì :D þÊ" !> 4xÍëÃå GÅÃ& ÅÍe!@ ~þþÚ: := þ~Ò: >ý< 4:E ¾Ú" xÍëÃa 2E ÁÈ ͬʬ G!> 4:E ¾xÚš ÍëÃ� Íeæ ͬʬ Íëà :� ·õÄ‘ñ‡ :Œ ·Âé !` d Í !y h Í :8 =2Š >ÿ2Œ 2Ž Ãa >ÿ2Ž !` d ÍÚ* ¯2Ž ë*Í! Ê)ÕÍ\ÍÑ·Â)!€"Ã*ë*"Ã! *w#"ë*Í! À:GÍ' *ë*Í +}öo#"*Í! Ê„ÕÍHÍѷ‹!€ëÃ`*"ÉþÊ®þ¬Í  no more disk spaceþ ÂÈÍ  has an invalid FCBþ ÂçÍ  media change occurredÍ  disk I/O error~·È#!h :Š Íá:� Nw:‹ /<þÿÊa G:� ‘þÒa 4x2‹ ÃK !y h Í !h :Š Íá~2� :‹ †ú w:Ž ·Ê{ !` d Í Ã{ >ÿ2‹ :Ù!Š 4¾Òy >ÿ2� Ã{ ~!h Íá~2� Ã6 !` Í6¯2› *H ))>Íá` "W !"Y !W Íæë~öwë6å#¯w#w#wáÍæëÍ6!T Í6*T ë*` Íü>Òè ¯*Ø ù*` É:› ·Êù ¯É"™ !9Ãú Í}þ0Ð Í:_Ã}“o|šgÉ|ºÀ}»É_ Ãÿ Í2 É͸$:7þ À2ï6*Þ6ëÍú2ë"ð6É6·Ì†¯2ï6û !€8Ns#FrÍ@3ÍI3q#pÉ*|8^#V+É*|8##^#V+É*€8}´Êi3ëÕÍI3ë"€8ÑÓ3ÿ~8 ë"~8!ÿ9Íò ÚÕ *X8%:Z8·Íò ÚÕ *|8ëÍú2ÕÍ@3ë*„8ë{æà_{²Â§3ÑÕs>ÿ2› "— !9"Ø 1Ø *— }æüo>Íá"9 ""Ø 1Ø !vÿÍV*M ÍVë!Íõ"M *™ #~þ Ê0Í[#Â">.Í[xÍá~þ ÊIÍ[#Â;¯Í[*H ÍV))ë*9 ~Í[#z³ÂY¯2< 2> >2; Í»ÃÎÍ»Ê×!= ¾Ê±#45ÊÎõ~6þÒ¢G+~õÍñ•ñÃÎõ>�Í&ñ<Í&ñÃÎþ�ÊÎ#4~þÿÂvå>�Í&á~6Í&:= 2= ÍÃv:> ·Êéõ>�Í&ñ<Í&>ÿÍÕ###Í+:; þÊG:<   ÂÍ[>ÿ2› *M |µ>¯*Ø ùÉþ�Â&Í&¯ÅÍÕÁÅF#^#V:; O{_zW:<  ÂIÍ[¯2< Â5y2; ÁÉ}Í[|ÅÕåÍ6áÑÁÉõÅ:� ·Ê¡:D *H ë*F G:J Os#r#}æˆ z·Ê’»Ê¸Â}"F ë"H y2J != 4~þÒ¸¯2> !D ~‡wÁñÉÁñá:Ù=GÂÈ>òè :� ·ÂÖ:Œ ·Âü !Ùp:� ·Ê{ ¯2� 2Œ Ã{ õÍÕ:= w#å*B +2\ Z  intadr: ds 2 otcadr: ds 2 ottadr: ds 2 ds 40 stack equ $ fotusr: ds 1 outfcb: ds 36 x·Ê"Vë"XHi&)))#"^!a`A¯w#Â~!a"Z!`"\*XA¯¶#—·Êþ·A*V~w#¦!^5º#5ú*ZA~w#¾Åy2`*\DM*Zë*X·ž#:`=2`ÂØÁ?Ò¢*Zë*\"Zë"\â7ïÍ+!"] "^ \ !W Í ` !W Íæ:= !y Íá4!D 5:� ·Â?áñÉ*F 6ÿ:J O}æÊR7zW{_~þÚwA+~+õ}æÊj ñ·Â_~¸ÊKÃ_ás#r*F ñ/w#6ÿ#"F }æÀ!J 4É>ÿÍÕ###å!¡ãÍï*F >þ+w+!Á>à ?!Ð>à ?!à>Íò>Ã-?"R9*+ù++"ß8*R9å:ê8·Â2â8*ß8ùÍùA:o>þ Ê-?¯2î82æ82ì82ë82é82è82í8<2ç82å8ý>ů2Þ8Í�@Ø^9Í€@S9þ Ây?>€2Þ8å!ï8Ít@á> 2S92[9¯2R9yÖ,·2è8£?:Þ8î€2è8Í�@Ød9:é8·Ê°?a9Í€@S9:R92ä8Ö 2ã8ÂÍ?:Þ8Æ@2Þ8å*W ë!á:ÙG~#åfoÍõáÚ% #ÂñG¯xÉñ·À=>ÉëW Õ¯Í áO Ã_ÖÚPÃGxÉ!O 4À#4À#4À#4Éþ�ÂiÍi¯ÍRo&))ë*“ 4À#4À#4ɯGO*“ w#w#w#q# „!O w#w#w#w#!O T Í !"M ÉÍ»ÈoåÍ»ágÉÍÄÈõ*M Íá"M ñ!T 4À#4À#4É*“ GÍáxÍáx…oÐ$ÉåÕ·Ž#ÂéÑáÉ}“o|šgÉ|ºÀ}!9Ít@áyþ=7Àx·ÈH ë" !  " i`)))#"A! 6#Â+·A* +~wÂ7kbA+~wÂBÒaÕ* ë! A·Žw#ÂWÑ!5Â3#45È5Ã3å+6ÿ#ÍÇáåÍæͨÊIÕͨÊ–‡ÑÃþ:ÑÂͨÊåÖ0Ú_þ ÒÉGy‡‡�‡€OþÒ_+~#<Â_ßÊÑ+q#ÖÚ_þÒ_45Â_�áå wÃIͨÈþ Ú^ú^ ›þ*Ê w#·É6?#ò Éå!ó¾Ê¸45#­·áÈþaØþ{ÒÄæ_æɯw# ÍßÍß Íß p# ÂßÉþ Êæþ 澃 .,:;[]=<>|low keyboard abort, 0ffh=don't allow 103h ?memry: $memry: ds 2 outusr: ds 1 dfldsk: ds 1 outdsk: ds 1 oldusr: ds 1 notail: ds 1 drusfl: ds 1 sigdig: ds 1 cmdadr: ds 2 nxtnma: ds 2 topnam: ds 2 inbtad: ds 2 incadr: ds 2 inbadr: ds 2ͨÈþ Ú^ú^ ›þ*Ê w#·É6?#ò Éå!ó¾Ê¸45#­·áÈþaØþ{ÒÄæ_æɯw# ÍßÍß Íß p# ÂßÉþ Êæþ 澃 .,:;[]=<>|IͨÈþ Ú^ú^ ›þ*Ê w#·É6?#ò Éå!ó¾Ê¸45#­·áÈþaØþ{ÒÄæ_æɯw# ÍßÍß Íß p# ÂßÉþ Êæþ 澃 .,:;[]=<>|   File squeezer Jim Lopushinsky November 8, 1983 SÑ haó no÷ beeî rewritteî iî assemblù language® Aó yoõ wilì see¬ � iô operateó mucè fasteò thaî thå olä SÑ program® queezå subroutine®  Iô readó thå inpuô  filå � again, and writes the squeezed file. Input: Registeò  HÌ  containó thå addresó oæ thå FC  foò �                thå  originaì  filå  (sï thaô  iô  caî  writå  thå �                filename in the s SÑ ió no÷ 808° � compatable. Thå prograí writeò caî utilizå thå squeezeò bù searchinç SQLI iî � the link step. Only 2 external refrences are needed: SQINITº  Thió ió thå analysió phase®  SÑ readó thå inpuô file¬ � and analyzes the file for sququeezed file). Output: Registeò Á has the return code:                0 No errors                1 Abnormaì  EOÆ  wheî readinç thå inpuô filå  á �                     second time. Š SQINIÔ  itselæ haó µ externaì refrences¬  ³ oæeezing. Input: Registeò  HÌ containó thå addresó oæ á scratcè paä �                foò  SQ®  Thió areá oæ raí musô bå aô leasô  3072                (0C00h) bytes. Output: Register A has the return code:                 0 N whicè arå resolveä � iî SQLIB® The 3 refrences in SQLIB are: MPBMUL Multi-byte binary multiplication MPBDIV Multi-byte binary division MPLSR Multi-byte logical shift right SQINIÔ requireó ² externaì refrenceó froí thå co errors                 1 Input file is already squeezed                 2 Input file is empty                 3 Squeezeä  filå  wilì bå largeò theî  thå �                          input file.                 4 Squeeze tablallinç prograí foò � bytå  reaä anä bytå write®  Theså ² subroutineó arå calleä  froí � SQINIÔ  anä  SÑ tï inpuô unsqueezeä  characters¬  anä  tï  outpuô � squeezeä  bytes®  Thå ² subroutineó dï noô havå tï preservå  anù � registers, and must return conte or bit length overflow. Registeò HÌ containó thå sizå (iî sectors© oæ  thå �                squeezed file.                Registeò  DÅ containó thå sizå (iî sectors© oæ thå �                input file. SQº Thió ió thå srol with a RET instruction. RDBYTEº  Thió thå bytå inpuô subroutine®  Onå bytå oæ datá  ió � passed back with each call to RDBYTE. Input: none. Output: Register A contains a byte of data for squeezing. Z flag cl  ear (NZ true): byte of data passed. Z flag set (Z true): end of file reached. WRBYTEº  Thió ió thå bytå outpuô subroutine®  Onå bytå oæ datá � is passed to WRBYTE with each call. Input: Register A contains a squeezed byteå of data. Output: none. Thå WRBYTÅ subroutinå musô perforí itó owî erroò recoverù oò �      termination. The main program should do the following: 1. Open the input file 2. Call SQINIT 3. Check for error1¾þÍl:€·Ê:‚ÖAþÚ#§ÍlÃ21ÈÍl>2Y:1_ÍÍ"4~27##~2R###^#VÕ#^#V#F#Në#"9ÑÍ&#"W*9¯|g}o¯|g}o####";:1O>Íq^#Vë"2*;åÁ:6_Å*4 ~#fo"=Á!¾ÅÕååÁÕ>$ÍqÑK*2ë>0ÍqåÁ>!Íq*=åÁ>Íq>'Íq·Â€á€Ñ:7»Âùå*=#"=á:6_Á x±Â¬ return from SQINIT 4. Re-open the input file 5. Open the output file 6. Call SQ 7. Check for error return from SQ 8. Close the output file ŠIf there are any questions or comments, I can be reached at 484-6945 ãÍlÍØøÍl*;åÁ:6_Å*4 ~#fo"=Á!¾ÅÕååÁ>$ÍqK*2ë>0ÍqåÁ>!Íq*=åÁ>Íq>*Íq·Â€á€Ñ:7»Âxå*=#"=á:6_Á x±Â+Íl*NåÁÍ‹>Íl*PåÁÍ‹VÍl*9"LåÁÍ‹nÍl!¾~þåÊÅÃÆÕ Ñå*L+"L}´á»ÕÍ‹†ÍlÁÍ‹žÍlÿ*9"L!¾å~þåÊ ror return from SQ 8. Close the output file ŠIf there are any questions or comments, I can be reached at 484-6945 »ÊOÍ‹ Íá^Õ å*L+"L}´áÑÂù*W:S/_ÿëåÕÍÑåÍUáÑõÕå¦ÊN áÑz³Ê]ñÍfÃEñ:RPYëÖÊ�)å*W)"Wáõ:Y‡'2Yñ=Âi"Uë!z³Ê’#Èå*Wëáå{•_zœWÕ:T/o&ÿ#å¶ÍlÁÍ‹KÍÎÍlÑÁÕÍ‹KÍÁ`iÍ#Í"ÍÍÍÍ"ÍÍå*WåÁáy/Ox/Gÿ {Îåÿ_ÚüJÅæÍlÁÍ‹%ÍÃ){_É ÐÉõ`i)Ò2 Â-y2SëñõåÖO:SGÊO‡G ÂHx2TáñÉ:SO€xÍfG Â[xÉ·Ð#É ÃåÕ*+++_ÑãÉ´ ÍÃÅá?ÕÕ ͽÆ0 ™Ñ>$Ñþ0· ¬ ÍÉůÃÉ�ò΀)ÃÑ)# ÂÄÁÉ*9"L!"N"P*L¯|g}o"L´Èë*9+}“o|š  g"H!"F*F"D*Dë*L"JÍUÊAÚAÍ…*Lë*D}“o|šg"DúAµÊAÃ*F#"Fë*HÍ¡Úçà *N#"N*D)))))¾"@å*J)))))"BѾÀ#Â{É*P#"P*@ë*B Fwx# •É|ºÀ}»É Bad drive.$ Read/Write Error!$ Loading directory track.$ Sorting directory.$ Writine '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 ordg 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 : $ er. 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 Sortdir Version 3.1 Dave Rand 04/01/84 $ : $ Deleted entries : $ User areas active : $ Disk space used : $ Disk space free : $ Percent full : $ 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.  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 th 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 <---- Fretext or .COM file to prevent anyone from tampering with the file. Any attempt to access or run the file will display the message and refuse access. Refer to .DOC files. NSQ, & USQ are the latest in the Squeeze/Unsqueeze utilities. NSe space Percent full : 89% <---- Pecentage occupation of disk In all, SORTDIR is a fast, useful tool for maintaining directories! Q will "compress" a file resulting in space saving for storage of in transmission time by modem. Refer to .DOC files. SORTDIR will sort the disk directory and place listings for "erased" files at the bottom of the disk directory. Thus "erased" f First Osborne Group (FOG) -FOG/UTL#053 Copyright 1984 by First Osborne Group (FOG) to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribuiles might be reclaimed even if the disk directory has been packed. Refer to .DOC file. ********** AQM files are squeezed assembly language files. They may be unsqueezed using UNSQUEEZE utilities found on FOG/UTL.003, 004, 014, ation for profit or personal gain is strictly forbidden. For information, contact FOG, P.O. Box 3474, Daly City, CA 94015. ********** ARCADD, ARCCOPY, ARCDEL, ARCDIR, ARCGET, ARCTYPE & LBR-ARC are a series of ARCHIVE programs similnd 031. First Osborne Group Utility Disk Library Prepared by Jim Wack, November 1984 ar in function to LU.COM (Library Utility). It will "pack" a series of small files into one large file which in many cases will conserve disk space. Refer to appropriate .DOC files for more info. LOCK, MKEY, & UNLOCK will allow you to "Lock" any $Í9Ê$#þ*Â6?ÃwÂÍ9Ê+Ã#6 Â$#6Â-ë"¡É·Èþ Èþ=Èþ_Èþ.Èþ:Èþ;Èþ<Èþ>É·Èþ ÀÃT~# x±Â^É:·È! ~·È·æ¾ÂŠ#Ây>ÿ·É#ŠÃq   --> FILE: -FOG/UTL.053 CRC = 00 00 --> FILE: /UTL#053.DOC CRC = 65 60 --> FILE: ARCADD .COM CRC = E1 C1 --> FILE: ARCADD1 .DOC CRC = DD 46 --> FILE: ARCCOPY .COM CRC = 6A 6E --> FILE: ARCCOPY1.DOC CRC = 54 14 --> FILE: ARC of a file can be listed before an error message occurs. If you do not want to limit the number of lines listed, set this byte to zero. 105H=0 (00H) Exclude system files, when set to X'FF', totally ignores system files, and "taDEL .COM CRC = D1 05 --> FILE: ARCDEL .DOC CRC = FD E2 --> FILE: ARCDIR .COM CRC = 6E CB --> FILE: ARCDIR1 .DOC CRC = 54 87 --> FILE: ARCGET .COM CRC = 41 D9 --> FILE: ARCGET1 .DOC CRC = 9A BE --> FILE: ARCTYPE .COM CRC =gged" files. No error message is printed, the file is simply forgotten! If you would like to be able to list system files, just set this byte to X'00'. 106H=255 (FFH) Exclude extensions, when set to X'FF', will exclude files like .CO D6 EE --> FILE: ARCTYPE1.DOC CRC = 0B E6 --> FILE: LBR-ARC .COM CRC = AD 4E --> FILE: LOCK .COM CRC = 6B 39 --> FILE: LOCK .DOC CRC = 71 59 --> FILE: MKEY .COM CRC = BB 59 --> FILE: MKEY .DOC CRC = EB 67 --> FIM, .OBJ, .INT, .ABS and so on. If you would like to list these files (?), just set this byte to X'00'. 107H=255 (FFH) Mask control characters, when set to X'FF', will only allow X'0D', X'0A', X'07', X'09' and X'08'. If you want all contrLE: NSQ .COM CRC = 6E 83 --> FILE: NSQ110 .DOC CRC = 0A 33 --> FILE: SORTDIR .COM CRC = EB E4 --> FILE: SORTDIR3.DOC CRC = 83 BD --> FILE: UNLOCK .COM CRC = 41 C1 --> FILE: USQ .COM CRC = 10 5A --------------------- --> FILE: ARCADD .COM CRC = E1 C1 --> FILE: ARCCOPY .COM CRC = 6A 6E --> FILE: ARCDEL .COM CRC = D1 05 --> FILE: ARCDIR .COM CRC = 6E CB --> FILE: ARCGET .COM CRC = 41 D9 --> FILE: ARCTYPE .COM CRC = D6 EE --> FILE: LBR> SUM OF CRCS = 9F 9F TDIR3.DOC CRC = 83 BD --> FILE: UNLOCK .COM CRC = 41 C1 --> FILE: USQ .COM CRC = 10 5A ----------------------ARC .COM CRC = AD 4E --> FILE: LOCK .COM CRC = 6B 39 --> FILE: MKEY .COM CRC = BB 59 --> FILE: NSQ .COM CRC = 6E 83 --> FILE: SORTDIR .COM CRC = EB E4 --> FILE: UNLOCK .COM CRC = 41 C1 --> FILE: USQ .COM CRC =   10 5A ---------------------> SUM OF CRCS = 25 28 M CRC = 6E 83 --> FILE: SORTDIR .COM CRC = EB E4 --> FILE: UNLOCK .COM CRC = 41 C1 --> FILE: USQ .COM CRC =åimum value patched at 108H, the maximum drive and user values are automatically set to 15 (0FH). This allows a SYSOP, for example, to have full access to all drives/users on his system simply by going into a protected user area. Disclaimer a!9"ì1P *.€÷" Í  USQ Version 1.20 Dave Rand 01/07/1984Í2 ¯2:€·ÂÙÍ  Use: USQ afn [afn afn ...] [destination drive:]>ÿ2Í  *!€6xë Í:�·Ê—2€_!‚å6á�~·ÊÙÍÐ#ÃÁþaØþ{Ðæ_É:·Êî Í: _Í!€l€ÍðÍ2nd Warning: ---------------------- While this program has been tested, no liablity will be assumed for its operation, or lack thereof. Feel free to use this for personal use, but if you wish to bundle it with other software, or <2mÍæÊ]ë"!"!X åÍ=:]þ ÂPÍ  Output drive = :\2Æ@ÍýÍ :Ã_áÍ‹"å*"*~þ #Êp·ÊwÃb"ëÍæáÂ*}´ÂšÍï No file(s) found.*""ë* |’g}›o¯|g}o%|·ÂíÍï Out of memory. Use more specific filenames.ë*" $$.""* sell it itself, please contact me for more information. Dave Rand 10232-160 Street Edmonton, Alberta Canada T5P 3E9 (403) 484-4114 voice (403) 489-0944 Data (300 baud, up occasionally)  "!X  ÍðåÕá6ÍðÍ<ÊgÍ  Íî*""åÍÖvÿÍáÊzÍ  is not a squeezed file. 1N *+"|µáÂÃá¯2ÿ2ÍÖ"Í  -> !€åÍáõÍÐGñxwÂg·Ê¯åÍýá#Ã’!€"Í=!\D Íð:2D!PQ6ÍðDÕÍÑÍ<ÂÍï No directory spaåce. Aborting.ÍÖ"ûÍÚKÍï Files has illegal decode size. Aborting.P "ý|µÊrÕÍÖÑës#r#åÍÖëás#r#ë*ý+ÃN!åÍá‰_åÍiáÃuë*Íõ͆DÍ<µÍï Close failed...ñÊgÍ  ERROR - Checksum error in file Íî1P :·Â—1Éá~·Êá#åÍýÃïæ_  ÍÉ|ºÀ}»Éá~·#åÈÍýà *ë*ÍÊ,~#"¿É*""åëÍÍá·ÂX€ë* ÍëÒ5"ë*ÍÂ>ÿ·ÉO*ë*ÍÊ}q#"ÉÅ͆ÁyÃi*ë*ÍÈëåëÍDͷ¼á€ë*ëÍÚ’*"ÉÍï Disk full. Aborting.ÍÂçõÍÂçgñoÉÍ  Premature EOF on fil"áŠåÝá#~·È:\ í°!"!""Ý~· 7 ÉÍ'ÂíÍ2Ê3ÍcÍo¯252Y>2 Íx:·( Í«Íã(íÍv(Í,Í]Í5Í\ÉÿÍþÉ9Í]Ãt:mþ ÉÝ!m!ZÝ~Ͷ؆OæU©wÝ#{Ææ_ä·Éþ Èþ/Øþ:8þ@Øþ[?É3€!Šy…o0$Ý!Zxæ_ÝÝ~†_檫wyÆæOÙÝ!Z0!Š~e... aborted.Ãg:·Ê!=2:¿ÉÍCþ�Â>ÍC·Â4>�¿É==2:¿É2¿É:O:ÿ·Â\ÕÍÂçÑO>=2ÿyO!P Òk##^#Vzæ€ÊJy2zþþ>ʈ{/¿Éá·ÉÕå:\·Êž_Í\ÍáÑ<ºåÕ: _ÍÑáÉÕå=‡‡‡‡‡!€_Ñ#:\ ~#ÂÓëå\ÍáÑ<ºì:·Ê G: <¸Ê xÆÝwÝ#{Ææ_î.&­"}É!]>? ¾(#ú¯2 É!~2 #Ë~É!9 í°! í°ë6#û9Í]9Í<ÉÍÉ!Š €í°ÉÍɪ ¯2íSÍ–À!4> ¾Èí[éÍÍvʀͷɯ2ª Ý!* ÍÌë€Ýë!4:– ëÉ! €†OæU©wÝw#Ý#ïÉ! ~6·( ÍÂ�ŠÍÂ�*@Íý>:Íý!åÅ~þ ÊÍýÁá# Â>.Íý!%åÅ~þ Ê5ÍýÁá# Â*É!\å*ëÍæá·ÊYÞ@Gþ:Êa: É·Èþ ÀÃæ~# x±ÂðÉ íSÍÂ�í[!5 ëÉÍÍvÊ€9Í·É9ÍÉÍ`Í]!Ií°!B: æ€G~æ°w9ÍÉ!æ¾À#÷ë+++6LÉ~ùA valid keyword must be specified $¨ùInvalid keyword $ÀùNo file $ÐóLimit of 32 matching files $üͳÍ¿óFile�Ã|#6 †þ.¶ÍËʶ#þ*¦6?èw•ÍËʽì#6 ¶#6¿ë"É·Èþ Èþ=Èþ_Èþ.Èþ:Èþ;Èþ<Èþ>É·Èþ ÀÃæ~# x±ÂðÉ $has system attribute $õüͳÍ¿+ͳñÉempty $9ùNo directory space for operation $üͳÍ¿kólocked $zù------------Aborted $9Í]œùDisk full - aborting $ ÍÉͳÚ: ·È!~·( Æ@Íý>:Íý#~þ (Íý#õ>.Íý!~þ (Íý#õ> ÃýÅÕåÃ]TMPPRLís1ª Í2͉ÊxÍ�Ú¢ÍÇÍͪʺÜÊ!"Íö(ÜÔ0ó:_Íí{Ã!h6ü\ÍþÿÈæ!€O ë*|Ö?ØŠ ë í°* "\Íþÿ ˯<É*|ÖÈå _ÍáÑÁÉ ==== !~þÊÅÕå_ÍáÑÁ#ëõy¯# QqÙo¸¶p&¦cQD W~Å�GÁ'þîŸí ©3vâr×ã]tff9-4 �%a3 >N7–°ëA‰ $xHà#¯*wö†Ã:Ø~[ÁWø0&.ØmºŒÌ�J•¥äŸv_à"šw<] §u§Ïv¬@oª>yV^iw:d>VSM)G²a…lJ©¢ØóŸOº2ÂCM1Œ¬ XZu÷ªs¥�ó-¾XJÙ!0N×u¨˜‚Aœ  Äaca¢BH      ååå  å To reverse the process, give UNLOCK (filename or match) (keyword) - with, of course, the same keyword. The MKEY program is in case you forget your keyword; you give MKEY (filename) and it tells you what it was. Naturally, this means yoåu shouldn't leave copies of MKEY lying around for spooks to use. If copies of MKEY are to be public at all, they should be "locked" (with an unforgettable keyword!). You are not protected from people assiduous enough to disassemble the programs and  ÌÏÃË®ÃÏͬ ÕÎÌÏÃË®ÃÏÍ áîä ÍËÅÙ®ÃÏÍ The programs LOCK, UNLOCK and MKEY are for the protection of those very private files you might leave in a shared system, or that other people might get a chance to copy off one of your disks. Give LOCK (fibreak the code. But they'll have a bit of work to do. Ãõóôïíéóéîç ùïõò ãïðéåó® Near the end of each of the three listings is a table of "mush" - random bytes used in the coding process. You can customise your copies by altering this table. It lename or filematch) (keyword) to lock one or more (up to 32) files. The keyword can be up to eight characters (no distinction between lower case and capitals). Once a file is locked, any attempt to read it with TYPE, or ED, or a word processor, orwill usually be sufficient to alter the eight bytes at the address "nmush", which are used in coding the keyword. But alter all of it if you wish. Make the same alterations in all three programs. ͯÐÍ âõææóº The lock-unlock system is more flexibl to execute it as a .COM file, will just give the message ==== And if your local spooks get out a debugger such as DDT, or whatever, to look into the file itself, they'll find that the contents have been fairly thoroughly scrambled. e in use (and more secure) than M/PM password facilities. Note that, for your benefit, LOCK alters a .PRL extension to .LRL, and UNLOCK alters it back.   à ís1ÊÍP<ʯ2|ªÍYÂ,*ÍYÂ,ÍhÍ–ÍÂÂ,ÍÒÍüÚ,ÍTí{Ã\ÍÉÍ\Í·É3!*y…o0$Ý!úxæ_Ý~_檫%–$ÝwyÆæO×É3€!*y…o0$Ý!úxæ_ÝÝ~†_檫wyÆæOÙÉ!**€¾À#ùÉÝ!!úý!úý~OæU©ý–Ýw{Ææ_Ý#àÉ!å~þ (þ/Øþ:8þ@Øþ[?Ø#ê¯É"Í—ÃINo file $5Í—ÃIFile irregular or not locked $mÍ—!~Í�#ùzÍ—É Keyword - $ Don't forget it again! $ ÍÉÅÕå_ÍáÑÁÉ ==== !~þÊÅÕå_ÍáÑÁ#ëõy¯# QqÙo¸¶p&¦cQD W~Å�GåÁ'þîŸí ©3vâr×ã]tff9-4 �%a3 >N7–°ëA‰ $xHà#¯*wö†Ã:Ø~[ÁWø0&.ØmºŒÌ�J•¥äŸv_à"šw<] §u§Ïv¬@oª>yV^iw:d>VSM)G²a…lJ©¢ØóŸOº2ÂCM1Œ¬ XZu÷ªs¥�ó-¾XJÙ!0N×u¨˜‚AœÄaca¢BHå;MKEY - Give "mkey (filename)" base equ 0 dmad1 equ base+80h fcb equ base+5ch fcr equ 32 stackp:: dw 0 ;keeps stack ptr pasbuf:: ds 8 start:: ld (stackp),sp ld sp,stac0 call open inc a jp z,nofdis xor a ld (fcb+fcr),a ld de,buf0 call rdsec jp nåz,nregds ;if eof ld de,buf0+80h call rdsec jp nz,nregds ;if eof call cpasgt ;gets coded keyword from old and new dmush call dmshmk ;reconstitutes dmush call comp ;ret nz if not correct jp nz,nregds call pasinv ;decode keyword from old and new nmush   call chcvld ;ret c if invalid keyword jp c,nregds call pasdis ;display valid keyword reb:: ld sp,(stackp) jp base ;sr open read fcb open:: ld de,fcb ld c,0fh call base+5 ret ;sr read (fcb) to (de), ret nz if eof rdsec:: ld c,1ah call base+5 ;sm old and new nmush pasinv:: ld ix,pasbuf ld de,4 ;arb start offset ld b,8 ;ct invlp:: ld hl,buf0+50h ld iy,pag1+50h add hl,de add iy,de ld a,(hl) ld c,a and 55h rla xor c sub (iy) ld (ix),a ld a,e add a,3 ;col incr and 7 ld e,a inc ix djet dma ld de,fcb ld c,14h call base+5 ;read sequential or a ret ;nz if eof ;sr get coded keyword from old and new dmush cpasgt:: ld c,51 ;arb start offset ld b,8 ;ct clp:: ld hl,buf0+80h ;new dmush ld a,c add a,l ld l,a jr nc,clp2 inc h ;startnz invlp ret ;sr ret c if invalid keyword char chcvld:: ld hl,pasbuf ld b,8 vldlp:: ld a,(hl) cp ' ' jr z,vldchr cp '/' ret c cp ':' jr c,vldchr cp '@' ret c cp '[' ccf ret c vldchr:: inc hl djnz vldlp xor a ;clear carry ret nofdis:: ld  byte addr clp2:: ld ix,buf0+50h ;new nmush adr ld a,b and 7 ld e,a ld d,0 add ix,de ld a,(hl) ld e,a and 0aah rra xor e dec h sub (hl) inc h ld (ix),a ld a,c add a,23 ;col incr and 7fh ld c,a djnz clp ret ;sr reconstitute mush dmshmkde,nofmsg call string jp reb nofmsg:: db 'No file',0dh,0ah,'$' nregds:: ld de,nregms call string jp reb nregms:: db 'File irregular or not locked' db 0dh,0ah,'$' pasdis:: ld de,pasms1 call string ld hl,pasbuf ld b,8 pdlp:: ld a,(hl) call disp i:: ld c,51 ;arb start pt ld b,80h ;length mlp:: ld hl,pag1+80h ld a,c add a,l ld l,a jr nc,mlp2 inc h mlp2:: ld ix,buf0+50h ;poss keyword ld a,b ;use b value for keyword ptr and 7 ld e,a ld d,0 add ix,de ld a,(ix) add a,(hl) ld e,a and 0aah nc hl djnz pdlp ld de,pasms2 call string ret pasms1:: db 0dh,0ah,'Keyword - $' pasms2:: db 0dh,0ah,0dh,0ah,'Don''t ' db 'forget it again!',0dh,0ah,'$' string:: ld c,9 call base+5 ret disp:: push bc push de push hl ld e,a ld c,2 call base+5 p rra xor e ld (hl),a ld a,c add a,23 ;col incr and 7fh ld c,a djnz mlp ret ;sr compare reconstituted mush comp:: ld hl,pag1+80h ld de,buf0+80h ld b,80h comp2:: ld a,(de) cp (hl) ret nz inc hl inc de djnz comp2 ret ;sr decode keyword froop hl pop de pop bc ret pag1:: .phase base+100h db 0dh,0ah,'==== ',0dh,0ah,1ah ;as a seq of instns, this gives a jump either to ;122h or to 173h fill:: ds base+122h-fill ;foll instn shd be 122h ;173h will be set to jr 122h later !  sendms:: ld hl,base+100h ld a,(hl) cp 1ah jp z,base push bc push de push hl ld e,a ld c,2 call base+5 pop hl pop de pop bc inc hl jr sendms+3 ;next byte 13ah db 0f5h,79h,10h,0afh,23h,09h db 51h,00h,19h,71h,0d9h,6fh,0b8h,0b6h db 70h,26h,å0a6h,63h,51h,03h,44h,20h nmush:: db 57h,7eh,0c5h,14h,8fh,47h,0c1h,27h ;adr 150h db 0feh,0eeh,9fh,0edh,09h,0a9h,33h,76h db 0e2h,11h,72h,0d7h,0e3h,5dh,74h,66h db 66h,39h,0fh,2dh,15h,34h,0ch,81h db 25h,61h,33h,09h,12h,3eh,4eh,37h db 96h,0b0h,0ebh,41h,89åh,0a0h,24h,78h dmush:: db 48h,0e0h,23h,0afh,2ah,77h,0f6h,86h ;adr 180h db 0c3h,3ah,0d8h,7eh,5bh,7fh,0c1h,0eh db 57h,0f8h,30h,26h,11h,0fh,2eh,0d8h db 08h,6dh,0bah,7fh,8ch,0cch,90h,4ah db 95h,0a5h,0e4h,9fh,76h,5fh,0e0h,01h db 1fh,22h,9ah,77h,3ch,5dh,0åa0h,0a7h db 75h,0a7h,0cfh,76h,0ach,40h,6fh,0aah db 3eh,79h,56h,5eh,69h,77h,3ah,64h db 3eh,56h,53h,4dh,01h,29h,47h,0b2h db 61h,85h,6ch,4ah,0a9h,0a2h,0d8h,0f3h db 9fh,4fh,0bah,32h,0c2h,43h,4dh,31h db 8ch,0ach,09h,58h,5ah,0fh,75h,0f7h db 0aah,73h,0a5åh,9dh,0f3h,2dh,0beh,58h db 03h,4ah,0d9h,21h,30h,4eh,0d7h,75h db 0a8h,98h,82h,02h,41h,9ch,02h,0eh db 0c4h,61h,63h,61h,10h,0a2h,42h,48h .dephase buf0:: ds 100h ds 20h ;for stack stac0:: end start å"  åÀ#ùÉp íS͘í[!5 ëÉÍ͉Ê“8Í·É8ÍÉÍhÍp!Hí°!A: æ€G~æ°w8ÍÉ!æ¾À#÷ë+++6PɆÃÿA valid keyword must be specified $°ÃÿWrong keyword $ÆÃÿNo file $ÖÃùLimit of 32 matching files $ÍùÍÃåùFile $has system attribute $õÍùÍ1ÍùñÉempty $?ÃÿNo directory space for operation $ÍùÍqÃùunlocked $‚Ãÿ------------Aborted $8Íp¤ÃÿDisk full - aborting $ÍùÍÊÃùirregular or not locked or wrong keyword $ ÍÉÍÃ\TMPLRLís1ð Í2͜ʀ͢ڪÍÚÍ(Í©ÊÀÜÐ!"Íõ(ÜÔ/ó:_Íí{Ã!h6ü\ÍþÿÈæ!€O ë*|Ö?ØÐ ë í°* "\Íþÿ ˯<É*|ÖÈå ùÙ: ·È!~·( Æ@ÍC>:ÍC#~þ (ÍC#õ>.ÍC!~þ (ÍC#õ> ÃCÅÕå_ÍáÑÁÉ ==== !~þÊÅÕå_ÍáÑÁ#ëõy¯# QqÙo¸¶p&¦cQD W~Å�GÁ'þîŸí ©3vâr×ã]tff9-4 �%a3 >N7–°ëA‰ $xHà#¯*wö†Ã:Ø~[ÁWø0&.ØmºŒÌ�J•¥äŸv_à"šw<] §"áÐåÝá#~·È:\ í°!" "!Ý~· 7 ÉÍ:ÂóÍ‚¯24ð Í©»p Í©»Íö»ÍEÊ9Ív¯2XÍ‹:·( ;Í(í͉(Í4ÍpÍ=ÍbÉÿÍþÉ8ÍpÃ|:mþ ÉÝ!m! Ý~ÍÉ؆OæU©wÝ#{Ææ_ä·Éþ Èþ/Øþ:8þ@Øþ[?É3€!Ðy…o0$Ý! xæ_ÝÝ~†_檫wyÆu§Ïv¬@oª>yV^iw:d>VSM)G²a…lJ©¢ØóŸOº2ÂCM1Œ¬ XZu÷ªs¥�ó-¾XJÙ!0N×u¨˜‚AœÄaca¢BHæOÙÝ! 0!Ð~ÝwÝ#{Ææ_î.&­"ÃÉ!]>? ¾(#ú¯2 É!~2 #Ë~É!8 í°! í°ë6#û8Íp8Í<ÉÍÉ!ÐP€í°ÉÍÉð ¯2íSÍ©À!4> ¾Èí[éÍ͉ʓͷɯ2ð Ý!p Íßë€Ýë!4:– ëÉ!P€OæU©–qÝw#Ý#ïÉ!0 �À¾#  $  %  &  ååååå'   DISK.DOC FOG/UTL.053 First Osborne Group (FOG) Utilities Disk ARCADD, ARCCOPY, ARCDEL, ARCDIR, ARCGET, ARCTYPE & LBR-ARC are a series of ARCHIVE programs similar in function to LU.COM (Library Utiliåty). It will "pack" a series of small files into one large file which in many cases will conserve disk space. Refer to appropriate .DOC files for more info. LOCK, MKEY, & UNLOCK will allow you to "Lock" any text or .COM file to prevent anyone fromå tampering with the file. Any attempt to access or run the file will display the message and refuse access. Refer to .DOC files. NSQ, & USQ are the latest in the Squeeze/Unsqueeze utilities. NSQ will "compress" a file resulting in såpace saving for storage of in transmission time by modem. Refer to .DOC files. SORTDIR will sort the disk directory and place listings for "erased" files at the bottom of the disk directory. Thus "erased" files might be reclaimed even if the disåk directory has been packed. Refer to .DOC file. TYPE will display a text file in a paged format. Refer to .DOC file. Jim Wack FOG Utility Librarian September 1984  to .DOC file. å