Atari Ramdrive v1.0, copyright 1997, Raphael EspinoNOTE: Atari Ramdrive will ONLY work on Atari 8-bit computers, there are no plans to produce a Windows 95/98/NT version
Atari Ramdrive 1.0 is a new DOS independent ramdisk program for use on any Atari XL/XE machine with 64K or more RAM. Why do you need a new ramdisk, you may ask. Well take a look at the following list of features supported by ramdrive:
As you can see Atari Ramdrive v1.0 offers a number of features that will help you get the most out of your Atari 8-bit. The only limitations that ramdrive has is that it uses the RAM under the OS ROMS and hence will not work with any other program that does the same. This means that it will not work with Turbo Basic, DOS XE, most versions of SpartaDos (although it may work with SpartaDos X), and a few other programs.
The other limitation is that it uses the second character set area for it's own purposes, so you will be stuck with only the standard character set unless you define your own. However Atari Ramdrive 1.0 can be told to use another address if necessary.
In order to set up and use Atari Ramdrive 1.0, there are 3 files that you need to know about. The first of these is RAMDRIVE.OBJ, this is the actual ramdrive program, and can either be run from DOS (by choosing the L option under Atari DOS/MYDOS for example) or can be run automatically at boot time by placing this file on your boot disk and renaming it to AUTORUN.SYS. If you already have an AUTORUN.SYS file on your disk, then append this onto the end of RAMDRIVE.OBJ and then rename the combined file as AUTORUN.SYS, now both programs will auto-boot.
The other 2 files which you need to know about are RAMDRIVE.CFG and RAMDRIVE.CPY, these are the configuration files that ramdrive uses to know how much memory you want to use, how many ramdrives to set up, what files to copy onto your ramdrives and other such things. The RAMDRIVE.CFG file contains information about your computer and how many ramdrives to set up, while as RAMDRIVE.CPY is used to format the ramdrives and copy any files you may need onto them. Both files have the same format, they are standard text files which can be created with your favourite text editor (such as Textpro for example). Sample files have been included with this distribution, these are:
RAMD8K.CFG and RAMD8K.CPY set up a 64 sector ramdrive using the RAM under the BASIC ROM
RAMD64K.CFG and RAMD64K.CPY set up a ramdrive for use on 128K machines (64K main memory and 64K expanded)
RAMD256K.CFG and RAMD256K.CPY set up a ramdrive for use on 320K machines (64K main memory and 256K expanded)
RAMD512K.CFG and RAMDK512.CPY set up a ramdrive for use on 576K machines (64K main memory and 512K expanded)
RAMD1MEG.CFG and RAMD1MEG.CPY set up a ramdrive for use on 1088K machines (64K main memory and 1024K expanded)
ZORK.CFG and ZORK.CPY set up and copy ZORK I to 2 ramdrives allowing you to play this game from a ramdrive (actually this is the reason I wrote Atari Ramdrive 1.0 in the first place). You do need at least 180K of expanded RAM in your system for this to work though.
In order to use Atari Ramdrive 1.0, copy the CFG and CPY files from the above list for your system onto a disk as RAMDRIVE.CFG and RAMDRIVE.CPY along with RAMDRIVE.OBJ saved as AUTORUN.SYS and re-boot. Atari Ramdrive 1.0 should now load up and run.
If your particular memory configuration is not one of the above, then don't despair! How to create your own CFG and CPY files is explained in the technical documentation.
The files found on this distribution are:
In order to use either RAMDOFF.OBJ or RAMDON.OBJ then use the binary load feature in your DOS (this is the L option in Atari DOS 2.0, 2.5 and MYDOS)
Once you have run Atari Ramdrive 1.0, pressing the RESET key will switch Ramdrive off. If you accidentally do this then it can be switched back on again by running RAMDON.OBJ. If you want to perform a warmstart (which is what happens when you press RESET) without losing your ramdrives then you should press OPTION and HELP together. If you want to perform a coldstart (which will reboot your computer) then you should press SELECT and HELP together. In order to write protect a ramdrive you should press the drive number along with the OPTION key. So if you had a ramdrive set up as D4: and you wanted to write protect it you would press OPTION and 4 together. Pressing OPTION and 4 together a second time will unprotect your ramdrive. Pressing SELECT and a number will cause that drive to become D1:. So if you had a ramdrive set up as D4: and a real drive as D1:, then pressing SELECT and 4 would make your ramdrive become D1: and your real drive become D4:. Pressing SELECT and 4 a second time would change your real drive back to D1: and your ramdrive back to D4:. This is useful for running programs that take up more than one disk side from a ramdrive, such as running ZORK I from ramdrive with the ZORK.CFG and ZORK.CPY files. These create 2 ramdrives, when they have finished being set up, press SELECT and HELP together to coldstart, not forgetting to disable BASIC by holding down OPTION, and ZORK will start to load. When it asks you to insert side B of the disk, press SELECT and 3 and then press RETURN, and ZORK will be ready to play.
The ramdrive configuration files (RAMDRIVE.CFG and RAMDRIVE.CPY) are made up of a set of commands understood by the ramdrive program. Both files use the same style, with each command on its own line within the file. Commands should be typed all in uppercase. Commands can take 0 or more parameters, and these parameters can either be strings, numbers or constants. Strings are enclosed in double quotes ("), if you need to include a double quote character within a string then placing two double quotes next to each other will result in one double quote being produced. So for example the command:
PRINT "this is a "" quote "
will result in the message:
this is a " quote
being displayed. A number can be in either decimal, binary or hexadecimal format. Binary numbers are prefixed with a % (i.e. %100010), hexadecimal with a $ (i.e. $A72C) and decimal numbers have no prefix (i.e. 1266). Constants are values that have been set up before hand to make things easier for you, meaning you don't have to remember obscure numbers. The constants understood by each command are listed in the CFGCOMDS.DOC and CPYCOMDS.DOC. So for example you could have:
PRINT CLEAR,"clear screen"
which would clear the screen and display the message clear screen. Each line in the configuration files can be up to 120 characters long, lines longer than this will be truncated to 120 characters. Anything after a semicolon (;) is considered to be a comment and is ignored.
A final note is that DOS 2.0 and 2.5 usually come configured with only drives 1 and 2. If you want to use any other drive number for your ramdrives (such as 3 for example), then you must POKE the appropriate value into 1802. Here 1 bit is used for each drive, so if you had 2 real drive numbered D1: and D2: and one ramdrive numbered D3: you would POKE 1802,%00000111 (or POKE 1802,7 in decimal), and then write the DOS files back to disk with the H command. You should be wary of using D8: as a ramdrive under DOS 2.5 as this DOS will think that D8: is its own 499 sector ramdisk, instead of the corresponding ramdrive, even if the RAMDISK.COM file isn't on your disk.
Well those are the basics of the configuration files, if you have made it this far then you'll be ready to use Atari Ramdrive 1.0. If you want to learn more about how Atari Ramdrive 1.0 works then you can read the technical documentation. If you want to know what commands are available in the CFG and CPY files then you can read the CFGCOMDS.DOC and CPYCOMDS.DOC files. If you do have any problems with Atari Ramdrive 1.0, or find any bugs then I'll be happy to help you. Any bugs should include the RAMDRIVE.CFG and RAMDRIVE.CPY files that caused the problem along with a description of your system (DOS being used, memory size, any modifications you may have, etc.). I can be contacted by email at the following address:
Comments, suggestions, will all be welcome, any bugs found will hopefully be fixed in the next release. This program is offered for use free of charge, with no kind of guarantee whatsoever, the author accepts no responsibility for its use or misuse. However if you do find it useful and want to show your appreciation, then donations are welcome. Or if that is asking too much, then at least send me a postcard from your corner of the world. Long live Atari!