Changes
[[Category:Peripherals]] [[Category:Printers and printer ports]]
{{AmstradPrinterLinks}}
<br>
The CPC computers include a [[Printer Port|7 bit Printer Port]], which is a partial restriction because most printers use 8 bit protocols.
There are several ways to upgrade CPC computers to [[8bit Printer Ports]], but many of the different upgrade methods aren't compatible with each other. So, 8 bit printer software isn't neccessarily compatible with all 8 bit printer ports.
In result, CPCs are more or less stuck with 7 bit protocols, which don't allow to access all printer functions. Using [[FutureOS]] you have support for the more common 8 bit printer port solutions.
== Amstrad DMP1 ==
== Schneider NLQ401 ==
The [[NLQ401]] uses a raw 7bit 7 bit protocol so all functions are working with 7bit 7 bit ports. Actually the printer does have an 8bit 8 bit port, and does use standard Epson codes (which can include 8bit 8 bit parameters), but the printer firmware strips the MSB immediately after reading data from the centronics port - so one is stuck with 7bit 7 bit codes, even if one owns a computer with 8bit 8 bit printer port.
Restrictions on 8-pin graphics and numeric parameters are same as on DMP2000 (see there for details). Restrictions for 9-pin graphics and user defined chars don't apply (since the NLQ401 doesn't support these features).
== Amstrad/Schneider DMP2000/DMP2160 ==
Most functions are working with 7bit 7 bit ports, but - although it's Amstrad's official CPC printer, some functions are working only with 8bit 8 bit ports. Features that won't work perfectly with 7bit 7 bit ports:
* '''Graphics''' - The 9-pin graphics command is more or less unusable. The 8-pin graphics command can be used, though with only 7-pins being accessible; the line-feed rate must be set to 7/72 inch accordingly. Using only 7-pins does slightly increase printing duration, and (since more passes are needed) reduces lifetime of the print-head and ink-ribbon.
Same restrictions as for DMP2000/DMP2160. Plus some more problems:
* The additional "italics" and "IBM" symbols seem to require to use character numbers 80h..FFh. There are control codes to manipulate the MSB, so one should be able to use these characters even with 7bit 7 bit ports (in case of 80h..9Fh and FFh one may additionally need to disable control-code mirroring; caution: if this function might also disable the 9Bh-to-1Bh mirroring, so one couldn't send any further ESC codes). == FutureOS == Although [[FutureOS]] isn't an Amstrad/Schneider printer (it is not a printer, nor is it made by Amstrad or Schneider), it is mentioned here: Using [[FutureOS]] you have support for the more common 8 bit printer port solutions.