Mattel Aquarius Rom Disassembly.

And here it is!
Now, I know the disassembly is not perfect, I'm still working on it, and it still contains some errors and assumptions. If you spot any errors or would like to add your own comments, please email me here.

Click here to view the disassembly. 
Click here for the decimal dump.
Click here for a simple BASIC program to convert the decimal dump to a rom image.
Click here for the ROM image.
Click here for the assembly routine to copy ROM to RAM
Click here to get a basic program that loads and runs the assembly.

If you are familiar with the Mattel Aquarius system you will know that it no means of exporting data to other machines. Coupled with the fact that the PEEK() command in the BASIC interpreter did not allow you to PEEK the ROM locations, getting a copy of the Aquarius rom was no mean feat!

After much head scratching I decided the simplest thing to do would be write a small machine code routine which copies the rom to a spare piece of RAM 32 bytes at a time. These bytes are then out put to the printer port using a simple LPRINT statement.

The machine did not have a serial port as such but it did have a three wire printer port. As it turns out, this port is actually a cut down RS232 port, giving only TX,DTR and GND signals. 

So the PRINTER port of the Aquarius was connected to a spare COM port on my PC and before long a I had decimal dump of the Aquarius rom. This was converted to a binary rom file, and ran through a Z80 Disassembler to produce a listing. There was a fair amount of correction to be made to the listing as it contained a lot of data as well as program instructions, so this was sorted out first. The next stage was to read through the listing and add comments to make it more understandable.