0L0UTILITY7(   Error: No DOS(0 )0 / 0/(0/)00ֹ/ / Ȅ`lL*0  1 1%7x0 1 1 18H 1(哅h k1 y0L0l00DEH B VL0@   Y0`0.` a000. 08&.` 0mm 8 L1ƕƔ 1擥` (mMain  Z2X32F DOS]2.!README 1ST] l7BEDIT COM]W?BEDIT DOC](0CRUNCH14DOC]-cDZ COM];FORMAT COM]SFORMAT DOC] LZ COM]5 MFORMAT COM]IMFORMAT DOC]LMOVE COM] MOVE DOC]RD1088 COM] RD1088 DOC](WATCH COM])WATCH DOC], AUTORUN SYS].MMCUSTOMBAS]-oMYMENROMCOM]$9fMYMENU COM]*I^MYMENU DOC]0sMYMENU FNT];}MYMENU OBJ]#=MYMENU SRC] LMYMENU TXT]" This textMYMENU.DOC Instructions; Copy to your printer or screenMYMENROM.COM MyMenu with Atari font;MYMENU.COM ...with a custom font;MYMENU.OBJ ...add your own font.MMCUSTOM.BAS Changes font and/or title to your likingMYMENU.FNT MyMenu custom fontMYMENU.SRC MAC/65 program listing Enjoy! Tony Ramos 1287 Dennison Ave. Columbus, OH 43201 [GEnie address: T.RAMOS1]_!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^~S28$HHH өH*HHllhhh@HHLH|)ӝtI)MӍ|hh`HH||)thh(`44DEPH BLV `)`` '4 4 4Ȣ4 4LI4 4 w4 4x '4 44X 4) ~`8 '4 4 4L4L4Error: Not an XL/XE Computer.4.4t5} SpartaDOS Ver 3.2f 25-Feb-94 Copyright (C) 1994 by FTe 4.4 4 4G)@}҅  EEF E x4 d5 d5" #   c5  M c5 , W5 4LL4 L LLHEi ȱEi `|40 `` 7 YL\ 2BHG H-G H ةHhJ \hBL\`@B 442@3Y45245324 `L1( (ҩmi:; < =x:23454 Μ ,  w ,P lνе X0`234 5` P21 ,350 2 9 4 2 9 LD1 9)ҢL1,350 &2 4 2 1`08` S< ACE,0ɋ8` `ύ&'0`e1i1`,07 ,ߍҩҭҍ )  `_ҩҩ,,,8`H)ҩh `#,ҍ ҩ(ҥA,ҩҩ`jj)?j)`Ң`H?ʎ @  0h ``@@B,~-32@3452453c24` ɔ FNot SpartaDOS disketteLɢ FDisk fullLɪ FFile not foundLɣ FIllegal wildcard in nameLɘ FNot binary fileLɤ FFile erase protectedLɕ FNot version II disketteLɩ FDisk write lockedLɖ FDirectory not foundLɀ FBreak AbortLɐ% FWrite protected or bad sectorLɥ FFile name errorLɨ FFunction not supportedLɧ FCan't delete fileLɗ FFile existsL` w  w(0   0a Y©ÍYh   N Y©  NΟ`L 8L`@D , ̍̍)̝BJJJJJ ̝D̝E0 KJ)̝JJJ)̝H̝I D@   Ϭ,0),~  FError -- L`(),! *+  -"#$./0_@ @CA똩)*K HJJJJ 9h) 0:iLhWhXWXͭ LNͭXHWH`, Nnn ͠H͎͌͢ͽ `Mܩ,0 N ͭO` P..*N  . 0PH0  ʩ `$%` Π vAG) ..ܭ` 7`  7`L @ ύ  ύ 乀` Ω* #* Z 0DLϠ ̠ ̭0L0f 0  LϮ Lϭ  /A ̠ LL~υCυD. yϠC  y 婛蝀`ȹ  ` ̢0 8̽ H̽I̠0 (ʢ 0L *)L* *M @ L ( `L(= # , 魗  筙`( L#() LLL I0   䍠 e , ʎi 0L CL] 0G   KQ;`) x뭤B L  ,  ,)ߍ "LLL  ,] 0 # K ح)  "L  밻) 멀 "L` ,L  Ld͙Lj魗  Lj$H0Ld88A e , s eECFD8  8  9L H ,C]Dah LꭖCD L譔  魙8L LL$H0 s ,LxECFD  鬙 9L謓CCC)` L_CC C`C`C`  EFL뭔 K`8mi` /L9 Z"C X `L ꭔ C8 CDC}TCȱC}UC`  eCCD`  _C``Ipi ͟? x0,)C) `II  08` CL # , 魗 `1@R H0>h0   * HH 0hh`hh,L L { P*)0 0*`*)& K9:*$+0;QG` {!*B sﭟͻͼ/ P {0*)((a,,,L ) *)  I0 , *)  I  0 I  K 䍝 ,) *I *c 0L U*) 0 @`L,0 K) MﭝI $ 0 zz  G L  Z v #(> sL L,0`H hɛ ,'L0,L P*H * {0h*L04*  0 )L Lq * { M {0Y) *LJ, -* { M {0 ,  ,) LkL, LLLL: * {, (] 0 # K M {0 LL8*  * 0I LL,H ) ") čɍҍ)*LB 0 ͠E 0)  0  63# ͌;QL   ͩ: ͭ ͩ: ͭ ͩa p ͩmLͭ ͩ- ͭ ͩ- ͭ L͢$ ` 6(ȭ(Ȣ(((ȭ(ȭ(` ȱCL,~LL # wL ʈ`1N@ 1!@1S@@8` v P  > Ȣ L >(ȩ(` (H(h `*$/ȱ$Aȩ *$$ `2Kd}j #H 0K 08}  )L ,08J mHh 8Jm , 3m L  8 L iL?EF,L譞)  #T 0N 0   Q 0` >$H s L)L  CȭC _ 1 /͓ hL\ s)H   EF 묓 hL\ KL\FА֐#eCCD$H0CELW `abcdefghijklmnopqrstuvwxyz{|}~EC$H _8m䍖L ``H譞=L `   hC̓ _`LK8EmEF8m䍚 W 0`8`8`CȱC`CȱC`  hCD ` / ?䭒,06/O)͒/?}` &O`)8O,0, } ,0} 8,0 8JHjmChmD`H)h)/ ?  &CD8 ` ` i͓ L?CC, CȭC CȭC _L 3 `),)   C&̓ͬ L,L   X,}T}U` .C   I1CC`   CC,0  L4L@ٯ` N j  ,0 z` _)8j`m K`, HJjhj`, H**hJ`_/]^/` 0 `y"U a ې;ݒ- ;m ; - ;  ]!K`Z6<` 2 @ ɛ  `  8)ɀɛ ȹ`COPLOASAVAPPENCWERASRENAMCREDIDELDICARUPRINTYPDIDIRMEPAUSVERIFBOOCHKDSPROTECUNPROTECLOCUNLOCXDIAINI?DIBASITIMDATTKE,,,,L̩` FFormat: Are you sure? )_H hY L W,P` 7l FNo cartridge` ̭8 F Volume:  ͭ   0ͩ   0 F͛Bytes/sector: 0 F͛ Total bytes:  l F͛ Bytes free:  lͭ ( F͛ Write lock: ,!0 FOFFL FONL  , ̠ 0  BLL `LX  ΍ 7 PL\l FPress any key to continue L FMemlo: $ 0ͭ 0 F Memhi: $ 0ͭ 0ͩL ̠ ̠L M)MӍӌj E L ̭O NF FParameter ErrorL` *L *L  FCurrent date is   F͛Enter new date: - 3_ɛX KJLL  FCurrent time is  F͛Enter new time: : 3 ɛ F`ɛ )_PAϩ, mJ  J JLO WMJ`:8`M {)pM mM iM {`ȹ 0:`8`L ` 7 VL\ 7 L\%H$H`LPLI L2 X  UD1:autorun.sysstartup.batQ*.*.COM.BATD1:Volume: Directory: FREE SECTORS LI z)͒}`This is the seventh in a series ofnine disks containing public domainutilities specifically for SpartaDOS.No two disks contain the same file.Disks 1 through 4 contain genericutilities, with each disk having agood assortment. Disk 5 containsspecific files for MIOs andhard drives. Disk 6 is my version ofthe SpartaDOS Tool Kit--only usingpublic domain files. Disks 7 throughnine again contain generic utilities.This disk was formatted with, andhas the DOS.SYS of, DOS 2.5 to enableall users to view its contents, notjust those lucky enough to haveSpartaDOS.Please use the text reader (theAUTORUN.SYS file) to becomeacquainted with the files beforeusing them.Any Share-Ware files that may be onthese public domain disks are agratuity--the disk space they takewould be blank if not for them.If you would like more public domainutility disks for SpartaDOS write to: H. Brewer 4010 Ridgedale Granite City, IL 62040-5741As of Summer 1988, disks are $5 eachor $12/set of 3, with three sets available. (c)1983 Action Computer Services  B JKIHiDiELV`L BLV`LUQl LR &` Fj`8冨凪` EӅӥ `ʆǪƩ Ɛee` ƦʆǢ &Ɛeǐ L '&&&8儨児祂*L&&*ń8&&L `hihiHHȱȱL_c !#3`LRJJJJ`H _h`Hȩh .L 7L L L H8`HhHh L BHI V䅠L LR LԆ ؠPIPP` P L Lo L ‡L}H- x8塪墨hL‡ ۇLo ⇥L} ȹP`텠8堨塪 芨Oȩ-`PP JP棩 Ѥģ0-ģ6000:,80H & &ehe&eģ0ʥ 8堅塅`$ q&*i0:0i qƦ`¢ 护°ڱ%ȱ%E qL担CS LI ۇLH ֈL L &B V NLMȑ` MLN%B VLHhƣĢ`ƥĤ`Ѣ 6`ȱѢĦ`膡``ťƤe8夰LL Ƥ8`ŦeѠe桊LP ADFGILMSVWZ$/+=-CQR?*^Ԋcf 012345678912345678ËD1:*.*΋ABCDEF׋%EOpen error %B!%Etoo many; use max? size of block (M for max)? "Enter filename, or RETURN to exit.)S:NE:S8AAABBBBBBBBBBCCCCCCCDDDEIIIJJLLLLNOPPPPRRRRSSSSSSSTTTTTT~8DNSCCEIMNPRVVLLLLMPPEEEONNNMSDDDSORHHLLOOTTBEEETTTAASXXY8CDLCSQTIELKCSCDIVPXYCXYRCXYPRAXYRPAAPAPLRISCCDIAXYXYXASA ##%## ####('(((-(*!$!! !!+)&)) /0201620102018070  43  5  ,,,",,,.,,/                     1H  VW ц h)0IQRLц`Ţ`ȱģƣ`JJJJ)i0:i`Hhѡ``Lŏ mqiȌL_IL L_imiL`Lh m`cb: LӐcba` Bbicid͋̋d LАՋi֋idL֋Ջa` B`acba` `L )`~L- m P))ILa`LB)I}LѮL~ q8LkLBѮLؑ)I~Lؑ~ q8LBLBH(') hLB) qie߅i)LI`ee ƣơ`L m|m~m|Ů}寐Lڒ~|}Lڒ~}| FL~}| `H hB` DEBHI VHI`@\D]E V䄠` L: KJL: B V䄠`L m | eL֓`L LL@ Pꓭ꓅`L U` aLGL=No file! Read or Create% LZm[m rLg%H %I a U L qLrILLEOL L qr q q qr ULݔ qL̔$ qr vv qr vv q`L m  L@  VVL m i‹ Lߋދ L 8LLK L͕` Ȍ L m iߋދ L+87L480 8  i e e L镭 ` 0123456789/$L mii LߖLii‹ IL>IL( cL; cLiiI/LiiLL a `Ldon hiihcb hidhiLdLh`Ldebdce0L%C%EFile exists! Overwrite? ! 듥zzIYLqLbN` `LLvYt ݢ$ _r |rLr r`L"rILڜr r`L"I L"L(%C%EFile not found; creating new file.%E I LEL; (appending)/ L^LW(writing file)H ݅ rrLr r`a`[Z 㓥gf |fg0LfrL%Ewrite error %B!%Er r``file size is zero!L oML LI! (add " /Sxxx" to skip xxx bytes)' L] %E(D%C:) Ջi֋iS `@ * o@L`@ LLnr@ɞɞrLr@I LڞLrL=rLLnri@vri@zvI/LsSz L2Lnri@@ Y 8r@LnL@L{`@ e݅ rrLr r` LL"%E(skipping first %U (%H) bytes)%E a` LL5noLQon[Z ܓa`Lp[Z ܓa`` aLŠL%Eend of file while skipping!%E~  ݊eda``L2`a0L`rL%Eread error %B!%Er  ݊eda`r`L28`aLon[Z ܓa` |ed` aLLv%E%S%Eo L࡭`a0L̡L%Eread error %B!%Ea` ݊a`L8`bac =`L桍塠硩hiLZm塍顭[m桍ꡭqۭpڌ衭h99衰LFfڥ))Lzm衅i]LzLL.硅`LL start at? @ * o@L`@ ih`haiLLstart addr too high `8`hlaim`L@ * o@L5`LPAIMLPmklj`@ kjljmkL  듥zzIYLLN `LLY mklj`Lף 3  o RR'SҊiӊi ocbeda`݊[ZZ[]@\@8Z[8nonoLon |LK: UL Bedit 1.5 o oULۤBill Aycock 76703,4061 oUL Feb. 1988 = oed L ?  8`bacbc0LBcbR 듥z܊ۊz LkLL`a0LӊҊz ŠLLLJzIQLL»LzI?L =LzICL rL(Change size%E%Ecurrent: %H %U (%B%%)%Eaa`r` LA(max: %H %U%E%Enew size (M for max)? oonn @ * o@LAIMLoan`LЦ@ ihnhoiLĦL too large LЦiah`8`bacbc0Lcbbdce0Lcebd oLL!^*z LL? Directory5 zI*LXrL]r oL!Enter drive number (new default),c L for *.*, to abort. Lʧ%E(D%C:) Mask? Ջi֋i `@ * oAz@L֋Ջ BL|AI L(LL|@ILo͋̋z ILoՋi֋iz֋Ջ BL|@ e݅r rrLӨLCan't read dir %S! (%B)%Erݢ L@ 6LL񨢋@ LӨ |LL] oLzIRLFLRead z zɀL=edL@L oLzIWLLYWriteS z zɀLzL}L` oLzIFL­L/Find%E%EEnter bytes to find as decimal, $hex,%E L$ or /char (or use * for a wildcard). L%Type S to find the same bytes as last LL" time, RETURN to start the search,) Lw or Q to quit without searching.V obc0LbLޠqpihލhiLoLϪ byte %B: hiii h iL q@ * oh i܊ݭA߭@IS IQL7LoLdI*LSp܍pqݍqLd@ hhiLh iLISLLLIQLL8hhiiISLcӣLiӣhbhciL᫭cibhңqѣpzhzLzzzLLcL5No previous search made! LVCannot use 'S' option.? oLhӣqңpѣL looking for:x zhzLzz$UL o qzqp xڊۥ))Lz L* qzL o oeݭd8bh6ci76ܭ7ݰLzZe܅[e݅Mp)q)Ů寐Lzݥ 롥zzILݍe܍dLL'zLL not found oLLoLzIVL/Lڭ View block o zzL('  zzL,hmjimk8lm oLXUse ^1 to pause, START to exit.8 oi %U? kihmljf 듥zzIYLƳLN LL˳Y Zml[mmZmh[mikj meldLLz oLzIDLL9 Delete block, o zzLVLiehdLsize to EOF is %U (%H) bytes%Emmlle Ldelete how many (M for max)?  zj kzLLL%Edelete %U bytes from %U? kihj 듥zzIYL9L/N- LL>Y< hmjlimkmZmh[miZml[mm8`lam 8`j`akaLLC oLzIILL͵ Insert block o`Mn aMoL LNo room to insert. L zzLLiehd8n`loamL[free space: %U (%H) bytes%Emmll? Linsert how many (M for max)? w  zj kzLLLԶ%Einsert %U bytes at %U? kihj 듥zzIYLLN LLY 8`hlaimZmh[mimjmkZmh[miml Zmh[mikj ĉ`mj`amkaLL׵ oLzISLL˷ Set block o zzLL ('  ziehdzLL L new value?  @ * o@L=L @ rLe%Echg %U bytes to %B (krjN rILLEOL Lr qL)?  듥zzIYLҸLȸN LL׸Y Zmh[mikrj ĉL Lշ oLzI=Ld= q@ * o@L^Zmd[meHH@ chh LzI$L$ q@ * o@LZmd[meHH@ hh LzI/L/ q@ * o@LZmd[meA LzIGLwULgoto?  @ * o@Lt@ ihbhciLhcibhiehdLzIALLA edLzIZLLZ cebdLzI+L?ULԺfwd? @ * o@ ih8bdcehiL)cebdL<dmhdemieLzI-LULWback? P @ * o@ ihdheiLedL8dhdeieLzIL o L o oLۻQuit for sure?  듥zzIYLLL qL | |Rl l``ԣA      !"#$%&'()*+,-./0123456789:;<=>?@ BEDIT Bill Aycock 76703,4061 Rev 1.5 Feb 1988 Word processors are great for playing with text files, but what if you need to edit a data file? What would you use to modify a printer config file for an unusual printer, or poke around in a short ML routine? That's where BEDIT comes in. BEDIT is an editor for data files. Use it to examine and change a data file, or build one from scratch. You can display the contents of a file in decimal, hex, ATASCII, and assembly code, change what you see, shuffle around blocks of data, etc. Just remove any cartridges from your Atari and binary-load BEDIT from DOS. Rev 1.5 adds the capability of handling files of up to 90K bytes through enhancements to the read and write routines. Also, you can search for the same sequence of bytes more than once without having to key it in again. Lastly, the display routines have been modified to work properly with the SpartaDOS PRINT command. ===== THE COMMANDS ===== Everything you can do is listed on the screen. If you forget a command, just enter a question-mark for this list: Q quit to DOS ? cmd list C change size * directory R read file ^ Sparta dir W write file L list block F find bytes V view block = chg to dec M move block $ chg to hex I insert blk / chg to char D delete blk G goto addr S set block A goto start + move fwd Z goto end - move back You will also get a line of statistics showing the amount of memory used and the maximum amount available in the work area: used/max 0/26780 $0000/$68A6 0% When you first start out there is no file in memory, so only the first six commands are listed (the others don't make sense). The prompt line looks like this: No file! Read or Create ? Just type the letter corresponding to one of the legal commands, and you're off! Here's how to use the commands... ===== GENERAL NOTES ===== If you enter a command by mistake or change your mind, you can usually just hit the RETURN key ("") to get out. Hit the CONTROL and CLEAR keys (clear-screen) first to erase anything you've typed. To make sure you're being "legal", all your input is filtered. None of the screen editing characters (cursor keys, insert/delete, etc) will work, with the exception of BACKSPACE and the clear-screen keys. In most cases there is a limit set on how many characters you can enter, but there's always enough room for a reasonable entry. The clear- screen key just erases your input; it doesn't clear the entire screen. File names can be up to 98 characters long. That should be enough for almost any subdirectory path! The default drive starts as D1:, but _every_ time you enter a disk device spec, the default device is updated. This goes for getting directories as well as for reading and writing files. The prompt for each of the disk commands shows the current default drive. When BEDIT needs a value as input, you can usually enter it in any of three ways: as a decimal or hex number, or as an ATASCII character. Enter just digits for a decimal number, or precede a hex number with a dollar sign ("$"). Precede a character with a slash ("/"). Note that a character value can only be in the range 0-255, and you can't enter editing characters as such; you must use their decimal or hex equivalents. ===== VALID ANY TIME ===== Q Quit to DOS When you want to leave BEDIT, type "Q" at the prompt. The program will ask if you are sure you want to leave; if so, type a "Y" and you will return to DOS. Otherwise, just hit any other key to continue. C Change size You don't _have_ to edit an existing file, you can start one from scratch. Use the "C" command to change the file size to any value up to the maximum. You can also use this to shorten or lengthen an existing file. Note: this command DOES NOT affect the contents of memory! If you want to be sure of a clear work area, use the "S" command (see below) to set memory to zeros. R Read a file To edit an existing file, read it in to the work area with the "R" command. At the prompt, enter the name of the file you want. The prompt shows which drive is the default; you don't need the "Dx:" if your file is on that drive (if it's not, enter the complete file spec including the device). The file will be read in, ready for work. You will be informed if any errors occur. When a file is successfully read, the current size will be set to the size of the file. To aid in editing large files, BEDIT will allow you to skip up to 64K of a file when reading it in. Just add " /Sxxx" to the filename and BEDIT will skip the first xxx bytes of the file. Note: the space character is required! To work on a large file, edit it in chunks of 20K to 25K. Read the file into memory, then change the file size to 20000 bytes. When you finish working on the first part, write it out to disk. Then read in the original file again, but add " /S20000" to the file name so you skip the first chunk. Edit this second half, append it to the first part you saved earlier, and you're done! Since you can skip up to 64K and the buffer size is about 26K, that means BEDIT can handle files up to around 90K bytes long (it would take four chunks to edit a 90K file). * Directory Use the "*" command to view a disk directory. At the "Mask?" prompt, just hit for a full directory of the default disk, or enter a mask ("*.COM" for example) for a partial directory. If you want to see what's on another drive, enter JUST THE NUMBER of the drive. You'll get a full directory, and the default drive will change. You could also enter a full file spec at the prompt to get a partial directory of another disk. If you decide that you DON'T want a directory, you need to enter JUST A SPACE at the prompt. Hit the clear-screen keys and the space bar before you hit the RETURN key. ^ SpartaDOS directory This command works exactly like the normal "*" directory command, but will display the expanded SpartaDOS-style directory with time/date stamps, etc. ===== VALID ONLY WITH DATA IN MEMORY ===== Once there is some data in the work area you can use the other 16 commands. These can be broken down into four groups: navigational commands, memory change commands, block commands, and others. Most of these commands require some extra input. The prompt line is different when there is data in the work area. This is what it looks like: $0123 291 A 65 $41 ? The first two numbers show the current offset in the file in hex and decimal. The next three are the value of the byte at that offset as an ATASCII character, a decimal number, and a hex number. The cuBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rsor will be at the question mark, ready for you to enter a command. Your location in a file is always in terms of an "offset" from the beginning of the file. The first byte is at offset zero, the next is at offset one, and so on up to the (file size - 1). For example, the offsets in a 1000-byte file would run from zero up to 999. ===== NAVIGATION ===== Move forward 1 byte This command isn't listed on the menu, but it may be the one you use most. Just hit the RETURN key to move forward to the next byte without changing the byte you're on. This is exactly the same as "+1". G Goto address To move quickly to a specific offset in the file, use the "G" command. Just enter an offset in decimal or hex (or as a character, if you're perverse), and your current location will move to that byte. A Goto start The "A" command will move your location to the first byte in the file; that is, to offset zero. Z Goto end Similarly, "Z" will move you to the last byte in a file. + Move forward Enter a number at the "fwd?" prompt and your position will move that many bytes towards the end of the file. Of course, you can't move past the end. - Move backward Likewise, a "-" will move you towards the beginning of the file. ===== MEMORY CHANGE COMMANDS ===== Here are the three command that let you change single bytes in a file. These commands all work the same way: enter the command character and the new value for a byte, and it will be changed. Your location will then move forward one byte automatically. Remember, if you change your mind just hit clear-screen and and the byte will NOT be changed. = Change to decimal Enter a decimal number (up to 255) as the new value for the byte. $ Change to hex Change the current byte to a hex value by typing in a dollar sign and the desired value in hex, up to $FF. / Change to character As was mentioned earlier, you can't enter an editing character or an EOL directly with this command; you need to use its numeric equivalent. Other than that, you can specify any ATASCII character following the slash, including lower case and inverse characters. Note: the inverse flag is reset after each entry. ===== BLOCK COMMANDS ===== These commands operate on a group of bytes rather than a single byte. Also, most of these commands are NOT keyed to your current offset (the exception is the List command). You will usually be prompted for a start address, size of the block affected, and any more information needed. As with most commands, hit without entering anything to cancel the command. L List block This command will list the 23 bytes starting at your current location. The format is the same as the prompt line, with one difference: the last field on a line will be a disassembly of the byte, including any operands, in standard 6502 mnemonics. Relative addresses for branch instructions are displayed as plus or minus a value (e.g. "+37" or "-5"); other operands are displayed in the normal format for the 6502 address mode. This can be useful if you're trying to hack a single byte in a program, such as a screen color or keypress value. V View block This is used for looking at the ATASCII representation of a file. The block you specify is displayed on the screen. Each line shows the starting offset in hex and decimal and the ATASCII values of 24 bytes. An EOL (end-of-line) will skip to a new line, but the other editing characters will be displayed in their graphic forms (bent-up-arrow for clear-screen, left arrow for cursor-left, etc.). Use the normal control-1 combination to pause and restart the display. If you want to quit before you reach the end of the block you specified, just hit the START key. M Move block After entering the start address and block size, you'll be asked for the NEW starting address. If there's room, the block will be copied to the location you specify. Any amount of overlap is fine; the program will start at the top or the bottom as is appropriate. This does not change the size of the file, it just shuffles bytes around within a file. I Insert block You can use this command to insert a block of zeros into a file. Enter the start address and the amount of space to add, up to the amount currently unused. Confirm this by typing "Y", and all the data past the starting address will be moved up out of the way. The inserted space WILL BE SET TO ZEROS, and the file size will be adjusted accordingly. D Delete block This is pretty straightforward. Enter a start address and the number of bytes to delete, then type a "Y" to confirm it. The appropriate number of bytes are removed, and data following the block is moved down to take its place. The file is shortened by the number of bytes deleted. S Set block Another simple command. Fill in the start address and size of the block, then specify what value to use when filling the block. Of course, the value can be specified in decimal, hex, or as a character. You could use this to clear out the work area when you first load BEDIT. Change the file size to the maximum, then et the entire block to zeros. ===== OTHER COMMANDS ===== F Find bytes Enter a pattern of up to sixteen bytes, and the work area will be searched STARTING AT YOUR CURRENT LOCATION for a match. If the pattern is found, you'll end up at that location. As you enter the pattern, you can specify each byte in decimal, $hex, or as a /character. In addition, you can enter an asterisk ("*") as a wildcard; it will match any byte. When you've entered the search pattern you want, just hit to start the search, or type in a "Q" and hit to cancel. (If you enter all 16 bytes, you won't get a chance to cancel the search.) If you have already done at least one search since you loaded BEDIT, you can type "S" and to search for the same sequence of bytes as the last time. BEDIT will list the pattern you entered (in decimal) and will then start the search. Be patient! If you're at the start of a 26K-byte file and you want to find a 16-byte pattern at the end of the file, it can take up to 30 seconds or so. W Write a file When you've finished editing a file, use the "W" command to write it out. Enter the name for the new file and hit , and it will be written to disk. If the file you specify already exists, you will be asked if you want to overwrite the old file with the new; type a "Y" to go ahead, or any other key to cancel. As with DOS, you can append to an existing file by adding "/A" to the file name. ==================================== That's about it! I hope that once you become familiar with BEDIT it will be useful to you. I imagine one common use would be in building or modifying a printer configuration file for a word processor. For example, The Writer's Tool (from OSS) includes detailed information on the structuAre of such a file - tells you the offsets, what the different fields control, all that. It would be a simple matter to customize a printer file for almost any unusual printer. Bill Aycock CIS 76703,4061 14 Feb 1988  AlfCrunch Documentation Revised 7/10/88 ----------------------- AlfCrunch is an implementation of the Lempel-Ziv compression algorithm. Although it produces files that have the same structure as those produced by the Arc program, the two are not compatible. Arc cannot uncrunch AlfCrunch files, nor can AlfUnCrunch unarc normal Arc files. The current version of the LZ/DZ files is 1.4. Versions 1.1 through 1.3 are compatible, but not with 1.0. If you have 1.0, you should discard it and use 1.4. The reason for this is that 1.0 used the same header as normal Arc crunch. Because of possible confusion over this, the header used by AlfCrunch was changed. Since 1.0 had very limited distribution, this situation should not often arise. For those who wish to be able to detect the AlfCrunch format, the first two bytes of the file will always be $1A $0F. This version fixes an annoying bug in both v1.2 and 1.3. If you had asubdirectory entry amongst the filenames you were crunching, LZ wouldstop at the subdir entry. Also the stack errors will now cause a properexit to Dos rather than re-execution. Enhancements to v1.4 are the addition of time/date support. If youare running under Sparta 3.2, LZ will store the Sparta date/time from eachfile into the header. DZ does not use this information, it's just there toprovide a reference point. When running either LZ.COM or DZ.COM, Memlo must be under $3000. This should not normally be a problem unless you have a lot of handlersinstalled. A cartridge may be present, as it only affects the size of the buffer available to AlfCrunch. Maximum speed will be achieved without a cartridge being present. A final note ------------ Well I think this is about as far as AlfCrunch is going to get for now. Idon't really believe there are any more features to add without modifying thecommand line parameters. So this version (1.4) will be the last forsome time to come. Except for bug fixes (few if any I hope) the 1.x line willnot change. I hope to add command line parameters similar to ARC and maybeadd the ARC compression methods to finally resolve the compatibility issue. Alfred Programmer's Aid BBS (416) 465-4182 Running AlfCrunch ----------------- To crunch files, load LZ.COM. The title will be displayed, along with the version which should be 1.4. You will then be prompted for the output filename. This may be up to 80 characters long, including subdirectory names. If the output file already exists, it is checked to see if it is anAlfCrunch file. If the first header is correct, then the new files will beappended to it. If the header is wrong the program will print an errormessage and exit to Dos. If the file is shorter than the header length(29 bytes), then it is simply opened for normal output, which erases it. Next you will be prompted for the input filemask. This is what will be used to select the files. This may also be up to 80 characters long, including any subdirectory names. Wildcards are allowed. If selecting all files, the mask must end in *.* . Finally, you have the option of turning the screen off. Selecting this option will speed up the program by 15-20%. Once selected, you will not again be prompted for this option. If you do not elect to turn the screen off, the program will continue to present this prompt until it is selected. The program will then select files using the mask and compress them, displaying the filenames as it progresses. When it has finished, it will prompt you for additional input filemasks. You may either enter another mask or simply press return to exit back to Dos. LZ and SpartaDos 3.2 -------------------- If you are using SpartaDos 3.2, you may invoke LZ.COM and specify the output file and input filemask on the command line. The format is: [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] The square brackets denote optional parameters which may be omitted. The first filename is the output file. The second is the input filemask. If you do not specify the input filemask, the program will prompt you for it. The program will automatically turn the screen off. When it is finished it will prompt you for more input filemasks. To invoke LZ as part of a batch file, the format is almost identical. The lines in the batch file would be: [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] Dn:[path>]filename[.ext] <- Additional Dn:[path>]filename[.ext] input masks The program will read each input filemask, compress the files selected and continue until all the input masks have been used. You will then be prompted for more input masks. If this is part of a larger batch file, leave a single return after the last input mask to force LZ to return control back to the batch file. Example: [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] Dn:[path>]filename[.ext] Dn:[path>]filename[.ext] (single return here) [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] Dn:[path>]filename[.ext] Dn:[path>]filename[.ext] (single return here) At the end of this, you will be left at the Dos prompt. Because of the way i/o redirection is handled, an alternative form is available: [Dn:]LZ Dn:[path>]filename[.ext] <- The output file Dn:[path>]filename[.ext] <- The input filemask 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: [Dn:]LZ Dn:[path>]filename[.ext] <- The output file Dn:[path>]filename[.ext] <- The input filemask N <- Leave the screen on Dn:[path>]filename[.ext] <- Additional mask N <- Leave the screen on Dn:[path>]filename[.ext] <- Additional mask Y <- Screen off now Dn:[path>]filename[.ext] <- Additional masks, but no Y Dn:[path>]filename[.ext] <- is necessary (single return here) Getting Them Back ----------------- To extract the files from an Alfcrunch file, load DZ.COM The title will be displayed, along with the version number. The first prompt is for the name of the file to uncrunch. This filename may be up to 80 characters long, including subdirectory names. Wildcards are not allowed. The next prompt is the output directory. This is the directory where the files will be placed when extracted from the crunch file. If the directory does not exist, an attempt will be made to create the directory. This may involve creating a number of subdirectories to get to the last one, so care should exercised with this feature. If errors occur during the directory build stage, an error message will be displayed, and the program will return to DOS. You may specify a wildcard toonly extract certain files or use '*.*' to extract them all. *.* is the default. Auto directory creation is only available under SpartaDos. Under any other Dos, if you specify a subdirectory, you will probably geta single file with the name of the first pathname. Assuming all is well, you again have the option of turning the screen off while files are being extracted. The program will then extract each file and place it in the output directory specified. If any errors occur, an error message is printed and the program returns to Dos. When all files have been extracted, you will be prompted for another input file. You may enter another filename or press Return to exit to Dos. The 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 An 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 message which is described next. Msg: File Checksum In Error --------------------------- DZ has detected that the checksum 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 memory 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 data 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, you 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. Remember, you can use a wildcard tolimit the files or take the defaultwhich is '*.*'. 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 form. Accordingly, only brief examples will be shown: [Dn:]DZ Dn:[path>]filename[.ext] [Dn:[path>][*.*] Dn:[path>]filename[.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 output path Dn:[path>]filename[.ext] <- Third input file Dn:[path>][*.*] <- Third output path (single return) <- Return to Dos The third format is: [Dn:]DZ Dn:[path>]filename[.ext] <- First input file Dn:[path>][*.*] <- First output path Y <- Screen off Dn:[path>]filename[.ext] <- Second input file Dn:[path>][*.*] <- Second output path Dn:[path>]filename[.ext] <- Third input file Dn:[path>][*.*] <- Third output path (single return) <- Exit to Dossq7~0 }V1.4 ALFUNCRUNCH 07/10/88File to decompress:Output Directory: Processing completeUncrunching: Screen off for speed ? Not an AlfCrunch file!Output Directory Is Too LongOutput Directory Is InvalidError Opening Input FileExtra bytes at EOF. Don't add to fileError writing output fileError reading input fileInput buffer overrunFile checksum in errorError, memlo must be under $3000 {/sq0Pq z@ { |qLs zݠq z {yz* {r zsq/0 H{Sl `8s zLs ^{ } ~yz qp { |Lsq z {yztq ^{ } } wr zLsyz qPpq)r z { q Q{Y /莳qp v{ r zLs{zq|z}z~z z!׭~z}zqĢr zLsq Ar zLsqtq |tqPpɛ Yr zLsPp>: wr zLsPppȢqp0pp ~LPt0p {{ ՠr zLsr zp zqq q q q Nu0 H{LPtqqqqqqqqq qqq` xyq{zq|zq}zq~z zq y}z ~z` v! yqqq̀q s z`*$ x v}qyq~qzqwqxq &xLu}quq~qvq|q{qyq}qzq~qxq x~q*}q~q x x}qȱ~qLAv}qxqwq~q xq q Dy &xLv xuqyqvqzq{q|qͮqͭqq qq.qLuqqFfqqq8帅q幅 qLw zLxqqqeqeq8弍}zq~zqe{zqi|z zqLx yqq&q8帍qq幍qLvmqmqq)*ȱ8qFfqmqqmqq`qq)q.q.qqqLw qqq{q|q`mqqmqqqqq̈́qGq̓q?q{zq|zq}zq~z0 zՠr zhhhhLsqqqq`&eemqmq`{q|q xwqyqzqȥ{q|q`ȥi淥p %y zLxqq`STACK OVERRUNSTACK UNDERRUN8ȱ` 4y zLxqΰqίq`8܍qqNqnqq qq܍qqmqqmqq`q q`q{zq|zq}zq~z0 z`{zm}z|zm~z0͈q륾͇q`q q z ]z`q~zq}z᭜q}zq~z}z ~z z ]z`q8}zqq~zqqq`K:P3:zzz z`zzz BHIz V䭃zzz`  B{zD|zE}zH~zI VH}zI~z(` BHI V`yz {~ɛyzN qyzL{yz q`yz~L{ B V`{`a` `yzR q Q{ q`HH H H Hzz H{BzJzEhDK V` H{ z v{` H{ H{` i? iS|qɛ @8`ɛ @팵q`q qɛ @ qyz`Error reading main directoryCREDIR failed for the above pathOutput path cannot be builtCREDIR issued for:*.*||Lk}|Pp>"ɛ| r| zL|2| zhhLs|Ppp|莧||p@p {@ H{(0Lk}|ʽPp:詛pp| zp z@*BDpEHIJK V P| zL|@Pp {@ H{(0`L|*.* }`ʽ q> :8` qɛ `} qʎyz` qɛ8`` qD :!q)"q$yziyz q qD1: q!q"q`.ALFyz q. yz~ qʎyz`N~ 8~C~q.8~ `PpɛPp>:Pp*?C~Pp.ɛ. C~`Ppɛ* ?C~ `C~ ` N~ v~C~?8~ ` zq z z =8`Skipping: Error During Locate܍{z|z8܍qqq q q`q#q͝qq͜qq}zq~zLq}zq~z z ( zLxq8}zqq~zqqqLXLZsLNuL qppPp     PW`P S -S ?S}Atari DOS 2.0/2.5 Formatter ProgramCopyright 1988, RADON SoftwareBy Glenn K. Smith ?SDrive to format ? zSS0 sS ?SSelect density: 1) Single density ?S 2) Double density ?S 3) 1050 double density ?SChoice ? zSS0Sˆ sS ʩ0ȍSS ?SUltraSpeed Sector Skew ? zSYN sS ?SInsert Diskette To Format,Press When Ready.. S ?SFormatting...1T R 0 LR0!,"@L*R@@SS@@ to continue SLP΄Ϡ Ι͍LY SRR ?SError #00 - Format Aborted..LS)JJJJ #S) ii0`@@`hPShQSPSQS cSLGSQSHPSH`HI BLV cS S` ?S Sl zSɛ`@JKLS@HILS@ BڝDSELVK:12345678123STT             1N@@ 1O@ 1PTYTeTqT1P Uh1PUh1PVh1P W/PDocumentation for FORMAT.COMThis program will allow formattingof diskettes in DOS 2.5 format.Single, enhanced, and doubledensities are available, along withthe option of incorporatingUltraSpeed Skew.At any D1: prompt, type FORMAT andfollow the prompts, making sure thediskette to be formatted has nousefull information on it. !"#$%&'()*+,-./012340}V1.4 ALFCRUNCH 07/10/88Input filemask:Output filenameCrunching: Creating new file: Adding to file: Processing complete.Error reading directoryCan't add to a non-crunch fileError reading input fileError writing output fileMemlo must be under $3000Screen off for speed ?   @/0K$  Y!L] Xy/ 0 @ /Sl `# L yP K yPP0 0TP{|}~ 0;PQ Π L 0 ċ- Lz 0   L  YLL @ Xy7 yP KyPP@ ɋ L!> XP Y! Ȉn P !/ -L/L mn# K  ` L΄ T  K L^  . L^   [{|} ~N~n})}~0em}efm~fgig  `  i`8 &  hFfmm)ȥL 8庪.. mm Ff8帅幅``{|}~em}efm~fgig0   LMee) h` f#8`{|}~ #a} ~Э}~}moo~mppmqqmmmmnn` hhhhL ; Ѱ8` ȱ ;Ų ` ȱ8`ȱLy ȥ` ;`8鍍Nn mm`&&eemm` Ffee)潭mm` 8` F ɛ>:򊨽PzP z0ʩ.P zPz󩛝PQP>:PXɛ X ȝX P L͈`@{|}~ `0 S ˌH8Pzhz ij0 svtwux0 늩V{|}~ 0 0 ċ` i? iS" ɛ@8`ɛ @"`"P ɛ@y`K:P3: ` BHI V䭃`&B VLvMwNx`%BvLwMxN V`  B{D|E}H~I VH}I~(` BHI V`y E~ɛyNPyL]yP`y~L] B V`{`a` `yR P P`HH H H H BJEhDK V` ` `V{|}~0 Ίvswtxu0 eo`PD :Q)R$yiyPPD1:PQR`.ALFyP. yPʎy`ˌSȌɌʌ>`0BDEJK V0 LҌ0{|}~ 0ݭ)(ܢX. ٴ X ٴз0 Hh`ȌɌ`vw)xNwnvv)yNwnvvyx`Hvwvv.w vvv.wh vvvw`LvL-LP6789:;<=>?@ABCDEFGH555 w5Lt5 9 m:Lq5 :%W=5X=Pq ^= ^=Ln5LO5D1: BKD5EHI V [=L5Lt 5 l7}5Y=8Z= m: : 55`657`h@56  |Multi-Formatter|   | Developed with | | QuickCode... | |The Programmer's Library| | | | b6k7y Stardust Software | | P.O. Box 33192 | |Indianapolis, IN 46203 | | (317) 788-7403 |  Press any key to continue55Ll7l7g8)IuW=7X=q ^= ]; =L7} BD7EHI to go back to D1:.MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Xq (c)1983 Action Computer Services  B JKIHiDiELV`L(Y (Y BLV` LYYl LY &` Fj`8冨凪` YEӅӥ Y`ʆǪƩ Ɛee` YƦʆǢ &Ɛeǐ Y YLY Y'&&&8儨児祂*LY&&*ń8&&LY FZ`hihiHHȱȱLYc !#3`LYJJJJ`H Yh`Hȩh ]YLZ fYLZ YLZ YLZ YH8`HhHh J[LZ BHI V䅠LZ L[ (YLZԆ ؠPIPP` [P YLZ [L[ [L[ [L[H- [8塪墨hL[ \L[ \L[ [ȹP`텠8堨塪 [芨Oȩ-`PP y[P棩 Ѥģ0-ģ6000:,80H & &ehe&eģ0ʥ 8堅塅`$ [&*i0:0i [Ʀ`¢ 护°ڱ%ȱ%E [LK]担CS =[LK]I \LK]H ]LK] [LK] &B V ZNLMȑ` MLN%B VLZS:]E:]H 7[ ]] [ 7[h)0I]]L[[\ZUVT` +^]]` 2^L[ %^L[ +^L[) ` 2^L[ Z` 0d Yҥ `2)2ҩ`p`0)9^`@0)ӈJJJJ)`Ѕ`ȱ`` _ȥ`HhƣĢ`ƥĤ`Ѣ _`ȱѢĦ`膡``ťƤe8夰L_ Ƥ8`ŦeѠe桊L_A_Yu ޤvYLk` y_L`vYIL`Am9Z*(m:Z____L` [^___L`_ s`*(m6Z4`GvYL&`_3ZL:a__3Z``_L7a_ m9Z*(m:Z_`G_i__i__L`Lfa_M3ZLfa_ m9Z*(m:Z_` y` Lra0YnarqaLa5`a5``5& [a5``YlLaaa5`a5`aa`5% [a5``YlaLbbabȌba2bb3b2bb3bbL?bmbbL!b`l LGbCbLgb WARNING! CIO/DOS ERROR #bM =[Cb [Lyb bw *[ 7[ 7[ 7[ @b`a$ yQb m5Z*(m6ZVbaAbUb VbLcX DVbUb yZYu  Lc ya Z`eb`eb`5b _ 7[b [bLd$b k[bI#LcbIDLcbIILcbIRLcbbLcyabb bLcbI LcbbbbbbbLc ya Z`eb`ebbLNc 7[b`qYa crYec3L'dd d"d "d Z`ed`ed#d #dLd#dI Lddd#ddddLd#dI Ld #dd#dL_dd *["d"dMdLdLdL4d`duYLdddȌd d Z`ed`edyadLedddd`ddMdLQeddddILNe`LeddyadLge` d Z`ed`eddLe`fe mLeeeȌe e Z`ee`eeya͞eLjfeeee`eeMeL&feeeeIL#fe`Lgfeeya͛eLfnam.exto *[`5 ^[5`L\oLRo Exiting MOVE.COM....o; *[LqLao o_ *[Loenter destination dirpathok *[Lo i.e. dest>dirpath>o *[`v ^[Lo o *[LoSCANNING..source directoryo *[Lo o *[ h bmyaL5pL(p#ERROR,no files in source directory.p *[ Db`ya $d ufLapSCANNING..destination directorypA *[Lmp pk *[ .gLpMOVING.. file entries to..pz *[` *[ iLp CHECKING.. destination directoryp *[Lp p *[ lmmL@qLq ERROR.. in transferring files!p *[L2q aborting operation....q *[ l @b`Lgq#DELETING.. old directory referencesqC *[ MmLq ..OPERATION COMPLETED..qt *[Lq q *[BU bLwn @b``m MOVE.COM v1.0 a Sparta utility by Ed Bachman 1988 (c) LVAUG 1988.................................... Move.com is a SpartaDOS utility written in Action! and is for all XLXE computers using Sparta v2.3 or up. Thanks to Mike Stoliker for his original concept,MOVE.BXE.................................... Move will move file entries fromone directory to another without creating a duplicate file, it leavesthe actual data sectors of the fileundisturbed. Move will scan the destinationdirectory and will abort the move ofany files it finds that have filenames that match the ones you taggedin the source directory, The Move operation will not be aborted, justthose files that have a duplicate inthe destination directory, they willremain intact in the source directory Move will accept dos-legal wild-cards. Move will also accept any legal directory path. NOTE: Move does not change thecurrent working directory therefor you may not specify a source dirpathif you choose to move files in the current directory. Move will also accept a dir-pathfrom the current directory as it'sdestination directory dir-path.NOTE:however I reccomend the use ofthe ">" delimiter and then spec thedestination dir-path from the maindirectory. Move makes no checks on thesource and destination directorys tosee if they're the same because onecould get around this by spec'ing analternate dir-path.BUT Move checks for and will not move the files inthe source dir that have filenamematches in the destination dir, so in essence it's covered. Using Move. You may use this program with basic or a cart installed. Move does not acceptparameters from the dos command line.it supplies it's own internal buffersup to 64 chars' for each entry. atypical MOVE operaion looks likethis... "input source dirpath etc."you reply.. D1:DIR>PATH>FILNAM.EXT "enter destination dir-path etc."you reply.. >DEST>DIR>NOTE: you ALWAYS specify the">" at the end of your destination dir-path when spec'ing the main dir, use ">".So lets move all the files in the current dir with the COM extender.. D1:*.COM and we'll move them to the util dir. >UTIL>like I said previously,all spec'eddir-paths MUST be dos-legal FROM THECURRENT DIRECTORY! Misc, notes. all errors Move encounters are treated as standardsystem errors. Move will simply print"CIO/DOS error #ernum" consult yourSparta dos, system manuals for themeaning of the error code number. Also if Move needs to expand a directory, it Opens a file for a write operation, then erases it.Moveuses a "_._" filemask for thisoperation, so should you, by some offchance, have a file using this name.Either rename it, or dont use Move.************************************ SPECIAL NOTE:.. the LVAUG will not be responsible for the loss of filesdata or any other subsequent damagesdirectly or indirectly thru the useof this program.************************************ Caveat.. as usual I'm shure I'vemissed some detail or something. Todate this program has been tested onMIO's, doubler'd 1050's, andhard-disks. if you encounter a floppydrive or a HD/controller combinationthat doesn't work with MOVE pleasefeel free to contact me. c/o LVAUG P.O. box 6297Lehigh Valley Pa. 18001-6297 or on the NAC-ACK bbs. 24hrs 300-1200 bd 215-837-1813 or the WAREHOUSE bbs 24hr 300-9600 bd 215-432-3679 happy computing E.Bachman@BL `L1Ӎxԭ  LK 8      Nn  LK m  ) 2@3   .2m 23m3RW@P<ӠX` 2ӭ454L454 2өX` )`큃 !#%')+-/ACEGIKMOacegikmo 8 2 322ȱ22 `p5p   Uv \+e̥̅i͠mȱm \̑ϥpZ[L̩@ͭέϩЩp`v  B JKIHiDiELV`L  BLV`Lxtl Lu &` Fj`8冨凪` EӅӥ `ʆǪƩ Ɛee` ƦʆǢ &Ɛeǐ 〥 L '&&&8儨児祂*L&&*ń8&&L :`hihiHHȱȱLc !#3`LuJJJJ`H h`Hȩh QLЁ ZLЁ LЁ LЁ H8`HhHh >LЁ BHI V䅠LЁ Lu LЁԆ ؠPIPP` P LЁ ̂L Lт 傥LH- 8塪墨hL L L ȹP`텠8堨塪 芨Oȩ-`PP mP棩 Ѥģ0-ģ6000:,80H & &ehe&eģ0ʥ 8堅塅`$ &*i0:0i Ʀ`¢ 护°ڱ%ȱ%E L?担CS 1L?I L?H L? ̂L? &B V ЁNLMȑ` MLN%B VLЁS:E:H + 鄬  +h)0I䄬L[\ZUVT` 䄅儅` &L Ls L) ` &L ` 0d uҥ `2)2ҩ`p`0)9`@0)ӈJJJJ)`Ѕ`ȱ`` ȥ`HhƣĢ`ƥĤ`Ѣ `ȱѢĦ`膡``ťƤe8夰L Ƥ8`ŦeѠe桊L # Orion 1024K Ram-Disk 1.0 2-21-88 (C) 1988 Orion Micro Systems DX: Required     OrionRAM(MAIN 0 ======0===============6c Proc SIO()%cc$;===================================bProc Dos_Exit()bb [$A2$F0L0% SINGLE (  Error: No DOS(0 )0 / 0/(0/)00ֹ/ / Ȅ`lL>LAl trLM i?H iIGHIILG@LHIGLaG`LPtr^ # L i i J i i͝L L8`==========L   LC ` i  i i iȌ L L  i! iIL@L miL 8` L  ѮLѮLiiii8 P8` to_L 1P    ;` L9i:i P9i :i )IL9i :i9i :i9i :i9i:iL،9i :i9i :i 9i :i9i:i9i:i9i:i9i:i9i :ii9i:i9i:i9i':iHH hh:9* ILL  >7 '789L7L؍7* ŠL`787* ŠLB`7* ŠLf`7* ŠL`7* ŠL`7* ŠLҎ`7* ŠL`)L@L7L7 * ŠLA`7 ' ;7 * ŠLw`7 '+*7 P7 * ŠL``LÏ o   >`Lޏ)@+- -L L,.IDL)8/0** *L& L, - -LE`Ly.I/Ly/INLa`Ly/IELy)8++` InsL  ~8~ =< , P  ۏLT8+ȑ*ȑ) )ILG  L8+ȑ*  >``Documentation for RD1088.COMThis program will format asingle density 1024K RAMdisk whenused with an Atari 130XE upgraded to1 meg of RAM.At the D1: prompt type in: D1:RD1088 Dx:with the "x" in "Dx:" being thedrive number of the RAMdisk.DGLGF EGF`1<58 E  EEE  EEE EEE EEE0ɷ1E9HH0iE1iEA0ȩE1hhLb)JJJJ E) E` ii`pp0BE倃򝄀򝄀H Ә E \@b \0ɷ01E)8EC0ED1CA0Cȭ1Ch`S%2GLFȄFFFFFEEF芑}F恭}FG E E E ExH)өLEhXԭH)ӠDG  hөGDE BHILVTD ONWATCH display installed** WATCH -- Not SpartaDOS 2.6 (or >)WATCH written by Glenn K. SmithCopyright 1987 RADON SoftwareWATCH written by Glenn K. SmithWATCH CommandThis command installs the diskwatcher display handler. The internalTD command controls this handler.WATCHType and RestrictionsExternal under CP version 3.2(May not be used with versionsearlier than 2.6)TDLINE command is incompatible withthe WATCH command.This command installs a handler thatgets accessed by the SpartaDOS time/date vectors. The functions TDONis provided by the handler. TheTDON function causes the handlerto patch itslef into the verticalinterrupt. During the interrupt,it examines the DCB and displaysthe drive number, sector buffer,and current sector on the expansiontop line. Disabled by the TDOFFfunction.     $d0L 2L>%L-Lx%Lo(L(L(L(L4)L2)L%L%L%L%L%LU,L`,L(L)L,L(L+L$(L".L,L(L'L'L'Lm'Lv'L,L,L'L(L'L'L.L.Lk.L.L.L.L.L.L.L#*L.*L&L&L.&L=&LF&LQ&Lk&Lr&L{&L&L&L&L)L)L)L)L,.L)L:'L'L&LL'L['LR'L*L*L.L&L&L&La'LB(LR(L.L(L/L9/L6/L/L/L/L/L0L0L+0LC0L/L^(Lj(L)'L@'Lo/Lr/LO/L%L'L%L% -膚 ɩҍD҅ 2 222 a(2222 ` -Lq -l ԤՄԅ`ȱ`ȱ`ȥ`ԑȥՑ`ԤՄ`ԤԅդՅ` '0=D '04.5 '0.( '0 ' ' 8`ԅ` & & & &ѐ & &ʥ %аЪ %Зьɛ &0 &0 `ԥ`Ɠƒ` % &LS* %LS* %օ0֥0 S*` %eԥe` %La* % % o*L% %Lo* % &L|* %L|* %L% % Ʌ` BLV䅆L' %ԅ`TU HH 'hhL, B VԩL%p v'PKJBDEL, &fL=) %ԅ`Ę eĘ +L4( % & %` %Ԅԅ` -``&eԅԥeՅ`L% o(ԨL%Ԅ & %eԥe` Ԅ &ɛ +0` d) ذI ( 8ԅԩՅL%L,ȹɛ꩛` d)f & 8fԆՅɛ摥0L?)$0`2 2L,(,ɛM(M( )ɛ )򩀅` %ԍ`ԄL%ԄL%ɛԆL% &󅐩f =) ؐL(L4,ԅԥՅL%82ԭ 2L%ԤՄԅե`8ե`eեe` B* K+fL% B* +fL%8ԨՄԅL% & B*ԥՄԩՅօפԥFf G+ԥ K+ԅՅԥզЦ`ԅՅʩ0B+=+ B+ 08f$˹ `' d +1ԦԄզՄFԐ eਊe&Lh+Ԇ`hh L, +Ff&֐ݥ ԆՅԠ&&&8થօԈ`քע +Ե 8`晄 ,L,`GHFH` U,0ɛȄ ؐL,HI h 8ԅԩՅL%?S, ,򦅩DEBHIL,ɛ +` +` %HI BL,՝HIB VL,L%B Vú.hh -l. -0dd-8/ i - 0-- ,@ . ,... + x' $(.Ԏ.8ե ".LO-- , `,ɛD(C` ذ -L- -L 2 -- ,L- - -L-l lp '8`ERROR- ?Run address> BASIC exitTrace:P8Յթԅ` ,.L, .-ȘH *h00,)` & ҅ԭ ) |*օեׅ` L,0թԅթᨊઐ```Յ`8Յթԅ`0 ԩ`ԅ`` ' %`BԝK)I JD/ELVS:)H)h y` & % & %TԅUՅV`&B ,NLսM` & %ԝL՝MN%BL, & /` BHIL, & /`B JKL, %ԅUՅV & %ԅT`)ҩҊ H) hҘ` %)xԩL% %))Lc&LZ& %)pԩL% %)|LZ&Lc& V0L-$2~2'@'@DDhDDL 2 $ppҠD Z$1@ H$ ?$ $ <G@vD $K@D $5@ !$PD '$5@ !$R22D '$N@hD $Z@D $a@ !$ $D $ h9 Z$ ?$ Z$c@ H$ Z$ -$ᢐD <$2}3թ@D $L*3L3ԩթ@D $LY3L3ԩթ@D $~33L3@wD $L3 h9L2 h9 Z$ ?$ Z$@ H$ Z$ -$ᢐD <$ԩթ@D $L43{4L%6ԩթ@D $L/4L%6ԩթ@D $Ls4@D $Ly4 h9L3 h9|44 Z$ ?$ Z$@ H$ Z$ -$ᢐD <$ԩթڅ@D $L4LV5ppҠDԩթ@4z5D $L5LV5ԩթ܅@D $LP5/@ !$PD '$LV5 h9Ly4 h9 Z$ ?$ Z$ޠ@ H$ Z$ -${55ᢐD <$ԩթڅ@D $L5L%6ԩթ@D $L5L%6ԩթ@5y6D $L6/@ !$RD '$L%6 h9LV5 h9 Z$ ?$ Z$A H$ Z$ -$ hD <$ԩթ @hD $z66L6N@hD $L> h9 Z$ ?$ Z$A H$ ?$ Z$ ?$ Z$5A H$ ?$Щ r$LD '$LD !$C@ $L6L7LD6x7 !$?@ $L7L 2L6 Z$1@ H$ ?$8 %vD{D $hD~D $ Z${D f$ Q$ Z$y77ᢌD f$ Q$ppҠD =ԩթ@D $L8 Z$1@ H$ ?$ Z$ ?$ Z$ ?$ Z$ ?$ Z$Q7x8A H$ ?$ Z$ `$FD '$ԩթjAD $L?8 ~; Z$FD !$ $ᢀ K$FD !$a@ $L8 Z$y88ᢧD K$ ?$L8é r$HD '$RHD !$pA $L8 Z$ ?$ Z$rA H$ ?$ Z$ ?$L9 Z$ ?$ Z$A H$HD !$ E$8x9A H$ ?$ Z$ T$ Z$ T$0 Z$ T$ppҠD Z$A H$ ?$Щ r$LD '$LD !$C@ $L_9Lb9L69L 2L$5@ !$OA $$ $y99 Z$ؠA H$ ?$A !$B $$ $ Z$wD K$ ?$ԩթjAD $L9A !$A@ $$ $ Z$B H$9x: ?$ԩթ@D $LH:A !$A@ $$ $ Z$ B H$ ?$PD !$5@ $L:A !$B $$ $ Z$By:: H$ ?$PD !$/@ $L:A !$B $$ $ Z$B H$ ?$RD !$5@ $L:A !$'B $$ $ Z$)B H$ ?$RD !$/@:v; $L$;A !$'B $$ $ Z$,B H$ ?$A !$'@ $$ $ Z$0B H$ ?$A !$'@ $$ $ Z$ hD K$ ?$5@ !$E@w;; $$ $`T r$JD '$^D !$3@ $L; Z$ ?$ Z$ $L> Z$A@ !$ $ᢀ K$RD !$/@ $L> Z$)D !$ $ᢀ K$-D !$ $ᢀ K$/D !$n>> $ᢀ K$` Z$1@ H$ ?$/@ !$^D '$8 %vDD $0 Z$ T$ R Z$1@ H$ ?$0 Z$ᢓD f$>l? Q$ppҠD Z$3D H$vD K$7D H$ ?$ Z$ ?$? %/@ !$ND '$0 Z$ `$`D '$ Z$`D !$ $ᢀm?? K$`D !$a@ $L? Z$ᢧD K$ ?$ ~;ND $BD $LE?é r$HD '$pA $L?L83@ !$^D '$ ~;R?b@ Z$ ?$0 Z$ T$5@ !$^D '$ Z$1@ H$ ?$ (default.Bi"A@d"Ԡ˛n% 4%6.MYMENU ٠٠xw 6-B:,167%@,. E-@@ S6-@:7<,,i!A`* Aw6-&@2!A6-%@267<,.>:, U(.(#Enter the full filename that MYMENUU("is saved under (Press [Return] for(D:MYMENU.COM : 46. D:MYMENU.COM4A((Adding font... @@ #"6-%@V6-%@V7*@*@**@7*@oAP@!AR/AS%AAVSAW@o6-?:C:hhhLV,<@, "6-%@V6-%@V7*@*@**@7*@36-@6-%@%4L36-%@mAP@!AR-AS?AVAQAWm6-?:C:hhhLV,<@,"7-@@"(*@, 7@,((Adding title...6E @@4-@@A)@E @6-@@ %6-@:7<,,2*@6 J@((Done!T 8,0,7,1^8,1,223,1h224,2,225,2,69,40D:MMCUSTOM.BAS./012345678(+MYMENU E˩(̩ˈ  L M).*+N)3***&*<*v0+*0*#*(<(<( x)8ԩoТDAU/ +X0Y0001` BD(EHI VBD+EJK VBD-E HI VL)-*֢-+ M)i M)N)++$+L) BLV`BD+EJKLVi ϩ+iЭ+T))Ζ))L*ϐ ͪϑ͊ )i ͐Υi ϐд+L*z*z*Nz*&<UT` BD+E HI V* @m****i *.*i .*3*#**#**&****+L*>/ p)@ЩЩTU` B+M0L*<0DEHI V0 \ԢB^D0EJK V@BHI VLM+800 8 +ȍ+ p)` p)/ЍЍЩ@ԩb \ x)+LE(˩+̮+i ː c0.c0˝c0 BaD0EJK VL(S:D:*.*00p A0 press key to run no locked files K:D: HHH Ԍ0hhh@Hi 0 ԍЍh@p0v0v0) 0i000Lb  0fD EDE H IhH8HDHIEIHI VEгD L ТHLtl B VlBHI V`E(:;<=>?@ABCDEFGH( ,MYMENU E˩(̩ˈ  L  d)E*,e)J*-*8.*&0*<1*v0,*06*:*(<(<( )8ԩoТDAU/ ,8998X0Y0001` BD(EHI VBD+EJK VBD-E HI VL)-*֢- , d)i d)e),,$+L2) BLV`BD+EJKLV i ϩ,iЭ,T))έ))L*ϐ ͪϑ͊ )i ͐Υi ϐд,L**Α*N*8&<UT` B D,E HI V* @m-*-*.*0*i 0*E*i E*J*:**:*6*&0*1***,L**>/ )@ЩЩTU` B,M0L*<0DEHI V0 \ԢB^D0EJK V@BHI VLd+800 8 ,ȍ, )` )/ЍЍЩ@ԩb \ ),LE( ˩,̮,i ː c0.c0˝c0 BaD0EJK VL(S:D:*.*00p A0 press key to run no locked files K:D: HHH Ԍ0hhh@Hi 0 ԍЍh@p0v0v0) 0i000Lb  0fD EDE H IhH8HDHIEIHI VEгD L ТHLtl B VlBHI V`89fffffff>`<|fl0fF68of;p88pf<99|||||888888||||v|||88888|l8||8888pE(JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr *********************************** MyMenu, A Binary File Loader by Anthony Ramos, February 23, 1992 *********************************** MyMenu offers you a fast, easy way to load and run binary files from any disk format using any DOS. It alphabetically lists up to 36 files, any of which run with one keystroke. Listing a different disk is easy as putting it in the drive and pressing the [Esc] key. Here's how to set up a MyMenu disk, depending on the DOS you're using: If You Have Atari DOS 2.0 Or Similar DOS Format a disk in whatever density or skew you wish, copy MYMENU.COM to it, and rename it AUTORUN.SYS. DUP.SYS is not needed and may be erased. Be sure use DOS option "F" to lock the files you want listed. If You Have A Disk-based SpartaDOS (1.1, 2.3 Or 3.2) Use XINIT to format a disk and write any version of SpartaDOS to it. Copy MYMENU.COM to the disk and create a STARTUP.BAT file that ends with the command MYMENU. If You Have SpartaDOS X Format a disk with the FORMAT menu and use the command "COPY CON: CONFIG.SYS" to write a configuration file, pressing Ctrl-3 to save the file. I use this "bare bones" configuration: USE BANKED DEVICE SPARTA BANKED DEVICE SIO This loads almost all files. If you do not have a 130XE or similar memory upgrade, type this instead: USE OSRAM DEVICE SPARTA OSRAM DEVICE SIO This loads most files, except the few which reside "under the OS". Next, in the same way you created the CONFIG.SYS file, create an AUTOEXEC.BAT file in which the last command is "X MYMENU". Now your disk is ready. Copy your binary programs to the disk, including any data files they use, and protect the ones you want to appear on the menu. If You Have A 3.5" 720K Drive or Hard Disk Drive MyMenu's 36 program limit is usually sufficient for a 90K, 180K, or 360K floppy disk. If you want to list files on a 720K 3.5" disk or a hard drive, however, you may need to divide your programs among several subdirectories. Copy MyMenu to the root directory (or the utilities directory on your hard drive), type the CWD command to enter a program subdirectory, and enter MyMenu's name and path, for example ">MYMENU" or "X >UTILS>MYMENU". Loading Files From Your RAMdisk MyMenu can list files you have copied to your RAMdisk. Unfortunately, most binary files prevent you from exiting them and returning to the DOS prompt. They trap the Reset key into "cold booting" the system, which kills your RAMdisk and all the files you previously copied to it. For this reason, running binary files from a RAMdisk is not recommended unless you are sure that exiting your programs returns you safely to DOS. If Some Programs Won't Load Some binary files need special conditions to load properly. Many older programs only run after you first load a translator. The translator program resides "under the OS" and won't work with an OS RAM-resident DOS such as SpartaDOS 2.3, 3.2, or the X cart that also loads under the OS and overwrites the translator. Move these translator-only programs to an Atari DOS-compatible disk with MyMenu and boot it only after running a translator. Other programs bypass DOS and "self-load" by making calls to the operating system. These programs won't work with MyMenu. Run them from a single sided, single density disk with a three-sector boot menu such as "Quick Menu". Changing MyMenu MyMenu can look however you want. You can replace the custom font with upper- or lowercase characters from any Atari .FNT file, and title it with anything you like, in blue, yellow, or "rainbow" colors. Here's how: 1) Copy MYMENU.OBJ to your disk, rename it to MYMENU.COM or AUTORUN.SYS as described earlier. 2) Run MMCUSTOM.BAS from Basic and follow the on-screen prompts. Remember that the title line holds a maximum of 20 characters. If you prefer the standard Atari character set, run MYMENROM.COM. This version is also smaller, which helps if your files need one or two more sectors of disk space. I hope you enjoy using MyMenu. If you have a question, comment, or some extra money, send it to me at: Anthony Ramos 1287 Dennison Avenue Columbus, Ohio 43201 I can also be reached on GEnie at [T.RAMOS1].tuvwxyz{|fffffff>`<|fl0fF68of;p88pf<|||||888888||||v|||88888|l8||8888p@`0 xx6c6>8pp8?ww<~~~<x`x`~<~~<0~0 ~ <~~<|~~||~~||8~888~~|8x88|<x8888|||~~~|8888~|8l|8|~ 8p<~~<~x|nf8x86F~( ,MYMENU E˩(̩ˈ  L  d)E*,e)J*-*8.*&0*<1*v0,*06*:*(<(<( )8ԩoТDAU/ ,8998X0Y0001` BD(EHI VBD+EJK VBD-E HI VL)-*֢- , d)i d)e),,$+L2) BLV`BD+EJKLV i ϩ,iЭ,T))έ))L*ϐ ͪϑ͊ )i ͐Υi ϐд,L**Α*N*8&<UT` B D,E HI V* @m-*-*.*0*i 0*E*i E*J*:**:*6*&0*1***,L**>/ )@ЩЩTU` B,M0L*<0DEHI V0 \ԢB^D0EJK V@BHI VLd+800 8 ,ȍ, )` )/ЍЍЩ@ԩb \ ),LE( ˩,̮,i ː c0.c0˝c0 BaD0EJK VL(S:D:*.*00p A0 press key to run no locked files K:D: HHH Ԍ0hhh@Hi 0 ԍЍh@p0v0v0) 0i000Lb  0fD EDE H IhH8HDHIEIHI VEгD L ТHLtl B VlBHI V`10 ;SAVE#D:MYMENU.M6520 ;ASM,,#D:MYMENROM.COM30 ;ASM,,#D:MYMENU.OBJ40 ;50 .OPT NO LIST60 ;70 ;MYMENU.M6580 ;90 ;MyMenu: coded by Anthony Ramos0100 ;occasionally, between0110 ;14, 1991 and February 23, 19920120 ;0130 BOOT = 90140 SOUNDR = 650150 LMARGN = 850160 ROWCRS = 840170 COLCRS = 850180 SAVMSC = 880190 STACKST = $01200200 NAM_IND = 2030210 BS1 = 2050220 BS2 = 2070230 VDSLST = 5120240 SDMCTL = 5590250 SDLSTL = 5600260 COLDST = 5800270 GPRIOR = 6230280 INVFLG = 6940290 SHKLOK = 7020300 PCOLR0 = 7040310 COLOR0 = 7080320 RUNAD = 7360330 INITAD = 7380340 CRSINH = 7520350 CHBAS = 7560360 ICCOM0 = 8340370 ICBAL0 = ICCOM0+20380 ICBAH0 = ICCOM0+30390 ICBLL0 = ICCOM0+60400 ICBLH0 = ICCOM0+70410 ICAX10 = ICCOM0+80420 ICAX20 = ICCOM0+90430 HPOSP0 = 532480440 COLPM0 = 532660450 COLPM1 = COLPM0+10460 COLPF0 = COLPM0+40470 GRACTL = 532770480 PMBASE = 542790490 WSYNC = 542820500 NMIEN = 542860510 CIOV = 584540520 SETVBV = 584600530 XITVBV = 584660540 ;0550 ;variables & constants0560 ;0570 EOL = 1550580 FLEN = 110590 NUMFLZ = 360600 ESCKEY = 270610 ;0620 ;RAMFONT=0, use ROM font0630 ; 1, MMCUSTOM.BAS appends0640 ; font & run address0650 ;0660 RAMFONT = 00670 ;0680 .IF RAMFONT=00690 CHARSET = $E0000700 .ELSE 0710 CHARSET = PMSTART0720 .ENDIF 0730 ;0740 START = $28000750 ;0760 *= START0770 TITLE .BYTE "MYMENU ",EOL0780 ;0790 ;Clear program, character set,0800 ; and P/M memory0810 ;0820 CLRNRUN0830 LDX #260840 LDA # PRGST0870 STA NAM_IND+10880 LDA #00890 TAY 0900 CLRALL0910 STA (NAM_IND),Y0920 DEY 0930 BNE CLRALL0940 INC NAM_IND+10950 DEX 0960 BNE CLRALL0970 ;0980 ;Load & run file0990 ;1000 LOADNRUN1010 LDA # RETURN1050 STA RUNAD+11060 STA INITAD+11070 JSR GET1BYTE1080 JSR GET1BYTE1090 JMP STACKST1100 ;1110 PRGST1120 ;1130 ;Initialize self-modifying vars1140 ;1150 LDA # NAMETABL1190 STA TIND+11200 STA NT_MSB1210 LDA # <[CHARSET+16*8]1220 STA TAGLTR1230 LDA # >[CHARSET+16*8]1240 STA TAGLTR+11250 LDA # <[PMSTART+1024+4*8+6]1260 STA PMLTR1270 STA PMSHDW1280 INC PMSHDW1290 LDA # >[PMSTART+1024+4*8+6]1300 STA PMLTR+11310 STA PMSHDW+11320 INC PMSHDW+11330 INC PMSHDW+11340 LDA #01350 STA TOPCOL1360 STA COUNTR1370 STA TEMPCTR1380 LDA #241390 STA PMCOL1400 LDA #71410 STA COLVAR1420 LDA #11430 STA ROWVAR1440 ;1450 ;Clear players 1-41460 ;1470 LDA # <[PMSTART+1024]1480 STA PMCLRLP+11490 LDA # >[PMSTART+1024]1500 STA PMCLRLP+21510 LDX #31520 LDY #01530 TYA 1540 PMCLRLP1550 STA PMSTART+1024,Y1560 DEY 1570 BNE PMCLRLP1580 INC PMCLRLP+21590 DEX 1600 BPL PMCLRLP1610 JSR OPENGR01620 ;1630 ;Initialize P/M graphics1640 ;1650 LDA # >PMSTART1660 STA PMBASE1670 LDA #11680 STA GPRIOR1690 LDA #21700 STA GRACTL1710 ;1720 LDX #01730 STX COLDST1740 STX SOUNDR1750 STX LMARGN1760 STX SDMCTL1770 INX 1780 STX BOOT1790 STX CRSINH1800 ;1810 ;Set colors1820 ;1830 LDX #81840 COL_LP LDA COLORS,X1850 STA PCOLR0,X1860 DEX 1870 BPL COL_LP1880 ;1890 ;Create space, underline chars.1900 ;1910 .IF RAMFONT=11920 LDX #71930 LDA #01940 CLRLP1950 STA CHARSET,X1960 STA CHARSET+63*8,X1970 DEX 1980 BPL CLRLP1990 LDA #1702000 STA CHARSET+63*8+62010 LDA # >CHARSET2020 STA CHBAS2030 .ENDIF 2040 ;2050 ;Copy scr.mem pointer to new dl2060 ;2070 LDA SAVMSC2080 STA SCRAM2090 LDA SAVMSC+12100 STA SCRAM+12110 ;2120 ;Point to new dl2130 ;2140 LDA # MY_DL2170 STA SDLSTL+12180 ;2190 ;Print title2200 ;2210 LDX #$602220 LDA #112230 STA ICCOM0,X2240 LDA # TITLE2270 STA ICBAH0,X2280 LDA #212290 STA ICBLL0,X2300 LDA #02310 STA ICBLH0,X2320 JSR CIOV2330 ;2340 ;Open disk directory, D:*.*2350 ;2360 LDX #$102370 LDA #32380 STA ICCOM0,X2390 LDA # FSPEC2420 STA ICBAH0,X2430 LDA #62440 STA ICAX10,X2450 LDA #02460 STA ICAX20,X2470 JSR CIOV2480 ;2490 ;Read a filename2500 ;2510 GET_FN2520 LDX #$102530 LDA #52540 STA ICCOM0,X2550 LDA # FNBUF2580 STA ICBAH0,X2590 LDA #322600 STA ICBLL0,X2610 LDA #02620 STA ICBLH0,X2630 JSR CIOV2640 BPL CHKLOK2650 JMP BUBSORT2660 ;2670 ;List protected files only2680 ;2690 CHKLOK2700 LDA FNBUF2710 CMP #'*2720 BNE GET_FN2730 ;2740 ;Add filename to table2750 ;2760 ADD2TABL2770 LDX #02780 LDY #02790 NAM2TBL LDA FNBUF+2,Y2800 TIND = *+12810 STA NAMETABL,X2820 INX 2830 INY 2840 CPY #FLEN2850 BNE NAM2TBL2860 LDA TIND2870 CLC 2880 ADC #FLEN2890 STA TIND2900 BCC INC_CTR2910 INC TIND+12920 ;2930 INC_CTR2940 INC COUNTR2950 LDA COUNTR2960 CMP #NUMFLZ2970 BEQ BUBSORT2980 JMP GET_FN2990 ;3000 CLOSEIT3010 LDA #123020 STA ICCOM0,X3030 JMP CIOV3040 ;3050 ;Open Gr.0 screen3060 ;3070 OPENGR03080 LDX #$603090 LDA #33100 STA ICCOM0,X3110 LDA # SNAME3140 STA ICBAH0,X3150 LDA #83160 STA ICAX10,X3170 LDA #03180 STA ICAX20,X3190 JMP CIOV3200 ;3210 ;Bubble sort filenames3220 ;3230 NUMNAM .BYTE 03240 SWAPPED .BYTE 03250 ;3260 BUBSORT3270 LDA # NAMETABL3330 STA BS1+13340 ADC #03350 STA BS2+13360 LDA COUNTR3370 BEQ LISTFILZ3380 STA NUMNAM3390 LDA #03400 STA SWAPPED3410 CMPLP3420 LDY #03430 DEC NUMNAM3440 BNE COMPARE3450 LDA SWAPPED3460 BNE BUBSORT3470 JMP LISTFILZ3480 COMPARE3490 LDA (BS1),Y3500 CMP (BS2),Y3510 BCC NXTNAM3520 BNE SWAPEM3530 INY 3540 CPY #FLEN3550 BNE COMPARE3560 BEQ NXTNAM3570 SWAPEM3580 LDY #03590 SWAPLP3600 LDA (BS1),Y3610 TAX 3620 LDA (BS2),Y3630 STA (BS1),Y3640 TXA 3650 STA (BS2),Y3660 INY 3670 CPY #FLEN3680 BNE SWAPLP3690 LDA #13700 STA SWAPPED3710 NXTNAM3720 LDA BS13730 CLC 3740 ADC #FLEN3750 STA BS13760 BCC INCBS23770 INC BS1+13780 INCBS23790 LDA BS23800 CLC 3810 ADC #FLEN3820 STA BS23830 BCC CMPLP3840 INC BS2+13850 BNE CMPLP3860 ;3870 ;List filenames w/select chars.3880 ;3890 LISTFILZ3900 LDA COUNTR3910 BNE STORHALF3920 JMP ASKIM3930 STORHALF3940 STA HALFPT3950 DEC HALFPT3960 LSR HALFPT3970 ;3980 LISTFN3990 LDY #74000 TAGLP4010 TAGLTR = *+14020 LDA CHARSET+16*8,Y4030 PMLTR = *+14040 STA PMSTART+1024+4*8+6,Y4050 PMSHDW = *+14060 STA PMSTART+1536+4*8+7,Y4070 DEY 4080 BPL TAGLP4090 ;4100 COLVAR = *+14110 ;4120 LDA #74130 STA COLCRS4140 ;4150 ROWVAR = *+14160 ;4170 LDA #14180 STA ROWCRS4190 LDX #$604200 LDA #94210 STA ICCOM0,X4220 NT_LSB = *+14230 LDA # NAMETABL4270 STA ICBAH0,X4280 LDA #FLEN4290 STA ICBLL0,X4300 LDA #04310 STA ICBLH0,X4320 JSR CIOV4330 ;4340 ;Move cursor for next filename4350 ;4360 LDX #84370 LDA TEMPCTR4380 CMP #94390 BNE INCTAG4400 LDX #8*84410 INCTAG4420 TXA 4430 CLC 4440 ADC TAGLTR4450 STA TAGLTR4460 BCC INCPM4470 INC TAGLTR+14480 INCPM4490 LDA PMLTR4500 CLC 4510 ADC #104520 STA PMLTR4530 STA PMSHDW4540 INC PMSHDW4550 ;4560 LDA NT_LSB4570 CLC 4580 ADC #FLEN4590 STA NT_LSB4600 BCC INCROW4610 INC NT_MSB4620 INCROW4630 INC ROWVAR4640 LDA TEMPCTR4650 HALFPT = *+14660 CMP #04670 BNE ENDOFADV4680 LDA #14690 STA ROWVAR4700 LDA #254710 STA COLVAR4720 LDA #4*8+64730 STA PMLTR4740 STA PMSHDW4750 INC PMSHDW4760 INC PMLTR+14770 INC PMSHDW+14780 ENDOFADV4790 INC TEMPCTR4800 LDA TEMPCTR4810 CMP COUNTR4820 BEQ ASKIM4830 JMP LISTFN4840 ;4850 TEMPCTR .BYTE 04860 ;4870 ;Print prompt4880 ;4890 ASKIM4900 ;4910 ;Reveal menu & P/M tags4920 ;4930 LDA #624940 STA SDMCTL4950 LDX #$104960 JSR CLOSEIT4970 LDX #34980 HPOSLP4990 LDA PMPOS,X5000 STA HPOSP0,X5010 DEX 5020 BPL HPOSLP5030 LDA #195040 STA ROWCRS5050 LDY #15060 STY COLCRS5070 LDX #$605080 LDA #115090 STA ICCOM0,X5100 LDA COUNTR5110 BNE PRNPRMPT5120 LDA # NOLOKD5140 JMP PRNIT5150 PRNPRMPT5160 LDA # PROMPT5180 PRNIT5190 STA ICBAL0,X5200 TYA 5210 STA ICBAH0,X5220 LDA #175230 STA ICBLL0,X5240 LDA #05250 STA ICBLH0,X5260 JSR CIOV5270 ;5280 ;Turn on DLI and VBI5290 ;5300 LDA #05310 STA 205320 LDA #75330 LDX # >VBI5340 LDY # KNAME5480 STA ICBAH0,X5490 LDA #45500 STA ICAX10,X5510 LDA #05520 STA ICAX20,X5530 JSR CIOV5540 ;5550 GETKEY5560 LDA #05570 STA INVFLG5580 LDA #645590 STA SHKLOK5600 LDA #75610 STA ICCOM0,X5620 LDA #05630 STA ICBLL0,X5640 STA ICBLH0,X5650 JSR CIOV5660 CMP #ESCKEY5670 BNE NOTESC5680 LDA #2555690 JMP ENDMENU5700 NOTESC5710 SEC 5720 SBC #'05730 BMI GETKEY5740 CMP #105750 BCC GOODKEY5760 SEC 5770 SBC #['A-':]5780 CMP #105790 BCC GETKEY5800 GOODKEY5810 CMP COUNTR5820 BPL GETKEY5830 ENDMENU5840 STA COUNTR5850 LDX #$105860 JSR CLOSEIT5870 ;5880 ;Shut down P/M, DLI, VBI5890 ;5900 LDX #$605910 JSR CLOSEIT5920 LDA #05930 STA SDMCTL5940 STA GRACTL5950 LDX #35960 PMHIDLP5970 STA HPOSP0,X5980 DEX 5990 BPL PMHIDLP6000 LDA #646010 STA NMIEN6020 LDA #76030 LDX # >XITVBV6040 LDY # NAMETABL6180 STA NAM_IND+16190 LDX COUNTR6200 BEQ CPYFN6210 INDLP6220 LDA NAM_IND6230 CLC 6240 ADC #FLEN6250 STA NAM_IND6260 BCC DEC_X6270 INC NAM_IND+16280 DEC_X6290 DEX 6300 BNE INDLP6310 CPYFN6320 LDY #06330 ;6340 ;Create filespec6350 ;6360 COPYNAM LDA (NAM_IND),Y6370 CMP #326380 BEQ ADDEXT6390 STA FNAM2+2,X6400 INX 6410 INY 6420 CPX #86430 BNE COPYNAM6440 ADDEXT LDA #'.6450 STA FNAM2+2,X6460 INX 6470 LDY #86480 EXTLP6490 LDA (NAM_IND),Y6500 STA FNAM2+2,X6510 INX 6520 INY 6530 CPY #116540 BNE EXTLP6550 ;6560 ;Open file6570 ;6580 LDX #$106590 LDA #36600 STA ICCOM0,X6610 LDA # FNAM26640 STA ICBAH0,X6650 LDA #46660 STA ICAX10,X6670 LDA #06680 STA ICAX20,X6690 JSR CIOV6700 JMP CLRNRUN6710 ;6720 SNAME .BYTE "S:",EOL6730 FSPEC .BYTE "D:*.*",EOL6740 COUNTR .BYTE 06750 COLORS .BYTE 24,24,0,06760 .BYTE 28,28,4,136,46770 PMPOS .BYTE 64,136,65,1376780 NAMETABL6790 ;6800 FNBUF = NAMETABL+[FLEN*NUMFLZ]6810 *= [FNBUF+32+1024]&$FC006820 MY_DL .BYTE 112,240,1986830 SCRAM .WORD 06840 .BYTE 10,144,2,144,2,144,26850 .BYTE 144,2,144,2,144,2,144,26860 .BYTE 144,2,144,2,144,2,144,26870 .BYTE 144,2,144,2,144,2,144,26880 .BYTE 144,2,144,2,144,2,16,66890 .BYTE 656900 .WORD MY_DL6910 ;6920 FNAM1 .BYTE " ",EOL6930 PROMPT .BYTE "press key to run"6940 NOLOKD .BYTE " no locked files "6950 KNAME .BYTE "K:",EOL6960 FNAM2 .BYTE "D: ",EOL6970 ;6980 INT16990 PHA 7000 TXA 7010 PHA 7020 TYA 7030 PHA 7040 TOPCOL = *+17050 LDY #07060 LDX #77070 INT1LP7080 STY WSYNC7090 STY COLPF07100 INY 7110 ; INY7120 DEX 7130 BPL INT1LP7140 LDA # INT27170 STA VDSLST+17180 PLA 7190 TAY 7200 PLA 7210 TAX 7220 PLA 7230 RTI 7240 ;7250 INT27260 PHA 7270 TYA 7280 PHA 7290 LDY #77300 BRITELP7310 LDA PMCOL7320 ORA BRITBL,Y7330 STA WSYNC7340 STA COLPM07350 STA COLPM17360 DEY 7370 BPL BRITELP7380 PMCOL = *+17390 LDA #07400 CLC 7410 ADC #167420 STA PMCOL7430 PLA 7440 TAY 7450 PLA 7460 RTI 7470 BRITBL .BYTE 6,8,10,12,12,10,8,67480 ;7490 VBI7500 LDA # INT17530 STA VDSLST+17540 LDA 207550 CMP #27560 BNE SINT2C7570 INC TOPCOL7580 LDA #07590 STA 207600 SINT2C7610 LDA #07620 STA PMCOL7630 JMP XITVBV7640 PMC .BYTE 87650 .OPT LIST7660 PMSTART = [*+$0800]&$F8007670 .OPT NO LIST7680 ;7690 *= STACKST7700 ;7710 JSR GET1BYTE7720 BMI EXECUTE7730 STA ICBAL0,X7740 JSR GET1BYTE7750 STA ICBAH0,X7760 LDA #2557770 CMP ICBAL0,X7780 BNE GET_END7790 CMP ICBAH0,X7800 BEQ STACKST7810 ;7820 GET_END7830 ;7840 JSR GET1BYTE7850 PHA 7860 JSR GET1BYTE7870 STA ICBLH0,X7880 PLA 7890 STA ICBLL0,X7900 SEC 7910 LDA ICBLL0,X7920 SBC ICBAL0,X7930 STA ICBLL0,X7940 LDA ICBLH0,X7950 SBC ICBAH0,X7960 STA ICBLH0,X7970 INC ICBLL0,X7980 BNE LOADSEG7990 INC ICBLH0,X8000 ;8010 LOADSEG8020 ;8030 JSR CIOV8040 LDA ICBAH0,X8050 CMP # >INITAD8060 BNE STACKST8070 LDA ICBAL0,X8080 CMP #