Difference between revisions of "Amstrad/Schneider Printer Support for 7bit Printer Ports"
(→Schneider NLQ401) |
|||
Line 12: | Line 12: | ||
== Schneider NLQ401 == | == Schneider NLQ401 == | ||
− | + | The [[NLQ401]] uses a raw 7bit protocol so all functions are working with 7bit ports. Actually the printer does have an 8bit port, and does use standard Epson codes (which can include 8bit parameters), but the printer firmware strips the MSB immediately after reading data from the centronics port - so one is stuck with 7bit codes, even if one owns a computer with 8bit 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 == | == Amstrad/Schneider DMP2000/DMP2160 == |
Revision as of 17:10, 8 September 2010
- Amstrad/Schneider Printer Models
- Amstrad/Schneider Printer Technical Specifications
- Amstrad/Schneider Printer Control Codes
- Amstrad/Schneider Printer Support for 7bit Printer Ports
- Amstrad/Schneider Printer Character Sets
- Amstrad/Schneider Printer Buttons and DIP Switches
- Amstrad/Schneider Printer Resources (User and Service Manuals, Datasheets, ROM-images)
The CPC computers include a 7bit Printer Port, which is a nasty restriction because most printers use 8bit 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, 8bit printer software isn't neccessarily compatible with all 8bit printer ports. In result, CPCs are more or less stuck with 7bit protocols, which don't allow to access all printer functions.
Contents
Amstrad DMP1
The DMP1 uses a raw 7bit protocol, so all functions are working with 7bit printer ports.
Schneider NLQ401
The NLQ401 uses a raw 7bit protocol so all functions are working with 7bit ports. Actually the printer does have an 8bit port, and does use standard Epson codes (which can include 8bit parameters), but the printer firmware strips the MSB immediately after reading data from the centronics port - so one is stuck with 7bit codes, even if one owns a computer with 8bit 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 ports, but - although it's Amstrad's official CPC printer, some functions are working only with 8bit ports. Features that won't work perfectly with 7bit 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.
- Numeric Parameters - Some printer commands require 8bit or 16bit parameters, in lack of bit7 one cannot specify values like 128..255. In some cases work-arounds are possible (for example, one can send two 64-pixel-wide graphics blocks instead of one 128-pixel-wide block).
- User Defined Characters - In the prefix byte, the underlength flag is always "on", in the bitmap, the upper pixel is always "off". In result, user defined characters can use only the middle 7-pins.
There may be also restrictions on characters 80h..FFh, but it's rather unclear if the DMP2000/DMP2160 does support that characters at all (on DMP3000 they seem to be used to access the italics-font, which isn't included in DMP2000/DMP2160 ROMs).
Amstrad/Schneider DMP3000/DMP3160/DMP3250di
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 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).