Assembler
Assembler
The first is the Virtual Aquarius emulator: it's a few years old and is Windows-only, but it's still the
best and most fully-featured emulator for the Aquarius, and I'm told that it runs well under Linux
and other platforms using Wine. This is version 0.72, which I believe is the most recent version. It
also includes a number of cartridge and cassette images to get you started:
VirtualAquarius.zip 1.29 MB · 1,214 downloads
Here is the Telemark cross-assembler, version 3.1. You'll also find this bundled with the Virtual
Aquarius emulator, but I felt it deserved its own archive because it is the cross-assembler which I'll
be using for the programming tutorials that I write. This is a shareware version, containing only a
subset of the complete Telemark package, and I'd highly recommend registering it to get the full
package, along with full documentation and support:
TASM31.zip 69.96 kB · 550 downloads
Next is a complete disassembly of version S2 of the Aquarius Operating System ROM (the built-in
BASIC interpreter). It's a fairly complete implementation of Microsoft BASIC in only 8K of ROM,
and you can learn a lot about efficient Z80 programming from looking at this document. It is very
well-commented and indicates the entry points of several valuable routines (such as the "PRINT"
function used in BASIC), which can also be used by other programs. I am greatly indebted to
Kenny Millar for all of his hard work in reverse-engineering the OS and documenting his findings
so extensively:
aqromdis.zip 39.16 kB · 659 downloads
Finally, here is a dump of the Aquarius Character Generator ROM, containing the default Aquarius
character set. 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. I desoldered the ROM from my Aquarius and dumped it earlier this year, and this is
now the default character ROM that is used by the Aquarius driver in the MESS multi-system
emulator:
AquariusCharacterSet.zip 1.18 kB · 614 downloads
You can also use this 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).