Amiga Forever by Cloanto
 
Home Products
 
 
TITLE

Printing on a Windows System

 

TOPIC

Q: How do I configure the emulation to print on a Windows system?

 

DISCUSSION

Overview

Amiga Forever and C64 Forever 11 include different emulated printers with live preview, as well as the ability to send data directly to the PC printer ("passthrough" mode).

The output can also be saved as a file. TrueType fonts to view and edit the output with applications like Microsoft Word or Adobe Acrobat are included.

Configuration

To choose a printer right-click a title, select Edit, go to the Configuration tab and select the desired device options. On Amiga systems, printers can be attached to the parallel and serial port. On PET/CBM systems the printers are connected as Unit 4 and Unit 5. Each emulation environment can use up to two printers at the same time.

An additional (optional) emulated PostScript printer can also be used. This requires the Ghostscript package to be installed on the Windows side.

Windows printer options can be adjusted when the Print dialog opens. Defaults can also be set under Tools/Options/Emulation.

Built-in Emulated Printers

As of version 11, Amiga Forever and C64 Forever feature the following emulated (virtual) printers:

  • EpsonQ - A laser-quality "ESC/P2" color printer that works well with the EpsonQ printer driver that is preset in the Printer Prefs of most Amiga systems.
  • MPS 803 - The iconic 6x7 dot matrix printer, perfect for 8-bit systems like the VIC 20 and C64. Combines 8-bit printing with modern precision. On the Amiga it can be used as a plain text printer with the Generic driver, or using CBM/MPS control codes.
  • CBM 8026 - A laser-quality emulation of an 8-bit daisy wheel printer, enhanced to support text style variations. Perfect for ASCII art and PET/CBM listings. On the Amiga it can be used as a plain text printer with the Generic driver, or using CBM/MPS control codes.

At runtime, select the printer icon in the status bar at the bottom of the playback window to access built-in features like printing a listing (for 8-bit systems), or to open the printer dialog.

After the page content has been rendered by the emulated printer, you can make various adjustments, and then optionally send the output to the actual printing destination on the PC. This may be a "real" printer, a "Print to PDF" printer, or a file. Different combinations of emulated and destination paper sizes are supported, including multiple pages per destination sheet and double-sided printing.

The quality of text rendered via the EpsonQ and CBM 8026 virtual printers matches that of PostScript, as these emulated printers also use vector fonts. Results in graphics mode may vary and depend on the intentions.

The MPS 803 virtual printer is designed to recreate the original dots using modern vector technology. The results are perfect for a retro-looking greeting card, but can also be scaled up to poster size.

If you find any discrepancies relative to the actual output of the respective "real" printers, please report them via the software (Help/Send Feedback).

Enhanced Features

The built-in virtual printers support high-quality vector rendering with live preview, a loudspeaker (for "bell" signalling) and an extended character set, including European and Japanese characters used in different C128, C64, VIC 1001 and VIC 20 models.

By default, a narrow-carriage printer is emulated, and the behavor of the original printer is emulated for paper sizes up to 10" (254 mm).

When a paper size wider than 10" is set, the emulated printers switch from narrow-carriage ("80 columns") to wide-carriage ("132 columns") mode.

When a paper size wider than 15" is set, the emulated printers switch to "infinite carriage" mode. This can be useful for generating banners and poster-size printouts in a way that was not possible with "real" printers.

EpsonQ Emulation

The virtual EpsonQ color laser printer acts as a generic ESC/P2 device. This is the recommended emulated printer for Amiga systems. It is also compatible with many 8-bit applications.

The ESC/P2 specification covers a wide range of features, many of which are tailored for specific hardware. The emulation implements a practical subset, aiming for compatibility with the Amiga "EpsonQ" drivers and with "Epson FX" printers used by CBM 8-bit systems. In raster graphics mode, densities up to 360 dpi x 360 dpi are supported, with automatic stripe merging to reduce banding artifacts. Barcodes, scalable fonts, and user-defined characters are not supported. The emulation includes support for some ESC/P commands that were deprecated in ESC/P2, like those for text justification.

The default configuration has a narrow carriage ("80 columns"), which can be switched to wide ("132 columns") or "infinite" carriage mode by changing the paper size.

For a quick test, start "Amiga 4000 Enhanced 3.X" from the Systems folder, click Clown.pic at the bottom, then select Print from the Project menu. Press Ctrl + Scroll wheel to zoom in and out. To preview in color, make sure the selected Destination printer supports it (e.g. Microsoft Print to PDF). Prefer a slower experience where you can literally watch yellow, magenta and cyan stripes appear one by one? Start "Amiga 2000 Enhanced 1.3", then launch GraphicDump (inside Utilities). Be patient, as this configuration emulates a CPU running at the speed it had 40 years ago.

If you miss specific ESC/P2 features, please send your feedback via the software (Help/Send Feedback).

MPS 803 Emulation

This virtual dot matrix printer aims to accurately implement the specifications and behavior of the popular MPS 803 hardware, including the original dot-matrix font and additional characters.

This 7-pin printer is ideal for accurately rendering text and graphics from systems such as the VIC 20 and C64. Combined with the optional replica of fanfold paper, complete with realistic cuts and perforations, it provides an authentic and nostalgic printing experience ideal for education and retrocomputing enthusiasts. The high-quality "vector dots" further enhance the visual fidelity, allowing unparalleled realism and scalability.

In the default narrow-carriage configuration, the print head cannot be positioned after character 80. If additional printable data is received, the print head moves to the next line. Control sequences to move the head beyond the printable limit are ignored. The maximum character position that can be set via a DLE control sequence, i.e. CHR$(16), is 79. The maximum dot position that can be set via an ESC DLE control sequence, i.e. CHR$(27) followed by CHR$(16), is 479 (not 639 as stated in some editions of the documentation).

In wide-carriage mode, each line may contain up to 132 characters. The print position can be set up to character position 99 via a DLE control sequence, or up to dot position 791 via an ESC DLE control sequence. Character positions larger than 99 cannot be set via a DLE control sequence, as that only allows for exactly two ASCII digits.

In "infinite carriage" mode, the print position can be set up to character position 99 via a DLE control sequence, or up to dot position 65535 via an ESC DLE control sequence.

Whether you're curious about how this iconic 6×7 dot matrix printer worked or looking to introduce a new generation to vintage computing, check out the "MPS 803 Printer Playground" title in C64 Forever (under Applications). It includes the MPS 803 User Guide and all sample listings, ready to load from disk. When you run an example, the Print dialog opens automatically to display the output shown on the corresponding manual page.

CBM 8026 Emulation

This virtual daisy wheel printer aims to accurately implement the specifications and behavior of the original CBM 8026 hardware, using a Pica Courier (10 cpi) or an Elite Courier (12 cpi) print wheel. Enhancements include "quote mode", reverse, PETSCII and other special characters.

Without the limitations of its hardware counterpart (high costs, low speed, limited character set), this virtual printer is the best choice to render high-quality listings on CBM 8-bit systems.

The default configuration has a narrow carriage ("80 columns"), which can be switched to wide ("132 columns") or "infinite" carriage mode by changing the paper size.

PostScript Options

Newer versions of the Amiga operating system, as well as Amiga graphics, word processing, DTP and other applications, also support the PostScript page definition language, which allows for higher-quality graphics mode output compared to EpsonQ raster graphics. Even 8-bit systems like the C64 support PostScript, via applications like geoPublish and geoWrite that use the GEOS laser printer drivers.

Once you are able to produce PostScript output from the application running in the emulated system, this can be rendered on any printer attached to the PC. To allow for this, in the title settings configure the printer port to one of:

  • PostScript emulation (to print to a non-PostScript printer, to PDF, or to print to file)
  • Passthrough (if printing to a "real" PostScript printer)

The optional emulated PostScript printer requires the Ghostscript package (a third-party application) to be installed on Windows, making it possible to interpret the PostScript output and convert it into a format that can be processed by the (non-PostScript) Windows printer. On a 64-bit version of Windows, both the 32-bit and the 64-bit versions of Ghostscript need to be installed. Once Ghostscript is installed, additional features like "Save as PDF" become available in the Print dialog of Amiga Forever and C64 Forever. As this is not a built-in emulated printer, live preview and other features may not be available.

PostScript Emulation is a high-quality option that can be used when the Amiga or 8-bit application is able to generate PostScript output, but the PC does not have a PostScript printer attached. If instead the PC has a supported PostScript printer attached, you should try to use Passthrough mode first (there is no need for PostScript emulation).

The Amiga Printer Preferences include a simple PostScript printer driver. If your Amiga application (e.g. PageStream or Professional Page) offers built-in support for PostScript, we recommend, as a general rule, that you choose the latter print option instead of the PostScript driver in the Printer Preferences.

Passthrough Mode (Native Printing)

If the Amiga or CBM 8-bit title has a driver for the device that is attached to the PC, you can select "Passthrough" (formerly "Native") mode. This includes printing in PostScript to a modern PostScript printer that is directly supported by application that is generating the print job.

As Passthrough mode does not use a built-in emulated printer, live preview and other features may not be available in the Print dialog.

While the Print dialog is open, the printer data is accumulated until the Print button is pressed. This makes it possible to select a different destination printer, or to save the file.

Printer Drivers

The emulated printers render the page as if it was printed by the printer being emulated, not by the device that is attached to the PC, which may be of a different type. The Amiga or 8-bit software only needs to have drivers for the virtual printer being used. It does not need to support the actual printer connected to the PC (unless it is printing in Passthrough mode). The "translation" from the emulated printer to the physical printer is done by Amiga Forever or C64 Forever.

All 8-bit programs and some Amiga applications (e.g. SBase) output directly via their own drivers (rather than the Amiga Prefs printer driver). In that case, select a driver that most closely resembles the emulated printer. If adjusting these settings manually, also remember to set the output to the desired port (parallel port on the Amiga, or Unit 4 or 5 on CBM systems).

When Passthrough mode (rather than an emulated printer) is used, the Amiga or 8-bit software needs to have the correct drivers for the printer connected to the PC. Even on Amiga systems, it may not always be easy to find an up-to-date printer driver for a modern printer. Third-party Amiga packages like Studio Professional and TurboPrint include a wider choice of high-quality Amiga printer drivers than the Amiga operating system.

The default ports for printing are the parallel port on the Amiga, and Unit 4 on PET/CBM systems.

If you do not have an Amiga driver for the PC printer, leave the Amiga configuration set to EpsonQ to use the emulated EpsonQ printer. The emulated printer also supports additional ESC/P2 codes and graphics densities used by third-party drivers like EpsonQPlus by Wolf Faust.

Most PET/CBM systems should work fine with the CBM 8026 printer, while printing applications for systems like the VIC 20 and C64 generally support the MPS 803. The CBM 8026 printer is the best option for printing listings on these systems as well.

Save Emulation Data to File

The Print dialog in Amiga Forever and C64 Forever also features a Save to File option, which saves the data stream received from the emulation session to a file. This may be useful for archiving purposes, or whenever it is not possible to directly send the printer output to a local port.

Two formats are supported [note: .rp-print is still under development]:

  • [planned] Printer Package (.rp-print) saves the raw printer data along with details that include computer and printer model, character set information, and other metadata. The resulting file can be opened by Amiga Forever and C64 Forever to run the print job again, or to save the data in a different format.
  • Binary (.bin) saves the exact byte stream as generated by the printing application, without additional character set information or other metadata. This format is comonly used to save PostScript files. This format does not fully preserve 8-bit printer data because the character set information provided by the secondary address of the OPEN command, as well as other encoding options set at runtime (e.g. via ASCI/CC on the C128) are lost. Other than for this limitation, the resulting file can be opened by Amiga Forever and C64 Forever to run the print job again, or to save the data in a different format.

Print Destination Pages to File

In some cases it is desirable to save the rendered page output (rather than the raw binary stream) to a file format such as PDF, XPS or RTF, which can then be opened and/or edited with other page-oriented applications.

If a virtual printer like Microsoft Print to PDF, Adobe PDF, or Microsoft XPS Document Writer is installed, it can be selected as a printer destination. The built-in emulated printers will render content in vector quality, producing a result of uncompromising visual precision.

In PostScript emulation mode, an additional "Save as PDF" virtual printer becomes available. This converts the PostScript data to PDF using the same Ghostscript engine as the PostScript emulation. This is the recommended option to convert Amiga PostScript to PDF. When other virtual printers like Microsoft Print to PDF or Adobe PDF are used, the conversion is done via an intermediate bitmap, losing the vector layer.

A limitation of the virtual printer approach is that font metadata information and exact spacing are not preserved for copy and paste purposes (e.g. copying from the resulting PDF and pasting into Microsoft Word may not automatically use the correct font). To overcome this and make editing easier, a "Save as RTF" (.rtf) format is under development. This will generate a formatted document that can be opened, edited and printed by applications like Microsoft Word. This format will only be available when printing with the built-in emulated printers.

Related Links

 

Article Information
Article ID: 13-146
Platform: Windows
Products: Amiga Forever, C64 Forever
Additional Keywords: None
Last Update: 2025-06-10
Your feedback is always appreciated. It is safe to link to this page.