@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 } 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- 144ɛ+,' 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 D8u) !"`3!3:,$ -@ j}@ $+4E:,$ ,)4E:*F:@,!@0*"@2,( A@Pl@@%6-7-@ k}@#Z(ĠƠԠӠlAdAU"F:Ad,AU" @% AB`D:ME l}NU@#Z(ĠƠԠӠlAdAU"F:Ad,AU" @% AB`D:ME @% !AdAU% A@=AdAU+"@*"=% D:HELP.SYS  "@*" n}. 1"@*"+A.1LL67B:,%@,.7+%$@ ,$@&@<+%$@ ,$@ o},"##7B:,&@,4DOCA@, A%6A +@ A )-@@A(@LOADING T% p}/-@A %+@/ A 3-@@3(@SORRY, CAN'T RUNy-@@3 q}-@ @`@O2@@S W y2=%-@&P:B:,'@, r}@2(@=(@ II(@8 re-boot without BASIC and use DOS option L.C#7@<@ s},4HELP.SYSC67@<@,. D8-@AP $6.D:. A8 A +@ A t}%%6-F:A`,%AV$F:Aa,+%@@q+%@@M-@1(@page 6 l u}ibraryM(@ DISK #$B7tA'@@d9AATKA A]A v}AAoA@xA$ A &&@@D:*.* X@'6.7@ w}<@,C7@<@,4FREEN@X A @+7@<@,47@<@,6@@ A& x} A%  &( M-B:,@6@*7<,0 @67%@,..OBJC'M A&-  / 67@<@ y},.D:2 D 67B:,%@,.>:AU,2AU4DAU5A< P 6-C:,6-P:'AV,)AS?AR z}&AV$P6-?:C:hL,, AL +3(READING DOCUMENTATION 7@,L67B:,%@,..DOC1- {}@@#1((S)creen or (P)rinter?+F:Ad,"@b!6.E:+ A@0+F:Ad,"@!6.P:+ A@ |}0 A@%S@@6@@S@@ ABP@ }}@!)@!(@>:,$ -@@ $+4E:,$ $$IF PEEK(85)>30 AND A=32 THEN ? A@P ~}l@@%6-7-@@#Z(ĠƠԠӠlAdAU"F:Ad, }AU" @% AB`D:MENU@#Z(ĠƠԠӠlAdAU"F:Ad, , XXXXXX XXXXXX XXXX XX XXX XXXXXXXX XXXXXX XXX XX XX $}XXX XX XXX XX XXX X XXXXX XX XXX XX XXX XX XXX XX XXX XX$} X XXX XX XXX XXXXXXXX XXXXXX XX XXX XX XXX XXXXXX XXXXXX XXXX XX XXX $} XX XX XXXX XXXX XXXXXX XXXXXX XXXXX XXXX XXXX XX XX XXX XX XXXXXX XXXXXX XX XX XX XXX$} XX XX XX XXX X XX XX XXXXX XX X XX XXXXXXXX XXX XX XXXX XXXX XX XX XXXXXXXX X $} XXX XX XX XX XX XX XX XX XX XX XXX XX XXXXXX XX XX XX XX XX XX XXXX XX X$}XXXXX XX XX (C) 1985 WARREN SMALL $} 35 Benjamin Street Manchester, NH 03103 DISK$} MASTER TABLE OF CONTENTS General ...................... 1 Directory$} Mode ................ 2 Sector Mode ................... 6 VTOC Mode ..................... 9 $} Assembly Language Mode ....... 11 Utilities .................... 13 Appendix A ........$}........... 15 Appendix B ................... 16 Atari and AtariWriter are copyrighted by Atari Inc. $}Action! is copyrighted by Action Computer services. Portions of the software are copyrighted by Action Computer Services.$} [i] $} DISK MASTER GENERAL This is perhaps the most comprehensive disk $}file editor available for the Atari Home Computer. It was developed with Action! although the cartridge is not needed to $}use this software. Running at machine language speed, it is designed to be comfortable for most any user, supports two $}disk drives and a printer and will run on any Atari 8-bit computer with at least 48K of RAM. While this documentation a$}nd Appendices provide some insight into the structure of the Atari disk, I recommend the following publications for furth$}er information: INSIDE ATARI DOS MAPPING THE ATARI Both of these are published by Compute Books and ar$}e available at most book stores. The main screen displays the major sections of the editor, DIRECTORY, SECTOR, VTOC, $}ASSEMBLY LANGUAGE, and UTILITIES. As with all commands in DISK MASTER, only simple single keystrokes are required to ente$}r each mode. The Directory Mode provides not only a display of the directory, but also the starting sector of each file$}, its length and status, and the amount of free space on the disk. From here you can rename your files, lock and unlock $} them, delete files, recover deleted files, and close open files. Files can also be traced. The Sector Mode displays th$}e contents of your disk a sector at a time. You are free to move around the disk at will or follow a file from beginning $}to end. You may modify the contents of a sector and then write it to your disk in the same place, a different place or di$}fferent disk drive! A Find function allows you to search for ASCII or hex strings anywhere on your disk or within a trace$}d file. The VTOC mode displays a bit map of your disk sector allocation and allows you to edit the map. The display als$}o indicates the location and extent of the last file traced. In the Assembly Language Mode, traced files can be disas$}sembled to the display or to your printer. You may move back and forth in the file in the display mode and can enter the $}sector mode directly to modify your file if needed. The Utilities section allows formatting of your disks in enhanced$} mode if your have a 1050 drive and in single density mode if your drive is an 810 or other single density Atari-compatib$}le drive. Also, you can zero a block [1] GENERAL (continued)$} of sectors on an existing disk provided the VTOC bit map indicates the block has no active data. You can check your $}Drive Speed and check all the files on your disk for integrity and location, and be sure you VTOC is correct with Check D$}isk. New Disk will reset several variables to power-up condition when changing disks. Here are a few things to remember$} when using this package: -- Keying X or ESC will dump you out of any input mode, section, menu or error message except Mo$}dify Hex and ASCII in the Sector Mode. -- BREAK will abort functions but I don't recommend trying it in the middle of a $}write. -- If any systems errors are encountered, a tone will sound and the error number will be displayed for a few second$}s at the bottom of the screen. -- Number entries can be made in either hex or decimal form except for the FIND Hex strin$}g function (See Sector Mode). Precede Hex numbers with a $. -- If you need to convert from hex to decimal or vice-versa,$} key # at any "COMMAND?" prompt, the the number you wish to convert. Precede hex with a $. --Help menus are provided in th$}e Sector, VTOC and Assembly Language Modes. Key H or the Help key (XL/XE computers) to see the Help menu. DISK MASTER$} makes it easy for you to examine your disks directly, check for and correct errors, and make modifications to your files$}. It can also help you keep a disk crash from becoming a total loss. What ever your needs, you will find DISK MASTER a po$}werful, easy-to-use, and valuable tool. $} [2] DISK MASTER DIRECTORY MODE The directory on an Atari $}DOS 2.0s/2.5 disk is located from sector 361 to sector 368. In this mode, the directory will be displayed one sector at a$} time. Each sector has 8 entries. See Appendix A for more detail. The following represents what you could see: $} D I S K M A S T E R -- (C) 1985 DIRECTORY - DRIVE # 1 FREE SECTORS - 403$} SECTOR # 361 FILE FILENAME LOC LEN STATUS ---- -----------$}- --- --- ------ 0 DOS .SYS 4 39 L 1 DUP .SYS 43 42 L$} 2 AUTORUN .SYS 85 25 A 3 GRAPHICS.BAS 110 33 A 4 COLO$}R .ACT 124 120 A 5 SIMON .BAS 115 31 D 6 MENU . 230 7 $} D 7 PICTURE .DAT 200 0 O STATUS CODES A-active L-locke$}d D-deleted O-open TRACE CLOSE FILE RENAME DELETE PRINT SCREEN LOCK $} RECOVER SAVE CHANGES UNLOCK + - DRIVE 1, 2 EXIT COMMAND?$} Each file's information is displayed staring with the file number and name, its starting sector (LOC), length (LEN)$}, and its current status. A file entry the has never been used will be displayed as a row of hearts with the status N. $} At the bottom of the screen is a menu of the available commands: + Display the next sector in the directory$}. If you are in sector 368, the last directory sector, the next sector will be 361. - Display the pre$}vious directory sector. This command will loop back to sector 368 from 361. 1, 2 Switch to the other drive's d$}irectory. This program supports two drives. [3] DIRECTORY MODE $}(continued) X Exit to the Main Screen. Trace file. Enter the number of the file you wish to trace a$}t the prompt. Tracing a file performs several functions. It determines whether the actual length of the file agre$}es with the directory, checks the integrity of the file (i.e. Do all the sectors traced have the right file $} number. See Appendix B.), determines what type of file is being traced (See Appendix B.), and stores the trace i$}nformation for use in the Sector, VTOC, and Assembly Language Modes. An error message is displayed if any discrep$}ancy is encountered. After the trace is complete, you have the option to "PRINT TRACE?". Keying Y will send the t$}race data to your printer. Any other response returns you to the Command mode. An Asterisk (*) will be disp$}layed next to the file number that has been traced. Delete file. This is the familiar function from DOS. $}Enter the file number, the file name will be displayed and you will be asked "ARE YOU SURE?". Pressing Y will del$}ete the file, any other keystroke will abort the operation. Should you delete the wrong file, our next command is$} for you. Recover file. Deleting a file does not remove the data from the disk, but only sets a flag in t$}he directory and updates the VTOC to make the sectors occupied by the deleted file available for the next w$}rite operation. If the disk has not been written to since a file was deleted, it is likely that it can be recover$}ed. This function will trace the file and then, if there was no trace error, update the VTOC and directory entrie$}s. Close file. Data contained in an open file should be intact although not available through normal mean$}s. This command will check the file's integrity and, if intact, update the directory and close the file. In the a$}bove display, notice that file 7 is open and its length is zero. Print Screen. A copy of the present directory $} sector display is sent to the printer. ReName. Just enter your new name for the file number you select. R$}emember the naming conventions, the first character must be an uppercase letter, the rest can be an uppercase $} letter or a number. The filename can be no longer [4] DIRECTOR$}Y MODE (continued) than 8 characters, the extension, no longer than 3. Don't try to fool DISK MASTER. It knows $}these rules. Lock file. Just like the DOS function. This will prevent a file from being deleted or modifi$}ed. Unlock file. The key to a locked file. Save Changes. Rename, Lock, and Unlock perform their work on$} buffer data in the computer, not on the disk. This means you can change you mind at any time or perform these fu$}nctions on as many of the 8 files in the sector as you want before committing them to disk. After Renaming, L$}ocking or Unlocking, and before Saving, if you try to execute a command that will move you out of the current sector, you$} will be reminded with the prompt, "CHANGES NOT SAVED! OK?". Keying Y will allow the command to be accepted and any chang$}es will be lost. Any other response will cancel the command to give you a chance to save those changes. Please note, $}it is not necessary to execute the New Disk function (See Utilities) before tracing another file. The new trace will repl$}ace the old. Also, Recover and Close trace the file (clearing any previous trace) so there is no need to repeat the proce$}ss for that file. Delete, on the other hand, does NOT affect the trace. $} [5] DISK MASTER SECTO$}R MODE This is the heart of DISK MASTER. Here you can see what each sector contains for data in both hexadecimal and AS$}CII displays, move quickly around the disk, and modify the contents in both Hex and ASCII modes. Upon entering, the VTO$}C sector (360) will be displayed. Here is what you could see: D I S K M A S T E R -- (C) 1985 $} +0 +1 +2 +3 +4 +5 +6 +7 01234567 00 02 C3 02 68 00 00 00 00 .C.h.... 08 00 00 00 00 00 00 00 00 $}........ 10 00 00 00 00 00 00 00 00 ........ 18 00 00 00 00 00 00 00 00 ........ 20 00 00 0$}0 00 00 00 00 00 ........ 28 00 00 00 00 00 00 00 00 ........ 30 00 00 00 00 00 00 00 00 ........ $} 38 00 00 00 00 00 00 00 00 ........ 40 00 00 00 00 00 00 00 00 ........ 48 00 00 00 00 00 00$} 00 00 ........ 50 00 00 00 00 00 00 00 FF ........ 58 FF FF FF FF FF FF FF FF ........ 6$}0 00 00 00 00 00 00 00 00 ........ 68 00 00 00 00 00 00 00 00 ........ 70 00 00 00 00 00 00 00 00 .$}....... 78 00 00 00 00 00 00 00 00 ........ ORIG DEST LINK FILE SECTOR 360 $} 360 TRACE GRAPHICS.BAS DRIVE 1 1 WRITE VERIFY YES VTOC COMMAND$}? At the bottom, information is displayed about the sector and how the system is configured. Here the ORIGin (where t$}he data was retrieved from) and the DESTination sectors and drives (where the data will be written to if you decide to wr$}ite) are equal and set to 360 and 1 respectively. LINK and FILE are blank since the VTOC is not a file. If it were disp$}laying a file sector, LINK would indicate the next sector in the file. A zero means End of File. The FILE field indicates$} the file number that this sector belonged to when written. Appendix B has more information on sector structure. If a$} file has been traced, its name will appear next to TRACE; here, GRAPHICS.BAS. Finally, WRITE VERIFY shows whether or n$}ot a Write sector will be verified. While errors are very infrequent, writing [6] $} SECTOR MODE (continued) with verify while using DISK MASTER is recommended since no significant time s$}avings will be realized while writing one sector. To move to a new sector, enter the number you want (decimal or hex)$} and hit RETURN. Keying X or ESC before RETURN will cancel the command. The single key commands for this mode can be list$}ed on the screen by keying H (or the Help key on XL/XE machines). Descriptions of these commands follow: START will$} display the first sector in the traced file. If no file has been traced, this command, END, and BACK will be ign$}ored. END will display the last sector of the traced file. NEXT will display the sector indicated by th$}e LINK in the current sector. BACK will display the previous sector in the traced file. + will mo$}ve ahead one sector. - will move back one sector. DIR will move to the first sector of the directory (3$}61). VTOC will move to the VTOC sector (360) or, if you are already at sector 360, to the enhanced density $} VTOC sector (1024) if you have an enhanced density disk. PRINT will send the current sector display to your $} printer. Modify is used to alter the buffer contents. Four options are given, ASCII HEX LINK FILE #. $} -- In ASCII the cursor is positioned in the ASCII display. The ESCape key, arrow keys, BACK S, and RETURN a$}re the only characters that cannot be entered directly. These keys are reserved move the cursor around in the ASC$}II display and exit when finished (RETURN). If you want to enter any of these characters into the buffer, press E%}SCape first, then the character you wish to enter. RETURN will appear as an inverse video ESC character. %} -- With the Hex option, the cursor is positioned [7] SECT%}OR MODE (continued) in the hex portion of the display. The arrow keys move you around 1 byte at a time (left, r%}ight) or arrow at a time (up, down). The space bar and BACK _S will move the cursor a nibble (one digit of %}a hex byte) forward or back. Hit RETURN when your modifications are complete. -- Use the FILE # and LINK option%}s to save your- self some bit figuring when modifying bytes $7D and $7E. (See Appendix B) ZERO will fill %}the current sector buffer with zeros. WRITE sector will save the current buffer contents to the DESTinati%}on sector and drive indicated in the display. A prompt will indicate the operation to be performed and make sure %}you're sure. FIND will search the disk, starting with the present sector, for a maximum 10 byte ASCII string % } or a 5 byte Hex string. If the file you are in is the traced file, you will be asked if you wish to confine t% }he search to that file. Key Y to do so. Any other response will search the disk beginning with the current sector% }. During the search, if you wish to know how far it has progressed, key W (Where) and the sector will be displaye% }d under ORIG. To abort the search key X or ESC. If the string is located, the sector will be displayed and % }the byte number indicated above the "COMMAND?" prompt. GO NEXT will continue the same search after a succ%}essful Find if you are still in the sector where the find occurred. CONFIGURE is used to alter the ORIGin and %} DESTination drives, the Write Verify flag, and the DESTination sector. Keying O and D will toggle these valu%}es between 1 and 2. Keying V will toggle the Verify flag between YES and NO. Key S and enter your new DESTination%} Sector. This value will be made equal to the ORIGin Sector as soon as a new sector is displayed. Key X or ESC to%} return to the Command mode. After making any modifications and before saving them, any attempt to move out of th%}e current sector will produce the reminder, "CHANGES NOT SAVED! OK?". Keying Y will allow the command to be accepted and %}the changes are lost. Any other response will cancel the command and give you a chance to save the changes. %} [8] DISK MASTER VOLUME TABLE OF CONTENTS %} (VTOC) This one sector is probably the most important on the whole disk. It contains the sector bit map wh%}ich tells DOS where it can write safely without destroying active data. It is contained in sector 360 of every DOS 2.0s/2%}.5 disk and in sector 1024 of an enhanced density disk. The bit map is contained in byte 10 through byte 99 of sector 360%} and bytes 0 through 121 of sector 1024. Bit 7 in byte 10 is sector 0, which does not actually exist, bit 6 is sector 1, %} etc., and bit 0 of byte 99 is sector 719. Sector 1024 contains duplicate information on sectors 48 through 719 and the %}bit map for sectors 720 through 1023. If the bit is set to 1, the sector is unused, but if it is set to 0, then the secto%}r contains active data. Note that there is a sector 720 on every disk but it is not accessible to the normal DOS routines%}. It can, however, be read and written to by DISK MASTER. Bytes 1 and 2 of sector 360 contain a value which indicates %} the number of sectors formatted. This number never changes under normal conditions. For a single density disk, it will b%}e equal to $023C (707) and for an enhanced density disk the value will be $03F2 (1010). DISK MASTER checks these bytes wh% }en entering this mode to determine the disk's density. The prompt "VTOC FLAG BYTES ERROR!" will appear if the bytes don't%!} equal one of these values. This prompt will also appear if the number of set bits in the bit map is not equal to the val%"}ue in the next two bytes. Bytes 3 and 4 of the VTOC (360) will contain the number of available sectors and is the numbe%#}r displayed as free when a directory is listed from DOS. Bytes 122 and 123 of sector 1024 contain the number of free sect%$}ors from 720 to 1023. This mode (as well as the directory mode) counts the bits set to 1 and checks it against these byte%%}s. The above message will indicate any discrepancy. The number of set bits is displayed in the upper right. The displ%&}ay will also show which sectors are occupied by the last file traced. If any sector of the file uses an available sector,%'} it will be indicated by an inverse video *. All others will be shown by a normal *. The origin drive is indicated in t%(}he upper left hand corner. Down the left hand side of the screen is the decimal sector number of the first symbol in each%)} row. Along the top, there are marks at +0, +4, +8, etc. There are 36 symbols in each row. (Remember, Sector 0, although %*} shown in the bit map, does not exist. Also, sector 720 does exist but does not show on this map for a single density di%+}sk.) [9] VTOC (continued) Commands available: Cursor ar%,}rows, up and down. Only 720 bits can be displayed at one time. For enhanced density disks, you can bring the othe%-}r bits into view by keying the up arrow. This will scroll the map, one row at a time. Cursor down reverses the pr%.}ocess. On a single density disk, you will scroll into blank space. BOTTOM, for you impatient ones. The di%/}splay will instantly shift up 9 lines to display the rest of the bit map. TOP will perform the opposite f%0}unction. EDIT. If your bit map has become scrambled, this feature will come to your rescue. After keying E, %1} you are prompted for "BEGIN AT - ". Enter your starting sector and then your ending sector for "END AT - ". Th%2}e state of the bits will be toggled (i.e. a 1 becomes 0, and a 0, 1.) and the results will be displayed. NOTE: Ed%3}iting is not allowed from the Check Disk Utility. PRINT. The bit map can be printed for your reference wh%4}ile editing. The entire map, all 1024 sectors, is sent to the printer. SAVE. Write your new bit map to the disk%5}. Don't forget to change the sector count bytes to agree with your new map. HELP (Help key on XL/XE's) wi%6}ll show you the available commands. USE THE EDIT FEATURE WITH THE UTMOST CAUTION!! You can easily cause a disk to%7} be junked by improper use of the editor. Naturally, DISK MASTER will be able to rescue you from complete disaster but, o%8}nce a file has bee overwritten it's tough to regain. It is suggested that you use the Check Disk Utility before and after%9} altering your bit map to be sure you will get the proper results. %:} [10] DISK MASTER ASSEMBLY LANGUAGE MODE This function cannot be %;}entered without first tracing a file through the Directory Mode. Any file can be disassembled but obviously only a machin%<}e language file will make any sense. This mode gives you the option to disassemble to the display or to your printer. %=} Disassembling the file to the display is the interactive section of this mode. 19 instructions are displayed at a time w%>}ith each line showing the address of the instruction, the hex byte(s), the disassembled instruction (mnuemonics), and the%?} ASCII character representation of each byte. A byte that cannot be disassembled as an instruction will be indicated by ?%@}??. An asterisk will be displayed between the hex byte(s) and the instruction when the end of a sector is reached. Press %A}RETURN or + to see the next 19 instructions. At the bottom of the screen, the display shows the filename, file number, %B}sector number that started the display, sector byte number of the first byte displayed, and your relative position in the%C} file. Other commands available: TOP of sector. Re-display starting at the first byte in the current sector. %D}The display will start at the top of the next sector indicated at the bottom if the sector boundary was crossed a%E}t some point in the display. BACK one sector. The display will start at the top of the previous sector. %F} NEXT sector. The display will start at the top of the next sector. GO to sector. At the prompt, enter th%G}e RELATIVE sector you wish to go to. This can be ahead or behind the present sector. Use the numbers at the %H} lower right as a guide. SECTOR. Enter the Sector Mode if you wish to alter the file. The current sector will b%I}e displayed. All Sector Mode commands are valid. Upon exiting, you will be returned to the top of the sector you %J} last disassembled. PRINT screen for printing portions of the file. HELP (Help key on XL/XE's) will disp%K}lay the valid commands. EXIT to the Main Screen. [11] ASSEM%L}BLY LANGUAGE MODE (continued) If you wish a hard copy of the entire file, key P from the menu will send the disassembly%M} to your printer in a labeled and paged format, 56 instructions to a page. Keying X or ESC during the printing will abort%N} the process and return you to the Main Screen. The printout is in the same format as the display except that the ASCII c%O}haracters are limited to regular video, non-control characters. If the file being disassembled is not a binary load fil%P}e or DOS, the disassembly will first ask for a load address to use. Any number will do, of course, but it is recommended %Q} that you use something that starts on a page boundary ($700, $800, etc.), even 0. Should you later determine the correc%R}t address, it will be easier to manually add the difference to your printed output, or you could run the disassembly rout%S}ine again entering the correct address. However, if the printout runs 50 pages, you may just want to make some manual not%T}es to save paper. Note: Disassembly uses about 1 page for each sector in the file on average. %U} [12] %V} DISK MASTER UTILITIES Five functions are provided here to supplement the editor. %W} Key X or ESC to return to the Main Screen. Format Sectors - Here, of course, you are able to format disks and prepare %X}them for initial use. Also, you can format (zero) a series of sectors on a disk. After selecting Entire Disk, enter the%Y} drive number (1 or 2) that contains the disk you wish to format. Answering Y to "READY TO FORMAT DRIVE #?" and to "DISK %Z}IN DRIVE # WILL BE ERASED! OK?" will start the format process. It takes about a minute. Any other response will abort the%[} format function and return you to the utilities menu. If you are using a 1050 drive, the disk will be formatted in enhan%\}ced density. With the 810 or other Atari-compatible single density drive, the disk will be formatted in single density.%]} Selecting specific sectors, you will be asked for a beginning and ending sector number and which drive to use. Answe%^}r Y to "READY TO FORMAT SECTORS ON DRIVE #?" to begin the process. The VTOC will first be checked to make sure the sector%_}s you have chosen are not in use. If any are active, the message "BLOCK CONTAINS ACTIVE DATA!" will appear and the operat%`}ion will be aborted. If you wish to zero sectors in an active file, use the Zero function in the Sector Mode or alter the%a} bit map temporarily to allow those sectors to be zeroed. Restore the bit map after you are finished. (HINT: Make a copy %b}of your VTOC to an unused sector on the disk in the Sector Mode. Then, to restore it, just copy that sector back to its p%c}roper place. DRIVE SPEED - Check your RPM's here. Optimum speed is 288. CHECK DISK will trace all the active files on%d} the disk and display the traces on the VTOC display. As the files are traced, a check is made against the VTOC to determ%e}ine the sector's status and the appropriate symbol will be displayed. The traces are displayed using a different charac%f}ter for each file, first 0-9, then A-Z, then a-z, and finally # and $ for the last 2. An active file that occupies an ava%g}ilable sector will be shown as an inverse video character. A o will be shown for a sector that is indicated as used on th%q}bŠb٠bˠbB%DOS SYSB*)DUP SYSBSAUTORUN SYSB UTITLE B `MENU B DSKMAS DOCB DSKMAS OBJe VTOC and has no active file associated with it. The boot sectors, 1-3, the VTOC and Directory sectors, 360-368, and sect%r}or 720 on an enhanced density disk should always be indicated with a o. If the trace extends into the lower portion on th%s}e display, the display will be shifted up to show its location. The filename will be displayed in the lower right. %t} [13] UTILITIES (continued) The VTOC Mode commands, with the exception%u} of Edit and Save, can be utilized once all the files have been traced. These 2 commands can only be invoked from the VTO%v}C Mode. The Print Screen function here will also list the filenames, starting sector, length, and display character. %w}NEW DISK zeroes the sector buffer and other system variables and clears out any trace. Use this when changing disks. This%x} will avoid the confusion of seeing a trace displayed which has nothing to do with the VTOC on the disk in the drive or t%y}rying to get the program to disassemble something that doesn't exist. %z} [14] %{} DISK MASTER APPENDIX A ATARI DIRECTORY STRUCTURE DOS 2.0s/2.5 disks%|} contain a directory of files on sectors 361 to 368. Each sector has room for 8 file entries of 16 bytes each and the ent%}}ire directory can hold information for 64 files. The first entry in the directory is file 0. This is what a typical dir%~}ectory entry looks like: Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ------ -- -- -- -- -- -- -- -- -- -- -- %}-- -- -- -- -- Hex 42 37 00 48 00 46 49 4C 45 4E 41 4D 45 45 58 54 ASCII B 7 . H . F I L E N A M E E X %}T Each entry is formatted as follows: Byte 0 is the flag byte and indicates the file's status. $80 (128) means%} the file has been deleted. $42 (66) shows the file to be active and contained within the first 720 sectors. $03 %}is an active file which extends or is entirely beyond sector 720 on an enhanced density disk. $62 (98) or $23 %} (35) indicates the file is locked and therefore is a read-only file. $43 (67) shows the file was opened for ou%}tput but never closed. $00 is for an entry that has never been used. Bytes 1 and 2 indicate the length of the f%}le in number of sectors. Bytes 3 and 4 show the sector number where the file begins. Bytes 5 thr%}ough 12 contain the ASCII characters of the filename. Any unused bytes are filled with spaces ($20 or decimal 32)%}. The last 3 bytes are the filename extension. As with the name, unused bytes are filled with spaces. %} So from the example above, the file FILENAME.EXT is an active file contained within the first 720 sectors, starts at sec%}tor $0048 (72) and is $0037 (55) sectors long. Appendix B explains how DOS keeps track of where each of the 55 sectors of%} our file are located. [15] DISK MASTER %} APPENDIX B ATARI FILE STRUCTURE Each sector on a disk contains 128 bytes. For %}each sector in a file there are 125 bytes of data and three bytes are used to keeo track of the file. %} D I S K M A S T E R -- (C) 1985 +0 +1 +2 +3 +4 +5 +6 +7 01234567 00 FF FF 00 06 85 06 A2 00 ...%}...". 08 BD 1A 03 C9 45 F0 05 EB =..IEp.h 10 E8 E8 D0 F4 E8 8E 69 06 hhPth.i. 18 BD 1A 03 8%}5 CD A9 6B 9D =...M)K. 20 1A 03 E8 BD 1A 03 85 CE ..h=...N 28 A9 06 9D 1A 03 A0 00 A2 )......" %} 30 10 B1 CD 99 6B 06 C8 CA .1M.k.Hj 38 D0 F7 A9 43 8D 6F 06 A9 Pw)C.o.) 40 06 8D 70 06 A9 0A 8D%} 6A ..p.)..j 48 06 60 AC 6A 06 F0 09 B9 .',j.p.9 50 7B 06 CE 6A 06 A0 01 60 ..Nj...' 58 8%}A 48 AE 69 06 A5 CD 9D .H.i.%M. 60 1A 03 E8 A5 CE 9D 1A 03 ..h%N... 68 68 AA A9 9B A0 01 60 00 h*).%}...' 70 00 00 00 00 00 00 00 00 ........ 78 00 00 00 00 00 0D D7 7D ......W. ORIG%} DEST LINK 471 FILE 3 SECTOR 297 297 TRACE FILENAME.EXT DRIVE 1 1 WRITE VERIFY YES Byt%}e $7D (125) has double duty. The upper 6 bits contain the file number. The largest number 6 bits can represent is 63, the%} highest file number DOS 2.0s/2.5 allows. The lower 2 bits of byte $7D and all of byte $7E (126) make up a 10 bit numbe%}r which points to the next sector in the file, the maximum being $03FF (1023). Byte $7F (127) indicates the number of b%}ytes used in the sector. Most often you will see $7D (125) here. The last sector in the file will almost always be partia%}lly full and therefore will have a smaller number in this location. As the above display shows, the sector displayed is%} from file #3, the next sector is $1D7 (471), and the sector is full ($7D bytes used). FILE %}TYPES You've probably wondered how the computer can tell what type of file is being read. The first sector tells the %}whole story. [16] APPENDIX B (continued) In a SAVEd BASIC file,%} the first 2 bytes are always zero. The next 12 bytes are important variables to tell the system where to finds things. F%}ollowing that is the Variable Name Table, the Variable Value Table, and the tokenized Basic program. (Refer to "Mapping t%}he Atari" from Compute Books for more info.) For a binary load file (loaded with the L option from DOS), the first tw%}o bytes are $FF (255). Referring to the above sector, bytes 2 and 3 tell DOS to load the program starting at $600 (1536).%} The next two tell it that this block ends at $685 (1665). The program data starts with byte 6. At the end of a binary %}load file are 6 bytes which tell the system the address to start running the program. The first 4 of these 6 bytes will b%}e: $E0 $02 $E1 $02 or $E2 $02 $E3 $02 The 2 bytes following will indicate the address to begin runn%}ing the program. This value is loaded into memory locations $2E0-$2E1, or $2E2-$2E3 depending on the value of the previou%}s 4 bytes. "Mapping the Atari" explains this in a little more detail. ASCII files (LISTed Basic program, ACTION! source%} code, assembler source code, and AtariWriter files are examples) have no flag bytes. Data begins right at byte 0. Data f%}iles created by programs also have no flag bytes since these files are never read from DOS level. %} [17] d from DOS level. $T$' (c)1983 Action Computer ServicesS:%$E:*$  B JKIHiDiELV)}`LG$ G$ BLV`qL$$l L$JJJJ` BHI V䅠L$Hȩ)}h |$L$ /$L$ L$ $L$ 7$L$H % -$.$ $ %h)0I($)$L$COLpppB)}Al%/} %%1%0i%RTUL%D I S K% .%UL% M A S T E R% !%UTL%)}% !%L&& !%L+&Ү& !%LD&&5 !%L]& &N !%Lv& )} &g !%L& & !%L&& !%L& & !%L& & !%L&)}& !%L ' & !%UTL.'warren k. small' .%ULF' (C) 1985'< .%"/`LV'%ij%%ik%j)}%k%YXj%ij%k%ik%j%k%%ȑ%Ȍ %AȄTUL' ǡ' .%i%T UL'Please Stand )}By!' .%`S' (c)1983 Action Computer Services  B JKIHiDi)}ELV`L9 9 BLV`DLl L &` Fj`8冨凪` )}ˠEӅӥ ˠ`ʆǪƩ Ɛee` ܠƦʆǢ &Ɛeǐ LǠ ܠ')}&&&8儨児祂*LǠ&&*ń8&&LǠ W`hihiHHȱȱ)}Lc !#3`LJJJJ`H h`Hȩh nL wL !L )L)} BHI V䅠L L] 9LԆ ؠPIPP` P )L Lz )}L ͢L ȹP`텠8堨塪 芨Oȩ-`棩 Ѥģ0-ģ)}6000:,80H & &ehe&eģ0ʥ 8堅塅`S:E:H H  Hh)0I)}LUVT` գ`) `2)2ҩ`Hhƣ)}`ƥĤ`Ѣ `ȱѢĦ`膡``R DATA )}FILpppBAҤpppBA!  (TR)=SECTOR SECT D I S K M A S)} T E R -- (C) 19859II ILg`_SLiҭҭL88)}ELiML`(T "eUi` L  " ee`)} WAIT() ERR=1 CLEAR_EN(BOTTOM,BOTTOM)dLLG hThm;mHTH`1L)}i;ŮLߦG ;mHTH`RCL XeYe𦅮񦅯I`)}L LYLLz L miee m)}miiieeJm iL^i iL6i̤i̤ͤͤ8Xh)}Y̤i̤ͤi̤ͤͤȑ𤈑i̤i̤ͤͤ8XhYȑ̤i̤ͤi̤ͤͤ)}ȑ       )(Ȍh@Ȍh )}HL8K:5 )(`EN(4La Z([Z "Z[(]\ "8Z[i(\)}i]ZeXZ[eY[]\[Z )`4," Lߩ ة(٩ة "eXةeY٩(۩ک "eX)}eYi'کi۩  ٩ɤةȤکo۩poȤpɤL m m ȤɤȤɤ  )}ȤɤL^` L ( "eXeY( "eXeYi'i  )}ɤȤKLKȤLɤL0 Ȥɤm m   ȤɤL:` LXmȤYmɤ͂)}L`͂L˫L˫8 LLܫ ͂LɠLi@Ȥɤ` DL)}XmȤYmɤ.ȤɤmmȤɤȤɤiieeii)}` L   ꥥ L  欭 LCm i L۬Um UL$)}TmTRU`URNL, %&%(')&&&8儨児祂*`&&*ń8&&)}`] C'd L  L8ŮL쭩ḼLҮ8LҮL8)}흭e m*(m )iLsILsL̮88흭)}e m*(m "8嬍孍L XeȤYeɤ͝LȤɤȤ)}ɤLUmU`L# HIL{T ^UL^Ҡ U  0 \  )}` L UT ꥥ͌Lʯ 8L`ELϯ˯˯L߯L쯠I@L@IL)} [L4L1IL1HL4L`=L95!L!8UULj g 8UU8)} ̯5L갩@̓L[I+I-I# ILΰLBL갭I$L갭 U5!/̓L:L5)}IL^80 "ee W! UL}5!!! U)}L 5IL@̓LGL87 "ee W! UL IX)} IL `I~L̲!L̲8!!8UUL4 1 8UU85IL ")} LȌ "II%%!L̲5IL?5IL7L#Nn)}NnNnNn WL಩! 5 LBLN5`ROW=2LP HHULd ^ H)}U ꥥ! 6IX ILLسILճ! *IJLճ! *KŠL塰LV`  TL)} NUL COMMAND? N`L LrT ^ ULMCHANGES NOT SAVED! OK? 5 0  ̯IYLr)}``MLI  R SILi}iJJi~)}ii}i) LB)L<I `T)LNJIJI)}  W SILL `L HLP: T ^UL )} ( "XeȤYeɤ( "XeYe8VWVȤWɤL9Ȥ)})͗LITLL@Li L?L`L8@LතILථ )}L綢  I( IL  ȤɤLE   H`Ȍh wi̤i̤ͤͤ)}ŤĤĤI ŤIL! w h LIdLշĤI ŤILҷԍLշL)}miL)LNLL`/} |10"/TULRD I S K)}J ULn M A S T E Rb ULӠ~ UL IRECTORY ULECTOR ULٸSSEMBLY)} LANGUAGE ULTOC UL TILITIES UL(warren k. small ULB (C) 19858 `p)}ppBBBAL/8XhXYY(YX )qi̤ri̤ͤͤYX̤i̤ͤiͤ)}̤ͤXiPYiȑ̤i̤ͤi̤ͤͤXi؅Yiȑ̤i̤ͤi̤ͤͤrȑq`UL@")}!DȄ ) s TULs ǡh T ULPlease Stand By! `=$S:$E: $UTITLIҤ)}!  !(9dISK23503$LB$ ^TU ꥥL$DECIMAL = HEX = $j ̯I$)}L$UX.$L%L%/̓L$:L$U80=$e>$i.$L%L%IX IL%`L$U M)}IX IL)%`L%'$&$ *2$1$.$LV%U2$1$ L%U1$)/$1$)2$) 0$L%$% )}0$ /$  \` (TU ` L%FILE #? % N8i "i)} MIXL9&IL9&'$&$ *`OSEND=POS+3LL&% UTLc&Ţ&\ N %IL&`T |)}L&NEW NAME FOR FILE & N L&? & N8i "8嬍 "i)}!!L!' !:&!L '! ̯.L^'Z̓L^'! L^' |!:&!L'I~L'!L' |8!! )}!:&L'IL'!# |L'L&'#L'`:&AL'%!8#''!L6(I!:&I.L(!i# !L()}%L0(9!:&L(!:&A !:&I/L0(%!L'%L)UiT!" "L("ILn(. |!!:&I.L()}m"$e$i!:&!:& |!L("L(m"$e$i |"L(8"""LR()}L1)TUL) ̡) 0 \ `L6)2)  "+**)}+L)8*+($e)$em*m+$e$e*Щ+Lr)($i )$i ($i )$i)}I Ls*+ * *+L\*($m*)$m+8*+($e)$e8**++L*($m*)$m+.)}($)$ $m$ii$i$$$ȱ'&$i$$i$$$ȱ)()()}͋Lr0,$i-$iŮ寐Lr0 w2))LM, LM,TLC++A N U$$IL+$i)}$iIL+L+ BINARY LOAD FILE+~ NLM,$$L+$i$iL+L+ BASIC TOKEN FILE+ NLM,L+ DOS)} .SYS+)$($ y+** +L0,L&, DOS FILE, NLM,LF,ASCII OR DATA FILE,3 N m$*(m$)}ML"-UT ^L, FILE # MISMATCH AT SECTOR ,  m$*(m$)} 0  L-@ \ ^L5- L+ m$*(m$8)}Lr02))Lr0ii&'L-UTL-FILE SHORT. LENGTH = - Nii 0 )} \LT.ii&Ů'寐LT.UTL(.FILE LONG. LENGTH = . Nii 0 \2)))}Lr0T |UL. PRINT TRACE?.r N/  ̯IYLr0 HL.P:. +$*$ BL.TRACE OF FILE #.©)} U ˢL. . U)$($ BL/FILE LENGTH - / Uii ޢ +*Z/[/Z/*[/+)}L:0SE* m$+*(m$ ȱL/L/ / UL/* m$+*(m$dȱL/L/ / UL/* m*}$+*(m$ȱL/  * m$+*(m$ ͢L&0-> 0! U*+LI/+**+*}Lc0 *+LB0   HJJJiei w`--------~kPL0 UTL0Ţ0*} N %IL0`  "$m$i) Lk1TL(11& N UL=1FILE #16 N *}LV1 LOCKED.1M N0 \`L1$m$iIBL1$m$iIL1`iD0i00:0-,*},L"2m,$e$iI L2m,$e$i-0-L2,,L1.-0-, ,L2m,*}$e$iI L2m,$e$i-0-L2 ,,L228---0I.L28---0UTL*}2DELETE 2 N0 NL2! ARE YOU SURE?2 N/  ̯IYL3T |UL 3 DELETING 3 N0 N! |*}0! %JJJieii8i "8媅T#UD | w`yhL3UTL*}3Ң3 N  %IL3`  "$m$iѮL6 3)L6 (3* }333 m$*(m$ i .c.L4.ip.33L433 m$*(m$)/* }/ I0$m.$i-0 m$*(m$L=4$i$$i$$$83ȱ* }3Ȍh$$ KĤI ŤIL5.c.L5.ip$e$i$m.$i.La5$i$$i* }$$$83ȱ3$i$i KL6 DOS .SYS5)$($ y333 3LN6* } w$i$i$$ K %JJJiei w3 3L6$m$iL6$m$iB*}$$ K WiT#UA |` L66 U6I L6TL6ˢ6 NL7TL 7ˢ7 N6 %I*}L)7`  "#UiT$m$i) L76IL7$m$iI A |L*}76I L7$m$iI L |` UTL7 ŠŢ7 N %IL8` *} "$m$iICL9 3).2112L81 m$2*(m$ϠѮL8.1 m$2*}*(m$L8812L81Џ2LW8 %JJJiei w.IL9$m$iL$9$m*}$iB$m$ii$i$$$iii8i "8媅*}TUii #UA |$$ K`/} |$1$0"/`FL=1L9 9RU+$*$ UL%:D*}IRECTORY - DRIVE # :  T ULQ:FREE SECTORS - :A ULk: SECTOR # :a L:&FILE FILENAME LO*}C LEN STATUS:w L:&---- ------------ --- --- ------ : UL: STATUS CODES: L ;%A-active L-locke*}d D-deleted O-open: %9i9 99TU TU w994p4Lm=$m*}4$ii$i$$$87$i$$i$$$ȱ:98i "*}4 We$m4$i55ICLH ٳ ̯I1BI2;I+4I--I&ICIDIR*}IT IXL> |3  L>3 ٳL>I1 I2L#?80EL#?80*} %TU / iLALAI+L;?LALAI-L\?8LALAI#Ll? ?$LAIC* }L|? 7LAIDL? 0LAILL? 6LAINL? I&LAIPL?UTL? ΢? N LAIRL? 3*!}LAISL@ L@ UTL'@ ŠӢ@ NUTLI@WRITE TO DRIVE @9 N Lj@! ARE YOU SURE? *"}@Y N/  ̯IYL@$$ KLAITL@UTL@Ţ@ N %IL@ 3)LALAIUL@ *#}6LAIX ILALALq=IX ILALSALPAp͋L7AiLPAiLPApLK;`RUT*$} ^LA&ǠԠˠ  Al LA& Š A LA& *%} Š٠ A L,B& B UTI@LUB)$($ LgBL`BNO FIL*&}EBX UT U !UyIWLBLBYES B NLByIPLBLBϠB NR` *'}BR'SU+$*$ L!C&B ; ;LCiiBm;Bi*(} ;Bm;Bi i#i ;L/C`=LCCCLC w?T>An@;;LD<*)}<LcD?>;m<$e$i A@;m<$e$i >i>?i**}?@A<LC>i>?i?@i @AiA;i;LC      $  *+}h͋LEqLELD DIRECTORYD NLEIh II IL:EL0E VTOCE( NLE͋LqE*,}LqELgE BOOT RECORDE[ NLETU $U `TCUT |BBJJJ( "mC*-}iB) "ee [IL,FL,F |LH ̓LNFILNF*.}I~/̓LiF LiFII~LFILF | $mB$iBLHILFTIL*/}FTBixBLF8BB |LHILGTIL GT8BxBLGBiB |LHI I~LtGTILOGUILOG*0}T&UBLcGUILcG&U8TT |8BBLHILGTILGUI%LGTUBLGUI%LGUT |BLH*1}ILHILH $mB$iB | 8 LHLCH%UL@HTIL5HTBL7HTU*2} |LE`nDUT |CBRCJJJ( "mDiC)ei ̯0LH9*3}̓ALIF̓LI |$mC$i-BBIBALI87LI80 e$mC$*4}i-Be$mC$i BIL~IUL~I |CL=JLI̓LI |I ILI |*5} |ILIULI8CCLIILIULICL=JI LJ |BIBL=JI~L0J |BIBL=*6}JIL=JLKUI'UI !UI UIUIUI UILJI ILJ |ILJULJ8CCBLJI*7}LJULJCBLKILJTLJCiCLKILKTLK8CCLKUL@KTILKTCL/K8TT8C*8}CU |BLKULtKTIL^KTCLcKTCU |BLKTLKT |CixCLKTLKT |8*9}CxCLgHR`UTLK NEW LINK=K N-$,$ MIX ILK `'$&$ *DC$i~$iC*:})$i}$i)$i}$iDC e$i}$i *;}$i~$i ˍ$i}$i ̍$i~$i  DC *<} DC`UTLCM NEW FILE=M9 N? MIX ILvM `'$&$ *B$i}$i)*=}$i}$iB e$i}$i ˍ$i}$i $ B *>} B`i|`NNN͋NLOYT *?}w|ͣLO$m$i]LNLN8MLN8i #NLNILGO ̯*@}IX IL+O #NLGOIWLGO  ILOii͏LO8LN*A}ILOIXLOILOLOͤLO)88 C IL4PLP*B} BYTE $P  / LcPLIP -NOT FOUND-P7 N0 \ `   )T |U*C}LPASCII STRING - __________P NU | [͟LQILQI~LQ |L*D}oQI~LbQ͡LbQ |͡L>Q ꥥ_ ͟LNQ_ 8LoQILoQLrQLP`ILQ*E} LQLQm |`  )T |ULRHEX STRING - __ __ _*F}_ __ __Q NU |@ [͟LR0LfR9͢LfR |80 sQLRALRF͢LR*G} |87 sQI~L@SIL S͡L S8UU |͡LR ꥥ_ ͟LR_ 8*H})L=SL=S | ꥥ_ _ LsSILZSILZSLvSLsSIX ILsSLvSLR*I}` ܩ/ TULSRIGIN DRIVE ESTINATION DRIVES LS" WRITE ERIFY DESTINATION ECTORS ̯*J}IVLKT!UTyIWL(TPyLTϠT LHTyIPLHTWyL?TYES T: L;UIOLnTI UT L;U*K}IDLTIUT L;UISL'U ^TULTNEW DESTINATION SECTOR=T N-$,$ MIXL*L}!UIL!U'$&$ *   L$UL>UL;UIX IL;UL>ULS ` LaU 9h B TA*M}J C LU$i$$i$$$ŤĤĤI ŤILU-$Ѝ,$LUĤI ŤILU-$,$ *N} ٳ&$'$FH ꥥF 6FJIL5V JFL}^HIICLVIHLVIMLV*O}I#LVIPLVIWLVIZLVK  LVK ٳLVI+LV,$-$LV *P}|HL}^I-L#W͋L#W8 |HL}^I#L3W ?$L}^IBL3XML3X m$*(m$*Q}Q QLWI |WWW͓WLW m$*(m$Q QLWILWйLW*R}͓L0XIIL0X8 m$*(m$H |L}^ICLCX wSL}^IDLdX |*S}iHL}^IELXI@LX m$*(m$H |L}^IFL"ZT | ULXFIND SC*T}II OR EX? X N ̯IALX dPL)YL&YIHLY QL)YL&YIX IL&YL)YLXIXLZILZ͡LZT*U}MLY ULvYSEARCH TRACED FILE?Yb N ̯UIYLYLY SEARCHING Y N)$($ N m$*(m$*V}ȌL Z ULY SEARCHING DISK Y N-$,$ RNL}^IGLZM M 8*W}E EL}ZTULsZ -SEARCHING-Zg N RNL}^IHLF[ ܩRRUTJLZ& TART ND RINT ODIFY I*X}ND Z L[& EXT ACK RITE ERO O NEXT Z L6[& IR TOC ONFIG [ RL}^*Y}IMLx\ T |UL[!MODIFY - SCII EX INK ILE #[i ̯ |UL[MODIFY [ NIAL[L[A*Z}SCII[ N ELU\LR\IHL[L[HEX[ N DHLU\LR\ILL\L \LINK\ N KLU\LR\IFL>\L.\FILE #\' N .MLU\LR\*[}IX ILR\LU\L][IXLu\ILu\L}^INL\͏L\,$i-$iŮ寐L\*\} |HL}^IPL\ | L}^ISL,]I@L,] m$*(m$ȱH |L}^IVL}] *]}|HIh ILp]ĤI ŤILp]Lz]hL}^IWL'^ TL] WRITE SEC ] N L]*^}, D] N L] : TO SEC ] N L], D] N L]:?] N/  ̯IYL$^$$ KL}^IZL_^*_}$$ ) CL}^IX IL}^-$,$L^FIL^'$&$ *͋L^,$i*`}-$iŮ寐L^HL^  L^ CLU`BRKaORA?????????ORAASL???PHPaORARASLA??????ORAASL??*a}?BPLORA?????????ORAASL???CLCaORA3?????????ORA#ASL#???JSRAND??????BITANDROL???PLPaANDRROLA???BITANDROL*b}???BMIAND?????????ANDROL???SECaAND3?????????AND#ROL#???RTIaEOR?????????EORLSR???PHAaEORRLSRA???JMPEOR*c}LSR???BVCEOR?????????EORLSR???CLIaEOR3?????????EOR#LSR#???RTSaADC?????????ADCROR???PLAaADCRRORA???JMPsA*d}DCROR???BVSADC?????????ADCROR???SEIaADC3?????????ADC#ROR#??????STA??????STYSTASTX???DEYa???TXAa???ST*e}YSTASTX???BCCSTA??????STYSTASTX???TYAaSTA3TXSa??????STA#??????LDYRLDALDXR???LDYLDALDX???TAYaLDARTAXa???*f}LDYLDALDX???BCSLDA??????LDYLDALDX???CLVaLDA3TSXa???LDY#LDA#LDX3???CPYRCMP??????CPYCMPDEC???INYaCMPRDEXa*g}???CPYCMPDEC???BNECMP?????????CMPDEC???CLDaCMP3?????????CMP#DEC#???CPXRSBC??????CPXSBCINC???INXaSBCRN*h}OPa???CPXSBCINC???BEQSBC?????????SBCINC???SEDaSBC3?????????SBC#INC#???^$m$i$Ů$寰Lrc *i}Lrc w$i$i88$$$$MLmc *$$`CLc{c{c Lc{ci0*j}`Lc{ci7`R,Lccccc8ONOccNLd mNNiceciNLcmO*k}i`)LdddJJJJPd)QP |cQ |c`R=LWdSdRdSdRd RRd)SL{d$dy cR dS *l}d`' 8ILd Td$$XX "iibebeZZ)*m}YZ)ZmYiȌ[Y=e=e[Lse $$ d$$[ b[L2e[[Le*n}X "m[ibebe[L}eZL9fZ@L9fLe$e c d *o}dZI LfLf,Xf cL6fZI0L6fL/f,Yf, cLgZIPL]fLIf#$fF c dLg`ZLgZɠLgUTLf(*p}$f cZIpLf "TeTUeU8UT TdLf)f cLgZILfT dLf,X)f cLgZ*q}ILgT dLg),Yg cLgZILgUTTULcgiimTVmUWLvgmTVmUWWV*r} TdLgZLgZI@LgZI`LgLg$g c dZILgLg,Xg cLgZILgLg,Yg c8Ygg͝*s}LhD"miLg$`L(h$$ wȌ$i$i8$$ILU*t}i$i$iILUiLh DOS .SYSh)$($ y__LiTLhLOAD ADDRESS? h N M |'$*u}&$ *LRiȌ w$i$$i$$$$$ȱ wLi$i$$i$$$*v}$i$$i$`8$$$$8宍寍$$$$I ILj$$ILj$i*w}$iILjii$i$$i$`2L&j j jLPk/$i!j$i"j!j"j!ji!j"ji"j!j*x}"j"/ 9RTU+$*$ Lj$Š Š j Lj$Ҡ  *y}  j L#k$ j T U)$($ #U Lk/} |$i!j*z}$i"j!j"j!ji!j"ji"j!j"j"/`j Lk $$$$ %h #jk8$$k$$*{}kkT U Ukk U "Uii kTRUkLl d k *|}Ll$m$i$$LlLlL?lkLlk ^TULlEnd of File l / \ck ٳ *}}kILl kIX IL m`LqI#Lm ?$LqIBLm͛Lm88*~} m$*(m$ w i$i$i8񮍺$i$i8ȌkLqLqIG INLpIG*}LInULm SECTOR? m iiU MIXL:nIL:n'$&$ *kkkLFnkkLZni*}kikk͛kLo88 m$*(m$ w$i$i8񮍺*}Mk MkLkn i$i$i8LqLpͥkkLp$i$i8$$$$8嬅孅e*}e$$$$ m$*(m$ w$i$iqiMk MkLbo$*}i$i8$i$i8񮍺LqLqIHLpk ܩTULOp$ EXT O TO RINT *} ECTOR p* Lp$ ACK OP EIT ELP p[ LqIPLp LqISLp i kk #*}j LU Ȍkkk w #jLqLqITLq ikLqLqI I+LqLqLlkIcL#q`Lk`DISASSEMBLY OF ['qL=q*}I@Lpq UL^qNO FILE TRACED!qN N0 \` ^ T ULq Šq UL*}q DISASSEMBLEq U)$($ ULq TO ISPLAYq ULr TO RINTERr ٳ ̯IDL8r kXLrLr*}IPLr HLMrP:rJ TULmrҠre $$$$^LrLrI#Lr ?$LrIX ILrLrLr*}IX ILr #j`Lr %h]aȌ`]L9s+$*$ B9q8q U)$($ ULs ] page - s Ua` ޢ *}] d"$͊L~s) zݾLxs.LAs B]:]Ls_8B]ss_Ls*} _Ls]`aILt ̯IX ILtLs --ABORTED--s B]LOt LLt$m$i$$LL*}tL=t End of Filet1 B]LOtLr_8B]htht_Ltt _L]t H`L USED - AVAILABLE |tLtRT*}i$die bbLrubIdLtĤI ŤILtԍbLtLru$mb$itLlut)L)u- L*}.u tMd MeLfuiidi(deieL ubLt`LwusuUTtt su UiU)$*}($ su`Lu8su suuuu͓uLv m$*(m$$ WiT m$*}*(m$$ iU Xe$Ye$$$IT$$ILv$$suLv$*}$suiLu`Lv vvv i vcͿvLvvipvv)vvv i*} vcvL2wvipvv)vvvvv[w[wvvLxvId vIL~wvipvvivvMv vILwvvL*}wvvvvvwwvvLwv v$mv$mvMvvvLwvvvLKw tȌI@*}Lx* tu`L'x ^ TULKx BEGIN AT - x? Ĥi Ťi MIX ILx`Lx'$&$ *!x*} x TULx END AT - x Ĥi Ťi!x x MIX ILx`Lx'$&$ *#x"x#x"x!x x v`*}Lyyyy yy 8 yyL8y y5 UyL^y  8yyLAyyy ͢`L{yjyzti${ti*}$ky ^UTLy COMMAND? y  ̯kyILy ky(#$"$ )I I-LZz$*}$XiYiŬȱ子LZz )L*z$$i(ȱiL}I I=Lz$$XiPYi*}ѮLz )Lz$$8(ȱL}I#Lz ?$L}ITIX ILI{ )Lz$$*}XiPYiIX ILF{  LF{TLL}IBL{ )LS{$$XiYiL*}}IEL{jyIL{ $xL}IPL} jyL}L{P:{ L{ FILENAME LOC LEN NUM{˩ BL| -*}----------- --- --- ---{ Bly?lyL}vymlywyiL}lyJJJietyiuytyM uyML|uy*}ty wly  "i$m$$i$$$87$i$$i$$$ȱ*}:9iL} }  Upyi 4}4}pyLq}ipyELN}. $mpy$i pyL)}:*}9 y87 yL} } Uvymlywyi  lyL'|  Hh wzti${ti$L}ISL *}jyIL I IL  ^U T LI~SAVE CHANGES! ARE YOU SURE? ~, /  ̯IYL~ly*}clyL~lyip$e$i$mly$ilyLm~h$$ KĤI ŤIL~$i$i*} Kh  L}IHL} ܩTjyILNULB DIT AVE 7 LRULo OP OTTOM RI*}NT EITU kyLy`VTOC FLAG BYTES ERROR!!W*}˫L (cȌh/} |{t1zt0zti${ti$$$XiPYi"/ *}RTULnDl  L - DISK MASTER (C)1985 VTOC  L FREE L(à*} bWbLymbi bmbi bmbi*} i%ibL$i$$i$$$ĤI ŤIL$i$$i$$$q*}qLĤI ŤILȌcM MLc tUTtt L6 * TRACED FILE( I@LXILX* *}tuLa` cIL ܩTU 0 \ c xy`L fe*}傭eL)fELfLeLڂf` ̯I1I2IX IL |`L> ^T*} ULf ӠV ULPECIFIC SECTORSv UL NTIRE DISK ٳ ̯IEL T ULۃ *}  ULDRIVE TO FORMAT? N I1L%LD1::9LFI2LCL6D2::29LFLdU*}LdREADY TO FORMAT DRIVE M N |? | ̯IYL  |TU0 LDISK IN N:9 NL΄ WILL BE ERAS*}ED! OK? N0  ̯IYL  |:9 LdLaISL= T UL8 Ӡ' *}UL[STARTING SECTOR = H 8,$-$ MIX ILLd'$&$ *jiT ULENDING SECTOR = *} iiji8,$-$ MIX ILLd'$&$ *lkT UL3DRIVE TO FORMAT? ! *}I1LTLnI2LkLnLdU |L!READY TO FORMAT SECTORS ON DRIVE z  ? *} ̯IYL7 (Ĥi ŤiijĤi ŤiklL^ ^0 ULEBLOCK EXCEEDS D*}ISK CAPACITY!( N0 \gLdji i minlk i oipcmnL‡m*}ipmnincopLoipopipi)qj)rg$mm$mnhqh hmMo nMpLCk*})ul)vLMvuhuq gminiopLgLmiqnir8opq*}rLqId rILۈqipqrir$mq$mrhh ggL LqДrLgLkmMo nM*}pLkk)ql)r$mo$mphhq ggL쉩 ^UL  N$$ )*}jikӉlԉӉ͍ԉL$$ KL‰L7 ^0 UL#BLOCK CONTAINS ACTIVE DATA!*} N0 \LdLdLaI#LM ?$LaIX ILaLdL ^`LvrȌrwA w w w8w*}wwL yx} |{z8|x|}y}z{|}Lӊ|mx|}my}yx *}|Ů}寐LC8zz{{U{z A \`}| @ ){izpz{L{z *}w8i "wwixwxይ͉Lz8w "$e$eyyɀ*}L\yL\ 3)I@LLLX LXi0gL ͈Lx$Lxi7gL#͈L>Li=gL*}8>i#ggg tu|m}mi|i}-Lی )Lzti${ti$yIL.$*}$XiYiLL$$XiPYi-LPLtyLt{pzxL֋z{L ^*}TULTOTAL USED + FREE = |m}m 8ĤŤ|E }ELL ҡ *}0 L1L! ˡ / xy` ܩ~  ^TUL Ӡs *}ULORMAT SECTORS UL RIVE SPEED UL׎ HECK DISK UL EW DISK ٳ ̯IF*}L ;LIDLُ ^ TUL@ Ġ4 T ULiDRIVE #_ ___ RPMT U# | ̯I1*} I2L |80 sLƏIX ILƏT |LɏLI ^LICL Z LLINL֐ TUL*} ˠ TL  NULKӠŠҡ OK?. N/  ̯IYLӐ$$ )@*}($)$L NLǐ%TRACE & BUFFER CLEAR. INSERT NEW DISK \LI#L ?$LIX ILLLh*}~ ` LhhHH    `A/ s #j  ٳ ̯ISL*} LU LᑭIDL 9 LᑭIVL  LᑭIUL 7LᑭIALԑ :q #j LᑭI#L ?$Ld`@ ̯ISL(r