Programmer’s GuidePcOS Series 80PLUSChange History
Change History
Rev. B
Clarified Table 1
Updated user defined memory commands
Fixed bar code width table
Rev. A Initial Release
Rev B 4/13/99Page i
DisclaimerPcOS Series 80PLUSProgrammer’s Guide
Disclaimer
Information in this publication is subject to change without notice. However, as product improvements
become available, Ithaca Peripherals will make every effort to provide updated information for the
products described in this publication.
Ithaca Peripherals cannot guarantee that changes in software and equipment made by other
manufacturers, and referred to in this publication, do not affect the applicability of information in this
publication.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or
by any means, mechanical, photocopying, recording, or otherwise, without the prior written permission of
Ithaca Peripherals.
Trademarks
Ithaca PcOS is a registered trademark of Ithaca Peripherals. Ithaca Peripherals is a Transact Technologies
Incorporated Company. Epson and ESC/POS are registered trademarks of Seiko Epson Corporation.
Axiohm is a registered trademark of Dardell Technologies. IBM is a registered trademark of the
International Business Machines Corporation. Windows is a trademark of Microsoft Corporation.
Federal Communications Commission Radio Frequency
Interference Statement
The Series 80PLUS Printer complies with the limits for a Class A computing device in accordance with
the specifications in Part 15 of FCC rules which are designed to minimize radio frequency interference
during installation; however, there is no guarantee that radio or television interference will not occur
during any particular installation. If this equipment does cause interference to radio or television
reception, which can be determined by turning the equipment off and on while the radio or television is
on, the user is encouraged to try to correct the interference by one or more of the following measures:
• Reorient the radio or television receiving antenna;
• Relocate the printer with respect to the receiver;
• Plug the printer and receiver into different circuits.
If necessary, the user should consult their dealer or an experienced radio/television technician for
additional suggestions. The user may find the following booklet prepared by the Federal Communications
Commission helpful: How to Identify and Resolve Radio/TV Interference Problems.
This booklet is available from the US Government Printing Office, Washington, DC 20402. Ask for stock
number 004-000-00345-4.
Page iiRev B 4/13/99
Programmer’s GuidePcOS Series 80PLUSCanadian Statement
Canadian Department of Communications Radio Interference
Statement
The Series 80PLUS Printer does not exceed Class A limits for radio noise emissions from digital
apparatus set out in the Radio Interference Regulations of the Canadian Department of Communications.
UL, CSA, VDE, CE Statement
Ithaca Peripherals’ printers are UL and CSA Listed, VDE Certified, and carry the CE Mark.
Declaration of Conformity
Product name:Thermal Printer
Type name:Series 80PLUS
These printers conform to the following directives and norms:
Directive 89/336/EEC
EN 55022 (1995) /A1 (1995)
EN 50082-1 (1992)
IEC 801-2 (1991)
IEC 801-3 (1984)
IEC 801-4 (1991)
Directive 90/384/EEC
EN 45501: (1992)
EMI and Safety Standards Applied
The following standards are applied only to the printers that are so labeled. (EMC is tested using the
Ithaca Bestec BPA-601-24-1984).
Setting up the Printer................................................................................................................................5
Connecting the Printer and Computer ................................................................................................5
Connecting the Cash Drawer ..............................................................................................................6
Connecting the Power Supply .............................................................................................................8
Appendix A ..........................................................................................................................................111
Appendix D ..........................................................................................................................................117
Language Table - Code Page Definitions........................................................................................117
Appendix E ...........................................................................................................................................119
Programmer’s GuidePcOS Series 80PLUSGeneral Information
Chapter 1:
General Information
Warranty Information
Warranty Options
The PcOS Series 80PLUS Printer comes with a standard 24-month warranty covering both parts
and labor. An optional warranty, covering both parts and labor for an additional 12 months, may
be purchased separately. For more information concerning the warranty options, please contact
your dealer or the Sales Department at Ithaca Peripherals. See “Contacting Ithaca Peripheral”
below.
Service Information
The printer may be serviced by a dealer, an independent service contractor, or by Ithaca
Peripherals. If the printer is to be serviced by Ithaca Peripherals, a return authorization is
required. Call Technical Support at (607) 257-8901, and ask for a return authorization.
The printer will need to be packed in the original packing material and box and sent to Ithaca
Peripherals. Information on how to ship the printer will be provided with the return
authorization.
What is in this book?
Who should read this book?
This book is intended for system engineers or system integrators. It contains the information
needed to integrate the Series 80PLUS Printer with a point-of-sale terminal and to program the
terminal to communicate with the printer.
Where can you find more information?
An Operator's Guide is available that describes setup and use of the Series 80PLUS Printer. It
describes basic procedures such as changing paper; printing on a form; and replacing the ribbon
cassette. A Maintenance Manual is also available; however, it is intended for trained, service
technicians.
For information about ordering these books or programs, refer to the next section.
Contacting Ithaca Peripherals
The Sales and Technical Support Departments will be able to help you with most of your
questions.
Rev B 4/13/99Page 1
General InformationPcOS Series 80PLUSProgrammer’s Guide
Contact the Sales Department to order documentation, receive additional information about the
Series 80PLUS Printer, order supplies, or obtain information about other products by Ithaca
Peripherals.
Contact the Technical Support Department if you would like information about your warranty or
if you need to send a printer in for service.
You can reach the Sales and Technical Support Departments at the following address and phone
or fax numbers.
Ithaca Peripherals
20 Bomax Drive
Ithaca, NY 14850
Main phone(607) 257-8901
Sales fax(607) 257-3868
Technical Support fax(607) 257-3911
Internet Support
Ithaca Peripherals maintains an Internet web site. The address is http://www.ithper.com. On
the technical support page, you will find support information on all of our printers. The
Series 80PLUS support pages offer the latest information. They include the current version
of this manual, program examples, test procedures, programming instructions, and supported
print drivers.
General Description
Features
The Series 80PLUS Printer is a high-quality POS printer that can print on a thermal paper roll.
The printer has the following features.
Printing
• High-speed printing: approximately 31.8 lines/second (1/6 inch feed).
• Command protocol is based on the Ithaca PcOS Standard.
• Characters can be scaled up to 8 times as large as the standard size.
• Bar code printing is possible by using a command code. Bar codes can be printed in the
vertical direction.
• Repeated operation and copy printing are possible by using graphic save.
• Character font size (13 x 24 font or 10 x 24 font) is used to produce 10, 12, 15, 17, and
20 cpi print.
• All-points-addressable (APA) graphics are supported in ten different resolutions.
• Custom graphic/user save area is located in nonvolatile memory.
Page 2Rev B 4/13/99
Programmer’s GuidePcOS Series 80PLUSGeneral Information
• Self-diagnostics are included.
Rev B 4/13/99Page 3
General InformationPcOS Series 80PLUSProgrammer’s Guide
Printer Handling
• Paper roll loading is easy.
• An auto-cutter is standard.
• The printer allows easy maintenance for tasks such as head cleaning.
• The built-in interface provides control capability for two cash drawers.
Interface Specifications
Serial
The serial interface is a standard RS-232 interface on a 9-pin D-shell connector. It is defined as a
standard DTE device. A null model cable is required to interface the printer to another DTE
device (a PC). See the serial port description contained in the communications area later in this
manual for more information.
Parallel
The parallel port is a standard 25-pin D-shell as defined in the IEEE 1284-A Standard. See the
parallel port description contained in the communications area later in this manual for more
information.
Cash Drawer
The Series 80PLUS printer supports dual cash drawers with status. The interface will provide
status and 24 VDC up to 1.25 amps to the cash drawer. See the cash drawer interface description
later in this manual.
Page 4Rev B 4/13/99
Programmer’s GuidePcOS Series 80PLUSSetting up the Printer
Chapter 2:
Setting up the Printer
Up to four cables can be connected to the printer, providing power, host interface, and cash drawer
support. They attach to the connector panel on the back of the printer, as shown below.
Cash
Drawer 1
Interface
Figure 1 Connector Panel
Cash
Drawer 2
Power
Connecting the Printer and Computer
You need an appropriate interface cable. The parallel interface requires a straight through 25-pin
connector, with male termination on the printer end, see the interface section for complete pin
definition details. The serial interface requires a DB25- to DB9-pin or DB9- to DB9-pin null modem
crossover cable, with a DB9-pin female terminal on the printer end, and the appropriate gender
connector at the host computer end. See the communication section for complete pin definition
details.
1. Plug the cable connector securely into the printer’s interface connector.
2. Tighten the screws on both sides of the cable connector.
3. Attach the other end of the cable to the appropriate terminal on the computer.
Rev B 4/13/99Page 5
Setting up the PrinterPcOS Series 80PLUSProgrammer’s Guide
Connecting the Cash Drawer
The cash drawer option allows up to two cash drawers to be connected to the printer in a system with
a PC that has no connectors for the cash drawer cables.
The cash drawers are operated by software command from the host system through the printer. For
additional information on the printer commands used by the host system to activate the cash drawers,
see “Control Code Library” later in this manual.
1. Plug the cash drawer cables into the connectors on the printer. The connectors are standard
phone connectors.
2. If only one cash drawer is used, plug the cable into the connector labeled 1.
NOTE: The following illustration shows the pin outs for the cash drawer connectors, as viewed from
the rear of the unit. Drawer #2 can be configured to be the same as #1 via jumper J-7.
Drawer 2Drawer 1Power Connector
1 2 3 4 5 6
Figure 2 Pin outs for cash drawer connectors
1 2 3 4 5 6
Page 6Rev B 4/13/99
Programmer’s GuidePcOS Series 80PLUSSetting up the Printer
*This jumper is for compatibility with earlier Epson printers. Pins 3-4 are the default configuration
for these jumpers.
WARNING:
Use a drawer that matches the printer’s specification. Using an improper drawer may damage the
drawer as well as the printer.
CAUTION:
Do not connect a telephone line to the drawer kick-out connector; otherwise the printer and the
telephone line may be damaged.
Rev B 4/13/99Page 7
Setting up the PrinterPcOS Series 80PLUSProgrammer’s Guide
Connecting the Power Supply
Use the optional Ithaca Bestec BPA-601-24-1984 or equivalent power supply for your printer. The
following illustration shows the power cable connector and pin assignments. The power cable
connector is a 3-pin mini-DIN plug and is located in the small cavity under the printer.
Earth Ground
+24 Volt Supply
- 24 Volt Return
Figure 3 Power cable connector
WARNING:
Make sure that you use the Ithaca Bestec BPA-601-24-1984 power supply or equivalent. Using an
incorrect power supply may cause fire or electrical shock.
CAUTIONS:
If the power supply’s rated voltage and your outlet’s voltage do not match, contact your dealer for
assistance. Do not plug in the power cord. Otherwise, you may damage the power supply or the
printer.
Make sure that the power supply’s power cord is unplugged from the electrical outlet.
Check the label on the power supply to make sure that the voltage required by the power supply
matches that of your electrical outlet.
Plug in the power supply’s cable as shown below. Notice that the flat side of the plug faces up.
NOTE: To remove the DC cable connector, grasp the connector at the arrow, and pull it straight out.
INSTALLING OR REPLACING THE PAPER ROLL
NOTE: Be sure to use paper rolls that meet specifications.
1. Make sure that the printer is in the idle state.
2. Open the paper roll cover by pressing the cover open button located in the forward corner of the
printer cover.
3. Remove the used paper roll core if there is one.
4. Insert the paper roll with the shiny side facing down.
5. Assure that a small amount of paper extends over the front side of the printer. Then close the
cover until it locks into place.
6. Depress the paper feed button to activate the vertical motor, and toss out the scrap paper. Units
with a cutter will automatically cut the paper off for you, if your printer does not have a
mechanical cutter, simply tear the paper off by pulling it against the printer cover at an angle.
Page 8Rev B 4/13/99
Programmer’s GuidePcOS Series 80PLUSSelf-test Mode
Chapter 3:
Self-test Mode
Description
The Series 80PLUS PcOS thermal printer has the ability to print self-test tickets on power-up upon
command. The self-test prints a variety of information about the printer’s operating settings and
configuration. The information provided by the self-test is listed below.
Configuration Ticket
• Operating system type and version
• Current emulation mode (M50, M80PLUS, Epson TM-T8x, or Axiohm 7193)
• Interface configuration
• Hex-dump mode status (ON/OFF)
• Carriage return control
• Input buffer capacity
• Graphic save RAM buffer capacity
• Nonvolatile EEPROM buffer capacity (bit-image, character set in Epson/Axiohm)
Contents of the EEPROM save buffer (bit-image, character set in Epson/Axiohm)
Start-up macro definition status (YES/NO)
• Additional information
Auto-cutter (Enabled/Disabled)
Print Tickets
The configuration ticket is followed by several print examples that test the various features of the
printer.
Rev B 4/13/99Page 9
Configuration ModePcOS Series 80PLUSProgrammer’s Guide
Chapter 4:
Configuration Mode
Description
The Series 80PLUS PcOS thermal printer has many options and features that are user configurable.
Unlike most printers that use dip switches to control these settings, the Series 80PLUS Printer has
been equipped with an automated configuration mode. By powering the Series 80PLUS Printer in a
special sequence, it will enter configuration mode. In this mode, the printer’s current settings are
printed one at a time. By pressing the FEED button, the printer cycles through the remaining
available settings for that option. When the setting for the item you desire has been selected, waiting
five seconds will cause the printer to move on to the next option that you can change. When all
options have been exhausted, the Series 80PLUS Printer writes them permanently to its nonvolatile
EEPROM memory and resets itself. See Configuration Options for an ordered list of options and their
associated settings.
Entering Configuration Mode
Follow the steps below to enter the configuration mode:
1. Power the printer off if it is not already off.
2. Open the cover.
3. Power the printer on while holding down the FEED button.
4. Wait until the status LED blinks a cover open condition. (See Appendix B).
5. Release the FEED button.
6. Load the printer with paper if it is not already loaded.
7. Close the cover.
8. The Series 80PLUS Printer will print a few lines of instructions followed by:
Press PAPER FEED to begin
9. If the FEED button is not pressed within five seconds, the printer will exit the configuration
mode without making any changes and reset.
10. If the FEED button is pressed, the printer will start the configuration mode by displaying the first
option and its setting. See Configuration Options for an ordered list of options and their
associated settings.
11. At this time you may,
A) Press the FEED button to cycle through the choices for this option or
B) Wait five seconds to continue to the next option.
12. Repeat Step 11 until the last option has been completed.
13. The Series 80PLUS Printer will print a message indicating it is exiting the configuration mode
and will save the settings exactly as they have been presented/changed.
If the Series 80PLUS Printer is powered off at any time during the configuration mode, no changes
will be saved.
The initial setting displayed with each option reflects the current configuration. If you do not wish to
change a setting, simply wait five seconds to continue to the next option.
The printer does not have to be hooked up to a host computer to use the configuration mode.
Page 10Rev B 4/13/99
Programmer’s GuidePcOS Series 80PLUSConfiguration Mode
Configuration Options
The tables below depict the options, in order, presented by the configuration mode. Each option
shows the settings available, as well as the default setting where applicable.
Hex Dump ModeDisabled (default)EnabledIf hex dump is enabled, the remainder of the configuration process
will be skipped. The printer will then enter hex dump mode. The
printer will remain in hex dump until it is reset or power cycled.
Emulation ModePcOS M80PLUSNormal Ithaca M80PLUS Mode (IBM like)M50Ithaca M50 EmulationEpson TM85Epson TM85 EmulationEpson TM88Epson TM88 EmulationAxiohmAxiohm 7193 EmulationCarriage Return (CR) ControlNormal return (default)Perform a normal CR by returning the input pointer to the left
margin; overprint allowed.
Line feedTranslate CR’s into LF’sIgnore carriage returnIgnore all CR’s; only line feed operations result in printLanguage Set/Code PageSelects the default language set/code page depending upon the selected emulation mode.EURO SubstitutionEnabledEnable Euro character substitution in select code pages.
See Table A below.DisabledAuto Cutter OptionEnabledDisabledInput Buffer Size45 bytes8192 bytes (default)16384 bytes24576 bytes32768 bytesUser Definable Buffer Size14 KBRAM buffer storage for user definable character sets and images.20 KB (default)1 KB = 1024 bytes26 KB32 KB38 KBGraphic BufferingEnabled (default)The printer will print multiple lines of graphics at the same time.
Start/stop printing will be less noticeable during large images.
DisabledThe printer will print graphics a line at a time.
Rev B 4/13/99Page 11
Configuration ModePcOS Series 80PLUSProgrammer’s Guide
For printers equipped with an RS-232 serial communications interfaceBaud Rate38400 BPS19200 BPS9600 BPS (default)4800 BPSData bits, Parity, Stop Bits8,none,1 (default)7,odd,17,even,18,none,28,odd,18,even,1Flow ControlXON/XOFFDTR/DSRCTS/RTSCTS/RTS and DTR/DSRData Receive ErrorPrints ‘?’ (default)IgnoredSerial Plug and PlayEnabled (default)Disabled
For printers equipped with an IEEE 1284 parallel communications interfaceIEEE 1284 nINIT Line ResetEnabled (default)DisabledIEEE 1284 nACK Signal OperationMode 1Not BUSY precedes ACK low.Mode 2Not BUSY follows ACK low.
Programmer’s GuidePcOS Series 80PLUS Reference Information
Chapter 5:
Reference Information
Printing Specifications
Printing methodThermal line printing
Dot density8 dots/mm x 8 dots/mm (203 dpi x 203 dpi)
Printing directionUnidirectional with friction feed
Printing width72 mm (2.83 in.), 576 dot positions
Characters per line28 to 57 depending on the selected pitch
Printing speedApproximately 31.8 lines/second (1/6 inch feed, at 24 V, 20° C)
Approximately 135 mm/second (approximately 5.3 in./second)
NOTES:
Print speed may be slower, depending on the data transmission speed and the combination of control
commands.
The printer switches the mode of the printing speed automatically.
There may be variations in printing after switching the mode of the printing speed.
Paper feed speedApproximately 135 mm/second (approximately 5.3 in./second) continuous
printing
Line spacing (default)Mode: 4.23 mm (1/6 in.) or 3.17 mm (1/8 in.)
Programmable by control command.
Number of charactersAlphanumeric characters: 255 per code page
International characters: 67 code pages
Character structureFont A: 13 x 24 (including 2-dot spacing in horizontal)
Font B: 10 x 24 (including 2-dot spacing in horizontal)
Font A
13 × 24
Font B
10 × 24
Table 2 Character Spacing in Epson and Axiohm Modes
1
cpl = characters per line (Space between characters is not included. Characters can be scaled up to 64
times as large as the standard sizes.)
Standard
W x H
(mm)
1.38 × 3.00
(.06” × .12”)
1.00 × 3.00
(.04” × .12”)
Double-high
1
CplMax
441.63 × 6.00
571.00 × 6.00
W x H
(mm)
(.06” × .24”)
(.04” × .24”)
1
CplMax
442.75 × 3.00
572.00 × 3.00
Double-wide
W x H
(mm)
(.11” × .12”)
(.08” × .12”)
Double-wide/
1
CplMax
222.75 × 6.00
282.00 × 6.00
Double-high
W x H
(mm)
(.11” × .24”)
(.08” × .24”)
CplMax
22
28
1
Rev B 4/13/99Page 13
Reference InformationPcOS Series 80PLUS Programmer’s Guide
Characters can be scaled double-high/double-wide with normal PcOS commands.
Paper Specifications
Paper roll (single-ply)
Maximum outside diameter100 mm (4.0 in.)
Paper roll spool diameter
Inside12 mm (0.47 in.)
Outside18 mm (0.71 in.)
NoteThe paper must not be pasted to the paper roll spool.
Width80 mm +0.0/-1.0 mm (3.15 in. + 0.0/-0.04 in.)
Thermal sensitive layer faces outward on roll.
3
Electrical Characteristics
Output power48 watts maximum average
Supply voltage24 VDC ± 3% at 2.0 amp maximum average
Amp maximum average2.0
Peak current4.5 A
Standby current0.2 A
Line and load regulation± 3% to ± 5% at peak load
Ripple240 mV at full load
Overvoltage protection35 VDV maximum
Reliability
MTBF: Mechanism94,000 hours @ 12.5% ratio
Print head life100 km; 100 million pulses
Environmental Conditions
Temperature
Operating0° to 40°C (32° to 104°F)
Humidity
Operating10% to 90% RH, noncondensing
Page 14Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CommandsOverview
Chapter 6:
Control Commands
Control Codes Overview
This programmer's guide is designed to help users of the PcOS Series 80PLUS Printer develop
applications. The PcOS Series 80PLUS printers are specialized point-of-sale (POS) printers that have
several features not normally found on general purpose printers. Because of these features, the PcOS
Series 80PLUS printers have specialized codes to control these features. This programmer's guide
documents the control codes with an emphasis on those codes that are unique to the PcOS Series
80PLUS printer.
All PcOS Series 80PLUS printers are available with both a serial or parallel interface. Both interfaces
provide the same printer control1 and use the same control codes.
Nomenclature
When describing control codes, there is often confusion as to whether the description is decimal, hex,
or ASCII. To minimize this problem, this programmer’s guide will use the following nomenclature
when describing control code sequences:
[ ]This encloses a control character and is a single 8-bit value as defined in the standard
ASCII tables. The ASCII table in Appendix C lists all the control codes. An example
would be [ESC] which would represent a 1BH or 26 Decimal.
< >This encloses an 8-bit value in decimal format. The value will be from 0 to 255. An
example would be <2> which would represent 02H or 2 Decimal.
<n>This indicates a variable parameter. In this case, a variable parameter, n, can have a
value from 0 to 255. The meaning of n is described and defined in the description of the
command.
<n1> <n2>This indicates that there are two parameters, n1 and n2, where both have values from 0
to 255.
<m1> <m2> This an IPCL parameter consisting of two digits, where m1 and m2 are ASCII characters
from 0 to 9. The values will be combined to form a value from 0 to 99. If m3 is included,
the parameter will be combined to form a value from 0 to 999.
If two values are specified, there must be two bytes added to the IPCL code. In other
words, if the command specifies <m1> <m2> and the desired value is 5, the value must
be specified as 05.
xAll other characters in control strings represent ASCII characters. For example, [ESC] 1
represents 1BH followed by 31H.
1
The serial and IEEE 1284 interfaces provide a few additional interface capabilities over a standard
parallel interface. The parallel M80PLUS supports the IEEE 1284 interface and provides a bidirectional
data path.
Rev B 4/13/99Page 15
Control CommandsPcOS Series 80PLUSProgrammer's GuideEmulation Modes
Emulation Modes and Available Commands
The Series 80PLUS PcOS thermal printer is capable of emulating an Ithaca M50, Epson TM88,
Epson TM85, and Axiohm 7193 series printer, in addition to the native M80PLUS PcOS. The Ithaca
M90 PcOS and M150 PcOS products are supersets/subsets of the M80PLUS. The current emulation
mode can be obtained at any time by performing a self-test and may be changed at any time via the
configuration mode.
Not all of the commands supported by the Series 80PLUS Printer are available at all times.
Standard Emulation
The standard control codes for the PcOS Series 80PLUS printers are extensions and subsets of
other Ithaca PcOS products. In some cases, an application designed for a Series 50 printer with
IBM code sets will function with a PcOS Series 80PLUS Printer in M50 emulation. There are,
however, significant differences in the operation of the PcOS Series 80PLUS Printer that may
impact existing applications.
ESC/POS
The Series 80PLUS printer supports an ESC/POS emulation with Epson or Axiohm emulations.
These commands are different from the PcOS commands and are documented in the
Epson/Axiohm command section of this manual.
IPCL Codes
IPCL (Ithaca Printer Control Language) codes are designed to control a printer without using control
characters (For example, characters less than 20H.) Not all commands are supported by IPCL codes.
For the commands that are, the IPCL code is listed.
In rare cases, an IPCL code will interfere with the text that is to be printed. The IPCL translator can
be disabled with an [ESC]y<4> command.
Page 16Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesPrint/Paper Motion
Chapter 7
Printer Control Codes
Print/Paper Motion
Low-level Paper Motion Control
FunctionCarriage return
ASCII[CR]
Hexadecimal0DH
Decimal<13>
IPCL&%CR
DescriptionThis command prints the contents of the print buffer (if any) and resets the
next character print position to the left margin. A line feed is not
performed unless auto-feed was active. The left margin is defined by the
current print station, print rotation direction, and left margin command.
FunctionLine feed
ASCII[LF]
Hexadecimal0AH
Decimal<10>
IPCL&%LF
DescriptionThis command prints the contents of the buffer (if any) and advances paper
one line at the current default line spacing. The next character print
position is reset to the left margin.
Rev B 4/13/99Page 17
Control CodesPcOS Series 80PLUSProgrammer's GuideHorizontal Motion
Horizontal Motion Control
There are several commands that can control the horizontal position of characters. Many applications
use space control to position fields. However, there is the ability to control character position with
horizontal tab stops. This is done by using the horizontal tab, [HT], to move to those tab stops.
FunctionHorizontal tabASCII[HT]Hexadecimal09HDecimal<9>IPCL&%HTDescriptionThis command inserts spaces in the print buffer up to the next tab stop. The
default tab locations are every eight spaces.
FunctionSet horizontal tab stopsASCII[ESC] D <n1> <n2> <n3> ... <ni> 0
Hexadecimal1BH 44H <n1> <n2> <n3> ... <ni> 00H
Decimal<27><68><n1> <n2> <n3> ... <ni> <0>
IPCLnoneDescriptionThis command sets tab stops at the character columns specified by <n>. The
end of the settings is specified by a <0>. All previously set tabs will be cleared
by this command. There is no restore defaults procedure other than to respecify
the tabs.
Column sizes are in accordance with the current character pitch.Setting tabs that are beyond the station width is possible. A [CR] will be
inserted if the tab is used. Printing will begin at the home position.
The power up default is every eight spaces, i.e., 9, 17, 25, and so on.
FunctionReset horizontal tab stopsASCII[ESC] RHexadecimal1BH 52HDecimal<27><82>IPCL&%HVDescriptionThis command resets horizontal and vertical tab stops to power up
configuration. The power up horizontal default is every eight spaces, i.e., 9, 17,
25, and so on. The vertical default is every line.
Page 18Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesHorizontal Motion
FunctionSet justificationASCII[ESC] a <n>Hexadecimal1BH 61H <n>Decimal<27><97><n>IPCL&%JL, &%JC, &%JRDescriptionThis command sets the horizontal justification. The print format of the printer
can be right, center, or left justified. The value of <n> specifies the justification.
Where <n> 0 = Left justified&%JL
1 = Center justified&%JC
2 = Right justified&%JR
8 = Left justified (No LF)None
9 = Center justified (No LF)None
10 = Right justified (No LF)None
The power on default is left justified.
NOTE: Lines that have mixed size characters within the line cannot be
centered. For example, a line with mixed single- and double-high characters
cannot be centered. If a line of print is to be double-high and centered, the
change to single-high must be done after the line terminator for the doublehigh line. For example, [ESC] W<3>Centered[ESC]W<0>[CR] will not print
correctly because the printer assumes that more data will follow the
[ESC]W<0>. This should be: [ESC]W<3>Centered[CR] [ESC]W<0>.
NOTE: The justify commands also effect graphics.
Rev B 4/13/99Page 19
Control CodesPcOS Series 80PLUSProgrammer's GuideVertical Motion
Vertical Motion Control
FunctionFine line feedASCII[ESC] J <n>Hexadecimal1BH 4AH <n>Decimal<27> <74><n>IPCL&%FM <m1> <m2> <m3>
DescriptionThis command prints the contents of the buffer (if any) and performs a line feed
of n/216 inch. This command does not change the default line spacing value.
The next character print position is reset to the left margin if the Auto-CR
mode is set.
EPOS NOTE: In EPOS mode, this command performs line feeds in n/144-
inch increments.
FunctionSet variable line space to n/216 inchASCII[ESC] 3 <n>Hexadecimal1BH 33H <n>Decimal<27><51><n>IPCL&%SV <m1> <m2><m3>
DescriptionThis command sets the default line spacing to n/216 inch. Set n = 1 to 255.
This command sets the line feed spacing used by [LF] to values other than 1/8
or 7/72 inch. This command takes effect immediately as opposed to the [ESC]
A <n> command.
EPOS NOTE: Line spacing of n/144 is used.
FunctionSet line space 27/216 inchASCII[ESC] 0Hexadecimal1BH 30HDecimal<27><48>IPCL&%STDescriptionThis command sets the default line spacing to 1/8 inch (27/216 inch). This is a
standard 8 lines per inch line spacing. This is the default text line spacing at
initial power-up.
EPOS NOTE: In EPOS mode, this command sets 1/6-inch spacing or 6 lines
per inch.
FunctionSet line space 21/216 inch or (7/72 inch)ASCII[ESC] 1Hexadecimal1BH 31HDecimal<27><49>IPCL&%SGDescriptionThis command sets the default line spacing to 21/216 inch. This line spacing is
for all-points-addressable (APA) graphics printing.
Page 20Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesVertical Motion
FunctionSet variable line space n/72 inchASCII[ESC] A <n>Hexadecimal1BH 41H <n>Decimal<27><65><n>IPCLnoneDescriptionThis command sets default line spacing to n/72 inch. Set n = 1 to 85. This line
spacing does not take effect until enabled by the [ESC] 2 command. This
command is provided to maintain backward compatibility with Series 50,
OKIDATA, IBM, and other printers. It can also be used to print on preprinted
forms.
FunctionEnable [ESC] A <n> line spacingASCII[ESC] 2Hexadecimal1BH 32HDecimal<27><50>IPCLnoneDescription[ESC] 2 enables [ESC] A <n> line spacing. This is a companion to the [ESC]
A <n> command and puts the specified line spacing into effect. It will remain
in effect until another line spacing command is issued.
FunctionFeed <n> lines at current spacingASCII[ESC] d <n>Hexadecimal1BH 64H <n>Decimal<27><100> <n>IPCL&%FL <m1> <m2>
DescriptionThis command prints the contents of the buffer (if any) and performs <n> line
feeds at the current line spacing. This command does not change the default
line spacing value. The next character print position is reset to the left margin.
NOTE: The IPCL command will print from 00 to 99 lines. For example, if you
wish to feed 12 lines, the IPCL command would be &%FL12.
FunctionForm feedASCII[FF]Hexadecimal0CHDecimal<12>IPCL&%FFDescriptionThis command performs a form feed to cut.
FunctionBegin auto line feedASCII[ESC] 5 <01>Hexadecimal1BH 35H 01hDecimal<27><53><01>IPCL&%MADescriptionThis command sets auto line feed mode.NOTE: This overrides the configuration setting.
Rev B 4/13/99Page 21
Control CodesPcOS Series 80PLUSProgrammer's GuideVertical Motion
FunctionEnd auto line feedASCII[ESC] 5 <0>Hexadecimal1BH 35H 00HDecimal<27><53><0>IPCL&%CADescriptionThis command ends auto line feed mode.NOTE: This command overrides the configuration setting.
Page 22Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesInternational Character Sets
International Character Sets and Code Pages
The PcOS Series 80PLUS Printer supports 65 different international character sets. In IBM and
EPOS printers, there have historically been two ways of selecting a character set. The oldest way is by
use of character sets. This mode substituted international characters in the upper 128 characters of the
standard character set to support different countries. As time passed, this approach became difficult to
support. It became a problem for the application to match the characters displayed and the characters
printed. To solve this problem, code pages were developed. The printer and display would use the
same code page and the application would then display and print the same characters. IBM and EPOS
defined new commands to select code pages and left the old commands in effect.
The PcOS Series 80PLUS Printer supports international character sets as well as code pages.
However, both methods are extended in the PcOS Series 80PLUS. This is to allow the most flexibility
for the application programmer.
The PcOS Series 80PLUS printer has extended the IBM code page selection command to allow
character sets as well as normal IBM code pages to be selected.
All characters in code pages as well as character sets are addressed as 0 to 255. (Characters below 32
must be addressed with the [ESC]^<n> command.) Code pages may be changed at any time and are
active for all features including rotated print.
As discussed above, there are two commands for language selection in IBM mode. The first is [ESC] !
which will select one of 19 international character sets. This command will not select all the possible
sets and is provided for compatibility with older programs. The second is [ESC] [ T which will select
any of the code pages.
FunctionSelect international character table setASCII[ESC] ! <n>Hexadecimal1BH 21HDecimal<27><33>IPCL&%CS<n>DescriptionThis command selects the international character set, <n>. In standard mode,
the value of <n> is as follows.
<n>Language<n>Language<n>Language
64-’@’ASCII (Slashed zero)71-’G’Norwegian78-’N’Swedish IV
65-’A’ASCII (Unslashed zero)72-’H’Dutch79-’O’Turkish66-’B’British73-’I’Italian80-’P’Swiss I67-’C’German74-’J’French Canadian81-’Q’Swiss II68-’D’French75-’K’Spanish90-‘Z’Publisher69-’E’Swedish76-’L’Swedish II
70-’F’Danish77 -’M’Swedish III
Table 4 Language table ID’s
Rev B 4/13/99Page 23
Control CodesPcOS Series 80PLUSProgrammer's GuideInternational Character Sets
FunctionSelect character code pageASCII[ESC] [ T <nh> <nl>
Hexadecimal1BH 5BH 54H <nh> <nl>
Decimal<27><91><84><nh> <nl>
IPCL&%CP <m1> <m2><m3><m4>
DescriptionThis command selects character code page <nh> <nl>. The PcOS Series
80PLUS Printer supports many code pages. The following code pages are
supported.
NOTE: The code page field is a 16-bit field that is equivalent to the code page number. For example,
1 * 256 + 181 = 437. For the IPCL command, the page is specified in ASCII as a 4-byte field.
Page 24Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesInternational Character Sets
FunctionPrint control characterASCII[ESC] ^ <n>Hexadecimal1BH 5EH <n>Decimal<27><94><n>IPCL&%CC <m1><m2><m3>
DescriptionThis command allows characters from 0 to 31 codes to be printed. During
normal operation, characters from 0 to 31 are control characters. This
command turns off control code translation for the following character. <n>
can be from 0 to 255.
FunctionRedefine character setASCII[ESC] [ S <LL> <LH> <BC> <T1H><T1L> <T2H><T2L> <T3H><T3L> …
<TnH><TnL>
Hexadecimal1BH 5BH 40HDecimal<27><91><64>IPCLnoneDescriptionThis command allows an application to replace or redefine the active character
set mapping in the printer.
Where <LL> <LH> defines the total length of the following data:
<LL> + 256*<LH> = 1 + 2 * is the total number of characters to be replaced.
<BC> is the first character in the active map to be replaced.
<T1H><T1L>2 is the internal address of the replacement character image.
The mapping of a print pattern to each character address is referred to a code
page or character set. At any given time the printer character set is comprised
of 256 characters. Each character is addressed by an 8-bit value generally
referred to as a character code. For example, if you want to print an ‘A’, it
would be addressed by sending a <65> decimal to the printer. There are 65
predefined code pages or character maps that assign characters to a particular
address built into the printer. However, there are times when an application
would like to redefine a character or group of characters in a code page. To
allow this, the Series 80PLUS Printer allows the map for any code page to be
redefined or replaced. The “Define Character Set” command allows any
character or group of characters to be replaced with any other printable
character. There are over 500 printable master characters defined in the printer.
To redefine the character map for the 35th character and replace it with internal
master character 346, the following redefine character set command is used.
[ESC][S <3> <0> <35> <90> <1>
^^^^ ^^ ^^^^^^
| | +- 346th Character in Master set
| | [(1*256) + 90]
| +------- 35th Character
+----------- 3 Bytes to follow [(0*256) + 3]
The new map will remain until the printer is power cycled or the character set
is redefined. The code page and character set commands completely redefine
this table.
2
The internal character map is provided in a separate document.
Rev B 4/13/99Page 25
Control CodesPcOS Series 80PLUSProgrammer's GuideInternational Character Sets
FunctionInsert Euro CharacterASCII[ESC] [ C <n>Hexadecimal1BH 5BH 43H …Decimal<27><91><67>IPCL&%EUDescriptionThis command allows an application to replace any character in the currently
active character set with the Euro character. The character to be replaced is
defined by <n>. For example, if the currently active character set is CP 850
(multilingual) and the 0D5H character is to be the Euro character, “1BH 5BH
43H 0D5H” will replace the character at 0D5H with the Euro symbol.
Page 26Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesCharacter Print
Character Print Control
Character Pitch
FunctionBegin 10 cpi character pitch
ASCII[DC2]
Hexadecimal12H
Decimal<18>
IPCL&%F3
DescriptionThis command sets 10 characters per inch (cpi) print pitch.
FunctionBegin 12 cpi character pitch
ASCII[ESC] :
Hexadecimal1BH 3AH
Decimal<27><58>
IPCL&%F2
DescriptionThis command sets 12 characters per inch (cpi) print pitch.
FunctionBegin 17 cpi character pitch
ASCII[SI]
Hexadecimal0FH
Decimal<15>
IPCL&%F1
DescriptionThis command sets 17 characters per inch (cpi) print pitch
FunctionSet specified character pitch
ASCII[ESC] [ P <n>
Hexadecimal1BH 5BH 50H <n>
Decimal<27> <91> <80> <n>
IPCL&%F<n>
DescriptionThis command sets character per inch (cpi) print pitch to <n>.
Control CodesPcOS Series 80PLUSProgrammer's GuideCharacter Print
FunctionSet intercharacter spacing
ModeGlobal
ASCII[ESC] V <n>
Hexadecimal1BH 56H <n>
Decimal<27> <86> <n>
IPCLnone
DescriptionThis command sets intercharacter spacing by adding white space between
characters. The value of <n> sets the spacing and can range from 0 to 256.
The normal pitch set commands set the intervalue to 0. Each value of n
adds 1/180 inch to the space between characters.
FunctionSet left/right print margin
ASCII[ESC] X <n1> <n2>
Hexadecimal1BH 58H <n1> <n2>
Decimal<27><88> <n1> <n2>
IPCLnone
EPOS[ESC]l, [ESC]Q
DescriptionThis command sets left and right print margins in characters from the
home position.
Where n1 = Left margin
n2 = Right margin
The absolute position depends on the current print pitch.
This command should be issued at the start of a new line. If it is not, the
previous data will be printed, and this command will take effect on the
next line.
Page 28Rev B 4/13/99
Programmer's GuidePcOS Series 80Control CodesRotated Fonts
Rotated Fonts
FunctionBegin 90°° or 270°° rotated fontASCII[ESC] P <n>Hexadecimal1BH 50H nHDecimal<27><80><n>IPCL&%RI {n=2},&%RF{n=1},&%RN{n=0}DescriptionThis command sets the print font to a rotated 90° or 270° font.Wheren = 0Normal
n = 1Rotate 90°
n = 2Rotate 270°
n = 5Rotate 90°
n = 6Rotate 270°
The rotated print font is a 1 pass 7 x 9 or 5 x 7 font. Enhanced, emphasized,
subscript, superscript, and underline character attributes are not available in
this mode. Double-wide and double-high fonts are available. However, because
the font is rotated, double-wide font will make the characters taller and doublehigh font will make the characters wider.
The current pitch sets the spacing between lines. If 8 cpi is set, the printer will
produce the equivalent of 8 lines per inch rotated print. Print pitches greater
than 15 cpi are very small and difficult to read.
This mode prints faster than the formatted, rotated print mode. However, no
formatting is available in this mode.
FunctionEnd 90°° rotated fontASCII[ESC] P <0>Hexadecimal1BH 50H 0HDecimal<27><80><0>IPCL&%RNDescriptionThis command returns the print font to normal nonrotated mode.NOTE: This command leaves the printer in utility print mode.
Rev B 4/13/99Page 29
Control CodesPcOS Series 80PLUSProgrammer's GuideCharacter Attributes
Character Attribute Commands
FunctionBegin one-line double-wide printASCII[SO]Hexadecimal0EHDecimal<14>IPCL&%MWDescriptionThis command causes subsequent characters to be printed at twice the currently
selected character width. For example, 10 cpi becomes 5 cpi, 17 cpi becomes
8.5 cpi, and so on. This command will remain in effect until:
A. A valid line terminator is received (CR, LF, or fine line feed);
B. The command is canceled; or
C. The maximum number of characters per line is reached, and the printer
performs an auto print.
FunctionCancel one-line double-wide printASCII[DC4]Hexadecimal14HDecimal<20>IPCL&%MNDescriptionThis command cancels one-line double-wide mode set by the [SO]command
and allows single- and double-wide characters to be printed on the same line.
FunctionMultiline, double-wide, and double-high printASCII[ESC] W <n>Hexadecimal1BH 57H <n>Decimal<27><87><n>IPCL&%FD, &%FS, &%FHNOTE: Single-wide, double-high mode is not available in IPCL.DescriptionThis command controls multiline double-wide or double-high mode.WherenSpecifies the mode
0Standard single-wide and single-high&%FS
1Begin double-wide&%FD
2Begin double-highNone
3Begin double-wide and double-high&%FH
NOTE: This command does not affect line spacing.
Page 30Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesCharacter Attributes
FunctionBegin underlineASCII[ESC] - <1>Hexadecimal1BH 2DH 01HDecimal<27><45><1>IPCL&%MUDescriptionThis command begins underline print mode. All subsequent text and leading
spaces will be underlined. Trailing spaces are also underlined.
NOTE: Underline is not available in High Speed Draft mode.
Control CodesPcOS Series 80PLUSProgrammer's GuideCharacter Attributes
FunctionBegin enhanced printASCII[ESC] GHexadecimal1BH 47HDecimal<27><71>IPCL&%MEEPOS[ESC] G <1>DescriptionAll subsequent text will be printed in an enhanced (darker looking) print mode.
FunctionEnd enhanced printASCII[ESC] HHexadecimal1BH 48HDecimal<27><72>IPCL&%CEEPOS[ESC] G <0>DescriptionThis command cancels enhanced print mode and returns to the currently
selected font.
FunctionBegin emphasized printASCII[ESC] EHexadecimal1BH 45HDecimal<27><69>IPCL&%MMEPOS[ESC] E <1>DescriptionThis command is the same as enhanced print.
Programmer's GuidePcOS Series 80PLUSControl CodesFormatted Print Rotation
Formatted Print Rotation Commands
To provide flexibility in printing various sized forms, rotated print capability is provided. This mode
will rotate the print in any of three 90° orientations.
In 90° and 270° rotated mode, the print data is first buffered by the printer, processed (rotated) and
then printed. This causes the print process to be delayed slightly as it takes some time to process the
data before it is printed. In 180° mode, the print is simply inverted and mirrored.
Because the 90° and 270° rotated print buffer is limited, the amount of rotated print is also limited.
The printer can support a limit of 23 lines of rotated print with a maximum line length of 128
characters.
The spacing between lines is controlled by a line spacing table. This table is defined by the rotated
print line spacing ([ESC] u ...) command or by inserting [LF] or [ESC]J<n> commands in the rotated
data. The [ESC]u command specifies the space to be added between each printed line. Each line has
an entry in the table. There is room for 23 lines in the table. The minimum spacing (and default) is
1/80 inch between lines.
If a [LF] is used to specify the line spacing, it overrides the default table and sets spacing to 1/80 inch.
If [ESC] J <n> is used, <n> specifies the spacing in n/216 inch (including white space).
The intercharacter spacing is adjusted with the normal line spacing commands. The [ESC]3<n>
command is the most effective command for adjusting intercharacter spacing.
Specifying the line length is useful to determine where data is printed if line formatting is specified.
When rotated 90° and 270°, the print field can be extended to print the complete line length specified.
This mode is called line formatted mode. In line formatted mode, the line length is set not by the
longest line entered but by the set line-length command. The default line length is 80 characters,
However, any value from 1 to 128 may be selected. Anything past the selected length will be wrapped
to the next line.
In rotated 180° mode, all spacing commands are effective. This mode of operation simply inverts and
mirrors the print operation. All line spacing and print features are available. It should be noted that
the feed direction is not effected by any of the rotate commands.
Rev B 4/13/99Page 33
Control CodesPcOS Series 80PLUSProgrammer's GuideFormatted Print Rotation
FunctionBegin rotated printASCII[ESC] r <X>Hexadecimal1BH 72H 0XHDecimal<27><114><X>IPCL&%RXEPOS[ESC] T <3>DescriptionThis command starts rotated print mode where X defines the mode as follows:n-bits76543210Function
----xx00End rotated print
----xx01Rotate 90°
----0010Rotate 180°
----xx11Rotate 270°
----x1xxUse line formatting
If X = 1 or 9, rotate print mode by 90°. Print data is entered normally from left
to right, top to bottom. When an End Rotated Print ([ESC] r <0>) command is
received, the printer will format and print the data.
If X = 5 or 13, rotate print mode 90° with formatting. This command differs
from the [ESC] r <1> command in that the line length is determined not by the
longest line entered, but by the line length set by the [ESC] s command. If input
extends past the end of a line, the print will line wrap.
If X = 3 or 11, 270° rotated print mode is entered. The print will be rotated
270° according to the currently stored format parameters.
If X = 7 or 15, 270° rotated print mode is entered. The print will be rotated
270° according to the currently stored format parameters. This command
differs from the [ESC] r <3> command by spacing out the lines to the line
length specified by the [ESC] s command. If input extends past the end of a
line, the print will line wrap.
If X = 2, 180° rotated print mode is entered. All subsequent lines will be
rotated 180° and positioned at the opposite margin. All normal fonts and modes
are available in 180° rotated mode. The format and font bits are ignored by this
command. This command will remain in effect until rotation is canceled with
an End Rotated Print ([ESC] r <0>) command, or a station select command is
issued.
Page 34Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesFormatted Print Rotation
Rotated Print Summary:
FunctionBegin 90°° rotated printASCII[ESC] r <1>Hexadecimal1BH 72H 01HDecimal<27><114><1>IPCL&%R1
FunctionBegin 90°° rotated print with line formattingASCII[ESC] r <5>Hexadecimal1BH 72H 05HDecimal<27><114><5>IPCL&%R5
FunctionBegin 270°° rotated printASCII[ESC] r <3>Hexadecimal1BH 72H 03HDecimal<27><114><3>IPCL&%R3
FunctionBegin 270°° rotated print with line formattingASCII[ESC] r <7>Hexadecimal1BH 72H 07HDecimal<27><114><7>IPCL&%R7EPOS[ESC] T <1>
FunctionBegin 180°° rotated printASCII[ESC] r <2>Hexadecimal1BH 72H 02HDecimal<27><114><2>IPCL&%R2
FunctionEnd rotated printASCII[ESC] r <0>Hexadecimal1BH 72H 00HDecimal<27><114><0>IPCL&%R0EPOS[ESC] { <0>DescriptionThis command prints the contents of the rotated print buffer (if 90° or 270°
mode) and returns to normal print orientation.
In 180° mode, the printer will return to normal mode.
Rev B 4/13/99Page 35
Control CodesPcOS Series 80PLUSProgrammer's Guide
Edge Receipt
Formatted Print Rotation
FunctionSet rotated print line lengthASCII[ESC] s <n>Hexadecimal1BH 73H <n>Decimal<27><115><n>IPCL&%RL <m1> <m2><m3>
EPOSnoneDescriptionThis command sets the print line length to be used in auto-format rotated print
mode. The maximum number of characters is 128 per line. The power on
default line length is 80 characters.
FunctionSet rotated print line spacingASCII[ESC] u <n1> <m1> <n2> <m2> ... <ni> <mi> <0>
Hexadecimal1BH 75H <n1> <m1> <n2> <m2> ... <ni> <mi> 00H
Decimal<27><117> <n1> <m1> <n2> <m2> ... <ni> <mi> <0>
IPCLnoneEPOSnoneDescriptionThis command adjustsline spacing for each rotated print line. Where ni is the
line number, mi is the spacing in 1/80 inch from the previous line.
For the first print line, the distance is calculated from the margin. An ni value
of 0 is used to terminate the command. Any unspecified spacing will be set to 1.
These values will be used as a template for all subsequent, rotated print. On
power up, all spacing is preset to 1/80 inch for all lines. This command is only
effective in 90° and 270° rotation. It will remain in effect until a new table is
received or until the printer is power cycled. An [ESC] u <0> will have the
effect of setting all lines to 1. This table can be overridden by an [LF] or [ESC]
J <n> command in the rotated print data.
The value of m can be from 1 to 127; n can be from 1 to 23.
Left Margin
n=1, m
First line
Second Line
Page 36Rev B 4/13/99
n=2, m
Third Line
Programmer's GuidePcOS Series 80PLUSControl CodesGraphics Mode
Graphics Mode
The PcOS Series 80PLUS Printer conforms to the general definitions of IBM APA graphics. The
printer will only print graphics that are 2.83 inches wide. This can make it difficult to use off-theshelf graphic generation programs.
If the PcOS Series 80PLUS Printer is used with programs that convert text to graphics, the printer
will be slower than if the printer is sent ASCII text. The PcOS Series 80PLUS Printer is supported by
a Windows print driver that will allow applications to select fonts that are supported by the printer.
The Series 80PLUS Printer maps all APA graphic modes to the native 200 dpi resolution of the
printer. These commands are provided to allow existing applications to print graphics.
Standard APA Graphics
FunctionPrint single-density graphics (60h x 72v dpi)
ASCII[ESC] K <n>1 <n>
Hexadecimal1BH 4BH <n>1 <n>
Decimal<27><75><n>1 <n>
IPCLnone
DescriptionThis command prints n1 + 256 * n2 bytes of single-density graphics (60
dpi).
2
2
2
FunctionPrint half-speed double-density graphics (120h x 72v dpi)
ASCII[ESC] L <n>1 <n>
Hexadecimal1BH 4CH <n>1 <n>
Decimal<27><76><n>1 <n>
2
2
2
IPCLnone
DescriptionThis command prints n1 + 256 * n2 bytes of double-density graphics (120
dpi) at half speed, allowing full and half dots to be printed.
FunctionPrint full-speed double-density graphics (120h x 72v dpi)
ASCII[ESC] Y <n>1 <n>
Hexadecimal1BH 59H <n>1 <n>
Decimal<27><89><n>1 <n>
2
2
2
IPCLnone
DescriptionThis command prints n1 + 256 * n2 bytes of double-density graphics (120
dpi) at full speed, no consecutive dots. (This mode is generally used to
print 120h by 144v dpi resolutions in two passes)
FunctionPrint quad-density graphics (240h x 72v dpi)
ASCII[ESC] Z <n>1 <n>
Hexadecimal1BH 5AH <n>1 <n>
Decimal<27><90><n>1 <n>
2
2
2
IPCLnone
DescriptionThis command prints n1 + 256 * n2 bytes of quad-density graphics (240
dpi) at full speed with consecutive dots. (This mode is generally used to
print 240h by 144v dpi resolutions in two passes)
Rev B 4/13/99Page 37
Control CodesPcOS Series 80PLUSProgrammer's GuideGraphics Mode
Extended APA Graphics
FunctionPrint graphics in mode <n> (60h/120h/240h x 72v dpi)
ASCII[ESC] * <m> <n>1 <n>
Hexadecimal1BH 2AH <m><n>1 <n>
Decimal<27><42><m><n>1 <n>
IPCLnone
DescriptionThis command selects one of the following graphic modes as specified by
Control CodesPcOS Series 80PLUSProgrammer's GuideGraphic Save
Graphic Save
The PcOS Series 80PLUS Printer contains a graphic save buffer. This buffer is 24K bytes long and
can be saved in the printer’s nonvolatile memory. The nonvolatile memory is read at power up and is
available to be printed with a single command. The purpose of this feature is to allow a graphic logo
to be stored in the printer and printed on command.
The buffer is intended to save a graphic image. However, any print information can be saved and then
reprinted. The print information in this buffer can be replaced at any time and then reprinted. It does
not need to be saved in the nonvolatile memory. It is feasible for the buffer to be used to create a
duplicate receipt.
Programming considerations
This feature works by inserting the save graphic buffer into the printer data stream when the
print graphic save command is encountered.
Some care should be taken when forming this buffer. Because when this buffer is inserted, any
configuration commands (like font or pitch changes) will remain in effect after the buffer is
complete and/or printed.
The nonvolatile memory has a limited number of write-cycle operations. For this reason, the
number of saves should be limited. The buffer should not be saved on a transaction by transaction
basis. Once a day should be the limit.
The buffer is 24K bytes long. All commands3 and print data are placed in the buffer and both
must be included in the 24K limit. There is no indication by the printer when it is full. The
application must make sure that the buffer is not overfilled. The printer will simply stop saving
information in the buffer after 24K characters are received.
As the buffer is filled, the input data is printed normally. The effect of the graphic save start
command is to start to save the input data. The graphic save stop command stops saving data and
initializes internal pointers for the next print. The graphic save "stop and save" command stops
the save, writes the buffer to the nonvolatile memory, and then initializes the internal pointers for
the next print. The graphic save print command inserts the buffer into the print stream after the
graphic save print command.
3
IPCL commands are converted by the printer into an equivalent [ESC] code and then placed in the save
buffer. The equivalent [ESC] code should be used to calculate the size of the save buffer data.
Page 40Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesGraphic Save
FunctionGraphic save print
ASCII[ESC] g <0>
Hexadecimal1BH 67H 00H
Decimal<27><103><0>
IPCL&%GP
EPOS[ESC] g <0>
DescriptionThis command prints the graphic save buffer.
FunctionStart graphic save record
ASCII[ESC] g <1>
Hexadecimal1BH 67H 01H
Decimal<27><103><1>
IPCL&%GS
EPOSESC] g <1>
DescriptionThis command clears the graphic save buffer and starts recording data.
The next 24K bytes (including characters and commands) will be recorded.
FunctionStop graphic save record
ASCII[ESC] g <2>
Hexadecimal1BH 67H 02H
Decimal<27><103><2>
IPCL&%GE
EPOS[ESC] g <2>
DescriptionThis command stops recording graphic save information. The buffer is not
saved into nonvolatile memory.
FunctionStop graphic save record and save
ASCII[ESC] g <3>
Hexadecimal1BH 67H 03H
Decimal<27><103><3>
IPCL&%GW
EPOS:ESC] g <3>
DescriptionThis command stops recording graphic save information. The buffer is
saved into nonvolatile memory.
NOTE: The printer will remain busy for about seven seconds after this
command. This time is required to erase and resave the graphic save buffer
into the nonvolatile memory.
Rev B 4/13/99Page 41
Control CodesPcOS Series 80PLUSProgrammer's GuideBar Codes
Bar codes
The PcOS Series 80PLUS Printer supports the ability to print bar codes. The printer will print one of
five formats, Interleaved 2 of 5, Code 39, Code 128, UPC A, or EAN-13. The host does not need to
form the graphic image for these bar codes. The host need only send the printer the information to be
bar coded, and a graphic will be generated. Bar codes can be printed in a high-resolution “normal”
mode or a “fast” high-speed mode. The normal mode is more readable than the high-speed mode.
(See the [ESC][EM]B command on the next page for setting the bar code height and print speed.)
FunctionPrint bar code
ASCII[ESC] b <n>{information}[ETX]
Hexadecimal1BH 62H <n>... 03H
Decimal<27><98><n> ... <3>
IPCL&%25 ... [CR] Interleaved 2 of 5&%39 ... [CR] Code 39
Interleaved 2 of 5This is a high-density, self-checking, continuous, numeric bar code. It is
mainly used where fixed length numeric fields are required. The data field
must be an even number of characters. If an odd data field is sent to the
PcOS Series 80PLUS Printer, it will be zero padded. Due to space
limitations, only 20 characters can be printed.
NOTE: Interleaved 2 of 5 does not read well in “fast” mode.
Code 39 This is an alphanumeric bar code. It is a discrete, self-checking, variable-
length code. The complete data field is printed. Due to space limitations,
only 10 characters can be printed. If illegal characters are passed to the
printer, they are converted to legal codes. For example, a → A.
Code 128This is an alphanumeric bar code. It is a high density, variable length,
continuous code that employs multiple element widths. Code 128 has three
possible start codes. The start code defines the code set: A, B, or C. The
first character in the data field defines the Code Set. Start Code A =
<135>; Code B = <136>; and Code C = <137>. The complete data field is
printed. Due to space limitations, only ten characters can be printed. The
printer generates a check digit.
Code 128 NoteWith Code 128, the ‘A’ space is defined as a <0>. This makes
programming difficult and causes control character conflicts for the
printer. To help solve these problems in Code 128, the PcOS Series
80PLUS Printer subtracts 32 from all characters that are to be included in
the bar code. In the Code 128 definition, an ‘A’ is <33>. However, the
Page 42Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesBar Codes
printer will convert an ASCII ‘A’ (<65>) to a <33> internally which forces
Code 128C and the start codes off by 32.
UPC AThis is a fixed length, numeric, continuous code that employs four element
widths. The printer supports Universal Product Code Versions A, E, EAN8, and EAN-13. Version A encodes 11 digits. Typically, the UPC A format
starts with a number system digit, 5-digit manufacturer’s code, 5-digit
product code, and a check digit. The printer makes no assumptions about
any of the codes except the check digit. The printer will print a UPC bar
code with the 11 digits sent to it and generate the check digit. If fewer than
11 digits are sent, the remaining digits will be 0. The printer will print a
UPC that is about 130% the size of the UPC nominal standard. This
provides optimal readability.
UPC EThis is a zero suppression version of UPC. The printer requires that the
first digit be 0 for number system 0. If it is not zero, the bar code is not
printed. The printer does the compression based on the compression rules
for UPC E. The printer will print a UPC bar code based on the 11 digits
sent to it and generate the check digit. If fewer than 11 digits are sent, the
remaining digits will be 0. The printer will print a UPC that is about 130%
the size of the UPC nominal standard. This provides optimal readability.
EAN-13This is a fixed length, numeric, continuous code that employs four element
widths. The printer supports EAN-13, a superset of UPC that encodes 12
digits. Typically, the format starts with a number set digit, which defines
how the next 6 digits are encoded. The next 5 digits have fixed encoding.
The last is a check digit. The printer will print an EAN-13 bar code with
the 12 digits sent to it and generate the check digit. If fewer than 12 digits
are sent, the remaining digits will be 0. The printer will print an EAN-13
bar code that is about 130% the size of the nominal standard. This provides
optimal readability.
EAN-8This is a fixed length, numeric, continuous code that employs four element
widths. The printer supports EAN-8, a superset of UPC that encodes 7
digits. The printer will print an EAN-8 bar code with the 7 digits sent to it
and generate the check digit. If fewer than 7 digits are sent, the remaining
digits will be 0. The printer will print an EAN-8 bar code that is about
130% the size of the nominal standard. This provides optimal readability.
NOTES: A [CR] may also be used in place of the [ETX] to end the bar
code data field.
Only information that is usable in a particular bar code will be printed.
FunctionBar code height
ASCII[ESC] [EM] B <n>
Hexadecimal1BH 19H 42H <n>
Decimal<27><25><66><n>
IPCL&%BH <m1> <m2>
DescriptionThis command sets the bar code height and speed where <n> is the number
of print passes and <m> is the speed. Each pass is about 0.11 inch high. If
n = <0>, the printer returns to the default values of four passes for all
except UPC which is seven. Any value from 0 to 9 may be specified.
Rev B 4/13/99Page 43
Control CodesPcOS Series 80PLUSProgrammer's GuidePrinter Control
Printer Control
FunctionClear print bufferASCII[CAN]Hexadecimal18HDecimal<24>IPCL&%RPDescriptionThis command clears the print buffer and any unprinted information in the
printer received before the [CAN]. If the input buffer is not being processed
because the printer is out of paper or a form has not been inserted, the CAN
command will not be processed until after the error is cleared. The CAN
command does not restore default conditions. It only clears the print buffers.
FunctionReturns a status to the host when it is processedResponseSerial/IEEE 1284Parallel, non-IEEE 1284
[SOH]<n>…Not supported via PE
DescriptionThis command can be placed in the print data and, when processed by the
printer, will return a progress status marker. The value of <n> can be any
8-bit value. It is returned to the host unaltered. The intent is for it to be a
sequence number. This command can be used to track the print progress of
the printer or verify that the data has been printed.
NOTE: This command is a line terminator and causes the printer to print
all previous data. If a normal line terminator (like a [CR]) is not supplied,
right justify and auto center will not function correctly. All data will be left
justified. [ESC]q does not perform a [CR] or [LF] function.
Page 44Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesPrinter Control
FunctionOpen cash drawer ASCII[ESC] x <n>Hexadecimal1BH78H <n>Decimal<27><120><n>IPCL&%D1 for Cash Drawer 1IPCL&%D2 for Cash Drawer 2DescriptionThis command energizes cash drawer n for 150 ms.Where <n><1> (01H) or 1 (31H) - Cash Drawer 1
<2> (02H) or 2 (32H) - Cash Drawer 2
The time period the drawer is activated can be changed in the configuration
menu. The activation time can be set from 25 ms to 250 ms.
NOTES: The open cash drawer commands are processed as part of the print
data. They are not processed until they are found in the input buffer by the print
processor. They are not immediate commands.
Cash Drawer 2 is factory configurable in one of two modes. Either Pin 2 or 3 is
active depending on an internal jumper setting. The factory default is Pin 3.
Cash Drawer 1 is always on Pin 2.
The cash drawer status is defined as an open circuit for drawer closed.
FunctionActivate receipt cutterASCII[ESC] vHexadecimal1BH 76HDecimal<27><118>IPCL&%FC CutEPOS[ESC] m or [ESC] iDescriptionThis command cuts receipt tape and is only active in receipt mode. It will cut
the receipt tape above the current print line.
NOTE: This command is only effective on printers with a knife.
FunctionPrint suppress and data pass throughASCII[ESC] < <n>Hexadecimal1BH 3CH <n>Decimal<27><60><n>IPCLnoneDescriptionThis command provides print suppress and data pass through features.WhereBit 0 Printer select
Bit 1 Pass through on
Bits 2-7 Undefined
If Bit 0 is clear, the printer will stop processing data. If Bit 1 is set, the data
will be passed through the printer and be sent out on the serial port.
NOTE: The pass through command is preprocessed and is not part of the print
data. It is processed immediately when it is found in the data stream. The
printer will continue to process and print data that was previously entered.
NOTE: If the printer is configured for parallel operation, the data will still be
pass through on but on the IEEE 1284 return channel. This is not very useful
and should be avoided.
NOTE: These commands do not function if M50 compatibility is turned on.
M50 pass through must be used.
Rev B 4/13/99Page 45
Control CodesPcOS Series 80PLUSProgrammer's GuidePrinter Control
FunctionControl feature commandsASCII[ESC] y <n>Hexadecimal1BH79H <n>Decimal<27><121><n>IPCL&%Y0 through 9Where n0 restores configures emulation1 forces Axiohm emulation2 forces PcOS Ithaca emulation3 forces Epson emulation4 disables IPCL commands5 enables IPCL commands6 disables ENQ processing7 enables ENQ processing8 enables extended diagnostics9 prints self-test bannerDescriptionThis command enables and disables command set features. It is possible that
the IPCL commands will interfere with print data. If this is the case, they can
be disabled with an [ESC] y <4>. Once disabled, the IPCL command for
reenablement will not function.
NOTES: Once disabled, the &%Y5 command will not be a valid IPCL code.IPCL commands are not available in Epson and Axiohm modes.ESC y <6> and <7> enable and disable the real-time status inquire processing.
The [ESC] y control commands are not processed as they are received, but are
buffered then processed. Because of this, any [ENQ] commands sent after a
disable may be answered. In addition, [ENQ]’s sent after an enable may not be
answered.
FunctionMultidrop controlASCII[SOH] <n>Hexadecimal01H <n>Decimal<1> <n>IPCLnoneWhere <n> is the printer address, addresses of A, B, or C are configurable. In
multidrop mode, the printer must be addressed. This is the addressing
command. If the printer is configured with an address of ‘A,’ the printer will
operate when addressed. When any other address is sent to the printer, it will
enter print suppress mode. An address of ‘Z’ is a universal address and will
always activate the printer.
Page 46Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesM50 Compatibility Commands
M50 Compatibility Commands
To allow the PcOS Series 80PLUS Printer to replace the M50 printer without effecting the M50
application, several special M50 commands are available as M50 extensions. Because these
commands can have effects that PcOS Series 80PLUS applications may not want, these commands
must be enabled.
To enable these commands, select the M50 emulation in the configuration.
FunctionExtended M50 pass throughASCII[ESC] d or [ESC][RS] and [ESC]”Hexadecimal1BH, 23H or 1BH, 64H or 1BH, 1EH and 1BH, 22HDecimal<27><35> or <27><100> or <27><30> and <27><34>DescriptionThese are Model 50 pass through commands.[ESC] d turns on pass through, and [ESC][RS] or [ESC]” turns it off. This
command requires that the pass through function be enabled in the
configuration menu.
NOTE: [ESC]# commands available in some versions of M50 printers are not
available in this emulation.
Rev B 4/13/99Page 47
Control CodesPcOS Series 80PLUSProgrammer's GuidePrinter Status
Printer Status Set/Inquire
The PcOS Series 80PLUS Printer is designed for use as part of an automated system, where the host
computer makes every attempt to correct problems with the printer. In addition, the host application
requires that it be able to obtain more information from the printer than is typical of normal computer
printers. The normal computer printer does not have cash drawers and slip stations. As a result, the
standard printer protocol must be extended to deal with the additional features of a PcOS printer.
The PcOS Series 80PLUS Printer has defined a set of status inquiry commands that will allow the
host to obtain information about the printer and devices connected to it. The method chosen to
interact with the computer is designed to allow a reasonable approach to the host application. It will
not always be possible for an existing application to use the ENQ commands unless the
communication drivers are available to the programmer.
Serial Mode Inquire
All ENQ commands require a response from the printer. In serial operation, all ENQ commands
are responded to by ACK or NAK, the command ID, and in some cases status.
The serial ACK or NAK responses are always uniform and followed with a command ID. This
makes the design of the host application easier because the response can be identified and always
follows the same format.
The printer will always accept serial data even if the printer is off-line. It is possible to send
inquire commands to the printer even if it is off-line. Because ENQ commands are processed
before they go in the buffer, the printer will respond even if the printer is busy printing.
In serial mode, it is desirable that the response to an ENQ be received by the host before another
ENQ command is issued to the printer. When the printer receives an ENQ, it must generate a
response. If ENQ’s are sent to the printer too fast, the printer will spend all of its time responding
to ENQ’s and have no time to print.
IEEE 1284 Mode Inquire
In parallel IEEE 1284 mode, there is a way to return status information to the host. After the host
makes an ENQ request, the host can activate IEEE 1284 Mode 0 reverse channel and wait for a
response from the printer. The response to the ENQ is identical to serial mode.
The printer will always accept IEEE 1284 reverse channel requests but will not accept ENQ
commands when off-line. It is possible to obtain status when off-line by placing the printer in
dynamic response mode before the printer goes off-line. The IEEE 1284 reverse channel will
then respond to status changes even if the printer is off-line. It is also possible to configure the
printer, so it will not go off-line in most cases. Power off, paper out, and faults will always
generate off-line status.
Page 48Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesPrinter Status
Inquire Commands
FunctionInquire printer status
ASCII[ENQ] <n>
Hexadecimal05H <n>
Decimal<5><n>
IPCLnone
EPOS[GS] r or [DLE] [ENQ] or [DLE] [EOT]
DescriptionThis command inquires printer status and returns the result. The following
ENQ's are defined.
NOTE: If the printer is off-line, ENQ's may not be accepted.
FunctionInquire Cash Drawer 1 status
ASCII[ENQ] <1>
Hexadecimal05H 01H
Decimal<5><1>
FunctionCash Drawer 1 status
ResponseACK <1> (06H 01H)
Cash Drawer 1 is closed.
NAK <1> (15H 01H)
Cash Drawer 1 is open.
The cash drawer status is defined as open circuit being drawer closed.
FunctionInquire Cash Drawer 2 status
ASCII[ENQ] <2>
Hexadecimal05H 02H
Decimal<5><2>
FunctionCash Drawer 2 status
ResponseACK <2> (06H 02H)
Cash Drawer 2 is closed.
NAK <2> (15H 02H)
Cash Drawer 2 is open.
The cash drawer status is defined as open circuit being drawer closed.
Rev B 4/13/99Page 49
Control CodesPcOS Series 80PLUSProgrammer's GuidePrinter Status
FunctionInquire receipt paper out
ASCII[ENQ] <4>
Hexadecimal05H 04H
Decimal<5><4>
FunctionIs receipt paper out?
ResponseACK <4> (06H 04H)
There is receipt paper.
NAK <4> (15H 04H)
The receipt paper is exhausted.
FunctionInquire cover open status
ASCII[ENQ] <8>
Hexadecimal05H 08H
Decimal<5><8>
FunctionInquire whether the cover is closed.
ResponseACK <8> (06H 08H)
The cover is closed.
NAK <8> (15H 08H)
The cover is open.
FunctionIs the buffer empty? Clear IEEE 1284 buffer.ASCII[ENQ] <9>
Hexadecimal05H 09HDecimal<5><9>
FunctionThis command allows the host to know when the print buffer is empty.
If IEEE 1284 is active, this command also clears the response buffer.
ResponseACK <9> (06H 09H)
The buffer is empty.
NAK <9> (15H 09H)
The buffer is not empty.
Page 50Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesPrinter Status
FunctionRequest printer resetASCII[ENQ] <10>
Hexadecimal05H 0AHDecimal<5><10>
FunctionReset printer
ResponseACK <10> (06H 0AH)
The command was accepted.
NAK <10> (15H 0AH)
The command was rejected.
DescriptionThe ENQ <10>, EPOS DLE ENQ n commands, and the INIT pin all
have the same effect and are termed reset commands. To prevent data
loss, the printer will try to complete printing of any buffered data. This
will fail if for any reason operator intervention with the printer is
required. The reset operation is saved until the printer goes idle. In the
case of the slip request command or any command that waits for the
operator, the printer is idle. If the printer is idle and a reset is received
or is pending, the printer will reset and the buffer will be cleared. If an
operator intervention operation is reset by the host, any remaining
buffered data will be cleared.
When the printer receives a reset command, the printer will go off-line
and/or busy until the reset is completed. In serial mode, the printer can
have information in its high-speed buffer that was received after the
reset, but before the reset was processed. If the host application
continues to send information to the printer after a reset command,
some of that information may be processed before the reset is
processed. In parallel mode, the printer will go busy after the reset is
received, but before the next byte is accepted.
The printer will accept an [ENQ]<10> in parallel mode. It will not be
acknowledged however. If both the serial and parallel ports are active,
the serial reset will not be acknowledged either. This is because the
reset operation will remove the parallel response. In IEEE 1284 mode,
the response buffer is cleared by a reset command. This prevents
responses in IEEE 1284 mode as well.
NOTE: There is a menu selection that will block this command. If
reset inhibit is set in the configuration menu, this command will be
ignored.
Rev B 4/13/99Page 51
Control CodesPcOS Series 80PLUSProgrammer's GuidePrinter Status
FunctionInquire power cycle status
ASCII[ENQ] <11>
Hexadecimal05H 0BH
Decimal<5><11>
FunctionHas the printer been power cycled since the last request?
ResponseACK <11> (06H 0BH)
Printer power has been cycled since last [ENQ] <11>.
NAK <5> (15H 0BH)
Printer has not power cycled since last [ENQ] <11>.
DescriptionThe first time after a reset this command will return [ACK] <11>,
after that the command will return [NAK] <11>. This command
allows the application to determine if the printer has been power
cycled and needs to be reinitialized. The [ENQ] <10> command and
the INIT signal on the parallel port will both cause the printer to
return power up status.
FunctionInquire printer state
ASCII[ENQ]<15>
Hexadecimal05H 11H
Decimal<5><15>
FunctionThis command returns the current printer state.
Response[ACK]<15><n><r1><r2>…
Where<15> is the echo of command ID, n is the number of return bytes + 40
(28H) (to prevent confusion with XON/XOFF).
<r1>: Bit 0 = Form clamp is closed.
Bit 1 = Cover is closed.
Bit 2 = Receipt paper is out.
Bit 3 = 0
Bit 4 = Printer is in error state (waiting for error to be
cleared).
Bit 5 = 0
Bit 6 = 1 always
Bit 7 = 0 always
<r2>: Bit 0 = 0
Bit 1 = 0
Bit 2 = 0
Bit 3 = 0
Bit 4 = 0
Bit 5 = 0
Bit 6 = 1 always
Bit 7 = 0 always
Page 52Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesPrinter Status
FunctionInquire all printer status
ASCII[ENQ]<20>
Hexadecimal05H 14H
Decimal<5><20>
FunctionThis command returns all status flags.
Response[ACK]<20><n><r1><r2>…
Where<20> is the echo of command ID, n is the number of return bytes + 40
(28H) (to prevent confusion with XON/XOFF).
<r1>: Bit 0 = Cash Drawer 1 is open.
Bit 1 = Cash Drawer 2 is open.
Bit 2 = Receipt paper is out.
Bit 3 = 0
Bit 4 = Receipt paper error occurs.
Bit 5 = 0
Bit 6 = 1 always
Bit 7 = 0 always
<r2>: Bit 0 = 1
Bit 1 = Cover is closed.
Bit 2 = Buffer is empty.
Bit 3 = Printer power has been cycled (does not affect state of
power cycled flag). Use [ENQ]<11> to reset.
Bit 4 = Printer is waiting in error mode.
Bit 5 = 0
Bit 6 = 1 always
Bit 7 = 0 always
<r3>: Bit 0 = 1 Receipt station is selected.
Bit 1 = 0
Bit 2 = 0
Bit 3 = 0
Bit 4 = Undefined
Bit 5 = Printer is blocking print. (The cover is open or out of
paper)
Bit 6 = 1 always
Bit 7 = 0 always
<r4>: Bit 0 = 1 Printer supports receipt.
Bit 1 = 0 Printer does not support inserted forms.
Bit 2 = Undefined
Bit 3 = Printer supports cutter.
Bit 4 = Printer supports partial cuts.
Bit 5 = 0 Printer does not support MICR.
Bit 6 = 1 always
Bit 7 = 0 always
Rev B 4/13/99Page 53
Control CodesPcOS Series 80PLUSProgrammer's GuidePrinter Status
FunctionInquire printer ID
ASCII[ENQ]<21>
Hexadecimal05H 15H
Decimal<5><21>
FunctionThis command returns printer IEEE 1284 ID string.
Response[ACK]<21><n>{{ID string}
Where<21> is the echo of command ID, <n> is the number of return bytes in
the ID string.
{ID string} is the IEEE ID return string that follows:
MFG:Ithaca-Periph.;
CMD:M80CL,IPCL;
MDL:80 PcOS;
DES:Ithaca-Peripherals Series 80;
CLS:PRINTER;
Dynamic Response Mode
Dynamic status [ESC] w<n> can be used to allow the host to sense status changes without
sending repeated ENQ commands. The operation of the dynamic response varies depending on
the configuration of the printer. If the printer is configured for Serial or IEEE 1284 operation,
more than one status can be sensed as the printer will respond to status changes as if an [ENQ]
were issued. In parallel mode, only one status should be requested. If more than one bit is active,
the result status on the PE signal is not defined.
The response to dynamic responses is the same as to inquire commands. That is, if cash drawer
status is to be sensed, the PE or ACK/NAK will be the same as for inquire commands.
FunctionEnable dynamic response
ASCII[ESC] w <n>
Hexadecimal1BH77H <n>
Decimal<27><119><n>
IPCLnone
Where ndefines the features that cause dynamic responses.
Bit 0 Cash Drawer 0ACK/NAK <1>
Bit 1 Cash Drawer 1ACK/NAK <2>
Bit 2 Paper Out statusACK/NAK <4>
Bits 3-6Undefined
Bit 7 Cover StatusACK/NAK <8>
Dynamic status can be used to allow the host to sense status changes
without sending repeated ENQ commands. The operation of the dynamic
response varies depending on the configuration of the printer. If the printer
is configured for Serial or IEEE 1284 operation, more than one status can
be sensed as the printer will respond to status changes as if an [ENQ] were
issued. In parallel mode, only one status should be requested. If more than
one bit is active, the resulting status on the PE signal will not be defined.
NOTE: Power up default is paper out on PE signal.
Page 54Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSControl CodesExtended Diagnostics
Extended Diagnostic Commands
FunctionExtended diagnosticsASCII[GS] 7FH …Hexadecimal1DH 7FHDecimal<29><127>IPCLnoneDescriptionThese commands are used by Ithaca Peripherals to help adjust and test the
printer. There is no guarantee that these commands are valid and/or stable.
They are not intended for use by the end user. In no case, should this command
sequence be sent to the printer by an application.
Rev B 4/13/99Page 55
Control CodesPcOS Series 80PLUSProgrammer's GuideSummary by Code
Control Codes Summary by Code
NormalASCII
SecondASCII
Hex Code
IPCL EquivalentCode
Description
Page
Field[NUL]00Null[SOH]<addr>01HMultidrop control46[ENQ]<n>05HInquire status
n = 7 Rotated 270°, 5 x 7[ESC] R1BH,52H&%HVReset horizontal tabs to defaults18[ESC] V <n>1BH,56HSet intercharacter spacing28[ESC] W <n>1BH,57H&%FS {n=0}
&%FD {n=1}
&%FH {n=3}
Multiline double-wide double-high
sequence
n = 0 End all
30
n = 1 Begin double-wide
n = 2 Double-high
n = 3 Both[ESC] X <n
<n
>
1BH,58HSet left and right margin
1
>
2
n1 = Left in characters
n2 = Right in characters[ESC]
Y <n>
2
<n>
1
1BH,59HDouble-density full-speed graphics
n1 = 0..255
37
n2 = 0..3
len = n1 +256 * n2
Rev B 4/13/99Page 57
Control CodesPcOS Series 80PLUSProgrammer's GuideSummary by Code
NormalASCII
SecondASCII
Hex Code
IPCL EquivalentCode
Description
Page
Field
[ESC]
Z <n>
2
<n>
1
1BH,5AHQuad-density full-speed graphics
n1 = 0..255
37
n2 = 0..3
len = n1 +256 * n2[ESC][ @ ...1BH,5BH,
40H
[ESC][ P <n>1BH,5BH,
50H
[ESC][ T <n>1BH,5BH,
54H
Set print style
31
(See command description).
&%F1-7Set character pitch27&%CPSet character set by code page.24
[ESC]^<n>1BH,5EH&%CCPrint control code25[ESC]a <n>1BH,61H&%JR
&%JC&%JL
Set justification to
n = 0 Left
n = 1 Center
19
n = 2 Right[ESC]b <n> ...
[ETX]
1BH,62H&%25 {n=0}
&%39 {n=1}&%12 {n=2}&%UP {n=3}&%EA {n=4}
Print Bar code
n = 0 Interleave 2 of 5
n = 1 Code 39
n = 2 Code 128
n = 3 UPC A
42
n = 4 EAN-13[ESC]d <n>1BH,64H&%FLFeed <n> lines at the current spacing21[ESC]g <n>1BH,67H&%GP {n=0}
n = 2 Cash Drawer 2[ESC]y <n>1BH,79H&%Y0 – 9Control diagnostics and extended
features (See description).
46
[GS]<n>1DH,7FHDiagnostic commands55
Page 58Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsEmulation Modes
Chapter 8:
Epson/Axiohm Commands
Emulation Modes
The Series 80PLUS thermal printer is capable of emulating an Epson TM-T8x series printer and
Axiohm 7193 printer as well as its Ithaca modes. Though the Epson TM-8x and Axiohm 7193 share
many of the same commands, they do not all produce the same results. Therefore, to ensure complete
compatibility, the Series 80PLUS must be configured specifically for either Epson TM-T8x emulation
or Axiohm 7193 emulation. The current emulation mode can be obtained at any time by performing a
self-test and may be changed at any time via the Configuration Mode.
Command Name [ Origin ]
Command Name is the name of the command.
Origin specifies which printer command set the command comes from.
Origin may take on any combination of the following values:
E = Epson TM-T8x command setA = Axiohm 7193 command setI= Series 80PLUS command extension* = Command has different functions depending upon the current emulation mode
Rev B 4/13/99Page 59
Epson CommandsPcOS Series 80PLUSProgrammer's GuideSupported Commands
Supported Commands
Print and Feed CommandsCommandNamePageLF0AHPrint and line feed64ETB17HPrint64CR0DHPrint and carriage return64ESC J1BH, 4AHESC d1BH, 64HDC414HNAK15HFF0CHPrint and return to standard mode (in page mode)65ESC FF1BH, 0CHPrint data in page mode65
CommandNamePageESC 21BH, 32HSelect default line spacing, 1/6 lpi66ESC 31BH, 33HSet line spacing66SYN16H
GS -1DH, 2DHDefine user-defined bit image67GS .1DH, 2EHDefine user-defined bit image from a PCX file68GS 01DH, 30HPrint user-defined bit image69GS 11DH, 31HErase a single entry from the nonvolatile memory pool69GS 51DH, 35HErase all entries from the nonvolatile memory pool69GS *1DH, 2AHDefine single user-defined bit image70GS /1DH, 2FHPrint single user-defined bit-image71GS 61DH, 36HSave user definable character set71GS 71DH, 37HSelect user definable character set71GS 31DH, 33HQuery nonvolatile memory pool information72
CommandNamePageESC SP1BH, 20HSet right-side character spacing73ESC %1BH, 25HSelect/cancel user-defined character sets73ESC &1BH, 26HDefine user-defined characters74ESC ?1BH, 3FHCancel user-defined characters74ESC R1BH, 52HSelect an international character set75ESC [ T1BH, 5BH,
54H
GS #1DH, 23HInsert Euro76ESC ^1BH, 5EHPrint control character77ESC t1BH, 74HSelect character code table77ESC !1BH, 21HSelect print mode(s)77
Print and feed paper n vertical unitsPrint and feed n linesFeed n print linesFeed n dot rows
Line Spacing Commands
Add n extra dot rows
User-defined Memory Commands
Character Commands
Select character code table76
64656565
66
Page 60Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsSupported Commands
Epson CommandsPcOS Series 80PLUSProgrammer's GuideSupported Commands
Status CommandsCommandNamePageGS a1DH, 61HEnable/Disable Automatic Status Back (ASB)90GS r1DH, 72HTransmit status92DLE EOT10H, 04HReal-time status transmission93
ESC v1BH, 76HTransmit printer status (Axiohm)96ESC v1BH, 76HTransmit printer status (Epson)96
Bar Code CommandsCommandNamePageGS h1DH, 68HSet bar code height97GS w1DH, 77HSet bar code width97GS k1DH, 6BHPrint bar code97GS H1DH, 48HSelect printing position of HRI characters100GS f1DH, 66HSelect font HRI characters100
4 The command has different functions depending upon the current emulation mode.
5 The command has different functions depending upon the current emulation mode.
6 The command has different functions depending upon the current emulation mode.
Page 62Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsSupported Commands
ESC =1BH, 3DHSet peripheral device105DLE ENQ10H, 05HReal-time request to printer105ESC ‘1BH, 27HCopy user defined storage buffers106ESC L1BH, 4CHSelect page mode106ESC S1BH, 53HSelect standard mode106
Rev B 4/13/99Page 63
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
Command Descriptions
Print and Feed Commands
FunctionPrint and line feed [EA]
ASCIILF
Hexadecimal0AH
Decimal<10>
DescriptionThis command prints the data in the print buffer and feeds one line based
on the current line spacing.
FunctionPrint [A]
ASCIIETB
Hexadecimal17H
Decimal<23>
DescriptionThis command prints one line from the buffer and feeds paper one line at
the current line height (functions same as a LF command).
FunctionPrint and carriage return [EA]
ASCIICR
Hexadecimal0DH
Decimal<13>
Default
[Epson TM-T8x]CR is ignored.
[Axiohm 7193]This command functions the same as LF.
DescriptionThe table below describes the operation of the LF command based upon its
default setting in configuration mode.
PaperAutomatic line feed
enabled
Paper rollFunctions same as LFIgnored
Automatic line feed
disabled
FunctionPrint and feed paper [EA]
ASCIIESCJn
Hexadecimal1BH4AHn
Decimal<27><74>n
Range0 ≤ n ≤ 255
DescriptionThis command prints the data in the print buffer and feeds the paper [n ×
Page 64Rev B 4/13/99
vertical motion unit]. When standard mode is selected, the vertical motion
unit set by GS P is used. When page mode is selected, the vertical or
horizontal motion unit set by GS P is used for the print direction set by
ESC T.
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionPrint and feed n lines [EA]
ASCIIESCd n
Hexadecimal1BH64Hn
Decimal<27><100>n
Range0 ≤ n ≤ 255
DescriptionThis command prints the data in the print buffer and feeds n lines.
FunctionFeed n print lines [A]
ASCIIDC4 n
Hexadecimal14Hn
Decimal<20> n
Range0 ≤ n ≤ 255
DescriptionThis command feeds the paper n lines at the current line height without
printing.
FunctionFeed n dot rows [A]
ASCIINAK n
Hexadecimal15H n
Decimal<21> n
Range0 ≤ n ≤ 255
DescriptionThis command feeds the paper n dot rows [n × vertical motion unit] inches
without printing.
FunctionPrint and return to standard mode (in page mode) [E]
ASCIIFF
Hexadecimal0CH
Decimal<12>
DescriptionFF prints the data in the print buffer collectively and returns to standard
mode. The buffer data is deleted after it is printed. This command returns
the values set by the ESC W command to the default values. The value set
by the ESC T command is maintained. This command is enabled only in
page mode. This command does not cut the paper.
FunctionPrint data in page mode [E]
ASCIIESCFF
Hexadecimal1BH0CH
Decimal<27><12>
DescriptionESC FF prints all buffered data in the printable area collectively, in page
mode. This command is enabled only in page mode. After printing, the
printer does not clear the buffered data or values set by other commands.
When the printer returns to standard mode, FF or ESC S should be
executed. This command does not cut the paper.
Rev B 4/13/99Page 65
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
Line Spacing Commands
FunctionSelect default line spacing [EA]
ASCIIESC2
Hexadecimal1BH32H
Decimal<27><50>
DescriptionThis command sets the line spacing to 1/6 inch.
FunctionSet line spacing [EA]
ASCIIESC3n
Hexadecimal1BH33Hn
Decimal<27><51>n
Range0 ≤ n ≤ 255
Description
[Epson TM-T8x]This command sets the line spacing to [n × vertical motion unit].
[Axiohm 7193]This command sets the line spacing to [n × (1/360”)].
When standard mode is selected, the vertical motion unit set by GS P is
used. When page mode is selected, the vertical or horizontal motion unit
set by GS P is used for the print directions set by ESC T.
FunctionAdd n extra dot rows [A]
ASCIISYNn
Hexadecimal16Hn
Decimal<22>n
Range0 ≤ n ≤ 12
Default
[TM-T8x]n = 23, 6 lines/inch with vertical motion unit = 1/360.
[Axiohm]n = 2, 7.6 lines/inch with vertical motion unit = 1/152.
DescriptionThis command adds n extra dot row [ n x vertical motion unit] to the
character height to increase space between print lines or decrease the
number of lines per inch.
The table below shows the relationship between the number of lines per
inch and each extra dot row added in Axiohm 7193 emulation mode with
the vertical motion unit set to 1/152 inch.
Page 66Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionDefine user-definable bit image [E]
ASCIIGS-<name> 0 x y d1 . . . d(x x y x 8)
Hexadecimal1DH2DH<name> 0 x y d1 . . . d(x x y x 8)
Decimal<29><45><name> 0 x y d1 . . . d(x x y x 8)
Range1 ≤ x ≤ 255
1 ≤y≤ 255
0 ≤d≤ 255
<name> = a 15-byte maximum length name to identify the image.
DescriptionGS - defines a bit-image for storage in the nonvolatile memory pool. The
printer maintains an area of memory specifically designated for multiple
bit-image storage. This area can contain as many bit-images as its size
permits. (A printout of the amount of nonvolatile memory remaining can
be obtained by performing a printer self-test.) Each image is uniquely
identified by the name given to it by the <name> parameter.
The name of the bit-image can be from one to 15 bytes long and contain
any alphanumeric characters as well as the space. The format of the bitimage is identical to that defined by the GS * command.
The GS - command must be entered in standard mode only at the
beginning of a print line. If this command is entered in page mode, it will
be ignored. If the size of the image is larger than the space remaining in
the nonvolatile buffer, the image will not be saved. When the last byte of
bit-image data is received and there is ample space in the nonvolatile
buffer for the bit-image, the bit image will be saved. While the save is in
process, the printer will go off-line and will not respond to or save any data
it receives. When the save is complete, the printer will return on-line.
Please be sure to adhere to flow-control provided by the communications
interface.
Rev B 4/13/99Page 67
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
The following basic example demonstrates how to define an 8 bit x 8 bit
block with the name “MY IMAGE”:
A representation of the format of a downloaded bit-image is depicted below:
Column one
d1dy+1..........
MSB
d2dy
+2
........................
→
dn
LSB
dy
⇐ d(x×y×8)
PRINT #1, CHR$(29),CHR$(45),REM Enter the GS - command
PRINT #1, ”MY IMAGE”,CHR$(0);REM Define the image name
PRINT #1, CHR$(1),CHR$(1);REM Image size (8 x 8 bits)
PRINT #1, CHR$(255),CHR$(255),CHR$(255),CHR$(255); REM Send 8 bytes of image
PRINT #1, CHR$(255),CHR$(255),CHR$(255),CHR$(255) REM data
FunctionDefine user-defined bit image from a PCX file [E]
ASCIIGS.<name> 0 <PCX graphics file>
Hexadecimal1DH2EH<name> 0 <PCX graphics file>
Decimal<29><46><name> 0 <PCX graphics file>
Range<name> = a 15-byte maximum length name to identify the image.
DescriptionGS . defines a bit-image for storage in the nonvolatile memory pool. (See
GS - command for more information). The source of the bit-image is a
PCX file. GS . will accept PCX file versions 2.5, 2.8, and 3.0. If the PCX
file contains an extended palette structure, this command will be aborted;
any PCX file defined with more than 16 usable colors uses an extended
palette structure. All colors within a standard palette will be converted to
either black or white when the bit-image is stored using a “best match”
algorithm. The definition of the <name> parameter and the description of
operation are identical to the GS - command.
Page 68Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionPrint user-defined bit image [E]
ASCIIGS0<name> 0
Hexadecimal1DH30H<name> 0
Decimal<29><48><name> 0
Range<name> = a 15-byte maximum length name to identify the image.
DescriptionGS 0 prints a bit-image from storage in the nonvolatile memory pool. The
name of the bit-image can be from one to 15 bytes long and contain any
alphanumeric characters as well as spaces. GS . searches the nonvolatile
memory pool for the first occurrence of the image identified by <name>. If
the image is found, it will be printed. If the image cannot be found, this
command will be ignored. In standard mode, this command must be
entered at the beginning of a print line. In page mode, this command may
be entered at any time.
The following basic example demonstrates how to print the stored bitimage named “MY IMAGE”:
PRINT #1, CHR$(29), CHR$(48),REM Enter the GS 0 command
PRINT #1, “MY IMAGE”, CHR$(0)REM Enter the image name
FunctionErase a single entry from the nonvolatile memory pool
ASCIIGS1<name> 0
Hexadecimal1DH31H<name> 0
Decimal<29><49><name> 0
Range<name> = a 15-byte maximum alphanumeric name to identify the image.
DescriptionGS 1 deletes a single entry (bit-image or character set) from storage in the
nonvolatile memory pool. The printer will go off-line before deleting the
entry and will return on-line when it is completed. Please be sure to adhere
to flow-control provided by the communication interface.
FunctionErase all entries from the nonvolatile memory pool
ASCIIGS5
Hexadecimal1DH35H
Decimal<29><53>
DescriptionGS 5 erases the entire contents of the nonvolatile memory pool and frees
up the memory for new entries. The printer will go off-line when this
command is received and will return on-line when it is completed. Please
be sure to adhere to flow-control provided by the communication interface.
Rev B 4/13/99Page 69
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
FunctionDefine single user-definable bit-image [EA]
ASCIIGS*xyd1…d(x x y x 8)
Hexadecimal1DH2AHxyd1…d(x x y x 8)
Decimal<29><42>xyd1…d(x x y x 8)
Range1 ≤ x ≤ 255
1 ≤y≤ 48
0 ≤d≤ 255
DescriptionThis command defines a single downloaded bit-image using the number of
dots specified by x and y in the RAM buffer area (volatile memory).
The number of dots in the horizontal direction is x x 8.
The number of dots in the vertical direction is y x 8.
If (x x y x 8) exceeds the size of the buffer, the image will be truncated.
d indicates bit-image data. Data (d) specifies a bit printed to 1 and not
printed to 0.
After a downloaded bit-image is defined, it may be saved to the nonvolatile
EEPROM storage buffer using the ESC ‘ command where it will remain
indefinitely. Otherwise, the image will remain in the RAM buffer where it
is available until ESC @ or ESC & is executed; the printer is reset; or the
power is turned off.
A representation of the format of a downloaded bit-image is depicted
below:
Column one
d1dy+1..........
d2dy
+2
........................
dy
→
⇐ d(x×y×8)
MSB
dn
LSB
Page 70Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionPrint single user-definable bit-image [EAI]
ASCIIGS/m
Hexadecimal1DH2FHm
Decimal<29><47>m
DescriptionThis command prints a downloaded or stored bit-image using the mode
specified by m. m selects a mode from the table below:
FunctionSave user definable character set
ASCIIGS6<name> 0
Hexadecimal1DH36H<name> 0
Decimal<29><54><name> 0
Range<name> = a 15-byte maximum alphanumeric name to identify the image.
DescriptionGS 6 saves the current character set created by the “ESC &” command to
the nonvolatile memory pool. If no character set has been defined, this
command will be ignored. When saving an image, the printer will go offline and will return on-line when completed. Please be sure to adhere to
flow-control provided by the communication interface.
Once a character set has been saved to the nonvolatile memory pool it is
“read-only”. Any attempt to redefine a character when this set is selected
will cause a new character set to be defined in RAM according to the “ESC
&” command.
FunctionSelect user definable character set
ASCIIGS7<name> 0
Hexadecimal1DH37H<name> 0
Decimal<29><55><name> 0
Range<name> = a 15-byte maximum alphanumeric name to identify the image.
DescriptionGS 7 selects a previously saved user defined character set with the name
<name>. If the character set does not exist, this command will be ignored.
Any characters referenced that are not defined in the set will be replaced as
follows: equivalent Code Page 437 character in Axiohm 7193 emulation
and equivalent current code page character in Epson TM-T8x emulation.
Rev B 4/13/99Page 71
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
FunctionQuery nonvolatile memory pool information
ASCIIGS3n<special>
Hexadecimal1DH33Hn<special>
Decimal<29><51>n<special>
Range0 ≤ n ≤ 5
For n = 0 only, <special> = <name> 0
DescriptionCommand performs the functions specified by n:
n
Function
0*Check for an entry
1Query total nonvolatile memory pool size2Query remaining nonvolatile memory pool size3Request the name of the first memory entry4Request the name of the next memory entry5Print the nonvolatile memory pool directory
n = 0Check for an entryChecks the nonvolatile memory pool for an entry. If the entry is found, the printer transmits
81 HEX (129 DEC) to the host. If the entry is not found, the printer transmits 80 HEX (128
DEC) to the host.
n = 1Query total nonvolatile memory pool sizeTransmits the total amount of nonvolatile memory pool storage to the host in the format:d
, d
, d
, d
31-24
23-16
15-8
7-0
.
n = 2Query remaining nonvolatile memory pool size
Transmits the remaining amount of nonvolatile memory pool storage to the host in the
format: d
31-24
, d
23-16
, d
15-8
, d
7-0
.
n = 3Request the name of the first memory entryTransmits the NULL terminated name of the first memory entry to the host if it exists,
otherwise just returns NULL.
n = 4Request the name of the next memory entryTransmits the next NULL terminated memory entry name to the host if it exists, otherwise
just returns NULL. Each call to this function returns the next name. Use n = 3 to reset the
pointer.
n = 5Print the nonvolatile memory pool directoryCauses the printer to print the nonvolatile memory pool directory when the printer is idle.
The directory prints all entry names and their associated types and sizes. This directory is
also displayed on the self-test ticket.
Page 72Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
Character Commands
FunctionSet right-side character spacing [EA]
ASCIIESCSPn
Hexadecimal1BH20Hn
Decimal<27><32>n
Range0 ≤ n ≤ 255
DescriptionThis command sets the character spacing for the right side of the character
to [n × horizontal motion unit]. When standard mode is selected, the
vertical motion unit set by GS P is used. When page mode is selected, the
vertical or horizontal motion unit set by GS P is used for the print
directions set by ESC T.
FunctionSelect/cancel user-defined character sets [EA]
ASCIIESC%n
Hexadecimal1BH25Hn
Decimal<27><37>n
RangeSee table below.
DescriptionThis command selects or cancels a user-defined character set as defined
below.
Table of n
HexDecimalFunction
000Selects Code Page 437 and turns off user defined
set
011Selects user defined character set in the RAM buffer022Selects Code Page 850 and turns off user defined
set
4165Selects user defined character set in nonvolatile
EEPROM buffer
If the user defined character set in RAM is selected and the set does not
exist, an empty set will be created. Any user defined bit-image will be
erased. Any characters referenced that are not defined will be replaced as
follows: equivalent Code Page 437 character in Axiohm 7193 emulation
and equivalent current code page character in Epson TM-T8x emulation.
If the user defined character set in the nonvolatile EEPROM buffer is
selected and the set does not exist, this command will be ignored. (See the
GS ‘ command for saving a user defined character set in the RAM buffer to
the nonvolatile EEPROM buffer).
Rev B 4/13/99Page 73
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
y specifies the number of bytes in the vertical direction.
c1 specifies the beginning character code for the definition.
c2 specifies the final code.
x specifies the number of dots in the horizontal direction.
d is the dot data for the characters. The dot pattern is in the horizontal
direction from the left side. Any remaining dots on the right side are
blank.
The allowable character code range differs between Epson and Axiohm
emulation. See Range above.
The data to define a user-defined character is (y × x) bytes.
Set a corresponding bit to 1 to print a dot or 0 to not print a dot.
In Epson emulation mode, there is a unique user defined character set for
each pitch. In Axiohm emulation mode, both pitches share the same user
defined character set.
FunctionCancel user-defined characters [E]
ASCIIESC?n
Hexadecimal1BH3FHn
Decimal<27><63>n
Range
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionSelect an international character set [E]
ASCIIESCRn
Hexadecimal1BH52Hn
Decimal<27><82>n
Range0 ≤ n ≤ 74
Defaultn = 0
DescriptionThis command selects an international character set, n, from the following
Dutch14Canada French43ISO Latin 6 (8859/10)67Swedish II15Cyrillic I-85544Windows Baltic68Swedish III16Cyrillic II-86645Cyrillic-Latvian69Swedish IV17East Europe Latin II-
852
46Bulgarian72
Turkish18Greek 86947Icelandic-86173Swiss I19Windows East Europe49Baltic 77474
Rev B 4/13/99Page 75
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
FunctionSelect character code table [EAI]
ASCIIESC[Tn
Hexadecimal1BH5BH54Hn
Decimal<27><91><84>n
H
H
H
n
L
n
L
n
L
DefaultnH = 1, nL = 181 (Code Page 437)
DescriptionThis command selects a code page, n, from the character code table.
91Welsh0,910H,05BH1024Hungarian CWI4,04H,000H
437USA1,1811H,0B5H1026ISO Latin 4 (8859/4)4,24H,002H
774Baltic 7743,63H,006H1027Ukrainian4,34H,003H
850Multilingual3,823H,052H1028Roman-84,44H,004H
852East Europe Latin II-
FunctionInsert Euro Character [EA]
ASCIIGS#n
Hexadecimal1DH23H
Decimal<29><35>
DescriptionThis command allows an application to replace any character in the
Page 76Rev B 4/13/99
currently active character set with the Euro character. The character to be
replaced is defined by n. For example, if the currently active character set
is CP 850 (multilingual) and the 0D5H character is to be the Euro
character, 1DH 23H will replace the character at 0D5H with the Euro
symbol.
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionPrint control character
ASCIIESC^n
Hexadecimal1BH5EHn
Decimal<27><94>n
Range0 ≤ n ≤ 255
DescriptionThis command allows characters from zero to 31 codes to be printed.
During normal operation, characters from zero to 31 are control characters.
This command turns off control code translation for character n.
FunctionSelect character code table [E]
ASCIIESCtn
Hexadecimal1BH74Hn
Decimal<27><116>n
Range0 ≤ n ≤ 5, n = 255
Defaultn = 0
DescriptionThis command selects a page, n, from the character code table.
n
Character Code Table0Page 0 [PC437 (U.S.A. and Standard Europe)]1Page 1 [PC850 (Multilingual)]2Page 2 [PC850 (Multilingual)]3Page 3 [PC860 (Portuguese)]4Page 4 [PC863 (Canadian-French)]5Page 5 [PC865 (Nordic)]
255Page 255 [Space page]
FunctionSelect print mode(s) [EA]
ASCIIESC!n
Hexadecimal1BH21Hn
Decimal<27><33>n
Range0 ≤ n ≤ 255
DescriptionThis command selects print mode(s) using n as follows.
BitOff/OnHexDecimalFunction
0Off000Character Font A (13 × 24)
On011Character Font B (10 × 24)
1, 2---Undefined
3Off000Emphasized mode not selected
On088Emphasized mode selected
4Off000Double-height mode not selected
On1016Double-height mode selected
5Off000Double-width mode not selected
On2032Double-width mode selected6---Undefined7Off000Underline mode not selected
On80128Underline mode selected
Rev B 4/13/99Page 77
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
Page 78Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionTurn underline mode on/off [E]
ASCIIESC-n
Hexadecimal1BH2DHn
Decimal<27><45>n
Range0 ≤ n ≤ 2, 48 ≤ n ≤ 50
DescriptionThis command turns underline mode on or off, based on the following
values of n.
n
Function0, 48Turns off underline mode1, 49Turns on underline mode (2-dots thick)2, 50Turns on underline mode (2-dots thick)
FunctionTurn emphasized mode on/off [E]
ASCIIESCEn
Hexadecimal1BH45Hn
Decimal<27><69>n
Range0 ≤ n ≤ 255
DescriptionThis command turns emphasized mode on or off. When the LSB is 0,
emphasized mode is turned off. When the LSB is 1, emphasized mode is
turned on.
FunctionTurn double-strike mode on/off [E]
ASCIIESCGn
Hexadecimal1BH47Hn
Decimal<27> <71> n
Range0 ≤ n ≤ 255
DescriptionThis command turns double-strike mode on or off. When the LSB is 0,
double-strike mode is turned off. When the LSB is 1, double-strike mode is
turned on.
FunctionTurn upside-down printing mode on/off [E]
ASCIIESC{n
Hexadecimal1BH7BHn
Decimal<27><123>n
Range0 ≤ n ≤ 255
DescriptionThis command turns upside-down printing mode on or off. When the LSB
is 0, upside-down printing mode is turned off. When the LSB is 1, upsidedown mode is turned on. In Axiohm 7193 emulation mode,
counterclockwise rotation, ESC DC2, is turned off when upside-down
printing mode is turned on. In standard mode, this command is enabled
only when input at the beginning of a line. In page mode, an internal flag
is activated and this command is enabled when the printer returns to
standard mode.
Rev B 4/13/99Page 79
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
until the printer is reset or until a clear printer (10), set/cancel upsidedown print (1B 7B), or set/cancel rotated print (1B 56) command is
received. This command is enabled only in standard mode. In page mode,
an internal flag is activated, and this command is enabled when the printer
returns to standard mode.
FunctionSelect character size [E]
ASCIIGS!n
Hexadecimal1DH21Hn
Decimal<29><33>n
Range0 ≤ n ≤ 255
(1 ≤ vertical number of times ≤ 8, 1 ≤ horizontal number of times ≤ 8)
DescriptionThis command selects the character height using Bits 0 to 2 and selects the
FunctionTurn white/black reverse printing mode on/off [E]
ASCIIGSBn
Hexadecimal1DH42Hn
Decimal<29><66>n
Range0 ≤n≤ 255
DescriptionThis command turns on or off white/black reverse printing mode. When
the LSB is 0, white/black reverse mode is turned off. When the LSB is 1,
white/black reverse mode is turned on.
FunctionSelect double-wide characters [A]
ASCIIDC2
Hexadecimal12H
Decimal<18>
DescriptionThis command prints double-wide characters. The printer is reset to single-
wide mode after a line has been printed or a Clear Printer (10) command is
received.
FunctionSelect pitch (column width) [A]
ASCIIESC SYNn
Hexadecimal1BH16H n
Decimal<27> <22> n
Range0 = Standard (44 col/15.61 cpi)
1 = Compressed (57 col/20.3 cpi)
Defaultn = 0
DescriptionThis command selects the character pitch for a print line. See Appendix B
for a description of both pitches.
Rev B 4/13/99Page 81
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
FunctionCancel print data in page mode [E]
ASCIICAN
Hexadecimal18H
Decimal<24>
DescriptionCAN deletes all the print data for the current print job in page mode. This
command is enabled only in page mode.
Panel Button Commands
FunctionEnable/disable panel buttons [EA]
ASCIIESCc5n
Hexadecimal1BH63H35Hn
Decimal<27><99><53>n
Range0 ≤ n ≤ 255
DescriptionThis command enables or disables the panel buttons. When the LSB is 0,
the panel buttons are enabled. When the LSB is 1, the panel buttons are
disabled. In Epson TM-T8x emulation mode, the ESC @ command will
reenable the panel buttons.
Paper Sensor Commands
FunctionSelect paper sensor(s) to output paper end signals [E]
ASCIIESCc3n
Hexadecimal1BH63H33Hn
Decimal<27><99><51>n
Range0 ≤ n ≤ 255
DescriptionThis command selects the paper sensor(s) to output paper end signals and
is only available with a parallel interface. It is ignored with a serial
interface.
Each bit of n is used as follows.
BitOff/OnHexDecimalFunction
0Off000Ignored
On011Ignored
1Off000Ignored
On022Ignored
2Off000Paper roll end sensor disabled
On044Paper roll end sensor enabled
3Off000Paper roll end sensor disabled
On088Paper roll end sensor enabled
4-7---Undefined
FunctionSelect paper sensor(s) to stop printing [E]
ASCIIESCc4n
Hexadecimal1B63H34Hn
Decimal<27><99><52>n
Range0 ≤ n ≤ 255
Page 82Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
DescriptionThis command is not supported and is ignored if received.
DescriptionThis command sets the print starting position from the beginning of the
line.
[Epson TM-T8x]The distance in dots from the beginning of the line to the print position is
[(nL + nH × 256) × (horizontal motion unit)]. When standard mode is
selected, the horizontal motion unit set by GS P is used. When page mode
is selected, the horizontal or vertical motion unit set by GS P is used for the
print direction set by ESC T.
[Axiohm 7193]If nongraphics follow this command, the distance in dots from the
beginning of the line to the print position is [(nL + nH × 256) × (horizontal
motion unit)]. If graphics follow this command, the distance in dots from
the beginning of the line to the print position is [(nL+nH×256) ×
(horizontal motion unit)]/2.
DescriptionThis command sets the print starting position based on the current position
and the distance from the current position to [(nL + nH × 256) × horizontal
unit]. When standard mode is selected, the horizontal motion unit set by
GS P is used. When page mode is selected, the horizontal or vertical
motion unit set by GS P is used for the print direction set by ESC T.
FunctionSelect justification [EA]
ASCIIESCan
Hexadecimal1BH 61Hn
Decimal<27><97>n
Range:0 ≤ n ≤ 2, 48 ≤ n ≤ 50
DescriptionThis command aligns all the data in one line to the specified position n. In
standard mode, this command is enabled only when input at the beginning
of a line. In page mode, an internal flag is activated, and this command is
enabled when the printer returns to standard mode.
n0, 48Left1, 49Center2, 50Right
Justification
Rev B 4/13/99Page 83
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
Page 84Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
FunctionHorizontal tab [EA]
ASCIIHT
Hexadecimal09H
Decimal<9>
DescriptionThis command moves the print position to the next horizontal tab position,
DefaultDefault is every eight characters for 13 × 24 font.
DescriptionThis command sets horizontal tab positions.
Wheren specifies the column number for setting a horizontal tab position from
the beginning of the line.
k indicates the total number of horizontal tab positions to be set.
Epson and Axiohm emulation modes treat tab positions differently
depending upon factors such as character pitch, expansion, and rotation.
DescriptionThis command sets the left margin using nL and nH. The left margin is set
to [(nL + nH× 256) × horizontal motion unit)] from the beginning of the
line. In standard mode, this command is enabled only when input at the
beginning of a line. In page mode, an internal flag is activated and this
command is enabled when the printer returns to standard mode.
DescriptionThe printing area width is set to [(nL + nH× 256) × horizontal motion
unit)] from the left margin. In standard mode, this command is enabled
only when input at the beginning of a line. In page mode, an internal flag
is activated, and this command is enabled when the printer returns to
standard mode.
Rev B 4/13/99Page 85
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
FunctionSet column [A]
ASCIIESC DC4n
Hexadecimal1BH14H n
Decimal<27> <20> n
Range1 ≤ n ≤ 44 (Standard pitch)
1 ≤n≤ 57 (Compressed pitch)
DescriptionThis command 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.
FunctionSet printing area in page mode [E]
ASCIIESCWxLxHyLyHdxLdxHdyLdy
Hexadecimal1BH57HxLxHyLyHdxLdxHdyLdy
Decimal<27><87>xLxHyLyHdxLdxHdyLdy
H
H
H
Range0 ≤ xL, xH, yL, yH, dxL, dxH, dyL, dyH ≤ 255
(except for dxL = dxH = 0 or dyL = dyH = 0)
DescriptionESC W sets the size and position of the printing area in page mode as
follows:
Horizontal starting position = [(xL + xH x 256) x (horizontal motion unit)]
Vertical starting position = [(yL + yH x 256) x (vertical motion unit)]
Printing area width = [(dxL + dxH x 256) x (horizontal motion unit)] inches
Printing area height = [(dyL + dyH x 256) x (vertical motion unit)] inches
The default settings are as follows: xL = xH = yL = yH = 0 and
dxL = 0, dxH = 2, dyL = 126, dyH = 6
This command is enabled only in page mode. If this command is entered in
standard mode, an internal flag is activated, and the command is enabled
when the printer selects page mode.
FunctionSet print direction in page mode [E]
ASCIIESCTn
Hexadecimal1BH54Hn
Decimal<27><84>n
Range0 ≤ n ≤ 3, 48 ≤ n ≤51
DescriptionESC T n sets the print direction and starting position in page mode
specified by n as shown below. The default setting is n = 0. This command
is enabled only in page mode. If this command is entered in standard
mode, an internal flag is activated, and the command is enabled when the
printer returns to page mode.
n
Print DirectionStarting Position
0, 48Left to rightUpper left (A in figure)
1, 49Bottom to topLower left (B in figure)
2, 50Right to leftLower right (C in figure)
3, 51Top to bottomUpper right (D in figure)
Page 86Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
The parameters for the horizontal or vertical motion units (x or y) differ
depending on the starting position of the printing area as follows:
If the starting position is the upper left or lower right of the printing area
(n = 0, 2, 48, or 50), then these commands use
FunctionSet absolute vertical print position in page mode [E]
ASCIIGS$n
Hexadecimal1DH24Hn
Decimal<29><36> n
L
L
L
n
H
n
H
n
H
Range0 ≤ nL ≤ 255
0 ≤nH ≤ 255
DescriptionGS $ nL nH sets the absolute vertical print starting position for buffer
character data in page mode to [(nL + nH × 256) × (vertical or horizontal
motion unit)] inches. This command is effective only in page mode.
FunctionSet absolute vertical print position in page mode [E]
ASCIIGS\n
Hexadecimal1DH5CHn
Decimal<29><92>n
L
L
L
n
H
n
H
n
H
Range0 ≤ nL ≤ 255
0 ≤nH ≤ 255
DescriptionGS \ nL nH moves the vertical print position in page mode to [(nL + nH ×
256) × (vertical or horizontal motion unit)] inches from the current
position. This command is effective only in page mode. Use the
complement of N for setting pitch movement upward: -N pitch = 65536 N, where N = (nL + nH × 256). The horizontal and vertical motion units use
the horizontal and vertical values set by the GS P command.
Rev B 4/13/99Page 87
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
Bit-Image Commands
FunctionSelect bit-image mode [EA]
ASCIIESC*mnLnHd1 ... k
Hexadecimal1BH2AHmnLnHd1 ... k
Decimal<27><42>mnLnHd1 ... k
Rangem = 0, 1, 32, 33
0 ≤nL≤ 255
0 ≤nH≤ 3
0 ≤d≤ 255
DescriptionThis command selects a bit-image mode using m for the number of dots
The nL and nH indicate the number of dots of the bit image in the
horizontal direction. The number of dots is calculated by nL + nH × 256.
If the bit-image data input exceeds the number of dots to be printed on a
line, the excess data is ignored.
d indicates the bit-image data. Set a corresponding bit to 1 to print a dot or
to 0 to not print a dot.
Number of
Dots
Density
(dpi)
Density
(dpi)
Amount of Data (K)
8-dot single-density mode representation is depicted below:
Top of bit-image
d1
d2 d3 d4 .... .... .... .... .... dn
→
MSB
dn
LSB
Page 88Rev B 4/13/99
Programmer's GuidePcOS Series 80PLUSEpson CommandsCommand Descriptions
24-dot single-density mode representation is depicted below:Top of bit-image
d1
d4 d7 ... ....
d2
d5 ...
d3
d6
dn
→
MSB
dn
LSB
FunctionSelect 8-dot single-density bit-image mode [A]
ASCIIESCKnLnHd1 ... k
Hexadecimal1BH4BHnLnHd1 ... k
Decimal<27><75>nLnHd1 ... k
DescriptionSee ESC * for a complete description of graphics mode commands.
FunctionSelect 8-dot double-density bit-image mode [A]
ASCIIESCLnLnHd1 ... k
Hexadecimal1BH4CHnLnHd1 ... k
Decimal<27><76>nLnHd1 ... k
UsageAxiohm 7193 emulation mode
DescriptionSee ESC * for a complete description of graphics mode commands.
FunctionSelect 8-dot double-density bit-image mode [A]
ASCIIESCYnLnHd1 ... k
Hexadecimal1BH59HnLnHd1 ... k
Decimal<27><89>nLnHd1 ... k
DescriptionSee ESC * for a complete description of graphics mode commands.
Rev B 4/13/99Page 89
Epson CommandsPcOS Series 80PLUSProgrammer's GuideCommand Descriptions
Status Commands
FunctionEnable/Disable Automatic Status Back (ASB) [E]
ASCIIGSan
Hexadecimal1DH61Hn
Decimal<29><97>n
Range0 ≤ n ≤ 255
Defaultn = 0
DescriptionThis command enables or disables ASB. ASB is enabled if any item is
selected. The printer automatically generates a 4-byte status message
whenever the status changes. Multiple status items can be selected. When
n = 0, ASB is disabled. If ASB is enabled when the printer is disabled by
the ESC = command, the printer transmits a 4-byte status message
whenever the status changes. The status items are selected using n as
follows.
BitOff/OnHexDecimalFunction
0Off000Drawer kick-out connector status disabled
On011Drawer kick-out connector status enabled
1Off000On-line/off-line status disabled
On022On-line/off-line status enabled
2Off000Error status disabled
On044Error status enabled
3Off000Paper roll sensor status disabled
On088Paper roll sensor status enabled
4-7---Undefined
BitOff/OnHexDecimalStatus for ASB
0Off000Not used; fixed to Off1Off000Not used; fixed to Off2Off000Drawer 1 or 2 kick-out connector status is low.
On044Drawer 1 or 2 kick-out connector status is high.
3Off000On-line
On088Off-line4On1016Not used; fixed to On5Off000Cover closed
On2032Cover opened6Off000Paper is not being fed by the paper feed button.
On4064Paper is being fed by the paper feed button.7Off000Not used; fixed to Off
First byte (Printer information)
Page 90Rev B 4/13/99
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.