Aquarius

HOME COMPUTER SYSTEM

DEVELOPMENT HISTORY

Once the original Intellivision Keyboard Component was officially dead, Mattel Electronics felt they needed a real computer in their product line (no, the ECS didn't count). Since the new computer didn't have to interface with the Intellivision, they were free to shop for an existing system that they could simply market under their name. They found it right under their noses - Radofin Electronics Far East, a Hong Kong company that had done much of the manufacturing of the Intellivision for Mattel, had designed a Z80-based line of three computers. Mattel committed to distribute the first two of these. In-house, they were code-named Checkers and Chess; eventually they would be named Aquarius and Aquarius II.

Mattel required changes to make Aquarius into a stronger game computer. An add-on unit (the Mini-Expander) was designed that included a sound chip and hand-controllers (to make it easier for programmers, the same GI AY-3-8914 sound chip used in the Intellivision was used in the Mini-Expander). In addition, the character set was enlarged: since Aquarius didn't have the capability for programmable graphics, the character set had to include animations and background pieces that would allow for building game screens. The programmers were consulted on what they felt would be needed to design screens for games that hadn't even been discussed yet. Based on their input, the Mattel Electronics graphic designers, principally Joe Ferreira, Monique Lujan-Bakerink, and Peggi Decarli, put together a character set that, in addition to the alphabet and numbers, included running men, a robot, explosions, and a variety of geometric shapes.

Even with this character set, the graphic limitations of the Aquarius were so bad that artists looked upon it as punishment when assigned to work on an Aquarius game. Designer Bob Del Principe summed up most of the artists' and programmers' feelings when he proposed a slogan for the 1983 debut: "Aquarius - System for the Seventies!"

(The Aquarius II had programmable graphics, but no game design was ever started at Mattel for that machine. There was a brief discussion of adding programmable graphics capability to the first Aquarius - dubbing it the Aquarius 1.5 - but nothing ever came of it.)

"System for the Seventies" seemed to sum up the public's opinion of the Aquarius, also. It totally bombed. It was introduced in Spring 1983 with the Mini-Expander, Printer, Data Recorder, Memory Cartridges and a handful of games. By summer, Mattel had canceled plans to release Aquarius II and additional peripherals. An announced on-line service never materialized. In fall, they literally paid Radofin to take back the Aquarius and let them out of their contract. Radofin got the unsold stock, all marketing rights, plus a "reasonably substantial" amount of cash, according to Allan Meek, secretary for Fobel International, the London-based company that owned Radofin.

Confident in their system, Radofin's president, Lawrence M. Scott, Jr., announced that they would continue to sell Aquarius through a new distributor, and would release Aquarius II in March of 1984 and Aquarius III in July. None of this happened. The next time any of the Blue Sky Rangers heard of an Aquarius was in 1985. Mike Minkoff received junk mail promising that if he'd visit some new land development way out in the boonies, he would receive a free gift: "This powerful computer system!" The picture was of an Aquarius.


TECHNICAL OVERVIEW

[With some corrections and clarifications, the following information is from the 1983 Aquarius Service Manual. Reference is regularly made to the Aquarius System Block Diagram .]

The Aquarius computer is a self-contained personal computing system capable of supporting various ancillary peripherals. This includes a port expander, printer, data recorder, telephone modem, and a disc drive. 4K bytes of Random Access Memory (RAM) is provided, of which 1.7K bytes may be accessed by the user. Through the addition of a memory module, user-accessible RAM may be increased to over 16K bytes.

A wall-mounted Power Supply converts the AC voltage into various DC voltages. Referring to the Block Diagram, internal circuitry within the Aquarius provides regulated +5VDC and +12VDC plus unregulated -12VDC from the wall-mounted Power Supply.

The heart of the system is U1, an industry-proven Z80A microprocessor (also called the Central Processing Unit or CPU). All arithmetic, logic, and housekeeping operations (e.g. memory transfers) are handled by the CPU. Read Only Memory (ROM) U2 contains instructions that allow the CPU to accept commands in BASIC language (a high-level computer language that allows the user to input commands in everyday language).

U2 also contains operating instructions which tell the system how to scan the keyboard, get data into and out of the data recorder, send data to the printer, and various other chores.

In analyzing the Block Diagram, it is seen that the bus lines (both Address and Data) are shared by more than two Integrated Circuits (IC's). Through a scheme called time-sharing, only one IC is allowed to "talk" (transfer data or addresses) on a bus at any one time. Only when this IC is through talking will another IC be allowed to talk. For example, data fed to the CPU may originate from one of several sources: the keyboard, ROM U2, Secondary Data Bus, Tape Drive, or from the Printer Drive. One section of Programmable Logic Array 1 (PLA1) reads instructions from the CPU and allows (enables) only one particular device to talk at one time.

Another function of the CPU is to interrogate the keyboard. The keyboard is arranged in an 8-line in, 6-line out matrix, allowing for a maximum of 48 keys. The CPU sends an interrogation pulse having its own special timing. When any key is depressed, an interrogation pulse is coupled to one of the 6 output lines.

The output lines are routed to U9, a hex buffer, which only allows the interrogation pulse to return to the CPU when enabled by PLA1. The CPU then looks at each of the 6 lines from the keyboard. By comparing the timing of the outgoing interrogation pulse, the incoming interrogation pulse, and the line on which the incoming interrogation pulse is seen, the CPU knows which keypad button or buttons are depressed.

As stated before, 4K bytes of memory are built into the mainframe. The addition of external memory is provided by the Cartridge Port [on the Block Diagram marked "EXPANSION LINES"]. When the CPU sends out a Memory Request signal, internal memory is available first. The enable signal for the external memory is not applied until two NAND gates sense an address corresponding to memory locations greater than the internal 4K bytes.

Under standard operating conditions, the BASIC compiler program (the program that decodes BASIC commands into Machine Language) resides in lower memory locations. When CP/M DOS (Commercial Processing Memory Disk Operating System) is connected to the Aquarius, the CP/M program replaces the BASIC compiler program, and the BASIC compiler program is moved to a higher memory location. Two XOR gates sense when CP/M is being used and perform the address manipulations necessary to shift memory locations.

The total number of ICs used in the Aquarius computer is kept to a minimum without sacrificing performance through the use of Programmable Logic Arrays (PLA), also known as Gate Arrays. A PLA contains hundreds of logic gates which may be "custom-wired" during its manufacture. In this manner, a PLA is able to have the same functions as dozens of individual ICs, but in one package.

The primary responsibility of PLA1 is the management of system operation (under control of the CPU). These functions include transferring data from the Primary Data Bus into the Data Recorder during a CSAVE (save on cassette) operation and from the Data Recorder onto the Primary Data Bus during a CLOAD (load from cassette) operation. As explained previously, PLA1 also supplies enable signals to ICs on the Primary Data Bus so that only one IC may talk at a time.

PLA1 also functions as a CRT (TV display) controller. It sets the TV screen format at 525 horizontal lines (NTSC) or at 625 horizontal lines (PAL). Although PLA1 does not generate characters (letters, numbers, and graphics) or colors, it does provide the format that they will appear on the TV screen. It divides each basic picture element (card) into an 8 X 8 dot matrix and then arranges the card array into a matrix of 40 columns by 24 rows. PLA1 also generates the horizontal sync, vertical sync, blanking, and color burst signals necessary for a television set to correctly reproduce the picture.

The main function of PLA2 is that of data flow control. First, PLA2 controls the flow of data at the External Bus (cartridge port) into and out of the CPU. PLA2 also controls the data representing color, graphics, and character information originating in the CPU. Finally, a multiplexer circuit in PLA2 combines foreground information (letters, numbers and graphics) with background information and presents this combined signal to Color IC Ul2.

The process of merging foreground color information, background color information, and character information involves the use of PLA1, PLA2, RAMs U3 and U4, Character Generator U5, and Parallel-to-Serial Converter (Shift Register) U6. RAMs U3 and U4 are capable of storing 2K bytes of data each, but only 1K byte of U3 is used for storing character data and only 1K byte of U4 is used for storing color data. The remaining memory of U3 and U4 is devoted to user programs (1.7K byte) and BASIC routines (300 bytes). Addresses presented to U3 and U4 during Read or Write commands may originate directly from counting circuitry in PLA1 or from the CPU (through PLA1). Data being written into RAMs U3 and U4 originates in CPU Ul and is routed through switching circuitry in PLA2. During a Read command, RAM U3 transfers its data to Character Generator U5 while RAM U4 transfers its data to PLA2.

During a Read operation, the output drives of U3 and U4 go to a low-impedance state and deliver their data to the appropriate destination. An array of resistors effectively isolate U3 and U4 from each other during a Read operation.

As stated before, RAM U3 transfers its data to Character Generator U5 while RAM U4 transfers its data to PLA2. Character Generator U5 is simply a ROM containing 256 digital representations: 128 ASCII (numerals, upper and lower case alphabet, punctuation, symbols) and 128 graphic patterns. These are accessed through an 11-bit address, of which 8 bits are sent by RAM U3 and 3 bits from the Character Line Counter in PLAI.

The 8 bits (corresponding to one line of one character) are sent to U6, a Parallel-to-Serial Converter. Data is then sent out of U6 serially (in a one-line stream) into PLA2.

Color information from RAM U4 is held in an octal latch in PLA2 so that data from RAM U3 (which was delayed by processing time through Character Generator U5 and Shift Register U6) meet in PLA2 at the same time. The 8-bit color information is formatted so that the first 4 bits represent the 16 available foreground colors and the last 4 bits represent the 16 available background colors. The serial data stream from U6 (representing foreground information) selects foreground or background color to be displayed at each dot of a card. This is the method by which the Aquarius is capable of displaying graphics, numerals, and letters in one color with the background displayed in another color.

The combined color/graphics output of PLA2 are presented to Color IC Ul2 in a binary-encoded form. This binary data corresponds to some combination of red, blue and green colors. The Invert data signal is used to change the intensity of the individual colors. Sixteen colors are available when using the three encoded color signals plus the Invert signal.

A second function of the Color IC is generation of clock signals. The clock signal is used within U12 for phase reference in the generation of colors. The clock signal is also amplified, buffered and shaped, then routed to various components in the Aquarius where clock pulses are needed for their operation.

The output of Color IC Ul2 is composite video containing all information necessary for presentation to the RF modulator and transmission to a television set. It is, however, in the PAL (Phase Alternation by Line) format used in Europe and must be converted to the NTSC (National Television Standards Committee) format used in the United States, Canada, and Mexico. This conversion is handled by circuitry at the output of U12, presenting an NTSC signal to the RF Modulator.

Sound generated by PLA1 or from an external source (through the Cartridge Port) are also presented to the RF modulator. The RF modulator then converts these video and audio signals to channel 3 or 4 as determined by the Channel Select Switch.

All information sent to the Printer and Data Recorder originates in CPU Ul and is routed to PLA1 serially along Data Line D0 (at 1200 baud for the Printer, 600 for the Data Recorder). PLA1 then routes the data to the Printer (along the PRN line) or Data Recorder (along the SOUND/CASS OUT line). If routed to the Data Recorder, it is first converted from binary data into audible tones. Data routed to the Data Recorder is first level-adjusted by a resistor divider network. Data routed to the Printer is first converted from a series of logic ones and zeros at +5 Volt and 0 Volt levels, respectively, to -12 Volt and +12 Volt levels, respectively, using a zener diode.

The Printer sends a voltage to CPU Ul informing it that a printer has been connected.

Output from the data recorder is amplified and filtered into a 600 baud data stream of logic ones and zeros. This stream is routed into PLA1 through the CASS IN line, then onto the Internal Data Bus along Data Line D0 to the CPU.

The Cartridge Port [marked on the Block Diagram as "EXPANSION LINES"] carries 16 address, 16 control, 8 data, 1 sound and 3 power lines. This allows external ROM (a game cartridge), RAM, a sound chip and hand controllers to be connected to the Aquarius simultaneously and accessed by the CPU as needed.