The CPC Printer Port has only 7bit data. Which is okay for english 7bit ASCII character sets, but not enough for 8bit character sets. Also, printing bitmap graphics usually requires 8bit data (though Amstrads own printers are probably working with 7bit).
Internal 8bit Printer Ports/Mods
Happy Computer 8bit Printer Port upgrade (DIY)
A good method to upgrade to full 8bit has been described in the german magazine "Happy Computer (Schneider Sonderheft) 2/85 and 4/86":
- Disconnect the D7 pin from ground, and wire it to the PIOs Tape WR DATA pin instead (That is, Pin 12 of the 8255 chip).
Sharing that pin will cause no problems (as long as you do not attempt to send data to the tape drive and to printer at the same time). Of course, you will also have to customize your software, or BIOS ROM, or the BIOS jump vectors in RAM, in order to take advantage of the modification.
- For details see: Happy Computer 8bit Printer Mod
CPC Schneider International - 8bit Printer Port Mod
DIY from CPC Schneider International (issue 12'85, page 64), this solution uses joystick port pin 8 (or (keyboard?) pin 2, unclear?).
- For details see: CPCI 8bit Printer Mod
PC Amstrad International - 8bit Printer Port Mod
DIY from PC Amstrad International (issue 8/9'91, page 69-70), this solution uses PPI.Pin12 (same as the Happy Computer 8bit Printer Mod).
8bit Printer Port in KC Compact
The KC Compact uses the Bit5 of PPI Port C as 8th printer bit (this is same as the Happy Computer mod, see above). Although the 8th bit is a built-in feature, the KC Compact BIOS doesn't support it. But it's supported by FutureOS.
8bit Printer Port in Aleste 520EX
The Aleste 520EX includes an 8bit printer port, using PSG Ext Port B for data (which does not exist on the CPC), and PPI port C, Bit 4 for strobe (which would be Tape Motor in CPC). The Aleste doesn't have the normal CPC-style Printer Port at Port EFXXh. The BIOS functions are patched accordingly; including for supporting the 8th bit (unlike the CPC Plus and KC Compact, which do not support the 8th bit in BIOS functions).
8bit Printer Port in CPC Plus
In the CPC Plus, Bit 3 of CRTC Register 0Ch can be used as eighth printer bit. For compatibility to normal CPCs, this feature can be disabled by removing the 10kOhm resistor R30 on the mainboard (aka R130 in the schematic). See LK Links for more info. Although the 8th bit is a built-in feature, the CPC Plus BIOS doesn't support it. However the 8 bit printer port of the CPC Plus is supported by FutureOS.
External Printer Ports
- 8bit Printer Port (Amstrad Action) (DIY) - connects to Expansion Port (uses Port FBF8h/FBF9h)
- 8bit Printer Port (Paul Bauriedl) (DIY) - connects to Printer Port (splits port EFxxh to 2x4bit)
- CPCI 8bit Printer Mod (DIY) - connects Bit7 to Joystick_1_Select signal (can be connected internally or externally)
- CPCISA by Yarek can be used with various ISA bus printer cards (8bit, one- or bi-directional types, SPP, XPP, EPP, etc.)
- KDS 8-Bit Printer Port (KDS Electronics) - connects to Printer Port (splits port EFxxh to whatever fragments - details are unknown)
- Panda Electronics Communications Interface Unit (dual RS232 plus PPI-based 8bit printer port) (Panda Electronics Ltd)
- RS232 Interfaces (various manufacturers) - can be used to access RS232-compatible printers with full 8bit support
Also, reportedly, the following external hardware exists:
- 8bit Printer Port (Pride Utilities) (details)
- 8bit Printer Port with Dual RS232 (Timatic Systems)
- 8bit Printer Port with 16bit I/O port (HoneySoft) (see advert)
There's nothing else known about that hardware.