Programming Guide For Models 1Xr and 2Xr: Suremark 4610 Printers
Programming Guide For Models 1Xr and 2Xr: Suremark 4610 Printers
Programming Guide For Models 1Xr and 2Xr: Suremark 4610 Printers
Programming Guide
for Models 1xR and 2xR
GA27-5005-00
SureMark 4610 Printers
Programming Guide
for Models 1xR and 2xR
GA27-5005-00
October 2008
This edition applies to IBM SureMark Printer Models 1xR and 2xR.
Current versions of Retail Store Solutions documentation are available on the IBM Retail Store Solutions Web site at
http://www.ibm.com/solutions/retail/store/support/. Click Publications
A form for reader’s comments is also provided at the back of this publication. If the form has been removed, address
your comments to:
IBM Corporation
Retail Store Solutions Information Development
Department ZBDA
PO Box 12195
Research Triangle Park, North Carolina 27709 USA
When you send information to IBM, you grant IBM a nonexclusive right to use or distribute whatever information you
supply in any way it believes appropriate without incurring any obligation to you.
© Copyright International Business Machines Corporation 2008.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Who should read this guide . . . . . . . . . . . . . . . . . . . . xi
How this guide is organized . . . . . . . . . . . . . . . . . . . . xi
Related publications . . . . . . . . . . . . . . . . . . . . . . . xi
Publications accessibility . . . . . . . . . . . . . . . . . . . . . xi
Providing feedback . . . . . . . . . . . . . . . . . . . . . . . xii
iv SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Print predefined graphics (logo) command . . . . . . . . . . . . . . 63
| Enable watermark printing . . . . . . . . . . . . . . . . . . . . 64
Print predefined messages . . . . . . . . . . . . . . . . . . . 64
| Check processing commands - 2CR only . . . . . . . . . . . . . . . 65
MICR read . . . . . . . . . . . . . . . . . . . . . . . . . 65
Flip check . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Miscellaneous commands . . . . . . . . . . . . . . . . . . . . . 67
Horizontal tab . . . . . . . . . . . . . . . . . . . . . . . . 67
| Backspace for composite characters . . . . . . . . . . . . . . . . 67
Return home (select print head location) . . . . . . . . . . . . . . 68
Paper cut/DI eject . . . . . . . . . . . . . . . . . . . . . . . 69
Generate drive pulse for cash drawer . . . . . . . . . . . . . . . 69
Retrieve the flash storage . . . . . . . . . . . . . . . . . . . . 69
Retrieve size of user flash storage. . . . . . . . . . . . . . . . . 70
Asynchronous (real-time) commands . . . . . . . . . . . . . . . . . 70
Real-time requests . . . . . . . . . . . . . . . . . . . . . . 70
Data buffer management and batch printing . . . . . . . . . . . . . . 72
| Marker command . . . . . . . . . . . . . . . . . . . . . . . 72
Reset line count . . . . . . . . . . . . . . . . . . . . . . . 72
Disable line count . . . . . . . . . . . . . . . . . . . . . . . 73
Hold printing until buffer is released . . . . . . . . . . . . . . . . 73
Release print buffer . . . . . . . . . . . . . . . . . . . . . . 73
Contents v
Status byte 12 . . . . . . . . . . . . . . . . . . . . . . . . 89
Status byte 13 . . . . . . . . . . . . . . . . . . . . . . . . 90
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Trademarks. . . . . . . . . . . . . . . . . . . . . . . . . . 103
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
vi SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Figures
1. Proportional font example . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
| 2. Composite Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3. Paper feed and document feed buttons . . . . . . . . . . . . . . . . . . . . . . 96
4. Pressing the power button and the R button . . . . . . . . . . . . . . . . . . . . . 96
5. Example of the offline selection main menu. See Table 26 for an explanation of these menu items. 97
Related publications
v IBM SureMark Printers: User's Guide for Models 2CR and 2NR, GA27-5003
v IBM SureMark Printers: Hardware Service Guide for Models 2CR and 2NR,
GA27-5004
v IBM SureMark Printers: Fonts and Logos Utility Diskette
v IBM SureMark Printers: Firmware Update Diskettes
v IBM 4693 Point-of-Sale Terminals Reference Diskette
v IBM 4694/4695 Point-of-Sale Terminals Service Diskette
v IBM Safety Information—Read This First, GA27-4004.
v IBM SurePOS 700 Series: System Reference, SA27-4220.
v IBM SurePOS 500 Series: System Reference, SA27-4255.
v POSS Programming Reference and User’s Guide, SC30-3560
Publications accessibility
The softcopy version of this guide and other related publications are accessibility
enabled.
To provide feedback:
v Go to http://www.ibm.com/solutions/retail/store. Click Support, then click
Publications. Click the publication comments within the introductory text.
Provide the requested information and your comments. Be sure to include the
name and form number of the document in the [Publication ID] field.
v You can mail your comments to:
IBM Corporation Retail Store Solutions
Information Development Department ZBDA
P.O. Box 12195 Research Triangle Park,
North Carolina 27709 USA
Be sure to include the name and form number of the document.
If applicable, include a reference to the specific location of the text (for example, the
page or table number) on which you are commenting.
Between major revisions of this document, there might be minor technical updates.
The latest version of this document is available on the Retail Store Solutions Web
site at www.ibm.com/solutions/retail/store/support/publications/.
xii SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Summary of changes
| June 2009
| This update provides additional changes throughout the entire book from the new
| spec and the subject matter expert.
| Changes or additions to the text are indicated by a change bar to the left of the
| text.
| April 2009
| This update provides changes throughout the book from the new spec.
| Changes or additions to the text are indicated by a change bar to the left of the
| text.
| RS-232 interface
| The RS-232 interface supports systems with the following operating systems:
| v Microsoft Windows® XP Professional with the 4610 Native Windows Driver
| (NWD)
| v Novell Linux® Point of Service (NLPOS)
| v IBM Retail Environment for SUSE Linux
| v Microsoft Windows XP Professional with OPOS and JavaPOS support from
| UPOS 1.96 or later
| v Microsoft Windows Vista with OPOS and JavaPOS support from UPOS 1.96 or
| later
|
| Notes:
| 1. 4690 Terminal Services for Windows NT is required when you use Windows NT 4.0 or
| Windows 2000 as the primary operating system with this 4690 application.
|
|
| Hardware requirements
| SureMark printers operate with the following systems:
| v IBM 4694
| v IBM 4695 (RS-232 connection only and with power supply)
| v PC or other store controller with an RS-232 or USB port
| v SurePOS 100 Series
| v SurePOS 700 Series
| v SurePOS 500 Series
| v SurePOS 300 Series
| v IBM Self Checkout
|
| Updating the firmware
| A SureMark printer that is RS-232 attached has the capability to receive SureMark
| firmware updates from its attached host system unit. To update the firmware, use
| the latest drivers from the IBM Retail Store Solutions Web site:
| www.ibm.com/solutions/retail/store.
2 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Chapter 2. Communication parameters
RS-232 serial parameter . . . . . . . . . . . . . . . . . . . . . . 5
RS-232 commands summary by function . . . . . . . . . . . . . . . . 5
Alphabetized commands summary . . . . . . . . . . . . . . . . . . 9
System commands . . . . . . . . . . . . . . . . . . . . . . . 12
Verify previous commands completed . . . . . . . . . . . . . . . 12
Status request . . . . . . . . . . . . . . . . . . . . . . . . 12
Reset printer. . . . . . . . . . . . . . . . . . . . . . . . . 12
EC/Request/Real-time status request. . . . . . . . . . . . . . . . 13
Extended address command-request printer ID . . . . . . . . . . . . 13
| Printer ID format . . . . . . . . . . . . . . . . . . . . . . . 13
| Emulation mode for Model 1xR / 2xR . . . . . . . . . . . . . . . . 15
Emulation of Non-IBM printers . . . . . . . . . . . . . . . . . . . 15
Preset or onetime-set commands . . . . . . . . . . . . . . . . . . 16
Memory allocation. . . . . . . . . . . . . . . . . . . . . . . 17
| Double-byte characters . . . . . . . . . . . . . . . . . . . . . 18
Download graphics (logo) commands . . . . . . . . . . . . . . . 18
Predefine messages . . . . . . . . . . . . . . . . . . . . . . 20
Download user-defined characters . . . . . . . . . . . . . . . . . 21
Thermal code page . . . . . . . . . . . . . . . . . . . . . 22
Proportional font . . . . . . . . . . . . . . . . . . . . . . 23
Impact code page . . . . . . . . . . . . . . . . . . . . . . 25
| User-defined code page mapping . . . . . . . . . . . . . . . . . 26
Request checksum of flash memory sector . . . . . . . . . . . . . 27
Retrieve checksum of each downloaded logo or each stored message . . . 27
Flash storage write . . . . . . . . . . . . . . . . . . . . . . 28
Erase flash sector . . . . . . . . . . . . . . . . . . . . . . . 28
Microcode tolerance (MCT) information - loading . . . . . . . . . . . 29
Microcode tolerance (MCT) information - request . . . . . . . . . . . 29
Setup commands . . . . . . . . . . . . . . . . . . . . . . . . 33
Set print mode . . . . . . . . . . . . . . . . . . . . . . . . 33
Set or cancel double-wide mode . . . . . . . . . . . . . . . . . 34
Set or cancel double-high mode . . . . . . . . . . . . . . . . . 34
Set or cancel underline mode . . . . . . . . . . . . . . . . . . 34
Set or cancel overline mode . . . . . . . . . . . . . . . . . . . 35
Set or cancel invert mode . . . . . . . . . . . . . . . . . . . . 35
Set or cancel emphasized printing . . . . . . . . . . . . . . . . . 35
Select maximum print speed . . . . . . . . . . . . . . . . . . . 35
Set or cancel unidirectional printing . . . . . . . . . . . . . . . . 36
Set document length for landscape print . . . . . . . . . . . . . . 36
Request document length for landscape print. . . . . . . . . . . . . 37
Set print station. . . . . . . . . . . . . . . . . . . . . . . . 37
Select user-defined or resident character sets . . . . . . . . . . . . 37
| Set code page . . . . . . . . . . . . . . . . . . . . . . . . 38
Set intercharacter spacing for single byte character sets. . . . . . . . . 39
Set intercharacter spacing for double byte character sets . . . . . . . . 39
Set or cancel rotated characters . . . . . . . . . . . . . . . . . 39
Set print station parameters . . . . . . . . . . . . . . . . . . . 40
Select 1/8-inch line spacing . . . . . . . . . . . . . . . . . . . 40
Select 1/6-inch line spacing . . . . . . . . . . . . . . . . . . . 40
Select color printing . . . . . . . . . . . . . . . . . . . . . . 41
Set line spacing using minimum units . . . . . . . . . . . . . . . 42
Set sheet eject length . . . . . . . . . . . . . . . . . . . . . 42
Set horizontal tab positions . . . . . . . . . . . . . . . . . . . 42
© Copyright IBM Corp. 2008 3
Set left margin position . . . . . . . . . . . . . . . . . . . . . 43
Set right margin position . . . . . . . . . . . . . . . . . . . . 43
Set relative position . . . . . . . . . . . . . . . . . . . . . . 44
| Set low paper calibration . . . . . . . . . . . . . . . . . . . . 44
Align positions . . . . . . . . . . . . . . . . . . . . . . . . 44
Set error recovery function . . . . . . . . . . . . . . . . . . . 45
Define document wait time . . . . . . . . . . . . . . . . . . . 46
Status sent to system . . . . . . . . . . . . . . . . . . . . . 46
Select character for reprinted lines. . . . . . . . . . . . . . . . . 47
Re-initialize the printer . . . . . . . . . . . . . . . . . . . . . 47
| Enable or disable the beeper. . . . . . . . . . . . . . . . . . . 48
Enable or disable the feed buttons . . . . . . . . . . . . . . . . 49
Enable or disable upside-down printing . . . . . . . . . . . . . . . 49
Select character size for scalable fonts . . . . . . . . . . . . . . . 50
Fix font matrix . . . . . . . . . . . . . . . . . . . . . . . . 51
Print logo inline . . . . . . . . . . . . . . . . . . . . . . . . 51
| Set or cancel strike-through . . . . . . . . . . . . . . . . . . . 52
Select thermal paper . . . . . . . . . . . . . . . . . . . . . . 52
Bar code commands . . . . . . . . . . . . . . . . . . . . . . . 52
Print bar code . . . . . . . . . . . . . . . . . . . . . . . . 52
Print bar code examples . . . . . . . . . . . . . . . . . . . 57
Select horizontal size of bar code . . . . . . . . . . . . . . . . . 57
Select bar code height . . . . . . . . . . . . . . . . . . . . . 57
Select printing position of human readable information (HRI) . . . . . . . 57
Select font for HRI . . . . . . . . . . . . . . . . . . . . . . 58
Print PDF417 bar code . . . . . . . . . . . . . . . . . . . . . 58
Select PDF417 ECC (error correction codewords) level . . . . . . . . . 59
Select aspect ratio PDF417 bar code. . . . . . . . . . . . . . . . 59
Enable PDF417 truncation. . . . . . . . . . . . . . . . . . . . 60
Print character commands. . . . . . . . . . . . . . . . . . . . . 60
Print and line feed. . . . . . . . . . . . . . . . . . . . . . . 60
Print and line feed. . . . . . . . . . . . . . . . . . . . . . . 60
Print, form feed, and cut the paper (FF) . . . . . . . . . . . . . . . 60
Print and feed paper n lines . . . . . . . . . . . . . . . . . . . 61
Print and feed paper using minimum units . . . . . . . . . . . . . . 61
Print graphic messages . . . . . . . . . . . . . . . . . . . . . . 61
Select and print a graphics (logo) command . . . . . . . . . . . . . 61
Print predefined graphics (logo) command . . . . . . . . . . . . . . 63
| Enable watermark printing . . . . . . . . . . . . . . . . . . . . 64
Print predefined messages . . . . . . . . . . . . . . . . . . . 64
| Check processing commands - 2CR only . . . . . . . . . . . . . . . 65
MICR read . . . . . . . . . . . . . . . . . . . . . . . . . 65
Flip check . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Miscellaneous commands . . . . . . . . . . . . . . . . . . . . . 67
Horizontal tab . . . . . . . . . . . . . . . . . . . . . . . . 67
| Backspace for composite characters . . . . . . . . . . . . . . . . 67
Return home (select print head location) . . . . . . . . . . . . . . 68
Paper cut/DI eject . . . . . . . . . . . . . . . . . . . . . . . 69
Generate drive pulse for cash drawer . . . . . . . . . . . . . . . 69
Retrieve the flash storage . . . . . . . . . . . . . . . . . . . . 69
Retrieve size of user flash storage. . . . . . . . . . . . . . . . . 70
Asynchronous (real-time) commands . . . . . . . . . . . . . . . . . 70
Real-time requests . . . . . . . . . . . . . . . . . . . . . . 70
Data buffer management and batch printing . . . . . . . . . . . . . . 72
| Marker command . . . . . . . . . . . . . . . . . . . . . . . 72
Reset line count . . . . . . . . . . . . . . . . . . . . . . . 72
4 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Disable line count . . . . . . . . . . . . . . . . . . . . . . . 73
Hold printing until buffer is released . . . . . . . . . . . . . . . . 73
Release print buffer . . . . . . . . . . . . . . . . . . . . . . 73
If you use the RS-485 or USB communications interface, refer to either the
SureMark driver documentation in the appropriate IBM book for your operating
system (see Table 1) or, when using OPOS drivers, to the OLE for Retail POS
Application Programming Guide.
Table 1. Driver documentation by operating system
Operating System IBM Publication
4690 OS Version 1 and IBM 4690 OS API Specification for IBM 4610 Printers
Version 2
DOS IBM Point-of-Sale Subsystem for DOS Programming
Reference
OS/2, Windows NT, Windows IBM Point-of-Sale Subsystem Programming Reference and
95, and Windows 3.1x User’s Guide
The 4690 OS manual is available on the current maintenance diskette for the IBM
4690 operating system. Current versions of all publications are available on the
RSS web site.
6 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Table 2. RS-232 commands organized by function (continued)
Description Command Page
System Commands
Set document length for GS c 1 n where n = 2 bytes indicating the length of the document in “Set
landscape print print motor steps. document
length for
landscape
print” on
page 36
Set error recovery function ESC c 4 n or X'1B63;34;n' 45
Set horizontal tab positions ESC D [n1 n2] NUL NUL or X'1B44[n1 n2]0000' 42
Set intercharacter spacing ESC SP n or X'1B20;n' 39
Set left margin position ESC $ n1 n2 or X'1B24;n1;n2' 43
Set line spacing using minimum ESC 3 n or X'1B33;n' 42
units
Set or cancel double-wide mode ESC W n or X'1B57;n' 34
Set or cancel double-high mode ESC h n or X'1B68;n' 34
Set or cancel emphasized printing ESC G n or X'1B47;n' 35
Set or cancel invert mode ESC H n or X'1B48;n' 35
Set or cancel overline mode ESC x‘5F’ n or X'1B5F;n' 35
Set or cancel rotated character ESC V n or X'1B56;n' 39
Set or cancel underline mode ESC − n or X'1B2D;n': 34
Set or cancel unidirectional ESC U n or X'1B55;n' 36
printing
Set print mode ESC ! n or X'1B21;n' 33
Set print station ESC c 0 n or X'1B6330;n' 37
Set print station parameters ESC c 1 n or X'1B6331;n' 40.
Set relative position ESC \ n1 n2 or X'1B5C;n1;n2' 44
Set right margin position ESC ] n1 n2 or X'1B 5D;n1;n2'' “Set right
margin
position” on
page 43
Set sheet eject length ESC C n or X'1B43;n' 42
Status sent to system ESC ) n or X'1B29;n' 46
Bar Code Commands
Enable PDF417 truncation GS T n or X'1D54;n' 60
Select Aspect Ratio PDF417 bar GS S r;c or X'1D53;r;c' 59
code
Print bar code GS k n NUL or X'1D6B;n;data;00' 52
Print PDF417 bar code GS P data NUL or X'1D50;data;00' 58
Select bar code height GS h n or X'1D68;n' 57
Select font for HRI GS f n or X'1D66;n' 58
Select horizontal size of bar code GS w n or X'1D77;n' 57
Select printing position of GS H n or X'1D48;n' 57
human-readable information (HRI)
8 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Table 2. RS-232 commands organized by function (continued)
Description Command Page
System Commands
Set vertical position GS $ y or X'1D24;y' 76
Set relative vertical position GS \ y or X'1D5C;y' 76
Set right margin position ESC ] n1 n2 or X'1B5D;n1;n2'' 43
Set left margin position (standard ESC $ n1 n2 or X'1B24;n1;n2' 77
mode), Set absolute print position
(page mode)
Set relative horizontal position ESC <5C>h n1 n2 or X'1B5C;n1;n2' 77
Set printing position GS ] x y or X'1D5D;x;y' 78
Print and form feed and cut the FF or X'0C' 78
paper
Print page in page mode ESC FF or X'1B0C' 78
Clear print data in page mode CAN or X'18' 79
10 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Table 3. Commands in alphabetical order (continued)
Description Command Page
Select page mode ESC L or X'1B;4C' 75
Select PDF417 ECC level GS R n or X'1D52;n1;n2' 59
Select printable area ESC X or X'1B58;x;y;dx;dy' 75
Select printing direction/position ESC T n or X'1B54;n' 76
Select printing position of GS H n or X'1D48;n' 57
human-readable information (HRI)
Select standard mode ESC S or X'1B4f' 75
Select user-defined or resident ESC % n or X'1B25;n' 37
character sets
Select 1/6-inch line spacing ESC 2 or X'1B32' 40
Select 1/8-inch line spacing ESC 1 or X'1B31' 40
Send checksum of flash EPROM ESC ″ n or X'1B22;n' 27
sector
Select maximum print speed ESC / n or X'1B2F;n' 35
Set code page ESC t n or X'1B74;n' 38
Set document length for landscape GS c 1 n 36
print
Set error recovery function ESC c 4 n or X'1B63;34;n' 45
Set horizontal tab positions ESC D [n1 n2] NUL NUL or X'1B44[n1n2]0000' 42
Set intercharacter spacing ESC SP n or X'1B20;n' 39
Set left margin position ESC $ n1 n2 or X'1B24;n1;n2' 43
Set left margin position (standard ESC $ n1 n2 or X'1B24;n1;n2' 77
mode), Set absolute print position
(page mode)
Set line spacing using minimum ESC 3 n or X'1B33;n' 42
units
Set or cancel double-high mode ESC h n or X'1B68;n' 34
Set or cancel double-wide mode ESC W n or X'1B57;n' 34
Set or cancel emphasized printing ESC G n or X'1B47;n' 35
Set or cancel invert mode ESC H n or X'1B48;n' 35
Set or cancel overline mode ESC x‘5F’ n or X'1B5F;n' 35
Set or cancel rotated character ESC V n or X'1B56;n' 39
Set or cancel underline mode ESC − n or X'1B2D;n' 34
Set or cancel unidirectional printing ESC U n or X'1B55;n' 36
Set print mode ESC ! n or X'1B21;n' 33
Set print station parameters ESC c 1 n or X'1B63;31;n' 40
Set print station ESC c 0 n or X'1B63;30;n' 37
Set printing position GS ] x y or X'1D5D;x;y' 78
Set relative horizontal position ESC <5C>h n1 n2 or X'1B5C;n1;n2' 77
Set relative position ESC \ n1 n2 or X'1B5C;n1;n2' 44
Set right margin position ESC ] n1 n2 or X'1B5D;n1;n2'' 43
Set low paper calibration GS c 2 or X'1D63;32' 44
System commands
This section describes the system commands.
Status request
Syntax:
ESC v or X'1B76'
Purpose:
The printer status is sent to the system. This command will be processed in
the order it was received.
Remarks:
The printer status is returned in status bytes 1–16. See Chapter 5, “Status
information,” on page 85 for more information. For RS-232 printers, this
command is always buffered and processed in the order it is received.
Error Conditions:
None.
Reset printer
Syntax:
DLE ENQ @ or X'100540'
12 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Purpose:
The printer stops if processing a command and begins its reset routine. The
print buffer is canceled. All commands are erased. All printer settings go
back to default values.
Remarks:
None
Error Conditions:
None.
| Printer ID format
| Table 4. Device Type = 30
| Byte 1: Device type = 30 Reserved
| Byte 2: Device ID
| 08
| Byte 3: EC – HW version level Reserved
| Byte 4: EC – Software release level This level increments after a formal test cycle
| on the code. (This is the same as Status byte
| #4)
| Byte 5: EC – Software interim version Level The level that would increment as fixes were
| released for test. If a customer had a
| “pre-released” level, this would be used to
| track their level.
|| Byte 6: CR station width v 72 (0x48): 72 mm print width for 80 mm
| paper width
| v 50 (0x32): 50 mm print width for 58 mm
| paper width
14 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
| Table 4. Device Type = 30 (continued)
| Byte 12: Feature byte Reserved
| Byte 13: Feature byte Reserved
| Byte 14: Feature byte Reserved
| Byte 15: Feature byte Reserved
|
| Usage variables for system management cannot be read with the same commands
| as legacy printers. Use the IBM drivers for access to system management.
| Physical differences between Models 1xR and 2xR and previous printers:
| v The position of the cutter is different.
| v Not as much paper needs to be fed to advance the paper above the print head.
| v The default for the “0C” command will be less.
| The diagnostic package recognizes the printer as being in emulation mode and
| sends the correct firmware file to the printer for updating.
| The printer will be setup in Emulation mode when sent from the factory. Any driver
| and application that support Models 1xR and 2xR should put the printer into native
| mode when it is installed. This can also be done using an offline setup procedure.
To verify that data was previously stored in the printer, the system can request a
checksum on data stored in each sector.
16 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
4 User-defined thermal character set: four fixed matrix or 2 proportional
5 User flash memory
7 Thermal DBCS character storage
8 Impact DBCS character storage
| 9 Electronic journal storage
| 10 User-defined code page mapping
Memory allocation
The amount of memory allocated to each function is specified by the value stored to
its respective MCT location. (See Microcode Tolerance Information - Loading and
Microcode Tolerance Information - Request commands regarding information for
adjusting these values.) The MCT value represents the number of 64KB sectors
assigned to the respective function.
After the MCT values are written, the new values will not take effect until after a
reset. The new memory allocations will start with the user defined character sets
(sectors 3 and 4), and then the DBCS (sectors 7 and 8), and then increment
upward starting with sector 1. Memory will be allocated until all requests are
satisfied, or until all available memory is used.
Note: The flash EPROM is guaranteed for a minimum life of 100,000 write/erase
commands by the flash manufacturer.
| Double-byte characters
Important
Use the IBM-provided drivers, diagnostics, and utilities to download the DBCS
characters to the printer.
1 <=logo#<=255
n1 One-eighth the number of dots in the horizontal direction (width = 8
× n1).
range = 1 to 72 for a thermal logo
range = 1 to 59 for an impact logo
n2 One-eighth the number of dots in the vertical direction (height = 8 ×
n2).
range = 1 to 255 for a thermal logo
18 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
range = 1 to 5 for an impact logo
data The data to form the graphics image. The number of data bytes for
the image is n1 × n2 × 8
Purpose:
To store all-points-addressable print messages
Remarks:
A checksum is stored in the printer for each logo downloaded to the printer.
See “Retrieve checksum of each downloaded logo or each stored message”
on page 27. The checksum can be read by the application to determine the
logos that have been stored in the printer. These messages can be
positioned on the page using the commands for setting positions.
Decimal values are shown, but all parameter values (logo number, n1, n2)
must be hex values when sent to the printer.
The dot density of these messages is specified when the message is
printed. See “Print predefined graphics (logo) command” on page 63.
The total number of data bytes defined for all defined graphics messages
depends upon the amount of memory the user has allocated. See “Memory
allocation” on page 17.
If the parameters logo#, n1, or n2 are out of range, the command is
discarded and its remaining data is processed as print data.
This command should be sent only when the data buffer is empty. See the
description of bit 6 in “Erase flash sector” on page 28.
Images for the thermal logo commands will be defined by one-dot-high rows
(horizontal slices), and the impact will be defined by eight-dot-high rows
(vertical slices).
Note: For a thermal graphic message that is 24 dots high, across the page (n1 =
72, n2 = 3) takes over 2000 bytes of data.
Example: n1 = 2 & n2 = 2
Predefine messages
Syntax:
GS : message# data GS : or X'1D3A;message#;data;1D3A'
Where:
message# The message number being stored
1 to 255
data All data and commands to be included in this message. No
immediate commands can be included in the data.
Purpose:
To store predefined messages. This cuts transmission time. This is where
you can store the header and the trailer of receipts, for example.
Remarks:
v After a ″GS :″ occurs, all incoming commands are stored in the message
until another ″GS :″ occurs.
v “Print predefined graphics (logo) command” on page 63 can be included
in this command.
v A Checksum for each downloaded message is stored along with the
message. This can be used to verify the correct messages are stored in
the printer at printer initialization. See “Retrieve checksum of each
downloaded logo or each stored message” on page 27.
Example:
Store a trailer message:
X'1D3A01'
’Thank You For Shopping’ X'0D'
’ At RSD STORE’ X'0D'
’Store #1234567’ X'0D'
X'1D3A'
This would store this message as predefined message 1. See “Print
predefined messages” on page 64 for printing this trailer message.
Commands for selecting the print station and print characteristics must be
included with the stored message.
Limitations:
20 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
v “Print predefined graphics (logo) command” on page 63 can be included
in this command. Select and print a graphics command cannot be used.
See “Print graphic messages” on page 61.
v “Print predefined messages” on page 64 can be included in this
command, but can only be nested one message deep.
Example: Store a predefined message (’Jane Doe’) at location 3, then
issue the following commands:
1. X'1D3A06'
2. ’Welcome to Our Store’ X'0D'
3. X'1D5E03' (This prints the message that has been stored at location
3. The message cannot have a X'1D5Exx' in it, because that would
be more than one level of nesting.)
4. ’Is Your Cashier Today’ X'0D'
5. X'1D3A'
Using the stored message and the above commands, the resulting text
will be:
Welcome to Our Store
Jane Doe Is Your Cashier Today
v These commands cannot be included in the predefined message:
– “Define document wait time” on page 46.
– “Select character for reprinted lines” on page 47.
– “Set sheet eject length” on page 42.
– “Select and print a graphics (logo) command” on page 61.
v This command should be sent only when the data buffer is empty. See
the description of bit 6 in “Erase flash sector” on page 28.
Error Conditions:
The error is Status byte 3, bit 3: Flash EPROM load error. The following
conditions caused this error to occur:
v The command is trying to redefine a logo that was already defined, or
v The allocated memory is full.
Verify that the sector was erased before downloading images.
Note: The height must be an even number. If an odd number is downloaded, the
command will be rejected.
The number of data bytes per character loaded is 2 × the character height. The
total number of data bytes for this command is 2 × the character height × (1+m−n).
22 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Example: 10 wide × 20 high
Defined as:
X'1B26014848 C0C0C0C0C0C0C0C0C0C0C0C0C0C0FFC0FFC0F
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0'
The above statement defines character X'48' as an ’H’.
Proportional font
Note: The syntax for the proportional font command is the same command as the
“Download user-defined characters” on page 21 with limitations.
EIA-232 Syntax:
ESC & s n m data or X'1B26;s;n;m;data'
Where:
s The character set being defined
1 User-defined thermal code page 1
3 User-defined thermal code page 3
n The beginning ASCII address of the characters being defined
m The ending ASCII address of the characters being defined
data The height and width of the character, and the matrix pattern for the
data. The number of data bytes is (m−n+1) × (2+wb×32). wb is
defined in the MCT command.
Purpose:
To download and print proportional fonts (True Type fonts) in the thermal
station. Each character in the code page has its own unique width and
height. The matrix must be within the following ranges:
A conversion program for TrueType (TT) fonts is available on the 4610 Web site.
This program converts the TT fonts to the required download format for the 4610
printers.
To download the font:
1. Store the code page matrix as an MCT value. Use the command X'1B
4D x 55 wb' where:
x X'02' for thermal code page 1, X'17' for thermal code page 3
wb The number of bytes, which is also 1⁄8 the number of dots, in
the width of the widest character. The valid range is 2≤wb≤4.
2. Erase the existing character set using the command X'1B 23 04'.
3. Use the proportional font command to download the font.
Example:
To define an A to code page 1 when wb is set to 02, enter the following:
X'1B260141410C16'
X'0F001F803FC070E06060C030C030C030C030C030C030'
X'C030FFF0FFF0C030C030C030C030C030C030C030'
X'C030000000000000000000000000000000000000000000'
24 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
This command specifies a character width of 12 dots (X'0C') and a
character height of 22 dots (X'16'). Following the width and height are 64
bytes that define the character. If, as in this case, the character is defined
before all 64 bytes have been used, the rest of the bytes are filled with X'0'
(see Figure 1).
Note: If wb were set to 03, then the total number of data bytes would be
98 (3×32+2)
row #
0000111100000000 0F00 1
0001111110000000 1F80 2
0011111111000000 3FC0 3
0111000011100000 70E0 4
0110000001100000 6060 5
1100000000110000 C030 6
1100000000110000 C030 7
1100000000110000 C030 8
1100000000110000 C030 9
1100000000110000 C030 10
1100000000110000 C030 11
1100000000110000 C030 12
1111111111110000 FFF0 13
1111111111110000 FFF0 14
1100000000110000 C030 15
1100000000110000 C030 16
1100000000110000 C030 17
1100000000110000 C030 18
1100000000110000 C030 19
1100000000110000 C030 20
1100000000110000 C030 21
1100000000110000 C030 22
0000000000000000 0000 23
0000000000000000 0000 24
0000000000000000 0000 25
0000000000000000 0000 26
0000000000000000 0000 27
0000000000000000 0000 28
0000000000000000 0000 29
0000000000000000 0000 30
0000000000000000 0000 31
0000000000000000 0000 32
If the matrix defines the characters as 9 dots high or less, a print line will be printed
in one pass of the print head. When the matrix is defined as greater than 9 dots
high, it takes two passes of the print head per print line.
When defining wire patterns, the same wire does not fire in consecutive, primary (P)
and secondary (S) positions. (The printer does not check for errors in defining the
character.) If the character is defined with dots in consecutive positions only one of
the dots is fired.)
Example: 11 half-dots wide (or 5.5 full dots) × 9 high
Defined as:
X'1B26034141FO00080014000200110000081100020014000800F000'
The above statement defines character X'41' as an ‘A’.
| Note: The table below only shows a portion of code page 858. If the entire
| code page 858 were shown, the table would have 128 rows instead
| of the 9 rows shown below.
| Table 6. Unicode positions for code page 858 - 2 bytes for each mapping location
| U00000C7 Ã 80h
26 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
| Table 6. Unicode positions for code page 858 - 2 bytes for each mapping
| location (continued)
| U00000FC ³ 81h
| U00000E9 é 82h
| U00000E2 â 83h
| ................. ................. .................
| U00000B9 ¹ FBh
| U00000B3 ³ FCh
| U00000B2 ² FDh
| U00025A0 " FEh
|
| For the Unicode characters supported in the printers please see separate
| Spread Sheet.
| Characters 0x20 through 0x7F are the same as other codepages.
| Therefore, the amount of Unicode values will be from 0x80 through 0xFF (
| 128 Unicode values, 256 bytes).
| Selection of the User Defined code page is ignored if the code page has
| not been defined. The previous codepage will still be selected.
| Error conditions:
| Flash EPROM Load Error - verify that this sector was erased before down
| loading the images. Command Reject - when there is no memory allocated
| for this function.
28 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Remarks:
The command should only be sent to the printer when the buffer is empty
(status byte 2, bit 6). No other commands should be sent until this
command is complete.
Status byte 3, bit 7 (command complete bit) is set to show erasing is
finished and the command is complete.
The flash EPROM is guaranteed for a minimum life of 100,000 write/erase
commands by the Flash manufacturer.
30 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
| Table 7. MCT command definitions (continued)
| DEC HEX MCT Default Min Max
| 30 1E Mode options X'FFFF' N/A N/A
| Bit 0: (Valid in the 1xR printers)
| v 1 = IBM native mode.
| v 0 = Set to non-IBM emulation
| mode.
| Bits 1–12
| Reserved for future use, should
| be left at 1
| Bit 13: (DI portrait mode only)
| v 1 = Line feeds not executed
| until DI ready (non-IBM
| mode).
| v 0 = Line feeds are executed
| without regard for the state of
| DI ready (IBM mode).
| Bit 14:
| v 1 = Normal operations (IBM
| mode).
| v 0 = Switch order of font A
| and font B (non-IBM mode).
| Bit 15:
| v 0 = Disable CR (X'0D') in CR
| station. No line feeds in DI
| (non-IBM mode).
| v 1 = Normal operations. Treat
| CR (X'0D') the same as line
| feeds (X'0A'). (IBM mode).
|
| 33 21 FF60h on Models FFFFH
|| RS232 - Communication.
1xR and 2xR
| Baud/DataFlow
| Bit 15
| 1 = DTR/DSR Dataflow
| 0 = XON/XOFF
| Bit 14
| 1 = System Unit Flow Control
| (DTR) Disabled
| 0 = System Unit Flow
| Control (DTR) Enabled
| Bit 13-8
| Reserved
| Bit 7 -0
| BAUD Rate:
| 9600 Baud == xx08h
| 19200 Baud == xx10h
| 115200 Baud == xx60h
|
| 51 33 DBCS Address Vector 1 80FFh 0000H FFFFH
| 52 34 DBCS Address Vector 2 0000h 0000H FFFFH
32 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Setup commands
Setup commands change character font, intercharacter spacing, and the target print
station.
Default:
n = 00
Remarks:
v For thermal printing with resident character sets:
Font A = 10 dots (wide) × 20 dots (high) or 1.25 mm × 2.5 mm
Font B = 12 dots (wide) × 24 dots (high) or 1.5 mm × 3.0 mm
Font C = 8 dots (wide) × 20 dots (high) or 1.0 mm × 2.0 mm
Invert cannot be used with overline and underline.
v For impact printing:
Font A = dot density of 75 half-dots per inch (resident characters = 1.2
mm × 2.5 mm).
Font B = dot density of 60 half-dots per inch (resident characters = 1.5
mm × 2.5 mm).
Emphasized printing enable and disable, and font A or font B selection
must be at the beginning of a print line to be recognized.
User-defined characters greater than 9 dots high cannot be printed
double high in landscape mode.
Double-high and emphasized characters are not valid in landscape
mode.
v See “Download user-defined characters” on page 21, “Set print station”
on page 37, and “Select user-defined or resident character sets” on page
37 for related information.
Example:
Print mode set to font B, emphasized and underlined enabled (n = 89 hex).
34 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Set or cancel overline mode
Syntax:
ESC x‘5F’ n or X'1B5F;n'
Where:
n=00 Cancel overline mode
n=01 Set overline mode
Default:
n = 00
Remarks:
This is valid in the customer receipt station only.
Note: There are 50 motor steps per inch. A 6-inch document = 300 steps. (Use
295 to allow a margin for error; n=0x127.) To calculate the number of dots
per printed line:
v Under normal operation, the printer measures the length of the document.
This command can be used to save transaction time if the document
length is known by the application.
v for 150 DPI (dots per inch)
[(motor_steps - 75 * 3.12] - 10 = dots per line
v or for a 6-inch document
(676 dots) / (10 = dots per character) = 67 characters per line
v for 120 DPI
36 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
[(motor steps - 75) * 2.5] - 10 = dots per line
v or for a 6-inch document
(540 dots) / (10 = dots per character) = 54 characters per line
or
Attention: It is recommended that you set the document length a few steps
shorter than the actual document. If you set the document length too long the
printer will feed the document out of the printer roller and an error will be generated.
Bit # ↓ Station
LSB 0 Electronic journal
1 Cash Receipt Station
2 Document Station - Portrait Mode
3 Document Station - Landscape Mode
4 Reserved
5 Reserved
6 Reserved
7 Reserved
Default:
n = 02
Remarks:
See Chapter 4, “Document handling,” on page 81.
The EJ station can be selected along with one of the other stations;
however, you cannot select both CR and DI.
38 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
| In the DBCS printer, the characters used from each of these code pages
| will be determined by the DBCS Vector Ranges that are selected. Selection
| of the User Defined Code Page Mapping (0x06), is ignored if the code page
| has not been defined. The previous codepage will still be selected
Bit # ↓ Station
LSB 0 Reserved
1 Customer Receipt Station
2 Document Station - Portrait Mode
3 Document Station - Landscape Mode
4 Reserved
5 Reserved
6 Reserved
7 Reserved
Purpose:
This command is used for setting the line spacing, margins, and tabs.
Remarks:
More than one station can be selected at the same time if the settings are
common to all of the selected stations.
Default:
n = 02 (customer receipt station)
Note: Spacing in the document - portrait is actually 8.5 lines per inch. Line
spacing dimension is approximate. For the impact printer in portrait
mode, the actual line spacing must be calculated using 51 steps per
inch.
Note: For DI Portrait Printing: Characters greater than 9 dots high (DBCS
16x16 character) takes 2 passes of the print head - with paper fed
in-between the lines (4 steps). The actual lines-per-inch will be
adjusted. Example if printer is set to 1/8 inch line spacing. The
printer will line feed 6 steps in-between each line, and the 4 steps
inside of the line. The result is 10 steps/line or 4.8 lines per inch.
In the impact (document - landscape) station this would be set to 16
steps/line.
This command should be sent after “Set print station parameters.”
40 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Remarks:
In the thermal (receipt) station this would set line feeding to 34 steps/line.
In the impact (document - portrait) station this would be set to 8 steps/line.
Note: Spacing in the document - portrait is actually 6.375 lines per inch.
Line spacing dimension is approximate. For the impact printer in
portrait mode, the actual line spacing must be calculated using 51
steps per inch.
In the impact (document - landscape) station this would be set to 21
steps/line.
This command should be sent after “Set print station parameters” on page
40.
Note: For DI Portrait Printing: Characters greater than 9 dots high (DBCS
16x16 character) takes 2 passes of the print head - with paper fed
in-between the lines (4 steps). The actual lines-per-inch will be
adjusted. Example if printer is set to 1/6 inch line spacing. The
printer will line feed 8 steps in-between each line, and the 4 steps
inside of the line. The result is 12 steps/line or 4 lines per inch.
This value is stored in the printer memory so that it is not lost when the printer is
reset.
42 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Up to 5 tab positions can be stored. All 5 n1 n2 value pairs can be included
in one command. Values must be entered in hex.
A tab is calculated from the left margin position.
Tab values must be in ascending order.
Example: To set 3 tab positions - at the 100, 150 and 300 dot positions:
v X'1B4400640096012C0000'
See “Horizontal tab” on page 67.
Align positions
Syntax:
ESC a n or X'1B61;n'
Where:
44 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
n = 00 Align Left
n = 01 Align Center
n = 02 Align Right
n = 04 Align Column Right
Default:
n = 00
Remarks:
v Values 00, 01, and 02 are only valid at the beginning of a line.
v Tabs are only valid when printing is aligned to the left. If tabs are used
when left alignment is not used, results can be unpredictable. (See
“Horizontal tab” on page 67.)
v Alignment is relative to the left margin.
v To use the Align Column Right command:
1. Send the characters that you want to be left aligned.
2. Send the Align Column Right command.
3. Send the characters that you want to be right aligned.
4. Send an end of line command, for example X'0A' or X'0D'.
The printer will return to left aligned after the line is printed.
Limitations for n=04:
v The command is only valid in the cash receipt station.
v The command is ignored if the printer is not left aligned when the
command is received.
v If the Align Column Right command is received but the line is filled
before an EOL is received, the filled line is treated as an EOL. There are
usually a few dot positions available, but not enough for a full character.
The column alignment will occur on the few dot positions available.
Default:
n = 00
Remarks:
When set to not automatically release the print buffer after error correction
46 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
5 Cash Draw Sensor Change Yes No
6 Key In Use Yes No
7 Cover Open Yes No
| Remarks:
| Bit 4 can be used in place of the Command Complete. When the buffer is
| empty, the system can assume that everything stored in the printer has
| been completed. To enable these status messages, unsolicited status must
| be enabled. See “Asynchronous (real-time) commands” on page 70.
48 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
| Value (Bits 0–3) Note Value (Bits 0–3) Note Value (Bits 4–5) Octave
| 0100–4 E 1100–C Rest / Silence
| 0101–5 F 1101–D Reserved
| 0110–6 F# 1110–E Reserved
| 0111–7 G 1111–F 1 KHz (normal
| beep)
|
| Default:
| n = X'00'
| Purpose:
| To enable or disable the beeper.
| Remarks:
| v Any value other than X'00' or X'FF' is treated as an amount of time that
| the beeper is to be enabled. The time is calculated as n1×0.1 seconds.
| v To stop a beep command early, send the Disable Beeper command.
| v Timed beeps can be chained together. They can also be downloaded as
| canned messages.
| v A value of n2=X'2F' is recommended for the most audible tone.
| v Set bits 0–3 to 1100 to put a timed silence in a beep sequence.
Default:
n = 00
Purpose:
To select the size of a character.
Remarks:
v This command is valid only in the thermal print station.
v Bits 3 and 8 of n are ignored.
v The Set Print Mode command (see “Set print mode” on page 33) can
also select the character height (double high and double wide). The last
command that is received is the effective command.
v Underline and overline is not supported when the height is scaled 8x.
v The bar for overline and underline is not magnified in thickness
50 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Fix font matrix
Syntax:
ESC : n or X'1B3A;n'
Where:
n The character width to which all proportional characters will be
adjusted. The range of valid values is 8 ≤ n ≤ 32. Use X'00' to
disable this command and print proportional characters normally.
Default:
n = 00
Purpose:
To fix the matrix of proportional fonts. This command will be used mostly to
align numbers and decimal points.
Remarks:
v This command is valid only on proportional user-defined fonts.
v If the character is larger than the width defined by this command, then
the right side of the character will be truncated.
v If the character is smaller than the width defined by this command, then
the character will be centered in the space.
Note: For the Models 1xR and 2xR, bar-codes print at a maximum rate of 52 LPS.
52 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
X'00' UPC-A
X'01' UPC-E
X'02' JAN13 (EAN-13)
X'03' JAN8 (EAN-8)
X'04' CODE 39
X'05' ITF
X'06' CODABAR
X'07' CODE 128C
X'08' CODE 93
X'09' CODE 128A, 128B, and 128C
data For n=00 through n=08, the ASCII representation of the characters to be
printed.
For n=09, the hexadecimal representation of the characters to be printed.
The first byte of data must be the byte-count of the remaining data. The
trailing X'00' should not be included for this command.
Remarks:
v Valid at the beginning of a line only.
v This command will increment status byte 6.
v Printing will not start until X'00' is received, or the end of a data packet in
RS-485.
v Data after any invalid character for a particular bar code will be
discarded. The printer will continue to wait for X'00'.
v If X'00' or an invalid character is received before the required number of
data bytes, zeros will be inserted following the data until the required
number is reached (for UPC-A, UPC-E, JAN13, and JAN8).
v Excess characters will be discarded.
v A check digit will be generated if one is not supplied for UPC-A, JAN13,
and JAN8.
v Check digits will be figured and added for Code 128C and Code 93.
v For UPC-E, the printer will expand the data, generate a check digit and
parse the data before generating the bar code (6 or 7 digits are
executed). If 7 digits are received and digit 1 is 0, the last 6 digits are
used.
If digit 1 is not 0, digit 1 is used and the digit 7 is ignored.
v For CODABAR, a stop and start character is required.
v A leading zero will be added to the data for ITF bar codes if the data
received has an odd number of bytes.
v If a bar code width is greater than the paper width, the right of the bar
code is truncated, making the bar code unreadable.
v Bar codes will always be printed in black, regardless of color printing
settings.
54 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Table 10. Code 128 character set (continued)
Value Code
Decimal Hex Set A Set B Set C
39 27 G G 39
40 28 H H 40
41 29 I I 41
42 2A J J 42
43 2B K K 43
44 2C L L 44
45 2D M M 45
46 2E N N 46
47 2F O O 47
48 30 P P 48
49 31 Q Q 49
50 32 R R 50
51 33 S S 51
52 34 T T 52
53 35 U U 53
54 36 V V 54
55 37 W W 55
56 38 X X 56
57 39 Y Y 57
58 3A Z Z 58
59 3B [ [ 59
60 3C \ \ 60
61 3D ] ] 61
62 3E ∧ ∧ 62
63 3F _ _ 63
64 40 MUL ‘ 64
65 41 SOH a 65
66 42 STX b 66
67 43 ETX c 67
68 44 EOT d 68
69 45 ENO e 69
70 46 ACK f 70
71 47 BEL g 71
72 48 BS h 72
73 49 HT i 73
74 4A LF j 74
75 4B VT k 75
76 4C FF l 76
77 4D CR m 77
56 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Print bar code examples
Table 11. Print bar code examples
Command n= Data
UPC-A X'1D68' X'00' X'30 33 31 33 32 33
31 32 30 37 38'
UPC-E X'1D68' X'01' X'34 39 30 36 39 30
00'
JAN 13 (EAN-130 X'1D68' X'02' X'34 39 31 32 33 34
35 36 37 38 39 30
00'
JAN8 (EAN-8) X'1D68' X'03' 34 39 31 32 33 34 35
36 00
CODE 39 X'1D68' X'04' 30 31 32 33 34 35 36
37 00
ITF X'1D68' X'05' 31 32 33 34 35 36 37
38 39 30 31 32 00
CODABAR X'1D68' X'06' 42 39 30 2E 2B 3A
2F 24 2D 43 00
CODE 128C X'1D68' X'07' 35 34 35 35 35 36 35
37 35 38 35 39 00
CODE 93 X'1D68' X'08' 31 32 33 34 35 36 00
Reserved X'1D68' X'0A - FF'
Note: The last valid value is kept when an invalid value is sent.
Note: The last valid value is kept when an invalid value is sent.
Note: The last valid value is kept when an invalid value is sent.
58 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Error Conditions:
If an image cannot be printed, status byte 7, bit 2 will be set. This may
happen when the image is too big to print. Try decreasing the ECC level.
Syntax:
GS S r;c or X'1D;53;r;c'
Where:
r The height dimension for the ratio; 1 ≤ r ≤ 9.
c The width dimension for the ratio; 1 ≤ c ≤ 9.
Default:
r = 1, c = 2
Note: When the buffer is held, care must be taken to avoid exceeding the
capacity of the printer memory.
The left margin will be rounded down to a factor of 8. For example, if the
margin = 74, the logo starts at 72.
Retries are not attempted on print errors.
Valid at the beginning of the line only.
When printing in the document station, a line feed command must be sent
to advance the paper past the last line of the logo.
62 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
If the parameter d, w, or h is out of the defined range for this command, the
command is discarded and the remaining data is processed as print data.
This command will increment status byte 6.
If this message is printed on a regular basis, consider downloading it to
save communication time. (See “Download graphics (logo) commands” on
page 18.)
The data buffer can be used for signature capture.
64 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Retries will not be attempted on print errors.
Attention: Stored commands can increment status byte 6. See “Predefine
messages” on page 20.
Note: To print the face of the check, select the document station in landscape
mode as the print station.
MICR read
Syntax:
ESC I or X'1B;49'
Purpose:
To read account information from the magnetic ink character line on
customers’ checks.
Remarks:
v Checks should be inserted upside-down from the front and against the
right wall of the printer. The check can be, but does not have to be,
registered in the printer before this command is given. The check will be
fed forward, until the bottom sensor is uncovered, then fed back for the
MICR reader reading. After the reading is complete, the check is fed to
the first print position.
v If the printer is unable to read any character on the first try, the check
will be fed forward and back for a second try. Complete status will then
be sent to the terminal - if the character was still not read it will be
identified by a Hex 3F (ASCII ″?″).
Note: Checks with magnetic ink printing within 1.2 inches of the right
edge of the check will not be read correctly. This occurs when the
amount field is printed on the check.
v The MICR read command increments the line count (status byte 6).
v At the completion of this command, the MICR information will be sent
over the serial I/O following the normal status bytes.
Character Description ASCII Hex value TOAD representation
representation
Bit 13 = 1 Bit 13 = 0
MICR data representation - default
0–9 Numerical data 0–39 X'30–9' Same as ASCII representation and Hex
Blank 3F X'20' value.
Unreadable ? X'3F'
Character
E13-B - Special characters
Transit T X'54' T X'54'
On Us A X'4F' O X'4F'
v For E13B checks, the 1st byte of additional data is the signal level of the
check. This level represents a percentage of difference that this check is
from a nominal check. Nominal checks will have a signal level of 100 (64
hex).
v For CMC7 checks, the additional byte of data will always read 100 (64
hex). In this case, the signal level has no meaning.
Response options
v Dependant upon your options, data is presented as {signal strength;
magnetic noise level; MICR read data}.
v Depending upon the setting of MCT 0x6f, bit 10, the second byte of
additional data will either be the characters read off the check (up to a
maximum of 67 characters) or the magnetic noise level (on a scale of
0-100).
– The default setting is the characters read off the check. If the user
enables reading the magnetic noise level, this level will be in the 2nd
byte of additional data and the characters read off the check will
follow.
– The characters are read from left to right. The MICR information will
be represented as ASCII characters.
v Bit 11: MICR raw data format
– 1 = Compatibility mode with older printers
– 0 = Change the MICR data response to TOAD (Transit, On-US,
Amount, Dash)
v Bit 12: Magnetic noise level
– 1 = Compatibility mode with older printers {Signal strength; MICR read
data}
– 0 = The data sent from the printer as a result of a MICR read
command (1B;49) will include a byte with the amplitude of a noise
level. Data would be structured as {signal strength; magnetic noise
level; MICR read data}
v Bit 13:
– 1 = MICR will be read into the flipper.
– 0 = MICR reading setup for back-to-back MICR reads. First read into
the throat of the printer, then read into the flipper.
66 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Error Conditions:
Document feed error (status byte 7). This bit is set if the inserted check is
too long. The maximum check length is 10 inches. The error is also set if
the check does not clear the document sensor when expected.
Magnetic noise present (status byte 8, bit 6). Set when MICR read shows
random noise count ≥ 100 decimal or periodic noise > 0. If set to a “1”, this
value will be in the status message when status byte 5, bit 2 = “1”
otherwise it will be a “0” in other status messages. Magnetic noise might be
due to a fan or CRT and will affect the accuracy of the MICR reading.
This command is ignored on 2NR printers (without the MICR capability).
Flip check
Syntax:
ESC 5 or X'1B35'
Purpose:
To flip the check after a MICR read. This will allow the face of the check to
be printed.
Remarks:
v For faster check processing, set the print station to the document
landscape before sending the flip command. Then, the check can print
as it leaves the flip mechanism.
v This command increments the line count (status byte 6).
Error Conditions:
Document feed error (status byte 7). This bit is set if the inserted check is
too long. The maximum check length is 10 inches. The error is also set if
the check does not clear the document sensor when expected.
Miscellaneous commands
Horizontal tab
Syntax:
HT or X'09'
Purpose:
Moves the print position to the next tab stop.
Remarks:
See “Set horizontal tab positions” on page 42.
Tabs are valid when printing is aligned to the left only. If the tabs are used
when alignment is not left, results can be unpredictable. (See “Align
positions” on page 44.)
|
| Figure 2. Composite Characters
|
| Return home (select print head location)
Syntax:
ESC < n or X'1B;3C;n'
Where:
n The print-head position:
00 Document Home Position
01 Open Document Throat Position
02 Reserved
03 Left Home Position
04 Re-find Document Home position. This can be used to
recover from a home error.
05 Register Document
v Close throat if open and document present
v Advance paper forward to first position if not open
06 Re-register the document if a document is in the printer;
brings it back to the first print position on the document.
68 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Remarks:
Only valid at the beginning of the line. Only valid for impact print
stations.
Purpose:
To move the print head to the desired location.
Remarks:
Valid at the beginning of the line only. Valid in impact print stations only.
Note: These commands are not recognized when they occur in the middle of
another command. For example, sending this command after the second
byte of a 3-byte command, as in ESC J n.
Real-time requests
Syntax:
DLE ENQ m or X'1005:n'
Where:
m Specifies the ASCII command character
n - Specifies the hexadecimal command character
n Description
31 Release print buffer
32 Cancel print buffer
33 Undefined
34 EC request; send status
35 Undefined
36 Undefined
37 Undefined
38 Undefined
40 Reset printer
41 Enable unsolicited status
42 Disable unsolicited status
43 Disable transparent XON/XOFF
70 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
m n Description
1 31 Release the print buffer for printing. This should be sent
after an error has occurred and the print buffer is held. If
an error occurred during the transaction that was being
held, the printer sends back the line number with the error
and the error status. The system can then decide to cancel
or continue printing after the error is corrected. The system
uses this command to continue printing after the error is
corrected.
2 32 Cancel print buffer. This clears the print buffer of all data.
Purpose:
To process a command immediately.
| Remarks:
| Either the Release print buffer or the Cancel print buffer command must be
| used when the print buffer is held. If the printer is set to hold on error then
| one of these commands must be used when the error condition is cleared.
| After the printer resets, it defaults to not sending status unless requested. If
| an error occurs, the printer appears hung, unless a status is requested. If
| unsolicited status is enabled, the printer sends the error to the system as
| soon as it occurs.
| Marker command
Syntax
ESC = marker or X'1B 3D' marker’
Where:
marker = 1 byte marker: 0x00 and 0x01 markers are reserved.
Purpose
To allow the driver to monitor how much of the data in the printer’s buffer
has executed. The EC Level command returns status with the EC bit set. If
you want to know when a specific command has finished execution, a
buffered EC level request could be sent following the command. When
status is returned with the EC level bit set, then the previous command has
been completed.
Remarks:
The marker will be sent as status byte #4 in place of the EC level of the
code, and Status Byte 9, bit #1 will be set to indicate that the EC level has
been replaced by the marker for this status. The status with the marker will
be sent when all commands received before it has been processed. If only
a partial line is sent to the printer (characters without a line feed command),
the marker will be sent before the line gets printed.
Example:
LINE 1 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
LINE 2 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
LINE 3 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
0x’1B3D04'
LINE 4 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a’
LINE 5 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
LINE 6 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
LINE 7 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
LINE 8 FGHIJKLMNOPQRSTUVWXYZ1234567890x'0a'
0x’1B3D05'
v After the first three lines, the printer will transmit back status with the
normal printer status: Status Byte 4 = x’04’.
v After the 8th line, the printer will send back status with Status Byte 4 =
0x05.
72 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Disable line count
Syntax:
ESC 8 n or X'1B;38'n
Where
v n = 1, disable line count
v n = 0, enable line count
Purpose:
To temporarily not increment the line count. This can be used when printing
predefined messages, if the number of lines embedded in the message is
unknown.
Remarks:
When sent in standard mode, this command sets the print direction for
page mode, but has no effect on standard mode printing.
Starting position is within the printable area defined by the Select printable
area command (X'1B;58...)'.
Set left margin position (standard mode), set absolute print position
(page mode)
Syntax:
ESC $ n1 n2 or X'1B;24;n1;n2'
Where:
v n1 is the high-order byte of the dot offset from the beginning of the print
line.
v n2 is the low-order byte of the dot offset from the beginning of the print
line.
Default:
n1 = 0, n2 = 0
Remarks:
v In the thermal station, 1 mm = 8 dots.
v In the impact station, 1 inch = 150 half-dots (75 dots).
v n1 and n2 are hex values. Convert each to decimal, and use this formula
to get the decimal equivalent: (n1 x 256) + n2.
v The maximum value in the thermal CR station is 576. The maximum
value in the impact DI station is 474.
v In the CR station, this number is rounded back to a factor of 8.
v If the n1,n2 value exceeds the maximum, it is ignored.
v This command should be sent only after the command that selects the
station, Set print station (ESC c1 n).
v In Page mode, the printing position is moved the specified number of
dots from the beginning of the print line, in the same direction as printing,
specified by the Select printing direction/position command (X'1B;54...'). If
the print position is bottom-to-top, or top-to-bottom, this command adjusts
the print position in the vertical direction.
v This is a one-time adjustment on the current line. If this command moves
the print position outside the printable area specified by the Select
printable area command, it is ignored.
78 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
v In page mode, this command prints the page that is loaded in the printer.
The page remains loaded in the printer’s buffer and the printer remains in
page mode. This should be used for repeatedly printing the same page,
or if there is a template that is filled in with each printout.
Portrait mode
This is a suggested method of document handling:
1. ESC f (x) (y): Set up document wait time
x Time the printer should wait from receiving a print line for the
document station until the document is inserted.
If the document has not been detected by the time the wait time
ends, a document error is sent to the system but the system
continues to wait for a document to be inserted.
y Delay from the time the document is detected until it is grabbed by
the printer (the start of document printing):
v Side insertion - closes the document throat.
v Front insertion - pulls the document into the printer and feeds it
to the Top of Form.
2. ESC c 0 X'04': Select document station - normal print mode:
The document present indicator blinks until a document is detected, then it
stays on continuously.
v If the document is inserted from the front, it is fed to the first print
position after the document wait time. Then, commands in the printer
buffer begin executing.
v If the document is inserted from the side, printing starts at the location
where it was inserted.
(The document throat must be open to insert the document from the
side.) Manually, open the throat by pressing and then releasing both
buttons. You can also open it with these commands - ESC q or ESC <
X'01'.
If a document is not detected within the wait time (specified in the ESC f
command), the printer sends error status to the system, and continues to
wait.
Note: The system can either cancel the print buffer, thereby deleting all
data in the print buffer, or wait for a document to be inserted.
The printer appears to be hung until an action is taken.
3. Send print lines to be printed in this station.
4. Final handling.
You have an option on final handling, finish printing and either eject the
document or open the document throat to allow manual removal of the
document:
FF: Print and Eject Document.
Finish printing and eject the document.
82 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
3. Send print lines to be printed in this station.
The number of characters that can be printed on a line depends on the
width of the document. The print area is:
v 63 mm high, starting 17 mm from the bottom of the document
v The entire width of the document less 34 mm from the right edge and 10
mm from the left edge
4. Final handling.
You have an option on final handling: finish printing and either eject the
document or open the document throat to allow manual removal of the
document:
4a. FF: Print and Eject Document.
Finish printing and eject the document.
4b. ESC q or ESC < X'01': Open Document Throat
Finish printing and release the document from the printer’s rollers.
Note: The document station stays selected. The printer will wait for
another document until the station is changed.
Bytes Contents
1-2 Data count (X’000A’ to X’00FF’). The data count includes the two
data-count bytes.
3 - 19 Status bytes 1-16. See the descriptions of each byte in the sections that
follow.
20 - n Either 5 bytes of additional status from the “Extended address
command-request printer ID” on page 14 command, or up to 246 bytes of
user data that can include:
v MICR data
v User flash data
v MCT data
Status byte 2
| Table 15. Status byte 2
| Bit Description
| 0 (LSB) Document ready. Set to 0 when the document insert station is ready for
| printing. This occurs when both document sensors detect the document
| and the document has been fed to the first print position.
| 1 Document present under the front sensor. Set to 0 when a document is
| under to top document sensor.
| 2 Document present under the top sensor. Set to 0 when a document is
| under the top document sensor.
| 3 Reserved. Always equals 1.
| 4 Print buffer held. Set to 1 when the print buffer is being held. Cleared
| when buffer released. The printer can be held due to a Hold buffer
| Command or one of the following printer errors: Ribbon cover open, with
| commands to be printed on the document station. Cash receipt print error
| with commands to the cash receipt station.
| 5 Open throat position. Set to 1 when the print head is in the open throat
| position.
| 6 Buffer empty. Set to 1 when no print data and no commands are in the
| buffer.
| 7 (MSB) Buffer full. Set when the message pipe is 80% full. Cleared when the
| message pipe is 60% full. Commands will be rejected when pipe is 100%
| full.
|
Status byte 3
| Table 16. Status byte 3
| Bit Description
| 0 (LSB) Electric journal memory sector is full.
| 1 Home error.
86 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
| Table 16. Status byte 3 (continued)
| Bit Description
| 2 Document error. the document was not inserted after the document station
| was selected, and the wait subsequently timed out.
| 3 Flash EPROM load error or MCT load error.
| 4 Reserved. Always equals 0.
| 5 User flash storage sector is full.
| 6 Firmware error. CRC on the firmware failed. The printer is running out of
| the boot sector. Only system commands and firmware commands are
| accepted. The firmware must be reloaded into the printer.
| 7 (MSB) Fiscal bit. Set to show a line completed printed. Set to 1 when Flash erase
| is complete.
|
Status byte 4
Contains the printer engineering code (EC) level with all status messages.
Status byte 5
| Table 17. Status byte 5
| Bit Description
| 0 (LSB) Printer ID Request/Extended Address command. Set to 1 when
| responding to a Printer ID request.
| 1 EC Level. Set to 1 when responding to an EC level request.
| 2 MICR Read. Set to 1 when responding to a MICR read command.
| 3 MCT Read. Set to 1 when responding to an MCT read command.
| 4 User flash read. Set to 1 when responding to a flash read command.
| 5 Reserved. Defaults to 1.
| 6 Reserved
| 7 (MSB) Reserved
|
Status byte 6
Contains the current line count.
Status byte 7
| Table 18. Status byte 7
| Bytes Description
| 0 (LSB) Reserved
| 1 Lost +24V. Set when +24V drops below +20V.
| Note: If the printer is powered off with the power switch, this status will go
| out as the printer shuts down.
| 2 PDF417 bar code generation problem. Set to one when there is a problem
| creating a PDF417 bar code image.
| 3 Cash drawer status.
| 4 Print key pressed. Set to one when a printer key operation is in progress.
| 5 Reserved. Defaults to 1.
Status byte 8
Table 19. Status byte 8
Bit Description
0 (LSB) Reserved
1 Reserved
2 Reserved
3 Reserved
4 Reserved (always 0)
5 Set to 1 when CR paper is out.
6 Magnetic noise present - only for MICR read command - "1" when MICR
read shows random noise count ≥ 100 decimal or periodic noise > 0,
otherwise "0". If set to a "1", this value will be in the status message when
status byte 5, bit 2 = "1" otherwise it will be a "0" in other status
messages. When magnetic noise present bit is set there is excessive
magnetic noise which might be due to a fan or CRT and it will affect the
accuracy of the MICR reading.
7 (MSB) Thermal print head or motor is almost too hot to continue printing. This bit
is set to ON when the temperature of the thermal print head gets to 60° C
and stays on until the temperature is below 58° C.
Note: The printer will STOP printing when the temperature is above 65° C
and will restart printing when the temp is below 60° C.
Status byte 9
| Table 20. Status byte 9
| Bit Description
| 0 (LSB) Electronic journal error (see driver spec for support)
| 1 Marker attached
| 2 Reserved
| 3 Reserved
| 4 Reserved (always 0)
| 5 Reserved
| 6 Printer is in offline mode, or has an unrecoverable error.
| 7 (MSB) Reserved
|
88 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Status byte 10
| Table 21. Status byte 10
| Bit Description
| 0 (LSB) Reserved
| 1 Electronic journal suspend (see driver spec for electronic journal support)
| 2 Set when responding to checksum request for download graphics logos or
| stored messages.
| 3 Reserved
| 4 Reserved (Always = 0)
| 5 Reserved
| 6 Reserved
| 7 (MSB) Reserved
|
Status byte 11
| Table 22. Status byte 11
| Bit Description
| 0 (LSB) CR feed error - no motion detected when line feeding.
| 1 Reserved
| 2 Detected partial paper cut. Cutter may be failing.
| 3 Unexpected cover open. This bit will be set when the cover is open, where
| there isn't an error condition.
| 4 Reserved (always = 0)
| 5 Cutter jam. CANNOT print in the CR station when this bit is set.
| 6 Set to 1 when CR paper is low.
| 7 (MSB) Set to 1 when CR paper is critically low.
|
Status byte 12
This will contain information RMA should monitor.
Table 23. Status byte 12
Bit Description
0 (LSB) Reserved
1 Document feed slip detected. Document
does not appear to move as far as it should
when feeding. Tested during MICR read and
landscape print.
2 Reserved
3 Unexpected DI cover open. This bit will be
set when the cover is open and there has
not been an error.
4 Reserved (Default = 0)
5 High voltage detection. The printer will be
offline if this bit is set.
6 Reserved
Status byte 13
The printer can detect problems with the cards and might be able to communicate.
If it can communicate, these are the statuses that are sent. If the failure is such that
the printer cannot print, offline status will be set, and the CR LED will blip.
| Table 24. Status byte 13
| Bit Description
| 0 (LSB) Main logic card - CRU failure
| 1 Interface logic card - CRU failure
| 2 Thermal print head - CRU failure
| 3 Impact print head failure (not a CRU)
| 4 Reserved (Always = ’0’)
| 5 Motion sensor failure (not a CRU)
| 6 Reserved
| 7 (MSB) Reserved
|
90 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Chapter 6. Character fonts
This section describes font capabilities. For more information about font-related
commands, see:
v “Download user-defined characters” on page 21
v “Set print station” on page 37
v “Set print mode” on page 33
v “Set code page” on page 38
v “Set intercharacter spacing for single byte character sets” on page 39
v “Select user-defined or resident character sets” on page 37
You can choose the character size of four user-defined character sets (code pages)
or two proportional fonts. The parameter ranges for user-defined character sets are:
v 8 ≤ dot width ≤ 16
v 16 ≤ dot height ≤ 32 (must be a multiple of 2)
Proportional fonts
This section describes the procedure for converting and downloading proportional
fonts. It also gives recommendations that will simplify implementing proportional
fonts on a receipt.
The following topics show how to use the alignment and tab features with
proportional fonts. Command descriptions are given in RS-232 (EIA-232) command
format. For the command syntax when you use a printer driver, consult the driver
documentation.
Selecting code page 2 when a proportional character set is defined for code page 1
(or selecting code page 4 when proportional characters are defined in code page 3)
will result in unreadable characters being printed.
The simplest method to align prices is to use the Align Column Right command with
the Fix Font Matrix command.
v Unlike other Align Position commands, the Align Positions-Align Column Right
command can be sent in the middle of a print line. Print characters sent before
the alignment command will be left aligned, while characters sent after the
alignment command will be right aligned.
v The Fix Font Matrix command forces proportional characters to print using a
single width defined by the command. This essentially negates the proportional
characteristic of the font, while still allowing the user to utilize the custom font.
92 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
2. Issue the Set Alignment command with n=4 (Right Align Column). The
command syntax is X’1B 61 04’.
3. Issue the Fix Font Matrix command with n=dot width of the widest number used.
The command syntax is X’1B 3A xx’.
Note: Finding the optimum value of xx for this command will vary depending on
the proportional character set being used, and may require some
experimentation.
4. Print the item price. For the first item, this is the ASCII data $ .45.
5. Issue the Fix Font Matrix command with n=0, which disables the fixed font
matrix. The command syntax is X’1B 3A 00’.
6. Issue the Print and Line Feed command. Use the command syntax X’0A’ or
X’0D’.
The following Set Tab Positions command will define tab positions for 3 columns:
item description, quantity and price. The command assumes that the font width is
approximately 10 dots. This procedure assumes that proportional characters have
been downloaded and selected for printing, and that the item description will be left
aligned.
X’1B 44 01 90 01 D6 00 00’
The following sequence should be used for each item line. The printer output would
resemble the following:
Candy Bar 03 $ 1.00
Fountain Soda 10 $11.10
1. Print the item description. For the first item, this is the ASCII data Candy Bar.
2. Issue the Tab command. The command syntax is X’09’.
3. Issue the Fix Font Matrix command with n=dot width of the widest number used.
The command syntax is X’1B 3A xx’.Note: Finding the optimum value of xx for
this command will vary depending on the proportional character set being used,
and may require some experimentation.
4. Print the quantity. For the first item, this is the ASCII data 03.
5. Issue the Tab command. The command syntax is X’09’.
6. Print the price. For the first item, this is the ASCII data $1.00.
7. Issue the Fix Font Matrix command with n=0, which disables the fixed font
matrix. The command syntax is X’1B 3A 00’.
8. Issue the Print and Line Feed command. Use the command syntax X’0A’ or
X’0D’.
Note: You might have TrueType fonts other than those supplied by IBM on your
system. Before using the conversion utility to convert and download any
non-IBM fonts for use by the SureMark printer, you must confirm that you
have received authorization from the owner of the fonts to convert and
download the fonts.
94 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Chapter 7. Tests and diagnostics
This section describes the tests available for the Models 2CR and 2NR.
You must calibrate the printer to accurately recognize the thickness of the paper
supply. Calibration can be done using an offline test or by a command. See “Set
low paper calibration” on page 44 and “Summary of offline test menus” on page 97.
One printer can be calibrated for the paper supply. The calibration constant can
then be broadcast to all printers that will use the same paper.
To set the low paper supply sensors of all printers within your system:
1. Run the calibration on one printer. See Table 26 on page 93.
2. Read out MCT#0x28 from the calibrated printer.
1. Use one of the following methods to enter the offline test mode:
a. Switch on the printer while pressing the paper feed button (A in Figure 2).
b. Open the paper cover and press the R button while also pressing the power
button. Use a paper clip if the power button cover is installed. Then, close
the paper cover.
2. The following offline selection menu is printed. See Figure 4 on page 93.
96 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Off-line Selection started
To select a sub-menuor test:
FIRST, press the paper feed button the indicated number of times.
THEN, press again and hold button down at least 1
second to confirm selection.
Figure 5. Example of the offline selection main menu. See Table 26 for an explanation of
these menu items.
3. Follow the instructions that are printed for each required test.
98 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Table 28. Sub menus and tests (continued)
Sub menus and tests by frequency of use Codes
Fourth 4 Presses
More Options 5 Presses
Remarks: For earlier models, the CT Print test, DI print test and the MICR reading
test supported in the 4610 2-station are supported in the 2CR Printer.
For proper operation, the information on the interface and logic cards must match. If
you install either card (interface or logic) with previously written firmware
information, you must direct the firmware to overwrite the correct card.
OPTIONS. . . . . . . . . . Presses
1. Main Logic Update Menu . . . . 1
2. Interface Card Update Menu . . 2
3. Continue without updating . . 3
For more information, see the IBM Retail Store Solutions support Web site at
www.ibm.com/solutions/retail/store/support/.
100 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
MICR read, flipper test
Note: IBM recommends that you use the offline menus to initiate this test.
The MICR read test is accessed through the sub-menus in offline mode.
Follow these steps to start the MICR read and flipper test:
1. Insert the check face down with the magnetic ink characters to the right.
2. To enter offline mode, press and hold both buttons until the printer-ready
indicator begins blinking.
3. Then release both buttons.
4. Press and release both buttons again. The printer reads the check.
5. Characters that match the magnetic ink characters are printed on the customer
receipt. The check is then flipped over, and ejected.
Understanding MICR test results: If the characters printed do not match the
magnetic ink characters, check the MICR read head. The printer will insert question
marks if the MICR read engine cannot decode a number. An X appears if the printer
had to read the document twice to determine a good read. If the printer detects
noise, it will print out the amplitude and frequency of the noise, if possible.
IBM may have patents or pending patent applications covering the subject matter in
this document. The furnishing of this document does not give you any license to
these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
The following paragraph does not apply to the United Kingdom or any other country
where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS
MACHINES CORPORATION PROVIDES THIS PUBLICATION ″AS IS″ WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. Some states
do not allow disclaimer of express or implied warranties in certain transactions,
therefore, this statement may not apply to you.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those
Web sites. The materials at those Web sites are not part of the materials for this
IBM product and use of those Web sites is at your own risk.
Information concerning non-IBM products was obtained from the suppliers of those
products, their published announcements or other publicly available sources. IBM
has not tested those products and cannot confirm the accuracy of performance,
compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those
products.
Trademarks
IBM, the IBM logo, PS/2, SureMark and SurePoint are trademarks of IBM
Corporation in the United States or other countries or both.
Microsoft, Windows, Windows NT, and the Windows 95 logo are trademarks or
registered trademarks of Microsoft Corporation.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in
the United States, other countries, or both
Intel, Intel Inside (logos), MMX and Pentium are trademarks of Intel Corporation in
the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks
of others.
104 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Index
Numerics driver documentation by operating system 5
1/6-inch line spacing, selecting 40
1/8-inch line spacing, selecting 40
E
EC level marker command 72
A EC request command 71
edition notice ii
accessibility of publications xi
emphasized printing command, set or cancel 35
align positions command 44
emulation mode for Model 2CR/2NR/1NR 15
asynchronous commands 70
emulation of non-IBM printers 15
data buffer management and batch printing 72
enable feed buttons 49
real-time requests 70
enable the beeper 48
enable upside-down printing 49
erase flash sector command 28
B error recovery command, set 45
backspace, composite characters 67 extended address command 13
batch printing, and data buffer management 72
F
C fix font matrix 51
cash drawer drive pulse command 69 flash storage write command 28
character font 91 flip check command 67
character that selects font a/b/c 34 font, character 91
check processing commands 65
flip check 67
MICR read 65
checksum of downloaded logo or message 27
H
hardware requirements 2
checksum of flash memory sector, request 27
hold printing command 73
code page command, set 38
horizontal tab command 67
color printing, selecting 41
horizontal tabs command, set 42
communication parameters 3
composite characters, backspace 67
I
D impact code page command 25
intercharacter spacing command, set for single byte
data buffer management commands 72
character sets 39
data buffer management, and batch printing 72
invert command, set or cancel 35
disable line count 73
EC level marker command 72
hold printing until buffer is released 73
release print buffer 73
L
reset line count 72 landscape mode 82
defaults, printer memory allocation 17 landscape printing commands 82
define document wait time command 46 left margin command, set 43
diagnostics, tests 95 line spacing, minimum units 42
disable feed buttons 49 line spacing, select 1/6 40
disable line count 73 line spacing, select 1/8 40
disable the beeper 48
disable upside-down printing 49
document handling, landscape mode commands 82 M
document handling, portrait mode commands 81 MCT command definitions 30
document length, setting 36 MCT loading 29
double-byte characters 18 memory allocation 17
double-high mode command, set or cancel 34 message format 85
double-wide mode command, set or cancel 34 MICR read 65
download graphics (logo) commands 18 microcode tolerance (MCT) information - request 29
download user-defined characters command 21 miscellaneous commands 67
generate drive pulse for cash drawer 69
O S
onetime-set commands 16 select character size for scalable fonts 50
operating system requirements 1 select color printing command 41
overline mode command, set or cancel 35 select maximum print speed 35
select page mode 75
select printable area 75
P select printing direction/position 76
page mode commands 75 select standard mode 75
clear print data in page mode 79 send status to system command 46
page mode printing commands 75 Set document length for landscape print 36
print and form feed and cut the paper 78 set horizontal tabs command 42
print page in page mode 78 set left margin position (standard mode), set absolute
select printable area 75 print position (page mode) 77
select printing direction/position 76 set printing position 78
select standard mode 75 set relative horizontal position 77
set left margin position (standard mode), set absolute set relative vertical position 76
print position (page mode) 77 set vertical position 76
set printing position 78 setting or cancelling rotated characters 39
set relative horizontal position 77 setting print station parameters 40
set relative vertical position 76 sheet eject length command, set 42
set vertical position 76 status byte 1 86
paper cut/DI eject command 69 status byte 10 89
paper, select thermal 52 status byte 11 89
portrait mode 81 status byte 12 89
predefine messages command 20 status byte 13 90
preset commands 16 status byte 2 86
print and line feed command 60 status byte 3 86
print character commands 60 status byte 4 87
print logo inline 51 status byte 5 87
print mode command, set 33 status byte 6 87
print predefined graphics (logo) command 63 status byte 7 87
print station command, set 37 status byte 8 88
print station parameters command, set 40 status byte 9 88
printer memory allocation defaults 17 status conditions, summary 85
proportional font command 23 status information 85
publications, related xi status request command 12
strike-through, set, cancel 52
summary of status conditions 85
R system commands 12
re-initialize the printer command 47
real-time commands 70
real-time status request command 71 T
relative position command, set 44 tests, diagnostics 95
release print buffer 73 thermal code page command 22
release print buffer command 70 thermal paper, select 52
request checksum of flash memory sector 27 through, strike, cancel, set 52
Request document length 37
request printer ID command 13
reset line count 72 U
reset printer 71 underline mode command, set or cancel 34
retrieve checksum of each downloaded logo or each unidirectional printing command, set or cancel 36
stored message 27
retrieve flash storage command 69
106 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
V
verify previous commands completed 12
Index 107
108 SureMark 4610 Printers : Programming Guide for Models 1xR and 2xR
Readers’ Comments — We’d Like to Hear from You
SureMark 4610 Printers
Programming Guide
for Models 1xR and 2xR
We appreciate your comments about this publication. Please comment on specific errors or omissions, accuracy,
organization, subject matter, or completeness of this book. The comments you send should pertain to only the
information in this manual or product and the way in which the information is presented.
For technical questions and information about products and prices, please contact your IBM branch office, your IBM
business partner, or your authorized remarketer.
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any
way it believes appropriate without incurring any obligation to you. IBM or any other organizations will only use the
personal information that you supply to contact you about the issues that you state on this form.
Comments:
Name Address
Company or Organization
_ _ _ _ _ _ _Fold
_ _ _and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ _do
_ _not
_ _ staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM Corporation
Retail Store Solutions Information Development
Department ZBDA
P. O. Box 12195
RESEARCH TRIANGLE PARK NC 27709-9990
_________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
GA27-5005-00 Along Line
Printed in USA
GA27-5005-00