Changes

Jump to: navigation, search

Amstrad/Schneider Printer Control Codes

439 bytes added, 09:31, 22 June 2022
/* NLQ401 Control Codes */ DEL isn't supported, tested with a real NLQ401 printer
[[Category:Peripherals]] [[Category:Printers and printer ports]]
{{AmstradPrinterLinks}}
<br>
|Normal Width Mode (also restores 1/6" line feed rate; after graphics printing)
|-
|10,hi,lo ||16,hi,lo ||DLE "NN" ||Misc
|Print Position in character units (NN = two-digit ASCII, "00..79")
|-
|CR
|-
|1B,10,hi,lo ||27,16,hi,lo ||ESC DLE hi lo ||Misc
|Print Position in dot units (hi:lo = 9bit binary, 0..479) (lo=lower 7bit, hi=upper 2bit)
|-
|1B,4B,hi,lo,gfx0,gfx1,.. ||27,75,hi,lo,gfx0,gfx1,.. ||ESC "K" ... ||Graphics
|Graphics Mode (hi:lo = 9bit count, 0..479) (lo=lower 7bit, hi=upper 2bit) (followed by as many bytes, with bit0=upper pixel .. bit6=lower pixel). This command additionally changes the line feed rate to 1/9 inch; the new rate is kept applied for text and graphics (until canceled by chr 0Eh/0Fh).
|-
|1C,num,gfx ||28,num,gfx ||FD,num,gfx ||Graphics
|Repetition of one byte of graphic print data (num=1..127 repeat count) (gfx: bit0=upper pixel .. bit6=lower pixel)
|-
On a DMP2000 or FX80 it would directly select n/72 inch line spacing (n=0..85) (without needing to execute subsequent ESC "2")
|-
|1B 43 (00 ) n ||27 67 (0 ) n ||ESC "C" (NUL ) n ||Feed|Select page Page length in lines or inches (n=1..22)|-|1B 43 n ||27 67 n ||ESC "C" n ||Feed|Select page length in 127 lines (n=, or 00h,1..12722 inch)
|-
|1B 44 .. 00 ||27 68 .. 0 ||ESC "D" .. NUL ||Tab
|1B 78 n ||27 120 n ||ESC "x" n ||Text Style
|Select Draft/NLQ mode (00h=Draft, 01h=NLQ)
|-
|7F ||127 ||DEL ||Misc
|Delete last character from buffer (but not control codes) (works only when buffer isn't yet printed; printing usually starts on terminating lines via LF)<br>
'''Not confirmed if supported by NLQ401'''
|-
|}
|-
|09 ||9 ||HT ||Tab
|Horizontal tab(see ESC "D")
|-
|0A ||10 ||LF ||Feed
|-
|0B ||11 ||VT ||Tab
|Vertical Tab(see ESC "B", ESC "b" and ESC "/")
|-
|0C ||12 ||FF ||Feed
|1B 21 n ||27 33 n ||ESC "!" n ||Text Style
|Master select where n is a combination of:
* 0 PicaBit0 - Elite/mini (same as ESC "M" / ESC "P")* 1 EliteBit1 - Ignored or Proportional (same as ESC "p")* 4 Bit2 - Condensed (same as SI / DC2)* 8 Bit3 - Emphasized (/bold (same as ESC "E" / ESC "F")* 16 Bit4 - Double Strike (same as ESC "G" / ESC "H")* 32 Bit5 - Double Width (same as ESC "W")* 64 Bit6 - Ignored or Italic (same as ESC "4" / ESC "5")* 128 Bit7 - Ignored or Underline (same as ESC "-")Pica & Elite Epson FX-80 and Condensed/Emphasized are mutually exclusive. Amstrad DMP2000..3160 support only bit0,2-5 (not italicAmstrad DMPs do support proportional/italics/underline, but they can be changed only via ESC "p/4/5/-", not via ESC "!").Epson LQ-500 and Star-LC10 do use/support master style bits0-7.Condensed/Emphasized are mutually exclusive.
|-
|1B 23 ||27 35 ||ESC "#" ||Char Code
|-
|1B 25 n 00 ||27 37 n 0 ||ESC "%" n NUL ||Charset
|Select normal character set (00h=Normal/ROM, 01h=User-Defined/RAM) (Star LC10: without ending NUL)
|-
|1B 26 00 .. ||27 38 0 .. ||ESC "&" NUL .. ||Charset
|1B 2A d lo hi .. ||27 42 d lo hi .. ||ESC "*" d lo hi.. ||Graphics
|Print 8pin Graphics (hi:lo number of dot columns (number of data bytes), each data byte defines 8-pins (bit7=upper pin), Density (d) can be:
* 00h = 60dpi60 dpi, 480 pix per 8 inch, single density graphics (same as ESC K)* 01h = 120dpi120 dpi, 960 pix per 8 inch, double density graphics (same as ESC L)* 02h = 120/2dpi2 dpi, double speed double density (same as ESC Y) (120dpi source data being output at 60dpi) (960 pix per 8 inch)* 03h = 240/2dpi2 dpi, double speed quad density (same as ESC Z) (240dpi source data being output at 120dpi) (1920 pix per 8 inch)* 04h = 80dpi80 dpi, 640 pix per 8 inch (for CPC/EGA/VGA screenshots)* 05h = 72dpi72 dpi, 576 pix per 8 inch (for 1:1 pixel aspect ratio)* 06h = 90dpi90 dpi, 720 pix per 8 inch (for Hercules screenshots)In the two "double speed" modes, dots can be positioned at fine resolution, but the next dot (in the same row) must be white
|-
|1B 2D 30 n ||27 45 48 n ||ESC - "0" ||Text Style|Cancel underlining|-|1B 2D 31 ||27 45 49 ||ESC - "1" n ||Text Style|Select underliningUnderlining on/off (00h=Off, 01h=On)
|-
|1B 2F c ||27 47 c ||ESC "/" c ||Tab
|Select vertical tab channel (c=0..7); channels can be defined via ESC "b"
|-
|1B 30 ||27 48 ||ESC "0" ||Feed
|-
|1B 34 ||27 52 ||ESC "4" ||Text Style
|Select italic mode (unclear if italics can be also used by setting bit7 of the character number?)
|-
|1B 35 ||27 53 ||ESC "5" ||Text Style
|Select n/72 inch line spacing (n=0..85)
|-
|1B 42 .. 00 ||27 66 0 ||ESC "B" NUL ||Tab|Clear Vertical tabs|-|1B 42 tabs 00 ||27 66 tabs .. 0 ||ESC "B" tabs .. NUL ||Tab|Select Define up to 16 vertical tabs where tabs are with ascending values from 1..255 ending ; specifying an empty list (ESC "B" NUL) clears vertical tabs; used with NULVT aka chr(0Bh); one can also define multiple vertical tab channels (see ESC "b" and ESC "/")
|-
|1B 43 (00) n ||27 67 (0) n ||ESC "C" (NUL) n ||Feed
|Select Page length in lines or inches (n=1..127 lines, or 00h,1..22 inch)
|-
|1B 44 .. 00 ||27 68 0 ||ESC "D" NUL ||Tab|Clears all horizontal tables|-|1B 44 tabs 00 ||27 68 tabs .. 0 ||ESC "D" tabs .. NUL ||Tab|Sets Define up to 32 horizontal tabs with ascending values from 1-..137. ; specifying an empty list (ESC "D" NUL or a value less than previous tab ends command.) clears all horizontal tabs; used with HT aka chr(09h)
|-
|1B 45 ||27 69 ||ESC "E" ||Text Style
|Cancel double strike mode (also an bold-alike effect)
|-
|1B 49 30 n ||27 73 48 n ||ESC "I" 0 n ||Char Code|Disable Printable codes expansion chr(0-31,128-159) (00h=Control Codes, 01h=Printable Characters) (not on LX80)|-|1B 49 31 ||27 73 49 ||ESC "I" 1 ||Char Code|Enable Printable codes expansion ;makes some of these characters printable (0-31,128-159unknown which ones) whilst others (presumably excluding 27?) (not on LX80like 1Bh)are always treated as control codes
|-
|1B 4A n ||27 74 n ||ESC "J" n ||Feed
|Perform One-shot n/216 inch line feed (n=0..255)
|-
|1B 4B n1 n2 lo hi .. ||27 75 n1 n2 lo hi .. ||ESC "K" n1 n2 lo hi .. ||Graphics|Single 8pin density graphics (Print 8-pin 60 -dpi) graphics (n2:n1 = num bytes followingsame as ESC "*" 0, see there) (480 dots/linedensity of ESC "K" can be redefined via ESC "?")
|-
|1B 4C n1 n2 lo hi .. ||27 76 n1 n2 lo hi .. ||ESC "L" n1 n2 lo hi .. ||Graphics|Double 8pin density graphics (Print 8-pin 120 -dpigraphics (same as ESC "*" 1, see there) (960 dots/linedensity of ESC "L" can be redefined via ESC "?")
|-
|1B 4D ||27 77 ||ESC "M" ||Text Style
|Select superscript/subscript (00h=super, 01h=sub)
|-
|1B 54 ||27 84 ||ESC "T " ||Text Style
|Cancel superscript/subscript
|-
|Double width mode (continous) (00h=Off, 01h=On) (unlike DC4 and SO: one line)
|-
|1B 59 n1 n2 lo hi .. ||27 89 n1 n2 lo hi .. ||ESC "Y" n1 n2 lo hi .. ||Graphics|Select 8pin HiPrint 8-speed double den pin 120/2-dpi graphics (120 dpi)|-|1B 5A n1 n2 .. ||27 90 n1 n2 ||same as ESC "Z*" n1 n2 ||Graphics|Select 8pin Quad density graphics (240 dpi2, see there) (1920 dots/8density of ESC "Y" can be redefined via ESC "?"line)
|-
|1B 5E d n1 n25A lo hi .. ||27 94 d n1 n2 90 lo hi .. ||ESC "^Z" d n1 n2 lo hi .. ||Graphics|Select 9 Print 8-pin 240/2-dpi graphics mode number of columns = n1 + (n2 same as ESC "* 256" 3, see there) (d=density, 0=single, 1=double) (specs doesn't say if 2..6 do work too) (each column is a 2-byte pair: byte1.bit7..bit0=upper..lower, byte2.bit7=lowest, byte2.bit6..bit0=unusedof ESC "Z" can be redefined via ESC "?")
|-
|1B 62 c 00 5E d lo hi .. ||27 98 c 0 94 d lo hi .. ||ESC "b^" c NUL d lo hi ..||TabGraphics|Clear vertical tabs in channel Print 9-pin graphics at selected density (csimilar to ESC "*" d, see there for details). Allowed density for ESC "^" is officially only d=000h..701h (unknown if 02h..06h do work, too). hi:lo specifies the number of dot columns (the number of 2-byte pairs) (byte1.bit7..bit0=upper..lower, byte2.bit7=lowest, byte2.bit6..bit0=unused)
|-
|1B 62 c tabs .. 00 ||27 98 c tabs .. 0 ||ESC "b" c tabs .. NUL ||Tab|Select Define up to 16 vertical tabs in channels per channel (c=0..7) where tabs are with ascending values from 1..255 ending with ; specifying an empty list (ESC "b" c NUL) clears that vertical tab channel; channels are selected via ESC "/" and can be then used with chr(09h); there is also a similar command without channel-numbers (ESC "B")
|-
|1B 69 n ||27 105 n ||ESC "i" n ||Misc
|Cancel instant Instant character printing (00h=Off=default, ie. print only on LF, 01h=On=print each char immediately; also scrolls printed text into view; when buffer empty) (not on LX80)
|-
|1B 6A n ||27 106 n ||ESC "j" n ||Feed
|Perform One-shot reverse linefeed (n/216 inch after buffer) reverse linefeed (not on LX80)
|-
|1B 6C n ||27 108 n ||ESC "l" n ||Misc