Classic Computer Magazine Archive ANTIC VOL. 4, NO. 8 / DECEMBER 1985

DISKIO PLUS

Antic super-utility now even better

by PATRICK DELL'ERA

This spectacular update of the original DISKIO disk operation utility provides instant, one-dot keystroke commands for nearly all DOS functions, an alphabetized disk directory, single-key macros and much more. All without touching your resident program. Works with BASIC, BASIC XL/XE, MAC/65 (cartridge only), or Atari Assembler Editor. DISKIO PLUS is compatible with DOS 2, DOS 2.5, DOS XL and will work with single or enhanced density. It also works with all 8-BIT Atari computers-including the 130XE.

Last January, Antic published one of our most popular and useful programs-DISKIO by Dr Bernard Oppenheim. It was a resident disk file utility that permitted most disk operations to be accessed directly from BASIC or Atari Assembler Editor with quick, one-dot commands. DISKIO instantly became our in-house utility and generated a great deal of appreciative mail. But when DOS 2.5 appeared, it became evident that DISKIO needed an update since it didn't work with the new DOS.
    Antic contacted Dr. Oppenheim, who Is a nuclear medicine physician. Though he was unable to find time in his busy schedule to rewrite the program, he generously sent us his source code which we immediately passed on to Patrick Dell'Era. Patrick-who will be remembered for his Antic enhancements of Price's Painter (April 1985) and Fader (May 1985)-set to work and created the following incredible DISKIO PLUS. Yes, it works with DOS 2.5. But a lot of new bells and whistles have been added -ANTIC ED)

Okay, throw out your DUP.SYS. You're not going to need it anymore. DISKIO PLUS will take care of just about any disk function you can think of. And you won't have to go to DOS to do it.

THREE LISTINGS
Before we get heavily into all the new things DISKIO PLUS can do, let's take care of those who already have DISKIO and just want to get it working with DOS 2.5.
   Type in Listing 3, DSKIOFIX.BAS, check it with TYPO II, and SAVE a copy before you RUN it. This short BASIC program will alter a few bytes in your original DISKIO AUTORUN.SYS file and make it work with DOS 2.5 as well as DOS 2. If you're happy with DISKIO as is, you can stop reading right here. But if you want the full package of extras-like multiple file moves, wild cards, macros, BASIC XL/XE and MAC/65 compatibility-read on.
   Still with us? Listing 1, DSKIOMAK.BAS, creates DISKIO PLUS. It's a lot of typing, but worth it. Type it in very carefully, check it with TYPO II and SAVE a copy. All that data is machine language and every number must be absolutely correct.
   When you RUN Listing 1, it will count the data statements to make sure you have the right total. Then it will ask you to specify a filename. If you're using Atari DOS, call your file AUTORUN.SYS. DOS XL users should name theirs STARTUP.EXC.
   Next you're asked if you want your DISKIO PLUS for BASIC or assembly language. Choose your favorite language and the program will create a binary file of 30 sectors. (That's right, it's a little longer than the original. DISKIO eats 3129 bytes of RAM while DISKIO PLUS gobbles 3408.)
   Listing 2, KEYMAC.BAS, is a special utility which will be described later. You don't need to type it in to make DISKIO PLUS work.
   Antic Disk subscribers will find all three of the above listings on their monthly disk, under the filenames previously mentioned.

DOT COMMANDS
There are a lot of options and commands with DISKIO PLUS. Maybe a little scenario will clarify things.
   You decide to do a bit of programming in BASIC, so you boot your disk containing DISKIO PLUS in the form of an AUTORUN.SYS file. (Note: the assembly-language version of DISKIO PLUS operates identically to the BASIC version with the exception of using the [#] for file access).
   A brief title screen appears to let you know DISKIO PLUS is installed, then the READY prompt pops into place.
   You want to see what files are on the disk, so you type DIR [RETURN], and the DIRectory of drive 1 appears with all the files in alphabetical order, looking something like this:

   1 AUTORUN SYS 030    5 MYMAC KEY 001
   2 BIFFIII BAS 057    6 RANDISK COM 009
   3 DOS     SYS 074    7 SAMPLE BAS 014
   4 DUP     SYS 042    8 WORDTREEOBJ 001
  479 FREE SECTORS

   Notice the numbers immediately before each file. These are "file reference numbers" and are used by the DISKIO PLUS "one-dot" commands.
   What's a one-dot command? Let's say you have decided to delete the file called SAMPLE.BAS. Since it has a reference number of 7, you type: .D7. A prompt will appear to make sure you really want to do this. Answer the prompt by pressing [Y], and the file will be deleted.
   Want to LOAD a file? Type .L2. You can rename a file by typing:

   .N2,NEWFILE [RETURN].

   How about moving a file from drive 1 to drive 2? Type .M6/2. And for you jaded DISKIO users who have seen most of this stuff, how about wild-card multiple file moves? Type .M *.*/2 to move all files from drive 1 to drive 2.
   And-oh yes-that BASIC program you LOADed is still in memory-untouched and ready to examine.

COMMAND STRUCTURE
At first there may seem to be a lot of combinations here. But once you get used to the structure of DISKIO PLUS commands, you'll find them to be automatic, natural, and very fast. In most cases, the commands use an identical pattern with only one different letter to differentiate the command.
   Let's examine all the possibilities with only one command; the command to locK (protect) a file:

   .K [n] [filename] [device:filename]

   The first, and most important, character is the period- or dot. This tells the computer that a DISKIO PLUS command is coming. Next is the letter signifying the type of command-in this case K, for locK.
   The square brackets indicate optional parameters. They are not part of the DISKIO PLUS command.
   You can reference the file you wish to locK in three ways. The first optional parameter is n, which stands for file reference number. If the directory is showing on the screen, you may use the file reference number as: .K4.
   This will locK file number four. Remember, the directory must be on the screen in order to use file reference numbers.
   The second set of brackets shows we may alternatively type in the filename: .KMYFILE.BAS. Notice there is no space between the command letter and the file name.
   Should we wish to locK a file in a drive other than the default drive, we can also use the device:

   .KD2 :MYFILE.BAS.

   This example will locK MYFILE.BAS on the second drive.
   Wild cards [*] may be used with the second and third options. You can locK all the files by typing .K * *.

HELP
All of the DISKIO PLUS dot commands work the same as locK, with the exception of some which have a few extra possibilities. If you forget a particular command, type HELP and the following menu will appear:

   .N = RENAME       .M = MOVE
   .D = DELETE       FORMAT
   .K = LOCK         DIR
   .U = UNLOCK       OFF
   .X = LIST         ON
   .S = SAVE         LIST
   .E = ENTER        WDOS
   .L = LOAD         DEF1
   .R = RUN          DEF2
   .B = BINARY LOAD  DEF3

   Let's go through the commands one by one.

DIRECTORY
Notice there are two types of commands-one-dot commands and "word" commands. The most used word command is DIR.
   Type DIR [RETURN] to see an alphabetized DIRectory of files. If you have more than one drive, place the number of the drive directory you wish immediately after the command: DIR2.
   Once a disk drive number is specified, that drive becomes the "default" drive. For example, after typing DIR2, all commands-including DIR-will affect drive 2.
   By adding a /P (slash P) after the command, you can send the directory of any drive to a printer. You may also specify a filename: DIR3/P * .OBJ will send all files on drive 3 with .OBJ extenders to the printer as well as to the screen.

FORMAT
FORMAT will format the default drive. You may format another drive by placing the drive number immediately after the command. A disk in a 1050 drive defaults to enhanced density under DOS 2.5. Should you wish to Force the format to single density, type FORMAT/F As with most DISKIO PLUS commands, you will be prompted to verify this command by pressing [Y]. (Old-time DISKIO users should note there will be only one prompt).

DOT COMMANDS
Five of the one-dot commands use identical parameters to the .K lock command described above. They are: .U, Unlock; .S, Save; .E, Enter; .L, Load; .R, Run. In each case, you may specify the filename, or the device and filename. If the directory is showing, you can also specify the file reference number.
   Use .N to reName files. This is a little different from other dot commands because it requires you to enter a new name for your file. The filename parameters, however, are identical to other dot commands, followed by a space and the new filename. For example:

   .N6 NE WFILE .TXT.

   DISKIO PLUS will not allow you to create duplicate files. Since the directory is alphabetical, you should re-list it after renaming a file because the files may now be in a different order with altered reference numbers.
   To LIST a file to the disk, use the .X command. With this command, you may also specify starting and ending line numbers. Should you wish to LIST a file from a particular line number to the end of the file, sandwich the line number with commas: .X7,360,.
   You may LOAD Binary files from DISKIO PLUS with the .B command. No check is made to see what the Binary file might write over, so this could cause a crash. Should you wish to LOAD-but not RUN-the Binary file, append /N (slash N) to the command. If the file specified is not Binary, the LOAD will be aborted.

MOVE COMMAND
The Move command has many options, but we're always Moving a file, or files, from a "source" to a "destination."
   Let's look at some examples. To Move reference-numbered 6 file from drive 1 to drive 2, where drive 1 is the default drive: .M6/2. You can also type:

   .MMYFILE.BAS/2
or .MMYFILE.BAS D2:MYFILE.BAS.

   You can change the destination filename:

   .M6 D2:NEWFILE.BAS
or .MD2:MYFILE.BAS D:NEWFILE.BAS.

   As previously mentioned, you can use wild cards on file Moves: .M * .0BJ/2.
   When using a single disk, you will be prompted to insert your source and destination disks. These prompts will also work with wild-card multiple file Moves.
   By adding /S or /P to the Move command, you may Move the chosen file to the screen or printer. .M6/S Moves file #6 to the screen. .MMYFILE.LST/P prints the BASIC file, MYFILE.LST to the printer.
   Naturally, only a text file or LISTed file will make much sense. But you can disable screen control characters during a screen print by adding 1 to the /S extender:
.MTREE.PIC/S1.

TURNING IT OFF
Caution! DISKIO PLUS can get in the way of string input in BASIC programs. While inputting a string, DISKIO PLUS will act upon any input that can be interpreted as a DISKIO PLUS command.
   For example, suppose your program prompts you for input and you type in DIR while DISKIO PLUS is active. DISKIO PLUS will print a DIRectory.
   Luckily, it's easy to get rid of DISKIO PLUS. Type OFF to disable it, and type ON to bring it back. Type OFF and press [RESET] to permanently disable DISKIO PLUS.
   [SYSTEM RESET], by itself, will not affect DISKIO PLUS. You may also disable DISKIO PLUS from your program by POKEing location 10592 with a 255. POKE the same location with a zero to turn it back on.
   DISKIO PLUS takes up some of your RAM and there are times when you need all the memory you can get. To get full memory, permanently disable DISKIO PLUS, as described above. Type DOS, then return to your cartridge. (Note: this will not work if you are using MEM.SAV).

SPECIAL OPTIONS
BASIC XL has a command I've always liked, so I added it to DISKIO PLUS so other languages could use it. LIST, or L., followed by a line number and a comma, will LIST the resident program from that line number to its end. Otherwise LIST will function identically to the Atari BASIC command.
   You may write whichever DOS is resident to disk by typing WDOS. If you wish to write to other than the default drive, follow the command with a drive number.
   This function will not work with DOS XL. Also, DISKIO PLUS will not work with the supercartridge version of DOS XL.
   DISKIO PLUS allows you to create as many as three single-key macros.
   Let's say we're getting tired of constantly typing PRINT #6.". In stead, we type:

   DEF1 P PRINT #6;" [RETURN].

   Now, whenever [P] [RETURN] is pressed, our phrase will be printed to the screen. Anytime after defining a macro, type HELP and your macro will appear on the screen. You may edit the macros directly on the HELP screen.
   Your macros can call other macros, or call DISKIO PLUS commands. DEF3 D DIR8, will call the RAMdisk directory on the 130XE whenever [D] is pressed.
   Macros are limited to 30 characters, and you can use control characters-but not special control characters such as the screen-clear symbol. Also, the macros are not casesensitive. Though you may enter key-command and the characters in inverse or lower-case, macros will reappear in normal, upper-case.
   You can replace existing macros by redefining them. If you wish to completely delete a macro-DEF1, for example-type DEF1 [SPACE] [ESC] [ESC] [RETURN].

MACRO FILE MAKER
Listing 2 is a BASIC program which will save any currently defined macros into a one-sector binary file which can be loaded into memory with the .B command. This way you can create any number of macro files and instantly load them as needed.
   Type in Listing 2, KEYMAC.BAS, check it with TYPO II and SAVE a copy.
   Now, create some macros and make sure they're on the HELP screen. RUN Listing 2 which will ask for a filename. Device is optional. An extender of .KEY will be automatically added.
   Now, whenever you boot DISKIO PLUS, all you have to do to create your macros is load the .KEY file with the .B Binary load command.
   Note: Listing 2 will disable DISKIO PLUS during its run, so if you press [BREAK], don't press [RESET] until you've turned DISKIO PLUS back ON.

REMINDERS
Remember, DISKIO PLUS commands will react from BASIC string input. So will macro commands-so if you're getting strange results from a BASIC program, turn DISKIO PLUS to OFF.
   Also, DISKIO PLUS takes up some of your RAM. If you receive an ERROR 2-Out of Memory, you may need to get rid of DISKIO PLUS as described above, in Turning It Off.

Listing 1   DSKIOMAK.BAS Download
Listing 2  KEYMAC.BAS Download
Listing 3   DSKIOFIX.BAS Download