The Retro-Printer is a small module from Retro-Computer specialist, RWAP Software, which works together with a Raspberry Pi to provide easy to use, low cost printer capture hardware designed primarily to allow you to connect a centronics port on older (vintage) computers and equipment to any modern printer such as a USB or network printer.

Easily connect anything from a DOS program; a 1980s Home computer; or even an industrial lathe or door entry system to a modern, low-cost printer. You can also use the module to capture printer output sent to a parallel port and store it for future reference or manipulation.

This makes the module ideal for both producing hard copies of printed output on modern printers, or for extracting and converting data from old equipment; removing the need for legacy printers and enabling migration of data to modern systems and software.

What is the Retro-Printer?

The Retro-Printer Module connected to Raspberry Pi

The Retro-Printer Module connected to the Raspberry Pi makes for a compact centronics to USB printer

Designed as a plug in module for the Raspberry Pi computer, the Retro-Printer provides a low cost means for vintage computers and industrial equipment to connect easily to the latest USB and network printers on the market.

The module forms a hardware alternative to the software based virtual printers which rely on DOS being run inside a dos box under Microsoft Windows.

Developed by RWAP Software, the Retro-Printer is specifically designed to provide a solution for computers and equipment on which Microsoft Windows is not the operating system.

Why is the Retro-Printer required?

Many retro computers were designed at a time when dot-matrix, daisywheel and impact printers were prevalent. A lot of industrial equipment (and DOS based application software) was also designed to make use of these printers and use the same printing methods as those early computers.

Many of these printers used the ESC/P printer control language (made popular by Epson) and printing was as simple as connecting a printer to a parallel port (or a serial port), and sending a string of plain text to the port. The printer control language then told the printer if you wished to output text in bold, italics or a different font, and this was all handled by the printer.

As a result there are 1,000s of DOS based programs and industrial equipment which simply expect to send plain text to a centronics port and for a connected printer to create a physical copy.

When Microsoft Windows took the market by storm in the 1990s, printer manufacturers seized on the opportunity to make printers “dumb” and most printers available to purchase today are GDI Printers.

A GDI printer or Winprinter is a printer designed to accept output from a host computer running the Graphic Design Interface (GDI) under Windows, Mac OS-X or Linux. The host computer is responsible for all print processing and then uses the GDI software to send a bitmap of the printed page to the printer using a printer driver normally supplied by the printer manufacturer.

Because non-GDI printers require hardware, firmware, and memory for page rendering; a GDI printer is cheaper to produce, but unfortunately, this means that a GDI printer cannot be used easily with non-standard operating systems, or even a lot of DOS programs.  These printers cannot even understand a simple line of ASCII text characters sent to them such as the standard test “HELLO WORLD”.

What options do users have?

  • Upgrade to new software (or use an alternative program) which can run on the latest operating system and use its in-built printer drivers
  • Purchase an expensive dot-matrix or top-end laser printer which supports plain text and DOS software. These type of printers are increasingly hard to find and generally cost upwards of £200.
  • Track down second hand printers which could be used as a direct replacement whilst risking the availability of replacement ink cartridges / ribbons and spare parts.
  • Disable printing altogether

Why not use a virtual printer to capture the printer port?

One common solution to this, is to install a virtual printer.  A virtual printer is a piece of software which runs on a Windows based PC and monitors the installed parallel ports on the computer itself.  Provided that your program runs as a DOS based application program which can run within a DOS box as part of Windows 95 or later, then these software based solutions can work quite well at capturing the data sent by to the parallel port (LPT1 to LPT9) and then redirecting it to a connected GDI printer using Windows to perform all of the hard work.

Whilst using software can be a convenient solution for some applications, there remains a whole host of circumstances where such a virtual dot matrix printer cannot be used.  For example, consider how you would print (or collect the data) from industrial or medical equipment, or an old retro computer (such as the BBC-Micro, a Sinclair QL, an Amstrad CPC or the Commodore Amiga) which cannot run Windows.

Capturing printer data with hardware

Rather than forming a simple software emulation of a traditional dot-matrix or daisywheel centronics printer, the Retro-Printer connects directly into any industry standard parallel port (using an existing centronics cable or interface), and captures the raw data sent by the host to its parallel port.

The Retro-Printer can be used seemlessly to print the captured Epson ESC/P2 printer output direct to any modern connected network or USB printer, such as an low cost Inkjet, or even a laser printer.

The data is also stored by the Retro-Printer as a series of PDF files or plain text files on an SD card or a connected USB stick. The captured data can even be stored in the original printer format, which can be useful (for example) for capturing HP PCL printer files, which could then be converted to PDF for archiving, using your own copy of Ghostscript.

The possibilities are countless!

Continue reading – What does the Retro-Printer do?

Latest News About the Retro-Printer

Release of Epson ESC/P2 Conversion Software

As part of the project to create the best linux based ESC/P2 conversion software, we have decided to release the actual conversion routines which will be used by the Retro-Printer module under the GPL public license, as we feel that

Potential Applications for the Retro-Printer

During the development of the Retro-Printer, we have been approached by a range of different people looking to use the Retro-Printer for various applications, such as: Printing from a Sinclair QL, ZX Spectrum, Commodore Amiga, BBC Masters and other retro

2017 – Looking forward to the launch

Having taken into account all of the feedback from our beta testers, we have now created a new version of the Retro-Printer PCB, which should be in our hands by March 2017. This incorporates various issues around ground and voltage