The ATARI Disk Operating System
Roger Beseke
Now that you have your ATARI 810 disk system up and running and have undoubtedly saved and entered numerous programs and data, you are probably wondering what else this machine can do? Well, to date Atari has not released their DOS system manual, but there is a preliminary manual which is available and contains a wealth of information. The purpose of this article is to bring into the light some of the features hidden away in the preliminary manual.
As we all know, after having the disk up and running, there is a disk system menu which is displayed upon entry of the command "DOS, RETURN". Some of these commands are straight forward and require little or no explanation, but we are going to take a look at all of them.
There are two neat characters we must discuss before we go into the DOS menu of commands. They are the asterisk (*) and the question mark (?). When these characters are used in a DOS command, they are referred to as wild carding. They allow excellent flexibility which can be used to great benefit or dismay depending what the operater is using the wild card character for. It probably goes without saying that these characters should not be used in a file label.
In the ATARI DOS, the (*) is used to free form a file name for most of the commands. The asterisk can follow a portion of a label in either the main file label or the extension. Note: The file name does not have to be eight characters to use the extension. The asterisk can be used in numerous ways to provide as many results. I will cover a few here and leave the rest to your imagination. By the way, all the commands in this article are in quotes. If the command requires quotes, there will be double quotation marks. Also when return is spelled out in caps, it means the "RETURN" key is to be pressed.
A command of the form "*.*" will display all files on the screen if used with the disk directory command (A). A command of the form "PROG*.*" would list all programs that met the first four character format. Similarly the command "*.U*" would only list files that had an extension that met that format. Note: Once an asterisk is used in either the main or extension field, all characters following it are ignored.
The (?) in the ATARI DOS is used to set a character to a do not care condition when wild carding is used. The following example, "WORD?S.*", shows that all files having the form "WORD" and any character in the don't care character field will be operated on. These wild card characters can be used any place in a legal label field.
Disk directory (A): The disk directory takes care of finding and listing the files of a diskette. The files may be listed on the screen or on your ATARI 820 printer. It is common knowledge that to get a display of the files on a particular disk you must issue the command "A RETURN RETURN" and they are displayed on the monitor. This is fine if you do not have many files or if you want to see all the files there are on the disk. If you do not want to see them all, there are commands that can be sent to select a certain group of files. They also can be printed on the printer. To get a hardcopy, issue a command of ",P:" before the second "RETURN". A command of the form "RA*.B?,P:RETURN" will list all files with the first two characters "RA" in the main field and characters in the extension which begin with a "B" followed by one character.
Run cartridge (B). This command exists the DOS and executes in the left cartridge if one is inserted. It will not exit the DOS if a cartridge is not inserted in the left slot.
Copy (C). The copy command enables the operator to copy a file from one device to the disk or copy a file from one disk to another file on another disk. For instance, a command of the form "D1" FILE, D2:PROG" will copy a file named file from disk one to a file named prog on disk two. You can write a file from the screen editor to a disk file by a command similar to one of the form "E:,NAME". This command must be terminated with a "CTRL 3" key entry.
Delete (D). The delete command does allow wild card commands and can take the form of any of the previous examples. The DOS displays a cue to the operator to delete the file shown. The operator makes the appropriate entry and the DOS brings up another file if there are wild cards used and files that meet the wild card form. A typical deletion of all files with an extension of B1 thru B34 could be deleted one at a time with the command "*.B?? RETURN". If "/N" is appended to the command, it will delete the appropriate files without a cue, so be careful. It must be remembered that locked files cannot be deleted.
Rename (E). The rename command allows you to change the name of a file to another and wild cards are allowed. A typical command would be "FILE, KEEPFILE RETURN". This command will change the name of the present file "FILE" to "KEEPFILE". It must be noted that extreme care is recommended with this command when using wild cards because you can end up with a group of files with the same name.
Lock (F). The lock command as mentioned previously keeps you from inadvertantly writing to or deleting those files. A locked file can be recognized readily in the disk directory mode because of the asterisk ahead of the file name. Wild cards are also allowed in this command. A typical command to lock all files would be "*.* RETURN".
Unlock (G). The unlock command is the inverse of the previous lock command and the same protocol is allowed. But again a word of caution using wild cards, you may be unlocking something you do not want to.
Write "DOS" File (H). This command writes the DOS on a formatted disk so that it can be booted into the computer at turn on. This command allows you to make all your disks boot loadable and gives you a backup for the DOS.
Format Disk (I). This command is required for all new disks before they can be written on. The DOS ques the operator as to which disk to format. Again a double check is made to make sure that is the disk the operator wants formatted because if the wrong one is formatted, all files are lost on that disk.
Duplicate Disk (J). The duplicate disk command allows you to make a copy of your present disk on another even if you do not have 2 drives to copy with. A typical entry might be "1, 2RETURN" where 1 is the source disk and 2 is the destination disk. If you do not have two drives, the DOS will issue commands of what disk to insert for writing or reading. Programs in the random access memory are destroyed when using this command and the DOS reminds you of that fact when this command is entered.
Binary Save (K). Binary save is the command that one can use to save all those machine code programs you generate if you have an assembler. The binary save, unlike most of the other commands utilized by the ATARI, uses hex numbers as opposed to decimal. I suppose if you want to save those machine code programs, you can count to sixteen using letters anyway. A typical save binary program appears like "D2:MACHINE.CDE, 4FEO, 6BAC RETURN". This would write a file called "MACHINE.CDE" on disk 2. The data would be saved from addresses 4FEO to 6BAC inclusive. This command also allows the append syntax by placing it immediately following the file name. An example is as follows: "D:OPCODE/A,54E2,2BC3.
Now I am going to give you a clue as to how to automatically execute your program from a binary load command. Before you become too elated, there are some pains with all neat things even in the world of ATARI. You have to poke addresses 736 and 737 with the starting address of your binary program. Address 736 is the low order byte of the starting address and 737 is the high order byte. For you machine code users, the addresses are 02E0 and 02E1. Now just append this to your program and away you go.
Binary Load (L). This is the command you use to load the previously saved binary program. There really is not too much to say about it especially if you append the starting address of your program. You just enter the file name and let the system do the rest.
Run at Address (M). Run at address is for those of us who did not have the book of how to do it. The DOS asks you run from what address and you enter the address in hex, of course. After all we are binary programmers, are we not.
Define Device (N). The preliminary manual does not recommend using this command as it is not perfected. Rumor has it that there will be a revision out soon to fix it, however. To me that is a challenge to find out what about it works and if it is useful. The intent was to essentially change the name of a device and create pseudo files and names. One example is "P:FILE" where whenever "P" is referenced, it will write to a file "FILE" of whatever you directed it to.
Duplicate File (O). Duplicate file is like the J command of duplicating the disk except you do not duplicate as much, to be exact, a file at a time. Again, if you only have one drive like some of us, you can do it the same way as the duplicate disk command.
This has been a very quick and brief description of what you can do with the DOS and how it can work for you. I am sure that when the DOS operators manual comes out, it will explain everything much better but until then maybe this will keep some of you file manipulators out there happy.