@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV``ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu X} 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 164ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u05  15 2 2151^116115ύ011$r2ԭ5 3)5)5ԭx GT}@@L00)+& 2 L0=ɛ -L!1LV1L1 /3 3ȹ441L-4 v3 25 2H 2h͔5U}L3L3 2 k3U hh`DOC`QL3P1Lk0S1H /3h0B k3@ VL0LU!#$53 1181118V}1111Ε5 1Lk0552 1Ȍ1i111i11115Lk0pppB4f5&&&&&&&&^6f^6&&&&&W}&&A1@BJ D2ELVK@BHILV^Щ6 2BD2EJ VBD5EHI0 V0%5X}5 2iХiL[2 25 25`D:*.*` i@`8 ``@i `8@`0 BLV525<4Y}5`HH i ԍΗ552 ԍhh@ Lح1Э1Ѣ 24.4 24Z}4`D4E` 2BJ k3LVRH` 2BD4EhK)I JLV333 BASIC LANGUAGE OBJ > i}MACHINE LANGUAGE DOC > DOCUMENTATION PIC/MIC/FNT/MVM > GRAPHICS AMS/MUS/MBD > MUSIC LST > BASIC LISTING j}-SOME MACHINE LANGUAGE PROGRAMS CAN ONLY BE RUN BY BOOTING THE DISK MENU "WITHOUT" BASIC.-FOR SOME PROGRAMS, XL OR XE MOD k}ELS MAY REQUIRE A "TRANSLATOR" PROGRAM TO BE BOOTED FIRST. [AVAILABLE SEPARATELY FROM B E L L C O M.]-MOST PROGRAMS ARE l} RELATIVELY SELF-EXPLANATORY; HOWEVER, SOME HAVE SEPARATE DOCUMENTATION FILES AVAILABLE. BASIC PROGRAMS MAY CONTAIN INSTR m}UCTIONS IN THEIR PROGRAM LISTINGS.-TO WRITE THIS GREAT MENU PROGRAM ONTO ANOTHER DISK, (Q)UIT MENU, BOOT DOS, AND USE TH n}E "O" COMMAND TO COPY THE MENU FILE "AUTORUN.SYS" ONTO YOUR DISK. < MENU by DAVID CASTELL >U, BOOT DOS, AND USE TH e ********************************* * * * * * p} * ********************************* WARNING ======= USE "DISK TOOq}L" CAREFULLY. IT WILL ALLOW YOU TO EDIT ANY DISK SECTOR YOU SPECIFY. THE PROGRAM WILL ASK YOU FOR A VERIFICATION PRIOR r}TO WRITING, BUT ONCE YOU HAVE WRITTEN TO A SECTOR IT MAY BE TOO LATE. YOU COULD WIPE OUT YOUR DIRECTORY, THE VTOC, DOs}S BOOT SECTORS, OR ANY OTHER SECTOR ON YOUR DISK BY MISTAKE. FOR THE ABOVE REASON, USE A SECTOR COPIER TO MAKE A t} ٛ OF THE DISK YOU PLAN TO WORK ON. THEN, WORK WITH THE "DISK TOOL" ON THE . IF YOU MAKE A MISu}TAKE, YOU WILL STILL HAVE YOUR ORIGINAL DISK. LOADING DISK TOOL ================= "DISK TOOL" CONSIv}STS OF THE FOL- LOWING 6 FILES ON THIS DISK: DSKTOOL .SYS 001 SEC DSKTOOL1.BAS 010 SEC DSKTOOL2.BASw} 008 SEC DSKTOOL3.BAS 049 SEC DSKTOOL1.OBJ 001 SEC DSKTOOL2.OBJ 013 SEC "DISK TOOL" WILL NOT LOADx} FROM THE MENU OF THIS DISK DUE TO A MEMORY CONFLICT. TO LOAD "DISK TOOL" FROM THIS DISK YOU MUST FIRST BOOT IN DOS Fy}ROM ANOTHER DISK, THEN RUN THE FILE "DSKTOOL1.BAS" AS FOL- LOWS: RUN"D:DSKTOOL1.BAS" (THE FILES "DSKTOOL2.BAS"z}, "DSKTOOL3.BAS", "DSKTOOL1.OBJ", AND "DSKTOOL2.OBJ" ARE SUPPORT FILES WHICH WILL CHAIN LOAD FROM "DSKTOOL1.BAS". THE{}Y WILL NOT WORK SEPARATE FROM "DSKTOOL1.BAS"!) ANOTHER ALTERNATIVE IS TO PLACE ALL "DISK TOOL" FILES ON A SEP- ARATE|} DISK CONTAINING DOS. THE FILE "̮" HAS BEEN INCLUDED FOR THIS VERY PURPOSE. AFTER IT HAS BEEN COPIED TO THE }} NEW DISK, USE THE "E" COMMAND IN DOS TO RENAME IT "ή". THIS WILL CAUSE THE "DISK TOOL" FILES TO RUN AUTOMATI~}CALLY WHENEVER THE NEW DISK IS BOOTED. ATARI XL/XE MODELS ================== ATARI XL/XE MODELS WI}LL REQUIRE A PROGRAM TO BE LOADED FIRST, IN ORDER FOR "DISK TOOL" TO FUNCTION PROPERLY. қ PROGRAM}S ARE AVAILABLE FROM MOST PUBLIC DOMAIN LIBRARIES OR FROM LOCAL USER GROUPS. INSTRUCTIONS ===}========= READ THE DOCUMENTATION FILE FOR "DOS WIZARD" [DOSWIZ.OBJ]. YOU WILL FIND THE OPERATION OF THE TWO SECTOR E}DITORS TO BE VERY SIMILAR, THOUGH THEY EACH HAVE SOME FUNCTIONS WHICH ARE UNIQUE. FOR EXAMPLE, WITH "DISK TOOL" YOU C}AN OBTAIN A HARD COPY OF THE SECTOR CONTENTS USING YOUR PRINTER.ICH ARE UNIQUE. FOR EXAMPLE, WITH "DISK TOOL" YOU CFQ) !"`3!3:@4,D:DSKTOOL2.BAS-@@"Ad@,РϠΠӛ6}6-?:F:,%AV$F:,,@!!ԠӠӯ ӛĠӠϠԛ ))#"AU*}"AU# AP 6-%AV$ĠӠϠР ))6-%AV$ŠҠ}Ơӛ 6-6-%@& Ap$XϠϠԠӛb6-@$ Aql%6-A2%%%@}@v6-P:'AV,6-&$AV%@%@6-P:'AV,6-&AV$}%@%@ 6-?:C:hhhLV,<,ϠԠŠš$D:DSKTOOL1.BAS6-&AV$j()qIADDRESNUMBEIOCADRHADRLNUMHNUML}K+@%@'A@9A AKAA ##(@ ##(@} ANALOG 400/800##(@ presents (##(@ utility #3 2##(@ }<##(@ F##(@ by TONY MESSINAZ/(@/(@ d }A@n##(@ loading disktoolx%D:DSKTOOL3.BAS56-@5@D:DSKTOOL2.OBJ}6-At 6-A&At  Ap$XϠϠԠӛb6-@$ Aql%6-A2%%%}@@v6-P:'AV,6-&$AV%@%@6-P:'AV,6-&AV$}%@%@ 6-?:C:hhhLV,<,'@$D:DSKTOOL2.BASV,6-&AV$dfg7DUNIDCOMDAUXDAUXGSEPSEDBYHDBYLAANSECLOSECHSECNULINBUSCANARPTEMFIFISTSERELFID }  } llDISK TOOL BASIC PROGRAM BY TONY } MESSINA (C)1982 MODIFIED BY J.R. HUMPHRIES$@$LFT MAR TO 02c6-Ai6-Ap'6- }Ax36-Ay?6-@K6-@W6-Awc6-AvF;@@,;@,n As APx } A SET UP DVT@DRIVE 1 FOR READ  )ArAS)LOW BUF ADR ($ }FD)(As@(HI BUF ADR ($03)A'GET 128 BYTES"NO HI'$, A JZ 6-A }:," @)!A M(& ĠҮŠӠP'Z ApL$T,6-P:'AV,)6-P:&+$AV },,,$r&"(ĠҠҠ&| 4H A 24+)46-%@( A02 A>7@ }<@,4-*6-&@4 Ap> A) 4W+ AP) Ap 4P A` Ap }) 4C+ A0) Ap 4D AP 4T Ap 4M Ae&7@<@ },4$& A@ A0! + AU! A@ #6-?:At ,#** GO DO IT **&DF:Aub },((ΧԠĠ:AubD Ap0> Ai*!A`4( ٠ > Ap:DD( }Ҡ Ԡý+F:Aug,$AV,%F:AG,N(ţF:Auh,b Apv!A 6-@ }$ @6-A $P(̠ԡ*A <AAF AP Ap" }"*** WRITE SECTOR TO DISK ***9A@d'A @9A@6-?:At0, A0 ( }ԠҠӠ#(ŠԠŨٯΩ#*20Y*0N((Ӡԡ2 A P>) 4N( }Š) A PR Auf@f6-?:At ,z(Ҡ;F:Aub,)(ˠ }Šҡ;Aub Auf'A 'AA 6.$""*** }CHANGE BYTES ROUTINE ***9A@&'A 9A@6-?:At0, A0//('MOVE } CURSOR TO BYTES,CHANGE,HIT RETURN.B4)B:, @&8(̠ԡӠB ApBA@& }V 6-C:,j6-?:AwA<,~//(&ĭԠΠϠAA$t +@ }A 1AAS(@t(@ %%(@ }e#(@ READ NEXT SECTORD(@ READ PREVIOUS SECe(@RITE SECTOR TO DSKE$ }(@HANGE SECTOR BYTESE(@ELP(SHOW COMMANDS)?(@IRECTORY LIST?(@RINT CURRENT SC }RND#(@RACE SECTOR CHAIND(@ODIFY SECTOR LINKS* ( Ap 4-@(1- }@4$6--@B:,7<,20 AA27<,/9(6-$@%A:7<,,2 A@P }##7<,2A)7<,3FAA**6-$@%@:7<,,&@:A,%@  6.=:,$*(Ġؠ } '* Ap8@A8** SET SECTOR 361 FOR READ6-Aa + AU11()}ã } ů ţ 6-?:AxI,6-%@1(1(% RETURN ϠЬ + ϠԮ }4+AP 6.As""(ĠҠҠ 4 APu^37@ }<@,4W)7@<@,4CT(ҠΠ^ APe A|<A@'A  }9AA<$p A`P33u2 ( ǠΡ2AAz%%6-F:@,%F:@, }$AV""**PRINT SCREEN TO PRINTER **-@@6-@-%@9+67<,.>:+@: ,%F: },,,+6-@:7<,,+!A(6-&A(+67<,.>:,(7<,2 )7<,3Z(67<,..6-%@ ' }7@ <@!,4EC' A`E36-%@@ 3AA A&6.0 AP3$.$( }ҠΧԠġ. A`EdN$(} ٠Ҡ'(J(ҠϠ٠ؠҠéNi 4 A }pn&7@<@,4$& A@x A0 A@ AP6-?:At,F:Aub, AP }O(O(ţF:Auh,:Ԡҽ +F:Aug,$AV,%F:AG,+('(ҠנŠàҠة+# }46-F:Auh,# Ae&7@<@,4$& A@ 6-A:,7Auh(3(Ҡנãؠ }é7 4 Ap&7@<@,4$& A@ A0% A@Aug%AG6 }-?:A,i(Ӡġ(i( נŽ F:Auh, נҽ +F:Aug,$AV,%F:AG,6-F }:,%F:,$AV:(-(" ŠϠˠƠӠ0(: ApX?'(INPUT FILE NUMBER (HEX OR DEC);(OR T }O ABORT?b&7@<@,4X& Apl&7@<@,4$& A@v\ 6-A:,%6-P:'@,%Aa }; Aa)!AhR(ĠŠ\ Ap{ 6-&+P:'@,$@,6-+$@,%A!1 + } AU1(} Ҡ6-?:A<<<,AF:Aub,"Aub4As7(A Ap }!6-F:AG,!6-F:Aug,-(F:A8,#As- Ap4(0($ TO CONTIN RINT SCRN TO ST }OP48 4A8.As8 Ap 4P A` Ap9 0+A8/ }As9 A!!(} ҠŠԩ6-?:A, ApUD:DSKTOOL3.BAS/ qJi,iLx<=4X`HhL;ҥh@D:DSKTOOL3.BAS/$] S03E  2"     $  +LzH)hJJ"h`#8#  #멛 #(} 2  #L  8`}BYTE#HEXATASCI  `) 0ii0` }ɀ ɛ ɠ.` $ (} +`HJJJJ h `"i"  ```> $ `hhh͠Hȱ h  iȱ ȱH(}ȱ h  HL80 `L4  ` S0ͩΠ͝ ͍ȱ͍ȱ͍ȱ͍ȱ͍,DL(}P%U ,*,2L1      $ +           (} $ + i͐Ω L i  L `LK (} SL4 LK** zLKzH)hJJ`"hL hh h hhhh SL" ͍͝ ͍ ͍͍(}, ! "LL"[ ! L!! ! !! !  #  " " SL" ""#{ Q ! ""(}ҩ#""LL " ! 7  #  "" !#"""LLM"M""""r ! L!"w ! (} " !" " " !""L!"" """"` { ` $ + `FILE: (} START SECTOR:$ IS DELETED!!FILE NUMBER MISMATCH AT SECTORCHECK PREVIOUS SECTOR LINKS!!CANNOT READ SECTOR:$(}NO ENTRY FOR FILE$ ENDORIGINAL SECTOR COUNT$ACTUAL SECTORS LOADED$SHORT FILE ERROR!!! !`"C !  # (}  L! $# 7L#  7 #{ #`  `SHORT FILE ERROR!!! !`"C !  # (P DOS WIZARD Copyright 1983 by Gary C. CriderINTRODUCTION DOS WIZARD was written toaccomplish seve,}ral tasks that noother disk utility seemed to address.Some of these are listed below. Someknowledge of DOS file structure,}s isassumed. There are many goodtutorials on DOS available (seeBIBLIOGRAPHY). IT IS IMPORTANT THATYOU UNDERSTAND WHAT YO,}U ARE DOINGWHEN YOU USE DOS WIZARD. It will beone of your handiest utilities, butalso one of the most potentiallydangero,}us if you don't understand it.PLEASE READ THIS DOCUMENTATIONTHOROUGHLY! 1. RECOVERING THE SECTORS THATJUST SEEM TO VANI,}SH FROM DOS DISKS.When a directory listing is produced,the sum of all file sectors plus theremaining free sectors should t,}otal707. You have probably noticed thatthis is not always true. The primarycause for this is pressing SYSTEMRESET while,} a file is open foroutput. This leaves the directoryentry marked open and the file andits associated sectors are forever,}lost to DOS. Prior to DOS WIZ the only wayto reclaim the sectors was to copyall good files to another disk,reformat ,}the bad disk and selectivelycopy each good file back to thereformatted diskette. DOS WIZ will read all fileswhile no,}ting the sectors used by thefiles. Any sector not referenced by afile entry will be freed into theavailable sectors pool a,}nd all openfile directory entries will bereleased for reuse. 2. You probably have receivedthe notorious ERROR 164 o,}r ERROR 144at one time or another when trying toread a disk file. Sometimes you can'teven delete a file because DOS wants,}a valid file chain before he willdelete. All sectors used by a DOS fileare chained together, that is, ase,}ctor of data has a pointer to thenext sector belonging to that file.Also on each sector is a reference tothe file which ow,}ns it. ERROR 164indicates that a sector was pointedto by a prior sector, but the twosectors do not reference the samefile,}. This means that somehowanother file used a sector belongingto the file in question. ERROR 144generally indicates that ,}a sector hasfor some reason become unreadable.This can also be the indicated bysome other error codes. In either cas,}e, the integrityof the file chain is lost and DOSwill not be able to read the file.Usually there is nothing that can bedo,}ne because a binary load file or atokenized BASIC file that is notcomplete will not be usable in anyfashion. However, rec,}overing aportion of a data file can be veryuseful at times. It can prevent a lotof re-entry of data. DOS WIZ allowsrecov,}ery of any file up to the pointwhere the chain is broken. This thenbecomes a valid DOS file and can onceagain be accessed,}. 3. A bad sector on a disk isoften a big headache even when yourfile is backed up. It means that allgood files mus,}t be copied and thedisk reformatted and the good filescopied back. Only then can yourestore your file from the backup. ,} DOS WIZ allows another approachthat is very often successful. Youcan analyze the disk to get thelocation of the bad sec,}tor and it'sassociated file name. You can thenwrite zeros to that sector and theodds are very good that you will thenbe ,}able to read it again. If youcan't you haven't lost anything sincethe sector was unreadable. You maythen recover the file,} up to the pointof the zero sector and then deletethe file. Now you can recover thesectors used by the file and thenrewri,}te your backup file to the disk.It sounds complicated, but is reallyquite simple and much easier than thealternative discu,}ssed earlier. 4. Occasionally a file getsdeleted by mistake. If the sectorsused by that file have not bee,}noverwritten, DOS WIZ will allow easyrecovery of the file. 5. Sometimes you end up with twoor more files of the same ,}name. Ifyou delete or rename one with DOS,all files with that name are deletedor renamed. DOS WIZ lets you deleteor rena,}me by file number. There arenever duplicate file numbers. 6. DOS WIZARD provides atranslation of the sector bit mapf,}rom the VTOC that is easilyreadable. It allows you to "hide"sectors from use by DOS by markingthem as allocated. You can,} also freeallocated sectors. 7. DOS WIZARD's directorylisting lists ALL entries includingdeleted and open files. It ,}allowsyou to perform many DOS functions onthose files by simply referencing thefile number. This does howevereliminate t,}he use of wild cards. Thedirectory listing also tells you at aglance whether any sectors areunaccounted for. 8. DOS ,}WIZARD will allow you toflag sectors as allocated andeffectively hide them from DOS sothat they will be reserved for your,}use. 9. DOS WIZARD can be used toclear unused sectors of data. Thiswill speed up the disk duplicationprocess when FAS,}TDUP (Copyright 1982by Gary C. Crider) is used. 10. DOS WIZARD will displaysectors in hex and ASCII on the samescreen.,} It also gives much valuableinformation about that sector such asthe file to which it belongs. 11. DOS WIZARD will list,} allextents by sector range which areoccupied by a given file. An extentis a set of contiguous sectors.PRINT-}ING THE DOSWIZ DOCUMENTATION Running the DOSWIZ.PRT programusing BASIC will print theDOSWIZ.DOC file in 1.75 width le-}tterson a STAR (tm) GEMINI series printer.It may work on other printers aswell. Another way to print it would beto u-}se the COPY feature of your DOSor DUP.SYS utility, specifying P: asthe output file name. It can also beprinted from most -}word processors.The actual GEMINI control charactersfor page skipping are imbedded in thetext. If you have a different br-}andof printer, you may want to changethem. They should work okay on theEPSON (tm) printers. A DISKETTE ANAL-}YSIS This MENU option performs atwo-stage analysis of the contents ofa DOS format diskette. Either stagemay be inter-}rupted by pressing theESC key, but any statistics will onlybe valid up to the point where theinterrupt occurred. Stag-}e 1 reads all DOS fileswhich are not marked as deleted oropen and verifies that the chain isintact. All chain errors are r-}eportedwith the sector number where theviolation occurred and the file namefor the chain being validated. Achain error is- } reported if: a) The file number in the sectordoes not reflect the file beingvalidated; b) The next sector pointe- }r doesnot point to a valid sector number; c) The sector is not marked asallocated in the VTOC; d) A read error oc- }curs whiletrying to read the sector; e) The byte count in the sectoris less than 1 or greater than 125. Stage 1 r- }eports the followingcounts: 1. VALID FILES - the number offiles which are accessible by DOS andcontain no chain error- }s. 2. DELETED FILES - the number ofdirectory entries flagged as deleted. 3. OPEN FILES - the number ofdirectory e-}ntries flagged as open. 4. BAD CHAINS - the number offiles which were found to haveinvalid chains. 5. SECTORS ALL-}OCATED - thenumber of sectors which are marked asallocated in the Volume Table OfContents (VTOC). 6. FREE SECTORS - t-}he number ofsectors marked as not allocated inthe VTOC. 7. DEAD SECTORS - the number ofsectors allocated less the num-}ber ofsectors validated while verifyingchains. These sectors cannot bereferenced by DOS. Stage 2 reads every sector -}onthe diskette and reports the count ofsectors containing no data (ZEROSECTORS) and the count of sectorswhich could not b-}e read (BADSECTORS). Stage 2 will list by sectornumber the first 64 bad sectorsencountered. If there are-} more than64 and you need to know where theyare, consider using FASTDUP. C CHANGE DISKETTES This function must be -}performedbefore processing a differentdiskette since the VTOC and directoryare read into core only once by DOSWIZARD. D-} DISPLAY DIRECTORY This MENU function lists alldirectory entries currently in use orformerly used on this diskette. -} Italso gives access to many functionswhich may be performed on a file. The directory listing providesthe following f-}or each file: a) FILE#- This is the number ofthe directory entry. They arenumbered from 0-63; b) NAME- This is t-}he file namecontained in this directory entry Files which are recognizable andaccessible by DOS are in REVERSEVIDEO. Th-}ese would appear in a DOSdirectory listing; c) START- The starting sectornumber for this file; d) COUNT- The numb-}er ofsectors used by this file; e) STATUS- Will contain "D" ifthe file has been marked deleted, "O"if it is marked as-} open, and "L" ifthe file is locked. The display trailer contains thenumber of free sectors and the numberof sectors -}accounted for which shouldequal 707. If this number is otherthan 707, there are dead sectors onthe disk. However there cou-}ld stillbe dead sectors even if there are 707sectors accounted for. DISKETTEANALYSIS can be used to reveal thiscondition.-} DISPLAY DIRECTORY allows thefollowing functions to be performed: a) UNLOCK - unlock file byspecifying file numbe- }r. b) LOCK - lock file byspecifying file number. c) DELETE - delete file by filenumber. This will de-!}lete the entryand free all sectors up toencountering any chain error. Thiscan be used when DOS delete will notwork due t-"}o errors. If a file willnot delete with DOS WIZ, do a RECOVERFILE (R) against the file and thendelete it. d) RENAME -#}- rename a file byspecifying a name for a file number. e) LIST FILE EXTENTS - obtain alist of all areas of contiguous-$}sectors occupied by a file. f) RECOVER FILE - recover adeleted file or a portion of a filewith a broken chain. If the-%} file isan open file, an extender will beused of Xnn where nn is the filenumber. This prevents duplicate filenames due to-&} having recreated a filethat was open and thought to be lost.File recovery makes a valid file outof the portion of the fil-'}e that canbe read up to the point of an errorbeing encountered, thus to DOS it isnow a good file but it may still beusele-(}ss to you. You can salvageportions of a data (LIST format) filebut BINARY LOAD AND CSAVEd FILESCANNOT BE USED AFTER RECOV-)}ERY exceptby the DELETE function of DOS WIZ orDOS. M SECTOR MAP This MENU function displays atranslation of the s-*}ector bit mapfrom the VTOC. Each sector from0-719 is represented by either aperiod (free sector) or an asterisk(allocate-+}d sector). Since sector 0does not exist, it is always shown asallocated. Sector 720 is notrecognized by DOS and is not sh-,}own onthe map. To obtain the sector number of aposition on the map, add the numbersfrom the scales on the left and to--}pof the screen. There are three functionsavailable from this screen: a) ALLOCATE SECTOR(S) - specifystarting and-.} ending sector numbers(inclusive). These sectors will bemarked as allocated and will beunavailable to DOS. If the ending-/}sector is not specified, it willdefault to the starting sector soonly one sector will be allocated. b) FR-0}EE SECTOR(S) - same asabove except sectors are marked asfree. These sectors become availablefor use by DOS when new secto-1}rs areneeded. c) RECLAIM LOST SECTORS - Thisis the powerful recovery utilitydiscussed in the INTRODUCTION. Itchases-2} all non-deleted and unopenedfile chains and remembers the goodsectors. Any sectors that areallocated but not on a valid c-3}hainare zeroed and released for use byDOS. If a chain error isencountered, a message is displayedindicating the sector a-4}nd file. Afile recovery should be done on thatfile (see DISPLAY DIRECTORY) and thenredo the reclaim function. It is nota-5}lways necessary, but can't hurtanything. S DISPLAY SECTOR(S) This MENU function is used toread a given sector and -6}display it.The left portion of the screendisplays hex representation of thesector data while the right portiondisplays mo-7}st of the pertinent ASCIIcharacters represented by the sectordata. The bottom of the screen hasvaluable information about-8} thesector. Information is displayedonly when pertinent to the sectorbeing displayed. a) SECTOR: This is the sector-9}number of the sector being displayed. b) NEXT SECTOR: This is the nextsector on the chain. It is onlydisplayed when i-:}t is determined thatthe current sector is indeed on achain. c) BYTES: This is the number ofbytes used by DOS in this -;}sector. d) The lower left corner is usedto display the file name to whichthis sector belongs and whether thatfile is -<}open, closed, deleted, orlocked. There are several optionsavailable from this screen. If youpress Z, 128-=} binary zeros will bewritten in the sector. If the sectoris allocated, it can be freed bypressing F. If it is free, it c->}an beallocated by pressing A. Pressing Lwill read the next sector on thechain, while RETURN will read thenext sequential-?} sector. If the sector is the last sectoron a chain then message END OF CHAINwill appear in the trailer in placeof NE-@}XT SECTOR. Z ZERO UNUSED SECTORS. This MENU function writes asector of binary zeros to all sectorswhich are marked-A} free in the VTOC.This is beneficial if you use myFASTDUP program to duplicate disks.Since FASTDUP does not store or write-B}any sectors which contain all zeros,getting rid of unused data can speedup the duplication process. Thedelete functions -C}of DUP.SYS and DOSWIZARD do not zero sectors as theydelete the file. This is good sincemistakenly deleted files cansomet-D}imes be recovered with DOS WIZ. CAUTION--If you have sectors markedas allocated but they are not on afile chain (to prote-E}ct them from useby DOS), this function will not zerothose sectors, but the RECLAIMfunction of the SECTOR MAP will.Know wh-F}at you are doing!GENERAL INFORMATION DOS WIZARD will work in a 24K+ATARI 400 or 800 (ROM A or B). It is-G}doubtful that it will work on the newXL machines. DO NOT USE ON DOUBLEDENSITY disks or OS/A+ Version 4files. It will wor-H}k on the ATARI 810DOS Version 2 files and OS/A+ Version2 files. All 810 compatable drivesshould work fine with DOS WIZARD-I}. This program has undergoneextensive testing, but theflexibility and versatility of theprogram makes complete testi-J}ngdifficult. Please contact me at theaddress/phone number below if youdiscover errors. Please have gooddocumentation of-K} the problem so thatit can be recreated. Also pleasecontact me with ideas for futureenhancements. DOS WIZARD was wri-L}tten for myown use and for my friends in theNorth Texas Atari Computer Team ofFort Worth, Texas. Please do notsell this -M}product for profit. Makeas many copies as you like, but GIVEthem to your friends. Send all correspondence to:GARY C-N}. CRIDER1105 BURGESS COURTARLINGTON, TEXAS 76015(817) 467-1114BIBLIOGRAPHY The following publications-O}(among others) have good explanationsof DOS file formats and disk struc-tures:DE RE ATARI by Chris Crawford, et al.INSI-P}DE ATARI DOS by Bill Wilkinson ofOptimized Systems Software, Inc..Published by COMPUTE! Books ofGreensboro, North Carolina-Q}.If all this went by faster than youcould read it, list it again and useCTRL-1 to stop the display whereveryou want and-R} then CTRL-1 again willresume listing.OTHER PRODUCTS BY GARY CRIDER:FASTDUP- Sector-by sector disk duplicator.DIS-S}ASSEMBLER 6502- Reassembleable disassemblies from disk boot files, binary load files, selected sectors or memo-T}ry to disk, printer and/or screen.THE SHADOW- You have to see it to appreciate it. Full buffer copying of mu-U}ltiple files. Crosses densities even on a single drive system. Many nice and convenient features. You m-V}ay never use DOS copy again.XA 3: even on a single drive system. Many nice and convenient features. You m,%H} L l&AA ` ALLOCATE SECTOR FREE SECTOR NEXT ON LINKDELETEDOPENLOCKEDCLOSEDNEXT SECTOR:1X}END OF CHAIN BYTES:READWRITH  =L `H  =L **INVALID INPUT**HHH hhhHHH hhh1Y}`)? )_ H h`0 B V    0BOD ELR E: JK V 1Z} v `1 h  R@ Y  p P PI 1[}`˩̠ dL3 ˍL0 , B NL L LT mm`h  P1\} Y``b=hmmp  p P PI /mmR@  1]} Y0`L b=hmmp  p P PI -mmP 1^}  Y`)jj**eͩͅ=e΅`L  L  . L ȽL 1_}L `$H =L **ERROR READING SECTOR ` 7 )? LP LZ   1`}    1    1 HHH hhhL )? L``N1a}njjjjjj8j m,8=8` LT `Nnjjjjjj8j m1b}, mm` , LT P   Y`   M B2L Z  =La Copyr1q}b%DOS SYSb*)DUP SYSb SAUTORUN SYSb_HELP DOCboDSKTOOL DOCbDSKTOOL SYSb DSKTOOL1BASbDSKTOOL2BASb1DSKTOOL3BASbDSKTOOL1OBJb DSKTOOL2OBJbDOSWIZ DOCbpWDOSWIZ OBJbmVTOCFIX OBJb]=DSKEDIT BASb&DISKPEEKBASight 1983 Gary C. Crider(H p =LINSERT DISK TO BE ANALYZED IN DRIVE 1H  =L THEN PRESS ANY KEY.1r}GH Ԡ =L WARNING - List file DOSWIZ.DOC with DUP.SYS before using.H + =L@ (C DOSWIZ.DOC,E:)1s})? ` ;    zfal LLLLL# |   LLYmm  p P PI1t}  LY` v LY``  p P PI Ω,LY` % LY1u}H O =Lg ENTER SECTOR NUMBER:0DEBHI V00:0 hh` ذ 1v}٥ԍՍ 8`   p P PI   p P PI  L 1w}Nnjjjjjj8j m, R@   Y0c[~W})~1x}  p P PI *  p P PI  L`UT 7 hh`R@   Y01y}ɭ~)  p P PI )}) } } eͩͅe΅Π ͙ 8ͥ1z}Π͍)L,  L , @, `R&SH  =L(} ӠĠҠٛ1{}H 7 =LR 0 1 2 3 4 5 6 7mmx  p P PI ' 0DE B%H1|}I V`  LK% |L)JJJJ ) L ii0``?L)JJJJ /1}}) /L: ii0`ȭL`$  dLQ` }ɀ ɛ ɠ.`L!H  =LSECTOR: 1~} XXX ZERO SECTOR$H Ơ =LNEXT SECTOR: XXX allocate sector!H  =LBYTES: XXX next on link1}$H + =LP NEXT SEQUENTIAL$H _ =L RETURN TO MENU `#  1} _ + 1,Lb 1 1 F  + +1} +, kLbw   h  p P PI q  p P 1}PI F  p P PI ', , 9L(,L@, _g,T_1}L7,[_L7e_ _ _L` ] w   `R&SH t =L} Ӡڠ1}ӛ`H  =L VALID FILES: H Π =L DELETED FILES: H  =L OPEN FILE1}S: H ( =LF BAD CHAINS: `H V =Lt SECTORS ALLOCATED: H  =L 1} FREE SECTORS: H  =L DEAD SECTORS: `H ޠ =L ZERO SECTORS: H 1} =L) BAD SECTORS: `H 9 =L@ BAD:`%H P =Lv ` @L1}HHH hhhL|hhhL  ͍L,L,L 9( `hh`1}`͙)?LNnjjjjjj8j 1}m,LUR@   YLU})LULU~0LU})}}H~}h~mm}1} ~ p P ~PI }~L>`"H 1 =LT*CHAIN ERROR AT nnn - xxxxxxxx.xxx` jmm` 1A1} G GL"8 1 1 11} 1BLÍ8 1p 181} 1LG~   m  m     p P PI L1})?L8R@ Y L5L$Lmm 1 1%1}   p P PI  *Lmmmm  p P PI 0`˭̠ 1}` # PNͩΩ~mm  p P PI 5 ȱ ͈1}Ly  y ` ANͩ΢# P`˭eͩͅe΅Π˙ 1͈͍΍m  p1} P PI 0`` ' ! ! ! " X# uL!dLb!rLt!nLh!eLn!lLz!  p P PI 1}L!` $L ! ,L ! Q(L! -L ! -L ! -L !@L! L!`i`R'SH ̠! =L!} Ӡ1}ڠٛ&H ! =L" FILE# NAME START COUNT STATUS`L'#L'#HHH # hh1}hHHH 1 9(  1 1, DL"1},O ,L  0DE B$HI VhhhL-"`H 7# =LW# nnn FREE nnn ACCOUNTED1} FOR` 1:#:# :# 1E#E# E#UT (##H # =L# STATUS: D=DEL1}ETED O=OPEN L=LOCKED H # =L$ UNLOCK LIST FILE EXTENTSH #$ =L?$ DELETE RECOVER FILE%H N$ =L1}t$ RENAME LOCK NEXT PAGE`H $ =L$ś` w& q',+H $ =L$CANNOT DELETE OPEN FILE.1}L\&,#H $ =L$ALREADY DELETED.L\& , H % =L%FILE LOCKED.L\&R@ 1}  Y 7 L\&})JJ(H n% =L%FILE NUMBER MISMATCH.L\&})}mm , } ~ p P ~1}PI L&}~HhL2%H % =L& OF SECTORS DELETED.` t1% 11}& % T UT " u$ H q& =Lv&~~~~`UTH & =L&ENTER FILE NUMBER: 0D1}EBHI V ذ ٥ԍՍ 80 0@*H ' =L2'INVALID FILE NUMBER. hh` 1} ͙ L H b' =Lp' ` n' b'L'S' L'?S' S' y`hh`ҍ1}=mm A p P API 7ͭΠ',,ȱmȱmmm1}`͙ L  w& q' 1R@   Y 7 L*1}})JJ 0L*})~Hh  p P PI  0L*  p P PI 1}ۭ0~0 jL*Nnjjjjjj8j m, , ,L), ,mm1}  p P PI LE*mm  p P PI  Q+L(H (* =LD*1}DIRECTORY SHOWS nnn SECTORS` Q+ +ͧ  p P PI L* 18* * `  p P 1}PI L*H  * =L*NO SECTORS FOUND.L*H * =L+ nnn THRU nnn - nnn SECTORS`H + =L&+}FILE= 1} `H 6+ =LP+ EXTENTS=nnn SECTORS=nnn`mm  p P PI  , 1 1*1}*8mm 1* *` 1?+ t11}L+L'+$H 4, =LY,SECTOR ALLOCATED. SHOULD BE FREE-nnn`$H i, =L,SECTOR FREE. SHOULD BE ALLOCATED-nnn` 1U1},L%, 1,LZ, + +L+ w& q' $-ͅ˥΅e˅˩e̠̅ ˈLN&H - =L#-ENTER NEW NAME FOR 1} ` - , 0DEB HI V  L-ɛ .Lf-` ɛL1}- w& q',, LN&"H à- =L-FILE OPEN OR DELETED. CANNOT LOCK. ` w& q')ߑLN& 1}w& q' ,L$R@   Y 7 L/})JJ 0L/})~Hh1}  p P PI  jL/  p P PI ۭ0~0 jL/mm1}   p P PI Li/L5.H Q/ =Lh/ SECTORS RECOVERED.`BȭȭͩX,1}L/})JJ 1ͅ˥΅e˅˩e̠̅ ˈ t1Q/ B/ T LN&  p P PI L;0"H1} 0 =L20NO SECTORS - ENTRY MARKED DELETED.L/R@   Y~})}P  1} YLi/!H 0 =L0FILE NUMBER MISMATCH - SECTOR nnn`!H Ƞ0 =L0INVALID SECTOR LINK AT SECTOR nnn` 10L0 1}10L0 ԭ ؠ0)06  0L]1` 1}ԭ ؠ0)06  0L1` ԭ ؠ1}0)06  0L+2`` 2 2 4 rL{2aLu2f R&S` 7LK21} 6LK2 7LN2R'SH 2 =L2} ӠڠҠЛ'H Š2 =L2 0 5 10 15 20 25 30 35`U1}T܍$mmɬ  p P PI  q3`'H H3 =Lp3000....................................1}`#.K3 1H3$mmNnjjjjjj8j1} m, *93mm  p P PI L3H3 H3O3 O3U3 1}U3Z3 Z3_3 _3d3 d3i3 i3n3 n3L93#H 4 =L4 A=ALLOCATE SECTORS F=FREE SECTORS1}H 4 =L 5 R=RECLAIM LOST SECTORS`H 5 =L/5 START SECTOR? `H ?5 =LR5 ENDING SECTOR? `$H b5 =L51} THRU ? `  50DEBHI V ذ ٥ԍՍ 8L1}q6 1e5 050DEBHI Vɛ 6 ذ ٥ԍՍ 8Lq6 11}n5 6 S5 yhh`mm`` 5 mm  p P PI L61}LT   p P PI L7  p P PI L7  p P PI L7  p P1} PI 0L7  p P PI 0L7`hhLq6 5 , mm  p P PI 1}L7LT @L8HHH "8hhhL7hhh 5: < T UT 2 `  ͍LR8,LO8,LO8 U81}``͙Nnjjjjjj8j m,L9R@1}   YL9})L9L9~0L9 9})}}H~}h~} ~ p P ~PI }~L8`H 1}U9 =Ls9**CHAIN ERROR AT SECTOR H 9 =L9MUST RECOVER FILE )? hhhhhhhhh` 11}o9 9( 9LF9Nnjjjjjj8j m, mm`m1}m  p P PI  9ȩgmmp  p P PI  9ȩ1}˩̠ dLA;HHHˍL9;mm, HHH D;hhhJL;hhhL1}:L;mmP   YNnjjjjjj8j m, m1}m`#H Ӡ; =L;nnn SECTORS RECLAIMED. ` T t1;L;ҍ=mm 1}A p P API 5ͭΠL<,mmL<H < =L1LR1Lg1L1L%1Lp'L~'LA) %.%LX)L0L0L0L2)3%J%2% ɩ5}R1%2K%b%2 s'22c%y%捦22` c&z%%0JQ c&A0?F ݥE%%07, `ڥ0.,!%%5}" c&0 c&%% c& o. 8` D` "&%% "& "&%& "&Ԑ "& "&ͥ&&о ݥзг 5}ݥ&2&Фьɛ D&03&I& O&0 `J&_&ԥ`Ɠƒ` ,`&w&Lf& `ڰ%` fڰ` x&& +` 5} ,L& (۰`&& L* ݢo. fLݨ&& ٥ ` ٥ԅ` &&B VԩL٩P&&pKJ5}&'BDEL* ''܆ ,L;( '3'ԅ`U 1%4'J'R1%eɐ1%LN' K'a' )` 5}, ٠`b'y' ٠ԅԄL٘*/%z''0%``&դԦԑ''&eԅԊeՅeԅԥeթ''`L 'ԨL݆Ԅ'5}' , eԥe`@''''Ԅ ,ɛ )' (0` ^( ؐL* (!(ȹɛ"(8(꩛`5} ^( ,9(O(ɛ摥P(f(0L=(`2 g(}(2L*',~((ɛM'M' (ɛ5}(( (򩀅((` ٥ԍ`((LنԄLن((ɛԆ( )Lن ,5}󅐅 )!) ;( ؐ`ԅԥՅL8")7)2ԭ2Lن8)N)` , eO)e)ԥe` , )f)})5}ԄզՄ~))FԐ eਊe&ԆՕ))fؐ ԅԩՅ`؄֬))ע )Ե 8))`R1%5} )))L*`GHFH` [*) *0ɛȄ ؐL* * *ɛ )`!*8* )` ٦HI9*P* B5}L*՝HIQ*g* *L?Y* *h**򦅩H ID**EB Vú**l/% l+dd5}1**l+8/ i m+ 0n+**d+ *2%:+ ***++2%' ) !'+* +8+ , +!+L*q+ *5} f*ɛD%"+9+C` ذ l S+L2:+O+ S++ *L + S+ P+L +P+d+l p &8`e+q+ERROR- r++?Hit RETURN5}s> Trace:++BASIC exit++]V 8@8e0P ++4)0u++0)JJJJ0++u0 b5}إL+ , D`8`I`Դ ,#,` ,L*$,;, )ԩ-ȘH h<,R,00,)S5},j,`@?"6?Dk,,'8h4d=u#@(>3,,3 ffff@e?1 b?,,@W)WyQB'h ҅ԭ Ҳ,,) ٢,5} L( ,,,L, ݢ',, , / .1, - ݥ)ԩ 0`H-%- ޢ + hԅ`&-=-5} L*0t8??>-T-Ԣ ݢh, +b,U-j- fک ݢk-- , (ۢ fڢ\,-- (n 5}, ݙ-- +e)`--, L( -IԢ.-- fL- -I-->LZ.BL$-, - . + 5} ٥j `.#.IԢ, +ԕ$.9. +n, @ݢ:.Q. + +R.i. fn +`r&5}j..DE@@u"%@2P9?..R5wV@W3@qU?&yI$@..s P?s Pu?P..`H)..Ԣo. .5} ,o. (... .E ./. fڢ ݢ /'/. u&. c&. c&(/?/ l& &)>^5}@/W/ + ݢo.X/n/ @ݢ ݢ ݢc.o// @ݢ (ۢ +// + fڭ//I5} mi{//i. fhIԥ// , +`LDڥ)D//@D o./0 ``ԅL٥I`0(05}o. (``)0@0 & ٢`BԝK)I A0S0JQD0EL*S:U0l0)H)h y`m00 , , ٥T5}UՅV00`&B *Nԩ՛00 ݦLԽML ,00 , ٠%LM00ԝNBL* , 1` 00BH5}IL* , 1`01B JKL* ٥1&1UՅV , ٥ԅT`'1=1 H )hҘ`>1T1 ٥)xԩL 5}U1k1))L%L% ٥l11)pԩL ٥Ԅ11)|L%L% 12%11L + 1 1 1 `2~5}2LL!UX $L JL $!U $$'U $!U !$ $!U $!L $L2`-L $-U $$?L E$-U $ $ $ᢀ H$-U 5}$922L $LO2 <$`AL E$ <$CL E$ <$dL E$ <$ <$L E$ <$ <$L E$ <$Щ l$3U $5}$ߠL $2~3L3L $9U $$L;43U $L $L93L $9U $$L;43U $L $LQ3L2 <$L E$ <$5}%M E$ <$LM E$33 <$rM E$ <$M E$ <$ <$'U $ $Ԍ <$M E$ <$ <$Π< % <$5}ՠM E$ *$ 6$9U $$ i$3z4 ~$9U $ݠX $$9U $M $ݠX $L;4M E$ <$L2 l$N $LT4L>9U5} $L $Lw4 N E$L49U{44 $L $L4N E$L4)N E$:N E$ <$'U $ $Ԍ?U $ T$ Q$5}?U $ T$'U $ $ݠX $$EN `$4x5X N$M $9U $EU $$ 6 %?U $ T$ -$KU 9$KU $?U 5}$ $FM $L[5L 6KU $|W $$KU $WN $3y55U $$ $cN $]N $ݠX $$3U $'L $ $cN $4N $ݠX $5}ݠX $$3U $iN $ $cN $ݠX $EU $EU $$5v6KU H$ <$L5 %{N $|W $$?U $3U $$ ,I <$5}N E$z l$ݠX $$z l$N $ݠX $ B$N E$ <$w66N E$EU $ B$N E$ <$?U $ T$ Q$ L <$5}ɠN E$ <$N E$?U $ T$ Q$?U $ T$'U $ $ݠX $$N `$6v7X N$?U $ T$ Z$W $$?U $ T$ Q$5}W $ $ԩթN $Ll7O E$ <$ <$LT4W $ Ow77 $L7L2L6RO E$'5}U $W $$'U $ $Ԍ?U $W $$L $W $ $3U $$N $NO $ $7t8 H$W $3U $W 5}$$U l$ZO $L28`O E$W $HO $L7'U $ $ԄR'U $?U !$ $ :HO $W $u88W $$hO E$5} B$N E$ <$ L?U $ $ԌlO E$Щ l$O $L8L8Щ l$ߠL $L8AL E$ <$`Щ8r9 l$L $6}L9L 9L8: %?U $ T$ Q$?U $ T$'U $ $X $$O `$X N$?U $ T$ O $ W$?U $ T$ Os99 6}$ W$ %X l$X $$Y l$N $X $3U $$T l$W $$3U $W $$?U $W $$W $O $3U $L%:3U6}9q: $W $$W $?U $W $$?U $ T$ O $ W$W $ȠO $LV:?U $ T$ Q$AL E$ <$`3U $ $FM $|6}W $$?Ur:: $ T$|W $ W$3U $?U $3U $$L9˩ l$ڠO $L:hhAL E$ <$LBL2O E$:P E$ <$`6}|P E$ <$˩:p; l$?U $L!;P $|W $$?U $3U $$ ,I?U $ $Ԅ˩ <${N $|W $$?U $3U $$ ,I A6}2 2 <$P E$Uq;; l$W $$T l$W $$ϠP $|W $$'U $W $$ՠP $-U $$-U $ $P $3U $$6}P $W $$W $?U $W $$3;nL=L2EX $-U $ $'U $LA>Q E$9U 6 }$ B$ <$9U $?U $9U $$L=-U $;Q $L>9U $?U $9U $$k>> <$ B$AQ E$ <$L>-U $?U $-U6 } $$L= <$UQ E$ <$Щ l$3U $$ߠL $L>L;4L>AL E$ <$@>h? 2L2AL E$ <$ <$Q E$6 } <$Q $W $$'U $sX $$ <$Q E$ <$?U $ $Ԍ?U $ T$ Q$?U $ T$i??'U $ $X $$EN6} `$X N$W@ %ѠQ $!U $$?U $ T$ -$yX 9$FM $!U !$ $!U $'L $ '$FM?f@ $ $iN $-U $$6}!U $-U $X $$yX $-U $ $X !$ $-U $Q $L?!U $N $!U $$L?!U $N $!g@@U $$!U $6}ѠQ $L@LHB'U $X $$iN $X $$݅QXԩ $'U $-U $$!U $Q $-U $ $3U@cA $$F6}M $L@LuA-U $N $L>AX $X $ '$NO $ $X $?U $X $$X $X $X $ '$3U $ $XdA6}A $?U $X $$-U $Q $L@X $X $X $ $NO $LAX $?U $X $$X $X $N $L-B6}XA`B $X $?U $X $$X !$X $X $$셌QXXԩ $!U $N $!U $$ BLl@M $W $$6}L $WaBB $ '$?U $ $W $Q $LVBQ $W $$Q $9U $?U $X $$?U $W !$ $W $X $6}LB'U $ $ԄB_C 7 2EL2 R E$ᢔX H$R E$U l$X $$T l$X $$ Q$ 'U $ $6}X $$X `$X N$ )%`CCW $$3U ,%?U $X $$X $X !$ $W $ B$L $W $ '$?U $ $W 6}$?U $W $$W $N $ i$3UC^D $$N $W $|W $$ ,I}z l$3U $$,R $|W $$N $X $$ IX $36}U $$L $|W $$8R $X $$ IX $4_DDN $ i$3U $$X $|W $$~z l$X $$3U $DR $X $X $$|6}W $N $X $W $$X $X !$ $W $'UD^E $LD <$`W $ B$L $W $ '$?U $ $W 6}$?U $W $$LC?U $X $$ՠP $-U $$P $-U !$ $_EE-U $PR $LNEz-L $?U $ '$\R $ $ z6}W $N $ i$ $ԌzW $N $ i$N $W $ $Ԍz <$E[FbR E$U l$W $$T l$W $$W $6}W !$ $X $ B$L $X $ $W $$'U $X $$X $Q $X\FF $L~FX $?U $X $$LFX $6}Q $LFLG HW $O $LFLF lGX $?U $X $$LFW $ǠX $$?F[GU $-U $$L $X $-U 6}$ $ǠX $ǠX $$-U $O $LFǠX $?U $LiG-L $͠X $ '$'U $ $X $O\GG $X $$LFLFiN $6}W $ i$?U $X $$W $O $LGX $?U $X $$-L $͠X $ $3U $$X $3U $$GZH-L $͠X $ 6 }'$3U $ $`R E$ <$ <$ <$ A2?U $ $Ԍ <$ <$R E$ <$R E$Щ l$O $[HHLe6!}HLLH <$Щ l$ߠL $LHW'U $ $Ԍzh ?U $ $Ԍ QX $P $ $ԤՆHHH$HHHlH6"}WIW $$`X $O $ i$3U $$4N $͠X $$3U $O $X $O $W $$`R'U $ $Ԍz|W $ $Ԍ 6#}3UXII $ $Ԍ QX $P $ $ԤՆIHH$HHHl3U $$`QX $ $ԤՆJHH$HHX $$X $ $X $$6$}3U $ $IVJX $$|W $ $HHXHXHXHXHHlX $$`'U $ $R2'L $?U $$ LSQX 6%} $ <$!WJJS E$ <$DS E$ <$aS E$ <$ <$S E$ <$S E$ <$ŠS E$ <$S E6&}$ <$ T E$ <$.T E$JUK <$ <$GT E$ <$jT E$ <$T E$ <$ <$ <$?U $ $ԌT 6'}E$ <$ <$ T E$ <$ <$VKK۠T E$ <$?U $ T$ Q$?U $ T$'U $ $X $$N `$X N$?U $ T6(}$ Z$W $$?U $ T$ Q$W $cN $W $$KBLK %W $ $L2L:L>M E$L`K@@`L$BB`6)}B @B2ABE}CLLThis disk was formatted by@&a special menu program......Π@6Formatt6*}ed by Warp DOS.......ԠL$MFormatted by Atari DOS 2....ԠB2y@@A@@}If you don't k6+}now how many boot@3%MMsectors this has that are invis-@2ible to the directory, put in a@1blank disk with th6,}e same formatand hit RETURN.@MNARTHE MENU=10, GAMEBOX=6, NOORDA=0AHow many invisible boot sectorsA`6-}A@d}ɛ@ A0NN}Р}͛@ԠD:*.*AAT@A@H@Ap6.}BAB2DISK SAYS B5B6ANOV FREE SECTORS@SHOULD BE BԠϠΠ@6/}ξҠ՛@K:1A AUA@OO}012345678901234567 890123456789012345@8A@F@@!60} A ԾϠŬԾϠԠ@@OO@AA@@P:@@@@"A$A61}B$O9P001037073109145181217253289325361@w:PP39743362}469505541577613649685@Y}Volume Table of Contents:@'@@0@ PQMAPPING DISK AT63} SECTORS @$BYBBB1AUA( TO AAiApAxAyArAsQQNonzero bytes on sector A64}@A' BOOT SECTORSApPut in the original disk, hit START@5A VTOC REPAIR PROGRAM@QR 65} @7B B!B D: B%B !AhBaB0TRACING RR AT SECTOR @66}BWARB2@@ABXAB%PBAB4AFIXING VTOC AT SECTOR B0B1PB1B0 RR}New VTOC67}Ծ堛@%Ծ@A"@PA`Aa@4A)S~Shhhhh̩`hh 68}ԩ`h S` VTOCFIXER 2.0 @(  By Bruce Ramsey@#SS This pr69}ogram looks at and fixesthe Volume Table of Contents. Thisgroup of bytes on sector 360 tellsSFTan Atari single density 6:}disk drivethe sectors that are free, and thesectors that are in use.GTT If Option 1 below shows too fewor too many f6;}ree sectors, use No.3to build a new VTOC.Check directory sector countT URead and display VTOCRebuild VTOC 6<} 3-84B@AAB0@B7t$ry sector countT URead and display VTOCRebuild VTOC 4;--PBUFFERIHEXDIGRDHCALLNUMVFNFLDSPFLDCRDHCALMODSECTOCHANGEDUNIINNSENUDCOMNFCNTOTAFMOL:>}INBYTDAUXDAUXDSTATZCDIGVADIGI@ :?} :@} !"#$%&;@,067@:A}<@,.>:A,P67@<@,.>:A ,p67@<@,.>:Ae,67@<@,.>:@,6:B}7@<@,.>:@A,#67@<@,.>:A',C67@<@,.>:AA,c67@<@,.>:@:C},67@ <@ ,.>:A,67@<@,.>:A3,67@<@,.>:@,O#67@<@,.>::D}@,C67@<@,.>:@,O6-?:C:,, `;A(,;@ ,;@,;@,;@,;A(:E},;@ ,9A ,k@@@K: % (}"( __________________%( ( :F} (( Version 1.0(( By Rick Huebner( and Tom Goltz#( __________________  (#(:G}? 6.67A(,.36.0123456789ABCDEF?6.h S`H6-Af6-Ah$6-C:,06-@<6-@H6-:H}#?( (9(Type >:@4,?>:@4, for help<(?((U&(Drive to use (1-4, Default=1)3)@?:I}"AUK6-@U @`2/6-&@H/ @)!@@@<Q%@6-C:,+6-P:'AV,C%:J}@&$AVQ%@Z Ap Bd' A 6- Ap' Bi=6-@ A# B:K}=Set ascii display mode.n?6-@ A# B?Set decimal display mode.s;6-@ A# B:L};Set Hex display mode.x76- A /%!A A %7ERROR}2 6-% Ap B2Positive:M} offset.76- A /& @A %7ERROR2 6-& Ap B2Negative offset.X6-A`:N}6-A`% Ap/ BXPoint to DOS volume talbe of contents.(at : B< A # :O})!A'&&0 A %<VAL ERROR7 6-6-%@#!A(- A7 B@ A@!(:P}-@9"@@($- (: 6-@:7,,# AP-(= R B%@0(B:,*(:Q}66-@ AURGet replacement'6- A' B#@ A # A-%B:,!A):R}-6.7@<A)&,D67<%B:,&@,..6-%B:,&@:6-@D AU-! )!AUA :S}%-VAL ERROR-67<,.>:,6-#6-@- AU((( B(Write sectorE6-6-@:T}% A16-@; AE BG6-6-@% A/ A9 BGRead sectorM6-:U}6-%@#6-/6-@9 AC AM BM6-6-&@#6-/6-@9 A:V}C AM Bd%A:, 1(%% - Beginning of file86.L-@AP Z Ad Bb:W}%A:,!+&@,/(%% - End of file66.J-@AN X Ab B36-%A:,6-8%@,:X}) Ap3 B]&A:, 1(%% - Beginning of fileE-@AI S A] BQ&A:,!:Y}%(%% - End of file9-@A= G AQ B36-&A:,6-8%@,) Ap3 BA6:Z}-6-% Ap/ BAX-it file mode.>&@ 4(%% - Beginning of file> B6:[}6-&@"6-8%@,, Ap6 B :%@!&@0(%% - End of file: B66-%@:\}"6-8%@,, Ap6 B^ (} r( }Options are:|,,($ sector (number from 1-720 decimal) ( :]}H to use Hex mode$$( . to use Decimal mode$$( A to use Atascii mode++(# N to get Next se:^}ctor of file))(! +[num] Go [num] sectors forward**(" -[num] Go [num] sectors backward( O Open file):_})(! X eXit file mode (after O),,($ R to Restore sector (after C)((( W to write buffer to disk+:`}+(# Dn Use D1-D4 as current driveQ)(! C[num] to Change bytes (at num;Q(" default=0; press to exit :a}( N Get next sector$$( P Get previous sector""( ? Type this message( Q to Quit*:b}*(" V Load first sector of VTOC3&(Hexadecimal numbers must begin3(with a $#(#(Type to continue:c}0)@"AU& A0 B Ae%6-@ A%6-:d}AAAPA.6-P:'AV,$6-&$AV. AP\F( }Sector $7%@<%@:e},7@, () on DJ\(  ( (b-@@/6-+&@,$@9 A@E:f}"@X(7@,: b A0  (: t-@@76-@:7+&@,$@%,,A A@M"@:g}_(7@, c f(j t A@ (  ( ( ( ($&.6-P:'AV,$6-&$AV. A@ :h}0\F(}Sector  ($7%@<%@,7@,) on DJ\( 5 ( (: A D.6-P::i}'AV,$6-&$AV. A@ N\F(}Sector  ($7%@<%@,7@,) on DJ\( :j}S ( (XO@#-@@;6-+&@,$@E A@O(: b=-@@&6.7%<:k}%,54>:AU,=6.l+( (( (((+$2(}D:Offset=$6-. A@2(=:l}@6- A@3((sector )= Ac6-P:'AV,$6-&$AV. APc( (sector $7%@:m}<%@,7@,)( "("A A AQ%@"6-P:'AV,56:n}-P:&$AV,C%@Q%@, 6-?:,6-F:%@,)"@,$M+(Error: status was  a:o}fter 7"@@(readC'M Bk(( write/verify;B(#hit to finish command anywayk($ or anything :p}else to forget command1( was issued")@."AU1$"( '" B(D::q}Open file.)@$$"A&*B:,"AI"A&*B:,!@86.7@:,E(>:, A>(6. )-@:t}B:,>7<,4.A0% 67@:,)7$@:x}%@<$@%@,4>:A(,m cc6-AV$@:7$@%@<$@%@,,%@:7$@%@<$:y}@%@,, 6.6-@!6-068@,-6-AV$@:7$@%@<$@%@,,%@:7:z}$@%@<$@%@,,m-@ A-6-@:7A&,,`6-+&P:'@,$@,$AV%@:7A:{}',,i68,-m &6-8@, Ap& BB A %&7@<@,0$/6-A:,2$BHex converter:|}v6.7@,6-@*6-;-@B:,\6-@:7B:,%@&,,&@Hh!@ v6-&@!! :}})!@A %3 6-%$6-$@ 3!A A % B$O(%%- Value Error# B:~}7-@A; E AO B END #6-6@ A0 #6-A:, !A 6-6@  :}B$"@A@  6.=:,B:,"@$- 6-B:,6. *67@&,.=:,-$q6-P:'@:},6.$667@,.7%@,n67@,.7&$@%@<&$@%@,q$"AU6-AX:} 6.>:,$#"@)"@# A@"AU6-AX 6.>:,$ 6.>:,$X-%B:,!A):}-6.7@<A)&,bG67<%B:,&@,..6-%B:,&@:6-@='G A0'1 (:6.6-:}*6-16.'6-)@'"AUB''!@* A#'6-&@2'!A':}6-&A(' 6.>:,'"A&B'!?B'H#!@G* @X)"@6767B:,%@,.:}C6-?H('!B'' 4A( Ascii mode'6-@$') 4.( Decimal mode)6-@.'%:} 4H(Hex mode%6-@8'24+*"(&6-?26-@='24+*"@(&6-?26:}-@B'"6-@V'* 4C( Change bytes *6-@`'24O*"&( ~Open file 26-@:}j'" 4Q(Quit "6-@ t'! 4?(Help!6-@~') 4W( Write sector)6-@'( 4R(:} Read sector(6-@'24N*"&( Next sector26-@'64P*"*(Previous sector66-@:}'84X*"@!6-@8(~Exit file mode: '64P*"@*(Previous sector66-@'24N:}*"@&( Next sector26-@' B($$B:,"*"B(N)B:,"@)B:,"*:}1(:=6-D6.N B(?B:,!@.6.7@:,i(>:,s B)' :}@*!A'6-&@2)[!@d* @q27@<@,4$I67B:,%@,.>:,Q(>:,[ B):}4"A&*B:,"@#6.*(~4 B")I"A&*B:,!@86.7@( Ѡՠɠ J6-@T B) B).."A&*B:,":}*"B)K&"A&*B:,"*"@5( ~~~~~~~~~A6-K B)4"A&*B:,"@:}#6.*(~4 B)I"A&*B:,!@86.7@:,F(>:,P B)tU"@*!@G* @X*")"@*!@G* @X:}*"l67B:,%@,.>:,t(>:,)'!@* A'6-&@2)V-"@*!@d* @q*":}D67B:,%@,.>:,L(>:,V B)"AU($) B*:6-(:A A0A0:}A@*0"? A0Absolute sector ref.+!?AAAAPA@:}AEAAPApAAAA AUAeC=4 empty + ( B D:DE:}DITORAAPApAAAA AUAeC=4 empty + ( B D:DE8JK#HEXCHARHEXBYTEHEXNUMSECTRWTEMPDFORMBYTSECNUTEMPMEMCHARMEMHEXqDD>}@@B&D @ @i @ zz Ezz $$DISKPEEK: DAVID YOUNG 11/10/8170@>}@70@@@;@,;@,(;A,;@h,2;@,;@,<>}*(>:A%,*(WAIT A FEW SECONDS...F A0 A pP A`#@Z0123456789ABCDEFd&"&@>}@Kn 6.H}6(>:A%,3( DISKPEEK BY DAVID YOUNG6(**("THIS IS A DISK UTILITY FOR VIEWI>}NG((( INDIVIDUAL SECTORS OF A DISK. IT))(!READS THE SECTOR SPECIFIED BY THE,,($USER AND THEN DISPLAYS IT'S CONTEN>}TS++(#AS A MATRIX OF HEX BYTES OR ATASCII( CHARACTERS.(--(%THE SECTOR NUMBER CAN BE SPECIFIED IN--(%DECIM>}AL ('361') OR HEX ('$169'). TYPE))(!RETURN TO TOGGLE FROM ONE DISPLAY(FORMAT TO THE OTHER.1-@@ #(>}>:AV,1(SECTOR #B:,A 4C6.H Ap 6.C Ap A07 >}A# )!A - AP7 A0" 6-,# A"@# Ap6 A0@J!!*** PRIN>}T ERROR MESSAGE ***T^O-@@L(>:AV,>:AV,>:AV,NOT LEGAL NUMBER!O$hr**** PRIN>}T HEX BYTE ****| A0 $*** HEX CONVERSION ***" 6-"6-P:'@,%@67>}@<@,.7<,''6-+&+&@,$@,%@67@<@,.7<, 6- $*** NUMBE>}R CONVERSION ***0 A0&7@<@,0$0 A 6.7@,B:,"@*67@,.7@>},R67@<@,.7@<@,z67@<@,.7@<@,67@<@,.0lB:,"@>}*67@,.7@,R67@<@,.7@<@,l67@<@,.00&EB:,"@*67@,.>}7@,E67@<@,.0000Y#@:7@<@,,!@dY67@<@,.>:@:7@<@,,&@>},:Y#@:7@<@,,!@dY67@<@,.>:@:7@<@,,&@,DY#@:7@<@,,!@d>}Y67@<@,.>:@:7@<@,,&@,NY#@:7@<@,,!@dY67@<@,.>:@:7@<>}@,,&@,X6-+@:7@<@,,&@H,%@$+@:7@<@,,&@H,%AV$+@:7@<@>},,&@H,%A@$+@:7@<@,,&@H,b B$l A06-A:, Av$ AP6-6@>}$ A*** DISK READ/WRITE ***: #A!-@@h%"367<,.>:,7 :$##104,104,1>}04,201,83,169,82,1442,169,87,72,169,0,72,1691,72,169,0,72,169,128,72169,6,72,72,104,104,141,53,104,14>}1,4,3,104,104,1411,3,104,104,141,2,3,104141,11,3,104,141,10,3,32 83,228,173,3,3,133,212,1690,133,213,9>}6 *** DISPLAY SECTOR *** !6-P:'AV,!(>:A%,*( SECTOR # = 4 (($ Ap>6->}&AV$P:'AV,H Ap()R 4H Ap\"6-?:C:,<A6%A(,"$f"6-?:C:,<A6%A(>},"$pz*** READ SECTOR ***6-?:C:,<@<,"@A P-@@ (CAN'T >}READ SECTOR !$ *** DISPLAY MEM IN HEX ***;A",: #A!-@A"%"36>}7<,.>:,7 :$%%104,104,133,229,104,133,228,1690,72,104,72,16,7,169,155""32,164,246,104,96,169,155,32 1>}64,246,104,72,74,74,74,74201,10,48,2,105,6,105,48$!!32,164,246,104,72,41,15,201.10,48,2,105,6,105,48,328##16>}4,246,169,32,32,164,246,169B""32,32,164,246,104,72,168,177L228,74,74,74,74,201,10,48V2,105,6,105,48,32,164,246`>}""104,72,168,177,228,41,15,201j10,48,2,105,6,105,48,32t##164,246,169,32,32,164,246,104~24,105,1,72,41,7,208,20>}4 240,144$$* DISPLAY MEM IN CHAR FORMAT *;A",: #A !-@A"%"367<,.>}>:,7 :$%%104,104,133,229,104,133,228,1690,72,104,72,16,7,169,155""32,164,246,104,96,169,155,32 164,246>},104,72,74,74,74,74201,10,48,2,105,6,105,48!!32,164,246,104,72,41,15,20110,48,2,105,6,105,48,32 ##164,246,>}169,32,32,164,246,169!!32,32,164,246,169,1,141,254""2,104,72,168,177,228,201,155( 208,11,169,0,141,254,2,1692"">}219,133,93,169,31,32,164,246<!!169,32,32,164,246,169,32,32F!!164,246,169,0,141,254,2,104P24,105,1,72,41,7,208,204>}Z 240,144 D:DISKPEEK!!169,32,32,164,246,169,32,32F!!164,246,169,0,141,254,2,104P24,105,1,72,41,7,208,204<