User avatar
Seattle, WA, USA

Posted Sun Mar 12, 2023 8:32 am

I wanted to show you all a project I've been working on, off and on, for some time.

In October of 2022, as I tried to pick up the pieces after my friend and Amiga mentor Chris Brenner died, I jumped head first into my Commodore C128. I couldn't really invest a lot of mental energy into my Amiga at that time - I needed a break. And so I built what I considered to be one of the most amazing period-correct C128 GEOS Battle Stations one could have ever imagined (or afforded) back in 1989, before Creative Micro Designs (CMD) really started to push their hardware innovations into the market. At that point CMD was mainly known for JiffyDOS and that's about it.

I believe the CMD "holy grail" hardware timeline works like this, with improvements made along the way after each release:
  • JiffyDOS ROM replacements for computers and several disk drives (over 20 different ROMS were, and still are, produced) - 1984
  • CMD HD series - 1990
  • RAMLink - 1990 (The PPI RAMDrive was released earlier, which CMD eventually acquired)
  • FD-2000 series - 1993
  • SuperCPU (v1) - 1996
I've not really ventured far from the C128 ever since last October. I've revelled in the fascinating and deep GEOS world that really took hold in the US with the hardest of the hard core Commodore 8-bit fans. I plan on heading back to Amiga later this year but right now I'm simply having way too much fun.

One thing that has always been in the back of my mind is how GEOS could be expanded beyond belief with the proper CMD hardware. The level of integration CMD managed with GEOS is awe-inspiring. In my mind, CMD was to Commodore/GEOS as GVP was to Amiga. Or, how Phase 5 was to Amiga in the late 90s. But I think one could argue the enormous leap CMD brought the 1-2Mhz Commodore machines was unparalleled. It's hard for me to honestly think of an equivalent company across the Amiga line that offered the same level of exponential advancements back in the day.

I've had a RAMLink for a few years now, but never forced myself to really understand and use it to its fullest potential. I decided to try and take my GEOS workstation to the next level and learn to integrate the RAMLink.

My RAMlink (RL) came with a maxed out internal RAM card of 16 MB. Back in the day, a 16MB RAM card would have cost... well, let's say a gazillion dollars. Most folks in 1990 installed 1-4MB. You do this in the form of SIMMs. These days, however, that upgrade is a no-brainer. And when I got mine, it already had the 16MB max. The RAMLink is plugged into a wall socket to keep the data you store on it safe after you turn off your computer. There was even a battery backup made for it, which I hope to build later this week for peace of mind. Without the battery, if I kill the power to the RAMLink I lose my data.

But, when in-use, the data I move to the RL is almost accessible instantaneously - and even from a 1MHz or 2MHz computer. It's hard to express how amazing and "modern" a Commodore computer can feel when using the RAMLink.

So, how does it work?

The RAMLink comes with CMD's JiffyDOS (JD) built-in. JiffyDOS needs to be installed in both the computer and any drive you use with it to take full advantage of what it provides, which is about 13X faster disk reads/writes than a lowly 1541. When you use a RAMlink, it takes over the Commodore's kernal, thus making you not need to add JD to your computer.

When JD is in use, most of your physical disk collection will suddenly seem like it is on speed. It's awesome. JD also gives you a whole new set of "shorthand" you can use across any BASIC screen to quickly perform disk functions. No more typing out long BASIC statements for what should be the simplest of tasks. And the statements are identical whether you are in C64 mode or C128 mode.

On top of that, the CMD drives (RL, HD and FD) all work exactly the same way. You can install several types of partitions on each, which can be in NATIVE CMD format (which lets you use a disk's entire capacity - all of it - up to 16MB and I think with as many as 31 partitions per drive). The Native (NATV) drives, in my opinion, are where the real magic happens.

You can also format partitions on a CMD drive to emulate other drives. In other words, I can create partitions on the RAMLink to emulate a 1541, 71 or 81 drive. That means you get virtually 100% compatibility with CBM drives, which GEOS can recognize, mount and use. But, since the emulated drive is pure RAM, it is essentially an REU the size of a given drive's disk capacity. So, the 1581 is an obvious choice since that's 800K of pure liquid-fast speed.

And since you're running right off of a huge RAM Disk rather than mechanical drives, the speed increases are even greater.

Why is that cool? Imagine booting up GEOS off a real 1581 drive. Once done, you could drag a word processor like GEOWrite (an amazing program) over to the REU/Drive. At this point, it will launch faster than an Amiga ever could and feels, well, modern!

Finally, you can also create a DACC partition, which essentially works like an REU. This allows GEOS to perform even faster task switching, store important drivers and other behind-the-scenes code to improve overall performance. It's almost like placing an accelerator into the code.

Now imagine you have 16MB of RAM on a NATV drive, and GEOS sees ALL of it. That's what the RAMLink promises. And imagine making that drive a bootable drive. However, by the time the RAMLink came out in 1990 figuring out how to get GEOS to see it properly took an engineering degree from MIT.

I gave it the college try, but no matter what I did it would always freeze during bootup. I asked GEOS fans in a few places but most couldn't offer an opinion because most never had a RAMLink. And those who did, used it differently. I could get it to be seen like an emulated drive, but I just couldn't boot off of it. It was driving me crazy.

Back in the day, a man named Maurice Randall wrote a patch specifically for the RAMLink to work with GEOS, but I couldn't get it that to work, either.

Fast forward to March, 2023.

In the past 5 months, I've been fortunate to acquire two more CMD pieces of hardware to my collection: a CMD HD and CMD FD-2000.

My CMD HD had its original internal mechanical SCSI hard drive removed and replaced with a ZuluSCSI board and 2GB (!!) SD card. Fun fact: the CMD HD can actually be used as an external SCSI drive on Amiga, too.

And the CMD FD-2000 lets me use High Definition (HD) disks. Why is that cool? Because - again - I can either use NATV mode, or emulate the floppy disks as any of the Commodore drives (with multiple partitions/types on each disk. This means on my Commodore 128, I can use fast High Def disks up to a 1.6MB capacity. And the drive doesn't click! ;)

A 1.6MB floppy disk on a Commodore 8-bit machine feels like a hard drive in its own right, albeit the CMD HD and RL are obviously silent and much faster.

New Battle Station

With GateWay I can change the color palette of my deskTop. I went with "Old Blue" in honor of OS 1.3.

  • C128Dcr (internal 1571 set to Device 8)
  • FD-2000 (Device 9)
  • RAMLink, 16MB (set to Device 10. GEOS can only see boot drives on either 8, 9 or 10)
  • CMD HD (Device 12)
First of all, GEOS can only see 3 drives (A, B and C). That right there is a major bummer because I really want it to be able to see 4. But I'll explain my current solution in a moment.

In order for all of this to come together and bring the RAMLink to the promised land, I decided to upgrade GEOS to yet another CMD innovation: GateWay.

I can even change the default icons for each drive. Note how I've made mine represent the 1571, FD-2000 and RAMLink.

GateWay is often thought of as a "deskTop" replacement for GEOS. It brings full support to all CMD hardware and lets that hardware break away from emulated drives and be in full NATV modes, vastly increasing their powers and abilities.

It also brings some very nice User Interface enhancements to the table, which I'll go into more detail some other time. But if you take a close look at that photo above and you'll see I actually have a disk "fuel gauge" just like the Amiga, and even scrollbars in the "window".

After working on it for several hours, I finally got the RAMLink to become a bootable NATV drive - with GateWay. And, GateWay (GEOS) sees the FD-2000. This gives me maximum flexibility since my previous GEOS setup was aimed directly at the 1581 and 3.5" disks.

I can boot up GEOS in just a few seconds (it's amazing), and install or move files around via 1571 (how most GEOS disks were distributed in the 80s and 90s) or 1581 emulated drive (or NATV 1.6MB FD drive).

I'm still just at the beginning of this long journey and hope to put a more accessible package of this experience together later. But I thought some of you would appreciate how this has come together.

Since my RAMLink's storage isn't 100% protected I'm using the HD as a backup drive to copy the RL's entire contents in case I ever need to start over from scratch. Using CMD's FCopy program, copying from drive to drive is a total breeze and only takes a few seconds.

It might be in the future that I swap the RL with the HD to give me peace of mind about my data. But for now, the RL is like a total rocket ship. It makes the C128 feel nearly on-par (actually, much faster) with some of its 16-bit cousins and even without acceleration. Now, if I ever got a 20Mhz SCPU... !!

If I ever decide to upgrade from GateWay to Wheels I could then use all four drives like I wish I could do now. But for the time being, I'm just enjoying the ride I'm on. Here are some of the benefits of a Wheels system, should I ever decide to go that route some day.
  • Support for CMD Hard Drives and RamLinks.
  • Ability to navigate directories and partitions in CMD Drives.
  • Support for SuperCPU Accelerators.
  • Support for SuperCPU Ram Cards.
  • Support for greater Ram Expansion units, up to 2mb.
  • New deskTop (Dashboard), with movable, resizable windows.
  • Support for up to 4 disk drives.
  • Ability to boot from any drive.
  • deskTop customization utilities.
  • Extensive KERNAL improvements, highly backward compatible.
:commodore: <3

User avatar
Seattle, WA, USA

Posted Mon May 29, 2023 9:00 am

One of the biggest (annoyances) hurdles is getting the RAMLink (RL) to mount on bootup. Once you get it working it's fine. It's getting it to work that very first time that can be utterly baffling. I've done it a few times already. But any time we have to reset the RL (like, you know, unplugging it) we have to start all over again with the setup.

CMD created some fantastic tools for this. But the step-by-step process, especially when you want to use the entire 16MB Native drive, is a total head scratcher sometimes.

I hope to get that locked down and documented this week. (Or even better, today.)

User avatar
Seattle, WA, USA

Posted Sun Jun 04, 2023 8:27 am

I've figured this process out. It turns out the order of operations really, really matters. I've created a very detailed step-by-step checklist for using a RAMLink with Gateway, which I'll be posting later. But for now let me just put here (to remind myself later as well) that when prepping a RAMLink to be used for GEOS you should be creating two partitions.

The RAMLink can hold up to 31 partitions.

In slot # 31, that's where you put the DACC partition. And you must create this partition first on a clean install (i.e. if you lose power, etc.). The DACC serves as an invisible REU used by Gateway to greatly speed up tasks when GEOS is running. The DACC can store the disk drivers, store updated kernel files for booting off the RAMlink, etc. If you have a 16MB maxed out RAMLink, there's no reason not to do this. Plus, Gateway seems to require it be done this way when a RAMlink is in use.

To set things up you use CMD's RAM-Tools program, found on side A of the RAMLink utilities disk. Each piece of hardware CMD produced came with its own special disk that is extremely useful for creating the necessary partitions that make each of these devices special (either C= disk drive partitions, or CMD's "Native" partitions, which open the door to enormous amounts of space).

Once you load RAM-Tools, you can now view, create or delete various partitions. You can also easily change the drive ID# of your RAMLink, which defaults to 16.

In any case, I set my 16MB RAMLink up using the following configuration:
  • Partition #31, TYPE= DACC (don't forget to change this), NAME=whatever you want, BLKS = Blocks, which 8,192 blocks = 2MB. You MUST create this partition first, even though it is being put in the last position.
  • Partition #1, TYPE=NATV (so we don't have any space limitations for GEOS), NAME=whatever you want, but I keep it short because the icon in GEOS uses it, 40,960 blocks = 10MB. This is an INSANE amount of space for GEOS. And, it still leaves plenty of room for additional partitions if I ever want to create any.
Anyway, this is how I've come to configure my RAMLink as it gets prepped for Gateway - the awesome update to GEOS by CMD. Gateway is a tad buggy at times, but overall it's a lot more user friendly (and prettier) than GEOS in my opinion.

Maybe someday I'll upgrade to Wheels, but I'm not as inclined to do so for various reasons.

I'll post an entire step-by-step deep dive into Gateway soon.
DACC Partition, done first in the #31 slot.

CMD's NATV partition, done next in the 1st slot.

User avatar

Posted Sat Jun 17, 2023 7:50 pm

Gorgeous, Eric.

Return to “Commodore 8 Bits”