Load "RAM Disk Review",8,1
|Publisher:||Loadstar (Softdisk Inc.)|
The versatility of the C64 never ceases to amaze me. Yet, here again is another example of something I never would have expected to see on a C64. This utility program provides a virtual RAM disk, which allows you to store up to 32 individual BASIC programs (depending on their block size) in your C64's memory. It was written by Jeff Johnson and published in issue number 13 of Loadstar, back in 1985.
As the program's introduction states, “If you've ever been frustrated by the extremely slow speed of your 1541 disk drive then RAM DISK is for you.” I suppose, overall I would agree with this statement, but there's one critical step on which RAM Disk relies that kind of defeats the purpose of the program: first you have to get your programs “onto” the RAM Disk, which probably means you have to load the programs from diskette in the first place.
For general day-to-day activities, RAM Disk probably wouldn't be all that helpful, as you still have to use the floppy disk or datasette drives to load your programs into memory. However, I could it be useful if I were, for example, writing a BASIC program and wanted to save incremental changes to the program as I went along. Or, if I had a set of small BASIC programs that I used regularly and never shut off my C64, then I could see it being useful, as well. But, apart from these scenarios, RAM Disk is more of a novelty, rather than solution to a problem.
This aside, let's take a look at what you can do with RAM Disk and how much faster it is than a typical 1541 disk drive.
When loaded, RAM Disk is a small machine language program that sits in memory and is activated with the use of the & sign. You can store up to 32 programs in the RAM Disk, but you also have to consider that you are still limited by the C64's available RAM to work with.
The commands at your disposal are as follows:
| ||Load a program from RAM Disk into active memory|
| ||Save the program in active memory to the RAM Disk|
| ||Kill (aka delete) a program on the RAM Disk|
| ||Save a program on the RAM Disk to floppy|
| ||Save all programs on the RAM Disk to floppy|
| ||Kill all programs on the RAM Disk|
| ||View a list of all programs on the RAM Disk|
So, using RAM Disk is pretty straight forward. You can load, save and remove your BASIC programs as you wish and RAM Disk will remain working in the background. However, if the computer is power off, or reset (with SYS64738), or if a machine language program that is loaded accesses the same RAM location, then you will lose the contents of your RAM Disk.
The major advantage to using RAM Disk is its speed. “Loading” a BASIC program from RAM Disk, no matter its size, takes only a couple of seconds. So, it certainly is faster than the floppy drive.
There is one glaring bug in RAM Disk, which I've come across and that is, it isn't always successful at saving programs from RAM to the floppy disk drive. When ever I've tried it, it ends in a
?SYNTAX ERROR. Oddly, it doesn't necessarily mean that the program didn't get saved, but there are times when it fails to do so. Luckily, there is a work around. All you need to do is “load” the program from the RAM Disk into active memory and then use the regular
SAVE“program”,8 command to save it to floppy disk.
So, in the right context, RAM Disk can be a helpful utility. But, outside of that, it's more of an interesting proof of concept. And it was unique programs like this, which made Loadstar such a great asset and learning tool for a Commodore computer owner, back in the day.