Difference between revisions of "Amstrad/Schneider Printer Character Sets"
(→IBM Character Set (DMP3000/3160)) |
(→DMP2000/2160 fonts) |
||
Line 21: | Line 21: | ||
* Draft font: probably somewhere in uPD7811 ROM (not dumped) | * Draft font: probably somewhere in uPD7811 ROM (not dumped) | ||
* NLQ font: 128 characters, at EPROM offset 3400h..39FFh (pass1) and 3A00h..3FFFh (pass2); ASCII characters | * NLQ font: 128 characters, at EPROM offset 3400h..39FFh (pass1) and 3A00h..3FFFh (pass2); ASCII characters | ||
− | '''Encoding:''' 12 bytes per char (one prefix, plus eleven 8bit columns; the prefix contains underlength flag, and proportional char width info; same format as with ESC "&" command), 2-pass NLQ characters are defined identically as two draft characters (the prefix byte is having the same value in both definitions)<br> | + | '''Encoding:''' 12 bytes per char (one prefix, plus eleven 8bit columns; the prefix contains underlength flag, and proportional char width info; same format as with [[Amstrad/Schneider Printer Control Codes|ESC "&" command]]), 2-pass NLQ characters are defined identically as two draft characters (the prefix byte is having the same value in both definitions)<br> |
'''Mechanical Restrictions:''' After drawing a draft pixel, the next ONE pixel (in the same row) must be white. There is no such restriction for NLQ pixels (because they are defined in a lousy resolution). | '''Mechanical Restrictions:''' After drawing a draft pixel, the next ONE pixel (in the same row) must be white. There is no such restriction for NLQ pixels (because they are defined in a lousy resolution). | ||
Revision as of 06:38, 6 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)
Contents
Character Set ROMs
Here are some Draft and NLQ charsets extracted from the EPROMs. In case of the DMP2000/DMP3000, additional Draft characters are probably contained in the CPUs on-chip ROM.
NLQ401 fonts
- Draft font: 232 characters at EPROM offset 16A6h..209Dh; ASCII characters and CPC symbols
- NLQ font: 103 characters, at EPROM offset 209Eh..3FFFh (pass1+pass2); ASCII characters
Encoding: 11 bytes per Draft character (same as Epson chars, but without prefix byte), 39 bytes per NLQ pass (in super-high horizontal resolution; about 3-4 times better than the later DMP2000..3000 models). In lack of prefix flags, underlengths are defined by software (at ROM address 090Eh..091Ch).
Mechanical Restrictions: After drawing a draft pixel, the next ONE pixel (in the same row) must be white. After a NLQ pixel, the next THREE must be white.
DMP2000/2160 fonts
- Draft font: probably somewhere in uPD7811 ROM (not dumped)
- NLQ font: 128 characters, at EPROM offset 3400h..39FFh (pass1) and 3A00h..3FFFh (pass2); ASCII characters
Encoding: 12 bytes per char (one prefix, plus eleven 8bit columns; the prefix contains underlength flag, and proportional char width info; same format as with ESC "&" command), 2-pass NLQ characters are defined identically as two draft characters (the prefix byte is having the same value in both definitions)
Mechanical Restrictions: After drawing a draft pixel, the next ONE pixel (in the same row) must be white. There is no such restriction for NLQ pixels (because they are defined in a lousy resolution).
DMP3000 fonts
- Draft font: ASCII chars probably somewhere in uPD7811 ROM (not dumped), IBM chars at EPROM offset 5000h..5xxxh
- NLQ font: circa 330 characters, at EPROM offset 5C00h..6BFFh (pass1) and 6C00h..7BFFh (pass2); ASCII, Italics, IBM characters
Encoding/Mechanics: Same as DMP2000/2160, see there.
International Characters
23h | 24h | 40h | 5Bh | 5Ch | 5Dh | 5Eh | 60h | 7Bh | 7Ch | 7Dh | 7Eh | |
0 - USA | # | $ | @ | [ | \ | ] | ^ | ` | { | | | } | ~ |
1 - France | # | $ | à | ° | ç | § | ^ | ` | é | ù | è | ¨ |
2 - Germany | # | $ | § | Ä | Ö | Ü | ^ | ` | ä | ö | ü | ß |
3 - UK | £ | $ | @ | [ | \ | ] | ^ | ` | { | | | } | ~ |
4 - Denmark | # | $ | @ | Æ | Ø | Å | ^ | ` | æ | ø | å | ~ |
5 - Sweden | # | ¤ | É | Ä | Ö | Å | Ü | é | ä | ö | å | ü |
6 - Italy | # | $ | @ | ° | \ | é | ^ | ù / ` | à | ò | è | ì |
7 - Spain | Pt | $ | @ | ¡ | Ñ | ¿ | ^ | ` | ¨ | ñ | } | ~ |
8 - Japan | # | $ | @ | [ | ¥ | ] | ^ | ` | { | | | } | ~ |
Italian chr(60h) is "`" (DMP1), or "ù" (DMP2xxx/3xxx). Japan (Yen symbol) is software selectable on DMP2xxx/3xxx only. All other chars are same for all DMP versions.
IBM Character Set (DMP3000/3160)
IBM Characters (DMP3000/DMP3160 in "IBM" Mode only) | ||||||||||||||||
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | |
00h | crd | crd | crd | crd | ||||||||||||
10h | § | |||||||||||||||
... | chr(20h..7Eh) = Standard ASCII characters | |||||||||||||||
80h | Ç | ü | é | â | ä | à | å | ç | ê | ë | è | ï | î | ì | Ä | Å |
90h | É | æ | Æ | ô | ö | ò | û | ù | ÿ | Ö | Ü | ¢ | £ | ¥ | Pt | ƒ |
A0h | á | í | ó | ú | ñ | Ñ | ª | º | ¿ | xx | ¬ | ½ | ¼ | ¡ | « | » |
B0h | Blk | Blk | Blk | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin |
C0h | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin |
D0h | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | lin | Blk | Blk | Blk | Blk | Blk |
E0h | alp | ß | xx | xx | xx | xx | µ | xx | xx | xx | xx | xx | xx | xx | xx | xx |
F0h | xx | ± | >= | <= | xx | xx | ÷ | xx | ° | xx | xx | sqr | ^n | ² | • |
- The DMP3000..3250 has two selectable "IBM Character Sets". Set 1 omits chr(03h..06h, 15h, 80h..9Fh), Set 2 includes them (though one needs an 8bit Printer Port to use chr 80h..9Fh).
- The IBM characters are same as the default MS DOS character set (ie. same as built-in in CGA/EGA/VGA BIOSes). However, the DMP doesn't implement all IBM characters: chr(00h..02h, 07h..14h, 16h..1Fh) are missing. Moreover, the "border/line" symbols in chr(B3h..DAh) should usually consists of single- and double-width lines, but the DMP draws all of them as single-width lines.