Draft:Aquarius+

Aquarius+ is an 8-bit home computer developed in 2022 as a successor to the original Mattel Aquarius system released in 1983 by Mattel Electronics and Radofin. The goal of the project was to create an open-source system that added the most-desired features of retro-computer enthusiasts -- Zilog Z80 processor, sprites, tile graphics, random-access storage, etc. -- within a hardware platform that wouldn't be limited by bespoke or legacy components. All the design elements, including the PCB, the Verilog definitions used in the FPGA, the OS source code, the enclosure, and even the branding are freely available to anyone who wants to build or manufacture the system themselves. Additionally, there is an emulator for Windows, macOS, and Linux that anyone can download and use for free. The source code for the emulator is also open source and uses the SDL2 library.

Hardware Development
Watching the development of The 8-Bit Guy Dave Murray's Commander X16 project in late 2021, Sean Harrington contacted Frank van den Hoef to discuss how his video module for the Commander X16, the VERA (Versatile Embedded Retro Adapter), could be adapted as a new video system for the Mattel Aquarius. Since the original Aquarius had only character-based graphics (in a static CHARROM), any improvements to the platform would have been welcome. Developing a new Zilog Z80-based retro computer system was a project Frank van den Hoef had been interested in pursuing, and the orphaned Aquarius system seemed like a worthy starting point, with a modest but interesting software library and an enthusiastic user base.

By April 2022, Frank van den Hoef had designed rev0 of the Aquarius+ motherboard, and had worked out enough details of the architecture to assemble a working prototype. A prototype for rev1 was completed in July 2022, but the global chip shortages made transitioning to production impossible. Frank van den Hoef continued to make system and emulator updates through the remainder of 2022, but without components available for manufacturing, it would remain in prototype phase for nearly nine months.



Chip shortages began to clear up in Spring 2023, and Frank van den Hoef designed a simplified rev2 which switched to the less-expensive Spartan 6, the updated ESP32-S3 (new Bluetooth capabilities), and no front-facing USB ports. A set of five rev2 prototypes were manufactured by JLCPCB's new SMD manufacturing group, enclosed in high-detailed resin cases (also by JLCPCB), and distributed to the development team and some Aquarius enthusiasts.

The Aquarius+ was announced on May 20, 2023, and the GitHub repository was opened to the public.

Emulator Development
Well before the original rev0 motherboard prototype was built, van den Hoef had created a cross-platform (Windows, macOS, and Linux) SDL2-based emulator for the system, developed and deployed through the Microsoft Visual Studio Community IDE. Updates to the emulator were coordinated between van den Hoef and Harrington (for testing and prototyping) through the earliest version of the Aquarius+ GitHub site, synchronized using the GitHub Desktop tool. Once the project was made public in late May 2023, van den Hoef leveraged build scripts within GitHub to publish components of formal releases, including pre-built executables for the three supported platforms.

ROM S3 and plusBASIC Development
The original SYSROM for early versions of the Aquarius+ used a modified version of USB BASIC, the environment developed by Bruce Abbott for his Micro Expander cartridge for the Mattel Aquarius. Since the Aquarius+ uses an ESP32 module for storage access rather than the CH376 used on the Micro Expander, the libraries had to be rewritten.

Curtis F Kaylor had previously published commented disassemblies of the Aquarius S1 and S2 SYSROM Z80 assembly code, and also worked on the revised version of USB BASIC -- MX BASIC 2.0 -- for the Aquarius MX / Micro Expander. Once the MX BASIC 2.0 project had been released, Kaylor joined the Aquarius+ ROM development team and began writing plusBASIC, an optimized version of the legacy Aquarius BASIC & Extended BASIC that leveraged the new features of the system (sprites, tiles, graphics, etc.). Through the development process, Kaylor introduced many Aquarius and plusBASIC-specific terms and concepts:


 * AQUASCII - The name of the Aquarius font / character set
 * SPRITLES - The individual 8x8 tiles that make up a larger SPRITE object