Fortunately, the Aquarius already has its own version of BASIC, and it's built right in to the computer! When you turn on your Aquarius (without a cartridge inserted), or start your favorite Aquarius emulator, you'll be presented with a startup screen for Microsoft BASIC. This is the BASIC interpreter that is built in to the Aquarius OS ROM, and contrary to what you might have read elsewhere, it is a perfectly capable implementation of BASIC; it is not a "crippled" version that is missing such elementary features as the ability to do FOR-NEXT loops. The Extended BASIC cartridge (released in very limited quantities, and available today as part of the Aquaricart) did add a few "missing" features, such as the ability to edit previously entered lines of code, but you can easily live without most of them, and as we'll see, there are even better ways of editing BASIC programs using the tools available today.
Speaking of tools, let me begin by posting a few. First is the most recent version of the Virtual Aquarius emulator for Windows, version 0.72a:
VirtualAquarius.zip 1.29MB 658 downloads
This distribution archive includes the emulator itself, the OS ROM, several cartridge and cassette images, and a few sample BASIC programs in ASCII text format to get you started (more on these later). This is the primary emulator that I will be writing my instructions for in this thread, since it has a few features which are especially useful for BASIC programming but which other Aquarius emulators (such as MESS) presently lack.
(There is no "installer" for this emulator; just unpack the ZIP archive into a folder, move the folder to a convenient place, and open the "aquarius.exe" executable inside the folder to start the emulator. It's a few years old now, but I've used Virtual Aquarius under every version of Windows from XP through Windows 8 (in Desktop mode), and it appeared to function perfectly.)
Next is a bootloader utility, generously provided by Martin v.d. Steenoven, which will convert completed BASIC programs of up to 16K into cartridge images. You can use these images in Virtual Aquarius like any other cartridge binary, or even burn them to a 16K cartridge ROM for use with a real Aquarius. In either case, your BASIC program will load and start automatically when the Aquarius is started; the users will not even see BASIC. Here is a link to the most recent version of the bootloader from the assembly thread, along with Martin's usage instructions:
[AQUARIUS] Machine Language Programming on the Aquarius (Post #52)
(Note that it is not necessary to use this bootloader utility until after you have completed your BASIC program. While you are writing your program, you would load it into BASIC for testing, using the procedure I will outline in my next post. If you are interested in putting your first completed program onto a real cartridge, send me a PM; I'll be offering a cartridge publishing service in the near future.)
Finally, here is a dump of the original Aquarius Character Generator ROM, containing the default Aquarius character set. This replaces the "reconstructed" character set used by Virtual Aquarius:
AquariusCharacterSet.zip 1.18KB 205 downloads
To explain why this is important, and how to use the replacement ROM in Virtual Aquarius, I'll quote from the assembly thread:
For a long time, this character set posed a problem for emulation authors: the contents of the original ROM are not directly accessible, so most emulators (including Virtual Aquarius) have used "approximations" of the original Aquarius characters. For complete character sets that were drawn by hand, they were remarkably close, but several of them included subtle but noticeable discrepancies.
You can use the replacement ROM with the Virtual Aquarius emulator, but the current version has a bug: it provides a "Browse" button to choose a different character set, but this button doesn't seem to do anything. Here is a workaround:
Once you have unzipped the Virtual Aquarius archive into its own folder, look for a subfolder inside it called "ROM". This contains several cartridge dumps, as well as a dump of the Aquarius operating system. Copy this character ROM into this folder and rename it to "CHARS.BIN". Then, open Virtual Aquarius, open the "Configure" menu, select "Memory ...", and toward the bottom of the dialog box, select the "Load 2K Character ROM from disk" radio button and click the "Browse" button. Click OK to reset the emulator.
You should now be using the correct character set. To check, press ENTER to start BASIC, type the following line of code, and press ENTER again:
PRINT CHR$(215)If you are using the correct character set, the simulated Aquarius should have printed a character which looks like this:
You're still using the built-in character set if you see this instead:
(I've enlarged both of these so you can more clearly see the difference).
The only other tool you will need is a text editor. Note that a text editor is not the same thing as a word processor: both are writing tools, but the text editor saves your files as plain text, without any formatting information or metadata. Microsoft Windows comes with Notepad, but since this is a very simple editor, many developers choose to use editors which offer more features, such as macros and syntax highlighting. The editor that I usually use on Windows systems is VEDIT by Greenview Data, but just about any editor will do. Even plain old Notepad is a much better alternative than typing a lengthy BASIC program on a real Aquarius!