@8`.ARC12 DOC U/ -ARC12 COM U/D*ARCX12 COM U/ ARCX12 DOC U/DCOPYSP COMX READ.ME file for SUPER UN-ARC 1.1 (Beta-Test version) By: Robert Pu}ff 08/20/88 This file details the differences between version 1.0 and 1.1 of SUPER UN-}ARC. Bugs fixed. There were three independent bugs in the non-repeat un-packing routin}es, which caused files to give CRC errors and the message "Not Arc or AlfCrunch file". Also, stack overf}low errors have been trapped a little better. More parameters/added features. I added }three more functions: Over-write, Time/date stamp (SpartaDOS only), and Password de-cryption. Because of } the added parameters, a new way to set them was done. Type [P] to edit parameters; use the cursor keys }(no CONTROL), and RETURN. Press ESC when done. The over-write flag when turned off, wil }l warn you if a file already exists with the same filename, the program will ask you if you want to erase } the old one. Turning the over-write on will be as it was in 1.0. Time and Date stampin}g has been added for SpartaDOS users. SUPER UN-ARC will, if this feature is enabled, get the time and da}te from the data in the Arc or AlfCrunch file, and tell the DOS to use that time. I put this in as a fla}g, incase you back-up your data by date, this could conceivably cause problems (ie, the file might be too "old" } for the backup program to recognize). And finally, archives encrypted with a password can} be restored. You may use a 1-20 character password. An incorrect password will be characterized by the }message "File is Corrupted". If you press RETURN at the "Enter Password" prompt, it will turn the passwo}rd flag off, and proceed as a standard file (no password). If using SpartaDOS, pressing} ESC at the main menu will return you to the command processor. Lastly, the SpartaDOS c}ommand line has been enhanced: [Dn:]UNARC [Dn:][path>]filename[.ext] Dn:[path>] [/OPQST] } [password] The first parameter is the source file, the second is the destination d}rive number or pathname, and the third is the options desired: O = Over-write any file with th}e same name as destination P = Use a decryption password Q = Extract files with query } S = Turn screen off during uncompaction T = Use time/date stamp from source file for destination files} You may specify any or all. The fourth parameter is the password, and is only used if} the /P parameter is specified. An example: [Dn:]UNARC D2:TEST 3 /QS } Will uncompact the file D2:TEST.A?? to drive 3, extract with query, and turn the screen off during the } uncompaction process. If you do not specify anything for the third parameter, the defaults (screen on, no query)} will be used. [Dn:]UNARC TEST.JNK P: /P DATA Will uncompact file }TEST.JNK on the current drive and write the destination to the printer. It will use the password "DATA" !}to unencrypt the archive. I can't think of anything more to put in an Un-Arcing program"}! If you can, or have any suggestions/bug reports (no more bugs, I hope!), let me know. This is STILL a#} beta-test version, so please don't distribute it too much. After I am sure this is bug free, it will be $} "officially" released. Bob Puff Suite 222 2117 %}Buffalo Rd. Rochester, NY 14624 ZpLƓz `'}(} >`HH` Q`0BHILV)} >`,, ,0 BLV`ԩթ"/ ۠ c !hh  "/  <L!  c IL *} # #Press to continue... ؠH) 0h`8`ƛƚƙLQD B+}DEHI VLHI8`ƃƂ Yѐ`eiLEE,}ƆƅƍƌƋ`LL  BDEHI VLLŶŷ3 -}BDE8兝H冝I  VL  (Lp q8` cLError: à.}  `@AA@A@@AA@@A@AA@A@@A@AA@@AA/}@A@@AA@@A@AA@@AA@A@@A@AA@A@@AA@0}@A@AA@  01326754<=?>:;98()+*1}./-,$%'&"#! `acbfgedlmonjkihxy{z~}|tuwvrsqpPQSRVWUT\]_^Z[YXHIK2}JNOMLDEGFBCA@}Enter complete source filename:Destination Drive # or Pathname:塛Try somet3}hing like 1, D2:DIR>, or P:ingS/D Sectors: Bytes Saved:۱ Dirs, athname. Extract?4}Unknown Stored Packed SqueezedCrunched Alf'ed Filename: Stowage: Sectors------5}--------------------------------------------------------------Total Sector Length (SD) = BU6A%A$Insert 6} disk, press ΛInsert Disk, press ΛDisk Error Recovery Menu: Change Dest. Path/Drive #7} ۱ Directories Exit to main menuOr press to try again:File already exists - Replace?Use , 8} - toggle, - exit }|Screen Off:No! Extract w/Query:No!||Disk Swaps:No9}! Time/Date Stamp:No!||Over-Write:No! Password Encrpt:No!| BETA-TEST VER:}SION! |㡠򠱮| |By: Robert Puff 08/88|| Un-Arc/Un-;}Alf a file || View an Arc/Alf file data || Change above parameters || Delete a file <} || Format a disk || Re-boot (ColdStart) || Exit to DOS ||۱=} Disk Directories |Select > !RL: ڠ c UT > > I>}` 1 : ZL GLwH  <L! P F L L  XIX`+S{;c6^KsNo!Yes.o9esH  h?} X Ɨ L  c I  > >`-*=/+4*0ɛפ I  LT ̱ LQ @} LQ LQ 揥`Ə`AV 溥 >L F DL L  > S L ҩ%Ҡ ` c PL? A}  ˚l `.A??ʍH H5 BDEJK V  I! ǥ cB}L  "/Х QZ)" cL"HLbLpFile not ARC or AlfCrunch formC}at!Please use DiskComm for this file.This is a Binary file! QZ/d cԥ ! <L cLD}塠 Q[[hrL Q[LZ51-) cLError: Unknown Crunch type!E}ɛv[ `Qv꩛v <Z 0,#,, ,ii c >v 0ɛF}rsthijv > > >[榩 >楥 > >Z, ,,,G}$,-i檩i c > >L2m ctԩ ݢ ݭrԭs f ݢ fڢ (ۥ)? eԅH}eՅ ! <L z cr8hԭsiհ- >IIiԘi ! <L6 c I)? Y > <L6!1I}: ZLLN > < 6L P > < L  ^Z l) lmJfFFFFȑ mJiPȑ  noJfJJ}fJfFF oJJJ BvDEJKvD40 V (L c I)_Y NLY > < JK}B V '#LG I! LL  zL <L>ԩ  c ! < c Iɛ)?  <L! L 1L} : ZLdP > < L]Ld/ЭZ0 LtLLLf Q L ` LL 6  6ɐM} 6ʥ æ Q Q`c 2.M cLError: Source file is Corrupted! @N}ȩũ @ȩũ<  @ȥ  @ȥ斥œʥŔ`).摥 O}Q,F) @ŅȱŅL斥IiIi`8`` &eÅťeiƠ`` LL * 녎  P}ɐ ʥ  Ő8塅L.8塅 朥  Q}  6 Ĝ8iJJJe)J柩8坅8坅LR} &查i8= &e)`??S}` 6 LC  …  Ņ  T}Ȅ 8壥夐*eÅeą ƥLCRee…HeÅeąh ƥLCU} *eeȱLee…eÅeą ƥLCeÅeą ޥV}> *eeȥee…iiLXɐ` `L8 ƧW}`L  N N N掩bac && ab8圪Ff N8叅)8 e)` NL>bacb 6X}c` ȄȄ` *eeee`Š`ƥ8LC`Åťą d  Y} LL $ d  LŰů " u ȱL-Z} 8Å  L Lt䥯 uȥ氥Ţš &L[}  c@BΝDE)HI VHU#1?:;D:HHDEPH:> 0 \}cL`L ) 0L DK:MTU >XYÅą cBNDEI(H VH]}*MO.NP BKDEJK V , BKDEI V K 0ɛ枥˰\ c IX^}YÅąTU > >򥣅TU > >X`ݠ c I} >Lhh cL?Disk D_}irectory read error to quit, for more:} 報 Enter Pathname or for m`}ain: vɛv:>򩛑ÈvÈ cɛ 0 c Ra}` ÝDĝEJK"*B V ( , c`8`Error: Subdirectory Not found. Creat one?Create Directory cb}ommand failed.BDEIPH J@ VHhhL D 1;HD:HH`6 cc}BDEHI Vά `Hш∹)` `֠ c P c RL !BDEId} V ԩ  cL IɛN) <8` Y > <`֩N > <`:)(    @Ne}1LY䥼%S:1w:1Ž8`` `Ǣ8  c I` `ϩǢ8 ޠ f}c I`Which drive to format?۱ Single or ۲ Double Density?Format, Are you sure?Error: Bad Format! Check Disk/Drivg}eFormat Completed. Press ΛDEnter complete filename to delete:Delete this file, are you sure?File had been h}deleted!Enter decryption password:9 c I)`1:) 0 >D: TR c I)`1i}2 > <   7!L > <   7!8  0!v c R) BDEJK V  c I`j} c I`l  `:1)S V )  ) ʎ8 k}`jDS=)6 . өj }B JKD#E V   BJKD#E V8駅l}a8h.;" chhL! Error: Not enough free memory!Ff((eaeé!A©Qĩm}ȅ̅ͅ΅ϭS'ϥ i" i" "! ɛ`Lʠ i? iɛȱ/ ȱL`ɛn} 𸩛D:ɛ`ȱ/ȱSQXTP#O ``ȥܢo})`  尽`E:K:`8$8V $ )     ( p}  % !  h   $ $    /  (q}           + ; L 4(7'# b r} 5=!5[  U  % D  )  "       &c$ s}   K !      / ?' B`pt}pp˩p̭pͭppmpppmpp*i˥ie˅˩e̱̅mpȩ˩p̭pͭpΠu}ˑ Υɔlp  Documentation for SUPER UN-ARC 1.1 (Beta-Test version) By: Robert Pw}uff 08/20/88 WHAT IS SUPER UN-ARC??? After having to un-x}Arc several programs, and seeing how long it took, I decided to see if there was a way that the Arc progry}am could be written so that it would run a bit faster. Also, the Arcing program we currently have generaz}tes errors in the file all by itself. Then along came AlfCrunch, a fine little utility that was a solution {} to the speed and error problems, but was incompatible with all Arc files (which can be ported and un-arced to ju|}st about any type of computer). So, I got hold of the source code of Arc, and went }} through it - figuring out what each routine did, and how it could be done on the Atari 8-bit. The program is~} NOT simply ported-over code, it is machine language routines written with speed in mind (not necessarily} size) that will perform the same functions needed from the original Arc. Because of this, speed has dram}atically increased! Super Un-arc will uncrunch any of the four types of Arc compaction algorithms, as we}ll as the AlfCrunch files faster than the old Arc and even AlfCrunch! I will be working} on SUPER ARC, the program which will generate Arc files. It will use the Lempel-Zev crunching routine, }so as to make files smaller than Arc or AlfCrunch, yet maintain compatibility. } WHAT IS ARC? Arc is short for Archive. It is a program (actually t}wo programs - one to arc and one to un-arc) that allows you to compress or "Archive" one or more files into a } single .ARC file, for later retrieval. It utilizes several mathematical calculations to reduce the size of th}e data in the file(s) by an average of about 30-40%. It will compact files that are readable by DOS only} - it will not handle boot disks as does Disk Communicator. The compaction it does to the file can reall}y be appreciated when you are paying for the time to download a file. } HOW TO USE SUPER UN-ARC Simply binary load the file. I suggest you put it on a s}eparate disk with your favorite DOS also on the disk. Name it AUTORUN.SYS if you want the program to be run } whenever you boot the disk. If you are using SpartaDOS 2.x or higher, please read the SpartaDOS notes at the en}d of this documentation. SUPER UN-ARC will automatically disable the built-in BASIC in the X}L and XE computers. It is not necessary to disable cartridges, but it speeds the program execution. } You should now see the menu. If not, make sure you use the Binary Load option of your DOS }to load the file. For technical users: As long as your LOMEM is less than $5000, you should not have any }problems. SUPER UN-ARC relocates itself to just above LOMEM, and dynamically allocates its buffers, so a}s to avoid any possible memory conflict. At the menu, you have several functions availa}ble. Disk directories may de done simply by typing the drive number (1-9). If you wish to look at a part}icular subdirectory, type the pathname now. Otherwise, just hit [RETURN]. To} view the file(s) in an Arc or AlfCrunch file, type [V]. Enter the filename, and away it will go. The c}haracters .A?? will be added to the filename you enter, so if the extender does not begin with the letter A, type i}n the extender (or just .*). SUPER UN-ARC will list each filename with the stowage type (type of compact}ion used), and the single density sector count of each file. (SpartaDOS uses a different file storage met}hod, so this will not yield exact sector counts when using this DOS.) The total number of single density }(or enhanced density) sectors free needed to uncompact the file will be displayed at the end. If you use} double density, remember to divide the count by 2 (approximately). Options D and F hav}e been provided so you do not have to go back and forth between DOS and SUPER UN-ARC. [D] will let you de}lete a file, and [F] menu will allow you to format a disk in single or double density. }The parameters on the top of the screen affect the actual uncompressing (called by option [A]). Pressing [P] } will put the cursor in the top box. Use the cursor arrow keys (do not hold [CONTROL]) to move the cursor to } highlight the desired item. Now press [RETURN] to toggle the item between YES and NO. Change all the par}ameters necessary, then hit [ESC]. Each of the items in this parameter section will now be discussed. } Screen Off: When this option is set to YES, the screen will be turned off during the unc}ompacting process, and be turned back on at the end, upon any error, and upon opening files. This speeds} up things by a little bit (10% possibly), but not anything real significant. If this option is set to N}O, the screen will remain on. Disk Swaps: This option is for those who have only } one disk drive. If you have a file to uncompress that will not fit along with the source file on your one d}isk, then set this option to YES. This will allow you to use a separate destination disk (which should be} freshly formatted). SUPER UN-ARC will prompt you for the source and destination disks when necessary. }Please note this function is not available when using SpartaDOS. If this option is set to NO, the progra}m will read and write from the source to the destination without any prompts, and to the same disk drive }if you have specified the same source and destination. Over-Write: This is a safety op}tion. If a file already exists in the directory you have specified with the same filename as the one of }the files being uncompacted, the program will prompt you if you want to overwrite your file. Typing [Y] }will overwrite the file, Pressing [N] or [RETURN] will skip the file and proceed to the next file (if the}re is one) in the compacted file. All the above will take place of the Over-Write option is set to NO. S}etting it to YES will not prompt you, and will overwrite any files having the same name. } Extract with Query: If this is set to YES, you will be asked if you want to uncompact each file that is in a } Arc or Alfcrunch file. This is handy if you just wanted to unarc 1 file, or take a look at a text file with}in the Arc. If this option is set to NO, all files will be extracted. Time/Date Stamp: } This option is valid only under SpartaDOS. Setting this to YES will write the destination files with th}e time and date of that when the file was first archived. Some arc programs do not save the time and dat}e correctly, and this will be evident. AlfCrunch version 1.4 saves only the date. If this option is set to } NO, the current time and date will be used. Password Encrypt: This option is to be used when} the source file has been encrypted with a special password. As of this writing, there are no programs fo}r the 8-bit that will allow you to enter a password; but when SUPER ARC has been completed, it will suppo}rt this. Passwords should not be used often, because it is HIGHLY unlikely you will ever recover your fi}le if you have the wrong password. If this option is set to YES, you will be asked for the password afte}r entering the destination pathname. Pressing RETURN will disable the password (incase you inadvertently } turned it on). Otherwise, enter the password (1-20 characters.). It is not case or inverse sensitive. If you } use the wrong password, you will probably get a "File is Corrupted" message, or the file will have garbage }in it. Setting this option to NO will not use any password data, and will uncompact as normal.} Selecting [G] from the menu will cause your computer to act as if it had been turned }off, then back on. This is helpful when using RAMdisks, as this will allow you to change programs withou}t losing the contents of your extra memory. For XL/XE users: remember to hold [OPTION] down while pressi}ng [G] if you want to re-boot with BASIC disabled. Pressing [H] will return you to your} DOS menu, or to the command processor if using SpartaDOS. THE REA}L MEAT AND POTATOES To un-arc or un-alfcrunch a file, first change any of the parameter}s on the top of the screen, then type [A]. Enter the filename (and extender if it is not .ARC or .ALF). }If Dn: is not specified, drive 1 will be assumed. SUPER UN-ARC will then try to read the file. If it is not } found, an error 170 will be returned. Use the directory functions to locate the file, and try again. } Now you will be prompted for the destination pathname or drive number. If you want the extracte}d files to go to drive 2, you would simply type [2] [RETURN]. If you want them to go to a subdirectory, }you would type the pathname (D2:SUBDIR> for SpartaDOS, or D2:SUBDIR: for MYDOS). You may also select E: }or P:, to direct output to your screen or printer (useful when viewing or printing text files). The unco}mpressing process will now begin. Each filename, compressing type, uncompacted length in single density s}ectors, and the number of bytes the compaction process saved will be displayed. If you specified a subdi}rectory for the destination, and it cannot be found, SUPER UN-ARC will ask you if you wish to create the }directory. Subdirectory support for MYDOS and SpartaDOS is included. Please note that if a file already } exists in the directory you have specified with the same filename as one you are uncompacting, and if the Overwrit}e flag is off, you will be prompted if you want to overwrite the file. At thi}s point, if you have turned on the "Extract with query" option, the program will prompt you if you want t}o extract this file. You may also change the destination pathname/drive number at this point, and do disk } directories. Pressing [Y] will extract the file, hitting [N] or [RETURN] will skip and go to the next file. } If SUPER UN-ARC has a problem opening up the destination file, you will be given a little e}rror recovery menu which will also let you change the destination pathname/drive number, and let you do d}isk directories. If for example, your destination was full, or was write protected, you woul}d be able to recover without having to re-start the whole process with this error recovery menu. When you} have the problem fixed, hit [RETURN]. If you want to bail out, hit [ESC]. Unfortunately, SpartaDOS does not } do any writing while opening a file for output, so this function will not work when using this DOS. } The uncompressing process will continue until completion or an error. If you get the message "F}ile fails CRC check", this file is corrupt and should probably be discarded. The version 1.2 of Arc that} we have currently has a bug in that it does not always compact a file correctly when using the "squeezin}g" method. Files done with this program may reflect CRC errors. In this case, the file may or not be ba}d - use at your own risk. If this message is followed by the message "Not an Arc or AlfCrunch file", the}n the source file has been corrupted. If you get the message "File is not Arc or AlfCrunch format" or "File } is corrupt" after the uncompaction process has started, then your source file is bad. } MISCELLANEOUS STUFF When viewing a file or uncompressing a file, SUPE}R UN-ARC verifies that the file indeed was compacted by Arc or Alfcrunch. If it is not, it checks to see }if the source file was compacted by Disk Communicator, or is a binary file. It will report to you what i}t finds, or "Not an Arc or AlfCrunch file" if it cannot figure it out. Due to the natur}e of Arc, and the fact that there is little room for fancy things in a program, I was not able to add as }much error recovery as is in Disk Communicator 3.2. Well, now on to writing the SUPER A}RC compactor program. Originally I had desired to have both programs in one, but due to memory constrict}ions dealing with the tables that are necessary for encoding and decoding, this was not feasible. SUPER }UN-ARC was sort of a quick hack, written in less than two weeks. If you have any bug reports, suggestion}s, or want to send a donation to keep bringing quality public domain software, my address is: } Robert Puff Suite 222 2117 Buffalo Rd. } Rochester, NY. 14624 I may also be reached on the Moose BBS (not my system) at (716}) 381-5139. USING SPARTADOS WITH SUPER UN-ARC } Ok, for all you Spartans out there, I included a way to include all parameters on the command line (for thos}e who hate nice-looking menus). If no parameters are included, or if the wrong syntax is used, SUPER UN-}ARC will ignore the parameters, and display the menu. When the program is done, or if any errors occur, }the program will return to the command processor. To list the contents of a compacted f}ile, use this syntax: [Dn:]UNARC [Dn:][path>]filename[.ext] /L To }uncompact a file, use this syntax: [Dn:]UNARC [Dn:][path>]filename[.ext] Dn:[path>] [/OPQST] [}password] The first parameter is the source file, the second is the destination drive n}umber or pathname, and the third is the options desired: O = Over-write any file with the same name as de}stination P = Use a decryption password Q = Extract files with query S = Turn screen off during} uncompaction T = Use time/date stamp from source file for destination files }You may specify any or all. The fourth parameter is the password, and is only used if the /P parameter is } specified. An example: [Dn:]UNARC D2:TEST 3 /QS Will uncompact the file D}2:TEST.A?? to drive 3, extract with query, and turn the screen off during the uncompaction process. If y}ou do not specify anything for the third parameter, the defaults (screen on, no query) will be used. } [Dn:]UNARC TEST.JNK P: /P DATA Will uncompact file TEST.JNK on the current drive} and write the destination to the printer. It will use the password "DATA" to unencrypt the archive. } Internal BASIC will NOT be automatically disabled if using SpartaDOS. Because this DOS wa }nts to keep BASIC enabled even if the program turns it off, the screen turns to junk when it exits if thi }s had not been done. If you know any way around this, please let me know. }Also, the disk swap function does not work in SpartaDOS. For some reason, the DOS writes to the destinat }ion at times when you are reading the source! I have no idea how bugs like this got through, but hopefully } it will be corrected in future versions. Until then, this function is disabled in SpartaDOS. } THOUGHTS ON DISK COMMUNICATOR One question I have heard quite often } is, "Does this Arc program replace Diskcomm?" For most cases, no. Diskcomm was made to compact the data } in each sector of a disk, not just for files. It should be used when disks have material that cannot be } accessed with standard DOS (such as boot disks, Disk Operating Systems, etc...). If you have a bunch of } DOS compatible files on a disk, it would be best to Arc them. Many people have critici }zed DiskComm for its apparent "lack" of compaction. It is true that it does not use the Huffman Squeezin }g routines or the Lempel-Zev crunching stuff, but it does use non-repeat packing, as well as searches for } same sector data in the current track, "similar" sectors, and more. This made it compact tighter than i }ts then-rivals shrink and scrunch. I MAY (in the distant future) come up with a newer version of Diskcomm } that does use these routines, but there has been a reason for its current compaction structure. If you wish to m }ake the files smaller, you could always Arc the file that diskcomm made. Disk }comm creates a file that can be uncompacted a sector at a time, instead of a whole buffer at a time as do } the other disk compactors. When I first started writing Diskcomm, I wanted to write a terminal that would support } disk compaction and uncompaction as you transferred a file (ie, put a boot disk in the drive, and tell t }he term to upload the disk. It would send a file that would be Diskcomm-compatible, all without having to } boot up Diskcomm separately). Unfortunately, I have not had the time to write such a terminal. However }, if anyone is interested in picking up the idea, let me know (see address above), and I can provide deta }ils on compaction types. A 512 byte buffer is all that is needed. Bob Puff 08/20/88 } q| F}  | v1.2 AlfCrunch |  }Input filemask:Output filenameCrunching: Error reading directoryCan't add to a non-crunch fileCreating new file }: Adding to file: Processing complete.Error reading input fileError writing output fileMemlo must be under $2000Screen }off for speed ?   |@/q Ui|ah|&q j| z z!qLrq { {z/r { } |0 {p {q/Sl `Wr {Lr |zPpzz0PppPpp0p %|0TPzpzzz {0;PpQp }ˠq {Lrq {p {0p 4|-=r {L tq {p {0p *| =r {L tq z zLsq {@ {z: |z }Ppzz0PppPppqpp 9| q {Lr!qqr { {Pp |Y!q ,yq {Pp {!q/ mtLAtq/L }sq qq qrrqq#q z u x u w` wLu q w Ax u q !} q q q  u u qLt q q. qLt u uq q[qzqzqz qzNznzq) "}zz0rmzrrmzrrir {=r { Gz` q q qqqqqii`8 q #}&q q xFfmqmqq)ȥLbvqqq8庪q.q.qq $} qmqqm q qq qFfq8帅q幅``qzqzzzrmzrrmzrrir0 { = %}r {Lwmqmqqqq)q q x`q qf#q8`qzqzqzqz {#qdz zЭzqz &}qzmrrzmrrmrrqqmrrmrrqqqq`$r {hhhhLr x qѰ8` q '}ȱ xŲ ` ȱ8`ȱLw&&eemqmq`qq q (}ȥ` xqq`8鮍q|qNqnqq qqq|qmqq|mqq`q )} qFfmqmqq)潭qmqqqmqqqq`Ly y8`p%q p$qpɛ *}p>:򊨽pPpzpPp z0ʩ.Pp zpPpz󩛝PpPp>:Pprɛ  +}r ȝr Pp %|L1y`pzpzzz z{`zrzzz0 B{zrzrzr0 {rr` ,}0 {0p /|rzrzrz0 _{zrzzz {0 {0p 4|` i? iS"q ɛ@8`ɛ -}@"q`"qPp ɛ@z`K: { {{ {ɛ`zzz BHIz Vzzz` .}&B VLzMzNz`%BzLzMzN V`  BzDzEzHzI VHzIz(`B /}HI V`z {~ɛzNPpzL{zPp`z~L{ B V`{`a` `zR Pp |Pp`HHH H H 0}H zz {BzJzEhDK V` {h|8h|i|i| h|` { z %|` { {`r x AlfCrunch Documentation Revised 6/5/88 ----------------------- AlfCrunch is 2}an implementation of the Lempel-Ziv compression algorithm. Although it produces files that have the same structure as thos3}e produced by the Arc program, the two are not compatible. Arc cannot uncrunch AlfCrunch files, nor can AlfUnCrunch unarc no4}rmal Arc files. The current version of the LZ/DZ files is 1.2. Versions 1.1 and 1.2 are compatible, but not with 1.0. 5}If you have 1.0, you should discard it and use 1.2. The reason for this is that 1.0 used the same header as normal Arc crun6}ch. Because of possible confusion over this, the header used by AlfCrunch was changed. Since 1.0 had very limited distribut7}ion, this situation should not often arise. For those who wish to be able to detect the AlfCrunch format, the first two by8}tes of the file will always be $1A $0F. This latest version fixes a couple of problems with 1.1. When specifying a sub9}directory as the input filemask, 1.1 ignored it and always searched the root directory. This could be avoided by the use of:} CWD to switch to the proper directory. When using ArcView, the filenames in a 1.1 file may contain garbage characters after;} each filename. Finally, under SpartaDos 2.3 and Dos 2.0, 1.1 crashed when it was trying to return to Dos. The enhance<}ments to 1.2 include fixing the above problems and adding batch file capabilities. Batch file processing is only available u=}nder SpartaDos 3.2, as there is some quirk with i/o redirection under SpartaDos 2.3 which causes the batch file to fail. >} When running either LZ.COM or DZ.COM, Memlo must be under $2000. This should not normally be a problem with SpartaDos, un?}less you have a lot of handlers installed. With a Dos 2.0 type Dos (ie., 2.5, 2.6, etc.), this can be fixed by only having @}one or two drives defined to the Dos. A cartridge may be present, as it only affects the size of the buffer available to AlA}fCrunch. Maximum speed will be achieved without a cartridge being present. Thanks to Robert Ames and the Phoenix for thB}eir suggestions and aid in testing AlfCrunch. Alfred Programmer's Aid BBS (416) 465-4182 RunniC}ng AlfCrunch ----------------- To crunch files, load LZ.COM. The title will be displayed, along with thD}e version which should be 1.2. You will then be prompted for the output filename. This may be up to 80 characters long, incE}luding subdirectory names. If the output file already exists, it is checked to see if it is anAlfCrunch file. If the fiF}rst header is correct, then the new files will beappended to it. If the header is wrong the program will print an errormessG}age and exit to Dos. If the file is shorter than the header length(29 bytes), then it is simply opened for normal output, whH}ich erases it. Next you will be prompted for the input filemask. This is what will be used to select the files. This maI}y also be up to 80 characters long, including any subdirectory names. Wildcards are allowed. If selecting all files, the maJ}sk must end in *.* . Finally, you have the option of turning the screen off. Selecting this option will speed up the prK}ogram by 15-20%. Once selected, you will not again be prompted for this option. If you do not elect to turn the screen off,L} the program will continue to present this prompt until it is selected. The program will then select files using the maM}sk and compress them, displaying the filenames as it progresses. When it has finished, it will prompt you for additional inN}put filemasks. You may either enter another mask or simply press return to exit back to Dos. LZ and SpartaDO}os 3.2 -------------------- If you are using SpartaDos 3.2, you may invoke LZ.COM and specify the outpuP}t file and input filemask on the command line. The format is: [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] Q}] The square brackets denote optional parameters which may be omitted. The first filename is the output file. The second iR}s the input filemask. If you do not specify the input filemask, the program will prompt you for it. The program will autoS}matically turn the screen off. When it is finished it will prompt you for more input filemasks. To invoke LZ as part ofT} a batch file, the format is almost identical. The lines in the batch file would be: [Dn:]LZ Dn:[path>]filename[.ext] [DU}n:[path>]filename[.ext] ] Dn:[path>]filename[.ext] <- Additional Dn:[path>]filename[.ext] input maV}sks The program will read each input filemask, compress the files selected and continue until all the input masks have W}been used. You will then be prompted for more input masks. If this is part of a larger batch file, leave a single return afX}ter the last input mask to force LZ to return control back to the batch file. Example: [Dn:]LZ Dn:[path>]filename[.ext] Y}[Dn:[path>]filename[.ext] ] Dn:[path>]filename[.ext] Dn:[path>]filename[.ext] (single return here) [Dn:]LZ Dn:[path>]filZ}ename[.ext] [Dn:[path>]filename[.ext] ] Dn:[path>]filename[.ext] Dn:[path>]filename[.ext] (single return here) At th[}e end of this, you will be left at the Dos prompt. Because of the way i/o redirection is handled, an alternative form is ava\}ilable: [Dn:]LZ Dn:[path>]filename[.ext] <- The output file Dn:[path>]filename[.ext] <- The input fil]}emask Y <- Turn the screen off Dn:[path>]filename[.ext] <- Additional Dn:[path>^}]filename[.ext] <- input filemasks (single return here) Notice that the Y was only supplied once. When LZ is _}run in this manner, it behaves exactly as if you were pressing the keys yourself. If you turn the screen off, then you need`} only enter the Y once. If you said N, then you would need an N after every input filemask until you said Y. Example: [Dna}:]LZ Dn:[path>]filename[.ext] <- The output file Dn:[path>]filename[.ext] <- The input filemask N b} <- Leave the screen on Dn:[path>]filename[.ext] <- Additional mask N c} <- Leave the screen on Dn:[path>]filename[.ext] <- Additional mask Y d} <- Screen off now Dn:[path>]filename[.ext] <- Additional masks, but no Y Dn:[path>]filename[.ext] e} <- is necessary (single return here) Getting Them Back ----------------- To extract f}the files from an Alfcrunch file, load DZ.COM The title will be displayed, along with the version number. The first prog}mpt is for the name of the file to uncrunch. This filename may be up to 80 characters long, including subdirectory names. Wq}B"UNARC11 DOCBP&UNARC11 COMBvUNARC DOCBALF COMBb1ALF TXTBUNALF COMBXF32DDOSBASB XF32DDOSTXTB#AWPLUS DOCBAWPMOD TXTB' SPEEDDOSBASB*0ARCVIEW OBJB&ZAWDSK2 DOCBAWDSK2 CREB1FONTPRNTBASildcards are not allowed. The next prompt is the output directory. This is the directory where the files will be placedr} when extracted from the crunch file. If the directory does not exist, an attempt will be made to create the directory. Ths}is may involve creating a number of subdirectories to get to the last one, so care should exercised with this feature. If et}rrors occur during the directory build stage, an error message will be displayed, and the program will return to DOS. Au}uto directory creation is only available under SpartaDos. Under any other Dos, if you specify a subdirectory, you will probav}bly geta single file with the name of the first pathname. Assuming all is well, you again have the option of turning thw}e screen off while files are being extracted. The program will then extract each file and place it in the output direcx}tory specified. If any errors occur, an error message is printed and the program returns to Dos. When all files have been exy}tracted, you will be prompted for another input file. You may enter another filename or press Return to exit to Dos. Tz}he situation may arise where the crunch file has been corrupted. This may occur due to errors during download, or failure of{} the disk on which the file resides. There are several error messages which are associated with bit errors. Msg: Not A|}n AlfCrunch File! --------------------------- If this message is issued before any files were extracted, then either}} the first two bytes of the file are corrupt, or else the file was not created by AlfCrunch. If the message is issued after ~}several files were extracted, then the file has been damaged somewhere in the last file extracted. You may also get the mes}sage which is described next. Msg: File Checksum In Error --------------------------- DZ has detected that the c}hecksum calculated for the filename just extracted does not agree with the checksum in the header block. Either the header} block has been damaged or more likely, the file itself has been corrupted. If the file is a text file, it may be partially }correct. Object file types should be discarded, as it must be assumed they are corrupt. Msg: Stack Overrun -------}----------- This is an internal DZ error. The file being processed has been corrupted, and DZ has exhausted all free mem}ory in attempting to extract the data. The output file produced is incomplete, corrupt, and should be discarded. Msg: }Extra Bytes At Eof, Don't Add To File ------------------------------------------ This means that the file has extra d}ata at the end which is not valid.This may arise from downloading where the last block is padded. Do not addnew files to it} with LZ as you will not be able to get them back when you runDZ again. You will get the 'Not An AlfCrunch File!' message at} that time. DZ and SpartaDos 3.2 -------------------- If you are using SpartaDos 3.2, yo}u may invoke DZ.COM and specify the input file and output directory on the command line. The format is: [Dn:]DZ Dn:[path>}]filename[.ext] [Dn:[path>][*.*] The square brackets denote optional parameters which may be omiited if you wish. The }first filename is the file to be processed. The second filename is the directory in which the output files are to be placed.} Remember, if any of the directories in the output path do not exist, an attempt will be made to create them. If you omit t}he *.*, it will be automatically added by the program. The program will automatically turn the screen off, and extract} the files. If any errors occur, the appropriate error message will be printed and control will return to Dos. When DZ }is finished with the current input file, it will again prompt you for another input file. You may continue uncrunching files}, or simply press return to exit back to Dos. As part of a batch file, the form for DZ is almost identical to the LZ f}orm. Accordingly, only brief examples will be shown: [Dn:]DZ Dn:[path>]filename[.ext] [Dn:[path>][*.*] Dn:[path>]filenam}e[.ext] <- Second input file Dn:[path>][*.*] <- Second output path Dn:[path>]filename[.ext] } <- Third input file Dn:[path>][*.*] <- Third output path (single return) <- Return} to Dos The second format is: [Dn:]DZ Dn:[path>]filename[.ext] <- First input file Dn:[path>][*.*] } <- First output path Dn:[path>]filename[.ext] <- Second input file Dn:[path>][*.*] <- Second ou}tput path Dn:[path>]filename[.ext] <- Third input file Dn:[path>][*.*] <- Third output path (si}ngle return) <- Return to Dos The third format is: [Dn:]DZ Dn:[path>]filename[.ext] <- Fir}st input file Dn:[path>][*.*] <- First output path Y <- Screen off Dn:[p}ath>]filename[.ext] <- Second input file Dn:[path>][*.*] <- Second output path Dn:[path>]filenam}e[.ext] <- Third input file Dn:[path>][*.*] <- Third output path (single return) } <- Exit to DossqV~ }  | v1.2 Alf}UnCrunch | File to decompress:Output Directory: Not an AlfCrunch file!Processing comp}leteOutput Directory Is Too LongOutput Directory Is InvalidError Opening Input FileExtra bytes at EOF. Don't add to file}Error writing output fileError reading input fileInput buffer overrunUncrunching: File checksum in errorError, memlo mus}t be under $2000Screen off for speed ? N|/sq Z#|a"|q $|@ h| |qLs {r z {z* ]|Xr z}sq/0 {Sl `Qs zLs {zz0 qp qp h| |L.t.r z {ztq { ~ r zLszz0 qPp} qPpqrs z { q {Y /qp { r zLszqzzz <{!׭zzqĢr zLs}q Ar zLsqtq 6}tqPpɛ lr zLsPp>: 򢉠r zLsPppȢqp0p0p { }r zLs,s zp zqq q q q u0 {Ltqqqqqqqqqqq qq qP} yqzqzqzqz zq Uzz z` Sw% .zq̀q qq:s z`*$ x Sw}qyq~q}zqwqxq xLv}quq~qvq|q+{q$yqzq}q~qxq yqq~q2}q~q "y yqq}}qȱ~qLv}q~qxqwq yqqq q y xqΰqαqΰqP Kyuqyqvqzq{q|qͯqͮqq }qq.qLvqqFfqqq8帅q幅 qLxs zLyqqmqmqq8}zqzqezqiz zqLy Uzqq&q8帍qq幍qLSwmqmqq)*}8qFfqmqqmqq`qq)q.q.qqqLGx qqq{q|q`mqqmq}qqqq̈́qIq̓qAqzqzqzqz0 @{r zhhhhLsqqqq`&ee}mqmq`{q|q "ywqyqzqȥ{q|q`ȥiipstack overruny zhhLs}`8ȱ@  zhhLs`8Wq~qNqnqq qqWq~qWmqq~mqq`q q`}qzqzqzqz0 @{`zmzzmz0͈q륾͇q`q q <{ z`qz qzLzqz}qzz z <{ z`q8zqqzqqq`K:zzz {ɛ`zzz BHIz Vzz}z`  BzDzEzHzI VHzIz(`BHI V`z o{~ɛzN qzL{z q`z~}L{ B V`{`a` `zR q { q`HHH H HH zz {BzJzEhDK V`} {"|8"|#|#| "|` { z {` { {` i? iS5}qɛ @8`ɛ @팶}q`q qɛ@z`Error reading main directoryCREDIR failed for the above pathOutput path cannot be builtCREDIR i}ssued for:*.*4}5}L}4}Pp>"ɛ4} } zLh}à| zhhLs4}Ppp4}4}0}ppp {p {(0L}}4}ʽPp:詛p} zp zp*BDpEHIJK V | zLh}pPp {p {(0`LA} G~`ʽ q> :}8`0} qʎz!q:19`8` qɛ8``s>]?SISAV@@d*** XF32D.BAS ***n!!BY BOB} WOOLLEY [75126,3446]x 4/18/88 CONVERTS SPARTADOS 3.2D TO""RUN XF551 SIO AT HIGH SPEED.;@,9@},3.2D **ONLY**. }-@@** "This program will convert the DOS ,, $file on a SpartaDOS 3.2}d disk to run,, $an XF551 at high speed on the SIO ,, $buss. It will ONLY run using 3.2d! ,, $Put the copy of }3.2d that you want ,, $to modify in D1: and follow the  prompts. (RETURN) ,,@@} D1:X32D.DOS00@+@$A(,%@"*@A , #A600@+@$}A(,%@@-@@J"T*@^ h #Ar00@+@$A(,%A}|-@@"*@ -@@ }-@ } Drive  is:%%  810/1050 =========>%%  USDoubler 1050 ===>%%  XF551 ===}=========>$$   à1 4A68,-@@168%@,-@@1 4B68,-@}168%@,-@1 4C68,-@@168%@,-@ &00@+@$A(,%@B}0-@@:*@8,D N #AX-@@Tb"l*@v 0}0@+@$A(,%A*@@@  ̠š32,167,230}32,194,230 172,1,3,185,158,230,201,16208,8,173,2,3,9,128,141 59,2,185,150,230,141,4,21076,30,229,}172,1,3,185,158 230,201,16,208,11,72,173,23,201,35,104,176,2,169,40141,4,210,76,9,229 D1:XF32D.BAS}}0 XF32D.DOC This BASIC program will alter a SpartaDOS 3.2d diskette to enable high speed SIO o}n an XF551. I had to remove the routine that configures the DOS for the type of drive using each address, so you have to manu}ally enter that data when the file is modified. Once modified, you cannot change your drive addresses without re-running this} program. The modified DOS will configure all DS/DD disks on an XF551 using the high speed skew sector format. Do not use the} USDoubler Ultraspeed format for the XF551 - it almost works for SD disks, but not for other densities. The XF551 does not ha}ve a high speed skew for Single Density or Dual Density (1050) mode, but one could probably be put together using SpartaDOS. }By the way, XF32D.BAS must RUN using SpartaDOS, since I POINT directly into the file during program execution. The modified D}OS can be identified by the copyright notice showing 3.2x and will reproduce itself using XINIT (so you only have to modify t}he FIRST disk). HOW TO MAKE ATARIWRITER+ WORK WITH SPARTADOS By Glenn K. Smith (70357,1136)!} This documentation covers how to make ATARIWRITER+ use the ramdisk of a 256k computer. You must h!}ave a Newell, Rambo or some other memory upgrade that gives you at least 256k. First, mak!}e a copy of the original disk, then put the original away, you won't need it. Next, you have to rename a !} couple of files. Rename AUTORUN.SYS to AWXE.COM, and AP.OBJ to A.OBJ. Now comes the fun part. Bo!}ot some sort of disk editor. I prefer using Disk Master found in DL 3 for making quick changes. The foll!}owing procedure is for my version of the program. There may be other version that Atari has put out, so !}you might have to search the disk for these values. Also, these changes may work for the non-XE version of ATARIWR!}ITER, but you'll have to find the correct sectors for the changes. Patchs: First change !}all the instances of D:AP.OBJ to Dn:A.OBJ (n is your drive number, I prefer 2). These are found on secto!}rs 84, 315, 525, and 526. Next change the first instance of D1:AP.OBJ to Dn:A.OBJ (this will make the fi!}lename read Dn:A.OBJJ. Replace the second J with a $9B[EOL]). You'll find this on sectors 467. On sector 469 !} you'll see D1:AP.OBJ and on sector 204 you'll see AP.OBJ. Change the AP.OBJ to some other letters. Invalid !}DOS characters such as the double quote, dollar sign work well. These are the two checks the program make!}s to see if you are trying to get a directory of the original ATARIIWRITER disk. They don't affect the Sp!}artaDOS copy because you have to rename the AP.OBJ file to A.OBJ. To allow ATARIWRITER+ to use both!} the PROOFREADER and MAIL MERGE programs from the ramdisk, change the D1:MM.OBJ on sector 188 to Dn:MM.OB!}J. Change D1:PROOF on sector 181 to Dn:PROOF. You must also make a few program changes to complete!} the process. First find the start of the AUTORUN.SYS file (now called AWXE.COM). Mine started at secto!}r 83. Locate the bytes $AD $1F $D0 $C9 $05 $D0 $03 $4C $35 $22 and replace them ALL with $EA. These sho!}uld be on the first or second line of your editors display. This change will disable the "RUN PD" option!}. Since you'll need a batch file to copy all the stuff over to the ramdisk, this option wouldn't work.!} To enable all the programs to use the ramdisk, you must disable the "CHECK DISK" routine. This !}routine checks to see if you have the correct disk in the drive. Since you are using a ramdisk, this opt!}ion will cause problems. To fix this, find all the occurences of $C9 $C6. On my disk these are found on!} sectors 428, 448, and 516. A few bytes before those two, you should see $20 $53 $E4. You want to change !} the $20 $53 $E4 to $EA $EA $EA. On sector 516, you'll need to make one additional change. Find the bytes $4C $7!}7 $E4 and change them to $F0 $03 $EA. There, now all you have to do is copy the files to a !} SpartaDOS disk. The batch file you'll want use will look similar to this: BASIC OFF <--No!} BASIC RD D2: /E <--Ramdisk with 64k reserved COPY A.OBJ D2: <--Copy Program !} COPY PROOF. D2: <--Copy PROOFREADER COPY MM.OBJ D2: <--Copy Mail Merge COPY GEMINI. D2:!} <--Copy a printer driver COPY *.DCT D2: <--Copy supplimental dictionaries AWXE 128K) mach%}ines. He uses the 130XE version of AW+ with it's bank swithing text area and the extra RAM as a Ramdisk. I have an unmodified%} 130XE so by using the 800XL side of AW+ and my normal 64K ramdisk, I can achieve much the same thing. After making a straigh%}t sector copy of the original disk, I took out DISKEY and searched out the bytes to change. Here it is in tabular form, forma%}tted for an 80 column printer."Dn:" in the following means D2: or D8: or whatever you assign your Ramdisk (ie. RD Dn: from S%}partaDos).Action From To WhereRename AUTORUN.SYS AWXE.COM AP.OBJ %} A.OBJChange D:AP.OBJ Dn:A.OBJ Sect. 84,301, 504,512%} D1:AP.OBJ Dn:A.OBJ Sect. 449,451 change the %} leftover J in Dn:A.OBJJ to %} an EOL $9B AP.OBJ $$$$$$ Sect. 190 D1:MM.OBJ Dn.MM%}.OBJ Sect. 166-167 (the 125th byte %} in sector 166 and the rest is in &} sector 167) D1.PROOF Dn:PROOF Sect. 157 AD 1F&} D0 C9 05 Make all 10 Sect 83 (first D0 03 4C 35 22 bytes EA sector of &} AWXE.COM) 20 53 E4 EA EA EA Sect. 106, 410, &} 430 4C 77 E4 F0 03 EA Sect. 106My STARTUP.BAT is now simply: BASIC OFF &} RD D2: TIME DATE COPY D:MM.OBJ D2: COPY D:PROOF D2: AWXEI've gone betwe&}en proofreading, mailmerge and editing with ease and all files are time and date stamped though you don't get subdirectory ac&}cess. You CAN access a file in a subdirectory by including ABBREVIATED path info, such as >LET*>MYMOM.* .What else can we a&}sk for? How's 'bout Superkey support, full directory search (like TextPro) and RESET to dos?! &} Mike Zareno 73137,2702$G@FDRDMEBUFMEMMEMSECSESECERDATABASDATMSLSD10D1DSCMSTARFINRSUBRDBBOOTSECLBOOTSEC* }HLODADDRLLODADDRHGOADRLGOADRHQCKNOMORSECLSECHB$@HA@@* } A6 A  @ @* } !"#$%&'* }()@*+ ""******* QCKDOS.BAS ******* ""* BY R.E. WOOLLEY 10-14-86 *""* [75126,*}3446] *.. &}THIS PROGRAM WILL ALTER ANY DOS 2.0,, $OR DOS 2.5 DISK SO THAT IT WILL LOAD(,, $USING T*}HE HIGH SPEED SIO ROUTINES 2** "FROM SPARTADOS. YOU CAN THEN BOOT <((  THE DISK AT HIGH SPEED ON AN ICDF-- %MODIFI*}ED 1050 WITHOUT CHANGING DISKS.P Z++ #FOLLOW THESE STEPS TO MAKE YOUR d *QCKDOS* DISKETTE.n x++ # 1. *}FORMAT A DISK USING SPARTADOS: ** " SPECIFY - NO DOS ,, $ - 40 TRACKS *},, $ - ANY DENSITY ,, $ - ULTRASPEED SKEW   %%  ԠΠ*}ҠŠ;@,.. &} 2. SECTOR COPY YOUR DOS 2.X DISK ,, $TO THE DISK THAT YOU JUST FORMATTED. *})) ! NEED A D/D COPIER? QCKDUP.XMO,, $IN DL3 WILL WORK ON A 130XE OR AN  ICD 256K 800XL.  "++ # *}3. USE YOUR NEW DISK AS THE ,,, $'TARGET' DISK AND RUN THIS PROGRAM. 6 @,, $ *** THIS PROGRAM WILL WORK ON SO*}MEJ-- %MINI-DOS PROGRAMS, SUCH AS PAPERCLIP.T,, $YOU MUST CHOOSE 'PAPERCLIP' AT THE ^-- %PROMPT IF YOU ARE DOING VE*}RSION 2.0 h r((  ԠΠϠΠӠ|***** QCKDOS.BAS *****;A(, 6.**}67A(,.*67@,.;A(, 6. AP A -- %} ԠҠԠ*}ˠ((  ΠıΠӠҮ6-@6-@ A & 6.0)) !} *} Šˠź : D""  ӠN X""  Р b l##  *}ӠҠ v4AAp0BA`##67@<@,.>:@ ,++67Ac<Ac,.*}7@<@,++67Ap<Ap,.7@<@,++67AC<AC,.7@<@,++67AH<AH*},.7@<@,++67AS<AS,.7@<@,++67AX<AX,.7@ <@ ,,, $} *} ǠˮʠϠˠ)) ! ׬ΧԠԿ A`,, $} Ǡ٠*}6-6-Aa  A 6- -@A@*7<,0BAP4227%@* }<%@,0 QCK OBJAP>//67@<@,.7%@<%@,H6-@R \Af*!}6-%@p AiAz67@<@,.867@<@ ,.7,, $} Ǡ*"}נԠҠ6-@6-@ 6. A && } š- 6-C:,6*#}-P:'AV,-6-&$AV$6-P:'AV,$6-&$AV!Ai@!ApArAs*$}AxAy6-?:A6,$E #AP!-A6A@%"+/ 2$E104,32,83,228,96$+*%}+@@ D1:QCK.OBJ.-@B:,8*@@:7<,,B L@V$`;A *&},jcc67@,.P8;˅̩ͩ@Πˑ ؅xHԭ)өΩ@̱ˑtcc67@,.P*'} ؅h(9̅΅ 8\ɩ̍]ɩ~cc67Aa,.P  LHHL*(}摥Šꥑš`cc67AA,.P1Lq1:(: *)}Cά:Ω(cc67A!,.Pmi:; < =x:23454 ̐Μc**}c67A,.P , ̰  WͰ ,P ͐νе *X0`234 5` Π2cc67A,.P1 ,35*+}0 2 4 2 L̥1 ͭ)ҢLWͩ1,350 cc67Aa,.PͰ&2 4 Ͱ2 1*,}`08` Ω< ͰACE,0cc67AA,.Pɋ8` `&͍'0L\`e1i1`,07 ,*-}ҩҭҍ )cc67A!,.P  `_ҩҩ,,,8`H)ҩh `#,ҍ ҩ(ҩҩcc67*.}A,.P`jj)?j)`Ң`H?ʎ @1167A,. 20:΢h*/}`$ D1:QCKDOS.XMOA8L1om76CD l0C)(j!5Custiom ACTION! Runtime SystemWritten by Glenn K. SmithCopyright 1987 RADON SoftwarehihiHHȱ.1}ȱ`8Hh` !"E…¦ !"`L!"` 2""Ff ee&8.2}LS" 2"_Wń児0 &&86.ń児8儅充FfFf8LS".3}UVT`ĦħȱѢ`Ơơ`ŧ񅠆8`;ť5Ƨť.4}Ū樤槤8奧ũ`ȱ`Ƣƣ8`HhL#Ƥ.5}ƥ8`L$$ $$$ _"$$ $B`LJ$$ V$`L_$[$Z$$Z$H[$I`Lz$v$u$$u.6}$Dv$E`L$ !$$$$$ L#$$i$$$q$i$ !$$$ \$.7}$i$i w$$$J$K G$`L/%+% +% !$ G$`LF% !>%>% !$@%?% \$B%A% w$ G$`Lr% !j% j% !.8}$l%k% \$n%m% w$ G$`L%%% o%`L% %`L%%%%%%i%i o%`L%%%.9}%% % %`L & &&& &8&񮅬 "U && %`LK& !A&A& !$B& \$C&iD&i w$ G.:}$D&G&C&F&E&B&&&E&L&C&D&C&D&IL&L&E&L&F&G&8E&`L&&&&& H&`.;}L& !&&&& H&`L' )h@l$`L#'HɀL='ҥh@LA'hl$`LE' $$$$x"'!'' '.<}X`L{'x$$$ $X`L''͖'L'' ,%'L'l `L'' ,%L'S:'˅' $`A'AV.=}'L' !''''''''' ٭'''' #`LK(E(D(E(D('' # .>} #G(F(F(G(ɀL(F(G( %F(G(L~(F(G() %`L((((( H( %`L.?}( !((('' #(('' #(IL3) fL`)(ILC) `L`)(ILS) L`)(IL`) (ۭ'.@}'(( #`L) !z)})|))~){)z) (`L) !))))))) (`L) !.A}))))))) (`L* !* * * * *** (`L=* !6*9*8*'' #)8.B}?Ք Fک fک ܭ''7*6* #`BU6*L****** :*'*.C}'*Ͱ*L+**** )*'' # ٭**`5 6+6+6+6+6+6+.D}Lk+_+^+(_+ _"XeYem^+`+ia+( _"XeYei'i8`+.E}d+a+e+e+d+a+`+ #_+^+ #`L, h+ #L/,, %IL;, h+`6+.F}Lj,f, h+L,D1:*.ARC,y,R L# % ,%,R $$IL,,R &S,I L,T,I L,L,.G}L,,R &f,f,I L,f, + h+L, ,% +`L ---------L-Ȍ---P-P--L.H}-----aL---zѮL---I -LE-`6+6+L-5+.I}---L. h+ #L .ARC Viewer Version 1.0- &L&.by Glenn K. Smith. &L?.Copyright 1987.0 &LX..J}RADON Software.I & %L. Enter name of file to view;.e %L.!enter for directory, or enter. %L. to e.K}xit to DOS.. %-L.D1:.- L#  h+L/ file name>/ %-- &- --L=/DIR/9.L}- #Lc/ g,--L/Lk/QUIT/f- #L/5+L/L/-I:L/-I:L/-- d#L/--.M} L#-IL-5+LC0--//ͺ-L0--I.L/L0-L/-ͺ-L-0L0.ARC0-- d# ,%-.N} $$I 5+IL-5+L0 h+L0(Š͠ŠӠ0f % %`L0+F *000.O}0IL.1$IL.1͝0 0L000000L 18000 0 007+6+00 C%0000L0$L;1.P}5++F00 '`MLO1K1+XK1 '+''X+X )++XR+R )`6+/ 3 45}RD Ver 2.3 7-146+ (C) .Q}1986 I6+nc. 45CompL11+: '+@ '5+5+L4+F '+L '1 #1 C.R}%$L@2L4L41ILw2 %Lj2塢2P %L4L41IL2L2Stored21 L#L$31IL2L2Packe.S}d21 L#L$31IL2L2Squeezed2̢1 L#L$31IL 3L2Crunched21 L#L$3L3Obsolete31 L#1.T}1 1Lg31m111111La3 111L.311L3m11+R '1L31 L1+.U}+RF+F )1Ll3++F:+: )11L,4m11+R '1L41 L1++RL+L .V})1L3++L@+@ )1 #1 %1 #1 %1 #+F (1! #+L ( 01L1++:@+R .W})++@R+X *+''X+X )+X+X :* %L4Expanded file size:4 %+@ (L5Compressed file size:5.X} %+: (L;5 Bytes saved:5. %+R ( %L]5 A savings of 5O %+X H(Lx5 percent.5n % +`L5 B' -5+L5 15+I.Y}L5 ' x' '``5W@73"7 3'g39"7:Ag1\3\hF8@7 @.Ah5@ 9g3"7 @;>, AWDISK 1.2 - INSTRUCTIONS FOR USE: AWDSK2.CRE CREates an AUTORUN.SYS file which will allow you to redirectAtariWriter2[} formatted output from your printer to a disk file. Version 1.2 gives a series of short rings of the console bell on a wr2\}iteerror. Formerly there was no indication of a disk write error (like diskfull!). If this happens, try another disk! V2]}ersion 1.2 is also self-relocating. The loader boots to $3800 andrelocates AWDISK to MEMLO, resetting MEMLO to the next avai2^}lable RAM location(as per standard Atari conventions). AWDSK2.CRE is a CREATOR file. When you have it stored on disk, bo2_}ot up DOSwith your BASIC cartridge. Type NEW, then ENTER "D:AWDSK2.CRE". Put theformatted disk you want the output on in dr2`}ive #1, then type RUN. AnAUTORUN.SYS file will be CREated on this disk. Make sure that you have alsowritten DOS onto this s2a}ame disk. Then boot AtariWriter with this disk in drive#1. That's all there is to it! I recommend that you try this on a 2b}new disk so that you don't wipe anythingout if something goes wrong. Once you're sure that everything is working OK,you can2c} delete AWDSK2.CRE (since the AUTORUN.SYS file can be duplicated fromone disk to another). To cause AtariWriter formatte2d}d output to be redirected to a disk file, holddown either the SELECT or OPTION button while you press "P" on the main menuf2e}or printing. If you see the printer selection menu (it happens only the firsttime you print in an AtariWriter session), you 2f}must ALSO hold down the SELECTor OPTION button while pressing RETURN after typing the number of your choice.(If neither but2g}ton is pressed, printing will go to the printer in the normalway.) If SELECT is pressed, printer control codes will be R2h}EMOVED from theoutput. This can make subsequent processing easier. If OPTION is pressed, the printer control codes will 2i}be included in thedisk file. This file will be an exact "spool" file; exact AtariWriter printformatting will be reproduced 2j}if the disk file is printed (such as by copyingit to "P:" with DOS). The disk file will always be sent to drive #1. If y2k}ou gave AtariWriter afile name (with Load or Save), that same file name will be used by AWDISK withan ".AW" file name exten2l}der. If AtariWriter does not have a file name, thenAWDISK will place the output under the default name "SPOOL.AW". Be carefu2m}l ifthe file name is the same as a file currently on disk (you can check this withthe Index option); if it is, the old file2n} will be erased WITHOUT WARNING! HINTS: To format text for uploading to CIS, I specify the Atari 822 (dumb) printera2o}nd press SELECT. If you set the page size to 1 line (CTRL-Y 2) and top andbottom margins (CTRL-T and CTRL-B) to zero (0), ge2p}neration of blank lines(like at the end of the page) will be suppressed. Thanks to the help of Frank Nagle (70505,577), 2q}AWDISK WILL work withprinter drivers for non-Atari printers (at least it works with the Prowriterdriver). If you want to us2r}e such a printer driver with AWDISK, try Appendingthe driver to the AWDISK AUTORUN.SYS file (not the other way around) with 2s}theDOS Copy /Append option. AWDISC also works well with some other programs, including most BASICprograms. This can be 2t}handy to redirect print output to a disk, perhaps forsubsequent printing or telecommunication. Remember that SELECT or OPTIO2u}N mustbe held down while the print file is OPENed. (Once the file is open, thebutton can be released.) Unfortunately, LPRIN2v}T statements OPEN and CLOSE theprinter on EVERY statement, so each LPRINT will wipe out the file from thelast! (In fact, AW2w}DISK will only work with programs that open the printerONCE. So don't use LPRINT; use OPEN "P:", and PRINT, "?" or PUT to th2x}at filenumber.) Programs will generally work with AWDISK if they do not use the same RAMlocations. Without AtariWriter, 2y}the output file name should always be"SPOOL.AW". Since AWDISK loads at MEMLO, it may work with many machinelanguage program2z}s. It will NOT work with DOS copy, however, since loadingnon-resident DOS (DUP) wipes out AWDISK! LIMITATIONS: AWDIS2{}K V 1.2 has only been tested under Atari DOS 2.0S and RamDisk MMS.Since V 1.2 IS self-relocating, it probably will work with2|} other DOS's thatconform to standard Atari conventions. Note, however, that if you have a conflict with your DOS, you can2}} alwaysput AWDISK on a disk separate from the one you use for normal printing. Questions, suggestions and comments shoul2~}d be directed to: John Navas II (72645,1070) (415) 574-9139 If you don't hear from me right away, use EMAIL or cal2}l.0,0,20,42,84,170,0,0,0,0,22,44,90,180,0,0,0,0R[[0,0,95,191,47,0,0,0,37,0,95,191,31,0,95,191,23,0,75,151,3y @;Vz0610 DI.A$(100),HLD$(54),PT$(51):RES.620 F.I=1TO54:REA.X:HLD$(I)=CHR$(X):N.I625 F.I=1TO51:REA.X:PT$(I)=CHR$(X):N.I630 GR.0:6}POK.710,0:POK.709,14:L.640,650635 GOS.750650 .This line will be replaced by the proper OPEN command655 POK.82,0:POK.83,39:6}?:?"Records left to write: ";:POK.755,0660 T.900:REA.A$:T.40000:?CD;" ":?CHR$(28);CHR$(127);CHR$(127);CHR$(127);:CD=CD-1676}0 Y=USR(ADR(HLD$))680 N=INT((LEN(A$)+0.5)/2)690 X=USR(ADR(PT$),ADR(A$),N)700 G.660750 ADDR=ADR(A$):HI=INT(ADDR/256):LO=AD6}DR-(HI*256)760 HLD$(7)=CHR$(LO):HLD$(25)=CHR$(LO):HLD$(41)=CHR$(LO)770 HLD$(8)=CHR$(HI):HLD$(26)=CHR$(HI):HLD$(42)=CHR$(HI)6}780 ADDR=ADR(HLD$)+52:HI=INT(ADDR/256):LO=ADDR-(HI*256)790 HLD$(21)=CHR$(LO):HLD$(38)=CHR$(LO)800 HLD$(22)=CHR$(HI):HLD$(36}9)=CHR$(HI)810 RET.900 CL.#1:?:?"Done.":?:?:?:?909 POK.755,2:END910 D.104,162,0,160,0,189,2,1,201,64,48,3920 D.24,105,9,6}10,10,10,10,141,4,3,232,189930 D.2,1,201,64,48,3,24,105,9,41,15,24940 D.109,4,3,153,2,1,200,192,50,208,1,96950 D.232,184,86}0,209,0,0960 D.104,104,133,207,104,133,206,104,104,133,204,169,0,133,205,162,16,169,11,157,66,3,169,0,157970 D.72,3,157,73,6}3,164,205,177,206,32,86,228,132,195,16,1,96,230,205,165,205,197,204,208,223,96600 ..AWDISK allows redirection of601 ..Atar6}iWriter formatted output602 ..from your printer to a disk 603 ..file. V 1.2 signals you if 604 ..there are any disk error6}s. 605 .. 606 .. 607 .. 608 .. 6} 609 .. 640 ..AWDISK (C)1984 JOHN NAVAS II644 .. 6}1010 D. FFFF183813392638E7389138923891389138000000A00CA9088D1FD0AD1FD04A4A6A6A49C08D2438F0488A48A000B91906C91020 D. 30900CC96}5BB008991639C8C00890ED98D00BB90939991639C8C00590F5A200BD0E39991639E8C8E00490F468AAA001E8B9121030 D. 399924009D4403CA8810F3E86}A000981869068D253820EF38AE26389860AC2538C00CB01A2C243830152C26383006C91BD0081040 D. A0808C2638A00160C92090F920EF3898102448A96}0348A010A27F8E1FD08E0AD4CA10F78810F2A514690FC514D0FC68A888981050 D. D0E168A8AE2638BD420385229860AC2538888888888E26388521B9016}3848B9003848A421A90185219D410398A0926053504F1060 D. 4F4C2E41579B14391439F839443AA202A00038B9E702F9BD3999BD39C8CAD0F3A238BDBD6}398524BDBE3985258A48A202A0001070 D. 18B12479BD399124C8CAD0F568AACACAD0DEA217A950209739ADF739991B03ADF839991C03A94420973918AD6}E702852469221080 D. 8DE702ADE802852569018DE802A201A000B9003891248AF00CC8D0F5EE7F39E625CAD0ED88C8C016D0E760A021D91A03F0051096}0 D. 88888810F69848B91B038524B91C038525A00BB1249D0038CA8810F768A860003818381A381E3838384C3857385A386438671100 D. 387538893886}C388F3894389B38A038AB38B538DF38E938F038F538F93812391C3820382238F7391838E202E3021639E002E11110 D. 02BC39650 O.#1,8,0,"D1:AUT6}ORUN.SYS"651 CD=11nes(like at the end of the page) will be supp5@3.3;B@@ @;551\F-4B67 FBYTEBCNTCCOTOACROSDOWSSBYTENBYT  AV:}  !!(:} FONTPRINTER UTILITY  !!( PRINTS OUT THE SHAPE OF  $$( ANY 8 BIT FONT OR CHARACTER %%( SET.(C) 1983 BY ROBI:}N SHERER ( !!( FREEWARE VERSION. MAY BE""( GIVEN OUT FREELY, BUT NOT( SOLD. A $5 DONATION IS%%( S:}UGGESTED FOR A 10 PG MANUAL&&( AND A DISK OF CHARACTER SETS.( ROBIN SHERER( 438 129 PL NE.( BELLEVU:}E, WA 98005( THANKS!!#(#(PRESS SPACE BAR TO GO ON"F:AT,"@" @%+<<;A2,;A2,:};@,;@,;@,, 6. 6.*-.6-F:A,&@.A&@.) +& ROBIN'S:}) />-@@,  (i.e. D:MYFONT)>-@@0%! Load font from what file%1-- % :} 2+ 4!6-F:AV,$AV+ A7 A0< ǠԠͺ F :}@@K6-$AVP0-A#$)@,%0 Z@d6-$AV,:} , !Starting and ending characters to)# print (0,127 to print all))%%!) )!A'AH :}D 8Do you want to print on a 40, 80, or 132 column printerH++@@*@*A2A6-&%@:}6-P:'@,6-P:',6-%+',6-P:',6-&$ A@  Ǡ-%:}&@ 6.$-%&@)$%!A.67B:,%@,.CHAR 867B:,%@,. B++6:}7B:,&@-@@,  (i.e. D:MYF:}ONT)>-@@0%! Load font from what file%1-- % 2+ 4!6-F:AV:},$AV+ A7 A0< ǠԠͺ F @@K6-$AVP0-:}A#$)@,%0 Z@d6-$AV, , !Starting and ending characters to)# print:} (0,127 to print all))%%!) )!A'AH D 8Do you want to print on a 40, 80, or 132 column :}printerH++@@*@*A2A6-&%@6-P:'@,6-P:',6-%+',:}6-P:',6-&$ A@  Ǡ-%&@ 6.$-%&@)$%!:}A.67B:,%@,.CHAR 867B:,%@,. B++67B:,&@\9"\: 39"7:8>\8>9"\: @@` @C8 @a @\@C@@2 @ CPC @C@@2 @ CPC.}@@2 @\"\7;(f\"\@8 @3;)}\"\@A @3;-\"\@: @ \"\7;+.}\"\@; @ڞ3;=՞\"\@< @ڞ@= @\"\7;-\"\@? @33;=\"\@@ @33;>.\"\@7 @3.}@B @\"\;=S\"\@C @X@D @\"\;=u\"\@E @z@F @\"\7;&\"\@G @3;=\".}\@H @@I @\"\7;|ߟ\"\@L @3;=\"\@M @@N @\"\;=\"\@J @ @K @\".}\;==\"\@O @B@P @\"\7;=e\"\@S @3;<\"\;=\"\@Q @@R @@T @\"\.}7;=\"\@U @3;>\"\;=\"\@W @@X @@V @\"\;= \"\@Y @@Z @\"\;=/.}