@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED COPYING---DN:4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 2.?}D2:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4u@e@ @LDD`@[V} DATASET UTILITY DUMP V1.0 === Copyright 1985 by Gary C. Crider PAGE 0....5...10...15...20...25...W}30...35...40...45...50...55...60... RBA X} BYTE Y} REC |RBA Z} | |BYTE | [} |REC | BYTEREC ADDRSEC \}$ $ ADDRESS $NNNN TO $NNNNSECTORS NNNN TO NNNN]} !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ abcdefghijklmnopqrstuvwxyz ^} } I/O ERROR # B D L F K`@ FU@DLyHMLHSL|W` DOBl DOBLD= ȩD Jʝ@ ʝB_}H ʝC B VBGDEELJEE: JK VL_E^E ^ELnEmE mELE~E ~ER'SW@X`}@Y@Z@[@\@CBCACGCCFBe@d@ _@|BClCBCmC` H F $OL0F ENTERa} PRINTOUT TITLE (1 LINE):DCEB(HI VHʩ C`H tF $OLvF `@f@ F``fD@Eb} BPHI VLP``@`` B V`BΝDFELFP:JK VLP`U@D`H F $OLG PARTIAL? (c}Y/N) LY`A@H 0G $OLNG} SELECT ECORDS OR YTES? LRB@@ H pG $OL}G START AT? #J @d}@@<@@=@ H G $OLG END AT? #J @@@>@@?@H G $OLG `<@=@`<@=e}@` T:@4H 'H $OLFH} REQUEST EXCEEDS FILE SIZE. LLD@@R[@<@\@=@ЭLSW@<@X@=@КLS W FU@D f}>@?@ G;@ kP IQ:@ VLH VU@S`a@.H ƠH $OLH} ś DO OLDCB AGCg}CA AFBH .I $OLGI ENTER START ADDRESS: #J @@@,@@-@H zI $OLIENTER Eh}ND ADDRESS: #J @@@ @@!@H àI $OLI ,@ OW"@D#@D-@ OW"@D#@D @ OW"@ D#@ D!@i} OW"@ D#@ DCC @!@LyHʝC@CD@EBHI VH fJ $OLhJ C@ɛ`$LJj}001:-C@ ذ ٥ԍ@Ս@ @@8`H J $OLJ*INVALID- PLEASE REENTER: 8`"@@@D@ jK5E@k}ɛ? K)"@@"@F@ɛ jKG@ɛ* K"@@`@@@@`"@JJJJ@` ;K@"@ @@"@JJJJ@`00&: l} "@`A0Gi ) "@LrK0LJ: ) "@"@`A0Gi LK K LH eFhP Ea@ O``@ e@@d@ O`!H Km} $OLL} SELECT OUTPUT OPTION:@?@`@@R>@[@?@\@詈;@`>@W@?@X@ҩ;@`B@``@LyUDBE B(HI} VDBE B(HI VEDCE B(HI V`˩A UOAf@ F˩A UOAf@ FE˩B U}OEBf@ FX˩A UOXAf@ F`O` ɛȩ``@`(H V $OL2V 0510152025`};@``@LwF(H PV $OLyV 0510152025`(H V $OLV 0510152025}UT$H ɠV $OLV Copyright 1985 by Gary C. Crider`a@UTa@ zV O``@`U@S`LwFU@D` B V}BDBEJK VLP`UWLVW)JJJJ pW"@UW) pW#@L{W ii0```@ FCBCB AGCC}ACA AFB Z5)$@ Y%@H W $OLX ENTER STARTING SECTOR: #J @@@&@@'@}H 8X $OLNXENTER ENDING SECTOR: #J &@@'@@@(@@)@H X $OLX  AD AD&@ԭ'@} ؠ0D)D(@ԭ)@ ؠ0D)D06D DDDD 0DLY06D} DDDD 0DL=YDC YLH%@ .@/@`.@/@`S S) ` dY.@}0@/@1@.@2@/@3@,@[-@ @[!@0@m @ @1@m!@!@ Y&@'@LYV@ Z LZV@LP[@\@,@[-@:@;@]@} 1Z(@&@)@'@hh``@LyH_@ _@ kP H`'@&@  LqZ0@1@ ʝ[&@ '@ $@R@} Y`ʎ 1[`H ٠Z $OLZ ENTER INPUT DRIVE NUMBER: L`1`@@[q DATASET UTILITY DUMP Copyright 1985 by Gary C. Crider The DATASET UTILITY DUMP (DUD)program will bri }ng back fond memories for those old IBM hands who were users of the DOS DITTO or OS DEBE utility programs. DUD willdump }(print or display) in over/under chr/hex format, any DOS file or parts thereof, any valid memory address range, or any dis }k sector or range of sectors. Singleand double density disk drives aresupported.I. GENERAL USAGE A. DUD is machin }e language, approximately 6K in size, and loads at address $4000. It can be accessed using th }e load function of your favorite DOS, loaded by a binary load menu, or re- named AUTORUN.SYS if auto- } boot is desired. DOS.SYS must be loaded if DOS for- mat files are to be dumped. DUD will no }t be effected by the presence or absence of a cartridge in either slot. B. DUD was written for the } ATARI 800/400 with 24K or more RAM. I make no pre- sumptions or warranties that it will work }on any other models (XL, XE, ST, etc.). C. DUD is menu driven and most actions are self-explan- } atory, but a few points need to be made: 1. The 'X - EXIT' selection of the main menu p }er- forms an operating sys- tem warm start. In most instances, this will take yo }u to DOS. SYSTEM RESET performs the same function from any point in the program. } 2. From most DUD displays, the ESCape key will re- turn you to the main menu. }3. Most numeric input can be entered in either hex or decimal notation. Hex values must be p }re- ceeded by a dollar sign ($). Notations can be mixed for a series of paramet }er selections. For example: START AT? 4096 END AT? $11F0 is perfectly alrig }ht. No value specified may exceed 65535 ($FFFF). D. The over/under chr/hex for- mat may b }est be explained by example: Character (ATASCII)- Gary Crider High hex nybble- 46772476667 Low hex nybb }le- 71290329452 Scale- 0....5...10 Each position along the scale represents one data } byte, the top byte being the ATASCII character re- presentation, and the next two combinig to } present the hex representation. In order to make the dumps more readable, graphics characte }rs and undisplay- able characters are repre- sented as blanks on the ATASCII line. A true blank } will have 2 and 0 on the second and third lines re- spectively, as in the above example. Invers }e charac- ters will be printed as blanks on dumps to the printer. A number on the scale lin }e represents the byte count for the byte above the last digit of the number.II. DUMPING D }OS FORMAT FILES A. A DOS file dump is reques- ted by pressing 'D' on the main menu screen. The } dataset name entered must be preceeded by D: or Dn: where n represents the source drive number. } B. DOS files are dumped in records. A record is a string of data terminated by a $9B data by }te. Any byte encountered containing $9B is considered the end of a record. A new dump line }is begun with the next byte dumped. C. There are three values dis- played at the beginning of e }ach line: 1. RBA (Relative Byte Ad- dress) - This is the ac- tual byte count, from } the beginning of the file, of the first byte displayed on this line. The first byte of th }e file is considered byte one, so this is a value 'relative to one.' Add- ing th }is number to the scale value gives the actual displacement for any given byte. Sub- } tract one from this val- ue to find the byte off- set relative to zero. 2. BYTE - This is } the byte count within the record, relative to one, of the first byte displayed on } this line. This value is reset to one at the start of each new re- cord. Adding this }num- ber to the scale value gives the actual dis- placement for any given byte. } 3. REC - This is the record number, relative to one, within the file. It is increm }ented each time a $9B is encountered. D. PARTIAL DUMPS - This option allows you to select start }- ing and/or ending values to denote a portion of the file to be dumped. These delimiters c }an be specified in record counts or byte counts. The RBA and REC values will still reflect }displacements from the be- ginning of the files and the BYTE value will still reflect displacement f }rom the start of the record. When a value is not entered (RETURN pressed with no preceeding n }umbers), the START value will default to one and the END value will default to end-of-file.III. DUM }PING MEMORY A. A memory dump is requested by pressing 'M' on the main menu screen. B. Enter the l }owest and high- est addresses you would like dumped. The low de- fault is one. The high de- } fault is 65535 ($FFFF). C. Memory is not dumped in records. $9Bs are treated as any other data byte }. D. There are two values dis- played at the beginning of each line: 1. RBA (Relative Byte Ad }- dress) - This is the byte number displace- ment, relative to one, from the st }art of the memory you requested to dump. Subtract one to obtain an offset from } zero. Adding this num- ber to the scale value gives the actual dis- placement for any g }iven byte. 2. ADDR - This value is the actual memory address of the fir }st byte displayed on this line. The value is expressed in both de- cimal and hex. Adding } this number to the scale value gives the actual memory address for any given byt }e.IV. DUMPING SECTORS A. Sector dumps are selected by pressing 'S' on the main menu screen. B. } Enter the object drive num- ber. The defualt drive is drive one. C. Enter the lowest and high- } est sector numbers you would like to dump. The low defualt is one. Since some formats have more }than 720 sectors, the high de- fault is the value entered for the starting sector. Thus, to d }ump a single sec- tor, you need only enter the starting sector number. D. Boot sectors in both single } and double densities con- tain only 128 bytes of valid data. When dumping double density boo }t sectors (sectors 1-3), the unused 128 bytes will be filled with hex zeros on the dump. If }any sectors other than one thru three were written with 128 as data length in the DCB, chances are a }n I/O error will occur when try- ing to dump those sectors. E. There are two values dis- played } at the beginning of each line: 1. BYTE - This is the byte count within the secotr, r }elative to one, of the first byte displayed on this line. Adding this number to the scale } val- ue give the actual byte number within the sector of any given byte. 2. SE }C - This is the sector number of the sector be- ing displayed. It is expressed both in hex } and decimal.V. ERROR HANDLING Unrecoverable I/O errors are displayed in an I/O error message an }d the dump is aborted. The standard ATARI error number is displayed in the message.SPECIAL OFFER!Please read file }OFFER.DOC for aspecial offer on the latest versionsof all of my software products. Is $5too much? Gary C. Crider } 1105 Burgess Ct. Arlington, TX 76015 (817) 467-1114Crider The DATASET UTILITY DUMP (DUD)program will bri ?s Select with cursor and press RETURN. OPTION- Destination directory. SELECT- Change page. } START- Begin copy. D- Go to DOS. HR EO%NЍЩabh@H EO%NЍЭabh@H" EO%N}cabh@ Lq,` L LP PL `L `DEBhhhHIHH V`}3ȩ'(eȅȩeɅɥ3 , pP ,PI  j`' Ȉ`}DOS.SYSDOS.COPDn:DOS.SYS,DOS.COPDn:DOS.COP,DOS.SYSDn: Dn:*.*} FILE SELECT MENU P}AGE 1 nnn Free Sectors on Destination. 0 B V B VBDELE: JK V L} `'Z' 'L&G7'L'' REMOVE CARTRIDGEDE BHI VLB'D`[,H X- }- 6 ~9 ? @) E EUT%H , L, ͠ - REBOOT %H Р, L, - DOS } %H - L+- - RERUN ЭL9  L[, E ELw }ʝ 0  O - R'S=[ ȩ, `) D? P  UT( ʝʩGeʅʩe}˅ˠ0ʙ 6L-  6Lh, 2 . [/ / 1 R2`$H !. LF.} ENTER source,destination DRIVES: .ɛ .Iк}Hг,Ь105)105)͸͸0``DEBHI VLo0` 0. 0}.H . L. DEFAULTED TO: 1,1.LP/SDA/SDC/H 2/ LE/ DEFAULTED TO: S,SA/}HI`H j/ L/ ENTER DENSITY (S OR D)H / L/ FOR source,destination: .ɛ /IЛHД,Ѝ}D SL[/D SL[/`2ͺH B1 72h B1 J2 2 )1LK0 B1 91 72 2 1 )1 }`H ^0 Ln0 ɯϠ nnn` ʝj0ԭ ؠ0j0)j0UT O0Lq, H 0 L0 INSERT }SOURCE DISK IN DRIVE n.`%H 0 L1 INSERT DESTINATION DISK IN DRIVE n.` 00L0 01L0LH1}HHʎ 1hO  ʝ(@h  } Y` 3 1&Gh   $2)G*G`R@ YLo0`  }`iʝ` 6ȩGeȅȩeɅ 6S ȈL`2Ȣ B V`H 2 L2 ` H 2 L2Versi}on 1.0.3H ՠ2 L2FORMAT DESTINATION? (Y/N) Y `L2:H #3 L^3 PRESS ANY KEY TO BEGI}N FORMATTING. ESCAPE TO ABORT.  ^4 1!K S }5 3`ȅɭ 1 4 mm  p P }PI ȥȍ ɍ  G`ʝMYʝ MMMMÍMM M9M:M`Mh   G}NʝNh  m  m   p  p P PI  G``H 5 L95THESE SECTORS M}ARKED BAD: ȩKeȅȩeɅɥɌ K pP KPI  x50 `( ʝș0rԭ ؠ0}) 6Nnjjjjjj8j mM,M=MM8MMMM` {8 9 6 R6  8 6` 0, }B V B+DEJK VLo0`I̩' 6Lo0SL6ȩe̩̅e͠ͅȑ̈LZ6̅ΥͅϢ B V` }DEBHI V` 7 6L6 7 ,7 8UT h8`( 8`3ʩ'(eʅʩe˅˥ɳ ) pP )PI 'ʙ} 6`ʩ)(eʅʩe˅˥3 , pP ,PI 'ʙ 6` ʝ]ԭ ؠ0])}]06] ]]]] 0]L7`1U2U'2 6 u7'Z 6 2` 2ʩ}(eʅʩe˅˥  pP PI 'ʙ 6Š'ʙ& 8`  8 D?`ͺ 91 J2 1 }`ab0ƭ1eƅƩeDžǠ Ơ Ơ Ơ ƭ `HDE BI V`} 1   $2   $2   $2`]̩'ͩЭL}":L-`Lq, L<LB:ɎLB:L;ɏL;L;ɆL;L^;ɇL^;:И 72  ''}l  y?`T D? 6L~9 6̩݅)L9T :TU8(̥ h8L9T(e̩̅eͥͅ pP PI }T0T8(̥ͥU0L: L^;T :L9T8(̥L^;T0L; L;Te̩̅eͩͅU :L\:TL}.;( L.; :TU(e̩̅eͅL\:T8(̥ͥTT(e̩̅eͥͅUL^;L; :U0Lr;iUL;8UT0L;T} pP PI e̩̅eͅL\:UT ]̩'L;̩݅)L; : pP PI L9UL<UL<}TL&ȅ ذ ٥ԍՍ 8ͻ ? >ȭ}ɭmmL=8  p P PI Lo>UT ʝ]ԭ ؠ0}])]06] ]]]] 0]L)>]DE BHI V䭦TU`ȍ}ɍ` )``ȩɩʩGeʅʩe˅ˠ L>0 L>L>` eʅʩe˅ˠʙKK ذ }٥ԍՍ 88`0..`nn`mm` LZ?LM?ab}Tƈ`Р ` ? ? -@`Iʩ'˩Iȩ'eȅȩeɅɥ[ , pP ,PI  0`eʅʩe˅ˠȑʈ}L?eʅʩe˅˥[ , pP ,PI 0`L*@ L@L? J@ 6UT` J@ ,7L3@) H i@ L~@}} Copy in progress. 2 2`GI̩'ͩ @MGI̩' 8A C׭ͺ 91 J2UT 1 }E EL@eee̩̅ȇ͠ͅȥ͑ϩee` DA` B`eee̩̅e͠ͅ}W0 )̙ |>̈ A Bȥee 8`` 0 ʝʩˠ}LA LA `. LB `LB` B̙$L4BUT[ȩ'(eȅȩeɅɥɃ , p }P ,PI !T pP PI T08TT 8` ) pP )PI `UT 6``U }T ,7`,LC0BDEJK VLo08尅居xytur0 V0L~CLo0 E } cC)`xeyeȥ` cC `G%ͺ B1 J2UT )1 E E C` 7DLCee }0LC`Gee0`UT E EH "D L4D ٠ěLq,,/ee } 8 0 Eȱȱhȱi8h帍hi幍i bde VLo0, E }E D` `͍̍ȱ =滥̙ B̭`eeLzE DE$}B V 0  DE B V8 BDEJK VLo0` X`UT( ʝ}( 8`0 B V`` B V`ee8(` DE B VLo00hd}% BDEJK VLo0 &B VLo0LMȌ} E 1}   G   G   G`P YLo0`ȩoeȅȩeɅɥɹ} v pP vPI  ̩ȩ}eȅȩeɅɥA ~ pP ~PI  ̩ȩeȅȩeɅɥ} ީ2ȩeȅȩeɅɥ pP PI  ̢BDHELHE: JK V0 B V0B}FDHELIHS:JK V0ȭ1ɩXpYȍnȱȍn/0n1"/L[,'nnpppOp}O~OpO@}BAnv}<<?<?  ??}UL(ŒUOªLªU OSUL(ŒUOªLªUO*OSUL(ŒUOªLªUC*OS}UL(ŒUOªLªUSOSUL(ŒUOªLªUPOS?P (Œ€L€(@T OS?S(}LŒ(LŒ(OS S(ŒLŒ(LŒ(OS S(€@€(LŒ(OS}ain DOS 2.0S after the copy. THE SHADOW will copy any DOS or modified DOS that uses only three boot sectors ?}and has the buffer and drive allocation bytes in the same location in sector 1 as ATARI DOS 2.0S. This includ@}es OS/A+ Version 2, MYDOS, K-DOS, and DOS/XL. The only commercially available DOS I know of that THE SHADOW willA} not clone is OS/A+ Version 4. THE SHADOW will not function properly when booted up under MYDOS, OS/A+ VersiB}on 4 or SMARTDOS. I am not sure about K-DOS.OPERATING INSTRUCTIONS Use of THE SHADOW isC} self-explanatory except for a fewconditions. These are outlinedbelow: A. Entering source and destination drive numbD}ers and densities is done as in the following examples: 1,2 - Copies from drive one to drive two; 1E},1 - Single drive copy using drive 1; S,D - single density source to double density desti- F}nation. Defaults are 1,1 and S,S or the response entered on previous execution. B. Exiting THE SHADOW is done byG} hitting the ESCAPE or BREAK key depending on the stage of processing. You will then be given the options of H}pressing SYSTEM RESET to reboot the disk in drive 1, pressing OPTION to exit to DOS, or pressing START to rerI}un THE SHADOW. When running under OS/A+ version 2 or DOS/XL, control can be returned to THE SHADOW after exiJ}ting to DOS by typing the RUN command. This assumes you have loaded no other pro- grams on top of THE SHADOW. CK}. I/O errors will return a mes- sage with the error number followed by the options des- cribed under "Exiting THEL} SHADOW." All open files will have been closed to maintain the integrity of your disk files.CAUTION - Do noM}t abort the copyoperation while the program iswaiting for a source/destinationdisk swap by simply removing thedisk. ThisN} could leave an openoutput file on your disk and causethose sectors occupied by thepartial file to be lost to DOS.The samO}e results may occur if youpress SYSTEM RESET during the copyphase. This condition will usu-ally be intercepted P}however, andthe files closed. A better way toabort is to press the BREAK keyrepeatedly until the "I/O ERROR-128" messageQ} appears.NOTE- If you don't want the key-board to buzz when a disk needs tobe swapped or at end of copy, placeany non-zerR}o value in the seventhbyte of the first sector of theprogram using a sector editor.PROBLEMS CORRECTED BY VERSION 1.0.1S} 1. When THE SHADOW reini-tialized the DOS drive tables andbuffer allocations before re-questing insertion of the destT}-ination disk at the start ofprocessing, it sometimes took along time (5-6 seconds) tocomplete. I think I have takencarU}e of the problem. 2. When formatting thedestination drive in double densitywith the ATR8000 interface, themessage "THV}E FOLLWING SECTORSMARKED BAD:" would appear with nosector numbers following it. Itwould then wait for a key to bepressedW} before displaying the fileselect menu. In actuality, therewas nothing wrong with the dest-ination format. This has beenX}corrected. 3. Cloning DOS.SYS was notalways reliable. This wasespecially true for MYDOS and somemodified DOS.SYS fiY}les. THE SHADOWwill now copy all DOS.SYS filesthat meet the criteria describedearlier.PROBLEMS CORRECTED BY VERSION 1.Z}0.2 1. Under previous versions ofTHE SHADOW, formatting in doubledensity on the INDUS GT disk drivecaused the progra[}m to loop whilewriting the boot sectors after theformat was complete. This has nowbeen corrected. 2. For\} the sake of conven-ience, the defaults for driveselection and densities will selectthe same parameters as were lastselec]}ted (when you just pressRETURN). This facilitates multiplecopying. For safety's sake youmust still specity Y if you want^}to format, regardless of previousruns.PROBLEMS CORRECTED BY VERSION 1.0.3 1. Garbage sometimes appearedon the scr_}een during the copy phasewhen using DOS/XL as the hostsystem. 2. THE SHADOW did not alwayswork properly when reente`}red fromOS/A+ or DOS/XL using the RUNcommand. 3. The format function didnot work properly on some PERCOMdisk drivea}s due to my assumptionthat the directory sectors would beset to zero during formatting. THESHADOW now zeros these secotrsb}after formatting. 4. THE SHADOW would notcompress using CRIDER'S COMPRESSIONSYSTEM (CCS) due to an ERROR 2. 5c}. THE SHADOW would not loadproperly from the CCS menu due toconflicts in CCS and THE SHADOW'sinternal relocation routine.d}AFTERWORD THE SHADOW was written as anexample program for a machinelanguage class which I taught forthe North Texae}s Atari Computer Team(NTACT). This explains some of thefrills which are not generallynecessary in a utility, such as thef}multicolored file select screenusing display list interrupts.Special thanks to Pat Duran of FortWorth, Texas for the nameg}, THESHADOW.A Bronx cheer to the members of myclass who were supposed to help butmade me write the whole thing. Yq}B'DOS SYSB*+DUP SYSB7UDUD OBJBIDUDDOC DOCBVSHADOW OBJBN+SHADWDOCDOCBCPROBJ OBJB`PROBJDOCDOCB@%BLOC OBJB`RTRANS OBJBAUTORUN SYSBMENU ouknow who you are!PUBLIC DOMAIN SOFTWARE PRODUCTS BY G. C. CRIDER 2.0.0 -Now handling double-density. A utr}ility you can't do without!; V1.0 - Disassemble to disk, cassette, screen or printer. MAC-65 ors} Atari Assembler-editor compatible!; V1.1.1 - Still the fastest sector by sector disk duplicator in most it}nstances - single and double density; V1.0.3 - Probably will be the most used program in your library!;u} ҧ V1.3 - Compress more games onto a disk! Pack your backup files! v}ĩ V1.0 - Over/under character/hex listings of files, sectors or memory. V1.0 - Recover lost datasets caused w}by bad VTOC or directory sectors. Even recovers files you mistakenly delete. All are fully documented. Ix}f you would like the latest versions of all of the above mentioned utilities, send a disk, self-addressed mailer and postage y}along with $5 to cover copying costs and I will return the disk with the programs and doc files. If you want to send me somez} software you think I might like, forget the $5 charge! It is O.K. if I already have it. It is the thought that counts. {} Self-address and stamp the mailer, place the disk inside the mailer, place all in a large brown envelope, address and mail.|} If you let me know that you support true double-density, I may even add some more good stuff on the back of your disk--BY R}}EQUEST ONLY! If you only support single density, it will take both sides of the disk for the programs and documentation file~}s. Gary C. Crider 1105 Burgess Ct. Arlington, TX 76015 (817) 467-1114NOTE - Please feel free to make t}his offer to your local user group or just put the programs in the club library or bulletin board. Since you will be getting }the very latest modification levels, you will probably want to replace any that are already in your library or your club's li}brary. User groups are the best way to get the most from your ATARI!ry C. Crider THE SHADOW is a file copy/diskreoF09Ph ih!iHH !"` *Ƅ`JjƄ`HhƣĢ`}ƥĤ`MD(0,IFL,15)00 FIXIT(IFL)0%0 Close(INO) Open(INO,IFL,4,0)00 IF ERR THEN0}1 Close(INO)0031) PrintF("%CCANNOT OPEN FILE!%E",BUZZER)1E1 ELSE EXIT31 P1 FIE1 Z1 ODP1 d1 DOZ1r1 ERR=}0d1$1 Print("Output FILE SPEC?1$ I'd 1,1L1 0111ŤLS2 m1*(m1}01Š1塰L281堍11塍1L1I0IILN2梠1e1iL111`pLj2 }0d2e2f2f2e2d2 1`egmeL2 02222222 1`PrinL2 0222逐L222}L*3222i2i-2I22I2222222 1` LA3=3<3<3=3L3}<3=3<3=3I-L3ȄL3I L3L38L]3L40L49ťL4&&&ee80}ei8<3=3<3=3L3L*4II棥`IOL8444344434 >3` LQ4M4L4M4L4 >}3`Ll4IL~4Ll4l \@Error: 4L444i4i4 g24i4i 4i4i 4}i4i4ȑ44i4iȑ V i4`EN EXIT L"5 055#####@e#5i55i5i5}5i5i5ȑ55i5i5ȑ5#5 V$5i5i##IL551L5#IL5# 4$`}T FI5.6L5 055 @e5i55i 5i55i 5i55i5i5555 5` L}U6Q6P6Q6 P6 5`ILw6s6s6 1 5`L6 1 5`L66 6 5`6L6} 066i6i66 6 5`staL 7 07777 67 6` FL(7$7#7$7#71 6`%HL@7<7;7<7;7}1 7`U%ELY7 0S70U7T7 20S7 6`TIOL7 0y7{7z7y7 V7y7 6`HEL777771 V7`ALL777771 |7`7}L77777 V7` L77777 |7`L777 7`NL 888 7` L8 08088 208 6` LB8 0<8}>8=8<8 8<8 6`R=L`8\8[8\8[81 8` ELx8t8s8t8s81 ?8`, CAN'T COMPRESS")x8L8 08 8888Ȍ88}L:888888L:8I%L8% t6L:8IL98888Ll98IL.98888Ll98ILG9888}8Ll98IL`98888Ll9888888IEL9 t6L:8ICL98 t6L:8ISL988 %7L:8IIL988 ]8L}:8IUL988 7L:8IHL:$ t6͗88L98L:88͞8L: 88 8088.88.88.88.8}88 8ILy:88 Ll:8i0 t6Ly:8i7 t68L:8L:8I%L:8 t6L:Ȍ8888L8`EL::}: 5`BUZZER):L: 0:::::::m::m:::i:i::: 5: }@e:i::::i:i8:m::m::` PL; 0;;;; :`ZCL;;;;;}1 :`)L;;0; :0 >3`L;1 ;`IL;;; ;`L <1 ;` L<<< ;`L-<}1 ;` ELL@< 08<:<;<<<9<8< 5` Lm>>=`CP^)=L> 0>}>m>>m>8>>=> ==ILk>==`> ==IL>==`>>>> }==IL>==`X=L>>>>> ŠLJ?iLJ?>i>iIDLJ?>i>iI:*}>i>iI:LJ?1LJ?4šLJ?>>L?>e>iaL?zšL?8 >e>}i88LZ?L?>i>iD>i>i:`? L????????? :}??J ELS@8??0ȄŦLALz@ILw@LA?e?i8}0L@9ţL@80L@AL@FţL@87L@aL@fţL@8WL@LAeLZ@IL A}ILAL>A?e?iLS@ILZA??LA R6LmAINVALID!Ad 7LA RE-TRY: $Ay 6L}@?i?iLA`LBILA`LB -0?i?iqi` ELLB 0}BBBLBBBBLLB)BB8BBLTBFFFF LnBi0 R6L|Bi7 R6BIBLB`}LB :IY IyLBLBYESB =7LBLBNOB =7`>PROC LOOP()>BBYTE ARRAY MFL(16)B C BY}TE R,O,TB+C=0LCB4>4= >4 >4=LPCInput FILE SPEC? C= %7Bԩ :B > j<Bԩ =<}=LC j j<B =<=LMD j4=4 6BB C CCC1BB1BL}EL E FILE: %S%E%EBԢD 8BC  <B ==ILlE===ILiEBI CILiE=LEBI C}ILELEHEADER AT SCTR %U, BYTE %U%E CB CE 8=LELEBLEB C CLELE=LE NO DOS HEADERE} =7LELE=L FLLCiCiBE CELBFL8F CONTIGUOUS:F, =7LyFBLqF C CLqF C CCC >=LqFL}L C CC ==ILF=ILF=LF==LLLFSEG %H-%H AT SCTR %U, BYTE %U%ECCC C C}BBF 8CBCCL=LGLL C C>m C C>m C CCC C C ==ILEH===ɀLEHLL8 CB C CC C=B >4} >4BL3JBILH=LHZAP address? (or RETURN) $H 6BB ?C C=LHBLHBLHBLH} R6BIL0J CBCCL-JC CCCL-J8C CCCiCiCCCLJICC Cm CCCm CC}=LoI Verify: $Ie 6CCC B R6LI ZAP: $I 6BB ?BB=L*JBLIBL*J8B Ce}CiCŬC子LJ R6LJ WON'T FIT!I 7L*JBBCC l0L0JL3JLjHB=>4=4BCLJC}CLJ CiC CiCLJ INITAD=%H%ECCJw 8BCLJCCLJ CiC CiCLJ } RUNAD=%H%ECCJ 8BLKL*KRemove this segment? (Y/N) K 6 :BBIY BIyLp}KBLdKREMOVED!K[ 7LKBL{KNOKx 7LKȌBBL L C CLKBLKBLKC ==ILK==}LLBCCBCCCCCBL L CmC C CmC C=LEBLQL C CLQL=B C CCC >BI=LQL}B=BL_L 6 6B1BILLLLZAP ADDRESS NOT FOUND!Lr =7=ILLM R6=ILMBC  TLMMM8>=>=} t6LWNPROBJ 1.0 - Written }in ACTION!(tm)(C)1984 John Navas II%EInput must be a standard DOS objectLoad file. Output will be a RAM mapand an optiona}l compressed Load file.M 8LNcIndividual segments may be removedfrom and bytes may be "ZAP" changedin the output Load }file.%ENa 8LNBuffer size = %H%E==N 8 j4 >4 j<Mt =<>4=4=LO >4 >4 j<>4=4LO}%CCANNOT OPEN FILE!%EO 8LOMLOLOLOLO 6M CLP%EAnother file? (Y/N) O 8 BLO j<} t6ML8P} j<``Mh ih!iHH !"` *Ƅ`JjƄ`HhƣĢ` PROBJ 1.0 PRocess OBJect (Load) files. Compiled in ACTION!(tm)(c)1984 John Navas IINo commercia}l use without permission.OVERVIEW: PROBJ is a general purpose utilityfor processing Atari DOS object Loadfiles. It's }principal capabilitiesare: * To produce a RAM address map ofthe segments in the load file,together with the disk addres}s of thestart of each segment. * To produce a new load file withcontiguous segments "compressed" intoa longer segment (}which can save diskspace and speed loading). * To allow one or more segment(s)to be deleted from the new load file.(Thu}s a single load file may be brokeninto pieces.) * To ZAP (change) bytes in the newload file. (All changes are verified,}allowing bytes to be examined even ifno changes are to be made.)MINIMUM SYSTEM REQUIREMENTS: * 24K RAM (48-64K is pref}erred). * Disk Drive.FEATURES: * PROBJ is in binary Load file form(to be run from DOS with OR WITHOUTany cartridge}s). THIS MEANS THAT ITMUST BE DOWNLOADED WITH A PROGRAMSUPPORTING CIS ERROR-CHECKING, SUCH ASTSCOPE. * Dynamic buffer u}ses all ofavailable RAM (buffer size displayed). * Extensive error trapping. * Accepts responses in upper orlower cas}e. * Interactive execution with helpsand prompts. * RAM map may be directed to anyvalid file specification. * RAM }map identifies DOS initializeand run vectors. * Both RAM addresses and datadisplayed and accepted in hexadecimalformat.} * Disk addresses in decimal format. * Generation of the output file isoptional.NOTES: * Loads in RAM at $3000 (}12K).Program size is approximately 8Kbytes. * Should work with any compatibleDOS and disk drives. * Will NOT accept }tokenized AtariBASIC (Saved) programs. * Will not accept ATASCII textfiles.COMPRESSING OBJECT LOAD FILES: All DOS }object load files mustbegin with a 2-byte "header" of $FFFF.Since one load file can be Appended toanother with DOS Copy, t}here can beunnecessary headers embedded in afile. PROBJ automatically removesembedded headers from any output file. An }object load file consists of oneor more load segments. Each segmentconsists of two 2-byte addressesgiving the beginning an}d ending RAMaddress for the segment (in 6502low-high byte format), followed by thedata for that segment. Each time DOSenc}ounters the end of one segment andthe beginning of another segment, theextra processing required results in adelay long en}ough for the disk driveto take an extra revolution. As aresult, a file containing a number ofshort segments will Load much} moreslowly than a file of equal lengthconsisting of a single segment. The problem is that some programdevelopment tool}s, most notably theAtari Macro Assembler, generate objectfiles containing only short segments,even if the segments load in}contiguous RAM addresses. PROBJ willcombine these contiguous segments intoa longer segment (buffer sizepermitting), creat}ing a new file whichshould Load faster and may also savedisk space by the elimination ofunnecessary 2-byte addresses (and}headers).GETTING STARTED: For maximum buffer size it isrecommended that any cartridges beremoved from your machine. H}owever,adequate RAM should be available formost object load files even with acartridge installed. (If a buffererror messa}ge is encountered with acartridge installed during programexecution on a 48-64K system, removethe cartridge and re-try the}operation!) From your DOS menu, Load PROBJ.BIN(unless you've given it a differentname). As soon as the program Loads,t}he following screen is displayed:***********************************PROBJ 1.0 - Written in ACTION!(tm)(C)1984 John Navas} IIInput must be a standard DOS objectLoad file. Output will be a RAM mapand an optional compressed Load file.Individual} segments may be removedfrom and bytes may be "ZAP" changedin the output Load file.Buffer size = $hhhh*****************}****************** The actual buffer size appears inplace of "hhhh". The buffer limits themaximum size of a compressed }outputobject file segment (see "errormessages" below). It also limits themaximum size of any input object filesegment whi}ch can be processed; if aninput segment is encountered whichexceeds the buffer, processing isabandoned with an error messa}ge (seebelow). PROBJ first asks: FILE SPEC for RAM map? (E:) If you want your map to appear onyour screen, merel}y press .You may direct it to your printer bytyping P. In fact you may typeany valid file specification (a}lthoughinteractive operation can be difficultif the map is not visible!). If thefile cannot be opened successfully,PROBJ }responds "CANNOT OPEN FILE!" andprompts you to try again. If the fileis opened to a device other than thescreen editor (E:}), a title with theinput file name will be placed beforethe map. Next PROBJ prompts you with: Input FILE SPEC? F}irst, make sure that the diskcontaining the input file is in yourdisk drive! Then type the filespecification of the input }file youwish to process. (If your file is ondisk drive #1, you may omit the "D:".)Again, you will get an error messageand} be prompted to try again if thefile cannot be opened. Next you will see: Output FILE SPEC? If you want only a RA}M map, and notan output file, merely press .Otherwise, first make sure that youhave a disk in your drive withsuff}icient room to accomodate theoutput file! Then type the filespecification of the output file to becreated. (If your file i}s on diskdrive #1, you may omit the "D:".)Again, you will get an error messageand be prompted to try again if thefile can}not be opened. If (and only if) you are creatingan output file, PROBJ will next givethe following two prompts: Remov}e output segments? (Y/N) ZAP (change) bytes? (Y/N) In each case, only press a key togive your answer (do NOT press). PROBJ will confirm yourchoice by displaying "YES" or "NO". Processing now begins. PROBJ firstlooks for the DOS }$FFFF header in theinput file and abandons processingwith an error message if one is notfound (see "error messages" below)}. Any time a DOS header isencountered, PROBJ will display: HEADER AT SCTR 88, BYTE 99 88 and 99 will of course be}replaced with the actual disk address(in decimal) of the first byte of theheader. Any time a segment is encountered,PR}OBJ first checks to see if thesegment is contiguous with the lastsegment. If it is, PROBJ will display: CONTIGUOUS: } Next, PROBJ will map the segment bydisplaying: SEG $hhhh-$iiii AT SCTR 88, BYTE 99 $hhhh will be replaced with the}actual beginning RAM address and $iiiiwill be replaced with the actualending RAM address. As before, 88 and99 will be repl}aced with the actualdisk address (in decimal) of the first(low) byte of the first address. If the segment is contiguous,} PROBJthen checks to see if it will fit inthe remaining buffer space. If itwon't, this particular segment won'tbe compres}sed, but processing willcontinue after the message: WON'T FIT IN BUFFER, CAN'T COMPRESS If the segment contained a D}OSinitialize and/or run vector, thevector HEXADECIMAL address will bedisplayed on the map. (INITAD is theinitialize addre}ss; RUNAD is the runaddress.) At the completion of successfulprocessing, PROBJ displays themessage: File processed }OK! However, if an error occurred,PROBJ will display (in addition to theerror message): PROCESSING FAILED! Note}: Even though processing fails,PROBJ may still have created an outputfile, but the file will usually not bevalid! Fina}lly, PROBJ will ask: Another file? (Y/N) As before, press a key (not). If you press anything otherthan "Y",} PROBJ will return to DOS.Note that if you continue with anotherfile, the RAM map will continue to goto the file specified} at the beginningof the program! Also note that the RAMmap file is not CLOSEd until the endof the program, so be SURE to p}ress"N" at the end of processing or a RAMmap sent to disk will be lost!ZAPPING (CHANGING) BYTES: If you are creating }an output fileand have chosen to ZAP bytes, PROBJwill prompt you for the first RAMaddress (all addresses must beprocessed} in the order encountered inthe input file!) with: ZAP address? (or RETURN) $ Press if you have no moreadd }resses to ZAP. Otherwise, type theHEXADECIMAL address. (If you make anerror, PROBJ will respond "INVALID!"and give you ano }ther chance with"RE-TRY: $". Note that you do NOT needto type a "$"!) Once the address is located, PROBJwill allow you  }to verify the currentcontents of the location with: Verify: $h...h "h...h" will be replaced by theHEXADECIMAL digit }s presently at thataddress. Then PROBJ will display: ZAP: $ (Note that the "$" is aligned withVerify for easy ty }ping.) If you wishto make no (further) changes, merelypress . (Note that this is ahandy way to DISPLAY ANY ADDRESS} evenif you don't want to make anychanges!) Otherwise, type up to 16HEXADECIMAL digits. (If more bytes areto be ZAPped, y}ou must enter anotherZAP address!) As before, you will benotified and given another chance ifyou make an error. When the e}ntry iscorrect, PROBJ will return to the"Verify" display so that you mayverify your ZAP and make a further ZAPat the same} address if desired. When your ZAP at that address iscompleted, PROBJ will prompt you forthe next ZAP address. Enter the} nextaddress, even if it is not in thecurrent segment! (PROBJ will rememberthe address and continue scanning.)DELETING S}EGMENTS: If you are creating an output fileand have chosen to delete segments,after each segment is mapped, PROBJwill }ask: Remove this segment? (Y/N) As usual, press only a key toindicate your answer (don't press). PROBJ will} confirm youranswer by displaying "REMOVED!" or"NO". Note that the segment is onlyremoved from the output file; theinput }file is left intact! Of course,any ZAPs you have made in a removedsegment are lost!ERROR MESSAGES: If PROBJ does not }find a standardDOS $FFFF header at the beginning ofthe input file, processing isabandoned with the error message: NO DO}S HEADER You may have typed an incorrectinput file specification. Rememberthat PROBJ will not accept tokenizedBASIC or }text files. If PROBJ encounters an inputsegment which exceeds the buffer,processing is abandoned with the errormessage}: WON'T FIT IN BUFFER If any cartridges were installed ona 48-64K system, remove the cartridgeand re-try the operatio}n. If a segment is encountered inwhich the ending RAM address is LESSthan the beginning RAM address,processing is aban}doned with the errormessage immediately following thesegment map: INVALID ADDRESS RANGE Be sure that you are trying t}oprocess a valid object file! If you try to type more ZAP bytes(hexadecimal digits) than will fit inthe current segmen}t, PROBJ willdisplay: WON'T FIT! You will then be given anotherchance to enter ZAP bytes. If the input file is ex}haustedwithout locating your ZAP address,PROBJ will display: ZAP ADDRESS NOT FOUND! Check to be sure that you arepro }cessing the correct file! If the input file ends other thanat the normal end of a segment orheader, PROBJ will display:!} UNEXPECTED E-O-F AT SCTR 88, BYTE99 As usual, 88 and 99 will bereplaced by the disk address (indecimal) where the e"}nd of fileoccurred. Check to be sure that youare processing the correct file! If an unrecoverable I/O erroroccurs, PRO#}BJ will display: I/O ERROR: 999 999 will be replaced by the AtariDOS error code (in decimal). Refer tothe Atari DOS m$}anual for explanationsand corrective action.XA 5 - Beyond BASIC... : d in ACTION!(tm)(c)1984 John Navas IINo commerciaI&Ev8=7EJ&&K&L&ʩ * d5I&&&© 1 -L*I&˜ ' 4&0& 1&& *L"&}*& & 1 -& & 1 - - *`RUNTIME ERROR AT LINE &&Lr*+ +L&` '"'}& &L&PROGRAM STOPPED&&Ńł ȱ`iL'HH 1*L/ r* . 1 + '. . . "(}1 . ' 1 + . 'hhL.ʥ`HHhh`8L'u")}`Huh` Lr*L' Lr*L' ) . ( . ' r* .Lo* )"*} . ' , ( . ' + ' r* ' + 1 , . o*Lr* ) ' ' , ( . ' + ' r* ' + "+}1 , . (( . o*Lo* ' 1* '.L/` ) r* .L. ) . . + ' . ' ,L' ) ' ,",} ' . + 'L'J&K&L& ) 1 1,L&eJ&iK&`L&8LM& . '."-}L&`ʔȱȱȱ 1*Șe惠 惨6,*6-* L*HHhh``".}`Lo*ʱ` ** &JL&J *HHl JLw TO BOOT FOR DOS"/} TO RERUNp B V8+` +ȱLr*&&8558凅刐SJj)ee`ф"0}фiiL#+8L#+ LM&uuuLr*8` +Lr*iLr*豂Hȱ"1}h`p +Lr*+H+ BHI+ 4 -h`8` ,L, ,#` ,0 ,0L, ,0"2}` ,0L,L,`޵` `Ȕ`ʔ惥u`"3}+ BHI DEH 4 -HyhLo* + -`+JJJJ`d-+e- +- c-0 c-Lr* J-Lr*"4}` f-H J-h 0 c-`L+8 0ƅ`66&Ln-HH` B VhH)Kh)0 IJD-EB 4hLr*S:+Lr*"5}TUVLo* -`++L+ -8ɰɅ +`ʱȱȱ`ȵȵLr*Lr* '. . .ʥ"6} . . '. .L3 '. . . . 1*uȱuȱu W* 1* .0 @,L3 ȱLr* T,L.ʵ"7}`eeLM&HHhh`ؐHH 1*L/ r*HH . .6 +i i"8} .i i .hh . . 'hh .`HH 1*% r*HH 1L'/ 1* '. LM& .6 + "9}. +` 1* '.ޠ . 1 +L/  o*Lr*H+ B Vh` ҵ  o*Lo*H+BHI 4+h+L1 g":}0+KJBD0EH 4h o*Lr* r* '.0Ɔ򩛙0` -H`B 4h`00";}L1Lr*Lr* +`H o*hL11HH eHHƆeiH '.lꦆ 1Օ`0  "<}L,`8`|1rd-1e- (- 10|1L1|10|1`1 r* '.1 1`+6-1L180"=}1LM& + 1 . 1 1 ++ 1 +Ɔʭ1 +`ʕ`66`HHH66666u">}uuhhhLr* +愵 ' + 'I 1 280/66&&&`"?}uuu` 2 2Ј 2 o* +`@32@2 .22222 LM&ȥ2i"@}223`L*32 3`LM&2@82ƅ3 ȱ222` w3L?33L?3H3 2h`"A}1+ %  88L3 o* o*` o* o*`  o* o*` 3$' 3"0 "B}30 !4L, 4L, 4L,L1L14 1 '. .4444`H+? ++HI4D44E4B 4H"C}4h` VLM&4` D44 14α44 1L4 D44LM&44, α44ﭯ4 148e44α4 "D}11L1  'Lr*hh iLr* (5L2 (5L*42&&ȱ0 5Lw5 555&"E}& L5&&`i`J&&K&L&` +ȱ&&%8e慱HȱhױL&"F}iJ&iK&Lr*+ BH Vh 1LW*+&BH 4hN 1 W*L 1MLW*+%BNLMH 4hLo*)}*1*N"G}*W*v*11+,J2+,a,s,@,/,T,9,H,),**++++,,-------6.c./x///2:3}10000)///0090.444(4!4440&D'@("H}f(()))V)4440T5\5A1+1d5355&(6@6j6S1 v8y889 j9!9#9(':2:< ;P;UO;Z^;_{;d;e;x;;!<s<"I}<4=?=f=== >`>>>% ?&?J@To@V}@Y@^@_@`@aAhArEA|HAtAAAAB2B!CBT dB^ "J}B@BC%C C C C& nDl vD D D(#DE=8>Comp"K}ress filespec?*@8D=8J@8C8WC@8D7F86I86@8 D1:COMPRESSAF8I89Error--ab"L}ortedJ@8L8WC@8D7F8I8 *|"䚠0F86I86U8F8"M}I8F8I89 O8F8-AO8I8-BF86I86R8F8I8O8F8-BO8I8-BU8R89@X8"N}R8R8U8  [8':X8U8[8 ^8O8D.O8X8U8  BI8^8 T^8I8 UI8^8X8U8 "O}I8^8 X^8I8 YI8RI8hLV.Ja8I8F8U8O8O8X8U8 FAU83 ;I8I83U8"P} F8F83U8 U8;F8F8I8I8I8O8D/ X8 3 O;F8^; O8I8I8F<"Q}{;Pd8I8d8d8d8O8D/;(#O8d8d8F=;d=8=8d8I8  l *g8F8 j8g8 O8a8a8g8"}h ۰k F Dڈ ۰ م٦0.0EA ې+-B ۰; e e ې+ 0`&S}.󩰠+- i08eL8J ۤ iԔILيd19 K Qڥ 8~ &T} ȩE oة+8- odȢ8 i m؊ 0~-`CPYRT.1981,MARSLETT*`eׅץeօ&&&U}Bj &&&Ր }܅Ԙ}ܨPiԘi`զԆՠׄ؄ʈ0Ր)Cj>d8&V}ԕIؠ7`ە1IiE0yʈ0niհdڥEԠ``&`I)&W})8iE040 uʈiԐԕեE*`80 ʈL`<68?&X}e ۵ԕڕڅ cԊEEhh*08``LC ݥ8i@ ۵ԕբ 8Lܥم؅٥ׅإօץ&Y}ՅքզJJJJ fܦ) fȥإЄL; `80 ` ې>.+- .,0"8` ېȄ&Z}`Ԡ66666`:`Lٔ0ȵߵ޵ݵܵ۰٘ eeߵe޵eݵeܵiۈٔ&[}0Lۨuu٥uإuץu֥uՈ` 'Oc?'N?Jf tصJJJJ mص) &\}m0 tة0̀  . 0.``` x݅` x݅ b` " ڰ&]} b fڐ`i`ԝ````ԕ`ߢ ڰ F &^}8ԅLCieȅ ԩf fڥ)?%ߢl ݥ f `ڠ ڠޢ @ -ݩ ;&_} ` (۠ߢl f fڥ b F ߢ e?` | fڠ - `L%@p8f@i 1&@4@ g@Y!3'@"wf&`} } ۢ?1FffffوԠߢ ڠߢr 8ݢ -ݩ C ( " b fڢ ե&a}8 f fڥ b `?PE@i@g5`@04VD?8@0% ?CBH@>DIh8E?hyx?&b} )D?@ (1V?wD3331??xS4ffffffff>`<|bf 0fF68of;&c}p88pf<f<0 0 ~~`0 0```nff>f&e}ff~fff~~f<flxxlff``````~cwkcccfv~~~nf8pp&g}8?ww<~~~<&h}x`x`~<~~<0~0 ~ <~~<`nf<ff~ff~~f<flxlf````~cwkcfv~nf`<|~ffff~&j}fff<ckwcf<``nf>ff~<ө<ө2A`B`L7 6(ҩmi:&v}; < =:2i4354 ?6L 6 j u? ,p? j ?0070L&w}t _B0`?>2i435< 0>A!CE000Ɋ?0`0 1;:2 ҅1L&x}: _`H232435; 1 ҩ;  hh@2 e1i1L; :)h@1890 <ӥL&y}9`0`Hҍ 00) 08 109hh@ Ҡ2e1i1232435ޥ<<Щ82m43m 5`&z}.̍ҩ  0 4ӭ j kL 0x 4ӭ j u  0<L `-2 `&{} Ҡҍ2ҩ% L1-2 2ҍ ҩ% ҩ(ҢAҬ`ҍ`%Ң`jj)&|}?j)` k `    8 8 }imJJJ 8)i 8&}}}}`|08|`i`Lx%) Ԥ   aXL )0 Ԥ  ̭ҭ&~}ҩҭ2ҩU2ȑ212i23i3X` _<Ӎө0XL &'x \X`CT eu$F`1&}F!@WS   Y`S mF! mȱȱ򈈌 `&}``}~S  Y0 ` ` ɛ`  Y` ޠ`&}@S@ ``W+N(DS  `Nݩ̍`+>*) 9`? X0&}$4Ӡ@* \*=L` X0̍ҩҩ` h4ө \**=`?03==&}`R 0= L?`==` =``0<`=  0 L2@i&}ЩР@ i  `%H$H` `#@R>  Y`UW &}`P0C@ESK }ATARI COMPUTER - MEMO PADBOOT ERRORE:xDxآ ? w(r s D&}R'S% X  <ర  9BDE J VL%&}  ) D )l )ll 0L*HH`lll&}I Ii`Нԝҝ`T67  , < L n e k)J` &}) ~`S S`    K`@BC  iiA   &}KЮK l ~ `BiCill DE BH V`KLzR S` ) `J>K } &}KJ  `l)j@`+)*)*W/Lҩd{j`&}WiLQjeE( !o)?gjjj)g ! odXeY z udedhei A fW -&}*)' j ` B  efffQQ W]j8  O Q Y X Q @ p p d0e&}1p dehdie1 0 LH h`*) R" //L! 2 L4 Gd-FoJ` }&} L!ɛ 0L! L!TZ****)) GFo L-PI1dPd` ]W I LL` &} k4TlUm Lɛ cq LP lTmUkk L0 L 0 !LLld  L&} de !L*JbX| ɀɁ ILɂɃ@ЩɄ&}ОɅ L&|@a{ |L ML4`TʆTL\TTͿUU0RSULUUSRL&} deej cmTVl`cR!UR s UST   L UR 4 c %LcLc&}L } cH hc }H }hLD λ0TL GdheicH hcTͿ hڠh h L8 {RU Gd&}hi(feiigT N L QTT8 #ix(  RU G L ` L0+dL0d8&}dee dL`THUHVH Tfgf &gQg &g &geQfgmgW0f&gL~U0 FVjnLeffg8n&}fedd^geee_ohVhUhT`}cUVUWݍ S`VW0cQ }& 0Lw 4Tix %} &}L} VTW${T& }ɛ8 lΝ8ﭝTL8ptpquq`W 'SSWT&}*( VVU L` Lhh{ L4]^`H)nhJJJ`...` n` nI=`T&}ix %n8`W****))`eGd'fPhfPdeidhfi(fg` "iy( 0TTix(LRU&} G'd` XdYe(djedddeejLcTQQ " ci(cQLceUc` cHlTmUk{T&} USkL9 kcRT kcR USTkhc ` QlRm`cRT cR GS8RdL`-&}`T`T` L4 THTh{I{`Ў `{WRU`XdYe`"`获T`U&}aVbyz8`Zv yvIiv8a[wb\xzwIwxIxwxspZTw訥xu wvv~tHuJhjp~&}LBpevpqqupt TeyT zrewrsexsu'rt$zUUV VUV z / TH &}hT  L  8~~0LL4 4d //__aaaa ''OOAAAA &}((PP@PPP 00``0 @ (ʔFy}~02- m7@ ` @`lj;k+*opu&}i-=vcbxz436521, .nm/reytwq907~8<>fhdgsaLJ:K\^OPUI_|VCBXZ$#&%"![ ]NM?REYTWQ()'@}FHDGSA { &}  ` }  ɟ IM0+h@%橔&}{R'SDE ˑ pxqxrxۑ[ }LLzz\<z&}DE ˑsLNzDE ˑЍsLNzDE ˑsLNzDE ˑЍsLNLNpLN&}z%!ԅ֩؅թhנԑץpp!ԅ֩թpנԑץtԅ֩hթ؅עr \LoI &}ӱԑ {{|I Lb捃) |Lw BHILVI`I`J&}GN 2.1ɑ`LtLw} ɠ̠ֲ  ϮӮŠ&}Š Ԡ&} 砠 &}Π򠠠 &} Ԡ䠠 &}  ͠렠 &}Ġ  ͠렠 Ġ &}  ͠렠 Ԡ &}  ͠렠 Ԡ &} Ң`ҩ ҍ҅ `Ԡ $Tj8 -CO8a8a8j8-Ca8I8g8F8d8I8  j8g8 O8I8I8g8j8 -CO8I8I8j8"}-Cj8X8 O8I8I8X8j8 -CO8I8I8j8-CO8I8O8d8EBF8F8d8I8 I8I8P"}@8GAI@8D/@8D1:@8D884=@8@8DB@8DC@8:*.*B+@8D=?=+@8D/f=m8@8DA@8D1:A@8m8DB+@8"}F:9@8F:9=m8@8DA@8D1:A@8m8DB+ *66"bloc"}" WRITTEN BY " "   "}OF WASHINGTON, D.C. andPress any key to continue.>"}C8L8E:7[8M [8O8@@8@m8@?T *~ΠՠA) Disk Directory"}B) Change DrivesC) Compress FileD) Delete FileE) Rename FileF) Lock FileG) U"}nlock File H) RebootI) Format DiskSelect item or for menu.@8GAI@8D/o@Pleas"}e type one letterJ@8D=}@%@8DA;@8DI< @ Not menu itemJT@8D5@  Drive or filespec?*"}@8D=@@8D:*.*A@8D7a?@8GAI@8D`4JSource, dest drivesC8HL8HI%Delet"}e filespec?*!@8D7JRename filespec?* @8D7JLock filespec?*#@8D7J"}Unlock filespec?*$@8D7JF8wJWhich drive to format?*@8D7J?CB@44"}T *Error J *R }Source: C8 Dest: L8("}+44T *@8D1:*.*A@8L8WC_O8DX8R8%C U8X8^8U8 O8U8^8"} -AO8^8-B^8R8 O8R8^8 -BO8^8-B#R8CO8a8a8Cs8O8D/X8 X8"}CO8O8s8FA=8=8X8 l *O8s8s8C^8X8 O8s8s8^8-CO8s8s8X8^8"} -CO8s8O8s8O8D/FB=8=8l *"=8} +D+ +^8X8d8 I8j8^"}8 O8a8a8^8j8 -CO8a8a8j8-CO8O8O8D/d8 I8FA&+^8X8d8 I8j8^ _LRS:H` B V`BDEhK)I JLVUVT`H 2` BHIhLV }}~ɛ  ;} 2*} ` RUN"D:MENU*.*"  \`b*}b B V`BDEhK)I JLVUVT`H 2` BHIhLV }}~ɛ  ;} 2('5 +0@0@(0@@2 ( ( .}(<( >>> ATTENTION <<<F ( (P**(" This Disk is full of Pro qualityZ((( machine language disk utilities.d*.}*("There are also documentation filesn++(#(marked .DOC) that you will want tox))(!print out. (From DOS, type (C)opy.}--(%filename.DOC,S: for screen or P: for(printer.((( Programs (marked .OBJ) you can))(!run using the DOS (.}L)oad command.(,,($ Type to begin using this disk!D:MENU(0@@2 ( ( ,O