Changes

Amstrad/Schneider Printer Control Codes

364 bytes removed, 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 Pica,1 * Bit0 - Elite,/mini (same as ESC "M" / ESC "P")4 * Bit1 - Ignored or Proportional (same as ESC "p")* 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 Wide,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
|MSB control sequence cancel (=obtain MSB from Centronics Pin 9) (not on LX80)
|-
|1B 25 n 00 00 ||27 37 0 n 0 ||ESC "%" n NUL NUL ||Charset|Select normal character set (00h=Normal/ROM) (star lc10 without ending NUL)|, 01h=User-|1B 25 01 00 ||27 37 1 0 ||ESC "%" SOH NUL ||Charset|Select user defined char set (Defined/RAM) (star lc10 Star LC10: without ending NUL)
|-
|1B 26 00 .. ||27 38 0 .. ||ESC "&" NUL .. ||Charset
|Define user defined chars (params: first,last char (0..31 each), followed by "attr,d1..d11" per char, attr.bit7=descender flag (0=descend, 1=no descend, usuable only with 8bit printer port), attr.bit6-4=starting pos(0..7, attr.bit3-0=finishing pos i+4..11), d1..d11 are 8-pin columns) (must be enabled via DIP-switch!)
|-
|1B 2A d n1 n2 lo hi .. ||27 42 d n1 n2 lo hi .. ||ESC "*" d n1 n2lo hi.. ||Graphics|Print 8pin Graphics (n2hi:n1 lo number of dot columns(number of data bytes), each 8pin, 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
|MSB = 1 (not on LX80)
|-
|1B 3F s n d ||27 63 s n d ||ESC "?" s n d ||Graphics|Reassign graphics mode density of ESC "K/L/Y/Z" codes. 's'=code name (K,L,Y or Z) to mode , 'nd'=density (0..6, same as for ESC "*", see there) (default is defaults are ESC "K"=0, "L"=1, "Y"=2, "Z"=3) (these defaults can be reassinged here, eg. ESC K=6)
|-
|1B 40 ||27 64 ||ESC "@" ||Misc
|Select n/72 inch line spacing (n=0..85)
|-
|1B 42 .. 00 ||27 66 .. 0 ||ESC "B" .. NUL ||Tab|Clear Vertical Define up to 16 vertical tabswith ascending values from 1..255; specifying an empty list (ESC "B" NUL) clears vertical tabs; used with VT aka chr(0Bh); one can also define multiple vertical tab channels (see ESC "b" and ESC "/")
|-
|1B 42 tabs 43 (00 ) n ||27 66 tabs 67 (0 ) n ||ESC "BC" tabs (NUL ) n ||TabFeed|Select up to 16 vertical tabs where tabs are ascending values from Page length in lines or inches (n=1..255 ending with NUL127 lines, or 00h,1..22 inch)
|-
|1B 43 00 n ||27 67 0 n ||ESC "C" NUL n ||Feed|Select page length in inches (n=144 ..22)|-|1B 43 n ||27 67 n ||ESC "C" n ||Feed|Select page length in lines (n=1..127)|-|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
|1B 52 n ||27 82 n ||ESC "R" n ||Charset
|Select International character set where numeric 'n' is:
0 * 00h USA (ASCII),1 * 01h France,2 * 02h Germany,3 * 03h UK (Pound symbol),4 * 04h Denmark,5 * 05h Sweden,6 * 06h Italy,7 * 07h Spain,8 * 08h Japan (Yen symbol),9 Norway,10 Denmark II,11 Spain II,12 Latin America.DMP2000..3160 do support 0..8, ie. up to including Japan.The default setting is DIP-switch selectable .
|-
|1B 53 n ||27 83 n ||ESC "S" n ||Text Style
|Select superscript/subscript (00h=super, 01h=sub)
|-
|1B 54 ||27 84 ||ESC "T " ||Text Style
|Cancel superscript/subscript
|-
|1B 55 30 n ||27 85 48 n ||ESC "U" 0 n ||Misc|Cancel unidirectional Unidirectional mode On/Off (00h=Off=faster, use bidirectional printing, 01h=On=slower, left-to-right, more accurate on vertical lines)
|-
|1B 55 31 57 n ||27 85 49 87 n ||ESC "UW" 1 n ||MiscText Style|Select unidirectional Double width mode (slowercontinous) (00h=Off, left-to-right, more accurate on vertical lines01h=On) (unlike DC4 and SO: one line)
|-
|1B 57 30 59 lo hi .. ||27 87 48 89 lo hi .. ||ESC "WY" 0 lo hi .. ||Text StyleGraphics|Cancel double width mode Print 8-pin 120/2-dpi graphics (continoussame as ESC "*" 2, see there) (unlike DC4: one linedensity of ESC "Y" can be redefined via ESC "?")
|-
|1B 57 31 5A lo hi .. ||27 87 49 90 lo hi .. ||ESC "WZ" 1 lo hi .. ||Text StyleGraphics|Select double width mode Print 8-pin 240/2-dpi graphics (continoussame as ESC "*" 3, see there) (unlike SO: one linedensity of ESC "Z" can be redefined via ESC "?")
|-
|1B 59 n1 n2 5E d lo hi .. ||27 89 n1 n2 94 d lo hi .. ||ESC "Y^" n1 n2 d lo hi ..||Graphics|Select 8pin HiPrint 9-speed double den pin graphics at selected density (120 dpisimilar to ESC "*" d, see there for details). Allowed density for ESC "^" is officially only d=00h..01h (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 5A n1 n2 62 c .. 00 ||27 90 n1 n2 98 c .. 0 ||ESC "Zb" n1 n2 c .. NUL ||GraphicsTab|Select 8pin Quad density graphics Define up to 16 vertical tabs per channel (240 dpic=0..7) with ascending values from 1..255; specifying an empty list (1920 dotsESC "b" c NUL) clears that vertical tab channel; channels are selected via ESC "/8"lineand can be then used with chr(09h); there is also a similar command without channel-numbers (ESC "B")
|-
|1B 5E d n1 n2.. ||27 94 d n1 n2 ||ESC "^" d n1 n2 ||Graphics|Select 9 pin graphics mode number of columns = n1 + (n2 * 256) (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=unused)|-|1B 62 c 00 ||27 98 c 0 ||ESC "b" c NUL ||Tab|Clear vertical tabs in channel (c=0..7)|-|1B 62 c tabs 00 ||27 98 c tabs 0 ||ESC "b" c tabs NUL||Tab|Select up to 16 vertical tabs in channels (c=0..7) where tabs are ascending values from 1..255 ending with NUL|-|1B 69 00 n ||27 105 48 n ||ESC "i" 0 n ||Misc|Cancel instant Instant character printing (00h=Off=default, ie. print only on CRLF etc.) (not on LX80)|-|1B 69 01 ||27 105 49 ||ESC "i" 1 ||Misc|Select instant character printing (printer 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
|'''DMP3000/3160 only:''' Select charset (0=Epson, 1=IMB#1, 2=IBM#2) ([[Amstrad]] specific: not supported by Epson printers nor Epson clones nor DMP2000/2160)
|-
|1B 70 30 n ||27 112 48 n ||ESC "p" 0 n ||Text Style|Cancel proportional Proportional mode (00h=Off, 01h=On) (not on LX80 ?)
|-
|1B 70 31 73 n ||27 112 49 115 n ||ESC "ps" 1 n ||Text StyleMisc|Select proportional Half speed mode (not on LX80 ?00h=Off=Normal, 01h=On=Slow; purpose: noise-reduced silent printing)
|-
|1B 73 30 ||27 115 48 ||ESC "s" 0 ||Misc|Turn half speed mode off|-|1B 73 31 ||27 115 49 ||ESC "s" 1 ||Misc|Turn half speed mode on (purpose: noise-reduced silent printing)|-|1B 78 30 n ||27 120 48 n ||ESC "x" 0 n ||Text Style|Select draft Draft/NLQ mode (LX8000h=Draft, 01h=NLQ) (FX86e) (not FX80)|-|1B 78 31 ||27 120 49 ||ESC "x" 1 ||Text Style|Select NLQ mode (LX80) (FX86e) (not FX80)
|-
|7F ||127 ||DEL ||Misc