Sunday, January 14, 2007

Pimp My CoCo: DriveWire!

Awhile back I ordered up a DriveWire kit and a 512K SIMM upgrade from Cloud-9. Unfortunately, I flat ran out of time to install them before the holidays. Well, couple of days ago I got the time. And the truth is, I did have the time before the holidays, I just thought I didn't. Why? Because both are so freakin' easy that even a technological doob like me can do it. :)

Walking the DriveWire!

DriveWire was the more challenging of the two products. It's super easy to install. Just install the server software on the PC that come on 3 1/2" disk (be sure to hook up your 3 1/2" floppy if you don't have one on the PC... heh). Shut everything off. Then plug the rectangular serial end of the cable into the PC and the round CoCo serial end of the cable into the CoCo's bitbanger. After turning everything on, you run a wizard program on your CoCo (disk included) that builds a custom copy of HDB-DOS to use with the DriveWire.

Once HDB-DOS is up and running, your PC is now your CoCo's beeotch! You can use the PC like a hard drive, save and load programs, and copy and backup anything on the CoCo. The CoCo giving commands to the PC is the way it should be anyhow. Bwahahaha!

This all works as advertised with a few caveats, provisos, fine prints, et al. Ahem. The manual for the DriveWire system is well written, but misses a few bits that might useful for beginners (or idiots, like me, that haven't messed with a serial port and Windows hardware profiles in years). You WILL want to download the PDF for HDB-DOS. The DriveWire manual doesn't give a lot of examples on how to actually accomplish some tasks, but the HDB-DOS manual is quite complete.

The first snafu I hit was that I kept getting I/O errors when accessing the PC from the CoCo. Pissed me off tremendously because I was following the directions precisely. Well, not exactly precisely. I forgot that the PC sets its serial interface to 9600 bps by default. So, you need to reset the port to 57600 bps for the CoCo 3 hookup. Everything else should be fine (8-N-1).

That worked well and I was able to save and load programs from the PC. But BACKUP, DSKINI and COPY wouldn't work. They continued to give I/O errors and/or lock up the server completely. After much gnashing of the teeth, I broke down and emailed Cloud-9 for help.

Boisy of Cloud-9 wrote back and suggested I download the newer version of the server. This new version has a nicer interface and is more stable. After installing it (just copy the .exe file over the old one, leave everything else the same), everything started working just right. It wasn't long ago I recommended always checking for a new version before writing for support. Do as I say, not as I do. :P Thanks to Boisy, of course, for the help and the patient understanding. :)

So, how does it work?

Fantastic, that's how! If you want to add a hard drive to your CoCo, and your PC is next to your CoCo, this may be one of the best and cheapest ways to go about it. This isn't drag and drop, mind you, but it is pretty simple.

The server gives four virtual drive slots to play with. You access these by typing DRIVE#n, where n is 0-3. Each slot is filled with a .dsk image on your PC. Insert a blank .dsk image in one of the slots and you can save to, load from, and format up to 255 floppy disks per drive. You can also turn selected disks on or off, but only from 0 to n, where n is the last disk you want off. So:

DRIVE OFF 2 turns off disks 0,1, and 2, or DRIVE OFF 0 turns of disk 1, etc. DRIVE OFF with no number designation just complete turns off access to the hard drives. DRIVE ON turns them back on, of course.

When a selected disk is off, the corresponding floppy is on. So if you type DRIVE OFF 0 the hard drive disk 0 (DRIVE 0 DISK 0) is off and the real floppy disk 0 hooked up to your CoCo is on. This is useful for copying files back and forth with the BACKUP or COPY commands.

Just remember that the DRIVE command a) switches which .dsk image is being access (0-3) from the server (ie. DRIVE#0) and b) when issued with the OFF/ON switch, selects which virtual floppy is on or off (DRIVE#0, DRIVE OFF 0, would turn off access to the virstual disk 0 on virtual drive 0 and turn on the real floppy drive 0).

As an example, to copy a disk from the CoCo to the PC:

Step 1. Mount a blank .dsk image in Drive 0 of the server on your PC (you can make one with MESS).
Step 2. Type DRIVE#0 to switch to the virtual drive 0 (this is the default).
Step 3. Type DRIVE OFF 0 to turn off virtual disk 0 on drive 0 and turn on floppy drive 0 connected to your CoCo.
Step 4. Insert your floppy into the CoCo's floppy disk drive 0 and type BACKUP 0 TO 1

The DriveWire and HDB-DOS will then transfer the contents of the real floppy to the virtual disk 1 in the drive 0 slot. It is then helpful (if you want to share around the .dsk image) to type:

Step 5. DRIVE ON to turn off the real floppy drive and activate all the disks in Drive 0 of the virtual drive.
Step 6. BACKUP 1 TO 0 to copy the contents of (virtual) disk 1 to disk 0. That just makes sure what you're copying is, by default, on the disk 0, which is where most people would look for it first and make sure it'll work in an emulator, for example.

Reverse the BACKUP command procedure to copy from the PC to a blank CoCo floppy disk. Took some getting my head around the conceptual thing that's working here when copying from hard drive to floppy drive, but once I got it, I was copying stuff back and forth with ease.

Of course, the main use for the DriveWire is to load and save programs and data on your PC directly to and from the CoCo. For this task, DriveWire is brilliant. No real special commands are needed. Virtual Drive 0, Disk 0 is your default drive. Switching is as easy as addressing the right disk when you need it. All of which is clearly laid out in the HDB-DOS manual.

Like I said, if all you want to do is add mass storage to your CoCo, DriveWire is ideal. The price can't be beat and it's a slick, easy solution.

Angel's Luck,

No comments: