Changes
[[Category:Peripherals]] [[Category:Printers and printer ports]]
{{AmstradPrinterLinks}}
<br>
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.
The red arrow indicates underlengths (where the 8bit data is shifted down to the lower 8-pins). The blue line indicates the pre-defined width for use in proportional mode.
<gallery>
File:DMP2000 Charset.png|DMP2000/DMP2160(incomplete)File:DMP3000 Charset.png|DMP3000(incomplete)File:DMP3160 Charset.png|DMP3160 (complete)File:NLQ401 Charset.png|NLQ401(complete)
</gallery>
* 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).<br>
'''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.<br>'''Firmware Restrictions:''' Looking at the firmware disassembly, chr(7Fh..80h) (slashed zero and french "c") seem to be non-printable. chr(81h..FFh) are printable via ESC "=" code.
=== DMP2000/2160 fonts ===
* Draft font: probably somewhere in uUD7811 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 [[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).
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /mnt/cpcwiki-httpdocs/includes/diff/DairikiDiff.php on line 434
=== DMP3000 /DMP3160 fonts ===
== International Characters ==
|}
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) ==
{|{{Prettytable|width: 700px; font-size: 2em;}}
|colspan=17|''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|| || || || || || § || || || || || || || || || ||
|-
|...||colspan=16|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 Ports|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.