Jump to content
IGNORED

Aquarius Printer - Technical Info and Reverse Engineering


Lathe26

Recommended Posts

832564567_AquariusPrinter(1).thumb.jpg.a20c7288d7f8a8c7a620c55e88d3af13.jpg

 

Summary
The Aquarius Printer is a 40 column thermal printer that uses a one-way serial connection.  It was marketed for the Mattel Aquarius computer and Intellivision's ECS add-on.  Its character set is fixed to match the Aquarius computer's character set.  Each character is printed as a pattern of 7x10 dots.  It has a 3-way switch on the back to control which parts of the Aquarius character set it can print.  The switch settings are labelled as Text, Mixed, and Graphics.  Contrary to what the Graphics switch setting would typically imply, there is no known way to print arbitrary pixel / bitmap graphics.

 

The printer has a 40 byte buffer for printable characters.  When transmitting data, the printer will not print until either the buffer is full, or until a newline or formfeed byte is received.

 

On the front, it has a Power button and a Paper advance button.  The Paper advance button does not advance the paper by a fixed amount; instead it advances the paper for as long as the button is pressed.  Unlike many printers of its era and later, it does not have a "test mode" that can be entered by pressing and holding a button while simultaneously turning the printer on.

 

While its interface uses standard RS-232 voltages and signaling, its connectors are non-standard, using a 3.5mm mono audio jack and a 2.5mm mono audio jack.  An adapter cable is necessary to connect to a computer.  Wiring diagrams are available for building adapter cables for connecting to a PC using a 9-pin serial port or to the Intellivision ECS.

 

Software needs to be set to 1200 baud, 8-bit, no parity, 2 stop bits, and use hardware flow control that is either RTS-CTS and/or DTR-DSR hardware flow control depending on the adapter cable's wiring.

 

Internally, it uses the Olivetti PU-1840 print mechanism and thus can use paper from other printers that use the same print mechanism (example: Alphacom Sprinter 40 and VP42).  The Olivetti PU-1840 is controlled by a Hitachi HD6801V0P microcontroller.


Output Modes

994698400_AquariusPrinter(2).thumb.jpg.9908f32c29728a3c92faa20b813052e3.jpg
Text Mode
Only bytes in the ASCII ranges are printable (hexadecimal bytes 20 through 7E) as well as byte 7F.  All other bytes do nothing with the following 3 exceptions: 0A, 0D, and 0C.

 

The hexadecimal bytes 0A and 0D are newlines.  A pair of these bytes is considered 1 complete newline.  Thus 1 complete newline can be any of the following pairs: 0D 0A, 0A 0D, 0A 0A, or 0D 0D.  The printer advances the paper one line on the first byte and drops the 2nd byte, as long as the 2nd byte is a 0A or 0D.  If other values are inserted between the 2 bytes of a complete newline, the printer will advance the paper 1 newline, print the inserted characters, and then advance the paper a 2nd time (ex: 0D 20 0D).

 

There is an issue where if too many newlines are printed followed immediately by printable data, the printable data is lost.  It is presumed that the CTS signal back to the PC is not being processed properly.

 

The hexadecimal byte 0C is formfeed.  It advances the paper to next 1 page boundary, with 1 page being approximately 59 lines.  Previously printed data is considered part of the page.  For example, if 30 lines of printable bytes were sent followed by a 0C, the paper would be advanced 29 lines.

 

There is an issue where if data is transmitted too soon, i.e. before the formfeed has finished, that data may be incorrectly printed in the middle of the formfeed or may be lost.

1923615059_AquariusPrinter-TextMode.thumb.jpg.f304f8cafdcc10de2bf10ef5ba0ccf76.jpg

 

Graphics Mode
All characters are printable, based on the Aquarius computer's character set.

However, after power up or a short delay between printing sessions, the data needs to be preceded by 0A 0D before the graphics data can be sent.  The first 2 bytes of 0A 0D are not printed, but do cause a newline to occur.  Any 0A or 0D that appears after the initial 0A 0D pair are printable characters and are not newlines.

 

However, data can NOT be continuously streamed to the printer indefinitely.  Somewhere between 880 to 920 bytes, the printer stops responding.  It is recommended that long streams of data be separated into smaller chunks with short delays.

1385209401_AquariusPrinter-GraphicsMode.thumb.jpg.d4b8c041a271755a9531ece25183a6df.jpg

 

Mixed Mode
The same as Graphics Mode except that 0A and 0D are newlines.  These bytes behave the same as they do in Text Mode.  Unlike Graphics Mode, there is no need to prepend the printable characters with 0A 0D.

 

There is an issue where, if too many newlines are printed followed immediately by data, the data is lost.  It is presumed that the CTS signal back to the PC is not being processed properly or that the printer needs a brief delay after asserting CTS and receiving more bytes.

249755233_AquariusPrinter-MixedMode.thumb.jpg.d7c56f440afa8cb9f37c6809d8db7915.jpg


Construction
Major components:

  • Hitachi HD6801V0P CPU: Hitachi's version of a Motorola 6801 (enhanced instructions, 4KB ROM and 128 bytes RAM on-chip, serial, GPIO)
  • Olivetti PU-1840 2P Printer mechanism: 280 horizontal dots, thermal paper
  • Hitachi HA17555: a 555 timer chip, presumed to control the baud rate

The plastic case has 4 parts: the top shell, bottom shell, paper compartment cover, and the back panel.


The back panel contains the serial connectors and the Text/Mixed/Graphics switch.  It appears the back panel and the internal space next to it was intended to be replaceable to support other interfaces (Centronics?  DE-9 serial?  Commodore 64?).


The top shell front internally has space for 2 unused punch-outs in the plastic, each with mounting points in an internal metal bracket.  Potentially, these could support addition buttons and/or lights.

1636198890_AquariusPrinterInternals.thumb.jpg.af270efef29f53a40918cf4e946a9a2b.jpg

 

Wiring Adapters / Cables
Here are schematics for building either a wiring adapter to connect the Aquarius printer directly to a PC's 9-pin serial port or to the Intellivision ECS.  Note that similar schematics elsewhere don't allow a direct connection to a PC since they require additional adapters like null-modem cables.

Aquarius Printer Adapter Cables v1.pdf

 

20210817_103523.thumb.jpg.b5c215a5d9a1a8421ab6a32856a1da74.jpg

  • Like 6
  • Thanks 2
Link to comment
Share on other sites

On 8/14/2021 at 10:34 PM, evg2000 said:

thanks for the write up, great job!  i’ve never tried my printer, no paper. The last time i used a thermal printer was the 40 column printer i had for my c64 used for my pascal listing in JC.

You can actually use standard thermal fax paper.  If you cut the roll in half it is a perfect fit 

Link to comment
Share on other sites

  • 5 weeks later...
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...