Cognitive Solutions All in One Printer B780 User Manual

A776 (B780) Two-Color Thermal/Impact  
Hybrid Printer  
Programming Guide  
Printer without Imaging  
Printer with Imaging  
Includes CognitiveTPG LogoEZ®  
colorization information  
Made under one or more of the following U. S. patents: 4886381, 5579043, 5613787,  
5651624, 5713678, 5752779, 5789916, 5800080, 5879090, 5887999, 5975776, 6027266,  
6085973, 6089450, 6129465, 6155483, 6404452, 6486902, 6504331, 5749277, 6722754,  
6739773, 6784909.  
A776-PG00001 Rev. C  
Contents  
i
Contents  
Chapter 1: About this Guide .............................................................................................................................. 1  
How to use this Guide.......................................................................................................................... 1  
Where to find the basics ...................................................................................................................... 1  
Where to find advanced technical information................................................................................. 1  
Support................................................................................................................................................. 1  
Chapter 2: Printer Status and Indicators .......................................................................................................... 3  
Startup Diagnostics ............................................................................................................................. 3  
Runtime diagnostics............................................................................................................................ 3  
Remote diagnostics ............................................................................................................................. 3  
Ethernet terms and default setup....................................................................................................... 4  
Ethernet Terminology .................................................................................................................. 4  
Ethernet Default Setup................................................................................................................ 5  
Indicators.............................................................................................................................................. 6  
Chapter 3: Migrating to A776 and B780 ........................................................................................................... 7  
Migrating from existing CognitiveTPG printers ............................................................................... 7  
Moving from the A756 to the A776 (Thermal printhead differences) ............................................. 8  
Moving from the A756 to the A776 (Emulation commands)............................................................ 9  
Moving from the A756, A758, or A760 to the A776 (Slip differences)............................................. 9  
A776 Emulation Commands................................................................................................................ 10  
Set Printer ID Mode............................................................................................................................................... 10  
Set A776 Printer ID ............................................................................................................................................... 10  
Set A776 Printer Emulation............................................................................................................................... 10  
A776 Configuration Commands ......................................................................................................... 10  
Select Slip Lines per Inch .................................................................................................................................... 10  
Select Number of Lines of Validation ............................................................................................................. 10  
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces .................................. 11  
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces .................................. 11  
Select A776 Narrow Slip 51-column Compressed Print Option ......................................................... 11  
Select A776 Delete Slip Trailing Spaces Option ......................................................................................... 11  
Select A776 (21 and 25-line) Rotated Slip Print Options......................................................................... 12  
Select A776 First Line of Print Option in Text and Page Mode.............................................................. 12  
Select Cover Open Option.................................................................................................................................. 12  
Set Page Mode Margin Mechanical Adjustment........................................................................................ 13  
Select A776 Slip Eject Option............................................................................................................................ 13  
Select 45/60 Column Slip Option..................................................................................................................... 13  
Set Page Mode Option to Trim Full Dots....................................................................................................... 13  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
ii  
Contents  
A776 Configurable Slip Commands.................................................................................................... 14  
A776 Double High Slip Character Print ......................................................................................................... 14  
A776 Slip Character Spacing ............................................................................................................................. 14  
A776 Slip Minimum Units................................................................................................................................... 14  
A776 Slip Left Margin and Print Width........................................................................................................... 14  
A776 Slip Print Justification ............................................................................................................................... 14  
Moving from A756/A758 to A776....................................................................................................... 15  
Two-color Commands ......................................................................................................................... 15  
LogoEZ® colorization commands ........................................................................................................ 16  
Migrating from the A721 (7221) printer to the B780........................................................................ 17  
B780 Emulation Commands......................................................................................................... 17  
Set Printer ID Mode............................................................................................................................................... 17  
Set B780 Printer Emulation ................................................................................................................................ 17  
B780 Configuration Commands .................................................................................................. 17  
Select B780 Slip Right Text Margin and Text Column Options.............................................................. 17  
Select DH Pitch and Rotated Text Columns.................................................................................................. 18  
Select Slip Lines per Inch .................................................................................................................................... 18  
Select Two - Sensor Option for B780 .............................................................................................................. 19  
Select Number of Lines of Validation for B780............................................................................................ 19  
Select B780 Map User Character Option for B780 ..................................................................................... 19  
Select Slip Right Margin in Page Mode.......................................................................................................... 19  
Select B780 Map Logo Option for B780......................................................................................................... 20  
Select Cover Open Option for B780................................................................................................................ 20  
Select Concurrent Print to Receipt for B780 ................................................................................................ 20  
Select B780 with A776 Slip Functions............................................................................................................ 20  
Select B780 Concurrent Print to Electronic Journal .................................................................................. 20  
Select Cover Open Option for B780................................................................................................................ 21  
Set Page Mode Margin Mechanical Adjustment........................................................................................ 21  
Set Page Mode Option to Trim Full Dots....................................................................................................... 21  
Chapter 4: Programming the Printer ................................................................................................................ 23  
Overview of Printing Characteristics.................................................................................................. 23  
Character appearance ......................................................................................................................... 24  
Receipt character specification ................................................................................................... 24  
Standard.................................................................................................................................................................... 24  
Compressed............................................................................................................................................................. 24  
Print zones............................................................................................................................................ 25  
Print zones for receipt station 80 mm paper.............................................................................. 25  
Print zones for slip station .................................................................................................................. 26  
Print Zones for Slip, Validation ........................................................................................................... 27  
Rotated printing commands............................................................................................................... 28  
Chapter 5: Programming Commands ............................................................................................................... 29  
Commands listed by function ............................................................................................................. 29  
Printer actions............................................................................................................................... 29  
Print and paper feed .................................................................................................................... 30  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Contents  
iii  
Vertical and horizontal positioning ........................................................................................... 30  
Text characteristics....................................................................................................................... 30  
Graphics ........................................................................................................................................ 31  
Status............................................................................................................................................. 32  
Batch mode.............................................................................................................................................................. 32  
Real-time................................................................................................................................................................... 32  
Unsolicited status mode ..................................................................................................................................... 32  
Bar codes ....................................................................................................................................... 33  
Page mode .................................................................................................................................... 33  
Macros ........................................................................................................................................... 33  
MICR check reader commands..................................................................................................... 33  
MICR Reading.......................................................................................................................................................... 33  
MICR Parsing............................................................................................................................................................ 33  
User data storage.......................................................................................................................... 34  
Flash download...................................................................................................................................................... 34  
Ethernet setup commands........................................................................................................... 34  
Image Commands......................................................................................................................... 35  
Command conventions........................................................................................................................ 36  
Command descriptions ....................................................................................................................... 36  
Printer actions............................................................................................................................... 36  
Clear printer............................................................................................................................................................. 36  
Close form ................................................................................................................................................................ 37  
Open form................................................................................................................................................................ 37  
Perform partial knife cut ..................................................................................................................................... 37  
Generate tone......................................................................................................................................................... 37  
Return home............................................................................................................................................................ 37  
Select peripheral device (for multi-drop)...................................................................................................... 38  
Initialize printer ...................................................................................................................................................... 38  
Set slip paper eject length.................................................................................................................................. 38  
Set unidirectional print on impact station ................................................................................................... 38  
Select receipt or slip for printing; slip for MICR read................................................................................. 39  
Select receipt or slip for setting line spacing............................................................................................... 39  
Select paper sensors to output paper end signals.................................................................................... 39  
Select sensors to stop printing ......................................................................................................................... 40  
Enable or disable panel button ........................................................................................................................ 40  
Set slip paper waiting time ................................................................................................................................ 40  
Generate pulse to open cash drawer.............................................................................................................. 41  
Release Paper.......................................................................................................................................................... 41  
Set current color..................................................................................................................................................... 41  
Select slip station................................................................................................................................................... 42  
Select cut mode and cut paper ........................................................................................................................ 42  
Set paper type (ColorPOS®)................................................................................................................................. 42  
Select receipt station........................................................................................................................................... 43  
Set Interpretation of “Set current color” ....................................................................................................... 43  
Print test form ......................................................................................................................................................... 44  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
iv  
Contents  
Print and paper feed..................................................................................................................... 44  
Print and feed paper one line............................................................................................................................ 44  
Print and eject slip................................................................................................................................................. 44  
Print and carriage return..................................................................................................................................... 44  
Feed n print lines ................................................................................................................................................... 44  
Feed n dot rows...................................................................................................................................................... 45  
Add n extra dot rows............................................................................................................................................ 45  
Print and feed paper............................................................................................................................................. 46  
Print and reverse feed paper ............................................................................................................................. 46  
Print and feed n lines............................................................................................................................................ 46  
Print and reverse feed n lines............................................................................................................................ 47  
Reverse feed n lines .............................................................................................................................................. 47  
Reverse feed n dots............................................................................................................................................... 47  
Vertical and horizontal positioning ............................................................................................ 47  
Horizontal tab ......................................................................................................................................................... 47  
Set column ............................................................................................................................................................... 48  
Set absolute starting position........................................................................................................................... 48  
Set vertical line spacing to 1/6 inch................................................................................................................ 48  
Set vertical line spacing....................................................................................................................................... 49  
Set horizontal tab positions............................................................................................................................... 49  
Set relative print position ................................................................................................................................... 50  
Select justification................................................................................................................................................. 51  
Set left margin ........................................................................................................................................................ 51  
Set horizontal and vertical minimum motion units.................................................................................. 52  
Set printing area width........................................................................................................................................ 52  
Select double-wide characters......................................................................................................................... 53  
Select single-wide characters ........................................................................................................................... 53  
Select 90 degree counter-clockwise rotated print .................................................................................... 53  
Select pitch (column width)............................................................................................................................... 54  
Set right-side character spacing....................................................................................................................... 54  
Select print mode.................................................................................................................................................. 55  
Select or cancel user-defined character set................................................................................................. 55  
Define user-defined character set ................................................................................................................... 56  
Select or cancel underline mode ..................................................................................................................... 57  
Copy character set from ROM to RAM ........................................................................................................... 57  
Cancel user-defined character.......................................................................................................................... 58  
Select or cancel emphasized mode ................................................................................................................ 58  
Select double-strike.............................................................................................................................................. 58  
Cancel double-strike............................................................................................................................................. 59  
Select or cancel italic print ................................................................................................................................. 59  
Select international character set ................................................................................................................... 59  
Select character code table................................................................................................................................ 60  
Select or cancel 90 degree clockwise rotated print .................................................................................. 60  
Select or cancel upside-down print mode................................................................................................... 60  
Select character size ............................................................................................................................................. 60  
Select or cancel white/black reverse print mode....................................................................................... 61  
Set smoothing ........................................................................................................................................................ 62  
Reverse color text mode (ColorPOS®) ............................................................................................................. 62  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Contents  
v
Text strike-through mode (ColorPOS®)........................................................................................................... 63  
Select font ID number.......................................................................................................................................... 63  
Select font style number..................................................................................................................................... 63  
Save font ID number as default font at power up...................................................................................... 64  
Download font........................................................................................................................................................ 64  
Download font list................................................................................................................................................. 64  
Select superscript or subscript modes........................................................................................................... 64  
Define extended user-defined character set............................................................................................... 65  
Select active user-defined character set ....................................................................................................... 65  
Graphics......................................................................................................................................... 66  
Download BMP logo............................................................................................................................................. 66  
Select bit image mode......................................................................................................................................... 66  
Print advanced raster graphics ......................................................................................................................... 67  
Select double-density graphics........................................................................................................................ 68  
Print Flash Logo...................................................................................................................................................... 68  
Define Flash Logos................................................................................................................................................ 68  
Select the current logo (downloaded bit image)....................................................................................... 68  
Define downloaded bit image.......................................................................................................................... 69  
Print downloaded bit image.............................................................................................................................. 69  
Print raster monochrome graphics (ColorPOS®) ......................................................................................... 70  
Print raster color graphics (ColorPOS®)........................................................................................................... 70  
Download logo image (ColorPOS®) ................................................................................................................. 70  
Monochrome shade mode (ColorPOS®)......................................................................................................... 71  
Color shade mode (ColorPOS®) ......................................................................................................................... 71  
Logo print with color plane swap (ColorPOS®)............................................................................................ 72  
Apply shading to logo (ColorPOS®)................................................................................................................. 72  
Merge watermark mode (ColorPOS®) ............................................................................................................. 72  
Form and merge real-time surround graphic (ColorPOS®)...................................................................... 73  
Save graphics buffer as logo (ColorPOS®)...................................................................................................... 74  
Background logo print mode (ColorPOS®).................................................................................................... 74  
Apply margin message mode (ColorPOS®)................................................................................................... 75  
Shade and store logo (ColorPOS®) ................................................................................................................... 75  
Logo print with knife cut..................................................................................................................................... 76  
Set temporary max target speed..................................................................................................................... 76  
Set LogoEZ® colorization (ColorPOS®) ............................................................................................................. 77  
Set LogoEZ® attribute mapping (ColorPOS®)................................................................................................ 79  
Convert 6-dots/mm bitmap to 8-dots/mm bitmap.................................................................................. 81  
Enable constant speed logos ............................................................................................................................ 81  
Status............................................................................................................................................. 82  
Batch mode.............................................................................................................................................................. 82  
Transmit peripheral device status.................................................................................................................... 82  
Transmit paper sensor status ............................................................................................................................ 83  
Transmit printer ID ................................................................................................................................................ 83  
Transmit printer ID, remote diagnostics extension ................................................................................... 85  
Transmit status ....................................................................................................................................................... 87  
Send printer software version........................................................................................................................... 89  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
vi  
Contents  
Real-time commands.................................................................................................................... 89  
Preferred implementation.................................................................................................................................. 90  
Alternate implementation.................................................................................................................................. 90  
Rules for using real-time commands.............................................................................................................. 90  
Moving data through the buffer...................................................................................................................... 90  
Busy line and fault conditions........................................................................................................................... 91  
Real-time status transmission ........................................................................................................................... 91  
Real-time request to printer .............................................................................................................................. 94  
Real-time printer status transmission ............................................................................................................ 95  
Real-time commands disable............................................................................................................................ 95  
Unsolicited status mode .............................................................................................................. 96  
Select or cancel unsolicited status mode (USM) ........................................................................................ 96  
Recognizing data from the printer.............................................................................................. 99  
Bar codes ....................................................................................................................................... 100  
Select printing position of HRI characters.................................................................................................... 100  
Select pitch of HRI characters............................................................................................................................ 100  
Select bar code height......................................................................................................................................... 100  
Print bar code.......................................................................................................................................................... 100  
Set GS1 DataBar (formerly RSS) parameters ................................................................................................ 102  
Print GS1 DataBar (formerly RSS), data length specified......................................................................... 103  
Print GS1 DataBar (formerly RSS), null terminated.................................................................................... 103  
Print multiple barcodes....................................................................................................................................... 104  
Select PDF 417 parameters ................................................................................................................................ 105  
Select bar code width .......................................................................................................................................... 106  
Page mode..................................................................................................................................... 106  
Slip page mode considerations........................................................................................................................ 107  
Print and return to standard mode ................................................................................................................. 108  
Cancel print data in page mode....................................................................................................................... 108  
Print data in page mode...................................................................................................................................... 108  
Select page mode.................................................................................................................................................. 109  
Select standard mode.......................................................................................................................................... 110  
Select print direction in page mode............................................................................................................... 110  
Set print area in page mode .............................................................................................................................. 111  
Set absolute vertical print position in page mode.................................................................................... 112  
Set relative vertical print position in page mode....................................................................................... 112  
Macros ........................................................................................................................................... 113  
Select or cancel macro definition .................................................................................................................... 113  
Execute macro ........................................................................................................................................................ 113  
MICR commands ........................................................................................................................... 114  
MICR reading........................................................................................................................................................... 114  
Read MICR data and transmit............................................................................................................................ 114  
Transmit last MICR read....................................................................................................................................... 115  
MICR parsing................................................................................................................................. 115  
Define parsing format, save in NVRAM.......................................................................................................... 115  
Define parsing format, do not save permanently...................................................................................... 115  
Parsing parameter string options.................................................................................................................... 115  
Sample parsing formats ...................................................................................................................................... 117  
Check serial number............................................................................................................................................. 119  
Loading the exception table.............................................................................................................................. 120  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Contents  
vii  
Exception table entry format............................................................................................................................. 120  
Maintaining the exception table...................................................................................................................... 121  
User data storage.......................................................................................................................... 121  
Write to user data storage .................................................................................................................................. 121  
Read from user data storage ............................................................................................................................. 122  
Read from non-volatile memory...................................................................................................................... 122  
Write to non-volatile memory (NVRAM)........................................................................................................ 122  
Select memory type (SRAM/flash)................................................................................................................... 122  
Flash memory user sectors allocation............................................................................................................ 123  
Expanded flash memory allocation ................................................................................................................ 123  
Select flash area for storing logos and user-defined characters .......................................................... 124  
Erase user flash sector.......................................................................................................................................... 124  
User storage status (ColorPOS®)........................................................................................................................ 125  
Flash download............................................................................................................................. 126  
Switch to flash download mode ...................................................................................................................... 126  
Return boot sector firmware part number................................................................................................... 127  
Return segment number status of flash memory...................................................................................... 127  
Select flash memory sector to download..................................................................................................... 127  
Get firmware CRC................................................................................................................................................... 127  
Return microprocessor CRC............................................................................................................................... 127  
Erase all flash contents except boot sector.................................................................................................. 128  
Return main program flash CRC....................................................................................................................... 128  
Erase selected flash sector.................................................................................................................................. 128  
Download to active flash sector....................................................................................................................... 128  
Reset firmware........................................................................................................................................................ 129  
Ethernet setup commands........................................................................................................... 129  
Restore default settings....................................................................................................................................... 129  
Set IP address .......................................................................................................................................................... 129  
Set Net Mask............................................................................................................................................................ 129  
Set Gateway............................................................................................................................................................. 130  
Set raw TCPIP port 9001 ...................................................................................................................................... 130  
LP Daemon............................................................................................................................................................... 130  
Telnet Daemon ....................................................................................................................................................... 130  
BootP.......................................................................................................................................................................... 130  
DHCP (auto-configuration) ................................................................................................................................ 131  
Inactivity timeout .................................................................................................................................................. 131  
Keep-alive pings..................................................................................................................................................... 131  
Imaging Commands............................................................................................................................. 132  
Calibrate Scanner ......................................................................................................................... 132  
Configure/Change Image Transmission Port.............................................................................. 133  
Set Top Entry Startup Delay......................................................................................................... 133  
Set Image Format Properties....................................................................................................... 133  
Configure Binarization Methods and Attributes........................................................................ 134  
Define/Update Application Tag Values ....................................................................................... 135  
Attach Scan Application Tags ...................................................................................................... 136  
Return Imager Status ................................................................................................................... 136  
Real-Time Imager Status .............................................................................................................. 137  
Real-Time Error Status.................................................................................................................. 138  
Real-Time Cancel Image Transmission ........................................................................................ 138  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
viii  
Contents  
Wait for Scan & Optionally Transmit ........................................................................................... 138  
Transmit Image ............................................................................................................................. 140  
Eject from Scanner........................................................................................................................ 142  
Free Image..................................................................................................................................... 143  
Free Imager Buffering .................................................................................................................. 143  
Get Buffered Image List................................................................................................................ 143  
Get Buffered Image Attributes .................................................................................................... 143  
Configure Scan Options ............................................................................................................... 144  
Configure Max Scan Width & Height ........................................................................................... 144  
Transmit Printer Type (Extended Existing Command)............................................................... 144  
Chapter 6: DH emulation for B780 ................................................................................................................... 145  
List of DH 4700 Emulation Commands............................................................................................... 145  
List of DH 4700 Command Descriptions ............................................................................................ 147  
Printer Function Commands........................................................................................................ 147  
End of Text................................................................................................................................................................ 147  
Line Feed................................................................................................................................................................... 147  
Vertical Tab............................................................................................................................................................... 147  
Carriage Return ...................................................................................................................................................... 147  
Setup Parameters .................................................................................................................................................. 147  
Reset Printer ............................................................................................................................................................ 148  
Cash Drawer 1......................................................................................................................................................... 148  
Cash Drawer 2......................................................................................................................................................... 148  
Document Clamp Open ...................................................................................................................................... 148  
Self Test...................................................................................................................................................................... 148  
Document Validation ........................................................................................................................................... 148  
Receipt/Journal Print............................................................................................................................................ 148  
Document Clamp Close ...................................................................................................................................... 149  
Form Eject................................................................................................................................................................. 149  
Download................................................................................................................................................................. 149  
Form In....................................................................................................................................................................... 149  
Select.......................................................................................................................................................................... 149  
Either Form-In Sensor........................................................................................................................................... 149  
Both Form-In Sensors........................................................................................................................................... 149  
Busy Until Buffer Empty....................................................................................................................................... 149  
Clamp Delay ............................................................................................................................................................ 149  
Print Speed............................................................................................................................................................... 150  
Buffered Validate.................................................................................................................................................... 150  
Buffer Clear............................................................................................................................................................... 150  
Repeat Character ................................................................................................................................................... 150  
Print Characteristics Commands...................................................................................................................... 150  
Double-Wide Font................................................................................................................................................. 150  
Double-Wide Off.................................................................................................................................................... 150  
Character Set........................................................................................................................................................... 151  
Underline Print........................................................................................................................................................ 152  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Contents  
ix  
Underline Off........................................................................................................................................................... 152  
Double-High Off .................................................................................................................................................... 152  
Double-High Font.................................................................................................................................................. 152  
Pitch Selection ........................................................................................................................................................ 152  
Upside-Down Off................................................................................................................................................... 152  
Upside-Down Print................................................................................................................................................ 152  
Graphics Commands..................................................................................................................... 153  
Graphics .................................................................................................................................................................... 153  
Graphics: 5 Dot ....................................................................................................................................................... 153  
Printer Status Commands................................................................................................................................... 154  
Appendix A: Commands listed by hexadecimal code...................................................................................... 156  
Appendix B: Resident Character Sets ............................................................................................................... 162  
Code Page 437 (US)....................................................................................................................... 162  
Code page 737 (Greek) ................................................................................................................. 163  
Code page 850 (Multilingual) ...................................................................................................... 164  
Code Page 852 (Slavic) ................................................................................................................. 165  
Code Page 857 (Turkish)............................................................................................................... 166  
Code page 858 (with Eurosymbol) .............................................................................................. 167  
Code page 860 (Portugese).......................................................................................................... 168  
Code page 862 (Hebrew) ............................................................................................................. 169  
Code page 863 (French Canadian)............................................................................................... 170  
Code page 865 (Nordic)................................................................................................................ 171  
Code page 866 (Cyrillic)................................................................................................................ 172  
Code page 1252 (Windows Latin 1)............................................................................................. 173  
Appendix C: Electronic Journal ......................................................................................................................... 175  
Electronic Journal Storage .................................................................................................................. 175  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
x
Contents  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 1: About this Guide  
1
Chapter 1: About this Guide  
How to use this Guide  
This guide provides programming information on CognitiveTPG’s A776 (and B780) printer. It is written for tech-savvy  
users who are interested in customizing or adjusting printer functionality and is meant to be used with the A776/B780  
ColorPOS® Two-Color Thermal Receipt/Impact Hybrid Printer User Guide.  
If you experience any difficulties during the programming process or feel unsure of adjustments you have made,  
contact your CognitiveTPG representative for further assistance.  
Where to find the basics  
If you are looking for information on setup or basic operation, refer to the A776 (or B780) ColorPOS® User Guide. This  
guide assumes that you have the A776/B780 ColorPOS® User Guide handy for reference or are already familiar with  
the printer.  
Where to find advanced technical information  
This guide contains the most complete information available on programming the printer. If you cannot find what you  
need here or would like further guidance on how to program the printer, contact an CognitiveTPG representative for  
assistance.  
If you are having problems with the physical operation of the printer the A776 /B780 ColorPOS® Service Guide  
provides in-depth information on diagnostics and service. The A776/B780 ColorPOS® Service Guide is available to  
qualified service technicians who have been certified by CognitiveTPG to perform advanced procedures.  
Support  
For more advanced procedures and troubleshooting, you may need to refer to the printer’s service guide or speak to a  
CognitiveTPG technical professional. Your representative is able to provide you with necessary information.  
For on-line service, refer to the Web site at www.CognitiveTPG.com or e-mail to: [email protected].  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
2
Chapter 1: About this Guide  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 2: Printer Status, Ethernet and Indicators  
3
Chapter 2: Printer Status and Indicators  
The A776/B780 printer performs a number of diagnostics that provide useful information about the operating status of  
the printer. The following diagnostic tests are available.  
Startup diagnostics, performed during startup cycle.  
Communication interfaces (except Ethernet)  
Diagnostic modes  
Runtime diagnostics, performed during normal  
printer operation.  
RS-232C settings  
Remote diagnostics, run during normal operation and  
reported in the print test.  
Printer emulations/software options  
Hardware options  
The printer can be configured with the following settings  
and functions through the configuration menu that is  
printed on the receipt. To learn more see the section  
called “Configuring the Printerin the A776/B780 User  
Guide, page 26.  
Runtime diagnostics  
Runtime diagnostics (sometimes called level 2  
diagnostics) run during normal printer operation. When  
the following conditions occur, the printer automatically  
turns off the appropriate motors and disables printing to  
prevent damage to the printer:  
Startup Diagnostics  
When the printer receives power or performs a hardware  
reset, it automatically performs the startup diagnostics  
(also known as level 0 diagnostics) during the startup  
cycle. The following diagnostics are performed:  
Paper out  
Receipt cover open  
Knife unable to home  
Printhead too hot  
Voltages out of range  
Turn off motors and solenoids  
Perform boot CRC check of the firmware ROM, test  
external SRAM, test EEPROM, and test main program  
CRC  
The light on the operator panel will signal when these  
conditions occur as well as indicate what state or mode  
the printer is in.  
Failure causes Startup Diagnostics to stop; the  
printer beeps and the light flashes a set number of  
times, indicating the nature of the failure. The table  
in the “Indicatorssection (page 16) describes the  
specific tone and light sequences.  
Remote diagnostics  
Remote diagnostics (sometimes called level 3  
diagnostics) keeps track of the following tallies and  
prints them on the receipt during the print test. See the  
sample test printout on the next page. These tallies can  
be used to determine the printer’s state of health.  
Check if paper is present  
Return the knife to the home position  
Failure causes a fault condition. The table in the  
“Indicatorssection (page 16) describes the specific  
tone and light sequences.  
Model number  
Serial number  
Check if receipt cover is closed  
CRC number  
Failure does not interrupt the startup cycle.  
Number of lines printed  
Number of knife cuts  
When the startup diagnostics are complete, the printer  
makes a two-tone beep (low then high frequency), the  
paper feed button is enabled, and the printer is ready for  
normal operation.  
Number of hours the printer has been on  
Number of flash cycles  
Number of cutter jams  
Number of times the cover is opened  
Maximum temperature reached  
If the printer has not been turned on before, or a new  
EEPROM has been installed, the default values for the  
printer functions will be loaded into the EEPROM  
during startup diagnostics.  
(See tallies note on the following page.)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
4
Chapter 2: Printer Status, Ethernet and Indicators  
For more information about  
See this section  
Accessing the remote diagnostic tallies  
“Command descriptions” in Chapter 5: Programming commands  
(Status commands: Transmit printer ID, remote diagnostics extension,  
Hexadecimal 1D 49 40 n)  
Ethernet terms and default setup  
For the printer to operate with Ethernet, a series of commands must be set within the printer. These commands can  
only be set through the host computer and are not configurable through the printer configuration menu. See page 30  
for the Ethernet setup commands list and page 113 for command descriptions.  
Default setup instructions and sample Ethernet diagnostic printout are on the following page. Note the differences  
between an Ethernet and a standard RS-232C printout.  
Ethernet Terminology  
MAC address  
a unique hexadecimal serial number assigned to each Ethernet network device to identify it on the  
network. Each communication board has a unique number from CognitiveTPG’s assigned range of  
numbers. CognitiveTPG numbers start with: 00:E0:70.  
IP address  
a unique number that identifies each node on a network and to specify routing information. Each  
node must be assigned a unique IP address. The address is made up of two distinct parts: a network  
ID, which identifies the network; and a host ID, which is typically assigned by the administrator.  
These addresses are typically represented in dotted-decimal notation, such as 138.58.11.27. The  
default setting is: 192.0.0.192  
Net mask  
a series of bits designed to “maskcertain portions of an IP address and is used primarily for  
subnetting. The standard netmask for a Class C network is 255.255.255.0, with the last octet (.0)  
directing the host to look there for the machine number. The rest (225) is the network number. The  
default setting is 0.0.0.0. This will use the standard mask of the selected IP’s class.  
Gateway  
a hardware or software set-up that translates between two dissimilar protocols. A gateway, even  
when the printer is on another subnet, is not always needed. The printer initiates no connection and  
obtains the gateway address from the host packets. The default setting is 0.0.0.0 (none)  
LP Daemon  
an Ethernet protocol. The LP Daemon listens on port 515. Default is LP Daemon disabled.  
Telnet Daemon a protocol for remote computing on the Internet. It allows a computer to act as a remote terminal  
on another machine, anywhere on the Internet. This means that when you telnet to a particular host  
and port, the remote computer (which must have a telnet server) accepts input directly from your  
computer (which must have a telnet client) and output for your session is directed to your screen.  
The telnet server listens on port 23. The default setting is enabled.  
Raw TCP/IP Port enables the printer to listen for raw tcpip communications. Specifying this to zero will disable raw  
tcpip connections. Default value is 9001 enabled.  
BootP  
DHCP  
a TCP/IP network protocol that lets network nodes request configuration information from a BOOTP  
“servernode. Use BootP to obtain the IP address at power-up. Default setting is disabled.  
allows “leasingof IP address for a limited time. If no IP address is found at start-up, the printer waits  
for two more minutes. If no address is found after two minutes DHCP will automatically set the  
default IP address. Default setting is enabled.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 2: Printer Status, Ethernet and Indicators  
5
Ethernet Default Setup  
To return the printer to the default settings, put the printer in the boot mode and hold down the feed switch until you  
hear the high-low-high tones (about 10 seconds). The default settings are:  
Bootp Disabled  
DHCP Enabled  
Default IP 192.0.0.192  
Net mask of 0.0.0.0  
LP Daemon disabled  
Telnet Daemon enabled  
Raw TCPIP Port 9001 active  
(in use after 2 minute Bootp timeout)  
(causes default mask of selected IP to be used)  
Whenever the printer is attempting to locate its IP address via Bootp or DHCP, or has the default IP address in use, the  
IP address can be set by pinging the printer. Do this by using the arp command to set a static MAC to IP mapping on  
your host. Then ping the printer by using the ping command. This will set the IP address to the address used in the  
ping command and stored for future use. The printer can also be configured by letting the Bootp timeout using the  
default IP address (using the default IP address) when the printer is connected to a host on an isolated network. Setup  
commands can then be sent to the printer via TCPIP port 9001. Refer to the “Ethernet setup commands.”  
The diagram below is a diagnostic printout of an Ethernet printer, with Ethernet settings highlighted. These settings  
can not be changed through the configuration menu and must be set by sending commands from the host.  
ꢀꢀꢀꢁꢂꢃꢃꢄꢁꢅꢁꢆꢃꢇ ꢁꢈꢁꢉꢊꢋꢌꢍꢎꢏꢐꢊꢑꢏꢁꢒꢎꢓꢔꢁꢀꢀꢀ  
ꢕꢎꢖꢗꢘꢁꢍꢙꢔꢚꢗꢓꢁ  
ꢝꢗꢓꢊꢋꢘꢁꢍꢙꢔꢚꢗꢓꢁ  
ꢛꢁ ꢂꢃꢃꢄꢜ  
ꢛꢁ  
ꢆꢎꢎꢐꢁꢒꢊꢓꢔ ꢋꢓꢗ  
!  "ꢊ     
' !'ꢁ   
ꢁ# $%  
ꢁ$  
ꢁ$ ꢇ+ꢜ  ,-ꢄꢂ  
&
(
)  *   
ꢒꢘꢋꢏ.ꢁꢒꢊꢓꢔ ꢋꢓꢗ  
!  "ꢊ     
' !'ꢁ   
ꢁ# $%  
ꢁꢂ ꢉ''  
ꢁ$ ꢇ+ꢜ  ,-ꢇꢂ  
/
)  *   
0ꢅ1ꢁ2ꢋꢓꢋꢔꢗꢐꢗꢓꢏ  
  .    3  4   
  . 5ꢌꢎꢏꢅ ꢍꢐ    
  . 7 ꢗꢓ   ꢗꢁ   
  . 8ꢙꢓ   4   
 !  4   
ꢁ,   3ꢐ   
ꢁ$ ,-ꢁ 6 3   
ꢁꢄ -ꢁ 63   
ꢁꢄ -ꢁ 63   
ꢁ& $,ꢁ 6 3   
ꢁꢉ  
0  ꢋꢖꢁ   ꢌꢁ   
) 2ꢗꢓ 932ꢗꢁ   ꢌꢁ   
'     ꢍꢏꢊ 3 ;   
)    ꢍꢏꢊ 3 < ꢍꢎ= ꢁꢛ  
  ?ꢁ 2ꢗꢖꢁ   
  ?ꢁ )     
) 2ꢗꢓ 5  ꢏꢎꢓ ꢁꢛ  
 @ '!ꢁ   
 @ '!ꢁ  ꢄꢆ )ꢋꢋꢁ   
 @ '!ꢁ 'ꢁ A A    
' . ꢇꢐ6ꢁ  2   
ꢁ9 32ꢗꢁ :  ꢍꢎꢑ.ꢓ ꢔꢗ  
ꢁꢍ    
ꢁ$  
ꢁ$  
>
 ꢔꢅ    
ꢁ& &ꢁ 1  
ꢁ( ꢚꢘ   
ꢁ( ꢅꢆ   
ꢁꢉ  ꢅꢆ   
ꢁꢏ  
ꢁꢉ  ꢅꢆ   
  2 *       ꢁꢂ  
'  2  ꢇꢋ ꢇꢈꢁ    ꢁꢂ  
ꢉ.  $/  
'.  $,  
'ꢍꢔꢔ%ꢁ@ꢃꢎꢇꢓAꢄꢐꢇ  
! Bꢁ A A  4   
ꢁ- +ꢙ  
ꢁ$  9  
@
ꢃꢎ ꢇꢓ A 32    
)  ꢔꢇ  ꢇꢓ   
@
*
C
5
9
!
@
 'ꢁ  ꢋꢁ   
)ꢁ  ꢋꢁ   
   ꢋ6ꢁ   
    3   
)ꢁ      
ꢇꢆ ꢇꢎ ꢁꢂ  
   9') @ ) ) ꢎꢁꢂ  
 )   
0')ꢁ   
ꢐꢎ " 3 9  ꢊꢎ ꢁꢂ  
2ꢁ  " ) ꢋꢁ   
 (     /& '  
ꢁ$ % $% ,% $&  
ꢁꢉ  ꢅꢆ   
ꢁ( ꢅꢆ   
ꢁ+  
ꢁꢉ  ꢅꢆ   
ꢁ( ꢅꢆ   
ꢁ( ꢅꢆ   
ꢁꢉ  ꢅꢆ   
%
%
%
%
%
%
$
D
!ꢇꢋꢌꢈꢇꢃꢎꢁ'ꢍꢈꢇꢁ)ꢄꢖꢇꢋꢁ  
$
ꢂꢁ -/ꢚ:ꢁꢏ& :ꢁꢏ&,%ꢁꢏ&ꢏ  
: /: &:   
,&,: ,: /  
5ꢍꢖꢍ<ꢋ=ꢁꢈꢇAꢌꢃꢇꢈꢁ  
7ꢋꢇꢓꢁ'.ꢄꢓ<ꢋ=ꢁꢈꢇAꢌꢃꢇꢈꢁ  
8ꢍꢊꢓꢃꢄꢆꢁ7ꢃꢊꢋꢇꢈꢁ  
ꢂꢁ *E  
ꢂꢁ *E  
ꢂꢁ ꢙ-ꢁ6ꢅ3ꢎꢇꢋ  
9ꢍꢁꢇꢃꢎꢇꢓꢁ)ꢓꢌꢃꢎꢇꢓꢁ'ꢍꢃAꢌꢖꢁꢀꢇꢃꢊꢁ   
$
,
=  2 @ )  ꢌ . F$    
= !  ꢁꢎ. 2   : .   .    
. )2ꢇꢓ ꢇꢈꢁ      
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
6
Chapter 2: Printer Status, Ethernet and Indicators  
Indicators  
The printer communicates various conditions both visually, with two green lights or audibly,  
with a series of tones or beeps. The following table lists these indicators.  
Green on-line, paper status,error light (to the rear of the paper feed button)  
Indicator  
Sequence  
Condition  
Light  
Continuous, flashing quickly  
Paper out  
Cover open  
Knife unable to home  
Light  
Continuous, flashing slowly  
Paper is low  
(if paper low sensor is installed)  
Printhead too hot  
Voltages out of range  
Tone  
Two-tone beep  
Single beep  
Double beep  
Triple beep  
Startup diagnostics completed successfully  
Boot CRC test failure  
Repeating Tone  
Repeating Tone  
Repeating Tone  
Repeating Tone  
SRAM test failure  
EEPROM test failure  
Four beeps  
Dynamic memory initialization failure  
Light  
and Tone  
Two-Tone beep  
Main program CRC test failure  
Or  
Continuous flashing of light  
DIP switch is in on position indicating  
flash download mode  
Green slip-in light (in front of the paper feed button)  
Indicator  
Sequence  
Condition  
Light  
Off  
No check or form inserted or are incorrectly inserted  
Check or form properly inserted  
Light  
On (continuous)  
For more information about See this section  
Error conditions and  
correcting them  
Troubleshooting  
Chapter 5 of the User Guide  
The printer is also able to communicate its status to the host application if the application has been programmed to  
receive this information.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
7
Chapter 3: Migrating to A776 and B780  
Migrating from existing CognitiveTPG printers  
The A776 printer is the fourth generation two station hybrid thermal/impact printer with feature enhancements  
designed to provide the most desirable options to the customer. This section is provided for those customers who  
would like to migrate from their existing CognitiveTPG printers to the A776 printer, while maintaining as much  
continuity as possible in the new application. This includes migration from the A756, A758 and the A760 printers.  
Several commands exist to support such a migration. The primary differences are described below:  
A756 to A776:  
A756: 6 dots/mm thermal printhead  
A756: wide slip station (66 columns)  
A756: no top validation of forms  
A756: monochromatic printing  
A776: 8 dots/mm printhead  
A776: narrow (42 columns) slip station  
A776: top validation of forms  
A776: two-color printing  
A758 to A776:  
A758: wide slip station (66 columns)  
A758: no top validation of forms  
A758: monochromatic printing  
A776: narrow (42 columns) slip station  
A776: top validation of forms  
A776: two-color printing  
A760 to A776:  
A721 to B780  
A760: wide slip station (66 columns)  
A760: no top validation of forms  
A776: narrow (42 columns) slip station  
A776: top validation of forms  
A721: monochrome printing  
A721: journal printing  
A721: impact receipt  
B780: two color printing  
B780: electronic journal  
B780: thermal receipt  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
8
Chapter 3: Migrating to a new printer  
Moving from the A756 to the A776 (Thermal printhead differences)  
The following table details the list of commands whose behavior differs between the A756 printer and the A758, A760,  
and A776 printers. This is due to the physical differences of the 6 dots/mm head in the A756 and the 8 dots/mm head  
in the A758, A760 and A776.  
Command  
Description  
Difference between the A756  
and the A776.  
15 n  
Feed n dot rows  
This command will move the paper on the receipt in  
n/203 inch steps instead of n/152 inch steps.  
16 n  
Add n extra dot rows  
Set right-side character spacing  
The dot rows will be measured in n/203 inches versus  
n/152 inches.  
1B 20 n  
This command sets the right side spacing to “nhorizontal  
motion units. By default, these units are in terms of 1/203  
inches versus 1/152 inches.  
1B 24 n1 n2  
Set absolute starting position  
For graphics commands, the position is scaled to best  
match A756. In text mode, the equivalent character  
position is calculated.  
1B 26 s c1 c2 n1 d1...nn dn  
Define user-defined character set Since the dots on the A776 printhead are smaller, user  
defined characters that were used on the A756 printers  
will appear smaller on the A776 printer.  
1B 2A m n1 n2 d1...dn  
1B 33 n  
Select bit image mode  
Set line spacing  
In A756 emulation mode, graphics are scaled to best  
match the size of the graphic in the A756 printer.  
This command uses n in terms of n/360 inches. Since the  
A756 had a fundamental step of 1/152 inch and the A776  
has a fundamental step of 1/203 inch, the actual line  
spacing will not exactly match the requested spacing.  
1B 4A n  
Print and feed paper  
This command uses n in terms of n/360 inches. Since the  
A756 had a fundamental step of 1/152 inch and the A776  
has a fundamental step of 1/203 inch, the actual line  
spacing will not exactly match the requested spacing.  
1B 59 n1 n2 d1...dn  
1B 5C n1 n2  
Select double-density graphics  
Set relative print position  
In A756 emulation mode, the printer scales the graphics  
to provide the best match.  
The parameter to this command is in units of dots.  
However, the command moves and aligns to character  
positions. In A756 emulation mode, this command  
calculates how many character positions to move  
based on the A756 character width in dots (10)  
versus the A776 (13).  
1B 61 n  
Select justification  
This command does true dot resolution alignment for  
centering versus character-aligned centering.  
1D 2A n1 n2 d1...dn  
Define downloaded bit image  
In A756 emulation mode, this command scales the  
incoming data to provide a best match to the size of  
the image as it printed on A756.  
1D 2F m  
Print downloaded bit image  
In A756 emulation mode, this command scales the  
incoming data to provide a best match to the size of  
the image as it printed on A756.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
9
Moving from the A756 to the A776 (Emulation commands)  
These commands are handled differently when the A776 is in A756 emulation mode.  
1B 47  
enable double strike (the difference is no parameter byte req’d)  
disable double strike  
1B 48  
1B 4C...  
double density graphics command sequence  
Moving from the A756, A758, or A760 to the A776 (Slip differences)  
The impact station print zone on the A760 is 4.7 inches wide and the print zone on the A776 is 3.0 inches. To compensate for  
the narrower print zone on the A776 the firmware will provide the following functionality:  
1. For applications that currently use narrow forms with 42 or fewer columns, an option is provided to delete x leading  
spaces. No application or form changes should be required.  
2. For applications that use narrow forms with 51 or fewer columns, an option is provided to default to compressed  
mode. No application or form changes should be required.  
3. For applications using wide forms that print on less than 51 columns, options 1 and 2 above are combined with the  
option to delete trailing spaces. There should be no changes required to the application but a new form will be  
required.  
4. For applications using wide forms that print on more than 51 columns, the data will wrap to the next line. If you  
don’t want data to wrap you will need to change the application and the form.  
A756, A758, A760  
A776  
Impact Station Print Zone  
Characters/row – Normal Mode  
Characters/row – Compressed Mode  
4.7 inches  
66  
80  
3 inches  
42  
51  
See Chapter 4: Programming the Printer for more details about the slip print zones.  
Some commands have new functions for the slip and can be configured to be enabled or disabled on the slip. Existing  
applications that use these functions on the receipt but not on the slip may need to be disabled manually for the slip. The  
default is disabled for the slip.  
1B 21 10  
1B 20 n  
double high slip character print  
slip character right side spacing  
set minimum units for the slip station  
set left margin on the slip station  
1D 50 XY  
1D 4C nL nH  
1D 57 nL nH  
1B 61 n  
set print width on the slip station  
print justification on the slip station  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
10  
Chapter 3: Migrating to a new printer  
A776 Emulation Commands  
Set Printer ID Mode  
Code (Hexadecimal)  
1F 03 0C n  
This command is ignored.  
Set A776 Printer ID  
Code (Hexadecimal)  
1F 03 25 0F n  
This command sets the printer ID response to the Printer ID command (1D 49 01)  
n
Printer ID  
A776  
A760  
A758  
A756  
00  
01  
02  
03  
Set A776 Printer Emulation  
Code (Hexadecimal)  
1F 03 25 02 n  
n
00  
01  
Emulation  
Native  
A756 limited emulation (See list of comments earlier in this chapter)  
A776 Configuration Commands  
Select Slip Lines per Inch  
Code (Hexadecimal)  
1F 03 25 04 n  
This command sets the slip station lines per inch setting.  
n
00  
01  
Line spacing  
7.2 LPI  
6.0 LPI  
Select Number of Lines of Validation  
Code (Hexadecimal)  
1F 03 25 06 n  
This command sets the number of lines of validation that can be printed.  
n
00  
Number of validation lines  
15  
01-04  
05-0F  
4 (default)  
actual number (5 - 15 decimal)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
11  
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces  
Code (Hexadecimal)  
1F 03 25 08 n  
This command is available so A760 applications can ignore n leading spaces in a 42-column line of text.  
Range of n  
0x00 < n < 0x20 hexadecimal  
0 < n < 3 2 decimal  
n = 24 decimal is equivalent to printing the rightmost 42 columns of the A760 printzone (24 + 42 = 66).  
The first non-space in columns 1-n will stop ignoring leading spaces.  
Text over 42 columns will wrap to the next line.  
Tab (0x09), set column (0x1B 0x14 n), set absolute position (0x1b 0x24 nL nH), and set relative position (0x1B 0x5C  
nL nH) commands are handled within the range of ignored leading spaces.  
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces  
Code (Hexadecimal)  
1F 03 25 09 n  
This command is available so A760 applications can ignore n leading spaces in a 51-column line of compressed text.  
Range of n  
0x00 < n < 0x20 hexadecimal  
0 < n < 32 decimal  
n = 29 decimal is equivalent to printing the rightmost 51 compressed columns of the A760 printzone (29 + 51 =  
80).  
The first non-space in columns 1-n will stop ignoring leading spaces.  
Text over 51 columns will wrap to the next line.  
Tab (0x09), set column (0x1B 0x14 n), set absolute position (0x1b 0x24 nL nH), and set relative position (0x1B 0x5C  
nL nH) commands are handled within the range of ignored leading spaces.  
Select A776 Narrow Slip 51-column Compressed Print Option  
Code (Hexadecimal)  
1F 03 25 0A n  
When enabled, all normal text is printed in 51-column compressed print.  
This accommodates existing applications printing up to 51 columns on the slip station.  
The format will not match the A756/A758/A760 exactly.  
This will not affect rotated print mode (see below).  
n
00  
01  
51-column compressed print option  
Disable (default)  
Enable  
Select A776 Delete Slip Trailing Spaces Option  
Code (Hexadecimal)  
1F 03 25 0B n  
When enabled, all trailing spaces on the slip will be deleted.  
This accommodates existing applications that send trailing spaces to the slip by not wrapping the blank text to  
the next line.  
The format will match the A756/A758/A760 exactly, but a narrower form will be required.  
This command will not work for an application that relies on wrapping text to print a line. A print command is  
required.  
n
00  
Delete slip trailing spaces option  
Disable (default)  
01  
Enable  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
12  
Chapter 3: Migrating to a new printer  
Select A776 (21 and 25-line) Rotated Slip Print Options  
Code (Hexadecimal)  
1F 03 25 0C n  
21-line rotated text print accommodates existing applications, which print 21 or fewer rotated lines (as read).  
The format will match the A756/A758/A760 exactly.  
25-line rotated text print accommodates existing applications, which print between 22 and 25 rotated lines (as  
read). The format will not match the A756/A758/A760 exactly.  
An A756/A758/A760 can print up to 33 rotated lines (as read), so those printing 26 or higher rotated lines, cannot  
be emulated on the A776 printer.  
n
00  
01  
Rotated Print Options  
21-line (default)  
25-line  
Select A776 First Line of Print Option in Text and Page Mode  
Code (Hexadecimal)  
1F 03 25 0D n  
The A760/A758/A756 mechanism has a positive slip stop for positioning a form at its top right corner. Some  
applications rely on a form inserted to this slip stop in order to print on specific areas of the form. When  
the top right corner of the form is positioned at the slip stop, the first print line is 0.7below the top of form.  
Some applications rely on the operator manually positioning a form in order to print on specific areas of the  
form. The A760/A758/A756 firmware does not automatically reposition an inserted form.  
The A776 slip stop override option does not reposition an inserted form.  
The A776 slip stop distance option is triggered at the slip selection command (0x1B 0x63 0x30 0x04) and  
positions an inserted form prior to print so that the first line of print will match an A760/A758/A756.  
New configuration option to position to top of form implemented in October 2006.  
There is a temporary run time command to override this configuration option:  
1F 7E 01 00  
1F 7E 01 01  
1F 7E 01 02  
operator positioning for first print line  
position form to A760 slip stop distance for first print line  
position form to top of form for first print line  
n
First Line of Text  
Operator position  
A760 Slip stop  
Top of form  
Beginning of Page Mode Print  
Top of form  
00  
01  
02  
03  
Top of form  
Top of form  
A760 Slip stop  
(default)  
A760 Slip stop  
Select Cover Open Option  
Code (Hexadecimal)  
1F 03 25 11 n  
When the cassette cover open option is enabled and the operator opens the cassette cover, the printer will  
stop printing and enter an error state.  
When the option is disabled, the printer will ignore the state of the cassette cover.  
n
00  
Cassette Cover Option  
Disabled  
01  
Enabled (default)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
13  
Set Page Mode Margin Mechanical Adjustment  
Code (Hexadecimal)  
1F 03 25 16 n  
·
This command applies to both the A776 and the B780, although it is primarily implemented for B780 printers  
replacing existing A721 printers to match cashier check printing.  
Default is 0.  
Value is printed on the second diagnostic page.  
Ranges for margin configurations:  
·
·
·
Margin Setting  
Maximum mechanical adjustment  
30 half dots  
56 half dots  
.5”  
.3”  
.1”  
84 half dots  
·
Mechanical adjustment does not apply when page size is defined to be greater than the default of 200 full  
dots wide.  
Select A776 Slip Eject Option  
Code (Hexadecimal)  
1F 03 25 17 n  
n
00  
01  
Slip Eject  
disabled  
enabled (default)  
.
·
When enabled, the A776 will eject slip and validation transactions out the top of the printer, like the B780. The  
slip LED will blink to remove the form, also like the B780.  
Option can be disabled for applications that rely on the A760/A758/A756 slip eject out the bottom front  
position.  
Select 45/60 Column Slip Option  
Code (Hexadecimal)  
1F 03 25 18 n  
n
00  
01  
45/60 Column Slip Option  
disabled (default)  
enabled  
Set Page Mode Option to Trim Full Dots  
Code (Hexadecimal)  
1F 03 2F n  
n < 128 # of full dots trimmed from right side  
n = 255 compress to fit in 3.024”  
.
This command applies to both the A776 and the B780, although it is primarily implemented for applications  
specifying a page size greater than 242 full dots wide.  
Default is no trim.  
Maximum width that can be compressed to fit in 3.024is 270 full dots.  
Value is printed on second diagnostic page.  
·
·
·
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
14  
Chapter 3: Migrating to a new printer  
A776 Configurable Slip Commands  
A776 Double High Slip Character Print  
Code (Hexadecimal)  
Command  
1F 03 26 01 n  
Enables or disables the 1B 21 10 command  
n
00  
01  
Double high slip character print command (1B 21 10)  
Disabled  
Enabled  
A776 Slip Character Spacing  
Code (Hexadecimal)  
Command  
1F 03 26 02 n  
Enables or disables the 1B 20 n command  
n
00  
01  
Slip character right side spacing command (1B 20 n)  
Disabled  
Enabled  
A776 Slip Minimum Units  
Code (Hexadecimal)  
Command  
1F 03 26 03 n  
Enables or disables the 1D 50 x y command  
n
00  
01  
Set minimum units for the slip station command (1D 50 x y)  
Disabled  
Enabled  
A776 Slip Left Margin and Print Width  
Code (Hexadecimal)  
Command  
1F 03 26 04 n  
Enables or disables the 1D 4C nL nH and 1D 57 nL nH commands  
n
00  
01  
Set left margin(1D 4C nL nH) and print width(1D 57 nL nH) on the slip station commands  
Disabled  
Enabled  
A776 Slip Print Justification  
Code (Hexadecimal)  
Command  
1F 03 26 05 n  
Enables or disables the 1B 61 n command  
n
00  
01  
Print justification on the slip station command(1B 61 n)  
Disabled  
Enabled  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
15  
Moving from A756/A758 to A776  
Two-color Commands  
The following table details the list of commands related to two-color printing and ColorPOS® functionality that was not  
available on the A756 or the A758.  
CognitiveTPG ColorPOS® two-color and color interpreted commands  
Hexadecimal  
1B 72 m  
ASCII  
Description  
Page  
41  
68  
69  
69  
61  
42  
70  
70  
70  
62  
71  
71  
72  
72  
72  
63  
ESC r m  
Set current color  
1D 23 n  
GS # n  
Select current logo  
1D 2A n1 n2 d1 . . . dm  
1D 2F m  
GS * n1 n2 d1 – dm  
GS / m  
Define downloaded bit image  
Print downloaded bit image  
1D 42 n  
GS B n  
Select or cancel white/black reverse print mode  
Set paper type (ColorPOS®)  
1D 81 m n  
GS 0x81 m n  
GS 0x82 n1–n72/n80  
GS 0x83 n1–n144/n160  
GS 0x84 n m n1 n2 d1 dx  
GS 0x85 m n  
GS 0x86 m  
1D 82 n1. . . n72/n80  
1D 83 n1. . . n144/n160  
1D 84 m n n1 n2 d1 dx  
1D 85 m n  
Print raster monochrome graphics (ColorPOS®)  
Print raster color graphics (ColorPOS®)  
Download logo image (ColorPOS®)  
Reverse color text mode (ColorPOS®)  
Monochrome shade mode (ColorPOS®)  
Color shade mode (ColorPOS®)  
Logo print with color plane swap (ColorPOS®)  
Apply shading to logo (ColorPOS®)  
Merge watermark mode (ColorPOS®)  
Text strike-through mode (ColorPOS®)  
1D 86 m  
1D 87 m  
GS 0x87 m  
1D 89 n m  
GS 0x89 n m  
GS 0x8B n m o  
GS 0x8C n m  
GS 0x8D n m  
GS 0x8A m x y o p q  
GS 0x91 n  
1D 8B n m o  
1D 8C n m  
1D 8D n m  
1D 90 m x y o p q  
1D 91 n  
Form and merge real-time surround graphic (ColorPOS®) 73  
Save graphics buffer as logo (ColorPOS®)  
Background logo print mode (ColorPOS®)  
User storage status (ColorPOS®)  
74  
74  
1D 92 n  
GS 0x92 n  
1D 97 m n  
GS 0x87 m n  
GS 0x9B l n m o  
GS 0x9A n m o  
1D GS  
125  
75  
1D 99 l n m o  
1D 9A n m o  
1D 9B m n  
Apply margin message mode (ColorPOS®)  
Shade and store logo (ColorPOS®)  
75  
Logo print with knife cut  
76  
1D A0 n  
GS 0xA0  
Set temporary maximum target speed  
Set interpretation of “Set current colorcommand  
76  
1F 03 16 05 n  
US ETX SYN ENQ n  
43  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
16  
Chapter 3: Migrating to a new printer  
LogoEZ® colorization commands  
Hexadecimal  
1F 03 16 f s p/r t  
1F 03 17 a m s  
ASCII  
Discription  
Page  
77  
US ETX SYN f s p/r t  
US ETX ETB a m s  
Set colorization  
Set attribute mapping  
79  
Note: The new CognitiveTPG LogoEZ® colorization utility provides you a fast and easy way do get basic two-color and logos  
on your receipt without having to enter commands. Check out the CognitiveTPG Web site at www.CognitiveTPG.com.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
17  
Migrating from the A721 (7221) printer to the B780  
The B780 printer is a two station hybrid thermal/impact printer with feature enhancements designed to provide the  
most desirable options to the customer. This section is provided for those customers who would like to migrate from  
their existing CognitiveTPG printers to the B780 printer, while maintaining as much continuity as possible in the new  
application. Several commands exist to support such a migration. The primary differences are described below:  
A721 (7221) to B780:  
A721: impact receipt  
A721: no paper cutter (knife)  
A721: monochromatic printing  
A721: no audible tone  
B780: thermal receipt  
B780: paper cutter (knife)  
B780: two-color printing on receipt  
B780: audible tone  
B780 Emulation Commands  
Set Printer ID Mode  
Code (Hexadecimal)  
1F 03 0Ch  
This command sets the printer ID response to the printer ID command (1D 49 01)  
n = 00h : Native printer ID  
n = 01h : Emulated printer ID  
The Native printer ID returned from the printer is 2C.  
The Emulated printer ID returned from the printer is 0A.  
Set B780 Printer Emulation  
Code (Hexadecimal)  
1F 03 25 02 n  
This command sets the type of printer emulation  
n
00  
01  
Emulation  
Native  
DH emulation  
B780 Configuration Commands  
Note: These B780 configuration commands apply only to A721 emulation of the slip and validations stations.  
Select B780 Slip Right Text Margin and Text Column Options  
Code (Hexadecimal)  
1F 03 25 03 n (Native Mode)  
n
Right Margin Text  
Text Columns  
42/51 (B780 default)  
35/42  
35/42  
33/40  
35/42  
33/40 (A721 default)  
# Lines Rotated  
00  
01  
02  
03  
04  
05  
.1”  
.1”  
.3”  
.3”  
.5”  
.5”  
28  
23  
23  
22  
23  
22  
·
This command corresponds to A721 internal dip switches 3.2, 3.3, and 3.4.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
18  
Chapter 3: Migrating to a new printer  
·
For text printing, these are the A721 internal dip switch settings:  
3.2  
3.3  
3.4  
OFF  
ON  
OFF  
ON  
--  
Right Margin Text  
Text Columns  
33/40  
33/40  
35/42  
35/42  
35/42  
42/51  
OFF  
OFF  
OFF  
OFF  
ON  
OFF  
OFF  
ON  
ON  
OFF  
ON  
.5”  
.3”  
.5”  
.3”  
.1”  
.1”  
ON  
--  
·
·
·
A721 internal dip switch 3.5 applies to the right margin in Page Mode printing. That is handled with another  
B780 configuration command.  
The right margin and text columns options cannot be changed separately because some combinations are  
not reasonable.  
The B780 (emulating the A721 emulating the Epson 375) powers up with compressed print selected.  
Select DH Pitch and Rotated Text Columns  
Code (Hexadecimal)  
1F 03 25 03 n (DH emulation)  
n
DH Pitch  
33  
36  
40  
44  
50  
57  
66  
Receipt  
44  
44  
44  
44  
56  
56  
56  
Slip  
42  
42  
42  
51  
51  
51  
51  
# Lines Rotated  
19 (default)  
00  
01  
02  
03  
04  
05  
06  
20  
21  
22  
21  
22  
23  
·
·
·
This command corresponds to A721 internal dip switches 2.1, 2.2, and 2.3.  
For rotated text printing on the slip the B780 matches the A721.  
For standard text printing the B780 receipt will print in 44-column mode or 56-column mode. When DH pitch  
of 57 columns or 66 columns is selected, text will wrap.  
·
For standard text printing the B780 slip will print in 42-column mode or 51-column mode. When DH pitch of  
57 columns or 66 columns is selected, text will wrap.  
·
·
The run-time command for pitch selection (1B 50 n) overrides this configuration setting.  
These are the A721 internal dip switch settings:  
2.1  
Off  
On  
Off  
On  
Off  
On  
Off  
2.2  
Off  
Off  
On  
On  
Off  
Off  
On  
2.3  
Off  
Off  
Off  
Off  
On  
On  
On  
DH Pitch  
33  
36  
40  
44  
50  
57  
66  
# Lines Rotated  
19  
20  
21  
22  
21  
22  
23  
Select Slip Lines per Inch  
Code (Hexadecimal)  
1F 03 25 04 n  
This command sets the slip station lines per inch setting.  
n
00  
01  
Line spacing  
7.2 LPI (default)  
6.0 LPI  
This corresponds to the A721 internal dip switch 3.1  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
19  
Select Two - Sensor Option for B780  
Code (Hexadecimal)  
1F 03 25 05 n  
This command sets the two-sensor option for the B780 mode. When enabled, two distinct slip sensor statuses are  
reported.  
n
00  
01  
Two-Sensor Option  
Disable two-sensor option  
Enable two-sensor option (default)  
Select Number of Lines of Validation for B780  
Code (Hexadecimal)  
1F 03 25 06 n  
This command sets the number of lines of validation that can be printed in B780 mode.  
n
Number of validation lines  
4 (default)  
actual number (5 – 15 decimal)  
00-04  
05-0F  
This corresponds to A721 internal dip switch 3.6 and 3.7.  
Select B780 Map User Character Option for B780  
Code (Hexadecimal)  
1F 03 25 07 n  
This command selects the B780 map user characters option. This is available for A721 applications that rely on printing  
user-defined characters and have not made the necessary changes for thermal character definitions. If this command  
is enabled, then the characters as defined by the Define User-Defined Character Set command (1B 26 s c1 c2 etc.) will  
be modifed by the printer firmware such that they print in an acceptable manner on the thermal receipt station. The  
best print quality will be obtained by incorporating User Defined Characters which meet the thermal receipt station  
requirements.  
n
00  
01  
Map user character option  
Disable (default)  
Enable  
Select Slip Right Margin in Page Mode  
Code (Hexadecimal)  
1F 03 25 0E n  
This command sets the number of lines of validation that can be printed in B780 mode.  
n
Right margin  
.1(B780 default)  
.3”  
Number of lines in page mode rotated orientation  
17 (not available on A721)  
15  
15  
00  
01  
02  
.5(A721 default)  
·
·
This command corresponds to A721 internal dip switch 3.5.  
For Page Mode printing, these are the A721 internal dip switch settings:  
3.5  
Off  
On  
Right Margin Page Mode  
.5”  
.3”  
·
Default tabs emulate the A721 when A721 margin is configured: default tabs are at 5 dots/column instead of  
6 dots/column.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
20  
Chapter 3: Migrating to a new printer  
Select B780 Map Logo Option for B780  
Code (Hexadecimal)  
1F 03 25 10 n  
This command selects the B780 map logo option. This is available for A721 applications that rely on printing logos on  
the receipt. If this command is enabled, then the logos will be modifed by the printer firmware such that they print in  
an acceptable manner on the thermal receipt station. The best print quality will be obtained by incorporating logos  
which meet the thermal receipt station requirements.  
n
00  
01  
Map logo option  
Disabled (default)  
Enabled  
Select Cover Open Option for B780  
Code (Hexadecimal)  
1F 03 25 11 n  
·
·
When the cassette cover open option is enabled, and the operator opens the cassette cover, the printer will  
stop printing and enter an error state.  
When the option is disabled, the printer will ignore the state of the cassette cover.  
n
00  
01  
Cassette Cover Option  
Disabled  
Enabled (default)  
Select Concurrent Print to Receipt for B780  
Code (Hexadecimal)  
1F 03 25 12 n  
When enabled, A721 concurrent print is emulated. When concurrent print is set via command 1B 63 30 n, whatever is  
printed on the cut sheet will be printed on the receipt after the cut sheet is ejected.  
n
00  
01  
Concurrent print  
Disabled  
Enabled  
Select B780 with A776 Slip Functions  
Code (Hexadecimal)  
1F 03 25 13 n  
When enabled, B780 operates like A776 on the slip station. Provided for applications which control both A776 and  
B780.  
n
00  
01  
A776 Slip functions  
disabled (default)  
enabled  
Select B780 Concurrent Print to Electronic Journal  
Code (Hexadecimal)  
1F 03 25 14 n  
When enabled, A721 concurrent print is emulated. Whatever is printed on the cut sheet is saved in the electronic  
journal buffer.  
n
00  
Concurrent print to electronic journal  
disabled  
01  
enabled  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 3: Migrating to a new printer  
21  
Select Cover Open Option for B780  
Set Page Mode Margin Mechanical Adjustment  
Code (Hexadecimal)  
1F 03 25 16 n  
·
This command applies to both the A776 and the B780, although it is primarily implemented for B780 printers  
replacing existing A721 printers to match cashier check printing.  
Default is 0.  
Value is printed on the second diagnostic page.  
Ranges for margin configurations:  
·
·
·
Margin Setting  
Maximum mechanical adjustment  
30 half dots  
56 half dots  
.5”  
.3”  
.1”  
84 half dots  
·
Mechanical adjustment does not apply when page size is defined to be greater than the default of 200 full  
dots wide.  
Set Page Mode Option to Trim Full Dots  
Code (Hexadecimal)  
1F 03 2F n  
n < 128 # of full dots trimmed from right side  
n = 255 compress to fit in 3.024”  
.
This command applies to both the A776 and the B780, although it is primarily implemented for applications  
specifying a page size greater than 242 full dots wide.  
Default is no trim.  
Maximum width that can be compressed to fit in 3.024is 270 full dots.  
Value is printed on second diagnostic page.  
·
·
·
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
22  
Chapter 3: Migrating to a new printer  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 4: Programming the Printer  
23  
Chapter 4: Programming the Printer  
Overview of Printing Characteristics  
Commands control all operations and functions of the printer. This includes selecting the size and placement of  
characters and graphics on the receipt or the slip and feeding and cutting the paper. The programming commands  
have been organized, in order of hexadecimal code within functional groups. For this reason, “relatedcommands may  
not be listed adjacent to one another.  
The A776 (B780) standard command set allows it to work with software written for CognitiveTPG or other POS  
compliant printers.  
Any of the commands may be used in any combination to program a host computer to communicate with the printer  
(unless otherwise noted).  
For the printer to operate properly within an Ethernet environment, a specific set of commands must be set.  
Some commands listed and described here may not be implemented and are identified as “not implemented.”  
If received, they are ignored and not sent to the print buffer as data.  
Any non-legal commands have their parameter sent to the print buffer as data.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
24  
Chapter 4: Programming the Printer  
Character appearance  
The appearance of text can be changed using the following print modes:  
Standard  
Underlined  
Bold  
Compressed  
Double-high  
Double-wide  
Upside-down  
Rotated  
Reverse  
Italic  
Strike-through  
Scaled  
Shading  
Receipt character specification  
Standard  
Characters per inch: 15.6  
Characters per line: 44  
Cell size: 13 × 24 dots  
Compressed  
Characters per inch: 20.3  
Characters per line: 56  
Cell Size: 10 × 24 dots  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 4: Programming the Printer  
25  
Print zones  
Print zones for receipt station 80 mm paper  
Specifications of print zone for receipt station 80 mm paper:  
576 dots (addressable) @ 8 dots/mm,  
centered on 80 mm  
• Top margin to manual tear-off:  
17.8 mm (0.70 inches)  
Minimum margins for standard print:  
• Top margin to knife cut:  
2.0 mm (.079 inches)  
19.0 mm (0.75 inches)  
Note: The application centers 44 standard character cells (13 × 24 dots), or 56 compressed character cells (10 × 24 dots),  
or 576 addressable bits of graphics across an 80 mm wide receipt. Minimum print line height is 24 dots for text or graphics.  
Standard print line spacing is 27 dots (i.e., 3 extra row dots).  
The A776 adds a 27 dot high font, so standard print spacing is 30 dots.  
ꢛꢃꢖꢗꢆꢁꢜꢝꢅꢂ ꢁꢌꢁꢓꢘꢁꢋꢋꢁꢑ!ꢏꢎꢐ   
ꢛꢆꢝꢄꢂꢃ$ꢉꢗꢁ%ꢈꢄꢗ#ꢁꢐꢍꢕꢁꢅꢈꢂ ꢁꢌꢁꢍꢒꢁꢋꢋꢁꢑꢒꢏꢓ!ꢐ   
&ꢈꢋꢝꢄꢃꢉꢁꢋꢃꢆꢚꢝꢄ #ꢁꢀꢁꢋꢋꢁꢑꢘꢏꢎꢐꢍ   
ꢙꢊꢂꢁꢗꢅꢚꢗ  
ꢀꢁꢂꢃꢄꢅꢆꢄ  
"ꢖꢁꢋꢃꢆꢚꢝꢄ#ꢁꢎꢍꢏꢓꢁꢋꢋꢁꢑꢏꢍꢘ ꢔꢁꢋꢝꢄꢝꢋꢊꢋ  
ꢀꢀꢁ ꢂꢃꢄꢅꢃꢆꢅꢁꢇꢈꢉꢊꢋꢄ ꢁꢌꢁꢍꢎꢏꢐꢁꢋꢋꢁꢑꢒꢏꢓꢎꢐ   
ꢐꢕꢁꢇꢈꢋꢖꢆꢗ ꢗꢅꢁꢇꢈꢉꢊꢋꢄ ꢁꢌꢁꢍꢘꢁꢋꢋꢁꢑꢒꢏꢍꢐꢕ   
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
26  
Chapter 4: Programming the Printer  
Print zones for slip station  
The slip station prints characters (standard and  
compressed pitch) and graphics in a print zone of 77mm  
(3.0”) wide on a slip or form.  
The print line height of 7x7 dot characters is  
2.46mm (.097”). With three-dot spacing, the print  
line height is 3.53mm (.139”). See the following  
illustration (not to scale). To print as close to the  
bottom of the slip as possible without the slip leaving  
the feed rollers, use the “Print and feed n lines”  
(1B 64 n) command, with n = 0.  
Standard pitch: 42 characters (columns) per line  
Compressed pitch: 51 characters (columns) per line  
21 rotated characters  
210 adjacent bits of graphics  
420 addressable positions  
ꢖꢅꢕꢕ  
ꢗꢑꢋꢘꢑꢅꢂꢃꢋꢙ  
ꢌꢂꢃꢋ  
ꢀꢁꢂꢃꢄꢅꢆꢂꢃꢇꢅ ꢂꢈꢄꢉ  
ꢊꢅꢂꢃꢋꢅꢌꢍꢎꢋ  
ꢏꢂꢐꢉꢄꢅꢌꢍꢁꢐꢂꢃ  
ꢑꢋꢒꢅꢂꢃꢋꢅꢌꢂꢃꢋ  
ꢓꢔꢄꢄꢔꢕꢅꢌꢍꢁꢐꢂꢃꢅꢌꢂꢃꢋ  
ꢒꢖꢋꢖꢅꢕꢕ  
ꢗꢑꢋꢚꢅꢂꢃꢋꢙ  
Slip Print  
Zone  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 4: Programming the Printer  
27  
Print Zones for Slip, Validation  
ꢀꢁꢂꢃꢄꢅꢆꢂꢃꢇꢅ ꢂꢈꢄꢉ  
ꢊꢅꢂꢃꢋꢅꢌꢍꢎ  
ꢏꢂꢐꢉꢄꢅꢌꢍꢁꢐꢂꢃ  
ꢑꢋꢒꢅꢂꢃꢋꢅꢌꢂꢃꢋ  
ꢖꢂꢁꢗꢄꢅꢆꢂꢃꢇ  
ꢔꢘꢅꢙꢍꢚꢂꢈꢍꢄꢂꢔꢃ  
ꢓꢔꢄꢄꢔꢕꢅꢌꢍꢁꢐꢂꢃꢅꢌꢂꢃꢋ  
!ꢇꢇꢅꢄꢉꢇ  
"##ꢔꢕ$ꢍꢃ%ꢂꢃꢐ  
ꢒꢛꢋꢛꢅꢕꢕ  
ꢜꢑꢋꢝꢅꢂꢃꢋ  
&'ꢚꢇ  
Validation Format  
The A776 has drop validation printing. The location of the first line of validation varies based on the table below:  
Number of lines of validation @ 7.2 lpi  
Distance from bottom of form to top of first print line  
14 lines  
10 lines  
6 lines  
4 lines  
2.7 inches  
2.0 inches  
1.5 inches  
1.2 inches  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
28  
Chapter 4: Programming the Printer  
Rotated printing commands  
Three commands control the rotation of printing. The table shows the combinations of set/cancel upside down print,  
set/cancel rotated print (clockwise), and rotated print (counterclockwise).  
Rotated clockwise and rotated counterclockwise print commands are mutually exclusive: the setting of the last received  
command is effective. Unintended consequences may result when rotated clockwise is mixed with other commands.  
The samples of the print show only the normal-size characters. Double-wide and double-high characters are printed in  
the same orientation. They may also be mixed on the same line.  
Upside down  
(1B 7B n)  
Rotated CW  
(1B 56 n)  
Rotated CCW  
(1B 12)  
Resulting output  
Canceled  
Canceled  
Set  
Canceled  
Set  
Cleared  
A B C  
A B C  
X
Canceled  
Set  
X
Set  
X
X
X
Set  
Note: The following print modes cannot be mixed on the same line:  
Standard and compressed pitch  
Vertical (normal) and rotated  
Right-side up and upside-down  
Single-high (normal) and double-high  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
29  
Chapter 5: Programming Commands  
Commands listed by function  
Commands in bold are ColorPOS® commands.  
Printer actions  
Code (hexadecimal)  
Command  
Page  
36  
37  
37  
37  
37  
37  
38  
38  
38  
38  
39  
39  
39  
40  
40  
40  
37  
41  
41  
41  
42  
42  
42  
42  
43  
43  
44  
10  
Clear printer  
11  
Close form  
18  
Open form  
1A  
Perform partial knife cut (or code 1B 6D)  
Generate tone  
1B 07  
1B 3C  
Return home  
1B 3D n  
1B 40  
Select peripheral device (for multi-drop)  
Initialize printer  
1B 43 n  
1B 55 n  
1B 63 30 n  
1B 63 31 n  
1B 63 33 n  
1B 63 34 n  
1B 63 35 n  
1B 66 m n  
1B 6D  
Set slip paper eject length  
Set unidirectional print on impact station  
Select receipt or slip for printing; slip for MICR read  
Select receipt or slip for setting line spacing  
Select paper sensors to output paper end signals (parallel only)  
Select sensors to stop printing  
Enable or disable panel button  
Set slip paper waiting time  
Perform partial knife cut (or code 1A)  
Generate pulse to open cash drawer  
Release paper  
1B 70 n p1 p2  
1B 71  
1B 72 m  
1C  
Set current color  
Select slip station  
1D 56 m  
1D 56 m n  
1D 81 m n  
1E  
Select cut mode and cut paper (or code 1D 56 m n)  
Select cut mode and cut paper (or code 1D 56 m)  
Set paper type  
Select receipt station  
1F 03 16 05 n  
1F 74  
Set interpretation of “Set current colorcommand  
Print test form  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
30  
Chapter 5: Programming commands  
Print and paper feed  
Code (hexadecimal)  
Command  
Page  
44  
44  
44  
44  
45  
45  
46  
46  
46  
46  
47  
47  
47  
0A  
Print and feed paper one line  
Print and eject slip  
Print and carriage return  
Feed n print lines  
0C  
0D  
14 n  
15 n  
Feed n dot rows  
16 n  
Add n extra dot rows  
Print  
17  
1B 4A n  
1B 4B n  
1B 64 n  
1B 65 n  
1D 14 n  
1D 15 n  
Print and feed paper  
Print and reverse feed paper  
Print and feed n lines  
Print and reverse feed n lines  
Reverse feed n lines  
Reverse feed n dots  
Vertical and horizontal positioning  
Code (hexadecimal)  
Command  
Page  
47  
48  
48  
48  
49  
49  
50  
51  
51  
52  
52  
09  
Horizontal tab  
1B 14 n  
Set column  
1B 24 nL nH  
1B 32  
Set absolute starting position  
Set vertical line spacing to 1/6 inch  
Set vertical line spacing  
Set horizontal tab positions  
Set relative print position  
Select justification  
1B 33 n  
1B 44 [n] k 00  
1B 5C n1 n2  
1B 61 n  
1D 4C nL nH  
1D 50 x y  
Set left margin  
Set horizontal and vertical minimum motion units  
Set printing area width  
1D 57 nL nH  
Text characteristics  
Code (hexadecimal)  
Command  
Page  
53  
12  
Select double-wide characters  
Select single-wide characters  
Select 90 degree counter-clockwise rotated print  
Select pitch (column width)  
Set right-side character spacing  
Select print mode  
13  
53  
1B 12  
53  
1B 16 n  
1B 20 n  
1B 21 n  
1B 25 n  
1B 26 s c1 c2  
54  
54  
55  
Select or cancel user-defined character set  
Define user-defined character sets  
55  
56  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
31  
1B 2D n  
Select or cancel underline mode  
Copy character set from ROM to RAM  
Cancel user-defined character  
Select or cancel emphasized mode  
Select double-strike  
57  
57  
58  
58  
58  
59  
59  
59  
60  
59  
60  
60  
61  
62  
62  
63  
62  
63  
64  
64  
64  
64  
65  
65  
1B 3A 30 30 30  
1B 3F n  
1B 45 n  
1B 47 n  
1B 48  
Cancel double-strike  
1B 49 n  
Select or cancel italic print  
1B 52 n  
Select international character set  
Select or cancel 90 degree clockwise rotated print  
Select international character table  
Select or cancel upside-down print mode  
Select character size  
1B 56 n  
1B 74 n  
1B 7B n  
1D 21 n  
1D 42 n  
Select or cancel white/black reverse print mode  
Set smoothing  
1D 62 n  
1D 85 m n  
1D 8D n m  
1D F0 01 n  
1D F0 02 n  
1D F0 03  
1D F0 80  
1D F0 C0 02  
1F 05 n  
Reverse color text mode  
Text strike-through mode  
Select font ID number  
Select font style number  
Save font ID number as default font at power up  
Download font  
Download font list  
Select superscript or subscript modes  
Define extended user-defined character set  
Select active user-defined character set  
1F 26 s c1 c2  
1F 69 n  
Graphics  
Code (hexadecimal)  
Command  
Page  
66  
1B (+*.BMP file)  
1B 2A m n1 n2 d1…dn  
1B 2E m n rL rH d1 . . . dn  
1B 59 n1 n2 d1…dn  
1C 70 n m  
Download BMP logo  
Select bit image mode  
66  
Print advanced raster graphics  
Select double-density graphics  
Print flash logo  
67  
68  
68  
1C 71 n . . .  
Define flash logos  
68  
1D 23 n  
Select the current logo (downloaded bit image)  
Define downloaded bit image  
Print downloaded bit image  
Print raster monochrome graphics  
68  
1D 2A n1 n2 d1…dn  
1D 2F m  
69  
69  
1D 82 n1…n72  
or …n80  
70  
1D 83 n1…n144  
or …n160  
Print raster color graphics  
70  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
32  
Chapter 5: Programming commands  
1D 84 m n1 n2 d1…dx  
1D 86 m  
Download logo image  
70  
71  
71  
72  
72  
72  
73  
74  
74  
75  
75  
76  
76  
77  
79  
81  
81  
Monochrome shade mode  
Color shade mode  
1D 87 m  
1D 89 n m  
Logo print with color plane swap  
Apply shading to logo  
1D 8B n m o  
1D 8C n m  
Merge watermark mode  
1D 90 m x y o p q  
1D 91 n  
Form and merge real-time surround graphic  
Save graphics buffer as logo  
Background logo print mode  
Apply margin message mode  
Shade and store logo  
1D 92 n  
1D 99 l m n o  
1D 9A n m o  
1D 9B m n  
Logo print with knife cut  
1D A0 nl nh  
1F 03 16 f s p/r t  
1F 03 17 a m s  
1F 04 n  
Set temporary max target speed  
Set LogoEZ® colorization  
Set LogoEZ® attribute mapping  
Convert 6-dots/mm bitmap to 8-dots/mm bitmap  
Enable constant speed logos  
1F 7B n  
Status  
Batch mode  
Code (hexadecimal)  
Command  
Page  
82  
1B 75 0  
1B 76  
Transmit peripheral device status  
Transmit paper sensor status  
Transmit printer ID  
83  
1D 49 n  
1D 49 40 n  
1D 72 n  
1F 56  
83  
Transmit printer ID, remote diagnostics extension  
Transmit status  
85  
87  
Send printer software version  
89  
Real-time  
Code (hexadecimal)  
Command  
Page  
91  
10 04 n  
10 05 n  
1D 03 n  
1D 04 n  
1D 05  
Real-time status transmission (DLE sequence)  
Real-time request to printer (DLE sequence)  
Real-time request to printer (GS sequence)  
Real-time status transmission (GS sequence)  
Real-time printer status transmission  
Real-time commands disable  
94  
94  
91  
95  
1F 7A n  
95  
Unsolicited status mode  
Code (hexadecimal)  
Command  
Page  
1D 61 n  
Select or cancel unsolicited status mode  
96  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
33  
Bar codes  
Code (hexadecimal)  
Command  
Page  
100  
100  
100  
100  
1D 48 n  
1D 66 n  
1D 68 n  
Select printing position for HRI characters  
Select pitch for HRI characters  
Select bar code height  
Print bar code  
1D 6B m d1…dk 00  
or 1D 6B m n d1…dn  
1D 6B m nL nH d1... dn  
1D 6B n d1... 00  
1D 6B FF n  
Print GS1 DataBar (formerly RSS), data length specified  
Print GS1 Databar (formerly RSS), null terminated  
Print multiple bar codes  
103  
103  
103  
104  
102  
106  
1D 70 a b c d e f  
1D 71 a b c d e fL fH  
1D 77 n  
Select PDF 417 parameters  
Set GS1 Databar (formerly RSS) parameters  
Select bar code width  
Page mode  
Code (hexadecimal)  
Command  
Page  
108  
108  
108  
109  
110  
110  
111  
112  
112  
0C  
Print and return to standard mode  
Cancel print data in page mode  
Print data in page mode  
18  
1B 0C  
1B 4C  
Select page mode  
1B 53  
Select standard mode  
1B 54 n  
1B 57 n1, n2…n8  
1D 24 nL nH  
1D 5C nL nH  
Select print direction in page mode  
Set print area in page mode  
Set absolute vertical print position in page mode  
Set relative vertical print position in page mode  
Macros  
Code (hexadecimal)  
Command  
Page  
113  
1D 3A  
Select or cancel macro definition  
Execute macro  
1D 5E r t m  
113  
MICR check reader commands  
MICR Reading  
Code (Hexadecimal)  
Command  
Page  
114  
1B 77 01  
Read MICR data and transmit  
Read MICR data and transmit (B780 only)  
Transmit last MICR read  
1B 77 02  
114  
1B 77 52  
115  
MICR Parsing  
Code (Hexadecimal)  
Command  
Page  
115  
1B 77 50  
1B 77 70  
Define parsing format, save in NVRAM  
Define parsing format, do not save permanently  
115  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
34  
Chapter 5: Programming commands  
User data storage  
Code (hexadecimal)  
Command  
Page  
121  
122  
122  
122  
122  
123  
123  
124  
124  
125  
1B 27 m a0 a1 a2 d1…dm Write to user data storage  
1B 34 m a0 a1 a2  
1B 6A k  
Read from user data storage  
Read from non-volatile memory  
Write to non-volatile memory (NVRAM)  
Select memory type (SRAM/flash)  
Flash memory user sectors allocation  
Expanded flash memory allocation  
Select flash area  
1B 73 n1 n2 k  
1D 22 n  
1D 22 55 n1 n2  
1D 22 80  
1D 22 81 n  
1D 40 n  
Erase user flash sector  
1D 97 m n  
User storage status  
Flash download  
Code (hexadecimal)  
Command  
Page  
126  
127  
127  
127  
127  
127  
128  
128  
128  
128  
129  
1B 5B 7D  
Switch to flash download (boot) mode  
Return boot sector firmware part number  
Return segment number status of flash memory  
Select flash memory sector to download  
Get firmware CRC  
1D 00  
1D 01  
1D 02 n  
1D 06  
1D 07  
Return microprocessor CRC  
1D 0E  
Erase all flash contents except boot sector  
Return main program flash CRC  
Erase selected flash sector  
1D 0F  
1D 10 n  
1D 11 aL aH cL cH d1…dn  
Download to active flash sector  
Reset firmware  
1D FF  
Ethernet setup commands  
Code (hexadecimal)  
Command  
Page  
126  
129  
129  
129  
130  
130  
130  
130  
130  
131  
131  
131  
1B 5B 7D  
Switch to flash download (boot mode)  
Restore default settings  
Set IP address  
1F 08 00  
1F 08 01 n1 n2 n3 n4  
1F 08 02 n1 n2 n3 n4  
1F 08 03 n1 n2 n3 n4  
1F 08 04 n1 n2 n3 n4  
1F 08 05 n1  
Set net mask  
Set gateway  
Set raw TCPIP port  
LP Daemon  
1F 08 06 n1  
Telnet Daemon  
1F 08 07 n1  
BootP  
1F 08 08 n1  
DHCP (auto-configuration)  
Inactivity timeout  
Keep-alive pings (arps)  
1F 08 09 n1  
1F 08 0A n1  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
35  
Image Commands  
Code (hexadecimal)  
Command  
Calibrate Scanner  
1D B0  
132  
133  
133  
133  
134  
135  
136  
136  
137  
138  
138  
138  
140  
142  
143  
143  
143  
143  
144  
144  
144  
1D B1 m n  
Configure/Change Image Transmission Port  
Set Top Entry Startup Delay  
Set Image Format Properties  
Configure Binarization Methods and Attributes  
Define/Update Application Tag Values  
Attach Scan Application Tags  
Return Imager Status  
1D B2 n  
1D B3 m p r  
1D C5 nL nH m d1-dn-1  
1D B4 nL nH t0. . .tm  
1D B6  
1D B7  
10 04 07  
Real Time Imager Status  
10 04 03  
Real Time Error Status  
10 05 06  
Real Time Cancel Image Transmission  
Wait for Scan & Optionally Transmit  
Transmit Image  
1D B8 m p r  
1D B9 s t m nL nH pL pH  
1D BA p  
Eject from Scanner  
1D BB nL nH  
1D BC m  
Free Image  
Free Imager Buffering  
1D BD  
Get Buffered Image List  
1D BE nL nH  
1D C6 m n  
Get Buffered Image Attributes  
Configure Scan Options  
1D C7 wL wH lenL lenH  
1D 49 02  
Configure Max Scan Width & Height  
Transmit Printer Type (Extended Existing Command)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
36  
Chapter 5: Programming commands  
Command conventions  
The following information describes how each command is organized:  
Name:  
Name of command.  
ASCII:  
The ASCII control code.  
Hexadecimal:  
Decimal:  
Value:  
The hexadecimal control code.  
The decimal control code.  
A description of the command operands.  
The upper and lower limits of the command operand.  
The command operand default after printer reset.  
Brief description and summary of the command.  
Any formulas used for this command.  
Range:  
Default:  
Description:  
Formulas:  
Exceptions:  
Describes any exceptions to this command; for example, incompatible commands.  
Related information: Describes related information for this command; for example, bit information.  
Command descriptions  
Printer actions  
The printer function commands control the following basic printer functions and are described  
in order of their hexadecimal codes:  
Station select  
Platen control  
Resetting the printer  
Cutting the paper  
Opening the cash drawers  
Clear printer  
ASCII  
DLE  
Hexadecimal 10  
Decimal 16  
Clears the print line buffer without printing and sets the printer to the following condition:  
Receipt station is selected  
Double-wide command (0x12) is canceled  
Line spacing, pitch, and user-defined character sets are maintained at current selections (RAM is not affected)  
Single-wide, single-high, non-rotated, and left-aligned characters are set  
Printing position is set to column one  
Slip platen is opened  
Slip printhead is homed  
Exceptions  
The DLE command followed by a 04 or 05 is interpreted as a “Real-time command. See Real- time status transmission  
and Real-time request commands (DLE sequences).  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
37  
Close form  
ASCII:  
DC1  
Hexadecimal: 11  
Decimal: 17  
Closes the feed roller and platen (forms compensation arm assembly). If the printer is reset or the Clear (0x10) is  
received, the feed roller and platen are opened.  
This command executes if the platen is already closed. This command is processed regardless of which station is  
selected.  
Open form  
ASCII:  
Hexadecimal 18  
Decimal: 24  
CAN  
Opens the feed roller and platen (forms compensation arm assembly) so that a form may be inserted (default position).  
This command has the same code as the Cancel print data in page mode command, which is only executed in page  
mode.  
This command executes if the platen is already open. This command is processed regardless of which station is  
selected.  
Perform partial knife cut  
ASCII  
Hexadecimal 1A  
Decimal 26  
SUB  
ESC m  
1B 6D  
27 109  
Partially cuts the receipt, leaving 5 mm (0.20”) of paper. This command is implemented the same as Full knife cut (19  
and 1B 69).  
There are two codes (Hex 1A or 1B 6D) for this command and both codes perform the same function.  
Exceptions  
Line feed is executed first if print buffer is not empty.  
This command is processed regardless of which station is selected.  
Generate tone  
ASCII  
Hexadecimal 1B 07  
Decimal 27 7  
ESC BEL  
Generates an audible tone. Performed by the printer to signal certain conditions.  
Return home  
ASCII  
Hexadecimal 1B 3C  
Decimal 27 60  
ESC <  
Moves the impact printhead (unless already there) to the home position.  
Related Information  
The printer is able to detect carriage motor jams, eliminating the need to home the printhead after each slip  
transaction.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
38  
Chapter 5: Programming commands  
Select peripheral device (for multi-drop)  
ASCII  
ESC = n  
Hexadecimal 1B 3D n  
Decimal  
27 61 n  
Value of n:  
bits 0 and 1 only:  
0 = printer only  
1 = printer only  
2 = peripheral device only  
3 = printer and peripheral device both  
Default:  
printer only  
Selects the device to which the host computer sends data.  
Related Information  
When the printer is disabled by this command, it ignores transmitted data until re-enabled by same command.  
Initialize printer  
ASCII  
ESC @  
Hexadecimal 1B 40  
Decimal  
Default:  
27 64  
Character pitch:  
Column width:  
Extra dot rows:  
Character set:  
15.6 CPI  
44 characters  
3
Code Page 437  
Column One  
Printing position:  
Clears the print line buffer and resets the printer to the default settings for the start-up configuration (refer to Default  
settings above).  
Single-wide, single-high, non-rotated, and left-aligned characters are set, and user-defined characters or logo graphics  
are cleared. (Flash memory is not affected.) Tabs reset to default. Receipt selection state is selected.  
A776: Slip set to 42 column pitch  
B780:  
Slip set to compressed pitch  
Set slip paper eject length  
ASCII  
ESC C n  
Hexadecimal 1B 43 n  
Decimal  
27 67 n  
Value of n:  
Exception  
0 to 255  
This command is ignored.  
Set unidirectional print on impact station  
ASCII  
ESC U n  
Hexadecimal 1B 55 n  
Decimal  
27 85 n  
Value of n:  
Only the lowest bit of n is used  
0
1
0
1
Unidirectional printing is turned off  
Unidirectional printing is turned on  
For text printing  
Default of n:  
For Page Mode printing  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
39  
Select receipt or slip for printing; slip for MICR read  
ASCII  
ESC c 0 n  
Hexadecimal 1B 63 30 n  
Decimal  
27 99 48 n  
Value of n:  
1, 2, 3  
Receipt selected  
4
8
1
Slip selected  
Validation station selected  
Default of n:  
Selects the station for printing. When slip is selected, the printer waits for the paper to be inserted. When slip has  
already been selected and the selection is changed, the form is opened.  
If the station has already been selected and it is re-selected, no action takes place.  
Slip waiting time is configurable using the configuration menu and the wait time appears on the Diagnostic menu  
printout  
Exceptions  
Receiving the command discards unprinted data in the buffer, forcing a “beginning of linestate.  
When n is out of range this command is ignored.  
Select receipt or slip for setting line spacing  
ASCII  
ESC c 1 n  
Hexadecimal 1B 63 31 n  
Decimal  
27 99 49 n  
Value of n:  
1, 2, 3  
Select receipt  
Select Slip  
4
8
1
Select validation  
Default of n:  
Selects which station receives the effects of the following commands:  
1.  
2.  
3.  
Select Default Line Spacing (1B 32)  
Set Line Spacing (1B 33)  
Add n extra dot rows (16 n)  
Exceptions  
This command is ignored if n is out of range.  
Select paper sensors to output paper end signals  
ASCII  
Hexadecimal 1B 63 33 n  
Decimal 27 99 51 n  
ESC c 3 n  
This command is ignored.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
40  
Chapter 5: Programming commands  
Select sensors to stop printing  
ASCII  
ESC c 4 n  
Hexadecimal 1B 63 34 n  
Decimal  
Value of n:  
Default:  
Bit of n  
27 99 52 n  
Sensor status  
0
Bit  
0,1  
4
Function  
Stop receipt on receipt low  
Stop slip if trailing edge uncovered  
Stop slip if leading edge uncover  
5
7
Stop validation print if trailing edge uncovered  
(B780 only)  
Determines which sensor stops printing on the respective station. The command does not affect the paper out status  
on the receipt station, which will automatically stop the printer when the paper is depleted.  
Enable or disable panel button  
ASCII  
ESC c 5 n  
Hexadecimal 1B 63 35 n  
Decimal  
27 99 53 n  
Value of n:  
0 = Enable  
1 = Disable  
Default:  
0 (Enable)  
Enables or disables the paper feed button. If the last bit  
is 0, the paper feed button is enabled. If the last bit is 1, the paper feed button is disabled.  
Related information  
Functions that require the paper feed button (except for the execute macro [1D 5E r t m] command) cannot be used  
when it has been disabled with this command.  
Set slip paper waiting time  
ASCII  
ESC f m n  
Hexadecimal 1B 66 m n  
Decimal  
27 102 m n  
Value of m:  
Value of n:  
Not used  
Tenths of seconds  
The time that the printer waits for a slip to be inserted is set using the configuration menu. The default is forever, but it  
can be set to 1, 3, or 5 minutes.  
The value “nsets the time (n x 0.1 seconds) that the printer waits to close the platen and start printing after the slip has  
been inserted. The printer reads that a slip is inserted when the leading edge and trailing edge sensors are covered.  
The slip-in light is lit (green) when both sensors are covered.  
If a slip is not inserted in the time specified, the receipt station is selected for the next function.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
41  
Generate pulse to open cash drawer  
ASCII  
ESC p n p1 p2  
Hexadecimal 1B 70 n p1 p2  
Decimal  
27 112 n p1 p2  
Value of n:  
00, 48 (Decimal) = Drawer 1;  
01, 49 (Decimal) = Drawer 2  
Value of p1:  
Value of p2:  
0–255  
0–255  
Sends a pulse to open the cash drawer.  
Formulas  
The value for either p1 or p2 is the hexadecimal number multiplied by 2 msec to equal the total time.  
On-time = p1 (Hex) x 2 msec  
Off-time = p2 (Hex) x 2 msec  
Related information  
Off-time is the delay before the printer performs the next operation. Refer to cash drawer specifications for required on  
and off-time.  
Release Paper  
ASCII  
ESC q  
Hexadecimal 1B 71  
Decimal  
27 113  
Description  
Releases the slip paper as follows:  
If receipt paper was selected, this command opens the platen to allow slip removal.  
If the slip was selected, the printer enters the paper removal waiting state after releasing the paper. After 2 seconds, it  
enters receipt paper mode.  
Set current color  
ASCII  
Hexadecimal 1B 72 m  
Decimal 27 114 m  
ESC r m  
Default of m: 0 (monochrome)  
This command will set the current color to the color m for all character data that may follow this command and all  
graphic objects (bit images) that have not been explicitly loaded as two-color.  
m =  
m =  
m =  
0 (monochrome) is the initial value  
1 (two-color paper “primary color, usually black)  
2 (second color available from two-color paper)  
The m values 0 and 1 will not have a distinguishable effect; 0 is the initial value and provides parameter value  
consistency with other commands.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
42  
Chapter 5: Programming commands  
Description  
When the monochrome paper type command (00) is set, this command is recognized and retained but has no effect.  
The monochrome paper selection (usually black) controls the output.  
When two-color paper is loaded and the two-color paper type command set, this command will designate which of  
the two colors will be used for everything not specified as having (an) explicit color parameter(s) such as color logos,  
side bars, surround graphics, background watermarks or color raster graphics.  
Exception  
After a power loss or reset the default value m=0 is reset.  
Select slip station  
ASCII  
Hexadecimal 1C  
Decimal 28  
FS  
Selects the slip station for printing or MICR. This command must be disabled via 1F 03 38 00 to  
use the 1C 70 / 1C 71 logo command sequences.  
Select cut mode and cut paper  
ASCII  
GS V m  
GS V m n  
1D 56 m n  
29 86 m n  
Hexadecimal 1D 56 m  
Decimal  
29 86 m  
Value of m:  
Value of n:  
Selects the mode as shown in the table.  
Determines cutting position only if m is 65 or 66.  
m
Feed and cut mode  
0, 48 Full cut (no extra feed). Partial cut on the A776.  
1, 49 Partial cut (no extra feed).  
65  
Feeds paper to cutting position + (n times vertical  
motion unit), and cuts the paper.  
66  
Feeds paper to cutting position + (n times vertical  
motion unit), and performs a partial cut.  
Range of m:  
Range of n:  
0, 48; 1, 49; 65, 66 (when used with n)  
0 – 255  
Default of m, n: 0  
Selects a mode for cutting paper and cuts the paper. There are two formats for this command, one requiring one  
parameter m, the other requiring two parameters m and n. The format is indicated by the parameter m.  
Formulas  
n times the vertical motion unit is used to determine the cutting position to which the paper is fed.  
Exceptions  
If m is out of the specified range, the command is ignored.  
Set paper type (ColorPOS®)  
ASCII  
GS 0x81 m n  
Hexadecimal 1D 81 m n  
Decimal  
29 129 m n  
Value of m:  
0 = monochrome (black) paper (Kanzaki P-310)  
1 = Two-color (red/black) papers (Kanzaki P-310RB)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
43  
4 = Two-color (blue/black) papers (Kanzaki P-320BB)  
5 = Two-color (red/black) papers (Kanzaki P-320PB)  
Default:  
0
(monochrome paper)  
This command will set the optimum parameter values in the thermal print engine control hardware for any defined  
monochrome or two-color paper chemistry. The m n parameters select paper category and formulation version,  
respectively.  
(m n = 0 0) defines the default monochrome (black category, initial version) paper, out-of-box printers will also have  
factory pre-set descriptions for customer selected color types; initial release consists of two defined color types: (m n =  
1 0) Kanzaki P-310RB red/black paper, (m n = 4 0) Kanzaki P-320BB blue/black paper, and (m n = 5 0) Kanzaki P-320RB  
red/black paper.  
When issuing this command a value of n = 0xFF can always be used; that is interpreted as requesting the setting of the  
highest version defined in the printer of that category. This is a safe way for an application to always select the latest of  
a manufacturer’s paper category, thus choosing “ latest standard red/black.  
An incorrect setting of m n for a two-color paper or non-standard monochrome paper, or failure to set m n when a  
color paper is inserted will result in poor print quality printing.  
The last set paper type choice is stored in non-volatile memory and is retained after a power loss and across reset  
commands. The initial value at first boot after firmware load (or reload) is m n =0 0.  
Related information  
An incorrect setting of n for a two-color paper or failure to set n when a two-color paper is loaded will result in poor  
output quality.  
Select receipt station  
ASCII  
Hexadecimal 1E  
Decimal 30  
RS  
Selects the receipt slip station for all functions. The receipt station is default setting after the  
printer is initialized or the clear printer (0x10) command is received.  
Set Interpretation of “Set current color”  
ASCII  
US ETX SYN ENQ n  
Decimal  
31 03 22 05 n  
Hexadecimal 1F 03 16 05 n  
Value of n:  
0-FF (Hex) n =  
n =  
01 will cause 1B 72 01 to print red. Any other value for 1B 72 will print black.  
00 will cause 1B 72 00 to print red and all other values to print black.  
This command defines how to interpret the 1B 72 command for legacy environments. It provides a method to resolve  
any differences in the definition of command 1B72 between the A776 native mode and earlier implementations in  
other printers.  
In A776 native mode, the standard “Set current colorcommand should be used.  
Related information  
The 1F 03 16 00 command disables this and all other LogoEZ® features.  
To disable one LogoEZ® feature when multiple LogoEZ® features are set, first disable all LogoEZ® features and then re-  
enable only those you desire.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
44  
Chapter 5: Programming commands  
Print test form  
ASCII  
US t  
Hexadecimal 1F 74  
Decimal  
31 116  
Prints the current printer configuration settings on the receipt.  
Disabled in page mode.  
Print and paper feed  
The print and feed commands control printing on the receipt and paper feed by the printer.  
Print and feed paper one line  
ASCII  
Hexadecimal 0A  
Decimal 10  
LF  
Prints one line from the buffer and feeds paper one line.  
Carriage return/line feed pair prints and feeds only one line.  
Print and eject slip  
ASCII  
Hexadecimal 0C  
Decimal 12  
FF  
Prints data from the buffer to the slip station and if the paper sensor is covered, reverses the slip out the front of the  
printer far enough to be accessible to the operator. The impact station opens the platen in all cases.  
This command has the same code as the print and return to standard mode command, which is executed only when  
the printer is in page mode. When the printer is not in page mode this command executes the print and eject slip  
function.  
Exception  
This command is ignored if the receipt station is the current station.  
Print and carriage return  
ASCII  
Hexadecimal 0D  
Decimal 13  
CR  
Prints one line from the buffer and feeds paper one line. The printer can be set through the configuration menu  
to ignore or use this command. Some applications expect the command to be ignored while others use it as print  
command.  
Related information  
See ignoring/using the carriage return in Diagnostics for more information.  
Carriage return/line feed pair prints and feeds only  
one line.  
Feed n print lines  
ASCII  
DC4 n  
Hexadecimal 14 n  
Decimal  
20 n  
Value of n:  
Range of n:  
The number of lines to feed at current line height setting.  
0–127 in A756 emulation  
0–255 in A756 emulation and  
A776 native mode  
Feeds the paper n lines at the current line height without printing. Ignored on receipt if current line is not empty.  
A776 (B780) Programming Guide A776-PG00001 C 12/09  
Chapter 5: Programming commands  
45  
Feed n dot rows  
ASCII  
NAK n  
Hexadecimal 15 n  
Decimal  
21 n  
Value of n:  
Receipt - n/203 inch  
Slip -  
n/72 inch  
Range of n:  
0–127 in A756 emulation  
0–255 in A758 emulation and  
A776 native mode  
Feeds paper n dot rows without printing. Receipt moves n rows if the print buffer is empty.  
Add n extra dot rows  
ASCII  
SYN n  
Hexadecimal 16 n  
Decimal  
22 n  
Value of n:  
Receipt - n/203 inch  
Slip -  
n/72 inch  
Range of n:  
0–12  
Default:  
Receipt - 3 extra dot rows  
Slip - 3 extra dot rows  
Adds n extra dot rows to the character height to increase space between print lines or decrease the number of lines  
per inch.  
Line spacing is set for the station or stations selected by the command 1B 63 31 n .  
Formulas  
This table shows the relationship between the number of lines per inch and each dot row added:  
Receipt Station  
Slip Station  
Lines per Inch  
10.29  
9.00  
Extra rows  
Lines per inch Dot rows  
Dot rows  
0
8.47  
8.13  
7.81  
7.52  
7.25  
7.00  
6.77  
6.55  
6.35  
6.16  
5.98  
5.81  
5.64  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
7
1
8
2
8.00  
9
3
7.20  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
4
6.55  
5
6.00  
6
5.54  
7
5.14  
8
4.80  
9
4.50  
10  
11  
12  
4.24  
4.00  
3.79  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
46  
Chapter 5: Programming commands  
Print  
ASCII  
ETB  
Hexadecimal 17  
Decimal 23  
Prints one line from the buffer and feeds paper one line.  
Print and feed paper  
ASCII  
ESC J n  
Hexadecimal 1B 4A n  
Decimal  
27 74 n  
Value of n:  
Receipt - n/203 inch  
Slip -  
n/144 inch  
Range of n:  
0–255  
Prints one line from the buffer and feeds the paper.  
On the receipt station, the line height equals the character height when n is too small. This does not apply to the slip  
station. Use n = 0 to print a line without feeding the paper. This allows the printer to print on the last line of the slip (at  
0.59 inch from the trailing edge) and still retain the slip in the feed rollers for reverse feeding the paper back out of the  
slip station.  
Related information  
For more information, see the description of the set horizontal and vertical minimum motion units command in this  
document.  
Print and reverse feed paper  
ASCII  
ESC K n  
Hexadecimal 1B 4B n  
Decimal  
27 75 n  
Value of n:  
Range of n:  
Slip - n/144 of an inch  
0–255  
Prints one line from the buffer and reverse feeds the paper n/144 of an inch on the slip station.  
Exceptions  
The receipt station cannot be reverse fed.  
Print and feed n lines  
ASCII  
ESC d n  
Hexadecimal 1B 64 n  
Decimal  
27 100 n  
Value of n:  
Range of n:  
Number of lines to be printed and fed.  
1–255 (0 is interpreted as 1 on the  
receipt station)  
Prints one line from the buffer and feeds paper n lines at the current line height.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
47  
Print and reverse feed n lines  
ASCII  
ESC e n  
Hexadecimal 1B 65 n  
Decimal  
27 101 n  
Value of n:  
The number of lines on the slip station  
to be reverse fed.  
Range of n:  
0 – 255  
Prints one line from the buffer and reverse feeds the paper n lines on the slip station. The receipt station cannot be  
reverse fed.  
Reverse feed n lines  
ASCII  
GS DC4 n  
Hexadecimal 1D 14 n  
Decimal  
29 20 n  
Range of n:  
0 – 127  
0 – 255  
A756 emulation mode  
A776 native mode  
Reverses the paper feed in the slip station by n lines at the current spacing. The next character feed command returns  
the paper feed back to the normal feed direction. This command is ignored if slip is not the selected station. Current  
spacing is not a factor.  
Reverse feed n dots  
ASCII  
GS NAK n  
Hexadecimal 1D 15 n  
Decimal  
29 21 n  
Value of n:  
Range of n:  
n dots at 1/72 inch  
0 – 127  
0 – 255  
A756 emulation mode  
A776 native mode  
Reverses the paper feed in the slip station by n dots at 1/72 inch (CognitiveTPG 7150™ command). This command is  
ignored if receipt station is selected.  
Vertical and horizontal positioning  
The horizontal positioning commands control the horizontal print positions of characters on  
the receipt and slip.  
Horizontal tab  
ASCII  
Hexadecimal 09  
Decimal  
HT  
9
Moves the print position to the next tab position set by the set horizontal tab positions (1B 44 n1 n2 ... 00) command.  
The print position is reset to column one after each line.  
Tab treats the left margin as column one, therefore changes to the left margin will move the tab positions.  
When no tabs are defined to the right of the current position, or if the next tab is past the right margin, line feed is  
executed. HT has no effect in page mode.  
Print initialization sets 32 tabs at column 9, 17, 25…  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
48  
Chapter 5: Programming commands  
Set column  
ASCII  
ESC DC4 n  
Hexadecimal 1B 14 n  
Decimal  
27 20 n  
Value of n:  
Receipt -  
1–44 = Standard pitch  
1–56 = Compressed pitch  
Slip -  
1
1–66 = Standard pitch  
1–80 = Compressed pitch  
Default of n:  
Prints the first character of the next print line in column n. It must be sent for each line not printed at column one. The  
value of n is set to one after each line.  
Exceptions  
This command cannot be used with single- or double-density graphics.  
Set absolute starting position  
ASCII  
ESC $ n1 n2  
Hexadecimal 1B 24 n1 n2  
Decimal  
27 36 n1 n2  
Value of n:  
n = Number of dots to be moved from the beginning of the line.  
n1 = Remainder after dividing n by 256.  
n2 = Integer after dividing n by 256.  
The values for n1 and n2 are two bytes in low byte, high byte word orientation.  
Sets the print starting position to the specified number of dots (up to the right margin) from the beginning of the line.  
The print starting position is reset to the first column after each line.  
Formulas  
Determine the value of n by multiplying the column for the absolute starting position by 10 (slip, or receipt standard  
pitch) or 8 (receipt compressed pitch). The example shows how to calculate column 29 (10 dots per column) as the  
absolute starting position.  
28 x 10 =  
280 dots (beginning of column 29)  
280/256 =  
n1 = 24 n2 =  
1, remainder of 24  
1
Related information  
This command is also used in the graphics mode on the receipt. See graphic commands in this chapter for more  
information.  
If the set horizontal and vertical motion units command (1D 50) is used to change the horizontal and vertical minimum  
motion unit, the parameters of this command (set relative print position) will be interpreted accordingly. For more  
information, see the description of the command set horizontal and vertical minimum motion units command (1D 50)  
in this document.  
Set vertical line spacing to 1/6 inch  
ASCII  
ESC 2  
Hexadecimal 1B 32  
Decimal  
Default:  
27 50  
3.33 mm (0.13”)  
Sets the default line spacing to 4.25 mm (1/6 of an inch).  
Line spacing is set for the station or stations selected by the command 1B 63 31 n .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
49  
Set vertical line spacing  
ASCII  
ESC 3 n  
Hexadecimal 1B 33 n  
Decimal  
27 51 n  
Value of n:  
Receipt - n/406 inch  
Slip -  
n/144 inch  
Range of n:  
0 – 255  
Default:  
Receipt - 0.13 inch (3.37 mm or 7.52 lines  
per inch, 3 extra dot rows)  
Slip -  
0.14 inch (7.20 lines per inch,  
3 extra dot rows)  
Sets the line spacing for the receipt and for the slip. For the receipt, the space is set to n/406 inches. For the slip, the line  
spacing is set to n/144 inches. The line spacing equals the character height when n is too small.  
Line spacing is set for the station or stations selected by the command 1B 63 31 n .  
If the set horizontal and vertical minimum motion units command (1D 50) is used to change the horizontal and vertical  
minimum motion unit, the parameters of this command (set line spacing) will be interpreted accordingly.  
Related information  
For more information, see the description of the set horizontal and vertical minimum motion units command  
in this document.  
Set horizontal tab positions  
ASCII  
ESC D [n] k NUL  
Hexadecimal 1B 44 [n] k 00  
Decimal  
27 68 [n] k 0  
Value of n:  
Column number for tab minus one.  
(n is always less than or equal to the  
current selected column width)  
Value of k:  
0–32 (decimal)  
Default:  
Every 8 characters from column  
1 (9, 17, 25, etc.) for normal print.  
Sets up to 32 horizontal tab positions n columns from column one, but does not move the print position. See the  
horizontal tab command (09).  
The tab positions remain unchanged if the character widths are changed after the tabs are set. The command ends  
with hexadecimal 00; hexadecimal 1B 44 00 clears all tabs.  
Tabs assumed to be in strictly ascending order. A tab out of order terminates the command string as if it were 00, and  
remaining tab values are taken as normal data.  
Formulas  
Set the tab positions in ascending order and put Hex 00 at the end.  
Hex 1B 44 00 (number of tabs not specified) clears all tab positions.  
Exceptions  
The tabs cannot be set higher than the column width of the current pitch.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
50  
Chapter 5: Programming commands  
Set relative print position  
ASCII  
ESC \ n1 n2  
Hexadecimal 1B 5C n1 n2  
Decimal  
27 92 n1 n2  
Value of n:  
To move the relative starting position right of the current position by n dots:  
n1 = Remainder after dividing n by 256  
n2 = Integer after dividing n by 256  
The values for n1 and n2 are two bytes in low byte, high byte word orientation.  
To move the relative starting position left of the current position by n dots:  
n1 = Remainder after dividing (65,536–n) by 256  
n2 = Integer after dividing (65,536–n) by 256  
The values for n1 and n2 are two bytes in low byte, high byte word orientation.  
Moves the print starting position the specified number of dots either right (up to the right margin) or left (up to the left  
margin) of the current position. The print starting position is reset to the first column after each line.  
Formulas  
To move to the left:  
Determine the value of n by multiplying the number of columns to move left of the current position by 10 (slip  
or receipt standard pitch) or 8 (receipt compressed pitch). The example shows how to set the relative position two  
columns in standard pitch (10 dots per column) to the left of the current position.  
2 x 10 =  
20 dots (two columns to be moved left of the current position)  
65,536–20 = 65516  
65,516/256 = 255, remainder of 236  
n1 = 236, n2 = 255  
To move to the right:  
Determine the value of n by multiplying the number of columns to move right of the current position by 10 (slip  
or receipt standard pitch) or 8 (receipt compressed pitch). The example shows how to set the relative position two  
columns in standard pitch (10 dots per column) to the right of the current position.  
2 x 10 =  
20/256 =  
n1 =  
20 dots (two columns to be moved left of the current position)  
0, remainder of 20  
20, n2 = 0  
Related information  
If the set horizontal and vertical minimum motion units command (1D 50) is used to change the horizontal and vertical  
minimum motion unit, the parameters of this command (set relative print position) will be interpreted accordingly. For  
more information, see the description of the set horizontal and vertical minimum motion units command (1D 50) in  
this document.  
Compatibility information (A776 receipt vs. A756 receipt)  
There is a difference in the normal behavior of this command as compared to the original A756. The difference  
exists when the command is used to move to the left. The A756 processes the whole print string prior to putting it  
in the buffer for the printhead. This method of processing allows the A756 to backup in the print string and replace  
characters and their associated attributes when a “Set relative print positioncommand instructs the printer to move  
the print position to the left.  
In order to improve the speed of printing, the A776 moves the data into a buffer for the printhead when it receives  
it. When the “Set relative print positioncommand contains a move to the left, this causes the new data to overstrike  
the previous data. This behavior can be used to an application’s advantage to provide the ability to create compound  
characters on the receipt station.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
51  
Select justification  
ASCII  
ESC a n  
Hexadecimal 1B 61 n  
Decimal  
27 97 n  
Value of n:  
0, 48 = Left aligned  
1, 49 = Center aligned  
2, 50 = Right aligned  
Range of n:  
0–2, 48–50  
Default:  
0 (Left aligned)  
Specifies the alignment of characters, graphics, logos, and bar codes.  
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.  
Exception  
This command is valid only when input at the beginning of a line.  
Set left margin  
ASCII  
GS L nL nH  
Hexadecimal 1D 4C nL nH  
Decimal  
29 76 nL nH  
Range of nL:  
0–255  
Range of nH: 0–255  
Default:  
576 dots (the maximum printable area)  
Values of n:  
nL = low byte = Remainder after dividing n by 256  
nH = high byte = Integer after dividing n by 256  
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.  
Formulas  
Sets the left margin of the printing area. The left margin is set to ((nH X 256) + nL) times horizontal motion unit) inches.  
The horizontal motion units are set by the set horizontal and vertical minimum motion units command (1D 50),  
described in this manual.  
The width of the printing area is set by the set printing area width command (1D 57), which follows this command.  
If the setting exceeds the printable area, the maximum value of the printable area is used. The maximum printable  
receipt area is 576 dots on the receipt and 420 addressable dots on the slip. See the illustration on the next page.  
To set the Receipt left margin to one inch at the default horizontal motion unit of 1/203 inches, send the four-byte  
string:  
GS L 203 0  
Or, to set the left margin to two inches at the default horizontal motion unit of 1/203 units per inch, send the four-byte  
string:  
GS L 150 1  
Where 2 inches = 406/203, and 406 = (1 X 256) + 150, derived from decimal to hexadecimal conversion:  
406/256 = 1 (nH) with remainder 150 (nL)  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
52  
Chapter 5: Programming commands  
To set the Slip left margin to one inch at the default horizontal motion unit of 1/140 inches, send the four-byte string:  
GS L 140 0  
Or, to set the left margin to two inches at the default horizontal motion unit of 1/140 units per inch, send the four-byte  
string:  
GS L 24 1  
Exceptions:  
The command is effective only at the beginning of a line. This command is ignored if the line buffer is not empty.  
Set horizontal and vertical minimum motion units  
ASCII  
GS P x y  
Hexadecimal 1D 50 x y  
Decimal  
29 80 x y  
Value of x:  
Value of y:  
Range of x:  
Range of y:  
Default of x:  
Default of y:  
Horizontal  
Vertical  
0 – 255  
0 – 255  
Receipt: 203 Slip: 140  
Receipt: 203 Slip: 144  
Sets the horizontal and vertical motion units to 1/x inch and 1/y inch respectively.  
When x or y is set to 0, the default setting for that motion unit is used.  
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.  
Set printing area width  
ASCII  
GS W nL nH  
Hexadecimal 1D 57 nL nH  
Decimal  
29 87 nL nH  
Range of nL:  
0–255  
Range of nH: 0–255  
Default:  
576 dots (the maximum printable area)  
Sets the width of the printing area. If the setting exceeds the printable area, the maximum value of the printable area  
is used. The width of the printing area is set to ((nH X 256) + nL) times horizontal motion unit) inches. The horizontal  
motion units are set by the set horizontal and vertical minimum motion units command (1D 50).  
The width of the printing area follows the set left margin command (1D 4C). See the set left margin command  
(10 4C …) earlier in this document for a description.  
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.  
Formulas  
To set the width of the receipt printing area to one inch at the default horizontal motion unit of 1/203 inches, send the  
four-byte string:  
GS W 203 0  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
53  
Or, to set the width of the printing area to two inches at the default horizontal motion unit of 1/203 units per inch,  
send the four-byte string:  
GS W 150 1  
Where 2 inches = 406/203, and 406 = (1 X 256) + 150.  
Exceptions  
This command is effective only at the beginning of a line. If the setting exceeds the printable area, the maximum value  
of the printable area is used. The maximum printable area is 576 dots on the receipt and 420 dots on the slip.  
ꢀꢁꢂꢁꢃꢄꢅꢆꢇꢅ ꢅꢃꢈꢉ  
ꢀꢁꢂꢃꢄꢅꢆꢇ ꢈꢉꢁ ꢅꢈꢊꢋꢌꢈꢍꢎꢄꢏ  
ꢐ ꢑꢄ  
ꢒꢅꢁꢓꢂꢃ  
ꢀꢁꢂꢃꢄꢂꢃꢓꢈꢉꢁ ꢅ  
ꢔꢂꢕꢄꢖ  
ꢇꢊꢃꢄꢆꢇꢅ ꢅꢃꢈꢉ  
ꢀꢁꢂꢃꢄꢅꢆꢇ ꢈꢉꢁ ꢅꢈꢗꢘꢙꢈꢍꢎꢄꢏ  
ꢐ ꢑꢄ  
ꢒꢅꢁꢓꢂꢃ  
ꢀꢁꢂꢃꢄꢂꢃꢓꢈꢉꢁ ꢅ  
ꢔꢂꢕꢄꢖ  
Text characteristics commands  
These commands control what the printed information looks like, selection of character sets, definition of custom-  
defined characters, and setting of margins. The commands are described in order of their hexadecimal codes.  
Select double-wide characters  
ASCII  
Hexadecimal 12  
Decimal 18  
DC2  
Prints double-wide characters. The printer is reset to single-wide mode after a line has been printed or the clear printer  
(0x10) command is received. Double-wide characters may be used in the same line with single-wide characters.  
Select single-wide characters  
ASCII  
Hexadecimal 13  
Decimal 19  
DC3  
Prints single-wide characters. Single-wide characters may be used in the same line with double-wide characters.  
Select 90 degree counter-clockwise rotated print  
ASCII  
Hexadecimal 1B 12  
Decimal 27 18  
ESC DC2  
Rotates characters 90 degrees counter-clockwise. The command remains in effect until the printer is reset or until a  
clear printer (0x10), select or cancel upside down print (1B 7B) or cancel rotated print (1B 56) command is received.  
Exceptions  
This command is valid only at the beginning of a line.  
Rotated print and non-rotated print characters cannot be used together in the same line.  
Related information  
See “Summary of rotated printingin this document.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
54  
Chapter 5: Programming commands  
Select pitch (column width)  
ASCII  
ESC SYN n  
Hexadecimal 1B 16 n  
Decimal  
27 22 n  
Value of n:  
0 = Standard pitch  
1 = Compressed pitch  
Default:  
0 (Standard pitch)  
Selects the character pitch for a print line.  
Formulas  
The following table provides the print characteristics for both pitches on the receipt and slip station.  
Pitch  
Receipt  
Columns  
Receipt Slip  
Slip  
CPI  
CPI  
Columns  
Standard  
44  
15.6  
20.3  
42  
51  
13.9  
17.1  
Compressed 56  
Related information  
Look in Chapter 4: Programming the Printer, “Character appearancefor a description of both pitches.  
Set right-side character spacing  
ASCII  
ESC SP n  
Hexadecimal 1B 20 n  
Decimal  
27 32 n  
Range of n:  
Default:  
0 – 32 (decimal)  
0
Sets the right side character spacing to [ n x horizontal or vertical motion units]. Values for this command are set  
independently in standard and paper mode.  
The units of horizontal and vertical motion are specified by the set horizontal and vertical minimum motion units (1D  
50 …) command. Changes in the horizontal or vertical units do not affect the current right side character spacing.  
When the horizontal or vertical motion unit is changed by the set horizontal and vertical minimum motion units (1D  
50 …) command the value must be in even units and not less than the minimum amount of horizontal movement.  
In standard mode the horizontal motion unit is used.  
In page mode the horizontal or vertical motion unit differs and depends on the starting position of the printable area.  
When the starting printing position is the upper left or lower right of the printable area (set by select print direction  
in page mode, 1B 54 n) the horizontal motion unit (x) is used. When the starting printing position is the upper right or  
lower left of the printable area (set by select print direction in page mode, 1B 54 n) the vertical motion unit (y) is used.  
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
55  
Select print mode  
ASCII  
ESC ! n  
Hexadecimal 1B 21 n  
Decimal  
27 33 n  
Value of n:  
Value of n  
Pitch selection (standard, compressed, double-high, or double-wide.)  
Bit  
Function  
0
1
Bit 0 Pitch  
Standard1  
pitch  
Compressed  
pitch  
(See chart below)  
Bit 3 Emphasized mode Canceled  
Set  
Set  
Set  
Set  
Bit 4 Double-high  
Bit 5 Double-wide  
Canceled  
Canceled  
Bit 7 Underlined mode Canceled  
Bits 1, 2 and 6 are not used.  
1Standard and compressed pitch cannot be used together in the same line.  
Slip Default is standard pitch on A776 and compressed pitch on B780.  
Selects the print mode: standard, compressed, double-high, or double-wide.  
Default:  
Pitch  
00  
Receipt Receipt  
Station  
Slip  
Station  
Slip  
CPI  
CPI  
Standard  
44  
15.6  
20.3  
42  
51  
13.9  
17.1  
Compressed 56  
Related information  
Double-high can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.  
The bits in this command perform the same function as the stand-alone functions:  
1B 16 n  
1B 45 n  
1B 47 n  
12  
13  
1B 2D n  
Select pitch  
Emphasized  
Double-strike  
Double-wide  
Single-wide  
Underline  
Select or cancel user-defined character set  
ASCII  
ESC % n  
Hexadecimal 1B 25 n  
Decimal  
27 37 n  
Value of n:  
0 = Code Page 437  
1 = User Defined (RAM)  
2 = Code Page 850  
Range of n:  
0–2  
Default:  
0 (Code Page 437)  
Selects the character set. When an undefined RAM character is selected, the code page 437 character is used. Look in  
Appendix B for the character sets.  
Exception:  
The character sets cannot be used together on the same line.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
56  
Chapter 5: Programming commands  
Define user-defined character set  
ASCII  
ESC & s c1 c2 [character 1 data] ... [character k data]  
Hexadecimal 1B 26 s c1 c2 [character 1 data] ... [character k data]  
Decimal  
27 38 s c1 c2 [character 1 data] ... [character k data]  
Values and ranges:  
Receipt:  
s = 3, the number of bytes (vertically) in the character cell  
c = the ASCII codes of the first (c1) and last (c2) characters respectively  
c1 = Hex 20–FF (20 is always printed as a space)  
c2 = Hex 20–FF (20 is always printed as a space)  
To define only one character, use the same code for both c1 and c2  
k = c2 – c1 + 1 = the number of characters to be defined in this command string  
[character i data] = [ni d1 ... d(3 x ni)] for 1 ≤ i ≤ k  
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16  
d = the dot data for the characters  
The number of bytes for the ith character cell is 3 x ni.  
The bytes are printed down and across each cell.  
Defines and enters downloaded characters into RAM. The command may be used to overwrite single characters. User-defined  
characters are available until power is turned off or the initialize printer command (1B 40) is received.  
Any invalid byte (s, c1, c2, n1) aborts the command.  
ꢝꢏꢊꢏꢑ ꢎꢈꢊꢋꢌꢍꢌꢊꢎꢏꢍꢒꢈꢓꢔꢄꢈꢕꢖꢈꢚꢘ  
ꢆꢇ ꢈꢇꢉꢈꢊꢋꢌꢍꢌꢊꢎꢏꢍ  
ꢃꢐꢑ ꢈꢊꢋꢌꢍꢌꢊꢎꢏꢍꢒꢈꢓꢔꢄꢈꢕꢖꢈꢗꢘ  
ꢆꢇ ꢈꢇꢉꢈꢊꢋꢌꢍꢌꢊꢎꢏꢍ  
ꢂꢃꢄ  
ꢀꢁ  
ꢀꢔ ꢀꢕ  
ꢀꢔꢕ  
ꢀꢔ ꢀꢜ  
ꢅꢃꢄ  
ꢀꢕ  
ꢀꢚ  
ꢀꢙ  
ꢀꢓꢚꢈꢛꢈꢁ  
Slip:  
s = 0  
c = the ASCII codes of the first (c1) and last (c2) characters  
respectively  
c1 = Hex 20–FF  
c2 = Hex 20–FF  
To define only one character, use the same code for  
both c1 and c2  
d = the column data for the nth character as specified  
by d1 ... d12  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
57  
Each character is defined by 12 bytes (only bytes 2–11 are printed.)  
Each byte is one column (full- or half-dot column.)  
Overlapped dots are not printed.  
The data must contain [(c2 - c1 + 1) x 12] bytes. (See illustration.)  
Defines and enters downloaded characters into RAM or flash. The command may be used to overwrite single  
characters. User-defined characters are available until power is turned off or the initialize printer command (1B 40) is  
received.  
Any invalid byte (s, c1, c2, n1) aborts the command.  
User-defined character sets for both slip and receipt may be used at the same time.  
s = 2 B780, slip only. Limited emulation of A721.  
Related information  
See 1D 22 n (select memory type where to save user-defined fonts.)  
Select or cancel underline mode  
ASCII  
ESC - n  
Hexadecimal 1B 2D n  
Decimal  
27 45 n  
Decimal Hex  
Value of n:  
0, 48  
1, 49  
2, 50  
30 = Cancel underline mode  
31 = Select underline mode  
32 = Select double thickness  
underline mode  
Default:  
0 (Cancel underline mode)  
Turns underline mode on or off. Underlines cannot be printed for spaces set by the horizontal tab, set absolute start  
position, or set relative print position commands.  
This command and the select print mode(s) command (1B 21) turn underline on and off in the same way.  
Exceptions  
This command is ignored if n is out of the specified range.  
Copy character set from ROM to RAM  
ASCII  
ESC : 0 0 0  
Hexadecimal 1B 3A 30 30 30  
Decimal  
Default:  
27 58 48 48 48  
Code page 437  
Copies characters in the active ROM set to RAM. Use this command to re-initialize the user-defined character set. Code  
page 437 is copied by default at initialization. This command is ignored if current font is the user font.  
Related information  
To modify characters in one of the character set variations, such as rotated print, select one of the rotated print  
commands, copy to RAM, then use the define user-defined character set command (1B 26).  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
58  
Chapter 5: Programming commands  
Cancel user-defined character  
ASCII  
ESC ? n  
Hexadecimal 1B 3F n  
Decimal  
27 63 n  
Value of n:  
Range of n:  
Specified character code.  
32–255  
Cancels the pattern defined for the character code specified by n. After the user-defined character is canceled, the  
corresponding pattern from code page 437 is printed.  
Exceptions  
This command is ignored if n is out of range or if the user-defined character is not defined.  
Select or cancel emphasized mode  
ASCII  
ESC E n  
Hexadecimal 1B 45 n  
Decimal  
27 69 n  
Value of n:  
0 (bit 0) not selected  
1 (bit 0) selected  
(When 0 and 1 are the least  
significant bit, LSB)  
Range of n:  
0–255  
Default:  
0 (bit 0)  
Starts or stops emphasized printing on slip and receipt.  
In emphasized mode on the slip, each line is printed twice to improve penetration of multi-part forms and increase  
print contrast. The second pass is printed the same direction as the first to ensure accuracy of the overprint. Printing  
speed decreases due to the second printing pass.  
Exceptions  
Only the lowest bit of n is effective.  
Emphasized printing cannot be used with bit-images or downloaded bit-images.  
Related information  
This command and the select print mode(s) command  
(1B 21) function identically.  
Select double-strike  
A756 emulation  
A776 native mode  
ASCII  
Hexadecimal 1B 47  
Decimal  
ESC G  
ESC G n  
1B 47 n  
27 71 n  
27 71  
Value of n:  
0 = Off  
1 = On  
(When 0 and 1 are the  
least significant bit, LSB)  
Default:  
0 (O)  
Turns double-strike mode on for the slip station. Overprints a second pass of the print line on the slip station to  
improve penetration of multi-part forms and increase print contract. The second pass is printed the same direction as  
the first to ensure accuracy of the overprint. The printer is reset to the standard print mode after a clear printer (0×10)  
command is received.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
59  
Exceptions  
The settings do not apply in page mode, However they can be set or cleared in page mode.  
Double-strike printing cannot be used with bit-images or downloaded bit-images.  
This command functions the same as A756 when the printer is in A756 emulation mode. In A776 native mode, the  
command takes a parameter to enable and disable it.  
Related information  
Printer output is the same as in emphasized mode.  
Cancel double-strike  
ASCII  
Hexadecimal 1B 48  
Decimal 27 72  
ESC H  
Turn off double-strike mode on the slip station in A756 emulation mode.  
Select or cancel italic print  
ASCII  
ESC I n  
Hexadecimal 1B 49 n  
Decimal  
27 73 n  
Value of n:  
0 = Off  
1 = On  
(When 0 and 1 are the least  
significant bit, LSB)  
Default:  
0 (O)  
Turns italic print mode on or off.  
Italic print mode is available for built-in, user-defined characters. This command only works on the receipt station.  
Select international character set  
ASCII  
ESC R n  
or  
or  
or  
ESC t n  
1B 74 n  
27 116 n  
Hexadecimal 1B 52 n  
Decimal  
27 82 n  
Value of n:  
A776 native mode  
A756 emulation  
0 = Code Page 437  
1 = Code Page 850  
2 = Code Page 852  
3 = Code Page 860  
4 = Code Page 863  
5 = Code Page 865  
6 = Code Page 858  
7 = Code Page 866  
8 = Code Page 1252  
9 = Code Page 862  
10 = Code Page 737  
12 = Code Page 857  
0 = Code Page 437  
Not 0 = Code Page 850  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
60  
Chapter 5: Programming commands  
Default:  
0 (Code Page 437)  
Selects the character set to be used. Look in “Appendix B: Resident Character Setsfor the character sets.  
There are two codes for this command (see select international character set, 1B 74 n). Both codes  
perform the same function.  
Exception  
The character sets cannot be mixed on the same line.  
Related information  
This command may also be known as select character code table.  
Select character code table  
See the previous command, select international character set, 1B 52 n .  
Select or cancel 90 degree clockwise rotated print  
ASCII  
ESC V n  
Hexadecimal 1B 56 n  
Decimal  
27 86 n  
Value of n:  
0 = Cancel  
1 = Set  
Default:  
0 (Cancel)  
Rotates characters 90 degrees clockwise. The command remains in effect until the printer is reset or until a clear printer  
(0x10) or rotated print (1B 12) command is received. See summary of rotated printing in this document.  
Select or cancel upside-down print mode  
ASCII  
ESC { n  
Hexadecimal 1B 7B n  
Decimal  
27 123 n  
Value of n:  
0 = Cancel  
1 = Set  
Default:  
0 (Cancel)  
Prints upside-down characters. The character order is inverted in the buffer so text is readable. The command remains  
in effect until the rotated print (1B 12) command is received. Only bit 0 is used. Bits 1–7 are not used. See summary of  
rotated printing in this document for more information.  
Exceptions  
The command is valid only at the beginning of a line.  
The rotated print command (1B 12) cancels this command.  
Select character size  
ASCII  
GS ! n  
Hexadecimal 1D 21 n  
Decimal  
29 33 n  
Value of n:  
1–8 = vertical number of times normal font  
1–8 = horizontal number of times normal font  
Range of n:  
Default of n:  
00–07, 10–17, ...70–77  
0
Selects the character height for receipt printing using bits 0 to 2 and selects the character width using bits 4 to 7, as  
follows:  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
61  
Character width selection  
Hex  
00  
10  
20  
30  
40  
50  
60  
70  
Decimal Width  
0
1 (normal)  
16  
32  
48  
64  
80  
96  
112  
2 (two times width)  
3 (three times width)  
4 (four times width)  
5 (five times width)  
6 (six times width)  
7 (seven times width)  
8 (eight times width)  
Character height selection  
Hex  
00  
01  
02  
03  
04  
05  
06  
07  
Decimal Height  
0
1
2
3
4
5
6
7
1 (normal)  
2 (two times height)  
3 (three times height)  
4 (four times height)  
5 (five times height)  
6 (six times height)  
7 (seven times height)  
8 (eight times height)  
This command is effective for all characters (except for HRI characters).  
In standard mode, the vertical direction is the paper feed direction, and the horizontal direction is perpendicular to  
the paper feed direction. However, when character orientation changes in 90 degree clockwise-rotation mode, the  
relationship between vertical and horizontal directions is reversed.  
In page mode, vertical and horizontal directions are based on the character orientation. When characters are enlarged  
with different sizes on one line, all the characters on the line are aligned at the baseline.  
The select print mode (1B 21 n) command can also select or cancel double-width and double-height modes. However,  
the setting of the last received command is effective.  
Exceptions  
If n is out of the defined range, this command is ignored. This command is only valid for the receipt station.  
Select or cancel white/black reverse print mode  
ASCII  
GS B n  
Hexadecimal 1D 42 n  
Decimal  
29 66 n  
Value of n:  
0 = Off  
1 = On  
(When 0 and 1 are the least significant bit, LSB)  
Range of n:  
0–255  
0 (O)  
Default:  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
62  
Chapter 5: Programming commands  
Turns on white/black reverse print mode. In white/black reverse print mode, print dots and non-print dots are reversed,  
which means that white characters are printed on a black background. When the white/black reverse print mode is  
selected it is also applied to character spacing which is set by right-side character spacing (1B 20).  
This command can be used with built-in characters and user-defined characters, but does not affect the space  
between lines.  
White/black reverse print mode does not affect bit image, downloaded bit image, bar code, HRI characters, and  
spacing skipped by horizontal tab (09), set absolute starting position (1B 24 …), and set relative print position (1B 5C).  
White/black reverse print mode has a higher priority than underline mode. When underline mode is on and white/  
black reverse print mode is selected, underline mode is disabled, but not canceled.  
Bar codes, logos, and bit images are not affected by this command.  
Exceptions  
This command is only valid for the receipt station.  
Set smoothing  
ASCII  
GS b n  
Hexadecimal 1D 62 n  
Decimal  
29 98 n  
Value of n:  
0 = smoothing off,  
1 = smooting on,  
default = off  
Turns smoothing mode on or off for the quadruple or larger sizes of characters.  
Reverse color text mode (ColorPOS®)  
ASCII  
GS 0x85 m n  
Hexadecimal 1D 85 m n  
Decimal  
29 133 m n  
Value of m:  
0 = white  
1 = black  
2 = paper color  
Value of n:  
0 = white  
1 = black  
2 = paper color  
Default:  
m = 0 (o)  
Sets a mode for reverse printing effects on text. The background color is specified by m, while the text color is specified  
by n. Setting m = 0 turns off the mode.  
If m = n but not zero, the printer produces solid printing in the given color. This tactic can be used to minimize the  
firmware busy work.  
The value of current color and white/black reserve print mode is superseded by the value of n whenever this mode is  
on (m>0). Bar codes, logos, and bit images are not affected by this command.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
63  
Text strike-through mode (ColorPOS®)  
ASCII  
GS 0x85 m n  
Hexadecimal 1D 8D n m  
Decimal  
29 141 n m  
Value of m:  
0 = retain same color as the character itself  
1 = black  
2 = paper color  
Value of n:  
standard cell height  
Default:  
n = 0 (o)  
Prints a strike-through over characters. If the strike-through is as wide as the cell height, this will produce a cell that will  
be printed as a solid current color.  
When characters are greater than normal size, such as double-high, the number of character rows claimed by n also  
increases proportionally, such as doubling for double-high cells. Location of the strike-through on a cell is on a cell-by-  
cell basis, so mixing cell sizes on the same print row will give uneven results.  
Select font ID number  
ASCII  
Hexadecimal 1D F0 01 n  
Decimal 29 240 1 n  
GS 0xF0 0x01 n  
Value of n: 128 - 255  
Select font ID number for downloaded font.  
This command is sent before downloading the map file for a specific font. Each font ID has one map file to download.  
This command is also sent to select a downloaded font at run time.  
Three Asian Fonts are available for use on the A799 printer: Traditional Chinese, Kanji, and Korean. Only one of these  
character sets can be downloaded to the printer at one time.  
Font ID  
C3 (hex)  
CB (hex)  
CE (hex)  
Font  
Traditional Chinese  
Kanji  
Korean  
Note: Before downloading one of the Asian Fonts, the expanded flash memory allocation must be set up to expand the  
size of the permanent font space. (See Expanded Flash Memory Allocation below). For Traditional Chinese, 1.3 Meg of  
space is required. Kanji requires 1 Meg, and Korean requires of 1 Meg of space in the permanent font area.  
Select font style number  
ASCII  
Hexadecimal 1D F0 02 n  
Decimal 29 240 2 n  
GS 0xF0 0x02 n  
Value of n: 0 - 255  
Select font style number for downloaded font. After selecting font style number, set the horizontal and vertical  
character spacing for the characters.  
This command is sent before downloading the map file for a specific font. Each font ID can have multiple styles. For  
example, two different styles could be 16 x 16 Gothic and 24 x 24 Gothic, or three different styles could be 16 x 16  
Gothic, 16 x 16 Ariel, and 16 x 16 Courier. Each style number within a font has one character definition file.  
This command is also sent to select a downloaded font style at run time.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
64  
Chapter 5: Programming commands  
Save font ID number as default font at power up  
ASCII  
Hexadecimal 1D F0 03  
Decimal 29 240 3  
GS 0xF0 0x03  
Save current font ID number as default font at power up. All characters will be printed from the downloaded font.  
Download font  
ASCII  
Hexadecimal 1D F0 80  
Decimal 29 240 128  
GS 0xF0 0x80 followed by file  
This command is the sequence introducer for downloading existing files.  
The downloaded font is always stored in the permanent font area of flash. If there is not enough memory in the  
permanent font area to store the file the printer returns NACK.  
When the file is downloaded the printer returns ACK.  
If the file contents are incorrect the printer returns NACK. File format to be described in appendix.  
So the full sequence for downloading files as font ID 90 would be:  
1D F0 01 CB  
1D F0 80 followed by map file shftjis.chr  
1D F0 02 01  
1B 20 n for horizontal character spacing  
1B 33 n for vertical character spacing  
1D F0 80 followed by character definition file shftj16.chr  
1D F0 02 02  
1B 20 n for horizontal character spacing  
1B 33 n for vertical character spacing  
1D F0 80 followed by character definition file shftj24.chr  
Download font list  
ASCII  
Hexadecimal 1D F0 C0 02  
Decimal 29 240 192 2  
GS 0xF0 0xC0 0x02  
Print downloaded font information.  
Select superscript or subscript modes  
ASCII  
US ENQ n  
Hexadecimal 1F 05 n  
Decimal  
31 05 n  
Value of n:  
0 = Normal character size  
1 = Select subscript size  
2 = Select superscript size  
Default:  
0 (normal size)  
Turns superscript or subscript modes on or off. This attribute may be combined with other characters size settings  
commands (12, 13, 1B 21 n, 1D 21 n,…)  
This command is available only on the receipt station.  
Exceptions  
This command is ignored if n is out of the specified range.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
65  
Define extended user-defined character set  
ASCII  
US & s c1 c2 [character 1 data] ... [character k data]  
Hexadecimal 1F 26 s c1 c2 [character 1 data] ... [character k data]  
Decimal  
31 38 s c1 c2 [character 1 data] ... [character k data]  
Values and ranges:  
s = the number of dot rows in the character cell (maximum 64)  
c = the ASCII codes of the first (c1) and last (c2) characters respectively  
ꢁꢈꢇ  
ꢀꢇ ꢀ  
c1 = Hex 20–FF (20 is always printed as a space)  
c2 = Hex 20–FF (20 is always printed as a space)  
To define only one character, use the same code for both c1 and c2  
j = s/8 = the number of bytes (vertically) in the character cell  
k = c2 – c1 + 1 = the number of characters to be defined in this command  
string: [character i data] = [ni d1 ... d(j x ni)] for 1 ≤ i ≤ k  
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16  
d = the dot data for the characters  
ꢀꢁ  
The number of bytes for the ith character cell is j x ni.  
ꢂꢁꢃꢄꢃꢅꢆ  
The bytes are printed down and across each cell.  
See the illustration.  
Defines and enters downloaded characters into RAM. The command may be used to overwrite single characters. User-  
defined characters are available until power is turned off or the Initialize Printer command (1B 40) is received.  
Any invalid byte (s, c1, c2, n1, n2) aborts the command.  
Select active user-defined character set  
Selects user-defined character set number for download or printing. The default at power on is 0.  
ASCII  
US i n  
Hexadecimal 1F 69 n  
Decimal  
31 105 n  
n = 0 - 127  
Set high order bit of n to configure user-defined character set number as the default. To configure the printer to print from  
the user-defined character set at power, send 1F 3 0F 01 and reset the printer. Information will print on the first diagnostic  
page.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
66  
Chapter 5: Programming commands  
Graphics  
These commands are used to enter and print graphics data and are described in order of their  
hexadecimal codes.  
Download BMP logo  
ASCII:  
ESC (+*.BMP file)  
Hexadecimal: 1B (+*.BMP file)  
Decimal:  
Value:  
27 66 77 (+*.BMP file)  
Maximum width = 576  
(640 for 8.5 mm paper)  
Maximum height = 512  
Enters a downloaded BMP logo into RAM or flash.  
The downloaded BMP logo can be printed by using the print downloaded bit image (1D 2F m) command.  
To downloaded BMP file to save it as a logo, send the hexadecimal code 1B followed by the whole BMP file.  
The printer decodes the BMP file header and will save the image data after checking important parameters, such as  
width, height, and the number of colors (only monochrome images are accepted).  
BMPs and bit images are definable for the receipt station. However, there is no longer an automatic erasure whenever  
the user downloads a character set (as happened previously) as well as in the case where the current logo was never  
set > 0, (the automatic erasure if user flash memory had filled up with inactive logo 0 definitions upon next power  
cycle). Warnings about the effect of running out of defined logo space during a download apply (i.e. the command is  
ignored). The application is required to manage user data space, downloaded font space, and logo space.  
After downloading a logo to the printer, wait 100 ms to allow the printer time to write the logo to flash.  
The downloaded BMP file can be printed by using the print downloaded bit image (1D 2F m) command.  
Exceptions  
This command is valid only for the receipt station. This command is valid only for monochrome logos.  
Related information  
Microsoft BMP bitmap file format.  
See Select the Current Logo (1D 23 xx) for additional information.  
See Download Logo Image (1D 84) for information concerning color logos.  
Select bit image mode  
ASCII  
ESC * m n1 n2 d1 ... dn  
Hexadecimal 1B 2A m n1 n2 d1 ... dn  
Decimal  
27 42 m n1 n2 d1 ... dn  
Value of m:  
Receipt Station  
Value of m  
Mode  
No. of dots (vertical)  
8 (68 DPI)  
No. of dots (horizontal)  
0–288 (101 DPI)  
0
8-Dot single-density  
8-Dot double-density  
24-Dot single-density  
24-Dot double-density  
1
8 (68 DPI)  
0–576 (203 DPI)  
32  
33  
24 (203 DPI)  
24 (203 DPI)  
0–288 (101 DPI)  
0–576 (203 DPI)  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
67  
Slip Station  
Value of m  
Mode  
No. of dots (vertical)  
8 (72 DPI)  
No. of dots (horizontal)  
210 (70 DPI)  
0
8-Dot single-density  
8-Dot double-density  
Not available on slip  
1
8 (72 DPI)  
420 (140 DPI)  
32, 33  
In single density, one byte (8-dots) is printed in each full dot column. In double-density, one byte is  
printed in each half/full dot column, but adjacent horizontal dots (overlapping dots) are not printed.  
Value of n:  
Value of n (8-dot single-density mode)  
Value of n (24-dot single-density mode)  
Value of d  
n1 + (256 × n2)  
3 x [n1 + (256 × n2)]  
Number of bytes of data*  
*Printed left to right (8-dot mode); Printed down then across (24-dot mode).  
Formulas  
8-dot single-density  
24-dot single-density  
n1 + (256 × n2)  
3 x [ n1 + (256 × n2)]  
Sets the print resolution and enters one line of graphics data into the print buffer. Excess data is accepted but ignored.  
Any print command is required to print the data, after which the printer returns to normal processing mode.  
See the illustration for graphic representations of the bit image on next page.  
In A756 emulation mode, slip graphics are only seven dots high.  
Print advanced raster graphics  
ASCII  
ESC . m n rL rH d1 … dn  
Hexadecimal 1B 2E m n rL rH d1 … dn  
Decimal  
27 46 m n rL rH d1 … dn  
Value of m:  
Value of n:  
Value of r:  
d1 … dn:  
Range:  
horizontal offset from left margin = 8 x m dots  
number of data bytes that compose the raster  
number of times the raster has to be printed =256 x rH + rL  
data bytes  
0<= m <= 72  
0<= n <= 72  
0<= r <= 65535  
0<= d1 … dn <= 255  
Prints a horizontal raster of graphics data one or multiple times. Horizontal offset and number of data bytes are  
variable and specified by parameters.  
Exceptions  
Advanced raster graphics is not available in page mode.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
68  
Chapter 5: Programming commands  
Select double-density graphics  
ASCII  
Hexadecimal 1B 59 n1 n2 d1 ... dn  
Decimal 27 89 n1 n2 d1 ... dn  
ESC Y n1 n2 d1 ... dn  
Equivalent to 1B 2A m=1 n1 n2 d1 ... dn  
Print Flash Logo  
ASCII  
Hexadecimal 1C 70 n m  
Decimal 28 112 n m  
FS p n m  
Print flash logo ID n using mode m. See command 1D 2F m for description of mode m. See  
command 1C 71 for description of n. The select slip command x/C must be disabled via  
1F 03 38 00 to use this logo command.  
Define Flash Logos  
ASCII  
Hexadecimal 1C 71 n [xL xH yL yH d1 …dk]1…[xL xH yL yH d1 …dk]n  
Decimal 28 113 n [xL xH yL yH d1 …dk]1…[xL xH yL yH d1 …dk]n  
FS q n [xL xH yL yH d1 …dk]1…[xL xH yL yH d1 …dk]n  
Define n flash logos specified by IDs 1 through n. Maximum size of logos is determined by  
amount of flash allocated to logos. See command 1D 22 80… for flash allocation.The select slip  
command x/C must be disabled via 1F 03 38 00 to use this logo command.  
0 < xH:xL < 1024 max printable xH:xL = 72 = 576 dots wide  
0 < yH:yL < 256  
For each logo definition: xH:xL times 8 dots in the horizontal direction, yH:yL times 8 dots  
in the vertical direction. Total data definition bytes k = xH:xL times yH:yL times 8 bytes. See  
command 1D 2A x y … for description of data definition bytes arrangement.  
During execution of this command printer turns off USM and Real Time status processing. The  
printer goes busy when writing to flash. At the end of this command the printer resets.  
Select the current logo (downloaded bit image)  
ASCII  
GS # n  
Hexadecimal 1D 23 n  
Decimal  
29 35 n  
0 – 255  
0
Range of n:  
Default:  
Selects a color or monochrome logo to be defined or printed. The active logo n remains in use until this command is  
sent again with a different logo n.  
When this command precedes a logo definition, that definition is stored in flash memory as logo n. If there is already  
a different definition in flash memory for logo n, the first is inactivated and the new definition is used. The inactive  
definition is not erased from flash and continues to take up space in flash memory.  
When this command precedes a logo print command and n is different from the previously active logo selected, the  
printer retrieves the logo definition for n from flash memory and prints it. If there is no definition for logo n, then no  
logo is printed.  
In the case of a previously existing application that expects only one possible logo, the printer will not receive the  
select current logo (1D 23 n) command. In this case, the printer assigns 0 as the active logo identifier. It automatically  
stores any new logo definition in flash memory as logo 0, inactivating any previous logo 0 definition. If the flash  
memory space available for logos fills up with inactive logo 0 definitions, the firmware erases the old definitions at the  
next power cycle. This is the only case in which the printer erases flash memory without an application command.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
69  
In the case of a new application using multiple logos, the select current logo (1D 23 n) command is used. After that, the  
printer no longer automatically erases the logo definition flash memory page when it fills with multiple definitions. A  
new application using multiple logos, writing a user-defined character set into flash memory, or both, is responsible  
for erasing the logo and user-defined character set flash memory page when the logo area is full or before a new  
character set is defined.  
Exception  
This command is only valid for the receipt station, However, it will processed correctly, regardless of whether the  
receipt station is currently selected.  
Define downloaded bit image  
ASCII  
GS * n1 n2 d1 ... dn]  
Hexadecimal 1D 2A n1 n2 d1 ... dn]  
Decimal  
29 42 n1 n2 d1 ... dn]  
Value of n1:  
Value of n2:  
Value of d:  
See the following table  
See the following table  
See the following table  
Value of n1  
Value of n2  
Value of d  
1–56 (8 x n1 = number of  
horizontal dot columns)  
1–64 (number of vertical bytes)  
Bytes of data  
(printed down, then across)  
*The number of bytes sent is represented by the following formula:  
n = 8 x n1 x n2 (n1 x n2 must be less than or equal to 4608).  
Enters a downloaded bit image (such as a logo) into RAM or flash with the number of dots specified by n1 and n2.  
If in RAM, the downloaded bit image is available until power is turned off, another bit image is defined, or initialize  
printer (1B 40) command is received.  
See the illustration below for a graphic representation of the downloaded bit image.  
Related Information  
See 1D 22 n (select memory type to store logos and 1D 23 n (select the current logo.)  
Print downloaded bit image  
ASCII  
Hexadecimal 1D 2F m  
Decimal 29 47 m  
GS / m  
Value and range of m:  
This command is used to print a previously stored monochrome or color logo from printer memory on the receipt  
station. The logo is identified as the one indicated by the most recent select current logo command or 0 if a select  
current logo command has not yet been given. Parameter m is interpreted as follows:  
Value of m Print mode  
Vertical DPI Horizontal DPI  
0
1
2
3
Normal  
203  
203  
101  
203  
101  
Double-wide 203  
Double-high 101  
Quadruple  
101  
The indexed downloaded bit image from RAM or flash will be printed on the receipt station at a size specified by m.  
If the bit image is a monochrome one, it is printed in the current color; otherwise it is printed as a two-color image. If  
doubling or quadrupling exceeds the print paper width maximums (576 or 640 with 82.5 mm paper) the left side of the  
image is printed and the bits to the right of the maximum column are discarded. If the available width is greater than  
the bit image, its printing will adhere to any currently set right, left, or center justification. This command is ignored if  
the index refers to an undefined logo/ bit image.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
70  
Chapter 5: Programming commands  
Print raster monochrome graphics (ColorPOS®)  
ASCII  
GS 0x82 n1…..n72 (576 dots) for 80 mm paper, or n80 (640 dots) for 82.5 mm paper  
Hexadecimal 1D 82 n1…..n72 (576 dots) for 80 mm paper, or n80 (640 dots) for 82.5 mm paper  
Decimal  
29 130 n1…..n72 (576 dots) for 80 mm paper, or n80 (640 dots) for 82.5 mm paper  
Value and range of n: n1 to n72/n80 corresponds to one dot row data for a thermal receipt printer.  
Each bit defines whether or not a dot of the current color will be printed. This command is used for printing a  
monochrome graphic in real-time. Offsets, page and any other modes or overlays, including watermark do not apply  
and are overridden by this command. A complete rendering of the intended final image should have been done by the  
application before sending the dot rows.  
If two-color paper is indicated by the set paper type command, then the raster will be printed in the color that is  
defined by the set current color command.  
Print raster color graphics (ColorPOS®)  
ASCII  
Hexadecimal 1D 83 n1…..n144 (576 dots 80 mm paper) / n160 (640 dots, 82.5 mm paper)  
Decimal 29 13 n1…..n144 (576 dots 80 mm paper) / n160 (640 dots, 82.5 mm paper)  
GS 0x83 n1…..n144 (576 dots 80 mm paper) / n160 (640 dots, 82.5 mm paper)  
Value and range of n: n1 to n144 / n160 corresponds to one dot row data.  
For each printed dot row starting at the top left, two-part bit strings are used to define (in the first half), all dots that  
are of either color (i.e. not white). The second half string defines only the dots where the color = black. Thus all dots  
which are on in the first half string but not on in the second half string, select the secondary color. The parameter of  
this command is thus a string of bytes for one dot row with the same structure as defined for the thermal color format  
file given in the download color  
logo command.  
This command is used for printing a single raster of color graphics in real-time. Offsets, page and any other modes or  
overlays, including watermark, and current color do not apply to this command. A complete rendering of the intended  
final image has to be done by the application before sending the dot rows.  
Download logo image (ColorPOS®)  
ASCII  
GS 0x84 m n1 n2 d1…..dx , x = (n1 * n2*8 ) * m  
Hexadecimal 1D 84 m n1 n2 d1…..dx , x = (n1 * n2*8 ) * m  
Decimal  
29 132 m n1 n2 d1…..dx , x = (n1 * n2*8 ) * m  
Value of m:  
1 = monochrome  
2 = two-color  
Max n1 =  
576/8 for 80 mm paper or  
640/8 for 82.5 mm paper  
The latest value from the set current logo command will be the logo index to be used to store the downloaded  
graphic.  
m identifies whether the image is monochrome (which requires one parameter bit row description) or two-color,  
which requires a pairing of bit descriptions for each row.  
n1 * n2 define a rectangular image n1 bytes wide and n2 bytes long. n1*8 specifies the number of dot columns, and  
n2*8 the number of dot rows. That is, each row is defined by an integral number of bytes and the number of rows is  
also an integral number of bytes. Note that n2 can be any length, subject to memory space availability.  
For each color dot row starting at the top left, a two part parameter byte string is used to define first, all dots that are  
not white, and the second half defines all dots where the color = black. Thus all dots that are on (=1) in the first half but  
not on in the second half select the paper-color. A sequence of these raster row strings is used to specify the complete  
logo. In the monochrome case, only one bit is needed per row. This is the same structure as used for the definitions of  
print raster monochrome graphics and print raster color graphics.  
This command is used for storing a logo of n1 by n2 size indexed by the current logo value.  
After downloading a logo to the printer, wait 100 ms to allow the printer time to write the logo to flash.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
71  
Monochrome shade mode (ColorPOS®)  
ASCII  
Hexadecimal 1D 86 m  
Decimal 29 134 m  
GS 0x86 m  
This applies a selected shade density to all monochrome objects such as text and monochrome logos. The parameter  
m specifies the shading effect and has an initial value of 0 which signifies no effect.  
m specifies the percentage of shading, 0 <= m <= 100.  
m = 0 is the initial value and turns this mode off.  
Note: that only a few gradations will be perceptible, so large increments of m, such as 20, should be used. If a reverse print  
mode is on, the shade effect will be applied to the background only.  
When the current color mode is set to black, increasing values of m relate to the relative amount of (white) paper that  
replaces black dots. Analogously, when the paper-color is the current color, m defines the relative amount of color dots  
being “erasedby white originals of the paper.  
Both text and monochrome graphics are affected by this command.  
Turning monochrome shade mode on, turns color shade mode off.  
ꢗꢕꢎꢏꢁꢇ ꢐꢆꢑꢉꢒꢊꢎꢓꢊꢑꢐꢆꢇꢔꢃ ꢁꢓꢊ  
ꢀꢁꢂꢃꢁꢄꢃꢅꢆꢇꢃꢆ ꢈꢉꢊ  
ꢍꢎꢏꢁꢇꢃꢐꢆꢑꢉꢒꢊꢎꢓꢊꢑꢐꢆꢇꢔꢃ ꢁꢓꢊ  
ꢀꢁꢂꢃꢁꢄꢃꢅꢆꢇꢃꢆ ꢈꢉꢊ  
ꢋꢊꢌꢊꢆꢂꢇ  
ꢙꢚꢛ  
ꢓꢘ    
ꢙꢚꢛ  
ꢓꢑ  
ꢃꢓꢘ ꢃꢓꢗ ꢃꢓꢖ ꢓꢕ  
ꢃꢓꢑ  
ꢓꢑ  
ꢓꢗ   
ꢜꢚꢛ  
ꢓꢖ ꢓ!  
ꢃꢓꢑ  
ꢜꢚꢛ  
Color shade mode (ColorPOS®)  
ASCII  
Hexadecimal 1D 87 m  
Decimal 29 135 m  
GS 0x87 m  
This applies a mixing of color into any monochrome objects such as text and monochrome logos. Rather than fading  
away, this mode transitions a character or logo from the current color in which it would normally be printed to the  
other color. The parameter m specifies the shading effect and has an initial value of 0 which signifies no effect. m  
specifies the percentage of shading, 0 <= m <= 100.  
m specifies the percentage of shading, 0 <= m <= 100.  
m = 0 is the initial value and turns this mode off.  
Note: Only a few gradations will be perceptible, so large increments of m, such as 20, should be used. If a reverse print mode  
is on, the shade effect will be applied to the background only.  
When the current color mode is set to black, increasing values of m relate to the relative amount of paper-color that  
replaces black dots. Analogously, when the paper-color is the current color, m defines the relative amount of black  
color dots replacing the paper-color ones.  
Both text and monochrome graphics are affected by this command.  
Turning color shade mode on, turns monochrome shade mode off.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
72  
Chapter 5: Programming commands  
Logo print with color plane swap (ColorPOS®)  
ASCII  
Hexadecimal 1D 89 n m  
Decimal 29 137 n m  
GS 0x89 n m  
This command will print logo n. The command is ignored if a logo with index n has not been defined. If m = 0 the  
color(s) as defined in the logo is (are) used; if m = 1 and if the logo is a color one, then the two color planes (black and  
paper-color) in the logo are swapped.  
Apply shading to logo (ColorPOS®)  
ASCII  
Hexadecimal 1D 8B n m o  
Decimal 29 139 n m o  
GS 0x8B n m o  
This command will apply shading effect m to logo n and store it at index o, also extending width to full horizontal size  
if logo n is not at full paper width.  
n must be the index value of an existing logo  
0 <= m <= 100, possibly resulting in a logo suitable for background watermark mode use  
o can be any value, and the logo will be placed according to the current setting of user storage into RAM or flash  
memory.  
An application might use a high value of m to shade out the logo if the original image has a significant number of “on”  
dots to allow for future foreground print readability.  
Note: The old logo size and current justification mode are used to create a new logo image at full paper width size by filling  
in white space at either or both sides if needed. This new logo will provide for minimal performance impacts when it is  
selected for use in watermark mode.  
After sending the shading command, wait 5 seconds to allow the printer to apply the shading and write the results to  
flash.  
Merge watermark mode (ColorPOS®)  
ASCII  
GS 0x8C n m  
Hexadecimal 1D 8C n m  
Decimal  
Default  
29 140 n m  
0 (o)  
This command will insert the logo m as a repeated background image, similar to printing a visible watermark, into the  
print stream. The space between repetitions of this usually shaded logo will be every n*8 dot rows.  
n >0 = number of dot rows x8 to skip before repeating the merge action  
m specifies the index value of the logo. If no logo has been defined with this index then the command is ignored.  
Note: Horizontal placement of a watermark logo was fixed at the time the logo was Shaded or when it was downloaded as  
a full width logo for watermark use. This command will be ignored if the current logo is not at full paper width size (see the  
apply shading to logo command for preparing logos for watermark use).  
The merge process is performed after all other image formation and takes whatever print raster data is ready to be  
put on paper. It “adds(computer logic OR) the mono or color bits to the print row. Generally, if the print dot was to be  
white or same color as the watermark dot, the print dot will be the color of the watermark; otherwise it will be black.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
73  
Form and merge real-time surround graphic (ColorPOS®)  
ASCII  
Hexadecimal 1D 90 m x y o p q  
Decimal 29 144 m x y o p q  
GS 0x90 m x y o p q  
This command will print a real-time graphic style designated by m. m = 0 rectangle, m =1 oval, m =2 ellipse (if printed  
in a square area the ellipse becomes a circle),  
m = 3 is a 5 point star, m = 4 is a free hand underline,  
m = 5 is a free hand ellipse and other values of m reserved for future styles. This graphic is formed into a RAM based  
graphics buffer, and the buffer state is set to “graphic merge pending.  
Whenever the buffer is in the pending merge state and print output is started, the state will be changed to frozen and  
a merge process started (logically OR-ed graphic data) into the print lines that follow. The application determines how  
close the graphic is to any printed character data by subsequent printing of blank lines or blank dot rows. The merge  
process stops when the buffer is exhausted or its state changed (by a save graphics buffer as logo or new form and  
merge real time surround graphics command). The form and merge real time surround graphics command can be  
given multiple consecutive times, allowing the application to set up a multi-polygon background before starting its  
printout with placed text or logo.  
The geometric location points for this graphic are defined by a rectangular area start position of x bytes from the left  
edge and y bytes from the top of the new line and times  
o bytes wide times p bytes in length. For the case of  
m =3 (star), the value passed for o is also used as the implicit p value (passed value is ignored), i.e. a square area. The  
thickness of the graphic is defined by q dots. This will form a bit image in a RAM graphics buffer. Subsequent surround  
graphic commands can be added into (logical OR process) with expanded size if needed) the graphics buffer until an  
output action is issued. It is expected that area left white will then be (usually) filled in with text or other data that is to  
be printed. Printing starts as soon as the first line of data or other printout arrives. After this printing is started, any new  
surround graphics commands will set the graphics buffer to a merge pending state. Example: Create different size stars  
and an ellipse around a block of text.  
The graphics buffer is at a frozen state at printer initialization or reset, with blank data in it.  
Each the time this command is given, the current color and shade mode values (if any) are used for the surround  
graphic, and may be changed before any subsequent surround graphics and/or printing output. This command may  
be used in page mode.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
74  
Chapter 5: Programming commands  
Save graphics buffer as logo (ColorPOS®)  
ASCII  
Hexadecimal 1D 91 n  
Decimal 29 145 n  
GS 0x91 n  
This command will save all the raster data that is in the working graphics buffer (where surround graphics are formed)  
as a logo with index value n. This logo can then be used repeatedly for inserting different text. See the background  
logo print command.  
ꢄꢅꢆꢇꢅ ꢇꢈꢉꢊꢆꢋꢌꢍ  
ꢒꢅꢓꢔꢕꢃ  
ꢇꢙꢂꢇꢗꢇꢘꢇꢕꢊꢗꢖ  
ꢒꢅꢓꢔꢕꢃ  
ꢅꢃꢚ  
ꢛꢅꢜ  
ꢅꢃꢚ  
ꢀꢁ  
ꢝ!  
ꢀꢂ  
ꢎꢏꢐ  
ꢀꢃ  
 
ꢛꢅꢜꢇꢝ  
ꢕꢊꢗꢖ  
ꢀꢃ  
 
There is one working graphics buffer in the printer; its size (and that of the saved logo) is of maximum print width size,  
and of sufficient length to store the largest of the surround graphic styles defined since the last buffer “freezeevent.  
This command is ignored if the graphics buffer is not in a “merge pendingstate. The graphics buffer state will be set to  
“frozenby this command.  
Related information  
This command is ignored in page mode.  
Background logo print mode (ColorPOS®)  
ASCII  
Hexadecimal 1D 92 n  
Decimal 29 146 n  
GS 0x92 n  
This command will place into the graphics buffer the logo designated by n. As soon as there is a print action command  
(such as text output) the graphics buffer will be merged (logical OR process) with print output.  
This command sets the graphics buffer state to “merge pending, functioning and performing the save as in the form  
and merge real time surround graphics command.  
Related information  
This command is ignored in page mode.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
75  
Apply margin message mode (ColorPOS®)  
ASCII  
GS 0x99 l m n o  
Hexadecimal 1D 99 l m n o  
Decimal  
29 153 l m n o  
Value of l:  
l is a binary switch:  
0 = disables margin message merging  
1 = enable left margin message merging  
2 = enable right margin message merging  
l > 2 ignore command  
Value of m:  
m is the ID (index) of the logo to be used in the merging. If a logo with index m does not exist or is wider  
than the print raster width then this command is ignored.  
Value of n:  
n is the number of raster rows to be empty (skipped) before repeating the designated margin message  
merge  
Value of o:  
o is a right – left toggle switch:  
o = 0 no toggling of the margin message merge  
o = 1 enable toggling, starting with a left margin message first  
o = 2 enable toggling, starting with a right margin message first  
o > 2 ignore entire command  
This command performs a dynamic merge of a designated logo/message (or logo/message pair, which can be the  
same) into each raster line to be printed after the character data has been placed and in conjunction with any other  
active merge modes. The parameter l specifies whether merging should take place from the left side or the right side.  
A left side merge followed by a right side merge (or vice-versa) must be issued, with the latter side merge command  
setting the toggle switch = 1 or 2 will create the desired left – right printing effect. Each merge side retains its n value  
of raster rows to be skipped. If toggling is not selected when both sides are defined, then if the n skip row values are  
different, or the logo height sizes are different, the side logos will not line up as printing progresses. If toggling is  
selected then both left and right sides merge margin message must be defined; otherwise toggling is ignored.  
Each side logo can be > ½ of the raster print line. In that case the printing process is additive in the overlap region. This  
command with the first parameter l = 0 turns all margin message merging to off.  
Shade and store logo (ColorPOS®)  
ASCII  
GS 0x9A n m o  
Hexadecimal 1D 9A n m o  
Decimal  
29 154 n m o  
Value of n:  
Value of m:  
Value of o:  
n is ID (logo index value) of an existing logo in either flash or RAM memory  
m is the % of shading to be applied to the logo, 0 <= m <=100.  
o is the new ID (logo index value) to be used to store the shaded result, according to the current setting of  
user storage into flash or RAM.  
This command applies shading to an existing logo of any size, storing the result in a new logo at index o. The new logo  
is thus better suited for use in a merging mode. The % of shading will have only a few perceptible gradations, so large  
increments (20 is suggested) should be used to achieve visibly distinct effects.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
76  
Chapter 5: Programming commands  
Logo print with knife cut  
ASCII  
GS 0x9B m n  
Hexadecimal 1D 9B m n  
Decimal  
29 155 m n  
Value of m:  
0 = Standard size  
1 = Double wide  
2 = Double high  
3 = Double high/wide  
Value of n:  
01 - FF (Hex)  
#dot rows = n x 24, n = 5 is the recommended setting  
Because the printhead and cutting knife are physically separated, it is necessary to advance the printed area of a  
receipt past the knife to avoid the last of the printing from being cut off. This advance of paper however, causes a blank  
space at the start of the next receipt that could be used. To utilize this space and reduce paper usage, this command  
starts to print a logo for the next receipt before initiating the cut at the end of the current receipt. At a set location  
during the printing of the logo, the corresponding paper advance is stopped and a paper cut performed.  
The formula “n x 24is used to determine the number of dot rows to move the paper from the start of the logo to the  
position of the cut.  
If n x 24 is greater than the height of the logo, the logo height is used to determine the cut position. If n = 0 the cut is  
eliminated.  
In order for this command to function properly, all commands used by legacy applications to move the end of the  
current receipt past the knife should be removed.  
Related information  
See “Print downloaded bit imagecommand.  
Set temporary max target speed  
ASCII  
GS 0xA0 nl nh  
Hexadecimal 1D A0 nl nh  
Decimal  
Values:  
29  
15H - B4H monochrome  
15H - 64H color  
Default:  
0 - normal speed  
This command sets a specific speed for an operation, allowing the user more control of the print environment.  
The speed is maintained as long as it is less than the speed automatically set by power management. A parameter of  
zero (0) restores the normal max speed.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
77  
Set LogoEZ® colorization (ColorPOS®)  
ASCII  
US ETX SYN f s p/t t  
Hexadecimal 1F 03 16 f s p/t t  
Decimal  
31 03 22 f s p/t t  
Value of f:  
0 = turn off all LogoEZ® colorization  
features  
1 = link print logo after knife cut  
2 = link watermark printing  
3 = link margin message printing  
4 = link logo print before cut  
Default:  
0
(O)  
This command configures into EEPROM (permanent configuration switch setting) a set of features that allows  
placement of a color logo in the header, full-time margin message printing, watermarking in the middle of the receipt  
and printing of a trailer color logo. These commands are triggered by any knife cut command (partial or full: 19, 1A, 1B  
69, 1B 6D, 1D 56 m n). The printer when powered-up will (if set) activate the header, watermark, and margin message  
features and will be ready to print the body of a receipt. For selected features to print however, logos with defined  
index values of F0, F1, F2, F3 respectively must be saved in the flash memory.  
Once logos have been loaded and enabled they can be used in any emulation mode. Skip distances remain constant.  
Value descriptions:  
f = function selector and defines which parameters  
are used :  
s = dot row space before object distance  
p = dot row past an object  
r = repetition space distance in mm  
t = margin message toggle mode  
f = 0 turn off all LogoEZ® colorization functions (default). No other parameters are required.  
f = 1 link print logo after knife cut – equivalent to printing a transaction header graphic.  
Example:  
Print logo (#F0) after a knife-cut with “sdot row spacing before the logo and “adot row spacing after the logo (1F 03  
16 01 s p). After executing a knife-cut command, if s > 0, execute the following:  
Stop background merging (1D 9B 1 command)  
Skip s (feed paper) dot rows (15 s command) – adds spacing in addition to any set by the application around a  
knife cut command  
Set centered justification (1B 61 1 command), saving the previous justification  
If the logo at F0h is currently defined, print logo by sending print downloaded bit image, normal size (1D 2F 0  
command) without changing the value of current logo  
Reset justification to previous value (1B 61 [previous value])  
Skip (feed paper) “pdot rows after logo (15 p command)  
Since the normal space on the receipt paper after a knife cut is 18 mm (144 rows), no extra space is usually needed  
above the logo. The default value is s = 0 and turns off the f = 1 logo after knife-cut link.  
f = 2 link watermark printing  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
78  
Chapter 5: Programming commands  
Example:  
Activate watermark printing using logo #F1 (1F 03 16 02 s r) with “sbeing the skip distance in dot rows before  
activation and “ris the distance in mm between watermark repetitions.  
After executing a knife-cut command and the f = 1 steps, if s > 0, execute the following:  
Skip “s(feed paper) dot rows (15 s command)  
Set watermark printing to “onusing logo F1 (execute merge watermark mode -1D 8C r F1 command). Logo  
must be defined for F1 and comply with watermark mode requirements in order for this happen.  
Stop background merging mode (1D 9B 1 command). Clears background for logos, barcodes, and captured  
images.  
The watermarks feature is now activated (following an optional F0 logo) to start after each knife cut. Note that when  
printing graphic objects, merging is turned off by each knife cut. The default value is s = 0 and turns off the f = 2  
watermark link.  
No correlation exists (when both are set) between watermark and logo skip distances.  
If the f = 4 logo link is undefined, you should set a null trailer logo with s = 1 and p = 144 (1F 03 16 04 1 90, no logo  
at index F3). This will turn off watermarks at the position of a knife cut and leave a clear space at the top of the next  
receipt.  
f = 3 link margin message printing  
Example:  
Activate margin message printing using logo #F2 (1F 03 16 03 s r t) with “s” being the skip distance, “rthe distance  
between repetitions and “tthe toggle mode.  
Toggle mode values for t:  
0 = both left and right side  
1 = toggle sides, starting with left side  
2 = right side margin message only  
3 = left margin message only  
After executing a knife cut command and the f=1 steps, if s > 0, execute the following:  
skipsdot rows (=15 s command). When both watermark and margin message merging are defined, the  
respective “svalues are treated independently. The same value should be used to start watermark and  
margin message at the same place.  
Use the toggle mode values listed above to apply margin message for the left and/or right side. For a margin  
message on both sides, enter the 1D 99 1 F2 p 0 command followed by the 1D 99 t’ F2 r t’ (apply margin  
message) command with the logo at index F2 defined.  
suspend background merging mode (=1D 9B 1 command), so any logos, barcodes, and captured images will  
print in the clear  
The margin message printing feature is activated after the header logo after a restart at each knife-cut. Note that when  
printing graphic objects, merging is turned off by each knife cut. No correlation exists (when both are set) between  
watermark and logo skip distances.  
If the f = 4 logo link is undefined, you should set a null trailer logo with s = 1 and p = 144 (1F 03 16 04 1 90, no logo at  
index F3). This will turn off margin message at the position of a knife cut and leave a clear space at the top of the next  
receipt.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
79  
f = 4 link logo print before cut  
Prints a logo after the skip distance of “sbefore a logo and “ppast a logo and performs a knife cut (1F 03 16 04 s p).  
Immediately before executing a knife-cut command, if s > 0, execute the following:  
skip (feed paper)sdot rows (15 s command)  
stop background merging (1D 9B 1 command). Save previous background merging value, so logo prints in  
the clear  
set centered justification (1B 61 1 command), saving the previous justification  
if a logo at index F3h is currently defined, print the logo by sending print downloaded bit image, normal size  
(1D 2F 0 command), without changing the value of current logo.  
reset justification to previous value (1B 61 [previous value])  
skip (feed paper)pdot rows (15 p command) a minimum value of 90h, to ensure knife cut occurs after the  
logo  
restore background merge suspension (1D 9B [previous value])  
Related information  
This command is utilized in the CognitiveTPG LogoEZ® utility. The utility can be used to pre-configure new printers with  
a default colorization set-up without requiring any application changes. The default set-up was designed to provide a  
general level of colorization features that would not affect the printer operation. You can expand beyond the default  
features of the utility by modifying the application at the host. However, do not attempt to  
modify the settings within the utility.  
LogoEZ® utility default settings:  
f = 1: s = 1H  
a = 30H  
f = 2: s = 32H  
r = 19H  
f = 3: s = 1H  
r = 7H  
t = 1H  
f = 4: s = 30H  
a = A0H  
Set LogoEZ® attribute mapping (ColorPOS®)  
ASCII  
US ETX ETB a m s  
Hexadecimal 1F 03 17 a m s  
Decimal  
Values:  
31 03 23 a m s  
a =  
attribute map selector a , m, s = 0, 0, 0 turn off attribute mapping (all 3 bytes required)  
selects first attribute mapping definition (of two available)  
selects second attribute mapping definition  
a = 1  
a = 2  
a = 1 or 2, if m = 0  
mapping 1 or 2, respectively, is turned off  
A word (2 bytes) is used to identify the attribute mapping, with “m” bits 0 – 6 identifying which original attributes  
should be mapped:  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
80  
Chapter 5: Programming commands  
Original attribute mapped table  
m bit on  
attribute mapped  
Bold  
0
1
2
3
4
5
6
Italic  
Reverse  
Underline  
Double high  
Double wide  
Compressed print  
The following “s” bits and “m” bit 7 set the attributes that substitute for the mapped set:  
Attributes substituted table  
m bit on  
attributes substituted  
Bold substituted  
attributes substituted  
Italic  
7
s bit on  
0
1
2
3
4
5
6
7
Reverse  
Underline  
Double high  
Double wide  
Compressed print  
Alternate color  
Color reverse  
This command configures into EEPROM (permanent configuration switch setting) one or two combinations of  
character attribute mappings, including substitute attribute settings for color effects. The attributes of the character  
code are used to form the desired pixel character when the code is placed into the raster print buffer. An “mbit value  
set to on in the “original attribute mapped tableabove will have its attributes set to the corresponding bit value of “s”  
in the “attributes substituted table. If m = 0 then no substitution takes place.  
The command is available only in A776 native mode. Once attributes have been defined and enabled they can be  
used in any emulation mode. A776 native mode must be used to turn the feature off.  
The operational theory of this command is that if (input character attributes) AND (original) = (original); then (output  
character attributes) = ([original] X OR [input character attributes]) OR (substituted). The input character’s original  
attributes are mapped to the substituted attributes, but any attributes not specified for mapping are unchanged.  
In the tables you will see that there are 7 input attributes and 9 outputs. It is expected that the alternate color attribute  
will be used most. For example, when the alternate color attribute is combined with the reverse substitution attribute,  
the result is white characters on a color background. The color reverse attribute without alternate color will print black  
text on a color background. Any mappings utilizing compressed and/or double-wide attributes will effect the length  
of a line and could cause unintended line wraps. Mappings containing double-high attributes could cause unintended  
receipt lengths.  
When both attribute mappings are set, processing is perform in order sequence. When two text attribute substitutions  
contain conflicting dependent remappings, the result is undefined.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
81  
Related information  
This command is utilized in the CognitiveTPG LogoEZ® utility. The utility can be used to pre-configure new printers with  
a default colorization set-up without requiring any application changes. The default set-up was designed to provide a  
general level of colorization features that would not affect the printer operation. You can expand beyond the default  
features of the utility by modifying the application at the host. However, do not attempt to modify the settings within  
the utility.  
f = 1: s = 1H  
a = 30H  
f = 2: s = 32H  
r = 19H  
f = 3: s = 1H  
r = 7H  
t = 1H  
f = 4: s = 30H  
a = A0H  
Convert 6-dots/mm bitmap to 8-dots/mm bitmap  
ASCII  
US EOT n  
Hexadecimal 1F 04 n  
Decimal  
Value:  
31 04 n  
0 = Off  
1 = On  
(When 0 and 1 are the LSB)  
0 (O)  
Default:  
Selects or cancels 6-dot/mm to 8-dot/mm graphic emulation.  
When the 6-dot/mm emulation is selected, logos and graphics are expanded horizontally and vertically during  
download to emulate their size on a 6-dot/mm printer. The horizontal positioning commands also emulate positioning  
on a 6-dot/mm printer.  
Enable constant speed logos  
ASCII  
US { n  
Hexadecimal 1F 7B n  
Decimal  
Value:  
31 123 n  
0 = disabled  
1 = enabled  
This command allows the firmware to determine the optimal speed to print a logo. It is set prior to downloading the  
logo and reset after the logo has been downloaded.  
In general, the “Set max target speed (1D A0 nl nh)is the preferred command.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
82  
Chapter 5: Programming commands  
Status  
Status command introduction  
The A776 has three methods of providing status to the application. These methods are through batch status  
commands, real time status commands and unsolicited status mode. An application may use one or more of these  
methods to understand the current status of the printer. A brief description of each of these methods follows.  
Batch status commands – These commands are sent to the printer and stored in the printer’s buffer. Once the printer  
has processed all the previous commands these commands are processed and the proper status is returned to the  
application. In the event a condition causes the printer to go BUSY, it stops processing commands from the printer  
buffer. If a batch status command remained in the buffer during this busy condition, it would not be processed. In fact,  
no batch commands are processed while the printer is in this state.  
Real-time commands – These commands are sent to the printer and stored in the printer buffer. Periodically,  
when the printer has time, it scans the input buffer looking for these commands. When found by the printer, these  
commands are processed immediately. This gives the application the ability to query the printer when it is in a busy  
state in order to correct whatever fault has occurred.  
Unsolicited status mode – This mechanism allows the application developer to program the printer to automatically  
respond with a four byte status when certain conditions in the printer change.  
Please see the subsequent sections for a more detailed description of these status commands. At the end of this  
status commands section is a page entitled “Recognizing data from the printer. This describes how to interpret what  
command or setting (in the case of unsolicited status mode) triggered a response from the printer.  
Batch mode  
For RS-232C printers, these commands enable the printer to communicate with the host computer following the  
selected handshaking protocol, either DTR/DSR or XON/XOFF. They are stored in the printer’s data buffer as they are  
received, and are handled by the firmware in the order in which they are received.  
When a fault occurs, the printer will go busy at the RS-232C interface and not respond to any of the batch mode printer  
status commands. If the fault causing the busy condition can be cleared, such as by loading paper, or letting the  
thermal printhead cool down, the printer will resume processing the data in its receive buffer.  
Transmit peripheral device status  
ASCII  
Hexadecimal 1B 75 0  
Decimal 27 117 0  
ESC u 0  
Value of returned byte:  
Bit 0  
Bit 1  
1 = Drawer 1 Closed  
0 = Drawer 1 Open  
Bits 2–7 are not used.  
1 = Drawer 2 Closed  
0 = Drawer 2 Open  
Transmits current status of the cash drawers. One byte is sent to the host computer. In DTR/DSR protocol, the printer  
waits for DSR = SPACE. If a drawer is not connected, the status will indicate it is closed.  
Exceptions  
Unlike the A756, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the  
A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open, an  
open status for both drawers is reported by the printer.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
83  
Transmit paper sensor status  
ASCII  
ESC v  
Hexadecimal 1B 76  
Decimal  
Values:  
27 118  
Status Byte (A776 only)  
Bit Function  
0 Signifies  
1 Signifies  
0
1
2
3
4
5
6
7
Receipt paper  
Covers open  
Receipt paper  
Knife  
OK  
Low (only if paper low sensor is enabled) or receipt cover open  
Both closed  
Either cover is open  
Out  
OK  
OK  
Error or switch open  
Always zero  
Slip leading  
Not covered  
Not covered  
OK  
Covered edge sensor  
Covered edge sensor  
Error  
Slip trailing  
Voltage/Temperature Error  
Status Byte (B780 only)  
Bit Function  
0 Signifies  
1 Signifies  
0
1
2
3
4
5
Receipt paper  
Receipt paper  
Receipt paper  
Receipt paper  
Always zero  
OK  
OK  
OK  
OK  
Low (only if paper low sensor is enabled)  
Low (only if paper low sensor is enabled)  
Out  
Out  
Slip leading  
edge sensor  
Covered  
Covered  
Not covered  
Not covered  
6
7
Slip trailing  
edge sensor  
Always zero  
Sends status data to the host computer. The printer sends one byte to the host computer when it is not busy or in a  
fault condition. In DTS/DSR protocol, the printer waits for DSR = SPACE.  
Related information  
See real time commands, in this document for details about fault conditions reporting.  
Transmit printer ID  
ASCII  
GS I n  
Hexadecimal 1D 49 n  
Decimal  
29 73 n  
Value of n:  
1, 49 = Printer model ID  
2, 50 = Type ID  
3, 51 = ROM version ID  
4, 52 = Logo Definition  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
84  
Chapter 5: Programming commands  
Transmits the printer ID specified by n as follows:  
Printer ID Specification ID (Hexadecimal)  
n
1, 49 Printer model ID CognitiveTPG A776 0x2B (A776)  
0x2A (A760)  
0x28 (A758)  
0x26 (A756)  
0x2C (B780)  
0x0A (A721)  
2, 50 Type ID  
Installed options  
ROM version  
Refer to the table below  
0x00  
3, 51 ROM version ID  
4, 52 Logo definition  
Logo definition  
Refer to table  
next column  
n = 2 or 50: Type ID  
Type ID (n = 2)  
Bit  
Off/On Hex  
Decimal Function  
0
Off  
00  
0
No two-byte character  
code installed.  
On  
01  
1
Two-byte character  
code installed.  
1
Off  
On  
-
00  
02  
-
0
2
-
No knife installed.  
Knife installed.  
2
3
Undefined.  
Off  
On  
Off  
Off  
On  
-
00  
08  
00  
00  
20  
-
0
8
0
0
32  
-
No MICR installed.  
MICR installed.  
4
5
Not used. Fixed to Off.  
No imager installed.  
Imager installed.  
Undefined  
6
7
Off  
00  
0
Not used. Fixed to Off.  
n = 4 : Logo Definition  
Bit Off/On  
Hex  
Decimal Function  
0
Off  
00  
01  
-
0
1
-
No logo definition loaded by application.  
On  
Logo loaded by application  
Undefined  
1
2
3
4
5
6
7
-
-
-
-
Undefined  
-
-
-
Undefined  
Off  
-
00  
-
0
-
Not used, Fixed to Off.  
Undefined  
-
-
-
Undefined  
Off  
00  
0
Not used, Fixed to Off.  
Transmits the printer ID specified by n. This command is a batch mode command; that is, the response is transmitted  
after all prior data in the receive buffer has been processed. There may be a time lag between the printer receiving this  
command and transmitting the response, depending on the receive buffer status.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
85  
Transmit printer ID, remote diagnostics extension  
ASCII  
GS I @ n  
Hexadecimal 1D 49 40 n  
Decimal  
29 73 64 n  
Values of n:  
Range of n:  
Refer to table  
32–255  
(not all defined but reserved)  
Preforms the remote diagnostic function specified by n.  
Eighteen remote diagnostic items are defined: eight printer ID items and ten printer tally items. Most of the diagnostic  
items are maintained in non-volatile memory (NVRAM), but some are maintained in read-only memory (ROM).  
The table that follows describes the variables.  
The first item group in the table includes an example of data to send and to receive, Data sent from the host to write  
to NVRAM must contain all digits required by the remote diagnostic item. All data must be ASCII. The printer returns all  
ASCII data. It is preceded by the parameter n to identify the diagnostic item and is followed by a carriage return (0D) to  
signify the end of the data.  
The command performs the remote diagnostic function specified by n as described in the following table.  
Value of n  
ASCII  
Hex  
Dec  
Remote diagnostic item  
Function  
Space 20  
32  
Serial #, 10 digit ASCII  
Write to NVRAM Example, send 14 bytes to printer:  
GS I @ 0x20 1234567890  
!
21  
33  
Serial #  
Write to NVRAM, and print on receipt to verify  
Example, send 14 bytes to printer:  
GS I @ ! 1234567890 This will print on receipt:  
Serial # written: 1234567890  
22  
23  
34  
35  
Serial #  
Serial #  
Not available, cannot clear serial # item  
#
Return Serial #, preceded by n to identify Printer  
returns 12 bytes in above example: #1234567890<CR>  
$
%
24  
25  
27  
2B  
2F  
33  
37  
80  
36  
37  
39  
43  
47  
51  
55  
128  
Class/model #, 15 digit ASCII  
Class/model #  
Write to NVRAM  
Write to NVRAM, and print on receipt to verify  
Return Class/model #, returns 17 bytes  
Return Boot firmware part #, returns 14 bytes  
Return Boot firmware CRC, returns 6 bytes  
Class/model #  
+
/
Boot firmware part #, 12 digit ASCII  
Boot firmware CRC, 4 digit ASCII  
3
7
Ç
Flash firmware part #, 12 digit ASCII Return Flash firmware part #, returns 14 bytes  
Flash firmware CRC, 4 digit ASCII  
Return Flash firmware CRC, returns 6 bytes  
Receipt lines tally,  
8 digit ASCII numeric,  
max 99,999,999  
Write to NVRAM Example, send 12 bytes to printer:  
GS I @ Ç00010000 To set receipt lines tally to 10,000  
ü
81  
129  
Receipt lines tally  
Write to NVRAM, and print on receipt to verify  
Example, send 12 bytes to printer:  
GS I @ ü00010000 This will print on receipt:  
Receipt tally written: 10,000  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
86  
Chapter 5: Programming commands  
Value of n  
ASCII  
Hex  
Dec  
130  
131  
Remote diagnostic item  
Receipt lines tally  
Function  
é
â
82  
83  
Clear receipt lines tally to 0  
Receipt lines tally  
Return receipt lines tally, preceded by n to identify  
Printer returns 10 bytes in above example:  
â00010000<CR>  
ä
84  
132  
Knife cut tally, 8 digit ASCII numeric, Write to NVRAM  
max 99,999,999  
à
å
ç
ê
85  
86  
87  
88  
133  
134  
135  
136  
Knife cut tally  
Knife cut tally  
Knife cut tally  
Write to NVRAM, and print on receipt to verify  
Clear knife cut tally to 0  
Return knife cut tally, returns 10 bytes  
Write to NVRAM  
Slip Character tally, 8 digit ASCII  
numeric, max 99,999,999  
ë
è
ï
89  
8A  
8B  
8C  
137  
138  
139  
140  
Slip character tally  
Slip character tally  
Slip character tally  
Write to NVRAM, and printed on receipt to verify  
Clear slip tally to 0  
Return slip character tally, returns 10 bytes  
Write to NVRAM  
î
MICR read tally, 8 digit ASCII  
numeric 99,999,999  
ì
8D  
8E  
8F  
90  
141  
142  
143  
144  
MICR read tally  
MICR read tally  
MICR read tally  
Write to NVRAM, and print on receipt to verify  
Clear MICR read tally to 0  
Ä
Å
É
Return MICR read tally, returns to 10 bytes  
Hours on tally, 8 digit ASCII numeric, Write to NVRAM  
max 99,999,999  
æ
Æ
ô
91  
92  
93  
97  
A3  
A4  
145  
146  
147  
151  
163  
164  
Hours on tally  
Write to NVRAM, and print on receipt to verify  
Hours on tally  
Clear hours on tally to 0  
Hours on tally  
Return hours on tally, returns 10 bytes  
Return boot firmware version, returns 6 bytes  
Return flash firmware version, returns 6 bytes  
Write to NVRAM  
ù
Boot firmware version  
Flash firmware version  
ú
ñ
Flash cycles tally, 8 digit ASCII  
numeric, max 99,999,999  
Ñ
a
o
¿
A5  
A6  
A7  
A8  
165  
166  
167  
168  
Flash cycles tally  
Flash cycles tally  
Flash cycles tally  
Write to NVRAM, and print on receipt to verify  
Clear flash cycles cut tally to 0  
Return flash cycles cut tally, returns 10 bytes  
Write to NVRAM  
Knife jams tally, 8 digit ASCII  
numeric, max 99,999,999  
+
A9  
AA  
AB  
AC  
169  
170  
171  
172  
Knife jams tally  
Knife jams tally  
Knife jams tally  
Write to NVRAM, and print on receipt to verify  
Clear knife jams tally to 0  
+
½
¼
Return knife jams tally, returns 10 bytes  
Write to NVRAM  
Cover openings tally, 8 digit ASCII  
numeric, max 99,999,999  
¡
AD  
AE  
173  
174  
Cover openings tally  
Cover openings tally  
Write to NVRAM, and print on receipt to verify  
Clear cover openings tally to 0  
«
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
87  
Value of n  
ASCII  
Hex  
Dec  
175  
178  
179  
Remote diagnostic item  
Cover openings tally  
Max temperature tally  
Max temperature tally  
Function  
»
AF  
B2  
B3  
Return cover openings tally, returns 10 bytes  
Reset max temperature reached value  
|
Return max temperature reached since it was reset,  
returns 10 bytes  
B4  
180  
Slip lines tally, 8 digit ASCII  
numeric, max 99,999,999  
Write to NVRAM  
B5  
B6  
B7  
181  
182  
183  
Slip line tally  
Slip lines tally  
Slip lines tally  
Write to NVRAM, and print on receipt to verify  
Clear slip lines tally to 0  
Return slip line tally, returns 10 bytes  
Transmit status  
ASCII  
GS r n  
Hexadecimal 1D 72 n  
Decimal  
29 114 n  
Value of n:  
1, 49 = printer status  
2, 50 = cash drawer status  
3, 51 = slip paper status  
4, 52 = Flash memory user sector status  
Range of n:  
1–4  
49–52  
Transmits the status specified by n. This is a batch mode command which transmits the response after all prior data  
in the receive buffer has been processed. There may be a time lag between the printer receiving this command and  
transmitting the response, depending on the receive buffer status.  
When DTR/DSR RS-232C communications handshaking control is selected, the printer transmits the one byte response  
only when the host signal DSR indicates it is ready to receive data.  
When XON/XOFF RS-232C communications handshaking control is selected, the printer transmits the one byte  
response regardless of the host signal DSR.  
When unsolicited status mode (USM) is enabled using the enable/disable unsolicited status mode command (1D 61),  
the status transmitted by this command (transmit status) and the USM status must be differentiated according to  
the information found in recognizing data from the printer. This is found in the real time commands section of this  
document.  
The status bytes to be transmitted are described in the following four tables.  
Exceptions  
When n is out of the specified range, the command is ignored.  
Unlike the A756, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the  
A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open, an  
open status is reported by the printer.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
88  
Chapter 5: Programming commands  
Printer status (n = 1 or n = 49)  
Bit Off/On Hex Decimal Status for transmit status  
0
1
2
3
Off  
On  
00  
01  
0
1
Receipt paper adequate.  
Receipt paper low.  
Off  
On  
00  
02  
0
2
Receipt paper adequate.  
Receipt paper low.  
Off  
On  
00  
04  
0
4
Receipt paper present.  
Receipt paper exhausted.  
Off  
On  
00  
08  
0
8
Receipt paper present.  
Receipt paper exhausted.  
4
5
Off  
Off  
00  
00  
0
0
Not used. Fixed to off.  
Slip leading edge sensor:  
paper present.  
On  
20  
32  
Slip leading edge sensor:  
no paper.  
6
7
Off  
On  
00  
40  
0
Slip trailing edge sensor:  
paper present.  
Slip trailing edge sensor:  
no paper.  
64  
Off  
00  
0
Not used. Fixed to off.  
Cash drawer status (n = 2 or n = 50)  
Bit Off/On Hex Decimal Status for transmit status  
0
Off  
On  
00  
01  
0
1
One or both cash drawers open.  
Both cash drawers closed.  
1
Off  
On  
00  
02  
0
2
One or both cash drawers open.  
Both cash drawers closed.  
2
3
4
5
6
7
0
0
Undefined  
Undefined  
Off  
00  
Not used. Fixed to off.  
Undefined.  
Undefined.  
Off  
00  
Not used. Fixed to off.  
Slip paper status (n = 3 or n = 51)  
Value of byte Slip Status  
returned  
0
There is no more printing space on the current slip, or the slip paper is not selected.  
1 to 8  
Remaining print area on the current slip, in number of lines, at the currently set line spacing, when the  
trailing edge sensor has become uncovered. Until the trailing edge sensor becomes uncovered the value  
reported will be 6, because there are at least 9 lines remaining.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
89  
Flash memory user sector status (n = 4 or n = 52)  
Bit Off/On Hex Decimal Status for transmit status  
0
1
2
Undefined. Fixed to off.  
Undefined. Fixed to off.  
Off  
On  
Off  
On  
Off  
Off  
On  
Off  
On  
00  
04  
00  
08  
00  
00  
20  
00  
04  
0
User data storage write successful  
4
User data storage write failed, specified area not erased.  
Flash logo area adequate, definition stored.  
Flash logo area not adequate for recent definition.  
Not used. Fixed to off.  
3
0
8
4
5
0
00  
32  
0
No thermal user-defined characters written to flash.  
Thermal user-defined characters written to flash.  
No impact user-defined characters written to flash.  
Impact user-defined characters written to flash.  
Undefined.  
6
7
64  
Send printer software version  
ASCII  
Hexadecimal 1F 56  
Decimal 31 86  
US V  
The printer returns 8 bytes containing the boot and flash software version. The first 4 bytes returned are an ASCII string  
for the boot version.  
The second 4 bytes are an ASCII string for the flash version. Example: For 1.234.56 (8 bytes), the boot version is 1.23 and  
the flash version is 4.56.  
Real-time commands  
The real time commands provide an application interface to the printer even when the printer is  
not handling other commands:  
Real-time status transmission: GS (Hex 1D) sequence and DLE (Hex 10) sequence  
Real-time request to printer: GS (Hex 1D) sequence and DLE (Hex 10) sequence  
Real-time printer status transmission  
The batch mode printer status commands are placed in the printer’s data buffer as they are  
received and handled by the firmware in the order in which they were received. If the paper exhausts while printing  
data that was in the buffer ahead of the status command, the printer  
goes busy at the RS-232C interface and suspends processing the data in the buffer until paper  
is reloaded. This is true for all error conditions: knife home error, thermal printhead overheat, etc. In addition, there  
is no way to restart the printer after a paper jam or to cancel a slip waiting condition when using the wait for slip  
command.  
The real-time commands are implemented in two ways in order to overcome the limitations of batch mode status  
commands. Both implementations offer the same functionality; which one you choose depends on the current usage  
of your application.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
90  
Chapter 5: Programming commands  
Preferred implementation  
For a new application the GS (1D) sequences are recommended to avoid possible misinterpretation of a DLE (0x10)  
sequence as a clear printer (0x10 0, ASCII DLE NUL) command.  
An application using these GS (1D) sequences, does not need to distinguish for the printer between the new real time  
commands and the clear printer command. This implementation is ideal for an existing A756 application that already  
uses the clear printer command or for a new application being developed.  
Alternate implementation  
The alternate implementation uses the DLE (0x10) sequences as implemented on other printers. An application using  
these DLE (0x10) sequences and the original A756 clear printer command (0x10) must distinguish for the printer  
between the new real time commands and the clear printer command by adding a NUL (0x00) to the clear printer  
command.  
An application using these DLE (0x10) sequences must also send the second byte of the sequence within 100  
milliseconds of the first, to prevent the first byte being mistaken for a clear printer command.  
Rules for using real-time commands  
Three situations must be understood when using real time commands.  
First, the printer executes the real time command within a few msec of detecting it in the input buffer and will transmit  
status regardless of the condition of the DSR signal.  
Second, the printer transmits status whenever it recognizes a real time status transmission command sequence, even if  
that sequence happens to occur naturally within the data of another command, such as graphics data.  
In this case the sequence will also be handled correctly as the graphics data it is intended to be when the graphics  
command is executed from the buffer.  
Third, care must be taken not to insert a real time command into the data sequence of another command that consists  
of two or more bytes.  
In this case the printer will use the real time command sequence bytes instead of the other command’s parameter  
bytes when finally executing that other command from the buffer; the other command will NOT be executed correctly.  
These three situations generally preclude use of standard DOS drivers for the serial communication ports when using  
real time commands.  
Moving data through the buffer  
Applications should not let the buffer fill up with real time commands when the printer is busy at the RS-232C  
interface. A busy condition at the RS-232C interface can be determined by bit 3 of the response to 1D 05, or 1D 04 1, or  
10 04 1. The reason for a particular busy condition can be determined by other responses to 1D 04 n or 10 04 n.  
Although the printer responds to real time commands when it is busy, it will place them into the buffer behind any  
other data there, and flush them out in the order in which they were received. When the printer is busy due simply to  
buffer full (that is, it can’t print data as fast as it can receive it), then data continues to be processed out of the buffer at  
approximately print speed and the real time commands will eventually get flushed out.  
When the printer is busy due to an error condition, then data stops being processed to the buffer until the condition  
clears one way or another. In either case, but more quickly in the case of an error condition, the buffer can fill with real  
time commands.  
When the DLE (0×10) sequences are being used, the last byte stored when the buffer fills up could be the DLE (0×10)  
code, with no room for the subsequent EOT or ENQ. When this lone DLE (0x10) byte is finally processed out of the  
buffer it will be interpreted as a clear printer command.  
Similarly, when the GS (1D) sequences are being used, the last byte stored when the buffer fills up could be the GS (1D)  
code, with no room for the subsequent EOT or ETX or ENQ. When this lone GS (1D) byte is finally processed out of the  
buffer it will use the next byte, whatever it is, as the second byte in its GS (1D) sequence.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
91  
To guard against this situation, the application must determine the cause of a busy condition and take appropriate  
action or pace the real time commands to avoid filling the buffer. There is a minimum of 256 bytes available in the  
printer’s buffer when it goes busy.  
Busy line and fault conditions  
If the printer is in error condition (cover is open, paper is exhausted…), the printer will still accept data, respond to the  
batch mode status commands (1B 76 and 1B 75 0), handle the cash drawer commands, and not go busy until it actually  
tries to execute a print command. Then it will stay busy and stop processing data out of the receive buffer until the  
condition clears. It will respond to the real time commands as described below.  
Real-time status transmission  
GS sequence  
DLE sequence  
ASCII  
GS EOT n  
DLE EOT n  
10 04 n  
16 4 n  
Hexadecimal 1D 04 n  
Decimal  
29 4 n  
Value of n:  
GS/DLE sequence  
1 = Transmit printer status  
2 = Transmit RS-232C busy status  
3 = Transmit error status  
4 = Transmit receipt paper status  
5 = Slip paper status  
6 = Validation paper status  
Transmits the selected one byte printer status specified by n command within a few msec according to the following  
parameters. This command includes two sequences: GS (1D) and DLE (0×10).  
Exceptions  
The command is ignored if n is out of range.  
An application using DLE (0×10) sequence must send EOT within 100 milliseconds of DLE or the printer will  
misinterpret the DLE and execute a clear printer command. Avoid this possibility by using the ID 04 n sequence, which  
is handled exactly the same as 10 04 n.  
Unlike the A756, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the  
A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open, an  
open status is reported by the printer.  
Related information  
1 = Transmit printer status  
Bit Status Hex Decimal Function  
0
1
2
Off  
On  
00  
02  
0
2
Fixed to Off.  
Fixed to On.  
Off  
On  
00  
04  
0
4
One or both cash drawers open.  
Both cash drawers closed.  
3
Off  
On  
00  
08  
0
8
Not busy at the RS-232C interface.  
Printer is busy at the RS-232C interface.  
4
5
6
7
On  
10 16  
Fixed to on.  
Undefined.  
Undefined.  
Fixed to off.  
Off  
00  
0
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
92  
Chapter 5: Programming commands  
2 = Transmit RS-232C Busy Status  
Bit Status Hex Decimal Function  
0
1
2
Off  
On  
Off  
00  
02  
00  
0
2
0
Fixed to off.  
Fixed to on.  
Receipt and cassette  
cover closed.  
On  
Off  
04  
4
Receipt or cassette cover  
open.  
3
00  
08  
0
8
Paper feed button  
is not pressed.  
Paper feed button is pressed.  
On  
On  
Off  
4
5
10 16  
00  
Fixed to on.  
0
Printing not stopped due  
to paper condition.  
On  
20 32  
Printing stopped due to  
paper condition.  
6
7
Off  
On  
00  
40 64  
0
No error condition.  
Error condition exists in  
the printer.  
Off  
00  
0
Fixed to off.  
3 = Transmit error status  
Bit Status Hex Decimal Function  
0
1
2
3
Off  
On  
Off  
00  
02  
00  
0
2
0
Fixed to off.  
Fixed to on.  
Carriage or slip jam  
Off  
On  
00  
08  
0
8
No knife error.  
Knife error occurred.  
4
5
On  
10 16  
00  
Fixed to on.  
Off  
On  
0
No unrecoverable error.  
Unrecoverable error occurred.  
20 32  
6
Off  
00  
0
Thermal printhead temp.  
and power supply voltage  
are in range.  
On  
40 64  
Thermal print head temp.  
or power supply voltage  
are out of range.  
7
Off  
00  
0
Fixed to off  
Continued...  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
93  
4 = Transmit receipt paper status  
Bit Status Hex Decimal Function  
0
1
2
Off  
On  
00  
02  
0
2
Fixed to off  
Fixed to on  
Off  
On  
00  
04  
0
4
Receipt Paper adequate  
Receipt Paper low  
3
Off  
On  
00  
08  
0
8
Receipt Paper adequate or Door Open  
Receipt Paper low or Door Open  
4
5
On  
10 16  
00  
Fixed to on  
Off  
On  
0
Receipt Paper present  
Receipt Paper exhausted  
20 32  
6
7
Off  
On  
00  
40 64  
0
Receipt Paper present  
Receipt Paper exhausted  
Off  
00  
0
Fixed to off  
5 = Transmit Slip Paper Status and 6 = Transmit Validation Paper Status  
Bit Status Hex Decimal Function  
0
1
2
Off  
On  
00  
02  
0
2
Fixed to Off  
Fixed to On  
Off  
On  
00  
04  
0
4
Slip paper selected  
Slip not selected  
3
Off  
On  
00  
08  
0
8
Not waiting for slip  
Waiting for slip  
4
5
On  
Off  
10 16  
00  
Fixed to On  
0
Slip leading edge sensor:  
paper present  
On  
20 32  
00  
40 64  
00  
Slip leading edge sensor:  
no paper  
6
7
Off  
On  
0
Slip trailing edge sensor:  
paper present  
Slip trailing edge sensor:  
no paper  
Off  
0
Fixed to Off  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
94  
Chapter 5: Programming commands  
Real-time request to printer  
GS sequence  
DLE sequence  
ASCII  
GS ETX n  
DLE ENQ n  
10 05 n  
16 5 n  
Hexadecimal 1D 03 n  
29 3 n  
Value of n:  
1 = recover and restart  
2 = recover and clear buffers  
3 = cancel slip wait  
The printer responds to a request from the host specified by n. This command includes two sequences: GS and DLE.  
The operations performed depend on the value of n, according to the following parameters.  
n = 1  
Restarts printing from the beginning of the line where an error occurred, after recovering from the error. Print  
settings that are normally preserved from line to line, such as character height and width, are still preserved with this  
command. This sequence is ignored except when the printer is busy due to an error condition.  
This command will attempt recovery from a knife error. Other errors associated with the receipt, such as paper out or  
printhead overheating, can be recovered from only by clearing the specific condition, such as loading paper or letting  
the printhead cool down.  
n = 2  
Recovers from an error after clearing the receive and print buffers. Print settings that are normally preserved from line  
to line, such as character height and width, are still preserved with this command. This sequence is ignored except  
when the printer is busy due to an error condition.  
The same error recovery possibilities exist as for n = 1.  
n = 3  
Cancels the slip waiting status. This sequence is ignored except when the printer is waiting for a slip to be inserted.  
When slip waiting is canceled, the receive and print buffers are cleared and the receipt is selected. When printing on  
the slip is to continue, the slip must be selected again.  
Exceptions  
The command is ignored if n is out of range  
An application using the DLE sequence must send ENQ within 100 milliseconds of DLE or the printer will misinterpret  
the DLE and execute a Clear Printer command. Avoid this possibility by using the 1D 03 n sequence that is handled  
exactly the same as 10 05 n.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
95  
Real-time printer status transmission  
ASCII  
Hexadecimal 1D 05  
Decimal 29 5  
GS ENQ  
Transmits one byte status of the printer in real time.  
0
1
2
Off  
On  
00  
01  
0
1
Paper adequate.  
Paper low  
(if paper low sensor enabled).  
Off  
On  
00  
02  
0
2
Paper adequate.  
Paper low  
(if paper low sensor enabled).  
Off  
On  
00  
04  
0
4
Both receipt and cassette  
door closed.  
Receipt or cassette  
door open.  
3
Off  
On  
00  
08  
0
8
Not busy at the  
RS-232C interface.  
Printer is busy at the  
RS-232C interface.  
4
5
Off  
00  
0
One or both cash  
drawers open.  
Both cash drawers closed.  
On  
Off  
10 16  
00  
0
Paper present at both slip  
sensors.  
On  
20 32  
Paper not present at one or  
both sensors  
6
7
Off  
On  
00  
40 64  
0
No error condition.  
Error condition exists  
in the printer.  
On  
80 128  
Fixed to on.  
Exceptions  
Unlike the A756, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the  
A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open, an  
open status is reported by the printer.  
Real-time commands disable  
ASCII  
US z n  
Hexadecimal 1F 7A n  
Decimal  
31 122 n  
Value of n:  
0 = disable  
1 = enable  
This command is used to disable real time commands. They are disabled prior to sending graphic or other data to the  
printer that may contain embedded real time commands.  
This command is a batch command and processed in the order received.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
96  
Chapter 5: Programming commands  
Unsolicited status mode  
Select or cancel unsolicited status mode (USM)  
ASCII:  
GS a n  
Hexadecimal: 1D 61 n  
Decimal:  
29 97 n  
Value of n:  
0 turns mode off;  
any non-zero value turns mode on  
Default:  
0 (USM disabled)  
Enables or disables automatic return of 4 status bytes whenever one or more of the listed changes occurs. This  
command is a batch mode command; that is, it is processed after all prior data in the input buffer has been processed.  
There may be a time lag between the printer receiving this command and enabling unsolicited status mode (USM),  
depending on the pending input buffer contents.  
If an immediate return of printer status is desired, then any of the other status commands should be issued following  
this command. Once this mode is activated, the printer automatically transmits 4 status bytes whenever any of  
the conditions change. If an RS-232C connection with hardware flow control is used, all four status bytes will be  
transmitted without checking DSR.  
This command is a POS version of general printer unsolicited status functions; it uses the same command code as older  
versions of the POS command “automatic status back (ASB)but has the following differences:  
The parameter n is an on/off switch; it does not select trigger subset.  
There is no immediate return when this mode is turned on.  
All 4 status bytes are always returned.  
A change in any of the following conditions will trigger the USM response:  
Cash Drawer  
Receipt Cover  
Knife Error  
Out-of-Range Printhead Temperature  
Out-of-Range Voltage  
Paper Exhaust Status  
Slip Paper  
Related information  
When Unsolicited Status Mode is enabled using this command, the status transmitted by other commands and the  
USM status are differentiated according to the information found in Recognizing Data from the printer, which follows  
the USM return description.  
The status bytes to be transmitted are described in the following four tables.  
Byte 1 = printer information  
Byte 2 = error information  
Byte 3 = paper sensor information  
Byte 4 = paper sensor information  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
97  
First Byte (printer Information)  
Bit Off/On Hex Decimal Status for USM  
0
1
2
Off  
Off  
00  
00  
0
0
Not used. Fixed to off.  
Not used. Fixed to off.  
Off  
On  
00  
04  
0
4
One or both cash drawers open.  
Both cash drawers closed.  
3
Off  
On  
00  
08  
0
8
Not busy at the RS-232C interface.  
Printer is busy at the RS-232C interface.  
4
5
On  
10 16  
00  
Not used. Fixed to on.  
Off  
On  
0
Receipt and cassette covers closed.  
Receipt or cassette cover open.  
20 32  
6
7
Off  
On  
00  
40 64  
0
Paper feed button is not pressed.  
Paper feed button is pressed.  
Off  
00  
0
Not used. Fixed to off.  
Second byte (error information)  
Bit Off/On Hex Decimal Status for USM  
0
1
2
Undefined  
Undefined  
Off  
On  
00  
04  
0
4
No mechanical error  
Mechanical error occurred  
3
Off  
On  
00  
08  
0
8
No knife error.  
Knife error occurred.  
4
5
Off  
00  
00  
20 32  
00  
40 64  
0
0
Not used. Fixed to off.  
Off  
On  
No unrecoverable error.  
Unrecoverable error occurred.  
6
Off  
On  
0
No recoverable error.  
Recoverable error:  
Cover open, paper out,  
temperature or voltage  
error is out of range.  
7
Off  
00  
0
Not used. Fixed to off.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
98  
Chapter 5: Programming commands  
Third byte (paper sensor information)  
Bit Off/On Hex Decimal Status for USM  
0
1
Off  
On  
00  
01  
0
1
Receipt paper adequate  
Receipt paper low  
(if paper low sensor enabled)  
Off  
On  
00  
02  
0
2
Receipt paper adequate  
Receipt paper low  
(if paper low sensor enabled)  
2
3
Off  
On  
00  
04  
0
4
Receipt paper present.  
Receipt paper exhausted.  
Off  
On  
00  
08  
0
8
Receipt paper present.  
Receipt paper exhausted.  
4
5
Off  
Off  
On  
Off  
On  
Off  
00  
00  
0
0
Not used. Fixed to off.  
Slip leading edge sensor: paper present  
Slip leading edge sensor: no paper  
Slip trailing edge sensor: paper present  
Slip trailing edge sensor: no paper  
Not used. Fixed to off.  
20 32  
00  
40 64  
00  
6
7
0
0
Fourth byte (paper sensor information) -- A776  
Bit Off/On Hex Decimal Status for USM  
0
Off  
On  
Off  
On  
00  
01  
00  
02  
0
1
0
2
0
0
Slip paper selected  
Receipt paper selected  
1
Possible to print on slip  
Not possible to print on slip because no form has been inserted  
2
3
4
5
6
7
Undefined  
Undefined  
Off  
00  
Not used. Fixed to off.  
Undefined  
Undefined  
Off  
00  
Not used. Fixed to off  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands  
99  
Fourth byte (paper sensor information) -- B780  
Bit Off/On Hex Decimal Status for USM  
0
1
2
3
Off  
On  
Off  
On  
On  
Off  
On  
Off  
Off  
Off  
On  
Off  
On  
Off  
00  
01  
00  
02  
00  
01  
00  
01  
00  
00  
01  
00  
01  
00  
0
1
0
2
0
1
0
1
0
0
1
0
1
0
Slip paper selected  
Slip paper not selected  
Possible to print on slip  
Not possible to print on slip  
Validation selected  
Validation not selected  
Validation paper printable  
Validation paper not printable  
Not used. Fixed to off.  
4
5
Lead edge paper present  
Lead edge paper not present  
Trail edge paper present  
Trail edge paper not present  
Not used. Fixed to off  
6
7
Recognizing data from the printer  
An application sending various real time and non-real time commands to which the printer responds can determine  
which command a response belongs to by the table below.  
Batch mode responses are non-real time responses and arrive in the order in which they were solicited.  
Batch mode response  
Response recognized by:  
ASCII  
ECS u 0  
ESC v  
HEX  
1B 75 0  
1B 76  
0
0
0
0
0
x
x
x
0
x
x
x
0
0
0
0
0
0
x
x
0
x
x
x
x
x
x
x
x
x
x
x
Binary  
Binary  
Binary  
Binary  
GS I n  
GS r n  
1D 49 n  
1D 72 n  
Real time response  
Response recognized by:  
ASCII  
HEX  
GS EOT n  
DLE EOT n  
GS ENQ  
XON  
1D 04 n  
10 04 n  
1D 05  
0
0
1
0
0
x
x
x
0
0
x
x
x
0
0
1
1
x
1
1
x
x
x
0
0
x
x
x
0
0
1
1
x
0
1
0
0
x
1
1
Binary  
Binary  
Binary  
Binary  
Binary  
XOFF  
Unsolicited status mode (USM)  
USM Byte 1  
Response recognized by:  
0
0
x
x
x
x
1
0
x
x
x
x
0
x
0
x
Binary  
Binary  
USM Byte 2–4  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
100 Chapter 5: Programming commands  
Bar codes  
These commands format and print bar codes and are described in order of their hexadecimal codes.  
Select printing position of HRI characters  
ASCII  
GS H n  
Hexadecimal 1D 48 n  
Decimal  
29 72 n  
Value of n:  
Printing position  
0 = Not printed  
1 = Above the bar code  
2 = Below the bar code  
3 = Both above and below the bar code  
Default:  
0 (Not printed)  
Prints HRI (human readable interface) characters above or below the bar code.  
Select pitch of HRI characters  
ASCII  
GS f n  
Hexadecimal 1D 66 n  
Decimal  
29 102 n  
Value of n:  
0 = Standard pitch at 15.2 CPI  
1 = Compressed pitch at 19 CPI  
Default:  
0 (Not printed)  
Selects standard and compressed font for printing bar code characters.  
When slip is selected as the interface, HRI is always compressed.  
Select bar code height  
ASCII  
GS h n  
Hexadecimal 1D 68 n  
Decimal  
29 104 n  
Value of n:  
Range of n:  
Default:  
Number of dots  
1–255 (decimal)  
162 (decimal)  
01-FF (hexadecimal)  
A2 (hexadecimal)  
Sets the bar code height to (n/154”) for receipt and  
(n/172”) for slip.  
Print bar code  
First Variation  
Second Variation  
ASCII GS k m d1…dk NUL GS k m n d1…dn  
Hexadecimal 1D 6B m d1…dk 00 1D 6B m n d1…dn  
Decimal  
29 107 m d1 dk 0  
29 107 m n d1…dn  
(0 = End of command)  
Selects the bar code type and prints a bar code for the ASCII characters entered. If the width of the bar code exceeds  
one line, the bar code is not printed.  
There are two variations to this command. The first variation uses a NUL character to terminate the string; the second  
uses a length byte at the beginning of the string.  
The check digit is calculated for UPC and JAN (EAN) codes if it is not sent from the host computer.  
Six-character zero-suppressed UPC-E tags are generated from full 11 or 12 characters sent from the host computer  
according to standard UPC-E rules. Start/stop characters are added for code 39 if they are not included.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 101  
Rotated barcodes set with small modules (select bar code width command 1D 77 n , with n = 1 or 2) and PDF 417  
barcodes in any orientation are printed at low speed, for better readability.  
Exceptions  
The command is only valid at the beginning of a line.  
Illegal data cancels the command.  
Values:  
First variation: String terminated with NUL character. Length k is not specified in command string; it depends on the  
bar code being printed.  
m
Bar code  
d1...dk  
length  
0
UPC-A  
48-57 (decimal)  
30-39 (ASCII numerals)  
Fixed length: 11,12  
1
2
3
4
UPC-E  
48–57  
30-39  
Fixed length: 11, 12  
Fixed length: 12, 13  
Fixed length: 7, 8  
Variable length  
JAN13 (EAN)  
JAN8 (EAN)  
Code 39  
48–57  
30-39  
48–57  
30-39  
48–57, 65–90 (decimal), 32, 36, 37,  
43, 45, 46, 47 (decimal)  
d1 = dk = 42 (start/stop code is supplied by printer if necessary)  
30-39 (ASCII numerals), 41-5A (ASCII alphabet)  
20, 24, 25, 2B, 2D, 2E, 2F (ASCII special characters)  
d1=dk=2A (start/stop code is supplied by printer if necessary)  
5
Interleaved 2 of 5  
Codabar  
48–57  
30-39  
Variable length (even number)  
6
65–68, start code 48–57, 36, 43, 45, 46, 47, 58  
41-44, start code 30-39, 24, 2B, 2D, 2E, 2F, 3A  
Variable length  
10  
PDF 417  
1–255  
01-FF  
Variable length, maximum 1000 characters  
Second variation: length n specified at beginning of string. Except as noted, 0 < n < 256.  
m
Bar code  
UPC-A  
d1...dn  
n
65  
66  
67  
68  
69  
48–57 (decimal)  
30-39 (ASCII numerals)  
Fixed length: 11, 12  
Fixed length: 11, 12  
Fixed length: 12, 13  
Fixed length: 7, 8  
Variable  
UPC-E  
48–57  
30-39  
JAN13 (EAN)  
JAN8 (EAN)  
CODE 39  
48–57  
30-39  
48–57  
30-39  
48–57, 65–90 (decimal), 32, 36, 37,  
43, 45, 46, 47 (decimal)  
d1 = dk = 42 (start/stop code is supplied by printer if necessary)  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
102 Chapter 5: Programming commands  
m
Bar code  
d1...dn  
n
70  
Interleaved 2 of 5 (ITF)  
30-39  
48–57  
Variable (even number)  
71  
72  
73  
74  
75  
78  
79  
CODABAR (NW-7)  
Code 93  
65–68, start code 48–57, 36, 43, 45, 46, 47, 58  
41-44, start code 30-39, 24, 2B, 2D, 2E, 2F, 3A  
Variable  
Variable  
Variable  
00–127  
00-7F  
Code 128  
0–105 d1 = 103–105 (must be a start code)  
d2 = 0–102 (data bytes) (Stop code is provided by the printer)  
Code 128 auto compress  
PDF 417  
0-255  
00-FF  
Variable  
Variable  
Variable  
0–255  
00-FF  
Code EAN 128 auto compress 0-255  
00-FF  
PDF 417  
0-255  
00-FF  
Variable  
0 < n < 2800  
data length specified via  
integer n = nH:nL  
1D 6B m nL nH d1 . . . dn  
The value of m selects the bar code system as described in the table. The variable d indicates the character code to  
be encoded into the specified bar code system. If character code d cannot be encoded, the printer prints the bar code  
data processed so far, and the following data is treated as normal data.  
Exceptions  
Illegal data cancels this command.  
PDF 417 format cannot be printed on the slip.  
Set GS1 DataBar (formerly RSS) parameters  
Setting of parameters for GS1 Databar.  
ASCII  
GS q a b c d e fL fH  
Hexadecimal 1D 71 a b c d e fL fH  
Decimal  
29 113 a b c d e fL fH  
a
byte  
pixels per minimum unit, default 3, minimum 2, maximum 6 (value a applies  
to parameters b, c, d)  
b
c
byte  
byte  
byte  
byte  
X undercut, default 0, can be set 0 to a-1  
Y undercut, default 0, can be set 0 to a-1  
separator height, default a, can be set a to a*2  
d
e
segment width, used only by GS1 DataBar Expanded, default 22, must be  
even number 2 to 22  
f
word  
line height, used only by UCC128, default 25, can be set 1 to 500  
Note: For GS1 DataBar commands, consult ISO/IEC 24724. For further information, visit www.gs1.org.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 103  
Print GS1 DataBar (formerly RSS), data length specified  
ASCII  
Hexadecimal  
Decimal  
GS k m nL nH d1... dn  
1D 6B m nL nH d1... dn  
29 107 m nL nH d1... dn  
m
Type  
61  
62  
63  
64  
65  
66  
67  
68  
69  
6A  
6B  
6C  
GS1 DataBar  
GS1 DataBar truncated  
GS1 DataBar stacked  
GS1 DataBar stacked omni-directional  
GS1 DataBar limited  
GS1 DataBar expanded and expanded stacked  
UPC-A  
UPC-E  
EAN-13  
EAN-8  
UCC/EAN-128 with CC-A or CC-B  
UCC/EAN-128 with CC-C  
Note: Data length specified 1 to 2436 via integer nH : nL.  
Print GS1 DataBar (formerly RSS), null terminated  
ASCII  
Hexadecimal  
Decimal  
GS k n d1... 00  
1D 6B n d1... 00  
29 107 n d1... 00  
n
Type  
51  
52  
53  
54  
55  
56  
57  
58  
59  
5A  
5B  
5C  
GS1 DataBar  
GS1 DataBar truncated  
GS1 DataBar stacked  
GS1 DataBar stacked omni-directional  
GS1 DataBar limited  
GS1 DataBar expanded and expanded stacked  
UPC-A  
UPC-E  
EAN-13  
EAN-8  
UCC/EAN-128 with CC-A or CC-B  
UCC/EAN-128 with CC-C  
Note: Null terminated, data length 1 to 2436  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
104 Chapter 5: Programming commands  
Print multiple barcodes  
ASCII  
Hexadecimal 1D 6B FF n  
Decimal 29 108 255  
GS k  
All the individual barcode strings start with 1D 6B m, where m is the type of barcode. Use the same command to do  
multiple barcodes on one line.  
1D 6B FF 01  
1D 6B FF 00  
begin multiple barcodes one line  
end multiple barcodes one line, print the barcodes  
·
·
·
·
·
·
·
Multiple barcodes can be aligned right, left, center same as single line barcodes  
All barcodes on one line printed at same alignment, height, width, and HRI as the first one  
Parameters for alignment, height, width, and HRI can be set before or after 1D 6B FF 01 command  
No height restriction change from single line barcodes  
Quiet zone between barcodes = 10 * module width  
No text in between barcodes (results undefined)  
Upright, picket fence barcodes only, no upside down or ladder. Extended barcode printing for upside down and  
ladder barcodes can be done in page mode if required.  
·
·
·
·
·
Slip/validation selection disabled in multiple barcodes command string  
Multiple barcodes command string disabled when slip/validation selected  
Page mode disabled in multiple barcodes command string  
Multiple barcodes command string disabled in page mode  
Page mode parameters initialized at end of multiple barcodes command string  
Sample multiple barcodes command string:  
1b 40  
Initialize  
1d 6b ff 01  
Begin multiple barcodes one line  
Center align  
1b 61 01  
1d 68 40  
Barcode height  
1d 77 02  
Barcode width  
1d 48 02  
Print HRI below  
1d 6b 49 06 67 27 2d 2e 2d 2e  
1d 6b 49 07 67 04 05 06 07 08 09  
1d 6b 49 04 67 01 02 03  
1d 6b ff 00  
Barcode 1, code 128  
Barcode 2, code 128  
Barcode 3, code 128  
End multiple barcodes, print  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 105  
Select PDF 417 parameters  
ASCII  
Hexadecimal 1D 70 a b c d e f  
Decimal 29 112 a b c d e f  
GS p a b c d e f  
Value and Ranges:  
Value:  
Ranges:  
Description:  
a, b =  
The ratio of bar height to symbol length.  
a =  
height  
limit 1 to 10  
limit 1 to 100  
limit 3 to 90  
limit 7 to 30  
limit 1 to 7  
b =  
width  
c =  
rows  
Number of rows in the matrix of code words.  
Number of columns in the matrix of code words.  
Width of a single module in dots.  
d =  
columns  
x dimension  
y dimension  
e =  
f =  
limit 2 to 25  
Height of the code word in dots.  
Defaults:  
a = 1  
b = 2  
c = 58  
d = 7  
e = 3  
f = 10  
PDF 417 is a multi-row, continuous, variable length symbology which has high data capacity. Each symbol has  
between 3 and 90 rows, with each row containing a start pattern, a left row indicator, 1 to 30 data characters, a right  
row indicator and a stop pattern. The number and length of the rows are selectable, which allows the aspect ratio to be  
adjusted to particular labeling applications. There are no separator bars between rows.  
Each character has four bars and four spaces within 17 modules, and is assigned a value between 0 and 928. For this  
symbology, it is common to refer to these character values as “code words.”  
There are three mutually exclusive sets of symbol patterns, or clusters, each having 929 distinct patterns. Because  
different clusters are used for adjacent rows, it is possible for the decoder to tell if the scanning path is crossing row  
boundaries without the use of separator bars.  
Sample symbol description:  
Each PDF 417 symbol consists of 3 to 90 stacked rows surrounded on all four sides by a quiet  
zone. Each row contains:  
1
2
3
4
5
6
7
Leading quiet zone  
Start pattern  
Left row indicator characters (code words)  
One to thirty data characters (code words)  
Right row indicator character (code words)  
Stop pattern  
Trailing quiet zone  
The number of characters in a row and number of rows can be adjusted to vary the symbol’s overall aspect ratio to best  
fit an available space.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
106 Chapter 5: Programming commands  
Each row has a left and right row indicator with a data region between. The left-most character in the top row of the  
data region is the total number of characters in the data region, excluding error correction characters. Characters  
within the data region are designed to be read from left to right, starting on the top row, immediately after the length-  
defining character. The maximum characters in the data region are 928.  
Related Information:  
The “Set bar code widthcommand (1D 77 n) affects the  
x dimension and row height for PDF 417. See chart below.  
n value  
x dimension  
row height  
2
3
4
5
6
2
3
4
5
6
7
10  
13  
17  
20  
Select bar code width  
ASCII  
GS w n  
Hexadecimal 1D 77 n  
Decimal  
Value of n:  
Default:  
29 119 n  
2, 3, 4, 5, 6  
3 for receipt; 2 for slip  
Sets the bar code width to n dots.  
Formulas  
n/8 mm (n/203 inch) for receipt.  
n/5.7 mm (n/144 inch) for slip.  
Page mode  
Page mode is one of two modes that the A776 printer uses to operate. Standard mode is typical  
of how most printers operate by printing data as it is received and feeding paper as the various  
paper feed commands are received. Page mode is different in that it processes or prepares the  
data as a “pagein memory before it prints it. Think of this as a virtual page. The page can be any  
area within certain parameters that you define. Once the printer receives the (0 × 0C) command,  
it prints the page and returns the printer to standard mode.  
The select page mode command (1B 4C) puts the printer into page mode. Any commands that  
are received are interpreted as page mode commands. Several commands react differently  
when in standard mode and page mode. The descriptions of these individual commands in this  
chapter indicate the differences in how they operate in the two modes.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 107  
Slip page mode considerations  
Suggested command sequence to print bank check  
1B 40  
reset to power-on parameters  
1B 63 30 04  
select the slip  
1B 4C  
1B 54 03  
select Page Mode  
select printing direction  
1B 57 00 00 00 00 90 01 80 05  
Text and print commands  
0C  
select page size (not necessary for default size)  
as required  
print the page and exit Page Mode  
eject the check and select receipt  
1B 63 30 01  
When switching between Page Mode print on the receipt and Page Mode print on the slip, 1B  
40 should precede the station selection command to ensure the correct Page Mode defaults are  
restored for each station.  
Page size  
The default page size is 200 full dots wide by 704 full dots long. (2.5wide by 9.7long.)  
On the B780, the right side margin can be configured to .1, .3, or .5. The .3and .5margins are for A721 emulations,  
and provide a maximum width of 200 full dots. With the right side margin set to .1the maximum width is 242 full dots  
(3.024”).  
On the A776, the right side margin is .1, and provides a maximum width of 242 full dots.  
The maximum length can be set to any size, but is limited by available memory. Width and length other than default  
are set by command 1B 57…, with parameters specified in half dots. The length controls how much paper is fed.  
For applications specifying a page size greater than 242 full dots wide, there is a configuration option for trimming  
blank areas. The command is 1F 03 2F n.  
Some examples of setting page size:  
1B 57 00 00 00 00 90 01 80 05  
0x190 = 400 half dots = 200 full dots wide  
0x580 = 1408 half dots = 704 full dots long  
1B 57 00 00 00 00 E4 01 F0 03  
0x1E4 = 484 half dots = 242 full dots wide = 3.024”  
0x3F0 = 1008 half dots = 504 full dots long = 7”  
Character Size  
It is best to use the Select Print Mode command (1B 21 n) to set character size. The Select Character Size command  
(1D 21 n) can be used to set double wide and double high, but impact characters are not increased any further. When  
using the legacy command 0x12 to set double wide, you must use the corresponding command 0x13 to turn off  
double wide.  
Exceptions  
The Print and Reverse Feed commands (1B 4B n and 1B 65 n) are not applicable to Page Mode.  
Avoid bi-directional print. Uni-directional print is the default in Page Mode.  
B780 as A721  
The A721 can be configured to .5and .3Page Mode right side margins only. When Page Mode right side margin  
is configured to .5or .3, the default tab stops are every five full dots, rather than every six full dots. When tabs are  
set while in Page Mode, they are set at multiples of six full dots as expected. When Page Mode right side margin is  
configured to .1the default tab stops are every six full dots in Page Mode.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
108 Chapter 5: Programming commands  
Page mode configurations  
The original implementation of Page Mode on the slip station mapped thermal dots to impact dots, and sometimes  
produced output that was not acceptable to customers. Improvements have been made, and the improved impact  
Page Mode is the default configuration. It is printed out on the second diagnostic page, printed via 1F 74 1F 74 double  
command, or by holding down the paper feed button at power on until the second page starts to print.  
What prints:  
Slip Application Command Options  
Slip Page Mode : Improved  
To re-configure the original Page Mode on the slip station, send 1F 03 26 06 00 or use the configuration menu. What  
will print:  
Slip Application Command Options  
Slip Page Mode : Enabled  
To disable Page Mode on the slip station, send 1F 03 21 00 or use the configuration menu. What will print:  
Slip Application Command Options  
Slip Page Mode : Disabled  
Print and return to standard mode  
ASCII  
Hexadecimal 0C  
Decimal 12  
FF  
The processed data is printed and the printer returns to standard mode. The developed data is deleted after being  
printed. This command has the same code as the print and eject slip command, which is executed when the printer is  
not in page mode.  
Exceptions  
This command is enabled only in page mode.  
Cancel print data in page mode  
ASCII  
Hexadecimal 18  
Decimal 24  
CAN  
Deletes all the data to be printed in the “pagearea. Any data from the previously selected “pagearea that is also part  
of the current data to be printed is deleted.  
This command has the same code as the open form command, which is performed when the printer is not in page  
mode.  
Exceptions  
This command is only used in page mode.  
Print data in page mode  
ASCII  
Hexadecimal 1B 0C  
Decimal 27 12  
ESC FF  
Collectively prints all buffered page data in the printing area.  
After printing, the printer does not clear the buffered page data.  
Exceptions  
This command is enabled only in page mode.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 109  
Select page mode  
ASCII  
Hexadecimal 1B 4C  
Decimal 27 76  
ESC L  
Switches from standard mode to page mode. After printing has been completed either by the print and return to  
standard mode (FF) command or select standard mode (1B 53) the printer returns to standard mode. The developed  
data is deleted after being printed. For more information see page mode in this document.  
This command sets the position where data is buffered to the position specified by select print direction in page mode  
(1B 54) within the printing area defined by set print area in page mode (1B 57).  
This command switches the settings for the following commands (which values can be set independently in standard  
mode and page mode) to those for page mode.  
Set right-side character spacing (1B 20)  
Select 1/6-inch line spacing (1B 32)  
Set line spacing (1B 33)  
It is possible only to set values for the following commands in page mode. These commands are not executed.  
Select or cancel 90 degree clockwise rotation (1B 56)  
Set counter-clockwise rotation (1B 12)  
Select justification (1B 61)  
Select or cancel upside-down printing (1B 7B)  
Set left margin (1D 4C)  
Set print area width (1D 57)  
The table that follows shows the difference in memory allocation in page mode when using monochrome and two-  
color paper. Two-color paper mode requires extra memory in order to differentiate between non-black and black.  
Paper type Total memory  
Area of  
allocated (kBytes) construction (mm)  
Monochrome 40.5  
72 wide × 72 high  
paper  
Two-color  
paper  
81.0  
20  
72 wide × 72 high (dots)  
72 wide × 72 high (energy)  
Slip paper  
200 wide × 704 high (full dots)  
Exceptions  
The command is enabled only when input at the beginning of a line.  
The command has no effect if page mode has previously been selected.  
For the A756 emulation mode this command has a different definition. The select page mode function is not available  
in the A756 emulation mode.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
110 Chapter 5: Programming commands  
Select standard mode  
ASCII  
Hexadecimal 1B 53  
Decimal 27 83  
ESC S  
Switches from page mode to standard mode. In switching from page mode to standard mode, data buffered in page  
mode are cleared, the printing area set by set print area in page mode (1B 57) is initialized and the print position is set  
to the beginning of the line.  
This command switches the settings for the following commands (the values for these commands can be set  
independently in standard mode and page mode) to those for standard mode:  
Set right-side character spacing (1B 20)  
Select 1/6 inch line spacing (1B 32)  
Set line spacing (1B 33)  
Standard mode is automatically selected when power is turned on, the printer is reset, or the initialize printer  
command (1B 40) is used.  
Exceptions  
This command is effective only in page mode.  
Select print direction in page mode  
ASCII  
ESC T n  
Hexadecimal 1B 54 n  
Decimal  
27 84 n  
Value of n:  
Start position  
0 = Upper left corner proceeding across page to the right (A)  
1 = Lower left corner proceeding up the page (B)  
2 = Lower right corner proceeding across page to the left (upside down) (C)  
3 = Upper right corner proceeding down page (D)  
Default:  
0
Selects the printing direction and start position in page mode.  
The command can be sent multiple times so that several different print areas, aligned in different print directions, can  
be developed in the printer’s page buffer before being printed using the print page mode commands (0C or 1B 0C).  
Exceptions  
The command is valid only in page mode.  
The command is ignored if the value of n is out of the specified range.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 111  
Set print area in page mode  
ASCII  
ESC W n1, n2 ...n8  
Hexadecimal 1B 57 n1, n2 ...n8  
Decimal  
27 87 n1, n2 ...n8  
Range of n:  
Default:  
0–255  
Receipt Slip  
n14 =  
n5 =  
n6 =  
0
64  
2
0
144  
1
n7 =  
n8 =  
64  
2
128  
5
Sets the position and size of the printing area in page mode.  
The command can be sent multiple times so that several different print areas, aligned in different print directions, can  
be developed in the printer’s page buffer before being printed using the print page mode commands (0C or 1B 0C).  
Formulas  
The starting position of the print area is the upper left of the area to be printed (x0, y0). The length of the area to be  
printed in the y direction is set to dy inches. The length of the area to be printed in the x direction is set to dx inches.  
Use the equations to determine the Value of x0, y0, dx, and dy.  
x0 = [(n1 + n2 × 256) × (horizontal direction of the fundamental calculation pitch)]  
y0 = [(n3 + n4 × 256) × (vertical direction of the fundamental calculation pitch)]  
dx = [(n5 + n6 × 256) × (horizontal direction of the fundamental calculation pitch)]  
dy = [(n7 + n8 × 256) × (vertical direction of the fundamental calculation pitch)]  
Default values:  
 
Receipt Slip  
 
x0 =  
y0 =  
dx =  
0
0
0
0
�  
 
576  
200  
2.8 in.  
2.5 in.  
dy =  
576  
2.8 in.  
705  
9.7 in.  
�  
Keep the following notes in mind for this command.  
The fundamental calculation pitch depends on the vertical or horizontal direction.  
Receipt:  
The maximum printable area in the x direction is 576/203 inches.  
Slip:  
The maximum printable area in the x direction is 3.024 inches. This can be set using dx = 484 half dots, for  
example 1B 57 00 00 00 00 E4 01 80 05.  
Receipt and Slip:  
The maximum printable area in the y direction depends on the available memory.  
See the illustration for a graphic representation of the printing area. For more information about the fundamental  
calculation pitch, see the set horizontal and vertical motion units command (1D 50).  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
112 Chapter 5: Programming commands  
Maximum area specification in page mode  
Maximizing the possible area in page mode consumes almost all of free RAM. Without any free RAM, bitmap rotations  
and enlargements cannot be performed. Use the user storage status command (1D 97 m n) to determine the amount  
of free memory.  
Exceptions  
The command is effective only in page mode.  
Set absolute vertical print position in page mode  
ASCII  
Hexadecimal 1D 24 nL nH  
Decimal 29 36 nL nH  
GS $ nL nH  
Sets the absolute vertical print starting position for buffer character data in page mode. The absolute print position is  
set to [(nL + nH × 256) × (vertical or horizontal motion unit)] inches.  
The vertical or horizontal motion unit for the paper roll is used and the horizontal starting buffer position does not  
move.  
The reference starting position is set by select print direction in page mode (1B 54). This sets the absolute position in  
the vertical direction when the starting position is set to the upper left or lower right; and sets the absolute position in  
the horizontal when the starting position is set to the upper right or lower left. The horizontal and vertical motion unit  
are specified by the set horizontal and vertical minimum motion units (1D 50) command.  
The set horizontal and vertical minimum motion units (1D 50) command can be used to change the horizontal and  
vertical motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must  
be in even units of the minimum horizontal movement amount.  
Formulas  
[(nL + nH × 256) × (vertical or horizontal motion unit)] inches.  
Exceptions  
This command is effective only in page mode.  
If the [(nL + nH × 256) × (vertical or horizontal motion unit)] exceeds the specified printing area, this command is  
ignored.  
Set relative vertical print position in page mode  
ASCII  
GS \ nL nH  
Hexadecimal 1D 5C nL nH  
Decimal  
Value:  
29 92 nL nH  
The value for the horizontal and vertical movement cannot be less than the minimum horizontal movement amount,  
and must be in even units of the minimum horizontal movement amount.  
Sets the relative vertical print starting position from the current position. This command can also change the  
horizontal and vertical motion unit. The unit of horizontal and vertical motion is specified by this command.  
1. This command functions as follows, depending on the print starting position set by select print direction in page  
mode (1B 54):  
2. When the starting position is set to the upper right or lower left of the printing area, the vertical motion unit (y) is  
used.  
3. When the starting position is set to the upper left or lower right of the printing area, the horizontal motion unit (x) is  
used.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 113  
Formulas  
The distance from the current position is set to (nL + nH × 256) × vertical or horizontal motion unit] inches. The amount  
of movement is calculated only for the paper roll.  
When pitch n is specified to the movement downward:  
nL + nH × 256 = n  
When pitch n is specified to the movement upward (the negative direction), use the complement of 65536.  
When pitch n is specified to the movement upward:  
nL + nH × 256 – 65536 – N  
Exceptions  
This command is used only in page mode, otherwise it is ignored.  
Any setting that exceeds the specified printing area is ignored.  
Macros  
These commands are used to select and perform a user-defined sequence of printer operations.  
Select or cancel macro definition  
ASCII  
Hexadecimal 1D 3A  
Decimal 29 58  
GS :  
Starts or ends macro definition. Macro definition begins when this command is received during normal operation and  
ends when this command is received during macro definition. The macro definition is cleared, during definition of the  
macro when the execute macro (1D 5E) command is received.  
Normal printing occurs while the macro is defined. When the power is turned on the macro is not defined.  
The defined contents of the macro are not cleared by the initialize printer (1B 40), thus, the initialize printer  
(1B 40) command may be used as part of the macro definition.  
If the printer receives a second select or cancel macro definition (1D 3A) command immediately after previously  
receiving a select or cancel macro definition (1D 3A) the printer remains in the macro undefined state.  
Formulas  
The contents of the macro can be defined up to 2048 bytes.  
Exceptions  
If the macro definition exceeds 2048 bytes, excess data is not stored.  
Execute macro  
ASCII  
GS ^ r t m  
Hexadecimal 1D 5E r t m  
Decimal  
29 94 r t m  
Value of r:  
Value of t:  
The number of times to execute the macro.  
The waiting time for executing the macro.  
Executes a macro. After waiting for a specified period the printer waits for the paper feed button to be pressed. After  
the button is pressed, the printer executes the macro once. The printer repeats this operation the number of specified  
times.  
When the macro is executed by pressing the paper feed button (m = 1), paper cannot be fed by using the paper feed  
button.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
114 Chapter 5: Programming commands  
Formulas  
The waiting time is t × 100 ms for every macro execution.  
m specifies macro executing mode when the LSB (least significant bit) m = 0  
The macro executes r times continuously at the interval specified by t when the LSB (least significant bit) of  
m = 1.  
Exceptions  
If this command is received while a macro is being defined, the macro definition is aborted and the definition is  
cleared.  
If the macro is not defined or if r is 0, nothing is executed.  
MICR commands  
MICR reading  
These commands control the Magnetic Ink Character Recognition (MICR) check reader, including how it parses the  
character strings on checks.  
The section, MICR parsing, describes how to create a parsing format and how to create and maintain an exceptions  
table.  
Read MICR data and transmit  
ASCII  
ESC w 1  
Hexadecimal 1B 77 01  
A776:  
1B 77 01 = read & transmit MICR, position for endorsement  
1B 77 01 = wait for check, read & transmit MICR, eject check  
1B 77 02 = wait for check, read & transmit MICR, position for endorsement  
1B 77 02 (B780 only) B780:  
B780:  
Decimal  
Default:  
27 119 1  
All data returned  
Reads and transmits the MICR data and adds a carriage return (0x0D). One status byte precedes the MICR characters.  
If no parsing format is selected with either of the define parsing format commands (see below), all data will be  
returned, which is the default.  
Status  
Status byte value  
Good read, data follows  
Bad read, data follows  
No check present, no data  
Paper jam, no data  
0x00  
0x01  
0x02  
0x03  
0x04  
No MICR characters, no data  
MICR characters  
Numerics  
ASCII  
Hexadecimal  
0 ... 9  
?
0x30 ... 0x39  
0x3F  
Unrecognized character  
Space  
0x20  
Amount symbol  
Dash symbol  
&
0x26  
0x27  
“on ussymbol  
Transit symbol  
(
0x28  
)
0x29  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 115  
Transmit last MICR read  
ASCII:  
Hexadecimal: 1B 77 52  
Decimal: 27 119 82  
ESC w R  
Resends the previously decoded MICR data (as if the parsing has not been defined) to the host. The return  
data is defined in the “Read MICR data and transmitcommand (1B 77 01) without parsing and presents the data from  
the last MICR read since power-up or reset or indicates in the status that no read has yet occurred.  
MICR parsing  
This section describes MICR parsing in detail and includes several examples of useful parsing variations. It also  
describes how to create a parsing format and how to create and maintain an exception table.  
Define parsing format, save in NVRAM  
ASCII:  
Hexadecimal: 1B 77 50 d1 d2 … dn 0D  
Decimal: 27 119 80 d1 d2 … dn 13  
ESC w P d1 d2 … dn CR  
Defines and saves parsing format. See parsing parameter string options in this document. Send with this command  
the parse data that is to be the default parse string at printer power-up. If no parameters are selected, parsing is not  
performed.  
d1 through dn are the parse string. The string must be CR terminated. If the string has invalid characters in it or is too  
long, the printer will store a null string, and unparsed MICR data will be returned.  
Define parsing format, do not save permanently  
ASCII  
Hexadecimal 1B 77 70  
Decimal 27 119 112  
ESC w p  
Defines, but does not save parsing format. See parsing parameter string options in this document. Send as often as  
desired to change the previous parse format string.  
If no parameters are selected, parsing is not performed.  
Same parameters as 1B 77 50....  
Parsing parameter string options  
Variable length fields  
Variable length field name  
Transit number  
Bank number  
Selector  
Comments  
T
Full 9-digit routing/transit number  
Digits 4–8 of transit number  
Digit 9 of transit number  
B
Check digit  
D
Account number  
Check serial number  
Amount  
A
C
Separate from account number  
This field may not be present or readable  
Comments  
$
Variable length field  
optional modifiers  
Selector  
Zero fill to length  
0
ASCII zero preceding maximum length  
1- or 2-digit ASCII number  
Maximum length  
nn  
X
Remove space/dash  
Replace space/dash with 0  
x
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
116 Chapter 5: Programming commands  
Examples of variable length field format specifications  
Account #, all characters in the field, keep spaces and dashes  
Account #, all characters in the field, replace spaces and dashes  
Account #, maximum 12 characters, keep spaces and dashes  
Account #, always 12 characters zero filled, remove spaces and dashes  
A
xA  
12A  
012XA  
Other parameters  
Error number  
E
0
1
One digit returned  
Read OK  
Read error: bad character, empty  
field invalid length,  
check digit invalid  
Status  
S
Two digits returned  
No MICR data  
01  
09  
08  
05  
07  
04  
10  
11  
00  
Mexican check  
Canadian check  
Error in transit number  
Error in account number  
Error in check serial number  
Business or commercial check  
Amount field present  
No error  
Field separator  
Country code  
‘x  
Field separator preceded by a single quote, so a field separator of the letter A would be  
sent as ‘A (0x27 0x41).  
If a carriage return is specified as a separator (0x27 0x0D), a final carriage return must still  
terminate the parsing parameter string.  
Un  
One digit returned  
Returned if US check  
Returned if not US check  
n
nothing  
Country code  
Check type  
Km  
One digit returned  
m
Returned if Canadian check  
Returned if not Canadian check  
One digit returned  
nothing  
L
1
2
Personal check  
Business or commercial check  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 117  
Sample parsing formats  
The following strings show various sample formats that you can use assuming they meet your parsing format needs.  
Included with the sample format is a description of the data that is returned to the application.  
ESC w p 18 A <CR>  
Maximum 18 characters in the account number  
Final carriage return  
ESC w p 18 X A <CR>  
Maximum 18 characters in the account number with spaces and dashes removed  
Final Carriage Return  
ESC w p 18 x A <CR>  
Maximum 18 characters in the account number with spaces and dashes replaced with 0  
Final carriage return  
ESC w p 018 A <CR>  
Always 18 characters in the account number (high order zero-filled if necessary)  
Final carriage return  
ESC w p 018 X A <CR>  
Always 18 characters in the account number with spaces and dashes removed  
Final carriage return  
ESC w p 018 x A <CR>  
Always 18 characters in the account number with spaces and dashes replaced with 0  
Final Carriage Return  
ESC w p T 18 X A 04C <CR>  
All characters in the transit number  
All characters in the account number (up to 18) with spaces and dashes removed  
Always four characters in the check number (zero-filled if check number is only three characters long)  
Final carriage return  
ESC w p K9 X T 18 X A 04C <CR>  
U.S. check: all nine characters in the transit number (because there are no dashes)  
Canadian check: dash in transit number removed; “9inserted at beginning, resulting in a fully numeric nine  
character transit number  
All characters in the account number (up to 18) with spaces and dashes removed  
Always four characters in the check number (zero-filled if check number is only three characters long)  
Final carriage return  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
118 Chapter 5: Programming commands  
ESC w p T ‘/ A ‘/ C ‘/ S <CR>  
All characters in the transit number  
Field separator: /  
All characters in the account number  
Field separator: /  
All characters in the check number  
Field separator: /  
Two-digit status  
Final carriage return  
Notes:  
All parameters are ASCII characters, i.e. greater than or equal to 0x20, with the exception of a non-ASCII character  
enclosed in single quotes as a field separator. This applies both to parameter specifications sent from application to  
printer, and to MICR data returned from printer to application.  
Parameters are positional; their order in the parameter string is the order in which the parsed MICR data will be  
returned. Unrecognized parameters will be ignored, and processing of the parsing parameters will stop. Any data  
remaining after the unrecognized parameter will be treated as normal input data.  
If parameters are not defined (for example, 1B 77 50 <CR> or 1B 77 70 <CR>) parsing is not selected. One status byte  
followed by all decoded MICR characters will be returned. The chart on the next page is the default parsing format if no  
other is selected:  
Status  
Status byte value  
Good read, data follows  
Bad read, data follows  
No check present, no data  
Paper jam, no data  
0x00  
0x01  
0x02  
0x03  
0x04  
No MICR characters, no data  
MICR characters  
Numerics  
ASCII  
Hexadecimal  
0 ... 9  
?
0x30 ... 0x39  
0x3F  
Unrecognized character  
Space  
0x20  
Amount symbol  
Dash symbol  
&
0x26  
0x27  
“on ussymbol  
Transit symbol  
(
0x28  
)
0x29  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 119  
Once a parsing format is specified, the following values are returned:  
MICR characters  
Numerics  
ASCII  
Hexadecimal  
0x30 ... 0x30  
0x20  
0 ... 9  
Space  
Dash  
-
0x2D  
Field separator*  
Country code*  
*As specified in the parsing parameter string  
Check serial number  
Parsing the check serial number  
Most banks print the check serial number in three easily recognizable spots. The printer firmware will look for the  
number in these spots, using the following ordered algorithm. The examples use letters to represent symbols on the  
check:  
t
Transit symbol  
“on ussymbol  
Amount symbol  
Dash  
o
$
-
c
x
Check serial number  
Any other number  
A number bracketed by “on ussymbols in the auxiliary “on useld is the check serial number.  
occcccco txxxxxxxxxt xxxxxxxxo  
Otherwise, a three or more digit number to the right of the rightmost “on ussymbol, and to the left of the leftmost  
amount symbol if an amount field is present, is the check serial number.  
txxxxxxxxxt xxxxxxxxo cccc  
txxxxxxxxxt xxxxxxxxo cccc $xxxxxx$  
If both of these searches fail to produce the check serial number, extract the whole account number field from  
between the rightmost transit symbol and the rightmost “on ussymbol. A three, four, or five-digit number to the right  
of the rightmost transit symbol, separated by a space or a dash from the rest of the account number is the check serial  
number.  
txxxxxxxxxt cccc xxxxxxxxo  
txxxxxxxxxt cccc-xxxxxxxxo  
txxxxxxxxxt cccc xxxxxxxxo xx  
If all of these searches fail to produce the distinct check serial number, and the check serial number field has been  
specified in the parsing parameter string options, no check serial number will be returned. If it is imbedded within the  
account number field, it will be returned as part of that variable length field.  
Exceptions  
Some banks print the check serial number in a location that cannot be electronically distinguished without specific  
exception information, although it can be visually distinguished because it is repeated in the upper right corner of  
the check. For these cases, the printer can hold up to nine exceptions for specific banks in its non-volatile memory  
(NVRAM), which is accessed by the read and write NVRAM commands. The specific bank is picked out by its transit  
number, and the firmware will look in the exception table for a transit number match before looking in the normal  
check serial number locations.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
120 Chapter 5: Programming commands  
In this example, without an exception table entry, the firmware would always pick the rightmost four-digit number as  
the check serial number following rule two above. The bank with the three digit check serial number and the four digit  
extension after the “on ussymbol would need to be exceptionally recognized:  
txxxxxxxxxt ccc-xxxxxxxxxxoxxxx  
txxxxxxxxxt xxx-xxxxxxxxxxocccc  
In this example, without an exception table entry, the firmware would not be able to pick out the check serial number  
because it is not separated from the rest of the account number:  
txxxxxxxxxt ccccxxxxxxxxxxo  
In this example, without an exception table entry, the firmware would not be able to pick out the check serial number  
correctly, because it is imbedded within the rest of the account number:  
txxxxxxxxxt xxx-ccc-xxxxxxxxxxo  
Loading the exception table  
The exception table begins at word 20 in NVRAM. Each entry takes five words. There is room for eight exceptions. An  
application can load local exceptions into the printer using the write NVRAM command:  
0x1B 0x73 n1 n2 k  
which writes the two byte word n1:n2 to word k in NVRAM.  
Exception table entry format  
Each exception table entry consists of five words. The first two words contain the first eight characters of the transit  
number by packing the low order nibble of the numeric transit number characters. For Canadian checks, eliminate the  
dash and store the eight numerics.  
The next three words are used as six individual bytes to tell the firmware how to interpret the MICR characters that fall  
to the right of the rightmost transit symbol. Each of the six bytes is positional and consists of two parts: character type  
and number.  
The three high order bits of each byte mark the character type. The characters can be marked in three ways: check  
serial # character, account # character, or “skip this character or symbol.”  
The five low order bits of each byte contain the number of characters of that type to extract. Most exceptions will not  
need to use all six bytes; in that case clear the unused bytes to zero.  
Bits within byte  
7
6
5
4
3
2
1
0
Check serial #  
0
0
1
n
n
n
n
n
character string  
Account #  
character string  
0
1
1
0
0
0
n
n
n
n
n
n
n
n
n
n
Character string  
to ignore  
Example 1  
t123456780t12349876543210o  
1234 is the check serial #  
9876543210 is the account #  
To load the second table entry, which starts at word 25, the transit number 123456780 would be stored in the first two  
words of its table entry using this string of commands:  
0x1B 0x73 0x12 0x34 25  
0x1B 0x73 0x56 0x78 26  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 121  
After the right transit symbol are immediately the four characters of the check serial #, followed immediately by the ten  
characters of the account number. These would be bitwise encoded as:  
0 0 1 0 0 1 0 0 (check #, four characters)  
and 0 1 0 0 1 0 1 0 (account #, 10 characters)  
then stored in the other three words of the table entry using:  
0x1B 0x73 0x24 0x4A 27  
0x1B 0x73 0x00 0x00 28  
0x1B 0x73 0x00 0x00 29  
Example 2  
t22137–632t001 6042202o927540  
2754 is the check serial #  
6042202 is the account #  
To load the third table entry, which starts at word 30, the transit number 2137–632 would be stored in the first two  
words of its table entry using this string of commands:  
0x1B 0x73 0x22 0x13 30  
0x1B 0x73 0x76 0x32 31  
After the right transit symbol are four characters to skip, a seven digit account number, two characters to skip, and  
finally a four digit check serial #. The final character to skip need not be encoded. These would be bitwise encoded as:  
1 0 0 0 0 1 0 0 (skip four characters)  
0 1 0 0 0 1 1 1 (account #, seven characters)  
1 0 0 0 0 0 1 0 (skip two characters)  
0 0 1 0 0 1 0 0 (check #, four characters)  
then stored in the other three words of the table entry using:  
0x1B 0x73 0x84 0x47 32  
0x1B 0x73 0x82 0x24 33  
0x1B 0x73 0x00 0x00 34.  
Maintaining the exception table  
Present contents of the exception table can be examined using the read NVRAM command:  
0x1B 0x6A k  
which reads and returns word k in NVRAM. When the exception table is full, a new entry can replace an older, less  
frequently used entry, by merely rewriting the words for that table entry.  
User data storage  
Write to user data storage  
ASCII  
ESC ‘ m a0 a1 a2 d1 ... dm  
Hexadecimal 1B 27 m a0 a1 a2 d1 ... dm  
Decimal  
27 39 m a0 a1 a2 d1 ... dm  
Value of m:  
0 – 255  
Writes m bytes of data to the user data storage flash page at the address specified. The printer waits for m bytes of data  
following the 3-byte address, addr.  
If any of the memory locations addressed by this command are not currently erased, the command is not executed.  
The printer disables interrupts while writing to flash. Any command that cause data to be written to flash should be  
followed by a 50 Msec delay to allow significant time for the write operation.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
122 Chapter 5: Programming commands  
Read from user data storage  
ASCII  
ESC 4 m a0 a1 a2  
Hexadecimal 1B 34 m a0 a1 a2  
Decimal  
27 52 m a0 a1 a2  
Value of m:  
0 – 255  
Reads m bytes of data from the user data storage flash page at the address specified. Returns m bytes to the  
application, followed by a carriage return (0Dh).  
The high order byte of the address (a0) ranges from 0 to n2–1, with n2 specified in the flash allocation command. If the  
flash allocation command has been used, the a0 = 0 always.  
Read from non-volatile memory  
ASCII  
ESC j k  
Hexadecimal 1B 6A k  
Decimal  
27 106 k  
Range of k:  
20 – 63 (decimal)  
Reads a two-byte word from location k in the history EEROM. The printer returns the word at the next available  
opportunity.  
Write to non-volatile memory (NVRAM)  
ASCII  
ESC s n1 n2 k  
Hexadecimal 1B 73 n1 n2 k  
Decimal  
27 115 n1 n2 k  
1st Byte  
Value of n1:  
Value of n2:  
Range of k:  
2nd Byte  
20 – 63 (decimal locations)  
Writes the two-byte word, n1 n2, to location k in history EEROM.  
Select memory type (SRAM/flash)  
Use this memory to save logos or user-defined fonts.  
ASCII  
GS “ n  
Hexadecimal 1D 22 n  
Decimal  
29 34 n  
Value of n:  
48 – 53  
n = 48 (ASCII n = 0) HEX 30  
Loads active logo to RAM only. This is used to print a special logo but not have it take up flash memory. A logo defined  
following this command is not preserved over a power cycle. The printer disables interrupts while writing to flash. Any  
command that cause data to be written to flash should be followed by a 50 Msec delay to allow significant time for the  
write operation.  
n = 49 (ASCII n = 1) HEX 31  
Loads active logo to flash memory. This is the default condition for logo flash storage. A logo defined following this  
command is stored in flash memory.  
n = 50 (ASCII n = 2) HEX 32  
Loads user-defined characters to RAM only. This is the default condition for user-defined character storage. Any user-  
defined characters defined following this command are not preserved over a power cycle.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 123  
n = 51 (ASCII n = 3) HEX 33  
Loads user-defined characters to flash memory. An application must use this command to store user-defined  
characters in flash memory. Any user-defined characters defined following this command are stored in flash memory. A  
user-defined character cannot be redefined in flash memory. The flash memory page must be erased by an application  
before redefining user-defined characters. For more information, see the erase user flash sector (1D 40 n) command.  
Specifies whether to load the logos or user-defined characters to logo/font flash memory or to RAM (volatile memory).  
The selection remains in effect until it is changed via this command or until the power cycles. To specify permanent  
font flash, also send 1D 22 81 01.  
Flash memory user sectors allocation  
ASCII  
Hexadecimal 1D 22 55 n1 n2  
Decimal 29 34 85 n1 n2  
GS “ U n1 n  
Default Value of n1:  
Default Value of n2:  
1 (see below)  
1 (see below)  
n1 is the number of 64k sectors used for logos and user-defined characters.  
n2 is the number of 64k sectors used for user data storage.  
n1 + n2 <= 6 (dec) (1M)  
n1 + n2 <= 22 (dec) 16 (hex) (2M)  
If n1 + n2 is greater than the maximum number of sectors available, the command is ignored. The printer returns  
NACK.  
Issuing this command with parameters different from current parameters will erase all sectors. The printer returns ACK.  
Issuing this command with parameters the same as current parameters will do nothing. The printer returns ACK.  
Note: Flash memory is made up of user and program code. Therefore, the available flash memory space will vary with the  
amount of program code utilized.  
Expanded flash memory allocation  
ASCII  
Hexadecimal 1D 22 80  
Decimal 29 34 128  
GS “ 0x80  
This sequence of commands is used to specify the number of flash sectors to be used for different applications. The  
begin and end sequence commands must be sent. All areas do not need to have flash sectors specified.  
The command to request the number of user sectors is optional.  
If more sectors are specified than are available the command sequence is ignored and the printer returns NACK.  
If the sectors are available, and different from current parameters, all sectors are erased and the printer returns ACK.  
If the sectors specified are the same as current parameters, nothing is erased and the printer returns ACK.  
1D 22 80 00  
1D 22 80 30  
1D 22 80 31 nL nH  
1D 22 80 32 nL nH  
request number of user sectors available, printer returns nL nH  
begin expanded flash memory allocation sequence  
n sectors to logo/font area  
n sectors to usDefine extended user-defined character set  
ASCII  
US & s c1 c2 [character 1 data] ... [character k data]  
Hexadecimal 1F 26 s c1 c2 [character 1 data] ... [character k data]  
Decimal  
31 38 s c1 c2 [character 1 data] ... [character k data]  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
124 Chapter 5: Programming commands  
Values and ranges:  
s = the number of dot rows in the character cell (maximum 64)  
c = the ASCII codes of the first (c1) and last (c2) characters respectively  
c1 = Hex 20–FF (20 is always printed as a space)  
c2 = Hex 20–FF (20 is always printed as a space)  
To define only one character, use the same code for both c1 and c2  
j = s/8 = the number of bytes (vertically) in the character cell  
k = c2 – c1 + 1 = the number of characters to be defined in this command string  
[character i data] = [ni d1 ... d(j x ni)] for 1 ≤ i ≤ k  
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16  
d = the dot data for the characters  
The number of bytes for the ith character cell is j x ni.  
The bytes are printed down and across each cell.  
See the illustration.  
Defines and enters downloaded characters into RAM. The command may be used to overwrite single characters. User-  
defined characters are available until power is turned off or the Initialize Printer command (1B 40) is received.  
Any invalid byte (s, c1, c2, n1, n2) aborts the command.  
er data storage area  
1D 22 80 33 nL nH  
1D 22 80 34 nL nH  
1D 22 80 40  
n sectors to permanent font area  
n sectors to electronic journal area  
end expanded flash memory allocation sequence  
n = 0xFFFF means allocate all remaining sectors to this area; only one area can specify this parameter value.  
Select flash area for storing logos and user-defined characters  
ASCII  
GS0x81  
Hexadecimal 1D 22 81 n  
Decimal  
Value of n:  
n = 0  
29 34 129 n  
n specifies  
select logo/font flash  
select permanent font flash  
reserved  
n = 1  
n > 1  
Logos and user-defined characters can be stored in either flash area.  
Erase user flash sector  
ASCII  
GS @ n  
Hexadecimal 1D 40 n  
Decimal  
29 64 n  
Value of n:  
49 – 51  
n = 49 (ASCII n = 1) HEX 31  
This command erases all 64K flash memory sectors allocated to user-defined character and logos storage. Those  
sectors should be erased in two situations: when the logo definition area is full and an application is attempting to  
define new logos, and when an application wants to replace one user-defined character set with another. In both  
cases, all logos and character set definitions are erased and must be redefined.  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 125  
n = 50 (ASCII n = 2) HEX 32  
This command erases all sectors available for user data storage.  
n = 51 (ASCII n = 3) HEX 33  
This command erases all sectors available for permanent fonts.  
Erases a page of flash memory and sends a carriage return when the operation is complete.  
Related information  
See command “Flash memory user sectors allocation(1D 22 55 n1 n2).  
See also command “Expanded flash memory allocation(1D 22 80...) and “Select flash area(1D 22 81 n).  
Important: While erasing flash memory, the printer disables all interrupts, including communications. To provide feedback  
to the application, the printer responds to the application when the erase is complete. After sending the erase user flash  
sector (1D 40 n) command, an application should wait for the response from the printer before sending data. Otherwise,  
data will be lost. If an application is unable to receive data, it should wait a minimum of ten seconds after sending the erase  
user flash sector (1D 40 n) command before sending data.  
User storage status (ColorPOS®)  
ASCII  
GS 0x97 m n  
Hexadecimal 1D 97 m n  
Decimal  
29 151 m n  
Value of m:  
m specifies the type of stored object to  
be reported:  
m = 0  
return the kilobytes (1024) of free user RAM,  
n = 0 gets largest free block size  
n = 1 gets the total size free  
m = 3  
m = 5  
m = 0  
return the CRC of a logo indexed by n  
return the CRC of a macro that has been stored, n = 0  
the value of n selects a return of either the largest free block or total free size, since contiguous allocation cannot  
be assumed as this area is completely under user control through address parameters.  
n = 0  
if only one instance of an object type is allowed (macro, user data, user defined characters).  
n
is the item index when more than one object of type m is possible  
n <= FE, see the comments about logo and character set indexes  
n = FF : return a list describing all the existing items of type m  
Note: When a specific item request is made, a returned CRC value of 0 0 indicates that no item is stored at that index. There  
is a practically negligible possibility that a valid object will have a 0 0 CRC; if this is of concern, applications should check the  
object downloaded byte sequence to verify that this is not the case (as well as store the CRC as an “ID” for the object if needed  
later for return value comparisons).  
Downloaded character sets are identified by integer extending the existing code page selection as enumerated in the  
select international character set (= select character code table) command. The firmware standard list is incrementally  
extended each time a new single or double byte set is downloaded.  
Single byte downloaded fonts are selected by  
m = 3 and 0x40 <= n < 0x80.  
Since there are only three double-byte character sets supported, the value 0x80 / 0xA0 / 0xC0 selects the first, second,  
third downloaded double byte font respectively. In return, each downloaded double byte character band is reported  
individually as 0xC0, 0xC1, 0xC2 ….for as many bands as have been defined.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
126 Chapter 5: Programming commands  
This command returns the state of occupancy of available flash storage and user RAM. The printer response for each item  
is a 4 byte header, 0x1D 0x97 nL nH (number of bytes that follow in the response) and for each item a  
4 byte structure: 1st m (type) byte, 2nd n index byte followed by a 2 byte CRC in Lo Hi order of the data string in that storage  
space.  
The return for m = 0–2 is the header and one 4-byte item giving remaining storage space in the CRC position in  
Lo Hi order: 1D 97 4 0 m 0 fL fH, where f is the kBytes of storage remaining. Note that RAM storage space is not content  
typed, while available flash is statically divided into logo, character set, and user data types. Change of the divisions is  
possible via flash erasure and flash  
allocation commands.  
If the communication protocol is RS-232C – Xon/Xoff, then “X symbol substitution responseshould be configured with  
the setting communications parameters command (US STX , 1F 02).  
Flash download  
These commands are used to load firmware into the printer.  
The commands are listed in numerical order according to their hexadecimal codes. Each command  
is described and the hexadecimal, decimal, and ASCII codes are listed.  
There are three ways to enter the download mode.  
1. Powering the printer up with DIP Switch 1 up.  
2. While the printer is running normally, send the command, “Switch to flash download mode”  
(1B 5B 7D) to leave normal operation and enter the download mode.  
3. If the flash if found corrupted during level 0 diagnostics the download mode is automatically entered after the printer  
has reset.  
The printer never goes directly from the download mode to normal printer operation. To return to normal printer  
operation either the operator must turn the power off and then on to reboot or the application must send a command  
to cancel download mode and reboot. DIP switch 1 must in UP position during reboot to return to normal printer  
operation.  
When each flash download command is received, the printer returns either ACK or NAK to the host computer when each  
command is received:  
ACK (hexadecimal 06)  
Sent when the printer has received a host transmission and has completed the request successfully.  
NAK (hexadecimal 15)  
Sent when a request is unsuccessful.  
Communicates to the printer information downloaded from applications. Data is downloaded to flash memory to query  
the state of the firmware, calculate the firmware CRC and other functions.  
Switch to flash download mode  
ASCII  
Hexadecimal 1B 5B 7D  
Decimal 27 91 125  
ESC [ }  
Puts the printer in flash download mode in preparation to receive commands controlling the downloading of objects into  
flash memory. When this command is received, the printer leaves normal operation and can no longer print transactions  
until the reboot the printer command (1D FF) is received or the printer is rebooted.  
This command does not affect the current communication parameters. Once the printer is in flash download mode, this  
command is no longer available.  
Related information  
See entering flash download mode elsewhere in this book to put the printer in flash download mode using the  
configuration menu.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 127  
Return boot sector firmware part number  
ASCII  
Hexadecimal 1D 00  
Decimal 29 0  
GS NULL  
Returns ACK (Hex 06) + 12 bytes ASCII string describing the flash memory boot sector firmware part number.  
Ex : 189–1234567A  
Exceptions  
Available only in download mode.  
Return segment number status of flash memory  
ASCII  
Hexadecimal 1D 01  
Decimal 29 1  
GS SOH  
Returns the size of the flash used. There may be 16  
(1 Meg) or 32 (2 Meg) sectors in flash memory. This command assures that the firmware to be downloaded is the appropriate  
size for flash memory. The value returned is the maximum sector number that can be accepted by the select sector to  
download (1D 02 nn) command.  
Exceptions  
Available only in download mode.  
Select flash memory sector to download  
ASCII  
GS STX nn  
Hexadecimal 1D 02 nn  
Decimal  
29 2 nn  
Value of n:  
The flash sector to which the next  
download operation applies  
Range of n:  
0
Selects the flash sector (n) for which the next download operation applies. The values of the possible sector are restricted,  
depending upon the flash part type. The printer transmits an ACK if the sector number is acceptable or an NAK if the sector  
number is not acceptable. Sector numbers start at 0.  
Exceptions  
Available only in download mode.  
Get firmware CRC  
ASCII  
Hexadecimal 1D 06  
Decimal 29 6  
GS ACK  
Causes the printer to calculate the CRC for the currently selected sector and transmits the result. This is performed normally  
after downloading a sector to verify that the downloaded firmware is correct. The printer also calculates the CRC for each  
sector during power up and halts the program if any sector is erroneous.  
The printer transmits ACK if the calculated CRC is correct for the selected sector; NAK if the CRC is incorrect or if no sector is  
selected.  
Return microprocessor CRC  
ASCII  
Hexadecimal 1D 07  
Decimal 29 7  
GS BEL  
Returns the CRC calculated over the boot sector code space.  
Formulas  
ACK <low byte> <high byte>  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
128 Chapter 5: Programming commands  
Erase all flash contents except boot sector  
ASCII  
Hexadecimal 1D 0E  
Decimal 29 14  
GS SO  
Causes the entire flash memory to be erased.  
The printer returns ACK if the command is successful; NAK if it is unsuccessful.  
Exceptions  
Available only in download mode.  
Return main program flash CRC  
ASCII  
Hexadecimal 1D 0F  
Decimal 29 15  
GS SI  
Returns the CRC calculated over the flash firmware  
code space.  
The format of the response is ACK <low byte> <high byte>.  
Erase selected flash sector  
ASCII  
Hexadecimal 1D 10 n  
Decimal 29 16 n  
GS DLE n  
Value and range of n:  
0–7 = 512k bytes flash  
0–15 = 1M bytes flash  
0–31 = 2M bytes flash  
Erases the previously selected sector. The printer transmits ACK when the sector has been erased. If the previous sector is  
not successfully erased, or if no sector was selected, the printer transmits NAK.  
Exceptions  
Available only in download mode.  
Download to active flash sector  
ASCII  
GS DC1 aL aH cL cH d1… dn  
Hexadecimal 1D 11 aL aH cL cH d1… dn  
Decimal  
29 17 aL aH cL cH d1… dn  
low byte of the address  
high byte of the address  
low byte of the count  
high byte of the count  
data bytes, 0–255  
Value of aL:  
Value of aH:  
Value of cL:  
Value of cH:  
Value of d:  
Value of n (for number of data bytes)  
((cH * 256) + cL)  
Range of address (aL aH)  
Range of count (cL cH)  
0000–FFFF (hexadecimal)  
0001–FFFF (hexadecimal)  
Range:  
Addresses run from 0 to 64K.  
Contains a start address (aH × 256 + aL) and count (cH × 256 + cL) of binary bytes to load into the selected sector, followed  
by that many bytes. The start address is relative to the start of the sector. Addresses run from  
0 to 64K. The count must always be 256.  
The printer may return one of several responses. ACK means that the data was written correctly and the host should  
transmit the next block. NAK means that, for some reason, the data was not written correctly. This could mean that  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 129  
communications failed or that the write to flash failed. The alternatives seem to be to retry the block or halt loading  
and assume a hardware failure.  
Related information  
Available only in download mode.  
Reset firmware  
ASCII  
Hexadecimal 1D FF  
Decimal 29 255  
GS (SPACE)  
Ends the load process and reboots the printer. Before executing this command, the printer should have firmware  
loaded and external switches set to the runtime settings. Application software for downloading should prompt the  
user to set the external switches and confirm before sending this command. If the downloading was started from a  
diagnostic, the reboot will cause the printer to re-enter download state unless the external switches are changed.  
Ethernet setup commands  
The following commands are designed to set the required printer internal parameters for Ethernet operation. The  
commands can be used only in the Flash download (boot) mode. See Chapter 3 for default setup.  
Restore default settings  
ASCII  
Hexadecimal 1F 08 00  
Decimal 31 8  
US BS NUL  
0
Restores the Ethernet settings to the preset values.  
Default settings are:  
IP address:  
Net mask:  
192.0.0.192  
0.0.0.0  
(in use after boot timeout of two minutes)  
(default mask of selected IP is used)  
Gateway:  
none  
Raw TCPIP port 9001:  
Telnet Daemon:  
LP Daemon:  
Bootp:  
DHCP:  
Inactivity timeout:  
Keep alive pings:  
active  
enabled  
disabled  
disabled  
enabled  
enabled  
disabled  
Set IP address  
ASCII  
US BS SOH n1 n2 n3 n4  
Hexadecimal 1F 08 01 n1 n2 n3 n4  
Decimal  
Default:  
31 8  
1
n1 n2 n3 n4  
192.0.0.192  
Sets the IP address value specified by the values of n1 to n4.  
Set Net Mask  
ASCII  
US BS STX n1 n2 n3 n4  
Hexadecimal 1F 08 02 n1 n2 n3 n4  
Decimal  
Default:  
31 8  
0.0.0.0  
2
n1 n2 n3 n4  
Sets the Net Mask value specified by the values n1 to n4.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
130 Chapter 5: Programming commands  
Set Gateway  
ASCII  
US BS ETX n1 n2 n3 n4  
Hexadecimal 1F 08 03 n1 n2 n3 n4  
Decimal  
Default:  
31  
none  
8
3
n1 n2 n3 n4  
Sets the printer to the gateway having the IP address value specified by the values n1 to n4. A gateway, even when the  
printer is on another subnet, is not always needed.  
The printer initiates no connection and obtains the gateway address from the host packets.  
Set raw TCPIP port 9001  
ASCII  
US BS EOT n1 n2 n3 n4  
Hexadecimal 1F 08 04 n1 n2 n3 n4  
Decimal  
31 8  
4
n1 n2 n3 n4  
n1 = 0:  
n1 = 1:  
disabled  
enabled  
Default:  
enabled  
Sets the port where the printer will look for raw tcpip communications.  
LP Daemon  
ASCII  
US BS ENQ n1  
Hexadecimal 1F 08 05 n1  
Decimal  
31  
8
5
n1  
n1 = 0:  
n1 = 1:  
disabled  
enabled  
Default:  
disabled  
Enables or disables the printer LP Daemon. The LP listens on port 515.  
Telnet Daemon  
ASCII  
US BS ACK n1  
Hexadecimal 1F 08 06 n1  
Decimal  
31 8  
6
n1  
n1 = 0:  
n1 = 1:  
disabled  
enabled  
Default:  
enabled  
Enables or disables the printer Telnet server. The Telnet server listens on port 23.  
BootP  
ASCII  
US BS BELL n1  
Hexadecimal 1F 08 07 n1  
Decimal  
31  
8
7
n1  
n1 = 0:  
n1 = 1:  
disabled  
enabled  
Default:  
disabled  
Enables or disables the use of BootP at power-up to obtain an IP address. BootP is a subset of DHCP.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 131  
DHCP (auto-configuration)  
ASCII  
US BS BS n1  
Hexadecimal 1F 08 08 n1  
Decimal  
31  
8
8
n1  
n1 = 0:  
n1 = 1:  
disabled  
enabled  
Default:  
enabled  
Enables or disables the use of DHCP at power-up to obtain an IP address. If no address is found within two minutes,  
DHCP obtains the default IP address.  
Inactivity timeout  
ASCII  
US BS HT n1  
Hexadecimal 1F 08 09 n1  
Decimal  
31 8  
9
n1  
n1 = 0:  
n1 = 1:  
disabled  
enabled  
Default:  
enabled  
Enables or disables resetting of open TCP ports after five (5) minutes inactivity.  
Keep-alive pings  
ASCII  
US BS LF n1  
Hexadecimal 1F 08 0A n1  
Decimal  
31 8 10 n1  
n1 = 0:  
n1= 1:  
disabled  
enabled  
Default:  
enabled  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
132 Chapter 5: Programming commands  
Imaging Commands  
In these descriptions, the commands and parameters are given in hexadecimal unless otherwise noted.  
Calibrate Scanner  
Hexadecimal: ID B0  
Parameters: None  
Return: 1D 49 B0 s m n pL pH rL rH  
Value  
1D  
49  
Definition  
Command return indicator  
Image Scanner  
B0  
Imaging function = calibrate  
Standard imaging status  
s
Decimal  
Meaning  
0
OK  
1
Jam detected  
2
Wait for scan document cancelled  
Imager cover open  
Unrecoverable hardware error  
No stored document  
Bottom side only  
3
7
8
9
10  
11  
12  
16  
17  
18  
19  
Top side only  
Internal interface timeout error  
Internal interface other error  
No bottom image  
No top image  
Unsupported format  
Tag block full  
m
n
Active Scanning command entry points: 0 = no outstanding scan; 1 = slip entry; 2= top entry; 3 =  
waiting at both  
Sensors currently covered / closed: none = all bits off; bit0 = imager rear detect; bit1 = imager front  
detect; bit 2 = imager cover; bit 3 = cassette cover; bit5= upper slip detect; bit6= lower slip detect  
pLpH  
rLrH  
The File Index to be used by the next scan  
Remaining space count of typical document scans to fit in image buffer free space  
Description: This adjustment will be done originally at kit or factory install and should be done any time after cleaning  
both the top and bottom scan windows. Using the top entry point, a bright white document (new office paper, not  
recycled) is inserted, allowing the scanner to set the LED illumination current and individual range compensation  
for each pixel. These values will be used to get full-range readings on subsequent scans. A standard imager status  
structure is returned, with the Status byte indicating if all the imager hardware is OK or if the test document has  
jammed.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 133  
Configure/Change Image Transmission Port  
Hexadecimal: 1D B1 m n  
Parameters: m = 0 (default) after scanning, status + image file goes to the port issuing the scan or transmit function; =  
1 all image transmissions go only to a 2nd channel Ethernet port. N = 0 indicate that this configuration is temporary (till  
powered off, default, or n = 1 selection is also retained in non-volatile memory.  
Return: None  
Description: This command specifies whether or not all image transmissions should only use a 2nd high-speed  
imaging channel. The physical port for this channel must be the Ethernet port. Irrespective of which of the two  
command streams issued an image transmission action, when M = 1 the #2 port will be used to transfer all image  
files. The N parameter indicates whether the choice is to be treated as a permanent setting at power-on time, or just a  
resetting of whatever the permanent setting was.  
When MICR is configured to uses the top path head, a legacy MICR read command will not result in an image capture.  
But an image scan using the slip entry point will implicitly read MICR which will be placed in the imager buffer and will  
be available in the TIFF header of the next image transmission.  
Set Top Entry Startup Delay  
Hexadecimal: 1D B2 n  
Parameters: n is interpreted the same as in the second parameter in the set slip waiting time command (1B 66 m n),  
i.e. the delay between front image sensor detect and motor start for movement along the path expressed in tenths  
of a second, with 9 (default) indicating 900 ms; maximum value is 50 (5 seconds) waiting. There is similar to the clamp  
action in the slip, except that document movement starts immediately after this delay. This command is ignored if the  
value of n is greater than 50.  
Return: None  
Description: This command sets the delay between detecting the presence of a document at the front sensor and  
starting the path rollers to scan the document. Note: If a document is being sent from the slip station to the imager  
(back sensor), that timing delay is automatically determined.  
Set Image Format Properties  
Hexadecimal: 1D B3 m p r  
Parameters: m specifies if the image captured should be rotated 90 degrees to have the width size be the largest value  
(0 = no change from previous setting; 1= no, default, 2 = yes). The rotation direction is such that documents inserted  
(at either opening) face up with the bottom edge on the right will be right side up. p specifies the image transmit  
format selection (default value = 7) as follows:  
Value  
Definition  
0
1
2
3
4
6
7
No change from previous setting  
LZW (lossless, also used in GIF) compressed grayscale (in TIFF Wrapper)  
CCITT T.6 compression (G4 binary) (in TIFF Wrapper)  
Reserved for JPEG (lossy) (in TIFF Wrapper) (Future)  
Binarized, no compression (in TIFF Wrapper)  
16 level (4 bit) packed bytes format (1/2 size of raw, ignores R parameter drop bits) (in TIFF Wrapper)  
No compression, raw (256 level) grayscale (in TIFF Wrapper), default  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
134 Chapter 5: Programming commands  
r specifies the number of saved gray levels = scale resolution (default value = 0) as follows:  
Value  
Definition  
0
1
2
3
4
5
No change from previous setting  
Minimal noise cleaning preserving 128 gray levels  
Low Standard noise cleaning preserving 64 gray levels  
High Standard noise cleaning preserving 32 gray levels  
Maximum noise cleaning preserving 16 gray levels  
No noise cleaning and full 256 gray level as captured is preserved, default  
Return: None  
Description: The parameters set the image’s internal orientation and number of scanned gray levels. The internal  
format of the image is always 256 level gray scale, one byte per pixel; when sending to the host a reformatting (if not  
raw) is then done when needed. Normally 16 – 32 gray levels are suggested for viewing on displays, thus allowing  
more effective LZW compression while preserving distinguishable artifacts of a gray scale image. A TIFF structure is  
used to return all formats. This structure holds height & width and other document identifying tags as well as images  
of both sides.  
The newest configured values are retained in non-volatile memory, persisting across power cycles.  
Configure Binarization Methods and Attributes  
Hexadecimal: 1D C5 nL nH m d1 – dn-1  
Parameters: n is the number of bytes that follow. n values of 1 indicate a choice of threshold method only without  
changing methods properties. m selects the threshold method and optional attributes that the application may  
choose to set: m= 0 reserved for future; a dynamic function threshold method based on experience lookup tables;  
m = 1 (default) selects the US banking average area threshold method, m = 2 selects fixed value thresholding, m >2  
reserved for future other method(s) that may be standardized by the industry. Any dx value = 0 sets the attribute at its  
default value. Any dx value not sent will remain unchanged.  
Method  
M
d1  
d2  
d3  
Dynamic (Future)  
0
Black bias cross point, 5  
<=d1<=95; default =50  
NA  
NA  
Averaging  
1
2
% difference from average, Reflectance below which pix is Reflectance equal or above  
5<=%<=95; default = 20% always black; default = 51  
which pix is always white;  
default = 178  
Fixed Threshold  
The reflectance value to  
be used, 1 <= d1 <= 254,  
default = 96.  
NA  
NA  
For m = 0, the bias cross point selects where favoring black pixels changes over to favoring white pixel.  
The averaging method uses 20% as the default difference for a pixel to be judged different than an 1/8square  
background average. Absolute values are also used to decide on a pixel’s color (either black or white).  
The fixed threshold method uses a simple comparison test against the value.  
Return: None  
Description: This allows for selection of threshold method and tweaking of any threshold method variables. These are  
used when TIFF G4 binary format for the transferred image is selected.  
The newest configured values are retained in non-volatile memory (persist across power cycles).  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 135  
Define/Update Application Tag Values  
Hexadecimal: 1D B4 nL nH t0 . . .tm  
Parameters: n is the total byte count size of user TagData structures, each structure is similarly defined in the TIFF  
specification: 2 byte tag value, followed by a 2 byte type value, followed by a 2 byte count of byte length (note: this  
differs from TIFF directory entry), followed by the object. If the object is a string type, this would be the string itself;  
max length of each string is 127.  
t0…tm are the tag structures. If the byte length is 0 then that non-reserved (Application) tag is eliminated from being  
set on future scanned images.  
n is limited to 256 maximum parameter data length size, so if the total tag structures to be set exceed that, then they  
should be divided and sent as multiple commands; n = 0 is used to erase all application set Tags.  
Return: None  
Description: The application set image tag values are saved for use with any future documents scanned, which will  
also be identified by an automatically generated numerical File Index tag. If any non-automatically generated tags are  
application set, they will be copied into the TIFF header along with the automatically generated ones. All tags will be  
returned in the TIFF structure whenever one or both bottom and top scanner images are transmitted. While only the  
tags identified as “reservedwill be set by firmware, it is suggested that the application use tag numbers as specified in  
the TIFF standard which provides for privately defined usage of tags above 32,768.  
Tags noted as “application initializedcan be sent and will be updated by the firmware, for example date-time.  
Using the following suggested pertinent “applicationtag numbers insures there will be no misuse of TIFF predefined  
numbers. Do not use any of the reserved, FW generated numbers – that data will be automatically overwritten at each  
scan by the firmware. Values are in decimal corresponding to those in the TIFF specification:  
Decimal Value  
Definition  
254  
256  
257  
258  
259  
262  
Reserved for FW auto generated int: Subfile Type =0 one side, =2 both  
Reserved for FW auto generated int: Image Width  
Reserved for FW auto generated int: Image Length  
Reserved for FW auto generated int: Bits Per Sample (either 1, 4, or 8)  
Reserved for FW auto generated int: Image compression format  
Reserved for FW auto generated int: Photometric Interpretation, 0=White is zero when format =  
T6.G4 binary, else 1=Black is Zero  
269  
270  
271  
272  
273  
278  
279  
282  
283  
285  
Application supplied string: Document Name (= UPOS “FileID”)  
Application supplied string: Image Description (= UPOS “UserTag”)  
Application supplied string: printer Make description  
Application supplied string: printer Model description  
Reserved for FW auto generated int: Strip Offsets  
Reserved for FW auto generated int: Rows Per Strip  
Reserved for FW auto generated int: Strip Byte Counts  
Reserved for FW auto generated rational: X Resolution (given as 200 / 1)  
Reserved for FW auto generated rational: Y Resolution (given as 200 / 1)  
Application supplied Page Name (repeated if have both top and bottom images; suggest use as  
Transaction ID)  
293  
296  
Reserved for FW auto generated int: T6 Options (=0)  
Reserved for FW auto generated int: = 2 (pixels expressed per inch)  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
136 Chapter 5: Programming commands  
Decimal Value  
Definition  
297  
Reserved for FW Page Number & Number of Pages p1= bottom scanner, p2= top scanner; these  
are saved as type = two short integers  
305  
306  
Application supplied string: Software = version description  
FW supplied Date & 24 Hour Time of scan: 20 char YYYY:MM:DD:HH:MM:SS; must be application  
initialized to start FW time stamping  
33432  
65000  
65001  
65002  
65003  
65004  
65005  
65007-534  
Application supplied string: Copyright  
Reserved for FW auto generated int FileIndex value  
Reserved for FW auto saved int of set transmission format parameter (m p r) values  
Reserved for FW auto saved raw MICR read string, if MICR present  
Reserved for FW auto saved int of entry point: 1 = slip, 2 = front  
Reserved for future FW auto saved reporting  
Reserved for FW auto save of parsed MICR string (if parsing has been defined)  
Any other Application set descriptions, usually strings, but any TIFF type  
A few tag values that are useful to TIFF readers always have the default values and thus are not repeated in the  
returned structure. These are 266, Fill Order = 1; 274, Orientation = 1 (top left is 0,0); and 277, Samples Per Pixel = 1.  
Attach Scan Application Tags  
Hexadecimal: 1D B6  
Parameters: None  
Return: 1D 49 B6 m. M is 0 if OK, 1 if the scanned image already has application set tags or there is no last scanned  
image.  
Description: Attach the current set of application defined tags to the last scanned image. This can be done only once  
to each image and allows the application to define tags up to image file transmission time. Note that this action takes  
place automatically in the case of the scan command with its parameter set for immediate transmission.  
Return Imager Status  
Hexadecimal: 1D B7  
Parameters: None  
Return: 1D 49 B7 s m n pL pH rL rH  
Value  
1D  
49  
Definition  
Command return indicator  
Image Scanner  
B7  
Imaging function = status  
Standard imaging status  
s
Decimal  
Meaning  
0
1
2
3
7
OK  
Jam detected  
Wait for scan document cancelled  
Imager cover open  
Unrecoverable hardware error  
Continued . . .  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 137  
Value  
Definition  
Decimal  
Meaning  
8
No stored document  
Bottom side only  
Top side only  
9
10  
11  
12  
16  
17  
18  
19  
Internal interface timeout error  
Internal interface other error  
No bottom image  
No top image  
Unsupported format  
Tag block full  
m
n
Active Scanning command entry points: 0=no outstanding scan; 1=slip entry; 2=top entry;  
3=waiting at both  
Sensors currently covered / closed: none = all bits off; bit0 = imager rear detect; bit1 = imager front  
detect; bit 2 = imager cover; bit 3 = cassette cover; bit5= upper slip detect; bit6= lower slip detect  
pLpH  
rLrH  
The File Index to be used by the next scan  
Remaining space count of typical document scans to fit in image buffer free space  
Description: This returns the state of the imaging unit. The return byte definitions given above are used in several  
other command returns as well.  
Real-Time Imager Status  
Hexadecimal: 10 04 07  
Parameters: None  
Return: 1 byte to be interpreted as follows:  
Bit  
0
Meaning  
Fixed to 0  
Fixed to 1  
1
3,2  
00 not waiting for document to scan; 01 waiting for document slip entry point; 10 waiting for  
document at front entry point; 11 waiting for document at either entry point  
4
5
6
7
Fixed to 1  
1 = rear image sensor covered  
1 = front image sensor covered  
Fixed to 0  
Description: This immediately returns one byte of imager status.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
138 Chapter 5: Programming commands  
Real-Time Error Status  
Hexadecimal: 10 04 03  
Parameters: None  
Return: 1 byte to be interpreted as follows:  
Bit  
0
Meaning  
Fixed to 0  
1
Fixed to 1  
2
1 = jam in path  
1 = knife error  
Fixed to 1  
3
4
5
1 = unrecoverable error  
1 = a/d out of range error  
Fixed to 0  
6
7
Description: This immediately returns one byte of imager status.  
Real-Time Cancel Image Transmission  
Hexadecimal: 10 05 06  
Parameters: None  
Return: None  
Description: Use this command if a catastrophic error has occurred and prevents the image processor from  
completing a formatting and transmission operation. Issuing this command cancels any buffered or in-process image  
transmission command.  
Wait for Scan & Optionally Transmit  
Hexadecimal: 1D B8 m p r  
Parameters: m = 0 specifies scan only, m = 1 specifies scan and transmit using the configured image format properties  
and TIFF tags at the time of the scan ending. When m=0 the application is responsible to send the 1D B6 command  
to attach all tags before performing the next scan or transmitting the image. For m=1 the 1D B6 command is handled  
internally. p = 1 wait for a document at the back sip entry, p = 2 wait for a document at the top front entry, p = 3 wait  
for a document at either entry point. A special top entry option p = 6 is used to scan Cards and Other thick media. r  
specifies document sides to transmit, 0= both, 1= bottom, 2= top.  
Return: After a scan this command returns to the command port and if applicable to the configured imager port an  
imager status, followed by a 4 byte file length nL nML nMH, nH (little endian sequence = low to high byte), indicating  
the size of the optional TIFF that follows: 0 = no image appended.  
Note that FileIndex p is the value that will be used for the next bottom scanner image, so it should be decremented by  
2 if the scan status S< 7 to retrieve document images that were captured.  
1D 49 B8 s m n pL pH rL rH reports the scanner state after scanning if the image is not attached.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 139  
Value  
1D  
49  
Definition  
Command return indicator  
Image Scanner  
B8  
Imaging function = wait for scan  
Standard imaging status  
s
Decimal  
Meaning  
0
OK  
1
Jam detected  
2
Wait for scan document cancelled  
Imager cover open  
Unrecoverable hardware error  
No stored document  
Bottom side only  
3
7
8
9
10  
11  
12  
16  
17  
18  
19  
Top side only  
Internal interface timeout error  
Internal interface other error  
No bottom image  
No top image  
Unsupported format  
Tag block full  
m
n
Scanning command entry point used: 0 = no outstanding scan, 1 = slip entry, 2 = top entry  
Sensors currently covered: none = 0 value  
Bit 0 =1: rear image sensor covered  
Bit 1 =1: front image sensor covered  
Bit 2 =1: image cover open  
Bit 3=1: casette cover open  
Bit 5=1: upper slip sensor covered  
Bit 6=1: lower slip sensor covered  
pLpH  
rLrH  
The File Index to be used by the next scan  
Remaining space count of typical document scans to fit in image buffer free space  
0
4 bytes  
The port that is receiving the image will get the equivalent status with the image attached:  
Value  
As above  
4 bytes  
TIFF  
Definition  
1D 49 B8 s m n pL pH rL rH  
TIFF length if attached  
TIFF containing tags and images if attached  
If the image file return port is RS232, then the header and attached image file are transmitted under the settings of the  
Configure RS232 File Transmit parameters.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
140 Chapter 5: Programming commands  
Description: If a document is present in the imager that has already been imaged, it is ejected out the imager back.  
When a document is presented at the appropriate entry point, scan and save the front and back image into the image  
buffer. Assign the next free FileIndex numbers so that both sides can be identified for subsequent image retrieval.  
This command waits for a document to be placed at an image source insertion position. A front entry will leave the  
document in a position ready for ejection; a back slip entry will be left ready for ejection or backup to a slip print  
position. Entry from the slip position will wait and clamp an inserted document (if not already clamped) and scan and  
also MICR read the document.  
After scanning, possibly reorient then process into the current format and save all firmware set tags. If transmitting  
then also save the current application set identifying properties (tags) to the document TIFF image structure. Transmit  
status to the command issuing port, with the TIFF file optionally appended as specified by m. If transmission has been  
configured to use the 2nd port, then both status and the TIFF file will be sent to that port.  
If a document is not already present at the designated imager insertion point, the capture operation will wait for  
the configured slip waiting time (only real-time commands are accepted while waiting; use the standard Cancel Slip  
Wait command 10 05 03 to cancel this wait). If a document is successfully captured, its storage updates the on-going  
average size for the capture modes used. This average is then used to determine the amount of free image storage.  
Transmit Image  
Hexadecimal: 1D B9 s t m nL nH pL pH  
Parameters: s specifies the sides to transmit: 0 = both (default), 1 = bottom only, 2 = top only. t = 0 do not mark the  
buffer image space free upon successful transmission, default; t = 1 mark the buffer space free upon successful image  
transmission.  
Transmission creates the image format specified by m as follows:  
Value  
Definition  
0
1
2
3
4
6
7
Reserved, value is treated as no change from previous format  
LZW (lossless, also used in GIF) compressed grayscale TIFF  
CCITT T.6 compression (binary) TIFF  
Reserved for JPEG (lossy)  
Binarized, No Compression (in TIFF Wrapper)  
16 level (4 bit) TIFF packed bytes format (1/2 size of raw, ignores R parameter drop bits)  
No compression, raw (256 level) grayscale in TIFF format, default  
n is the FileIndex of the image to be returned (if only one of the two images is desired, it corrects the supplied file index  
+- 1). n = 0 transmits the latest scan.  
p is a 2-byte length of the blocking factor to use if transmitting on an RS232 port, and is ignored if imaging is  
configured (default) to use the high speed port. On RS232 the printer sends P bytes and waits for either an ACK byte =  
transmit next, a NAK byte = retransmit previous, CAN terminates transmission. p = 0 says use the default size of 1024  
bytes, = FFFF use no blocking (i.e. transmit the M designated images in the configured formats). If blocking, the last  
block is transmitted at its actual remnant size.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 141  
Return: This uses the message structure/protocol transmission format that matches Scan & Transmit except for the  
command ID code:  
Value  
1D  
49  
Definition  
Command return indicator  
Image Scanner  
B9  
Imaging function = transmit  
Standard imaging status  
s
Decimal  
Meaning  
0
OK  
1
Jam detected  
2
Wait for scan document cancelled  
Imager cover open  
Unrecoverable hardware error  
No stored document  
Bottom side only  
3
7
8
9
10  
11  
12  
16  
17  
18  
19  
Top side only  
Internal interface timeout error  
Internal interface other error  
No bottom image  
No top image  
Unsupported format  
Tag block full  
m
n
Scanning command entry point used: 0 = no outstanding scan, 1 = slip entry, 2 =  
top entry  
Sensors currently covered: none = 0 value  
Bit 0 =1: rear image sensor covered  
Bit 1 =1: front image sensor covered  
Bit 2 =1: image cover open  
Bit 3=1: casette cover open  
Bit 5=1: upper slip sensor covered  
Bit 6=1: lower slip sensor covered  
pLpH  
rLrH  
The File Index to be used by the next scan  
Remaining space count of typical document scans to fit in image buffer free space  
Scanned image TIFF structure length  
Structure containing the tags and images  
4 bytes  
TIFF  
Description: This sends back the images at index n in a TIFF structure using the currently configured image format.  
Transmission of the image follows the command return header. If only a top (or bottom) scan image is requested then  
its TIFF tags will contain the same application set tags as for the other side image, with the only difference being the  
297 tag indicating side and tag 65000 will have its true File Index value.  
The TIFF structure always returns all automatic Tags, and should usually include a UserTag and FileID that the host may  
have defined and later set to be associated with the image. If n is 0 (current image) and no Attach Scan Identifying Tags  
command was given after the scan, then the image file will be formed as if the attachment command had been given  
with 0 application set tags.  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
142 Chapter 5: Programming commands  
If the image file return port is RS232, then the header and attached image file are transmitted under the settings of the  
Configure RS232 File Transmit parameters.  
XON-XOFF will not work for transmission of image.  
Eject from Scanner  
Hexadecimal: 1D BA p  
Parameters: p specifies the action: 0 = eject from entry point, 1 = eject front, 2 = eject straight back, 3 = move down  
into slip print position  
Return: Status is returned as follows using the standard status return:  
Value  
1D  
49  
BA  
s
Definition  
Command return indicator  
Image Scanner  
Imaging function = eject  
Standard imaging status as described above in section 8.2.1  
Standard imaging status  
s
Decimal  
Meaning  
0
OK  
1
Jam detected  
2
Wait for scan document cancelled  
Imager cover open  
Unrecoverable hardware error  
No stored document  
Bottom side only  
3
7
8
9
10  
11  
12  
16  
17  
18  
19  
Top side only  
Internal interface timeout error  
Internal interface other error  
No bottom image  
No top image  
Unsupported format  
Tag block full  
m
m as in the Image Status Command return  
n as in the Image Status Command return  
p as in the Image Status Command return  
r as in the Image Status Command return  
n
pL pH  
rL rH  
Description: This command ejects the document or moves it into the slip printer for further processing. A request for  
moving a top inserted document down into slip print position will instead eject it out the back.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 5: Programming commands 143  
Free Image  
Hexadecimal: 1D BB nL nH  
Parameters: nL nH is the FileIndex of the image buffer space to be released.  
Return: 1D 49 BB s nL nH, where nL nH is the count of typical images that can be stored in free space in circular buffer  
order. S = 0 means buffer space was marked free, S = 1 no buffered image at the specified index.  
Description: This frees the space used by the image with FileIndex n for subsequent use in future image acquisition.  
The image at FileIndex n will no longer be available for attribute listing or transmitting. The host should free images  
that will never be retrieved; images that have been transmitted successfully will be automatically freed when their  
space is needed for a new image.  
Free Imager Buffering  
Hexadecimal: 1D BC m  
Parameters: m = 0 free all buffered images and all application set scan identifying properties (TIFF tags), m = 1: only  
free buffered images, m =2 only free application set TIFF tags.  
Return: This command returns 1D 49 BC s nL nH, where nL nH is the maximum count of typical images that can be  
stored in free space in circular buffer order. S is a status byte, and it always returns as 0.  
Description: This frees all the space used for image buffering and/or application set pending tags. A status is returned  
giving the image buffer size in number of typical documents that can fit.  
Get Buffered Image List  
Hexadecimal: 1D BD  
Parameters: none  
Return: 1D 49 BD nL nH [FI-1 FI-2…)]  
nL nH gives the size of the list in bytes, which is 3X the number of FileIndex’s currently stored. Each Index report FI-X is  
3 bytes: s status = 0 image not transmitted, s = 1 transmitted, and a 2 byte index in nL nH form. For example if there  
were two scanned documents in the list, the return would be: 1D 49 BD 6 0 s1 nL1 nH1 s2 nL2 nH2. If there are no  
FileIndexes stored then n = 0 is returned without any FileIndex values.  
Description: Content of the buffer is described by a FileIndex list for all transmittable images using the structure  
above.  
Get Buffered Image Attributes  
Hexadecimal: 1D BE nL nH  
Parameters: nL nH is the File Index of the image for which to return all its TIFF attributes.  
Return: 1D 49 BE s (1 byte status), nL nH (index #). This is followed by mL mH, a 2 byte count of return length in bytes  
and then all the TIFF tags are returned in the same structure used to set the tags via command Set Scan Identifying  
Properties.  
The values of s are: 0 = OK, 1= not in buffer; this will also set the count of tags to 0.  
Description: The attributes (Tiff tags) that were present at the time of scan for the given file index are returned, in the  
same format as used in the Set Scan Identifying Properties command.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
144 Chapter 6: DH emulation  
Configure Scan Options  
Hexadecimal: 1D C6 m n  
Parameters:  
m
0
n
-
Description  
Configure Imager default settings. Parameter n is ignored.  
Disable auto eject on top scan jam (default).  
Enable auto eject on top scan jam.  
1
0
1
n
1
2
Set maximum tag storage memory to n Kbytes. Default 4K. Range 2K to 64K. Out of range  
parameter defaults to 4K.  
Return: None  
Description: Configures scan options. Parameter m>2 reserved for future options This setting is retained across  
power cycles.  
Configure Max Scan Width & Height  
Hexadecimal: 1D C7 wL wH lenL lenH  
Parameters: wL wH is the maximum width of a scan in pixels (<= physical maximum 832); lenL lenH is the maximum  
length in pixels (<= 2284 ~ 11.25”). The width should be values evenly divisible by 4 value will be truncated by zeroing  
out the lowest-most 2 bits.  
Return: None  
Description: This sets the maximum values for all scanned documents to within ½ mm (4 pixels). As the imager must  
be prepared for a maximum size, this allows the firmware to use optimum buffers and thus provide for retaining more  
image slots in a circular buffer arrangement.  
This setting is retained across power cycles.  
Transmit Printer Type (Extended Existing Command)  
Hexadecimal: 1D 49 02  
Parameters: None  
Return: M a single byte, as specified in existing commands, with its undefined bit #5 now used to indicate imager  
installed. 0= not present (existing definition), 1= imager present (new)  
Description: This is an additional definition that uses a previously undefined bit to tell applications whether or not an  
imager is present.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 6: DH Emulation 145  
Chapter 6: DH emulation for B780  
List of DH 4700 Emulation Commands  
This table lists the commands in numerical order according to their hexadecimal codes. The page number indicates  
where a complete description of the command can be found. Some commands listed are not implemented (they are  
identified as not implemented). If received, they are ignored and not sent to the print buffer as data.  
Hexadecimal Code  
Command Name  
End of Text  
Page  
147  
03  
05 03  
0A  
Status: 3 Bit  
154  
Line Feed  
147  
0B  
Vertical Tab  
147  
0C  
Eject Slip  
0D  
Carriage Return  
Double-Wide Font  
Double-Wide Off  
Setup Parameters  
Reset Printer  
147  
150  
150  
147  
148  
154  
148  
148  
148  
148  
148  
148  
149  
153  
151  
149  
149  
152  
152  
152  
0E  
0F  
19  
1B 00  
1B 05  
1B 07  
1B 08  
1B 0C  
1B 13  
1B 17  
1B 1A, 1B 5A  
1B 1C  
1B 1D  
1B 21  
1B 41  
1B 42 75  
1B 43  
1B 44  
1B 45  
Status: 6 Bit  
Cash Drawer 1  
Cash Drawer 2  
Document Clamp Open  
Self Test  
Document Validation  
Receipt/Journal Print  
Document Clamp Close  
Graphics: 5 Dot  
Character Set  
Form Eject  
Download (Not Implemented)  
Underline Print  
Underline Off  
Double-High Off  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
146 Chapter 6: DH emulation  
List of DH emulation Commands continued:  
Hexadecimal Code  
1B 46  
Command Name  
Page  
149  
Form In (Not Implemented)  
Select (Not Implemented)  
Double-High Font  
1B 47  
149  
1B 48  
152  
1B 49  
Either Form-In Sensor (Not Implemented) 149  
Both Form-In Sensors (Not Implemented) 149  
1B 4A  
1B 4B  
Busy Until Buffer Empty  
Clamp Delay  
149  
149  
152  
152  
150  
152  
154  
150  
150  
1B 4C  
1B 50  
Pitch Selection  
1B 52  
Upside-Down Off  
Print Speed (Not Implemented)  
Upside-Down Print  
Status-Firmware  
Buffered Validate  
Buffer Clear  
1B 53  
1B 55  
1B 56  
1B 57  
1B 60  
1B 7C  
Wait for Slip  
1B 7D n  
1B 7E  
Rotate Font 90 degrees  
Cancel Slip Waiting  
Graphics  
1E  
153  
150  
1F c n n n 1F  
Repeat Character  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 6: DH Emulation 147  
List of DH 4700 Command Descriptions  
The command descriptions in this section are grouped in the following categories:  
·
·
·
·
Printer Function Commands  
Print Characteristics Commands  
Graphics Commands  
Printer Status Commands  
Within each group the commands are listed in numerical order according to their hexadecimal codes. Each command  
is described and the hexadecimal, decimal, and ASCII codes are listed.  
Printer Function Commands  
These commands control the following basic printer functions:  
·
·
·
·
Printing  
Feeding paper  
Moving the printhead  
Resetting the printer  
The commands are listed numerically by hexadecimal code.  
End of Text  
Informs printer to send an acknowledge (Hexadecimal 06, Decimal 6, ASCII ACK) to the host computer after all  
characters have been printed and all commands performed.  
Hexadecimal Decimal ASCII  
03  
3
ETX  
Line Feed  
Prints the data in the buffer and feeds the paper one line. The height of the line is determined by the internal DIP  
switch settings or by the Set Up Parameters command (19 n).  
Hexadecimal Decimal ASCII  
0A  
10  
LF  
Vertical Tab  
Prints any data in the buffer and then advances the paper .02083 inches (0.523mm).  
Hexadecimal  
0B  
Decimal ASCII  
11 VT  
Carriage Return  
Prints the data in the buffer and advances the paper if Auto Line Feed is enabled either by the internal DIP switch  
settings or by the Set Up Parameters command (19 n). See “Chapter 3: Diagnostics and Print Testfor more information.  
Hexadecimal Decimal ASCII  
0D  
13  
CR  
Setup Parameters  
Sets temporary values for default printer parameters. N is the sum of the values for each parameter.  
Hexadecimal  
19 n  
Decimal ASCII  
25 n EM n  
Value of n  
Hexadecimal  
Decimal ASCII  
Parameter  
Setting  
00  
01  
01  
NUL  
SOH  
Auto Line Feed  
ON  
OFF  
00  
02  
02  
NUL  
STX  
Characters per Line  
Journal Lines/Inch  
40  
ALT  
00  
04  
08  
0C  
0
4
8
12  
NUL  
EOT  
BS  
8.0  
6.9  
6.0  
5.3  
FF  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
148 Chapter 6: DH emulation  
00  
10  
20  
30  
0
NUL  
DLE  
SPACE  
0
Validation Lines/Inch  
8.0  
6.9  
6.0  
5.3  
16  
32  
48  
00  
40  
0 NUL  
64  
Print Self Test  
NO  
@
(After setting temporary parameters) YES  
ALT selects the previous pitch selection.  
Reset Printer  
Resets and initializes the printer. This command is processed immediately. All data in the buffer is lost. The printer reinitializes  
with the default DIP switch settings.  
Hexadecimal Decimal ASCII  
1B 00  
27 0  
ESC NUL  
Cash Drawer 1  
Opens the cash drawer. If a Y-cable is used to split the cash drawer connector so two cash drawers can be connected to  
the printer, the cash drawer connected to the first connector (labeled 1 or A) will be opened.  
Hexadecimal Decimal ASCII  
1B 07  
27 7  
ESC BEL  
Cash Drawer 2  
Opens the second cash drawer. If a Y-cable is used to split the cash drawer connector so two cash drawers can be  
connected to the printer, the cash drawer connected to the second connector (labeled 2 or B) will be opened.  
Hexadecimal Decimal ASCII  
1B 08  
27 8  
ESC BS  
Document Clamp Open  
Opens the platen. Any forms still in the printer may fall back into the validation station when the platen is opened. This  
command enables the Receipt/Journal paper feed and disables the Slip/Validation paper feed.  
Hexadecimal Decimal ASCII  
1B 0C  
27 12  
ESC FF  
Self Test  
Clears all data in the print buffer and prints the current configuration parameters. This functions the same as the  
general print test  
Hexadecimal Decimal ASCII  
1B 13  
27 19  
ESC DC3  
Document Validation  
Opens the platen. Once a form is detected, the platen will automatically close. This command enables the Slip/  
Validation paper feed and disables the Receipt/Journal paper feed.  
Hexadecimal Decimal ASCII  
1B 17  
27 23  
ESC ETB  
Receipt/Journal Print  
Closes the platen. The 1B 5A version of the command closes the platen when no form has been detected. This  
command enables the Receipt/Journal paper feed and disables the Slip/Validation feed.  
Hexadecimal Decimal ASCII  
1B 1A  
1B 5A  
27 90  
27 26  
ESC SUB  
ESC Z  
Note: The ASCII SUB character cannot be sent by some PC applications. In that case, use the following version of the  
Receipt/Journal Print command.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 6: DH Emulation 149  
Document Clamp Close  
Closes the platen when the form has been detected and the time for the clamp delay is up. This command enables the  
Slip/Validation paper feed and disables the Receipt/Journal paper feed.  
Hexadecimal Decimal ASCII  
1B 1C  
27 28  
ESC FS  
Form Eject  
Ejects the form from the validation station after it has been printed.  
Hexadecimal Decimal ASCII  
1B 41  
27 65  
ESC A  
Download  
This command is not supported and is ignored if received.  
Hexadecimal Decimal ASCII  
1B 42 75  
27 66 117 ESC B u  
Form In  
This command is not supported and is ignored if received.  
Hexadecimal Decimal ASCII  
1B 46  
27 70  
ESC F  
Select  
This command is not supported and is ignored if received.  
Hexadecimal Decimal ASCII  
1B 47  
27 71  
ESC G  
Either Form-In Sensor  
This command is not supported and is ignored if received.  
Hexadecimal Decimal ASCII  
1B 49  
27 73  
ESC I  
Both Form-In Sensors  
This command is not supported and is ignored if received.  
Hexadecimal Decimal ASCII  
1B 4A  
27 74  
ESC J  
Busy Until Buffer Empty  
Changes the state of the RTS (Request to Send) line until the buffer is empty. This command is processed immediately.  
Hexadecimal Decimal ASCII  
1B 4B  
27 75  
ESC K  
Clamp Delay  
Sets the time that the printer waits from when it detects an inserted form to when it clamps the platen closed. This  
allows time for the form to be lined up correctly and held still.  
Hexadecimal Decimal ASCII  
Value of n  
1B 4C n  
27 76 n  
ESC L n See table  
Value of n  
Hexadecimal Decimal ASCII  
Time of Clamp Delay  
No delay  
00  
01  
02  
03  
0
1
2
3
NUL  
SOH  
STX  
ETX  
0.250 seconds  
0.500 seconds (default)  
1.00 seconds  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
150 Chapter 6: DH emulation  
Print Speed  
This command is not supported and is ignored if received.  
Hexadecimal Decimal ASCII  
1B 53  
27 83  
ESC S  
Buffered Validate  
Opens the platen to allow a form to be inserted. Any data that is received after this command will not be printed until  
the form is detected. This command enables the Slip/Validation paper feed and disables the Receipt/Journal paper  
feed.  
Hexadecimal Decimal ASCII  
1B 57  
27 87  
ESC W  
Buffer Clear  
Clears all print characters and control codes from the buffer. All current settings are maintained. This command does  
not return the printer to its default condition. The command is processed immediately.  
Hexadecimal Decimal ASCII  
1B 60  
27 96  
ESC ‘  
Repeat Character  
Repeats any printable characters or control codes up to 255 times. This command is best used to send several Line  
Feed commands (0A), or to print a single character a certain number of times.  
Hexadecimal  
1F c n n n 1F  
Decimal  
ASCII  
Value of c  
Value of n  
31 c n n n 31  
US c n n n US  
Control Code  
or Character  
30-39 Hexadecimal  
48-57 Decimal  
0-9 (ASCII)  
To send 101 Line Feed commands, send the following string:  
1F 0A 31 30 31 1F  
where 1F starts the command, 0A indicates the Line Feed command, 31 (Hex) equals ASCII 1, 30 (Hex) equals ASCII  
0, 31 (Hex) equals ASCII 1 (thus 101 indicates the number of times to repeat the Line Feed command), 1F stops the  
command.  
Print Characteristics Commands  
These commands affect the appearance of printed information. They control the following:  
·
·
·
Character set selection  
Character formatting  
Print orientation  
The commands are listed numerically by hexadecimal code.  
Double-Wide Font  
Starts double-wide printing. The pitch of the double-wide font is half of the currently selected font. If the currently  
selected font is 40 characters per line (13.9 pitch), the double-wide characters will print at 20 characters per line (6.9)  
lines per inch.  
This command may be used with the Double-High command 1B 48.  
Hexadecimal  
0E  
Decimal ASCII  
14 SO  
Double-Wide Off  
Turns off double-wide printing.  
Hexadecimal  
0F  
Decimal ASCII  
15 SI  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 6: DH Emulation 151  
Character Set  
Selects the character set. The default character set is defined by the internal DIP switch.  
Hexadecimal Decimal ASCII  
Value of n  
1B 21 n  
27 33 n  
ESC ! n See table  
Value of n  
Hexadecimal  
Decimal  
65  
ASCII  
Character Set  
PC US (Code Page 437)  
United Kingdom English  
German  
41  
42  
43  
44  
49  
4B  
4C  
A
B
C
D
I
66  
67  
68  
French  
73  
Italian  
75  
K
L
Spanish  
76  
Hebrew (Code Page 862) (does not emulate A721)  
If a character set other than PC US (Code Page 437) is selected, the unique characters will be substituted with  
characters in the PC US set. See the following tables for the substitutions.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
152 Chapter 6: DH emulation  
Underline Print  
Activates the 9th wire on all character cells to underline all printable characters, including a space (blank) character.  
Hexadecimal  
1B 43  
Decimal ASCII  
27 67 ESC C  
Underline Off  
Turns off underline printing.  
Hexadecimal  
1B 44  
Decimal ASCII  
27 68 ESC D  
Double-High Off  
Turns off double-high printing.  
Hexadecimal  
1B 45  
Decimal ASCII  
27 69 ESC E  
Double-High Font  
Starts double-high printing. This command requires the printhead to make two passes to print one double-high line.  
The paper is automatically advanced between each pass. This command may be used with the Double-Wide Font  
command (0E).  
Hexadecimal  
1B 48  
Decimal ASCII  
27 72 ESC H  
Pitch Selection  
Selects the character pitch. The standard pitch on the receipt is 44 characters per line and compressed pitch is 56  
characters per line. On the slip the number of characters per line is 42 or 51. When n > 4, text may wrap to the next line.  
Hexadecimal Decimal ASCII  
Value of n  
1B 50 n  
27 80 n  
ESC P n See table  
Value of n  
Characters per line  
DH B780 Receipt  
33 44  
Hexadecimal  
Decimal  
ASCII  
NUL  
SOH  
STX  
B780 Slip  
00  
01  
02  
03  
04  
05  
06  
0
1
2
3
4
5
6
42  
42  
42  
51  
51  
51  
51  
36  
40  
44  
50  
57  
66  
44  
44  
44  
56  
56  
56  
ETX  
EOT  
ENQ  
ACK  
Upside-Down Off  
Turns off upside-down printing.  
Hexadecimal  
1B 52  
Decimal ASCII  
27 82 ESC R  
Upside-Down Print  
Starts upside-down printing. Available for both journal and validation printing. Lines are printed in the order they are  
received from the host. The first line of data is the last line of text after the slip is turned right-side up for reading.  
Hexadecimal  
1B 55  
Decimal ASCII  
27 85 ESC U  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 6: DH Emulation 153  
Graphics Commands  
These commands are used to control the way graphics are entered or printed. They are listed in numerical order of their  
hexadecimal codes.  
Graphics  
Enters graphics printing mode which prints all available dots (uses all wires in the printhead). Any combination of  
dots may be printed in a graphics cell. Each graphics cell is eight dots wide by nine dots high, with nine bytes of data  
needed to define the cell (each byte defines the row of eight dots). The command must precede the nine bytes that  
define the cell. Graphics and text may be printed on the same line.  
Do not use the command again to turn off this graphics mode as the printer will expect another set of bytes to define  
a new cell.  
Hexadecimal Decimal ASCII  
1E  
30  
RS  
The following representation of the graphics cell shows how the cell is defined and which bits define which dots in the  
cell (bit 0 is the least significant bit; bit 7 is the most significant bit).  
Bit Number  
7
o
o
o
o
o
o
o
o
o
6
o
o
o
o
o
o
o
o
o
5
o
o
o
o
o
o
o
o
o
4
o
o
o
o
o
o
o
o
o
3
o
o
o
o
o
o
o
o
o
2
o
o
o
o
o
o
o
o
o
1
o
o
o
o
o
o
o
o
o
1st Byte  
2nd Byte  
3rd Byte  
4th Byte  
5th Byte  
6th Byte  
7th Byte  
8th Byte  
9th Byte  
Each line may have up to 25 graphics cells (full-dot graphics). The print line is printed unidirectionally.  
Use six Vertical Tab commands (0B) or one Line Feed command (0A) between each line (8 lines/inch).  
Graphics: 5 Dot  
Enters or exits graphics printing mode which prints only the top five dots of the column (corresponding to the top five  
wires of the printhead). These top five dots correspond to the least significant five bits (bits 0-4) of the data sent to the  
printer as shown in the table.  
Dots (Top to Bottom)  
1st Dot (Top)  
2nd Dot  
Bit  
24  
23  
22  
21  
20  
4
3
2
1
0
16  
8
3rd Dot  
4
4th Dot  
2
5th Dot (Bottom)  
1
Hexadecimal Decimal ASCII  
1B 1D 27 29 ESC GS  
Use the following characters to define the graphics (least significant five bits):  
Hexadecimal: 20-3F  
Decimal: 32-63  
ASCII: SP-?  
Continued . . .  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
154 Chapter 6: DH emulation  
Each byte of data sent defines each column of the graphic to be printed. The first byte defines the column in the left  
margin, with the following bytes defining the columns to the right, for a total of up to 200 columns in the print line.  
The print line is printed unidirectionally. Graphics and text may be printed on the same line.  
Use three Vertical Tab commands (0B) to overlap printing by half a dot with the next line. Each vertical tab advances  
the paper by 0.02083 inches, with three tabs advancing the paper by 0.062 inches.  
Note: This DH printer command provides compatibility with earlier DH model printers. It is generally not used for new  
applications. See the Graphics command (1E) for the more generally used command.  
Printer Status Commands  
These commands enable the printer to communicate its status to the host computer.  
The commands are listed numerically by hexadecimal code.  
Status: 3 Bit  
Transmits the status of the paper sensors and the condition of the printer. This command is processed immediately.  
Hexadecimal  
05 03  
Decimal ASCII  
5 3 ENQ ETX  
The transmitted status is shown in the table:  
Bit  
0
0
1
Form Present  
Paper Present  
Printer Is On-Line  
Form Not Present  
Paper Not Present  
Fault Condition  
1
2
Note: This DH printer command provides compatibility with earlier DH model printers. It is generally not used for new  
applications. See the Status: 6 Bit command (1B 05) for the more generally used command.  
Status: 6 Bit  
Transmits the status of the paper sensors, cash drawers, forms clamp, and the condition of the printer. This command is  
processed immediately. The transmitted status is shown in the table below.  
Hexadecimal  
1B 05  
Decimal ASCII  
27 5 ESC ENQ  
Bit  
0
0
1
Form Present  
Form Not Present  
Paper Not Present  
Fault Condition  
Cash Drawer 1 Open  
Cash Drawer 2 Open  
Forms Clamp Open  
1
Paper Present  
2
Printer Is On-Line  
Cash Drawer 1 Closed  
Cash Drawer 2 Closed  
Forms Clamp Closed  
3
4
5
Status-Firmware  
Used for RS-232C printers only. Causes the printer to return 3 bytes (000).  
Hexadecimal Decimal ASCII  
1B 56  
27 86  
ESC V  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Chapter 6: DH Emulation 155  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
156 Appendix A: Commands by hexadecimal code  
Appendix A:  
Commands listed by hexadecimal code  
Code (hexadecimal)  
Command  
Page  
47  
09  
Horizontal tab  
0A  
Print and feed paper one line  
Print and eject slip  
44  
0C  
44  
0C  
Print and return to standard mode  
Print and carriage return  
Clear printer  
108  
44  
0D  
10  
36  
10 04 n  
Real-time status transmission (DLE sequence)  
Real-time request to printer (DLE sequence)  
Real -time imager status  
Real-time error status  
91  
10 05 n  
94  
10 04 07  
137  
138  
138  
37  
10 04 03  
10 05 06  
Real-time cancel image transmission  
Close form  
11  
12  
Select double-wide characters  
Select single-wide characters  
Feed n print lines  
53  
13  
53  
14 n  
44  
15 n  
Feed n dot rows  
45  
16 n  
Add n extra dot rows  
45  
17  
Print  
46  
18  
Cancel print data in page mode  
Open form  
108  
37  
18  
1A  
Perform partial knife cut (or code 1B 6D)  
Download BMP logo  
37  
1B (+*.BMP file)  
1B 07  
66  
Generate tone  
37  
1B 0C  
Print data in page mode  
Select 90 degree counter-clockwise rotated print  
Set column  
108  
53  
1B 12  
1B 14 n  
48  
1B 16 n  
Select pitch (column width)  
Set right-side character spacing  
Select print mode  
54  
1B 20 n  
54  
1B 21 n  
55  
1B 24 nL nH  
1B 25 n  
Set absolute starting position  
Select or cancel user-defined character set  
Define user-defined character sets  
Write to user data storage  
Select bit image mode  
48  
55  
1B 26 s c1 c2  
1B 27 m a0 a1 a2 d1…dm  
1B 2A m n1 n2 d1…dn  
56  
121  
66  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix A: Commands by hexadecimal code  
157  
Code (hexadecimal)  
Command  
Page  
1B 2D n  
Select or cancel underline mode  
57  
1B 2E m n rL rH d1 … dn  
1B 32  
Print advanced raster graphics  
Set vertical line spacing to 1/6 inch  
Set vertical line spacing  
67  
48  
49  
122  
57  
37  
38  
58  
38  
38  
49  
58  
58  
59  
59  
46  
46  
109  
59  
110  
110  
38  
60  
111  
68  
126  
50  
51  
39  
39  
39  
40  
40  
46  
47  
40  
1B 33 n  
1B 34 m a0 a1 a2  
1B 3A 30 30 30  
1B 3C  
Read from user data storage  
Copy character set from ROM to RAM  
Return home  
1B 3D n  
Select peripheral device (for multi-drop)  
Cancel user-defined character  
Initialize printer  
1B 3F n  
1B 40  
1B 43 n  
Set slip paper eject length  
1B 44 [n] k 00  
1B 45 n  
Set horizontal tab positions  
Select or cancel emphasized mode  
Select double-strike  
1B 47 n  
1B 48  
Cancel double-strike  
1B 49 n  
Select or cancel italic print  
1B 4A n  
Print and feed paper  
1B 4B n  
Print and reverse feed paper  
Select page mode  
1B 4C  
1B 52 n  
Select international character set  
Select standard mode  
1B 53  
1B 54 n  
Select print direction in page mode  
Select unidirectional print on impact station  
Select or cancel 90 degree clockwise rotated print  
Set print area in page mode  
Select double-density graphics  
Switch to flash download (boot mode)  
Set relative print position  
1B 55 n  
1B 56 n  
1B 57 n1, n2…n8  
1B 59 n1 n2 d1…dn  
1B 5B 7D  
1B 5C n1 n2  
1B 61 n  
Select justification  
1B 63 30 n  
1B 63 31 n  
1B 63 33 n  
1B 63 34 n  
1B 63 35 n  
1B 64 n  
Select receipt or slip for printing; slip for MICR read  
Select receipt or slip for setting line spacing  
Select paper sensors to output paper end signals (parallel only)  
Select sensors to stop printing  
Enable or disable panel button  
Print and feed n lines  
1B 65 n  
Print and reverse feed n lines  
Set slip paper waiting time  
1B 66 m n  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
158 Appendix A: Commands by hexadecimal code  
Code (hexadecimal)  
1B 6A k  
Command  
Page  
122  
37  
Read from non-volatile memory (NVRAM)  
Perform partial knife cut (or code 1A)  
Generate pulse to open cash drawer  
Release paper  
1B 6D  
1B 70 n p1 p2  
1B 71  
41  
41  
1B 72 m  
1B 73 n1 n2 k  
1B 74 n  
Set current color  
41  
Write to non-volatile memory (NVRAM)  
Select international character table  
Transmit peripheral device status  
Transmit paper sensor status  
122  
59  
1B 75 0  
82  
1B 76  
83  
1B 77 01  
1B 77 02  
1B 77 50  
1B 77 52  
1B 77 70  
1B 7B n  
Read MICR data and transmit  
114  
114  
115  
115  
115  
60  
Read MICR data and transmit (B780 only)  
Define parsing format, save in NVRAM  
Transmit last MICR read  
Define parsing format, do not save permanently  
Select or cancel upside-down print mode  
Select slip station  
1C  
42  
1C 70 m n  
1C 71 n ...  
1D 00  
Print flash logo  
68  
Define flash logos  
68  
Return boot sector firmware part number  
Return segment number status of flash memory  
Select flash memory sector to download  
Real-time request to printer (GS sequence)  
Real time status transmission (GS sequence)  
Real-time printer status transmission  
Get firmware CRC  
127  
127  
127  
94  
1D 01  
1D 02 n  
1D 03 n  
1D 04 n  
91  
1D 05  
95  
1D 06  
127  
127  
128  
128  
128  
128  
47  
1D 07  
Return microprocessor CRC  
1D 0E  
Erase all flash contents except boot sector  
Return main program flash CRC  
Erase selected flash sector  
1D 0F  
1D 10 n  
1D 11 aL aH cL cH d1…dn  
1D 14 n  
Download to active flash sector  
Reverse feed n lines  
1D 15 n  
Reverse feed n dots  
47  
1D 21 n  
Select character size  
60  
1D 22 n  
Select memory type (SRAM/flash)  
Flash memory user sectors allocation  
Expanded flash memory allocation  
Select flash area for storing logos and user-defined characters  
122  
123  
123  
124  
1D 22 55 n1 n2  
1D 22 80  
1D 22 81 n  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix A: Commands by hexadecimal code  
159  
Code (hexadecimal)  
1D 23 n  
Command  
Page  
68  
Select the current logo (downloaded bit image)  
Set absolute vertical print position in page mode  
Define downloaded bit image  
1D 24 nL nH  
1D 2A n1 n2 d1…dn  
1D 2F m  
112  
69  
Print downloaded bit image  
69  
1D 3A  
Select or cancel macro definition  
Erase user flash sector  
113  
124  
61  
1D 40 n  
1D 42 n  
Select or cancel white/black reverse print mode  
Select printing position for HRI characters  
Transmit Printer Type (Extended Existing Command)  
Transmit printer ID  
1D 48 n  
100  
144  
83  
1D 49 02  
1D 49 n  
1D 49 40 n  
1D 4C nL nH  
1D 50 x y  
Transmit printer ID, remote diagnostics extension  
Set left margin  
85  
51  
Set horizontal and vertical minimum motion units  
Select cut mode and cut paper (or code 1D 56 m n)  
Select cut mode and cut paper (or code 1D 56 m)  
Set printing area width  
52  
1D 56 m  
42  
1D 56 m n  
42  
1D 57 nL nH  
1D 5C nL nH  
1D 5E r t m  
1D 61 n  
52  
Set relative vertical print position in page mode  
Execute macro  
112  
113  
96  
Select or cancel unsolicited status mode  
Set smoothing  
1D 62 n  
62  
1D 66 n  
Select pitch for HRI characters  
100  
100  
100  
103  
103  
103  
104  
102  
87  
1D 68 n  
Select bar code height  
1D 6B m  
Print bar code  
1D 6B m nL nH d1... dn  
1D 6B n d1... 00  
1D 6B FF n  
1D 70 a b c d e f  
1D 71 a b c d e fL fH  
1D 72 n  
Print GS1 DataBar (RSS barcode), data length specified  
Print GS1 Databar (RSS barcode), null terminated  
Print Multiple Barcodes  
Select PDF 417 parameters  
Set GS1 Databar (RSS) parameters  
Transmit status  
1D 77 n  
Select bar code width  
106  
42  
1D 81 m n  
1D 82 n1…n72 or n80  
Set paper type  
Print raster monochrome graphics  
70  
1D 83 n1…n144 or n160 Print raster color graphics  
70  
1D 84 m n1 n2 d1…dx  
1D 85 m n  
Download logo image  
Reverse color text mode  
Monochrome shade mode  
Color shade mode  
70  
62  
1D 86 m  
71  
1D 87 m  
71  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
160 Appendix A: Commands by hexadecimal code  
Code (hexadecimal)  
1D 89 n m  
1D 8B n m o  
1D 8C n m  
1D 8D n m  
1D 90 m x y o p q  
1D 91 n  
Command  
Page  
72  
Logo print with color plane swap  
Apply shading to logo  
72  
Merge watermark mode  
Text strike-through mode  
Form and merge real-time surround graphic  
Save graphics buffer as logo  
Background logo print mode  
User storage status  
72  
63  
73  
74  
1D 92 n  
74  
1D 97 m n  
1D 99 l m n o  
1D 9A n m o  
1D 9B m n  
125  
75  
Apply margin message mode  
Shade and store logo  
75  
Logo print with knife cut  
76  
1D A0 nl nh  
1D B0  
Set temporary max target speed  
Calibrate Scanner  
76  
132  
133  
133  
133  
135  
136  
136  
138  
140  
142  
143  
143  
143  
143  
134  
144  
144  
63  
1D B1 m n  
Configure/Change Image Transmission Port  
Set Top Entry Startup Delay  
Set Image Format Properties  
Define/Update Application Tag Values  
Attach Scan Application Tags  
Return Integer Status  
1D B2 n  
1D B3 m p r  
1D B4 nL nH t0. . .tm  
1D B6  
1D B7  
1D B8 m p r  
1D B9 s t m nL nH pL pH  
1D BA p  
Wait for Scan & Optionally Transmit  
Transmit Image  
Eject from Scanner  
1D BB nL nH  
1D BC m  
Free Image  
Free Imager Buffering  
1D BD  
Get Buffered Image List  
1D BE nL nH  
1D C5 nL nH m d1-dn-1  
1D C6 m n  
Get Buffered Image Attributes  
Configure Binarization Methods and Attributes  
Configure Scan Options  
1D C7 wL wH lenL lenH  
1D F0 01 n  
1D F0 02 n  
1D F0 03  
Configure Max Scan Width & Height  
Select font ID number  
Select font style number  
63  
Save font ID number as default font at power up  
Download font  
64  
1D F0 80  
64  
1D F0 C0 02  
1D FF  
Download font list  
64  
Reset firmware  
129  
43  
1E  
Select receipt station  
1F 03 16 05 n  
Set interpretation of “Set current color” command  
43  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix A: Commands by hexadecimal code  
161  
1F 03 16 f s p/r t  
1F 03 17 a m s  
1F 04 n  
Set LogoEZ® colorization  
77  
79  
Set LogoEZ® attribute mapping  
Convert 6-dots/mm bitmap to 8-dots/mm bitmap  
Select superscript or subscript modes  
Restore default settings  
Set IP address  
81  
1F 05 n  
64  
1F 08 00  
129  
129  
129  
130  
130  
130  
130  
130  
131  
131  
131  
65  
1F 08 01 n1 n2 n3 n4  
1F 08 02 n1 n2 n3 n4  
1F 08 03 n1 n2 n3 n4  
1F 08 04 n1 n2 n3 n4  
1F 08 05 n1  
1F 08 06 n1  
1F 08 07 n1  
1F 08 08 n1  
1F 08 09 n1  
1F 08 0A n1  
1F 26 s c1 c2  
1F 56  
Set net mask  
Set gateway  
Set raw TCPIP port  
LP Daemon  
Telnet Daemon  
BootP  
DHCP (auto-configuration)  
Inactivity timeout  
Keep-alive pings (arps)  
Define extended user-defined character set  
Send printer software version  
Select active user-defined character set  
Print test form  
89  
1F 69 n  
65  
1F 74  
44  
1F 7A n  
Real-time commands disable  
Enable constant speed logos  
95  
1F 7B n  
81  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
162 Appendix B: Resident Character Sets  
Appendix B:  
Resident Character Sets  
Code Page 437 (US)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix B: Resident Character Sets  
163  
Code page 737 (Greek)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
164 Appendix B: Resident Character Sets  
Code page 850 (Multilingual)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix B: Resident Character Sets  
165  
Code Page 852 (Slavic)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
166 Appendix B: Resident Character Sets  
Code Page 857 (Turkish)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix B: Resident Character Sets  
167  
Code page 858 (with Eurosymbol)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
168 Appendix B: Resident Character Sets  
Code page 860 (Portugese)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix B: Resident Character Sets  
169  
Code page 862 (Hebrew)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
170 Appendix B: Resident Character Sets  
Code page 863 (French Canadian)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix B: Resident Character Sets  
171  
Code page 865 (Nordic)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
172 Appendix B: Resident Character Sets  
Code page 866 (Cyrillic)  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix B: Resident Character Sets  
173  
Code page 1252 (Windows Latin 1)  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
Appendix C: Electronic Journal  
175  
Appendix C: Electronic Journal  
The Electronic Journal feature is for use with an application that does not support electronic journal. The printer  
can be used to store a variety of transactions.  
Electronic Journal Storage  
There are two methods for activating Electronic Journal:  
1F 03 18 01 n Auto Journal Mode via Configuration Command:  
Value of n  
Data saved in journal  
Receipt  
Slip  
1
2
3
4
5
6
7
Validation  
Receipt and slip  
Receipt and validation  
Slip and validation  
Receipt, slip, and validation  
The printer can be configured to power up in Auto Journal Mode using command 1F 03 18  
01 n. Any combination of print stations can be configured. This configuration is saved over  
power cycle. The electronic journal configuration information is printed on the second  
diagnostic page.  
Most commands and data printed are saved in the journal flash buffer.  
Logos and graphics printed on the receipt are not saved in the journal flash buffer.  
Multiple line feeds are not saved in the journal flash buffer.  
A knife cut sent to the receipt is saved in the journal flash buffer as two print commands:  
0x0A 0x0A.  
Auto Journal Mode via Runtime Command:  
1F 0A C1 - Enable  
1F 0A C2 - Disable  
Commands and data printed on the receipt only are stored in the Journal flash buffer.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
176 Appendix C: Electronic Journal  
Journal RAM buffer  
Journal data is temporarily buffered in RAM until the printer is triggered to write it to flash. At power up 4K bytes  
of RAM will be dynamically allocated. In the unlikely event that 4K bytes are not available, 2K will be allocated. If  
for some reason 2K bytes are not available, the electronic journal feature cannot be used. Allocation success or  
failure information is available to the interface via commands described below.  
Loss of power results in loss of any data currently in the journal RAM buffer.  
Triggers that cause the journal data in RAM to be written to flash are:  
Knife Cut command  
Write Journal RAM Data to Flash command (described below)  
Printer is idle for 10 seconds  
Reset Printer command (0x1D 0xFF)  
Print To Journal command (described below)  
RAM becomes filled before one of these other triggers occurs.  
The printer goes busy at the communication interface while writing to the journal flash buffer.  
Journal Flash buffer  
A portion of flash memory is available for the journal flash buffer. By using the Flash Memory User Sectors Allocation  
command (0x1D 0x22 0x 55 n1 n2), the user can allocate the number of 64Kbyte sectors used for logos, user storage,  
and journal flash buffer.  
If there are X sectors available, the Flash Memory User Sectors Allocation command will allocate n1 sectors to logos,  
n2 sectors to user storage, and (X – n1 – n2) sectors for the journal flash buffer. If all available sectors are allocated for  
logos and user storage, there is no flash available for the journal.  
The firmware default allocation is 1 sector for logos, 1 sector for user storage, and the rest for journal, but this may  
be changed at printer build time. Journal flash allocation and flash usage information is available via commands  
described below, and is printed on the diagnostics form.  
Before erasing flash, check to see if there is journal data stored, and print it out if necessary.  
Triggers that cause the journal flash buffer to be cleared are:  
Clear Journal command (described below)  
Flash Memory User Sectors Allocation command (0x1D 0x22 0x 55 n1 n2) reallocates flash  
memory.  
New Flash firmware is downloaded to the printer  
Exception Conditions in Auto Journal Mode  
When there isn’t enough memory available in the journal flash buffer, the printer beeps at each receipt to signal the  
flash full condition. The printer will print a duplicate receipt and cut after it, instead of writing it to flash, and clear  
out the RAM buffer. When the trigger for writing to flash is a knife cut (which would be the usual case in Auto Journal  
Mode) the customer receipt is easily detached from the duplicate receipt by the operator.  
If a receipt is over 4Kbytes in size, and there are less than 4Kbytes available in the journal flash buffer, the printer will  
not print a portion of the duplicate receipt in the middle of the original receipt. This portion of the duplicate receipt is  
lost.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
Appendix C: Electronic Journal  
177  
Printing and Erasing the Journal Flash Buffer:  
Operator Activation of Journal Print and Erase  
Enabled via 1F 03 2E 01. Disabled via 1F 03 2E 00. Enabled and disabled also via the config menu under the  
Emulation/Software Options sub-menu. Default is disabled. Option prints on diagnostic Form II:  
Journal print via Command Only  
Journal print via Operator  
(when disabled)  
(when enabled)  
Printing Journal via Operator (when enabled):  
1) Open the receipt cover.  
2) Press the paper feed button three times quickly, about a half second each. A short tone will sound each time. If you  
press the feed button too long, or wait too long between depressions, a longer tone will sound and the sequence is  
aborted; you have to start over.  
3) Close the receipt cover.  
If there is nothing in the journal, the message “No Flash journalprints out on the receipt. If there is something in the  
journal, it prints on the receipt, followed by a query to the operator printed on the receipt:  
Erase journal?  
Yes --> Long click  
No --> Short click  
1F 0A C3 Clear Journal  
Erases the journal flash buffer. Printer goes busy at the communication interface while the flash is being erased.  
Application should not send any further data or commands until printer goes not busy at the communication  
interface. Printer returns a 0x0D when the erase is complete. At this point the application can resume sending data to  
the printer.  
1F 0A C4 Print Journal  
Prints contents of journal data saved in flash. Printer goes busy at the communication interface. Application should  
not send any further data or commands until printer goes not busy at the communication interface. If paper runs out,  
printing will pause until a new roll is loaded, then resume where it left off.  
Points to note when printing the journal:  
Receipt character attributes and bar code attributes are set to their default values before  
and after printing the journal.  
Receipt station is selected.  
Macro definitions are not cleared.  
If the macro execution command is in the journal, the macro definition should be in the  
journal also. If not, the printed journal might look OK before a power cycle when the  
macro definition is still in memory. After a power cycle the macro definition will be gone.  
If User Defined characters are printed, their definitions (0x1B 0x26 ….) should be stored in  
flash (via 0x1D 0x22 0x33) and their selection command (0x1B 0x25 0x01) should be in the  
journal buffer.  
A776-PG00001 C 12/09  
A776 (B780) Programming Guide  
178 Appendix C: Electronic Journal  
1F 0A C5 Return Journal Status  
Returns one byte of status.  
bit 0 = 0 >> Write to flash successful  
bit 0 = 1 >> Write to flash fail  
bit 1 = 0 >> RAM allocation for journal data successful  
bit 1 = 1 >> RAM allocation for journal data fail  
bit 2 = 0 >> Auto Journal Disabled  
bit 2 = 1 >> Auto Journal Enabled  
1F 0A C6 Return Journal Flash Size  
Returns two 3-byte counts in hexadecimal notation, as n1 n2 n3 and m1 m2 m3.  
Journal flash buffer total size = (n1 * 0x10000 + n2 * 0x100 + n3)  
= (n1 * 65,536 + n2 * 256 + n3) decimal  
Journal flash buffer used  
= (m1 * 0x10000 + m2 * 0x100 + m3)  
= (m1 * 65,536 + m2 * 256 + m3) decimal  
Journal flash buffer total size corresponds directly to this line on the diagnostics form:  
Flash Journal Size : nnnn kbytes  
Journal flash buffer used corresponds inversely to this line on the diagnostics form:  
Journal Unused : mmmm kbytes  
1F 0A C7 Write Journal RAM Data to Flash  
Writes the journal data in RAM to Flash and marks it as a complete journal entry with two print commands: 0x0A  
0x0A. Printer goes busy at the communication interface while the flash is being written. Application should not send  
any further data or commands until printer goes not busy at the communication interface.  
A776 (B780) Programming Guide  
A776-PG00001 C 12/09  
A776-PG00001 Rev. C 12/09  

Briggs Stratton 8FBC User Manual
Briggs Stratton 130900 User Manual
Brother FAX 1170 User Manual
Canon MX300 User Manual
Dakota Digital LED Tail Light Flasher LAT NLF User Manual
Friedrich Air Conditioner MR24Y3H User Manual
Goodman Mfg AEPT User Manual
Honeywell F300 User Manual
HP Hewlett Packard K510 User Manual
HP Hewlett Packard PHOTOSMART D110 User Manual