@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED COPYING---DN:4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 2.?}D2:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4u05  15 2 2151^116115ύ011$r2ԭ5 3)5)5ԭx GV}@@L00)+& 2 L0=ɛ -L!1LV1L1 /3 3ȹ441L-4 v3 25 2H 2h͔5W}L3L3 2 k3U hh`DOC`QL3P1Lk0S1H /3h0B k3@ VL0LU!#$53 1181118X}1111Ε5 1Lk0552 1Ȍ1i111i11115Lk0pppB4f5&&&&&&&&^6f^6&&&&&Y}&&A1@BJ D2ELVK@BHILV^Щ6 2BD2EJ VBD5EHI0 V0%5Z}5 2iХiL[2 25 25`D:*.*` i@`8 ``@i `8@`0 BLV525<4[}5`HH i ԍΗ552 ԍhh@ Lح1Э1Ѣ 24.4 24\}4`D4E` 2BJ k3LVRH` 2BD4EhK)I JLV333 BASIC languag k}e OBJ > MACHINE language DOC > DOCumentation PIC|MIC|FNT|MVM > Graphics AMS|MUS|MBD > Music LST l} > BASIC LISTing -Some MACHINE language programs can only be run by booting the disk MENU "without" BASIC! -For s m}ome programs, XL/XE models may require a "TRANSLATOR" program to be booted first! [Also available from BELLCOM] - n}Most programs are relatively self-explanatory; however, some have separate DOCumentation files available. Some BASIC o} programs may contain instructions in their program listings. -To use this great MENU program on your own disks, p}simply copy the file "AUTORUN.SYS" onto your disk. * MENU written by DAVID CASTELL * ONTARIO, CANADA K9J 7A5 ^ CLEAN An Atari Disk Utility Program by Jim Granger r} for the Public Domain June, 1985 INTRODUCTIONThis is as} disk utility program that allows you to performsimple DOS functions to clean-up your files on two disks atonce. It combint}es the ease of use of a command-driven DOSwith the programming capability of batch files. It iscompatible with all Atari cu}omputers having at least 32K ofmemory and all Atari-compatible disk drives.The program can be used with single and double-v}density DOS's,such as Atari DOS 2.0S, DOS 2.5 (including the Ramdisk) andDOS 3, OSS's DOSXL and OS/A+ version 2, and MYDOS w}version 3.The program will not work with OS/A+ version 4 or SMARTDOSbecause of their unusual directory formats. x} INSTRUCTIONSI. GETTING STARTEDCopy the binary load-and-go file CLEAN.XMO to a diskcontaining your DOS y}files and load the program into yourcomputer. The program can be used with one or two disks andone or two disk drives. Thz}e disks can be single or doublesided and single or double density. If you are going toperform operations between two disks{} of different densities,you must have two disk drives and they must be configured tothe correct densities before you run th|}e program.Once the program is loaded, it will ask for the drive IDnumbers to be used for its operations. DRIVE 1 ID?}}Respond with "Dn", where "n" can be any drive number from 1to 8. The program will ask for a second drive ID. DRIVE ~}2 ID?If you have only one disk drive, then respond with the sameID as the first one. Otherwise, enter your second drive I}D.If you specified both drive ID's the same, then you will beasked for the number of disks to process. # OF DISKS (1} or 2)?If you entered 2 disks, then you will be told to swap thedisks when the program performs its operations.After ent}ering the drive ID's, the program will ask you tolace the disks to be modified in their respective drives.If you are worki}ng with two disks in a one-drive system, thenyou will be told to place Disk #1 in the drive first,followed by Disk #2. Reg}ardless of the drive's ID number,the computer will treat the two disks in a one-drive systemas "D1" and "D2" in all further} operations. You should labelthe disks to keep them straight. Label Disk #1 as "D1" andDisk #2 as "D2".The program will} read the directories from each disk andattempt to determine their densities. If unable to determinethe density, the progr}am will ask for it. DENSITY OF DISK #1 (S or D)?Respond with the density for which the drive has beenconfigured. At}ari DOS 2.5 and DOS 3 users should respondwith "S" if they are using an extended density disk.II. BREAK KEY ABORTYou }can terminate the program at any time by pushing theBREAK key. The program will issue a message and ask if youwant to term}inate or restart the program at the beginning. ESC TO DOS, RETURN TO RESTARTThe BREAK key is effective during most of} the program'sexecution steps, but some precautions are in order duringdisk I/O operations. In general, you should avoid s}toppingthe program during disk I/O operations, since the function ofthe BREAK key will be indeterminate and the status of t}hedisk operation in process will be unknown.The best time to terminate the program is when it's waitingfor keyboard input}. During the command execution phase thisis particularly important. The program can be terminatedeffectively by using the }control-1 key to freeze the display.When the cursor disappears from the screen and the disk drivestops running, the BREAK k}ey can be pressed to terminate theprogram.III. THE WINDOWSAfter reading the directories from each disk the programmo}ves to the command entry phase. A specialized screen willbe displayed showing 4 separate windows.The COMMAND MENU at the }top lists the commands available tothe user and the functions of various special keys. Thecommands are single letters (sho}wn in inverse) to perform asingle DOS operation. The special function keys change thedisplayed directory, terminate the pr}ogram or begin executionof stored commands.The DIRECTORY WINDOW contains the filenames of 16 files onthe current disk. T}he first 16 files comprise the first pageof the directory window. You can view the next page of 16files by hitting the OPT}ION key. Later, you will learn howto enter commands into the directory window to perform DOSfunctions.A MESSAGE LINE bel}ow the directory page window is used todisplay error messages encountered during command entry. Itwill not become visible }until an error occurs.The STATUS WINDOW on the bottom displays information abouteach disk. The fields in the status windo}w are as follows: ID is the disk's assigned drive number. For single- drive users, the drive numbers will be the }same. DISK is the disk number. Inverse characters designate the disk number of the directory currently displayed.} #FILES is the number of files on the disk. It is updated every time a file is added or erased from the disk} with a command. #SECTS is the number of sectors used on the disk. It is updated every time a file is added or er}ased from the disk with a command. Automatic compensation is made for files copied or appended between disks of di}fferent densities. #FREE is the number of free sectors available on the disk. It is also updated for every c}ommand that uses or frees sectors on the disk. DENS contains a code for the density and number of sides on th}e disk. The first number indicates the number of sides, 1 or 2. The letter following the number indicates the den}sity of the disk, S=Single, D=Double, E=Enhanced density for Atari DOS 2.5 and DOS 3, and R=Ramdisk for Atari DOS 2}.5 and the 130XE computer. PAGE is the page number of the directory currently displayed on the screen. A director}y can have up to 4 pages (64 files).The special function keys are as follows: BREAK aborts the program at any t}ime. OPTION changes the current disk directory page. SELECT changes the current disk directory from disk #1 }to disk #2 or visa-versa. In a one disk operation, this key will return the disk directory to page 1. START will }begin execution of stored command lines. ESC will print the current disk directory on the printer with its disk st}atus line. The screen will turn a monochrome color while writing to the printer. TAB will sort the current disk d}irectory in one of three ways: 1. In the original directory order from the disk, 2. in alphabetical order, 3. in o}rder of decreasing queue number. The TAB key toggles between all 3 sorting modes with successive pushes.When beg}inning the command entry phase, the program willalways display the first page of disk #1 in the directorywindow. The direc}tory will be listed on the screen in theorder it is read from the disk. Each filename in thedirectory is preceeded with an} asterisk if it is locked andfollowed with the number of sectors it occupies on the disk.IV. COMMAND ENTRYCommands to} perform the DOS operations are entered on thesame directory line as the file to be operated on. Thecommands typed on the }line will pertain only to the file onthe same line. Each command line can be up to 20 characterslong and must be terminate}d with a return.When you enter commands into the computer, you will noticethat the Atari screen editor operates differentl}y thannormal. The cursor will move only in the right half of thescreen within the directory window. This is the only area}that commands can be entered. Also, you will notice that theCLEAR, INSERT and DELETE functions do not work.Single comman}d letters define the DOS operations to beperformed. Some command letterERT and DELETE functions do not work.Single comman}d letters define the DOS operations to beperformed. Some command letters also require a filename tobe placed immediately a}fter the command letter. U unlocks the file on the command line. L locks the file on the command line. E er}ases the file on the command line. R"filename" renames the file on the command line to the filename immediately fo}llowing the command letter. Only one rename is allowed on the command line. The new filename must not begin with }a drive ID and it must not be present on the disk. C"filename" copies the file on the command line to the fil}ename immediately following the command letter. The new filename must not be present on the disk. A"filename" app}ends the file on the command line to the filename immediately following the command letter. The filename must be p}resent on the disk. You cannot append a file to itself. * will lock the destination file of the most recent copy} or append operation on the same command line.The filename following the rename, copy and append commandsmust conform }to the following rules: 1. The filename must be separated from the command letter by a quote character ". 2}. You may or may not specify a drive ID at the beginning of the filename. If you do not specify a drive ID, then }the ID of the current disk directory is assumed. When you do specify a drive ID, you must use one of the ID's disp}layed in the drive status window. If you are using two disks in a one-drive operation, then you must use one of two} drive ID numbers, "D1" and "D2", referring to Disk #1 and Disk #2 respectively. 3. The filename must be separate}d from the drive ID with a colon, ":". The filename after the colon must conform to the syntax rules of your DOS. } Wildcards are not allowed. The program will not allow asterisks, question marks or spaces to be imbedded in the f}ilename. Other than these characters, the program will allow any filename syntax. Make sure it's correct, or you w}ill get an error messsage during command execution. 4. The filename must end with a quote character or a ret}urn (EOL).Here are some examples of correct and incorrect filenamesyntax when using the A, C and R commands: C"BACKU}P.001" Good C"D:BACKUP.001" Bad, missing drive number C"D8:BACKUP.001" Good, if D8 is in status wind}ow R"D1:NEWNAME.001" Bad, drive ID not allowed with rename RNEWNAME.001" Bad, no} quote between command and filenam四 R"NEWNAME.001 Good, if EOL is last chaacter A}"D2:oldfile.ext" Good, if your DOS allows lower-case letters A"D2:DESTFILE"* Good, locks} file D2:DESTFILE after append A"D2:DESTFILE* Bad, no quote at end of filenameYou may u}se as many commands as you can fit in the 20 spacesafter the directory filename. For clarity, commas or spacescan be place}d between command letters.The commands on a line will be performed in the order thatthey are entered on the line. Conside}r the example of a filethat must be unlocked, copied to another file and erased.The directory line before entering the comm}ands might looklike this *TESTFILE.001 057After entering commands it might look like any one of thelines below. } *TESTFILE.001 057 U,C"D2:NEWFILE.001",E *TESTFILE.001 057 C"D2:NEWFILE.001",U,E *TESTFILE.001 057 C"D2:NEWFILE.0}01" U E *TESTFILE.001 057 C"D2:NEWFILE.001"UEAll 4 lines perform the same operations and get the sameresults. The fi}rst and second examples switch the order ofthe copy and unlock operations. The first two examples usecomma delimiters and }the third uses spaces as delimiters.Once you have become proficient, you may want to eliminatethe delimiters and use the sh}orter form in the fourthexample, especially if you are pressed for space on the line.If you wanted to lock the destination} file, then you mighttype a command line as shown below. *TESTFILE.001 057 C"D2:NEWFILE.001"*UE *TESTFILE.001 057} C"D2:NEWFILE.001"UE*Notice that the asterisk can go anywhere on the line afterthe copy command and it will still perform }the same function.For the case of two copied files, the placement of theasterisk becomes important. *TESTFILE.001 057} C"NEW"C"D2:BAK"UE*In the example above, TESTFILE.001 is copied to file "NEW" onthe same disk and to file "D2:BAK", but on}ly "D2:BAK" will belocked. To lock both files you must place an asterisk aftereach copy command. *TESTFILE.001 057 C}"NEW"*C"D2:BAK"UE*When the program finds an error in syntax, it will notify youafter you hit the return at the end of the }line. The programalso verifies if the operations are valid. For example, inthe copy commands above, the files "NEW" and "}D2:BAK" wouldbe checked to see if they are already present on the disk.If they are, then an error message is displayed.Wh}en an error does occur, the location of the error on thecommand line is indicated by an inverse character and amessage is d}isplayed in the message line. The entire commandline containing the error is ignored until the error iscorrected.When th}ere are no errors, the program will assign a queuenumber to the command line and display it on the left marginof the screen}. The queue numbers define the order in whichthe command lines will be executed when the START switch ispressed.You can }place command lines in any order you want by enteringthem into the computer in that order. However, if you latermodify a c}ommand line, its queue number will be changed tothe last in the queue. This feature can be an advantage ifyou later decide} to reschedule the operations.The program will allow you to modify command lines andreassign queue numbers up to a maximum} number of 255.However, only the two least-significant digits of the queuenumber will be displayed on the left side of the }screen(e.g., 106 would be displayed as 06). This can lead to someconfusion regarding the order in which the commands will }beexecuted, since some queue numbers will appearto bethe sameon the screen. To determine the actual queuing order, uset}he TAB key to sort the directory in descending queue number.V. COMMAND EXECUTIONPress the START key to begin executing }the commands you haveentered into the computer. The program will clear the screenand list the command lines as they are be}ing performed. Acursor moves below the command line to indicate the commandthat is currently being executed.When you are} working with 2 disks and a single drive, youwill be prompted to swap the disks in the drive at the rightmoments. In addit}ion, an up-arrow is written below thecommand line to indicate the operation that required thedisks to be swapped. If swapp}ing is not required, a cursorwill move below the command line to indicate the command thatis currently being executed.Whe}n an error is encountered during an operation, a messageis printed giving the error number and its origin. Someerrors may }be recoverable. The program will ask if you wantto correct the command line and retry the operation. CORRECT AND RETR}Y (Y/N)?When you respond with a "Y", the program will list thecurrent command line on the screen and allow you to edit it.}Just move the cursor up to the command line and enter thecommands like you did in the command entry phase. When youhit re}turn the program will continue with the scheduledoperations, beginning with the new command line you typed in.Remember, the} commands on the old command line up to the timethe error occurred were executed correctly, so, it may not benecessary to r}epeat them.After all the commands have been executed, the program asksto be terminated or restarted. ESC TO DOS, RET}URN TO RESTARTPress the RETURN key to restart the program at its beginningor the ESC key to end it.VI. DOS.SYS FILES}DOS.SYS files are special files containing the FileManagement System (FMS) for your DOS. Atari's operatingsystem requires }this file to be on all disks that are to be"bootable." Bootable disks will automatically load the FMSinto the computer whe}n it is first turned on.It is up to the FMS to keep track of the DOS.SYS file on adisk. For most Atari compatible DOS's, }the FMS treats theDOS.SYS file in the following manner: 1. Whenever a file with the name DOS.SYS is opened for o}utput or append, the FMS will write all of the FMS from memory to the disk as part of the opening process. It will} also modify the first sector of the disk to indicate that the DOS.SYS file exists and where it is on the disk. } 2. When a DOS.SYS file is deleted or renamed (to some- thing other than DOS.SYS), the FMS will modify the first } sector to indicate that the DOS.SYS file does not exist. 3. If a file is renamed to DOS.SYS, then the first sect}or of the disk is modified to point to the starting sector of the newly named file.The utility program takes advantage} of these FMS rules tocopy the DOS.SYS file using normal CIO protocols. When usingthe program you sould keep the FMS rules} in mind. Especiallynote the following peculiarities: 1. Whenever you copy or append any file to a file with th}e name DOS.SYS, the program will copy the FMS from memory to the disk. It does nothing with the original file. } 2. When you try to append DOS.SYS to DOS.SYS, it does just that -- add another copy of the FMS in memory to the} DOS.SYS file on the disk. This is always a useless operation and wastes space on the disk. 3. Beware of writing} DOS.SYS files when using disks of different densities. The DOS.SYS file that is written to the disk is the one bo}oted into the computer's memory. Be sure the DOS.SYS file you want on the disk is compatible with the disk's densi}ty, or it won't work properly.VII. SCREEN COLORSThe program contains a "hidden" feature to change the screencolor}s. Type a control-C and the message line lights-up withthe following cryptic remark: (BCDMST),Hue#,Lum#:Your respon}se will be similar to the Basic SETCOLOR command,except that the first number is a letter. The letters referto the area of} the screen to be modified. B = Border C = Characters (luminance only) D = Directory M = Message line } S = Status window T = Top of screen (command menu)The letter must be followed by two numbers separated bycommas. }These two numbers work exactly like the ones in theSETCOLOR command. The first number sets the color's hue andthe second s }ets the color's luminance.The characte letter "C" wil change the luminance of all thecharacters on the screen. You must } include a number for hue,but it will be ignored. Remember, if you set the luminanceof the characters to the same luminanc }e as the colors, thenthe characters will disappear on the screen!It will take some experimentation to find the colors you  }likethe best. Once you have found them, respond with an emptyline. The program will ask if you want to save the new color }scheme to the program file. If you want to use the newcolors when you run the program in the future, then enter theprogra}m's name (D1:CLEAN.XMO unless you have changed it).BEFORE YOU HIT THE RETURN KEY, place the disk containing theprogram file} in the drive you designated in the filename.Hit return and the program will write the new color numbersto the program file}.VIII. HELPFUL HINTS1. The program uses all the free memory space above theprogram as a buffer for copying between f}iles. You cangreatly enhance the speed of the program (and perform fewerdisk swaps in one-disk operations), if you remove }anycartridges from the computer before running the program.2. This program may invalidate the use of a MEM.SAV file.The }MEM.SAV file only contains the portion of memory that isoccupied by the DUP.SYS utility. CLEAN uses all availablememory in} the computer and will wipe out any portion of yourprogram that is not saved in the MEM.SAV file.3. If you want to copy f}iles using the "Write with ReadVerify" feature of your DOS, then you must enable thisfeature before you begin the program. } Refer to your DOSmanual for instructions.4. Atari DOS 3 users will notice that the #SECT and #FREEquantities in the sta}tus window actually refer to the numberof Blocks. Also, all references to the DOS.SYS file in theseinstructions will not h}old true for the FMS.SYS file in DOS 3.To create a bootable DOS 3 disk, you must write the FMS.SYSfile to the disk using th}e DOS 3 menu commands. To create abootable disk that will need the DOS 3 menu, you must writethe FMS.SYS, KCP.SYS, KCPOVER}.SYS and all the utility (.UTL)files to the disk using the DOS 3 menu commands. Copyingany of these DOS 3 files with this }program will not work.5. Atari DOS 2.5 users do not have to reconfigure theirdrives for single and enhanced density usage}. DOS 2.5 iscapable of determining the density of each disk, provided anAtari 1050 or 1050-compatible drive is used. Also}, you cancopy between disks of different densities on the same drive.6. MYDOS users will notice that the program only all}ows DOSoperations using the main or root directory. Files stored insub-directories are not accessible and are not listed o}n thescreen. Special "Directory Files" are designated in theprogram by a colon in the number of sectors field associatedw }ith the filename. Some DOS operations are allowed onDirectory Files, such as, lock, unlock and erase. Also, youmay copy f!}iles to sub-directory locations.7. The author welcomes your comments or questions about hisprogram. Leave mesages on the"} Compuserve Atari SIG forJim Granger 70446,1436.DL 3: ri Disk Utility Program by Jim Granger ;KiLLV B ID DISK #FILES #SECT #FREE DENS PAGE D1: #1 00 000 000 1S 1  CLEAN version $}2.00 by Jim Granger For the Public Domain, June 1985}ppend ock page abortopy nlock disk %} queueename rase sort printdiskpag1D1:DOS.SYSERROR FROM EDITORCAN'T OPEN D1:*.*CAN'T OPEN D2:*.*&}DRIVE 1 ID?DRIVE 2 ID?# DISKS (1 or 2)?PUT DISK #1 IN D1: AND HIT .PUT DISK #2 IN D2: AND HIT .BREAK KEY ABORT}'}DENSITY OF DISK #1 (S or D)? TO DOS, TO RESTARTCORRECT & RETRY (Y/N)? (} BAD COMMAND FILE LOCKED FILE ERASEDONLY ONE RENAME ALLOWED BAD FILENAME FILE ALREADY EXISTSDRIVE ID IS NOT ALLOWED)}NO DIRECTORY ENTRIES LEFTNOT ENOUGH ROOM ON DISKAPPEND FILE DOES NOT EXISTTHIS DRIVE # NOT OPENED PRINTER I/O ERROR L*}AST COMMAND # (BCDMST),Hue#,Lum#: SAVE TO FILE? ERROR-SAVE TO FILE?HDJEhBHI V`آiϝDLiE +} SOɈ ɀL]iL0i` GOLOȱۙJɛ J(JUDJ sO`U۝DM sO` fO` fO` d,}O`LP LSO fO fO` fO fO`]J^J_J GO0 J O` O8`]JJ) (ۢ-}J  J .ȽJ Jɛۅ܅ ٠)ԑȥՑح^Jeԍ^J_JeՍ_Jۅ܅.}2]JۭJ ۢ QLAP84ۥ`إi4ۥi`ޠȱ)ޤޑ݈ۤ`'ۅԩ ؠ  L2Q(/}ۅȱۅ ؠ L2Q*ۅȱۅ ؠ L2Q84۠(۠*۠5۠)۠+ lQLQ1S@K80QQ Y`1N@0}K 80QQ Y`]J8.ۭ]J3۠' SQJ ^J(eԠ4ۭ_J)eՠ5 Q Q0B1}KE `)  R5 Q0K)2ۭK) D mR,`5 XRLmR)M fO( OJSD OLR2}  ۝JܝJ Q@ߥF`8ԅթ֥֥օeԅ JJ J۽J SХ JRJ3}RJJJJRJRJ8𝐛L+SMSSNS R3ݥ J۽Jܥݑ``0۬1ܠ۠`ɍ4}T:ɏɎ T)iTLbT8TLb ULbЭ) 7SLbh@xJ vɶw5}tɆ*ɇ&Ɏ%ɏ1ɒE)?,77 4UᰴLTTiTLTT8TLT@ xJ LCTHHKEO%N 6}ЩThh@HHKEO%N `ЭK͟KEO%N dЩɍThh@xR@ԩ Scd \xlJmJnJKK7}TT `T OKK` cURUDK sODJ sOrJ6DJ& sOR`RۍK܍KT O Q8}T tU'UT fO fOKۭK`8-` L Q۩0`۩=`۩J`6۩J`J`6J`oJ9} PB JKLlVE:iDVE V䘩vJDLH sO F F Fڠ 0VۍV0܍V۠(4 :}QKJ6J6>J; fO( O V OLV轀J D J19`8`sJrJJJLAMtJF fO( O V OL-WJ9J;}McMuJJQ fO( OJ12 OLXWsJrJb" fO( O OBJKDLE V dOL{W V 2P (V R V S<}rJLLLQXLL" fO( O OBJKDME V) dOLW V 2P 1V R V S,Ji8bJKs=}J 1tJ2uJxlJmJnJT T'ET ۢS \x SKKKɍTԢwJqJv>}JXHDLt sOLXY:S O%%T%LYLJdqJ V CVLY V :V-.i-$iL7Y-$1 V UL?}XrJ V :VL+YqJ,qJ V=J)=J>J)>JJ JJ J :VLYqJ VJ)JJ)J=J =J>J >J CV V ULX PK@}KܥTJJ8 QۍL܍L ,xJLybPLCcLaJɛ)J轀J ,ݠ JɛL^L^ɛA}LZ۩ ȑ۠) ( pZ+2rJL^L^'J,8ۍ'J(J.8ۍ(J)Jۍ)JrJ]J-8ۍ]J^J08ۍ^J_Jۍ_JB}`/JeJ) pJ轀J ,ɛL]U)L5EjRL[CL\AL]]*L4[L^,pJpRpJ)pJLZ,pJpBpJ pJLC}ZpJ)L^KK*( LZ@,pJ L^PL^ pJpJqJ/J80J)ۍ0J1Jۍ1JLZeJ8fJ)ۍfJgJۍgJLD}Z ,pJ L^PL^'L^ P_}JʽJ:cL^ _NL^rJ qJ _ `pJ pJJɛL]LZ,pJPL^ P_qJ E}_rJ qJ _ `|JG :V,pJ'Jm/J8,@|L^*J.qۍK+JqۍK|JqJ@KyBL] CV,pJ]JmeJ8-F}@`J0qۍKaJqۍK|JqJ>K7I) ȱ*ߠ0qߥqKL^KL:])0qߠ*۠1L\*JG}jߐiߥiL\,pJL]pJ pJK/iL],pJPL^ P_qJ _*rJ qJ _ ` C). L^)H} L^C KKpJ pJLG\pJ) pJߠ0ȑJɛLZwJL^ݠJɛ+ pZ+wJ1wJwI}Jۅԩ ؠȪޠ0 LI^ ۭpJ(ۭ/J,ۭeJ-ۭ0J.ۭ1JȑۭfJ0ۭgJȑ'Jm/J'Jح(Jm0J(J)Jm1J)JrJJ}']JmeJ]Jح^JmfJ^J_JmgJ_J 1V SQ Q (V SQ Q tULۭLܭJT OT ULX PLXHJ J cUh ,_ |O ORUJK}TDJ sOL^HTKKhNUiDNiE`轀J"8@`qJJD%J:꽂J:轀JtJ uJ8`|J}JJɛL}*? "}J~J`{J 0L_=ߠ V(K{J|J* ,Kp#E}Jޱ݀J~J KL`M},Kإi4iߥ@~J`נȅޱɛ"ȥANC{J|JBȱ:tJ |J )|J"L`}JN}J~Jɛ*"ȱɛ"L`LE`ȱ" ɛ *L`~J8`pJ)0`JK}JKK@߭qJ{JLC` cUO}UKKT DO sO P( O PJɛUBC&D-M1S8Tк 5bK 5bK 5bK 5bK 5bKK 5bP}KL aDOUT sO P( O PJɛaDh@ԭKТB JKDJE V0< GO03KKDKE SOKQ}K0 OԩL^ O O3DOLa轀J ,J ٥ ߦ轀J , ٥)`@ԭKЭR}qJ VLb Vp PpBJKLbP:DbE V0Mݠ  #c0< QݥA 5c0(۩K #c0qJ (VLc 1VS} #c0 PLc P ,_ |O OL^ɛ )J'𩛙Jp< LGOqJ V2J Yc2JLnc`` VhJ YchJۍL܍LT} ?MSdLc8MSdLc1MSdNS RL diݥ J۽Jܠۑ4 "dܩiLۭLܢݠ4 "dU} QݥqJ V :VL+Y V CVL+Yإi4i`2`3`+`` #U OvJK{JXKKwJLwi VqJ+3JV}ݱ͔K3 QL}drJōqJ ViJݱ͔K  QLd OyJyJޱɛȱɛ ,ބU PޱULdgLW}LgELgRLgCLhALh*Lg߄U OߥiDNiE |O O fO( OJYNLwiR O{JDJEd X}ORpJJɛ)ۙJ'ۙJȱ ,ULER.CA*CɛLeLdpJ P_&JɛꊨLe P_}JʽY}J:~JLecHhL epJ0Le݅ԩ ؠȱL)LyJ O fO sJ rJ1JDJLqfsJ rJ2KZ}DKE |OL;eHJJLf8JJ۝J ɛ "ʩJݢDJL gJKLf8JK۝[}K ɛ "ʩKݢ DKE`{JK{JsJArJ:{JyJyJ O" fO( OL`gyJyJ Ob" fO( O{J`$\}߭qJ g zf SOL fLd#Lhg DKEzJ g # SOL f!LhgqJ g zfݩ,J۝Jɛ "񩛝Jޢ]} SO ݩJL fJɛ LdLh ߤȱۈ:tJ qJzJȢ zfޢKL ɛLh^}qJ g zfBJK V ݅ O PLfqJ gBDiE8麝HiI V䘍pJɈо0%zJ g BߝJ_}K V00=zJ g BDiEHI HI VLhpJ0Lh O PLdԆݩ ؠȱL)L dOvJ #UL`}wivJ #U OR O dOL~iR OvJX P Oנ fO LPV dOoJXl K CLEAN version e N$ _#AN("R@ * # P * " "L   1 N$i    Yib}  Έ `H` B VBD EhK)I J V`S: K!I!I!I!J!`H!NЩ$ѥiҥiӠc}L! #H!mI!J!L H!ʠЙ8!ґЈ8!҈L!  B VBJD!E Vd}"`J!BHIHI V0 B V䭇 ɛJ!"J!`D:*.*R"" " LS1Pe}"" " LYNЩ$ K! " |!Ѝ"ȱЍ" !#)"(#)" "##" !"""f}" " # J!`g}iХi`NЩ$Ѡ0 #L#`Ѕiԥхiՠԑ҈ȱԅiԥՅiL:#L# q}b'DOS SYSb*+DUP SYSb UAUTORUN SYSbaHELP DOCbqCLEAN DOCb>#CLEAN OBJb aDIRSORT OBJbsRAMDISK2DOCbRAMDISK2COMb RAMDISK COMbFSETUP COMbEMACRODOSDOCbMACRODOSOBJb%INVISEC1BASb 6INVISEC2BASb?XDRV DOCb WXDRVDEM BASb`XDRV OBJbzNOCLICK OBJb|BLKDOS DOCbLBLKDOS OBJ BHID#E VBHID#E V䭰#81# `# ̠ ٠ FOR DOS r}II DISKS숛 ӈAlphabetical Sort:1. Ascending2. DescendingEnter Choice:h iuRAMDISK2 RAMDISK2 configures an ATARI 130XE's Extra RAM for use with ATARI DOS 2.0S or the OSS DOSXL File Management}t System. The Ramdisk (D4) created by RAMDISK2 has 503 free sectors, 4 through 359 and 369 through 515. Sectors 360 throuu}gh 368 contain the VTOC and Directory as usual. Boot sectors 1 through 3 do not exist, but a read or write attempt returv}ns a 'success' status code. Any attempt to access sector 516 or higher returns an error 144.INSTALLATION Followiw}ng a power up boot, the RAMDISK2 object file automatically installs and formats the Ramdisk when executed as a binary x} load file. It may alternatively be renamed to AUTORUN.SYS. The installation functions are: 1. Verify that ty}he DOS File Management System is either the standard Version 2 as supplied with ATARI DOS 2.0S and normal OSS DOSXL, or thz}e modified version from DOSXL.XL. Exit if not. 2. Verify that the computer system actually has Extra Ram at 400{}0 hexidecimal. Exit if not. 3. Copy the relocatable driver code to the end of the FMS, and set the drive bit in DRV|}BYT for drive 4. 4. Replace the FMS calls to SIO and the OS Resident Disk Handler with calls to the relocated code}}. 5. If the FMS was the standard Version 2, kill the 'write DOS' function by pointing it to the Invalid Devi~}ce Command error return. 6. Add the length of the driver code to SASA, the FMS start of allocation address w}ord. 7. Reinitialize the FMS. 8. If the Extra RAM is not already formatted as Ramdisk, clear it to zeroes }and write the VTOC for the 503 available sectors.NOTES: A reboot without turning off the computer does not destroy t}he Ramdisk contents. Once RAMDISK2 has set up D4 in the Extra Ram it may be used like any other drive interfaced through }DOS.SK2 RAMDISK2 configures an ATARI 130XE's Extra RAM for use with ATARI DOS 2.0S or the OSS DOSXL File Managemen88LY  `  `8 4 4* 5xӪ)5H48jJ5j4230!}hHӱ4ӑ20BhӪHhHӱ2ӑ4) #rr˰ rrrrrh) өX`LS!}89`Y6/Ӫ)兀ӭ@@@I@@I@(L9SQx)ӭ7S'8!} :;7;8 өXL9 өX` :;;L   cɩ!hɩdidiiii i!}  i  9:x)H Ӣrrrhjө@3223iH) hh) өr3!}2ȩ2ȑ22ȑ2 2ȑ2J272ȩ2 өX`8*   2 348504235!}4242 i:;; i;`8`8 4 4* 5xӪ)5H48jJ5j4230 -8<<  B JKIHiDiELV`L8 8 BLV`Lx%}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`H%}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0IC%}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::i%}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8%} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9%}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  %} L;D8:; :9 :Y;L 5==8= > >=)}LD>o=m==i 6=L>`TLI>Lj>} 堢>L ;6L> This program will work with and>t )};6L>" affect the diskette inserted in> ;6L> drive number %C.%E9> ?8L?"To specify another drive, simply)}> ;6LD?# enter just the drive's number at? ;6Lq?" the prompt (any key but a valid?N ;6L?& drive number requests)} 'no change').?{ ;6L?Which drive to use ? ? N6 _;E>E>1L:@4E>L:@E> 6E>9E>9E>9E>:L)@ %E%E )}Drive %C now selected.%E9@ ?8Lu@Lg@)%E%ENo change--drive %C still selected.%E9@= ?8`'Lz@L@ Current Syste)}m Configuration:@} ;6L@Active Drives: @ N6v@v@L@ v@=%:L@v@i0 6 6v@L@ 6 )L-AL)}&A (RamDisk)A ;6 )v@v@ILALdA!κ IF a RAMDISK is added toAB ;6LA# this configuration, th)}e DOS menuAn ;6LA will NOT work properly!A ;6v@ILOBLA!Һ do NOT return to DOS withA ;6LB" this confi)}guration active. theA ;6LHB# DOS menu will NOT work properly!B$ ;6L|B)%EUp to %B files open simultaneously.%E%E )}BR ?8LBDisk writes occur B N6yIPLBLB verify.B ;6LBLB with verify.B ;6` CloLBLC&} )}B ;6 w@LIC"Do you want to change any part ofC& ;6LrC that configuration (Y/N) ? CS N6 `=)}LC 6 69` B ByBLC#}Specify active drives by simplyC ;6LC" typing their drive numbers, oneC)} ;6L!D! after another. Any key exceptC ;6LOD# a valid drive number (1 to 4) isD+ ;6L}D# assumed to be end of your)} entry.DY ;6LDActive drive numbers ? D N6 )   _;BB1LD4BLDB 6 6B) %: LDL)}DLD 6L!E#How many files do you need to haveD ;6LKE open simultaneously (1-7) ? E+ N6 _;BB1L|E7BL|E)}B 6B)  6LE!Do you want disk writes to occurE ;6LE verify (Y/N) ?E N6 `=ILEPyLEWyLF)}!} E ;6 w@L@F#Are you this configurationF ;6LgF is what you want (Y/N) ? F)}J N6 `=LFByB B LG  6LF!Current system configuration hasF ;6LF been changed. Do you want toF)} ;6LG! make these changes to the diskF ;6L;G! currently in drive %C (Y/N) ? 9G ?8 `=ILG H69)}:  69LG 6 6LG!Unable to change DOS on that diskG ;6LG! because error # %U occurred.%E9)}G ?8 6LGLB`,LGL!H&}Please enter the name of the BASICG ;6LLH program that you wish to haveH+ ;6LzH# auto)}matically RUN when this diskHV ;6LH is next Booted.H ;6LH!Do NOT enter the drive specifierH ;6LH# (i.e., do )}not use D:, D1:, etc.)H ;6LI" but DO use the proper extensionH ;6LKI" (e.g., .BAS, .SAV, etc.) if youI( ;6LtI )} SAVEd it with an extension.IU ;6LI"REMEMBER: The BASIC program thatI~ ;6LI wish to 'AUTORUN' in this wayI ;6L)}I! MUST be SAVEd on the same diskI ;6L%J" which receives this AUTORUN.SYSJ ;6L@J program file!J/ ;6LpJ%Now e)}nter your BASIC program's nameJJ ;6LJ here >> Jz N6 9 |;LJ`G9 <`ILJLJ&} )}ήӠ堢J ;6LK"When the disk currently in driveJ ;6L=K# number %C is next booted, what%E9K ?8L)}hK do you want to happen?KN ;6LK"1. The RS232 (R:) drivers for theKr ;6LK! ATARI 850 Interface Module areK ;6L)}K loaded and made active.K ;6LL&2. A BASIC program will automaticallyK ;6L2L load and RUN.L! ;6L_L"3. Both )}actions (1. and 2. above)L< ;6LxL will occur.Li ;6LL0. None--quit to main menu.L ;6LL! Your choice (0,1,2)},or 3) ? L N6 _;JJ0LL3ʹJLLJ)` = ;LJRINTELM JMMLM9`M)LwO GILMLUM})}Oops! That was not aM; ;6LsM valid file name!M_ ;6LM%Read the instructions again, please.M} ;6 ;9`99)}Т9 < H699 69LeO9ILN9LN}Be careful!M ;6L9NThe BASIC program name you used)}N ;6L`N has not yet been SAVEd onNC ;6LxN this disk!Nj ;6LNDo you want to do this AUTORUNN ;6LN setup a)}nyway (Y/N) ? N N6 `=ILN9`LeO 6L O#Oops! Error # %U while trying to%E9N ?8L=O check that BASIC prog)}ram file.O ;6L]O%EUnable to continue.OG ?8`:9Т: L)}U9SI2LU BLU9SI3LU MLU =9LU 6 6 ;LS`:Sices  B JKIH(AMACRODOS/J. ALLEN/page @JAN 12, 1983MACRODOS FOR ATARIBY JERRY ALLENALLEN MACROWARE1906 CARNEGIE #EREDONDO BEACH , -}CALIFORNIA 90278MACRODOS FOR ATARI 400/800/12004 It's 12:30 a.m. You're just finishing up with your new progra-}m when you decide to go to DOS, mistakenly thinking you had MEM.SAV on your disk. Too bad you forgot to do a SAVE or LIST fi-}rst! There is absolutely nothing left to recover. Or, maybe you remembered MEM.SAV but just to read the directory or unlock-} and erase a file, you sit through a minute or so of saving to MEM.SAV, DUP.SYS loading in, and then MEM.SAV reloading your o-}riginal memory. Add this to the fact that DUP.SYS and MEM.SAV wasted some 87 sectors on your disk, causing you to have to ca-}ll DOS in the first place, to check the directory and delete a file which was non-essential. Those out there familiar wi-}th DOS I, OSS Basic A+ (OSA+), or a year old article by Dennis Keathley, entitled, MicroDos, know that there is a better way.-} ATARI, in releasing some 4000+ bytes for use by separating the File Management System (FMS) from the Disk Utility Package (-}DUP), left us with a few residual problems. These involve time, space, and potential loss of work. Then there was MACRO-}DOS! MACRODOS is an instant access disk utility package for a one or two drive DOS 2.0 system. MACRODOS only uses three pag-}es of RAM and therefore can be permanently co-resident in memory with the FMS. You can pretty well forget about MEM.SAV. An-}d when you need to call DOS, you won't have to worry about losing your Basic or Assembler program when you return. MACRODOS -}can also be used without a cartridge. MACRODOS supports all the normal DUP functions excepting file and disk duplication-}; some of which can still be accomplished with the SAVE (binary file) command. Also, MACRODOS incorporates a new feature to -}DUP systems: HEX or DEC 'RUN' and address entries, and a permanently available hex/dec, dec/hex converter. No more lost tim-}e looking for that subroutine, which must be around somewhere, or couldn't be loaded anyway because it conflicts with somethi-}ng that is in memory. You will still be allowed the option of using ATARI DUP, but now, before you take that step, the d-}irectory can be safely checked to confirm that MEM.SAV is indeed there, in case it's needed. MACRODOS resides in memory -}after the FMS, where ATARI DUP would normally load. The big difference here is that it pushes MEMLO up to stay out of the wa-}y of your programs. This is no cheap page 6 trick! You will still have use of page 6, page 4, and even page 1 (yes, I have -}two programs which use part of page one). When SYSTEM RESET or BREAK is hit; no problem. MACRODOS will reinitialize itself,-} just like it should; unless you have exited to ATARI DUP, which resets the old vectors. Some of the MACRODOS operations-} differ slightly, and, as you might expect, certain protocol is necessary. If you have used ATARI DOS-DUP already, there is -}really little to learn, and you may even find that the new operation is easier to master and execute. Before I begin with th-}e commands, let's set a couple of ground rules. First of all, you should be using DOS.SYS 2.0S in the same (or a smaller-}) configuration that comes on your master disk. Actually, if PROGRAM 1 is used, you should be able to re-align the program f-}or larger versions of DOS.SYS using more buffer space. The source code will check MEMLO and change everything accordingly. -}PROGRAM 2, however, which is for Basic users, is constrained to using a version of DOS.SYS which, after it has loaded, has a -}MEMLO of 7420 ($1CFC), or less. Use the direct mode command as follows to check if in doubt: PRINT PEEK(743)+256*PEEK(744).-} Of course, if you are sure that your DOS.SYS has not been altered from the master disk, you shouldn't even have to check. -}MEMLO will be 7420. There are a few new prompts to familiarize yourself with. First is the '>' prompt, which expects th-}e return of a function command's first letter. The directory, format, and write DOS functions use the prompt 'D#', and expec-}t just a single number of 1-4, or just plain RETURN, which defaults to drive#1. The format command also uses a '?' to ask if-} you're sure, and looks for a 'Y' or 'YES' to be returned prior to proceeding. Functions requiring a filename use 'FN?'. Th-}e device name 'D:','D1:','D2:', etc., must be included in the name. Rename (RNM) requires only one device name and definitel-}y none for the name after the comma. The '@' prompt is used to mean 'at' or 'to' when an address input is required. Asterisk-} wild cards are still allowed.The commands: 225[D]IR- used to read the disk directory. The second prompt requires a drive-}# of 1-4 or RETURN only for drive#1.[R]NM- rename a file. As in ATARI DUP, use the device name only with the old name (i.e..},D3:MAC*.*,AUTORUN.SYS).[*]LK- lock a file.[U]n*- unlock a file.[F]MT- format a disk. Answer 'sure?' (?) with a 'Y'. Give .}drive#.[E]RS- erase file.[C]RT- return to cartridge; Basic or Assembler.[S]AV- save binary file. Enter the filename at the.} prompt. Do not use commas! Enter the 'from' address at the '@' prompt. Then the 'to' address at the next prompt. The numbers.} given may be hex or dec or both, but must be preceeded by a '$' for hex or a '.' (period) if decimal. This command will allo.}w appending to an existing file if a slash ('/') is used after the last letter of the filename. RUN and INIT addresses must b.}e added by appending to a file. Poke (or use command C in DEBUG) 736,737 ($2E0,$2E1) for RUN, and 738,739 ($2E2,$2E3) for INI.}T. Remember to poke low, high. Then go to MacroDOS, and append the addresses you just changed to the file. Do not hit SRESET .}between the pokes and the save or 736-739 will be cleared.[L]OD- binary load.[@]RN- run at address. Hex or dec.[W]DS- writ.}e DOS.SYS (only).[$]>.- hex to dec. Enter '$' and # together. range: $00 to $FFFF[.]>$- dec to hex. Enter '.' and # togethe. }r. range: .0 to .65535 [!]DS- escape to ATARI DOS (DUP.SYS). Remember that without MEM.SAVE on a write unprotected disk in d. }rive#1, programs will be wiped out. After using this command, you'll have to re-boot or load from ATARI DUP using MEM.SAV. (. }I don't use the letter 'A' because it is Atari's DUP DIR command and too easy to accidently use. The "!" forces you to shift. } & therefore think a little more). 150 Assembler users may alter the commands table (CMDTAB) if they so desire. Just rem. }ember to change lines which check for command input to reflect the new command letter. Also, revise TAB1 if necessary. .}To append another AUTORUN.SYS program to the end of MACRODOS, such as a menu loader for BASIC, do the following: Assumin.}g you have MACRODOS up and running as AUTORUN.SYS, enter DOS, then load the other AUTORUN.SYS from a another disk. SAVE with.} APPEND ("D:AUTORUN.SYS"). Enter the beginning and ending addresses at the '@' prompts. Then, if necessary return to the c.}artridge and POKE or otherwise change the INIT and/or RUN addresses as previously described. Return to DOS. SAVE with append.} again to pick up the addresses just altered. If you can't figure out the load addresses, use the following program: 10.} OPEN#2,4,0,"D:YOURPROG.OBJ 20 FOR I=1 TO 6 30 GET #2, A 40 PRINT A 50 NEXT A 60 CLOSE #2 The f.}irst two bytes should be a header of 255 ($FF). The next four bytes will be the beginning and ending addresses of the load (.}two byte numbers; low byte, high byte format). See the ATARI disk drive manual for more information. If the file loads to m.}ultiple address areas including RUN and INIT, after the first block of memory is loaded, OS checks for a new header of 255,25.}5. If it is there, the header is ignored, and the next four bytes will be the new from-to load addresses. Loading RUN with p.}age 6 (1536) would look like: $E0(224),$02(2),$E0(224),$02(2),$00(0),$06(6) (without header). With a little math and modific.}ation of the previous program you could find all the load addresses of any compound load file. Hope you find MACRODOS us.}eful. We here at ALLEN MACROWARE use it frequently in our work and as part of some new software packages that are being deve.}loped. If you don't want to type the programs in send $8 to the address listed below. We will supply the disk, pay post.}age first class, and include the Basic and Assembler source, and a ready to roll AUTORUN.SYS.2 Allen Macroware 190.}6 Carnegie #E Redondo Bch., CA 90278PROGRAM1D:MACSRC.TXTLLENALLEN MACROWARE1906 CARNEGIE #EREDONDO BEACH , ,G :H hZ vDmZ t j v pH h l?  vYЍ t02}D #  v`F N ? LvW tȹ jL4 NZ j   p  2 }`S7 ȱ/Zɛ jԅ      p9@ lCLt!@  @L$  T .  -o2!} BHEDI V0+` BHE٩ Ԣ BH  Dh ThhL  2"}@  v.$н L Dڠɛ80 0&ԅ`5JJJJ H5 H0! 0ii0` ؠɀ0)2#}ȩLpբDE8HL @  `>SD $> .> SD NR DO VAӛTR TM SR MN *N KL RIěRE2$}*UF !#$D1:*.*D1:DOS.SYS  LZ vDmZ t j v pH h l?  vYЍ t00+ !iBUFRADATEPERSONSERNOCOD(@3@@A6*6&}******************** READ OR WRITE* TO SECTOR 720%%* BY CHUCK McMATH ANTIC MAY '83********************6'}<<;A(,;@,;@,;@@,;@, --@2")A6%- P +AR6(}@) A/(}2(L( (R)EAD OR (W)RITE PA67@,. %67A(,. 467@,.A6. 6)}6- 4R6-@() 4W6-@)AR2"@ 74R@<S#6*}  ENTER LABEL (40 CHARS MAX)&(O($ ----+----+----+----+----+----+----+SA"(  ENTER YOUR NAME :"F&("  E6+}NTER DATE (MM/DD/YY)&K,((  ENTER SERIAL NO.(5 DIGITS) ,PH67@6<@u,.167A!<A(,.H67@6,}v<@,.U6-?:A6< TO BEGIN PROGRAM...65} F:B2y,@A$ D:PROTEC1.BAS(@3@@A6*4;  3BUFRR@3@A6************************ DIRECTORY* WITH HI:7}DDEN* MESSAGE%%* BY CHUCH McMATH ANTIC MAY '83***********************99LINES 15-99 ASSEMBLY ROUTINE TO :8} READ SECT.720 -;A(,;@ ,-AR@--@2")A6%- 467@,.:9} %67A(,. 467@,.6-?:A6<@} D:PROTEC2.BAS@3@A6************************ DIRECTORY* WITH HI8! *** THE 'X:' DEVICE ***************************************** ** CHANGE NOTES: >@}fixes and mods ** ** 01/01/85 Calls to ATARI FP ** ROM replaced w>A}ith ** integer math code ** ** 11/13/84 1. now supports BASIC ** >B} PRINT statement ** 2. supports SYSTEM ** RESET key properly ** >C} 3. some memory use ** bugs fixed - now ** can CLOSE/OPEN ** repeate>D}dly without ** using more memory ** ************************************>E}**The 'X' device driver is an 80-columndisplay device driver for all ATARIcomputers. When loaded into memory itinstalls >F}itself between addresses$2B00 and $35D0. Since it is not yetrelocatable this places it high enough to allow room for norma>G}l DOSusers (DOS/XL, OS/A+, DOS2.0s) and leaves space for the 'R' handler ifthe 850 Interface Module is used. Arelocatable>H} version is planned forthe future.The 'X' device driver loads an 'X'device entry in the Handler AddressTable and provide>I}s standard CIO interfacing to the driver, with somecaveats. When opened for OUTPUT itperforms like the 'E' device; allusu>J}al cursor and editing controls arefollowed and inverse video isprovided. When opened for UPDATE itdoes not edit out cursor>K} controlcharacters like the 'E' device, butpasses them back to the caller likethe 'S' device.The 'X' device driver provi>L}des someediting features that are not offeredby the 'E' or 'S' devices. ERASE Lineand Screen to and from the currentCURSO>M}R position are provided via XIOcommands. Absoulte Cursor Positioningis also provided via an XIO command. COMMA>N}NDSOPEN #n,4,0,"X:" - open #n using 'X'CLOSE, GET, PUT - as usualXIO cmdno,#n,0,0,'X:' - special cmds cmdno = $10 ->O} position aux1,aux2 cmdno = $20 - erase line to CURSOR cmdno = $21 - erase line fm CURSOR cmdno = $22 - erase screen to CU>P}RSOR cmdno = $23 - erase screen fm CURSOR USAGEATARI DOS users should name the XDSPLY file AUTORUN.SYS on >Q}their bootdisk. It can be concatenated to anexisting AUTORUN.SYS file, such asthe RS232 handler. OSS DOS/XL or OS/A+ user>R}s can leave the file asa .COM file and install it by runningit like any other Extrinsic command. CAVEATSXD>S}SPLY does not replace the 'E:'device. It can be used like it incertain circumstances and you canmodify the OS's Handler Ad>T}dress Tableto substitute 'X:' for 'E:'; but notall of the 'E:' features such as fullscreen editing are supported. >U} BUGSPlease report any bugs to me viaEMAIL on Compuserve at 70545,507and I'll try to address them in thenext relea>V}se.Alex M. Stevens70545,507DL 3: ***************************** ** CHANGE NOTES: <( ,Bg.(&}آŠҠ1(;(NOTE:>(g($IN ORDER TO RUN THIS 80-COLUMN PRINBX}T SS(KDRIVER DEMO, YOU MUST BINARY (L)OAD XDRV.OBJ FROM DOS, THEN RETRUN c&(TO BASIC AND RUN THIS PROGRAM.)(BY}c(5WHEN YOU ARE READY FOR THE DEMO..... PRESS []. F:B2y,@@##@@X:BZ}55(@$80 COLUMN PRINT DRIVER DEMONSTRATION(U(@U(@9This program is intended to demonstrate the B[}use of the X:2RR(@Adevice driver, to show how you might use it in your own programs.7SS(@BBy listing [LB\}.] this program, you will see how to enter your text.<VV(@EFor added convenience,the XDRV.OBJ may be appended to tB]}he AUTORUN.SYSATT(@CProgram so that it will load automatically when the disk is booted.F11(@ Read XDSPLB^}Y.DOC to learn more...Pk(@`(@D it's your turn -- try the keyboard. SYSTEM RESET when finished.k(@B_}d##@@K:n)@*@x AD:XDRVDEMO.BASN THIS 80-COLUMN PRIN@h++ H+ G+X(E [+K +`X47`` + + + `Ht+{+u+|+Fa}h3i3h`H++++33h`+, |, +H-;,hԑ(eԅԩeՅ`HHHH΅ԥυդбȄMFb}ѭ&- JJJJѥ)ѥ) )Ѣ;, )Ѣ;,hhhh`72){, {,{, |,eFc}ԩeՅխ{,`HHH(H '-hhեJeԅԩeՅխ9,:,,,eԅȱeՅ`,&-) I` i@Fd} ѩ&-) &-8ѩHHHH '-hhmΥm`'-]-h\-h]-hh Dhh ٥HH]-H\-HFe}`^-Y.b-c-@--X-Y-8^-@-_--8-b---c---mb---mc-- -˩`-m-Ff}-m-HH-H-H-H-H -`hhh.h.hhhhъHH8ЪѨ͠.. d. 9.`.БҩFg}. БZ..ҩ`.eхѭ.eӅӬ. Бҩ.ӈБҩ`./hhh.h.h.hhՊHH.. Fh}.`. .`XԥYթ.. .`˅`8`ɹi򩸰`P` &/ , Fi}+`HHH(H '-hb-hc-ˍk/ l-k/`HHk/H(H '-h^-h_- d-`-^-a-_-k//0k/k/` z0/)Fj} /(j/(/ 0`//)jH/)/h /(`) z0 z0̢//Hh/hH/H(h*Hh/hFk}) ܱ Z0/ 0й`//H/H(h*)H/)/h /(`8PJ/ |,`i(ԥi` '101 8/̥HP |,hH Fl}'1 0 8/ |,H̥HH |,ԍ%1Ս&18hԍ.hՍ.h 0 21`)8`$1%1ԭ&1 .(m%1%1m&1&1$1`̍l/ˍFm}k/`l/̭k/` '1 |,HH |,ԅԥՅ8hԍ.hՍ. . 21 0` '1 0 21?˩ |,ԍ%1Ս&111˩P |,8%1Fn}.&1.%1ԭ&1 . 21`HHHҝ1hhh`HHH1hhh`1<2/8j j16606666Xi66YiFo}6 6"/`=283Copyright 1984 by Alex M. StevensPermission to copy and/or distributeto any person for non-commercial (publicFp} domain)use only is granted by Alex M. StevensOctober 28,1984.``j20212 1 . 20ԭ1Fq}eԍ9,eՍ:,93444˅ <,`2j2021i3Hh3H`H̥P x3h`i` э2 1 ^,} . /Fr}x /n /d &/Z //P~ 8/Fɜ F/<ɝ m/2 /( /ѥɛ x3 , + j3 <,Fs}˰ d- 12L`"5405 !"#  l4 0 0 =1 s1` ^,* ˥+Q8 <,`2M333*4/Ft}4L+U_U tE#u!2bb``0"AAAA"R"w"R @$ "vRRr'wsAEwWTtGAAqQqwUWqQq" "$ '@ '@Fu}'!" BwUwEEuwTtTTwgTWTTg15,6wDdGEGWRrRRWUuEEGGEugUUUUWwUUwEGwTWaQWu%%%%'UUUW'%Uu'rRRsrBBsFFv}B"" PPRrss"" """4&bC03ss SS""`po,,, &$&47Fw}"r""'""AwA" gqwe'@GtTTw-66uWTw0'u'!'B@vRRVe %''%5gUUUWwUwAAwTGAG u%%%7UUW'%Uu'RVFx}vwBv'&&'%! "bcb" 676ԭ6ՠpȑȑȭ6666 6ȭ6666 6ȩAȥԑȥՑ`Oȭ6ȭ6Ԣ_Fy}ȑ`++X(E [+K +`X47`` + + + `Ht+{+u+|+D;55L^5343!5"N'5(`^5344 4?44@4!444=4444444ԍ5H( BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBN}}LACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACK DOS BLN~}ACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDN}OSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLACKDOSBLACKDOS BECAUSE THE FAMOUS "BLACK DOS" IS A MON}DIFICATION OF ATARI DOS 2.0, "BLKDOS.OBJ" IS ONLY COMPATIBLE WITH DOS 2.0. NOTE: DOS 2.0 IS THE DOS USED ON THIS THEME N}DISK! 1. FORMAT A BLANK WORK DISK TO BE USED AS YOUR NEW BLACK DOS DISK AND WRITE DOS 2.0 FILES ONTO IT. N} 2. DELETE THE "DUP.SYS" FILE ON THE WORK DISK. 3. COPY THE FILE "BLKDOS.OBJ" TO THE WORK DISK AND THEN RENAME N} IT "DUP.SYS". YOU NOW HAVE A WORKING COPY OF BLACK DOS ON YOUR WORK DISK.ACKDOSBLACKDOSBLACKDOS BLACKDOSBLACKDOSBLS CE: vC y@y@`A# *` :105L; 0L>! * 0` * : ;` 1 *` 1 *` Disk Drive SpR}eed:XXX RPM~~~Drive # X PRESS:C > check drive speedL > list error sectorsP > print error sectorsW > write alR}l zeroesto error sectorsM > return to main menui0k ^ 1 :ɛL 800 퍍L5 RETRY ERROR 3 TIME(S)؆莟R}R'S  `=D;EHI 1 1! @ :ɛ8A0.) ȅ 1 1iR}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU!L; .{z:*{}.|~ 1 0 0R}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # O 0 n&|D! 1L NOT A DISK FILER}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBHR}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L R} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED007 FREE SECTORS COPYING---D1:FORTR}UNE.RUN# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: BR} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#R}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%R} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C> ` 0>>  D, q; ,`COPY SECTORS`RLS ; , ,>  , ,R}ۢ>  ,?  , ,`= `=L :ɛ`hL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtR}% A.= ` <0 0 .@L# .BJ 1  DEHIB V L1 = g <0,L. R} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 = ` <0,0Lf- B VR},A#P= ` <0 0L#L ߢ) 1* 1 ~0YjC8C}mm ݭR}}`8}``|* ? ɛ,`|:(|/ 1L `INVALID DESTINATIR}ON:DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξR}hAΞB,0 J 1 BޝDEHI,HDE 1H$IHIDELSAVE-R}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L R}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥR}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{R}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDR} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4CR} $;CC $;C $;CC 8C Z: *DCC ,=  , lɀL +R}CCC.LE4 k:泭C0iiCLg3CL<3 Z: *DCC ,=  , /,C0 8R} l0N S0G :CC# k:浭C0iiCЪL<3 ,٢=  * q;L8 D, q; $; ,WC R} L 4C>  :A>810CC ,/> 1C1>  :Z>810CC ,C> 1CCC , 1= 1 :YhR}hL `=CCЍCCCCCCCCC ; ; ; , 4L3 ,\> 1 * 鈹CɛሢCɛ )CC0R}CC ~* 5CCCC Co> 1 * Cɛ ~* 5ܭCCCC C˭CCLE5CCLE5`C`R}`C`~, , E5C 4L3? , E5CC 4C $;D浭CC 8CCCBCR} lɀYC :L6 : lC񠀈Ѱиi iACCC k:LX6CCCCC qR};L8= ; , ,p  , ,  ,1@  :ɛL 15))C q+L 7= , ,V@  ,u@  :ɛL H 7 R}7Lj7 7Lj7D 8 7L7 7L7բ@ `ߢC ` ,@  * ECɛ>0$C *00C0C *0" CCLR}7`C X*`8` ,@  *0\X TCɛM ~*HC)JJJJ *6CȽC) *(CC0CCR}C`8`=8W=Wy 8W=PyL5 ON ,C` ; *nDEǍHI 1C L!9 :C R}q+L8L 9 q;L8P 9 q;L8W +L8ML 15))C g+L8 ,C&D?E BHCCC /,C\R}XCC X*C-?0  -?C0L8:8鉍C mC mCE?1?C V0*CCC LW9C? R}`CL09PC B VB DAEJNK V0 09 ,ʢ? PC D,P B V`CC mC mC?1?L9R}CC`i`i`i`i`i`P BR} VBDAEJ VBHIL1HI B} V@`HS S ShH )Lc;Lj;h` 0)¢R})  q; ,` M;hL$; b,hL$; ,>  , ,L,=L1 :HOh:` ; 0L>!} R} ӭ 򮠲 A. DISK DIRECTORY K. BINARY SAVEB. BASIC/RUN CART L. BINARY LOADC. COPY FILE R}M. RUN AT ADDRESSD. DELETE FILE N. CREATE MEM.SAVE. RENAME FILE O. DUPLICATE FILEF. LOCK FILE P. COPY SECTORSGR}. UNLOCK FILE Q. CHECK SECTORSH. WRITE DOS/DUP R. RADIX CONVERTI. FORMAT DISK S. DRIVE SPEEDJ. DUPLICATE DISK T. WRR}ITE VERIFY:ON 9!&x#!7&p))'&5./)L''-66C76u8COPY DISK Insert source disk and Λ Insert DESTINATION R}disk and Λ IT'S DONE !'Y' to execute or for menuSource drive # ?DESTINATION drive # ?Source drive is # 1DesR}tination drive is # 2Enter first sectorEnter last sectorCHECK DRIVE # X >>>>ERROR # 144<<<