Saturday, May 06, 2006

Comment: Testing RainbowIDE (for ECB)

This is not a proper review. But I wanted to share some first (and second) impressions of this remarkable peice of software. This is an important development because it may be the easiest way to develop software for the CoCo since... well... the OK prompt. :)

I finally got a couple of nice and quite hours alone with Roger Taylor's newest creation, RainbowIDE. As reported earlier, RainbowIDE is a multiplatform Integrated Development Environment for Windows specifically targeted for vintage computer systems. More important, of course, is that it comes preloaded and ready to go for CoCo programers!

My first run through with RainbowIDE was quite frustrating because I couldn't get it to shove a tokenized BASIC file over to a virtual disk for testing and running in MESS. A quick email to Roger indicated that something was definately amiss. I'd downloaded the beta version 1.1, which wasn't quite ready for ECB programing. Downloading version 1.3 corrected what I was missing and I was quickly off and running (as I write this, version 1.4 is now available). Let the be a lesson to me. ha! Always download the latest version before pestering the developer.

While RainbowIDE is primarily designed for assembly language programers, BASIC programers should find more than enough to make it worth the price. Of course, those familar with Assembler will love it! It supports 28 different processors, from the z80 and the 6502 to the 6809 and 6309 with plenty in between. Several assemblers are also supported and additional tools can be downloaded from the RainbowIDE website. Keep in mind that I have virtually zero experience with assembler, so this little review is entirely from a BASIC programer's perspective. From Roger (I've expanded on what he wrote in his email, so these are my words, not his and that goes double for any errors), here's the setup to get RainbowIDE to do that freaky BASIC thang:

The configuration box on the left needs to be set up to handle output of a tokenized BASIC file to a DSK image. Starting at the top:

Step 1. You don't need to set an assembler. So skip this box (leave it blank).
Step 2. Set the TARGET CPU (shouldn't matter but I set to 6809 and it works).
Step 3. Set the OUTPUT OBJECT to Tokenized BASIC (this wasn't in the earlier version I first tried using, so if you don't see this option, download the newest version).
Step 4. Name your output file (8.3 format). You don't need to set any CUSTOM OPTIONS, so leave that blank. The three check boxes that come next can also be left alone.
Step 5. Click the + sign next to the VIRTUAL DISK NAMES dialog. This will automagically created two disks for you, DISK1 and DISK2 (these will be mounted to MESS when you hit BUILD).
Step 6. Under DISK IMAGING PROGRAMS select (ToolShed) decb.exec.
Step 7. Then select binary BASIC under FILE TYPE ON DISK.

That's it for configuring the IDE. You'll also want to configure the MESS emulator box so that MESS launches and mounts your disk automagically. Type in your ECB program and press BUILD on the right. MESS will fire up with the DSK images mounted. Then just LOADM your program and you're good to go.

Okay, so why fork over cash for CoCo programing goodness on the PC when you've got a perfectly good CoCo (and/or emulator) already? Gald you asked.

First, the ability to program in ECB in a full screen editor is a CoCo wet dream. Just punching in program listing from mags is about a bazillion times quicker and easier. Then just shoot 'em over to the CoCo for real playing using a link cable, disk, or what-have-you. The ability to copy and paste just makes things even more groovy. You can quite easily send your creations around via email for others to play with as well. (No more putting off sending those cool CoCo creations to Mary for the Newsletter! Um... I'm working it, too. I swere!)

But that alone isn't enough to justify the price, of course. Even better is the RainbowIDE project interface. Essentially, you can modularize your code into code snips, load them up side by side with your program, and then copy and paste bits and pieces into your program. No merging with ASCII BASIC files (ouch!) and everything can be organized in nice, neat libraries. I've already started a text handling rountines, menu option rountines, joystick calibration and calculations, and a "frequently used subroutines" files for copying into developing programs. I can invision entire libraries of routines for us lowly ECB types finally being created and distributed by many different programmers. No more searching for that one special technique located in the middle of a 15 page program listing in a magazine from 20 years ago. As you come across them, just add them to your custom snipits. :)

There's plenty more I'm not even touching on about RainbowIDE. As said, this is just a few first impressions from a ECB guy. You can do all this on a real CoCo, of course. It would take some work, but it could be done. But RainbowIDE just makes it too slick and too easy to pass up. Hell, I might even consider taking up the daunting task of learning assembly language again. Maybe... :)

If you're thinking of writing up a few programs for the CoCo, in BASIC or Assembler, grab RainbowIDE and have at it. If this doesn't spur some CoCo software development, I can' image what would!

Get full details and download the latest demo at

Angel's Luck,


No comments: