Changes

Printer Port

1,628 bytes added, 19 February
/* Upgrade to 8bit data */
The printer port supports parallel one-directional 7bit data, strobe, and busy signals. == How it works == To send a byte to the printer, you first have to verify if it's ready, via bit6 of port B of the PPI located at &F500. When this bit is 0, you can send a byte. When it's 1, the printer is busy (its buffer is full, it's out of paper, it's turned off, not Online, ...). Note that the system can differentiate between a full buffer and another type of error when the control bit stays at state 1 for too long.  The printer is operated as follows: to send a byte, use port &EF00 by sending the value 3 times (1st: Bit7=0; 2nd: Bit7=1; 3rd: Bit7=0), with bit7 used to validate the byte. For this reason, only the 7 least significant bits were taken into account.
== Data / Strobe ==
Port EFXX &EFxx - Printer Port Output 74LS273 (7bit Data and Strobe) (W)
Bit 0-6 Printer Data (7bit) (0=Low, 1=High)
Bit 7 Printer Strobe (0=High, 1=Low)
== Busy (PIO.PPI PortB.Bit6) ==
Port F5XX &F5xx PIO - PPI Port B
Bit 0 VSYNC CRTC Vsync flag (1=VSYNC active)
Bit 6 BUSY Printer Busy flag (1=Busy, 0=Ready)
Bit 7 RD DATA Tape Data Input
 
== General Specifications ==
 
*[https://en.wikipedia.org/wiki/ESC/P Epson Standard Code for Printers (ESC/P)] Wikipedia article
*[https://files.support.epson.com/pdf/general/escp2ref.pdf Epson ESC/P Reference Manual]
 
For (detailed) general information about Amstrad/Scheider printers, see:
{{AmstradPrinterLinks}}
== Pinouts ==
* [[8bit Printer Ports]]
 
Amstrad Plus machines can handle 8bit data natively. The 8th bit of the printer port is on bit3 of register 12 of the emulated [[CRTC]].
 
This bit must have "seemed" unused to Amstrad engineers. Unfortunately, they didn't know about the Overscan Bits.
== KC Compact Printer Port ==
The Printer Port in the [[KC Compact]] is fully compatible with the CPCs Printer Port, and includes some additional features:
* Port EFxxh &EFxx is CIO Port A, by default configured as Output, with inverted polarity on bit7 (same as on CPC). However, CIO Port A could be reprogrammed by software (for example: making it an Input, or disabling the bit7 inversion)
* The 8th Printer bit connects to Bit5 of PIO Port C (same as the Happy Computer [[8bit Printer Ports|8bit Printer Port]] mod)
* The "TEST" Feature of the KC Compact BIOS allows to boot the computer remotely via some kind of "network" connection, which connects to some of the CIO Port A signals
== Aleste 520EX Printer Port ==
The [[Aleste 520EX]] is '''not''' compatible with the CPCs Printer Port (it's having other, non-printer related hardware mapped to EFXXh&EFxx). Aside from the compatibility problem it's better than the CPCs port: Data is 8bit bi-directional.
== Non-Printer Devices that connect to the Printer Port ==
* [[Ambug|Ambug Robot]] (DIY) (connects to printer & joystick port)
* [[Data Media Printerinterface]] (printer splitter for connecting 2 or 3 software-selectable printers to the CPC)
* [[Digiblaster]] (Playback) (DIY) (8bit DAC on printer port)
* [[Fischertechnik Interface]]
* [[FuturePlayer]] (modern MP3 playback, max 128kbps) (Dr.Zed)
* [[KDS Power Controller]] (a box with eight relays)
* [[Simple RS232 for Printer usage]] (DIY) (one-directional, transmit only)
* [[Virtual Net 96]] ([[Wizcat]])
[[Category:CPC Internal Components]][[Category:Digiblaster]][[Category:Hardware]][[Category:Programming]][[Category:Printers and printer ports| ]][[Category:Peripherals]][[Category:Network]][[Category:Robotic]][[Category:Serial interfaces]]
13,173
edits