@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( 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`  `1  ɐ     `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.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 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 ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.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- 138ɛ+,' 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 D8u00P000000-4/4LQ6484L - lum Traces thru available luminance to suit your taste in sc}reens. CTR-CLEAR Byte$ This one is not on the help screen. Instead of using edit and the needed byte# 7F to ch}ange the BYT byte, use this option and keep your mind on what you are doing. I can't tell you how many times I} lost the byte number in my head while I tried to get past entering 7F. Sounds easy, but at four in the morning } nothing is easy. 2t entering 7F. Sounds easy, but at four in the morning @ SCREEN DISPLAY Hexadecimal bytes are displayed just left of the center of the} screen. To the left of this block are row indicators used to locate an individual byte. The offset numbers lo}cated at the top of the byte block are added to the row indicators to identify each byte in the block. The pos}ition numbers range from 0-7F for single density and from 0-7F,80-FF for double density. Slightly to the right} of the byte block is the same data displayed in its ATASCII or INTERNAL form. The form is displayed above this small}er block. Row indicators are also present on this character block to help locate the byte responsible in the b}yte block. Below the data blocks you will see SEC: FIL: LNK: BYT:. SEC stands for SECtor and the he}x number displayed is the sector number of the sector displayed. FIL stands for FILe and is the file num}ber of the sector you are looking at. The file number is directly related to the position of the filename list}ed in the directory, and the first file is file #0. DOS does not like it when file numbers change inside a fil}e, so if you ever link two files together using the disk editor remember to alter the file numbers in the appended } sectors. LNK stands for link and is used by DOS to locate the next sector to read. It could be locate}d anywhere on the disk, but is often the very next sector. BYT stands for BYTe and is used by DOS to locat}e the last byte of that sector that is part of the file. It points to the byte AFTER the last byte. Most ofte}n it reads $7D, indicating that $7E is the last byte in that sector that is part of the file. It can however p}oint to any byte and DOS will read and interpret the BYTe byte correctly. Depending on what DOS or program you use to} copy with, sometimes the sectors are written exactly as "short" sectors or are shortend and the dead data that} used to be between the BYTe byte and the end of the sector is lost forever. On the next line is SRC:1 DST}:1 INP:H DNS:1. SRC stands for source drive number and is incremented by pressing "O". DST} is destination drive number and is altered by pressing "D". INP:H stands for input and the indicator i}n this case stands for Hex. It will toggle to "A" which stands for Alpha by pressing "I". DNS:1 in}dicates single density and is changed to double density by pressing "V". TIPS ON DISK }EDITING If you lock up due to an error, press the HELP key and then return. ESC will abort }all pending operations. 3key and then return. ESC will abort E To exit the disk editor press SELECT once. The main menu will appear with more choices. Pres}sing START while in the disk editor will load in sector 169, the directory sector. Since you press START to get to th}e disk editor, sector 169 is waiting for you when you get there. One sector below this one is the VTOC sector.} Press "-"(up arrow) and there it is. Printing the screen to your printer is done by pressing CON}TROL and "P" at the same time. You will then be prompted to chose between printing on the left side-the first 40 colu}mns of an 80 column printer (1) or (2) the right side-the 40 to 80 columns of an 80 column printer. Using both} 1 and 2 you can store 6 sectors on one side of a piece of paper or 12 sectors on both sides. That is a lot of} data. DISKMASTER DISASSEMBLER Two type}s of disassembly are possible with the diskmaster disassembler, file and sector disassembly. Each type requires a } different set of parameters and so there are two sets of promts that must be answered before disassembly can occur}. The shorthand used in the promts could lead to at least some confusion so I'll lead the way. Al}l inputs to the disassembler are hexadecimal. SECTOR DISASSEMBLY The first promt} is - Disa Type [F/D]. You are to choose between disassembling a file or sector(s). Bootable disks can be dis}assembled by using the (D) option, disassembling sector 1, and decoding the necessary data required to disassemble the} entire disk by comparing the data stored in sector 1 to the memory location $700 on, in a good memory mapping }book such as "Mapping the Atari". Let's disassemble sector one to get the data neccesary to disassemble a disk.} Enter (D). The next promt is - Dest'n [E/P/Dn]. E is device E:, the screen. P is the printer and Dn i}s drive number-filename.ext. It is required to enter the full filespec at this time if you want to disassemble} to disk as a text file (ie. D1:FILENAME.EXT). We'll use (E) as we really don't need permanent data as yet. See tips} for more on disassembly to disk. The next promt is - Labels [Y/N]. If you want labels in the disa}ssembly enter (Y), if not (N). Since they're free, I always choose (Y). Labels are special locations used thruout a }computer system much like variables are used in a BASIC program. These locations have names or Labels such as} SDLSTL, which is the location of the address of the display list. The low byte of the } 4is the location of the address of the display list. The low byte of the  address is stored at SDLSTL($230) and the high byte at SDLSTL+1($231) for an example. The next prom }t is - Scr drive [1-8]. Enter just the number of the source drive. Density [1-2] is the next promt. Ente }r 1 for single density disks and 2 for true double density disks. DOS 2.5's enhanced density calls for single }density(1). Boot sector 1 is always single density even on true double density disks. Sector [1-411] Thi }s asks for the starting sector number to disassemble, the number system is hexadecimal and $410 is equal to 104 }0 decimal. # of Sectors This prompt wants to know how many sectors to disassemble. For our example, 1 i }s all that is necessary. Offset [0-7F] This prompt wants to know the offset required. It offsets the byte } position by the number entered here. I have no use for this so I always enter "0". If I ever need it I'll be glad } it's here. If you entered 3 here, then the third byte in the sector would be listed as the first, and the first } two would never be seen. Origin [0-FFFF] This prompt wants to know where to begin counting addres }s numbers. For sector 1, that is always $700. Byt/Sec [7D/80] This prompt wants to know how many bytes per } sector you want to disassemble. For bootable disks and the boot sectors 1-3 this is $80. For standard files it is } $7D. Our example will be 80. Press the space bar before the text reaches the top of the screen. }Location $701 will contain the number of sectors to enter into the diskmaster disassembler to disassemble your bootabl }e disk. Locations $702 and $703 contain the load address you will use as the origin when you disassemble your d }isk. Almost all address bytes are written in low byte, high byte reversed order. $00,$07 would be equal to $7 }00 not $7. Location $711 will contain the bytes/sec info. The sector# to disassemble your disk will be 1. } FILE DISASSEMBLY There are only four prompts for file disassembly as most of the p }ertinent data for disassembly is contained in the file itself. Disa Type [F/D] Enter (F) for File } Dest'N [E/P/Dn] E is for screen, P for printer, and Dn is for COMPLETE filespec. (ie. D1:FILENAME.EXT). See tip }s for more on disassembly to disk. Labels [Y/N] See Labels above in the sector disassembly section }. Source File The file you want to disassemble goes here. Again FULL filespec (ie D1:FILENAME.EXT). } TIPS ON DISASSEMBLY All input numbers are in hexadecimal If you would li }ke to disassemble memory which Disk Master does not do, you can always try to (K) Save Binary File using DOS, and } then disassemble that file. 5s try to (K) Save Binary File using DOS, and L ESC can be used during data entry (mistake) or during disassembly. Both cases return to main menu where y$}ou start over. Entering any numbers other than the ones displayed in the brackets causes the promt to rep$}eat on all promts and can cause the loss of the ability to enter the prompt you want to! In this case reload o$}r reboot. In order to disassemble larger files such as Disk Master itself, I have changed the disk write $}section such that Disk Master will not create a text file larger than around 211 sectors so that my wordprocess$}or will load the whole file which I can then link to the next file in order to print out the whole file. (whew) When$} the program makes four jumps to DOS's put routine, the file is closed, the filename is incremented and a new fi$}le is opened with the new filename. The increment filename routine increments the last letter/number in the fi$}lename. You should not use a number for the last digit in the destination filespec as that will allow only 10 $}files max, and to this end you should use the letter "A" so as to give you 26 files max. The length of the filespec d$}oes not matter in the least, only the last letter/number counts. I have also modified the program to all$}ow changing disks without a major screw up if the disk gets too full. Unfortunately, the program will probably$} only work under DOS 2, DOS 2.5, or OS/A+. Any other DOS is likely to keep its free sector info at a different $}location such that you will not get an accurate count and if the count is less than 60 sectors you will not be able to$} get out of the insert formatted diskette loop. If you can't work around the above restrictions, send me$} your DOS and a couple of bucks and I'll try to rewrite my code such that you will get protection from overwrit$}ing a disk. I can also make Disk Master write larger or smaller files in around 52 sector amounts. If I can't$} do any good you will get your disk and dollars back. By pressing "I" or "A" while the text is rolling on$} the screen, you can change the characters printed to the left of the address numbers. These characters are th$}e actual code as they would be printed in either ATASCII or INTERNAL. When the mark that separates the codes f$}rom the addresses points IN to the address, you are interpreting as INternal. Have fun! $} Lee Barnes Box 187 Wild Horse CO 80862 6 $z DISKMASTER was copyrighted in 1989 by Barry Kolbe, Bryan Schappel, AND ANALOG Computing. To(} that end I have created DSKMAMOD.OBJ. This file will alter DISKMASTER such that it's potential is more nearly m(}et. There should be no restrictions that would apply to DSKMAMOD.OBJ other than my own, and I place (}none upon it. It is shareware at a bargin price. If you find that you actualy use it a lot I would appreciate a(} $5 token of your appreciation, but otherwise you owe me nothing. DSKMAMOD.OBJ wa(}s written to work with DOS 2, DOS 2.5, and OS/A+, any other DOS will likely yeild worse than bad results when wri(}ting disassembly text files to disk. If you can't work around this problem then send me your DOS and a (} couple of bucks and I'll try to rewrite DSKMAMOD.OBJ for you. If it doesn't work out, you'll get your disk an)}d dollars back. Boot up with DOS 2.5 on board. Make it such that you have on this disk both )} DISKMASTER and DSKMAMOD.OBJ. Then you will need to create a MEM.SAV file by choosing option N. Then )}(L)Load DISKMASTER with a slash N at the end of the line (ie. D1:DISKMAST.OBJ/N). The slash N prevents the progr)}am from running and returns to DOS. If you have never used MEM.SAV before be prepared for the muliti)}ple reads and writes, eventually you will be returned to DOS. Then (L)Load DSKMAMOD.OBJ. It needs no /N as it c)}an't run anyway. Then, (K)Save the modified file back to disk. I use the name L, as it makes for fast and easy )} loading. An example of dealing with all the promts of (K)Save is definitly in order. Filename.ext,30)}00,54FE,,3000. I do it like - L,3000,54FE,,3000 - notice the double commas, please. Now delete MEM.SAV and reboo)}t in order to "clear" the floating point routines, and you're in business. You no) }w have a disk disassembler that will not create one huge file that won't load into your wordprocessor AND you get) } to continue disassembly onto as many disks as necessary. One that supports unmodified computers and single ) } drive systems. The disk editor is also much improved and is quite powerful. Press the HELP key to see yo) }ur command choices while in the disk editor. Documentation is supplied as files PG1-6. Use D) }OS to print them out on an 80 column printer one page at a time. Example- C )}COPY--FROM, TO? PG1,P: )} Y--FROM, TO? PG1,P: (B%DOS SYSB*)DUP SYSB SAUTORUN SYSB `DSKMAMODOBJBmPG1 BPG2 BPG3 BPG4 BPG5 BPG6 BREADME DOS