Sato Cl408 412 Users Manual

M8490S 4507e384-f41f-42bb-b567-847886947b8c

M8459S to the manual 4507e384-f41f-42bb-b567-847886947b8c

2015-02-06

: Sato Sato-Cl408-412-Users-Manual-526352 sato-cl408-412-users-manual-526352 sato pdf

Open the PDF directly: View PDF PDF.
Page Count: 212

DownloadSato Sato-Cl408-412-Users-Manual-  Sato-cl408-412-users-manual
Open PDF In BrowserView PDF
SATO Europe GmbH
PROGRAMMING MANUAL
SATO RISC PRINTERS

CL408/412, CL608/612 (VA), XL400/410,
M8400RV, M8459S, M8460S, M8485S, M8490S
SATO Europe GmbH
Im Hülsenfeld 13
40721 Hilden
Germany
Tel.:+49 (0)2103 9592-0
Fax.:+49 (0)2103 55322
Issued June 1999

© Copyright 1999 SATO Europe GmbH

Contents
1. Introduction .................................................................................... 7
1.1
The SATO RISC Programming Language .......................... 8
1.3
Selecting Protocol Control Codes ....................................... 8
1.4
Using Basic ......................................................................... 9
1.5
Printing with the Parallel Port ........................................... 10
1.6
Printing with the RS232 Port .............................................11
1.7
The Print Area .................................................................. 12
1.8
First Method: Using Base Reference Point ...................... 16
1.9
Second Method: Using Horizontal Offset Position ............ 16
2. Command Codes ......................................................................... 21
Bar Codes .................................................................................... 22
Bar Codes, Expansion ................................................................. 27
Bar Codes, Variable Ratio ........................................................... 28
Base Reference Point .................................................................. 30
Characters, Custom-Designed .................................................... 32
Character Expansion ................................................................... 34
Character, Fixed Spacing ............................................................ 36
Character Pitch ............................................................................ 37
Character, Proportional Spacing .................................................. 39
Clear Print Job(s) & Memory ....................................................... 40
Continuous Forms Printing .......................................................... 41
Copy Image Area ......................................................................... 42
Cutter Command ......................................................................... 44
Fonts U, S, M, OA, OB, XU, XS & XM ......................................... 45
Font, Vector ................................................................................. 47
Fonts WB, WL, XB & XL .............................................................. 49
Form Feed ................................................................................... 51
Form Overlay, Recall ................................................................... 52
Form Overlay, Store ..................................................................... 53
Graphics, Custom ........................................................................ 54
Graphics, PCX ............................................................................. 56
Job ID Store ................................................................................. 57
Journal Print ................................................................................. 58
Lines and Boxes .......................................................................... 59

i

Line Feed ..................................................................................... 61
Mirror Image
(From Firmware Version1E2050, 1E3002 for 6xxVA) .................. 63
Off-Line/Pause ............................................................................. 72
Postnet ......................................................................................... 73
Print Darkness ............................................................................. 74
Print Length, Expanded ............................................................... 75
Print Position ................................................................................ 76
Print Quantity ............................................................................... 78
Print Speed .................................................................................. 79
Repeat Label ................................................................................ 81
Replace Data (Partial Edit) .......................................................... 82
Reverse Image ............................................................................. 84
Rotate, Fixed Base Reference Point ............................................ 86
Rotate, Moving Base Reference Point ......................................... 88
Sequential Numbering ................................................................. 90
Start/Stop Label ............................................................................ 92
Calendar Option Commands ....................................................... 93
Calendar Increment ..................................................................... 94
Calendar Print .............................................................................. 96
Calendar Set ................................................................................ 98
Memory Card Option Commands ................................................ 99
Memory Card Function
Clear Card Memory ........................................................ 100
Expand Memory Area ..................................................... 101
Fonts, TrueType Recall ................................................... 102
Fonts, TrueType Store .................................................... 103
Format/Field Recall ......................................................... 104
Format/Field Store .......................................................... 105
Graphics, Custom Recall ................................................ 107
Graphics, Custom Store .................................................. 109
Graphics, PCX Recall ......................................................111
Graphics, PCX Store ...................................................... 112
Initialize ........................................................................... 113
Slot Select ....................................................................... 114
Status .............................................................................. 115

ii

Custom Protocol Command Codes Download ...........................117
3. Command Code Quick Reference ..............................................119
3.1
Instruction ........................................................................119
3.2
Calendar Option Commands .......................................... 129
3.3
Memory Card Option Commands ................................... 130
4. Bar Code Specifications ............................................................ 133
Codabar ..................................................................................... 134
Code 39 ..................................................................................... 135
Interleaved Two of Five (I 2/5) ................................................... 136
UPC-A/EAN-13 .......................................................................... 137
EAN-8 ........................................................................................ 139
Industrial Two of Five ................................................................. 140
Matrix Two of Five ...................................................................... 141
Code 128 ................................................................................... 142
MSI ......................................................................................... 145
Code 93 ..................................................................................... 146
UPC-E ........................................................................................ 147
Bookland (UPC/EAN Supplements) .......................................... 148
UCC-128 .................................................................................... 149
Postnet ....................................................................................... 151
Two-Dimensional Bar Codes
Data Matrix, Data Format ............................................... 152
Data Matrix, Print Data ................................................... 154
Data Matrix, Sequential Numbering ................................ 155
Maxicode Vers. 3 ............................................................ 157
PDF417 .......................................................................... 158
QR Code (Optional Special Firmware) ........................... 160
5. Interface Specifications .............................................................. 169
5.1
Overview ......................................................................... 169
5.2
Interface Types ............................................................... 169
5.3
The Receive Buffer ......................................................... 170
5.4
RS232C Serial Interface ................................................. 171
5.5
Centronics Parallel Interface .......................................... 179
5.6
I/F Connector .................................................................. 180
6. Troubleshooting ......................................................................... 187
6.1
Overview ......................................................................... 187

iii

6.2
6.3
6.4
6.5

Initial Checklist ................................................................ 188
Troubleshooting the Centronics (Parallel) Interface ....... 188
Troubleshooting the RS232C (Serial) Interface .............. 190
Error Signals M8400RV and M84S Series Printers
(Some procedures are not NA for M-8459S) .................. 191
6.6
Error Signals CL408/412 ................................................ 192
6.7
Error Signals CL608/612 (VA) ........................................ 193
6.8
Error Signals XL400/410 ................................................. 194
7. Custom Protocol Command Codes ........................................... 197
7.1
Description ...................................................................... 197
7.2
Download Command Structure ....................................... 198
7.3
Download Procedure ...................................................... 199
8. Custom Characters And Graphics ............................................. 201
8.1
Custom-designed Character Example ............................ 201
8.2
PCX Graphics Example .................................................. 211

iv

Programming Manual

1.

1. Introduction

Introduction
This manual presents the commands that are used with the SATO RISC
Printers to produce labels with logos, bar codes and alphanumeric data.
All of the RISC commands use the same syntax. Some commands reference a physical point on the label using horizontal and vertical dot reference numbers. The allowable range for these references is dependent
upon the particular printer to accomodate different print widths and resolutions. These differences are noted in tables under the commands
affected.

H
H
H
H
H
H
H
H

Introduction
Command Codes
Command Codes Quick Reference
Command Codes Specifications
Interface Specification
Troubleshooting
Custom Protocol Command Codes
Custom Characters And Graphics

SATO RISC Printers

7

1. Introduction

Programming Manual

1.1 The SATO RISC Programming Language
A programming language for a printer is a familiar concept to most programmers. It is a group of commands that are designed to use the internal
intelligence of the printer. The commands, which are referred to as RISC
Command Codes, contain non-printable ASCII characters (such as
, , ) and printable characters. These commands
must be assembled into an organized block of code to be sent as one data
stream to the printer, which in turn interprets the command codes and
generates the desired label output. The programmer is free to use any
programming language available to send the desired data to the SATO
RISC printer.
The command codes used by the SATO RISC Printers are based upon
“Escape” (1B hexadecimal) sequences. Typically there are four types of
command sequences:
{Command}
These commands generally tell the printer to perform a specific action,
like “clear the memory.”
{Command} {Data}
Commands with this format tell the printer to perform a specific action
which is dependent upon the following data, like “print X labels”, where
the value for X is contained in the data.
{Command} {Parameter}
These commands set the operational parameters of the printer, like “set
the print speed to 3.”
 {Command} {Parameter} {Data}
Some commands can contain both Parameter and Data elements, such
as “print a Code 39 symbol containing the data.”

1.3 Selecting Protocol Control Codes
Protocol codes are the special control characters that prepare the printer
to receive instructions. For example, the  character tells the printer
that a command code will follow and the  character asks for the
printer status.
There are two pre-defined different sets of Protocol Control codes to
choose from. Each set is made up of six special characters. The Standard
Protocol Control codes are non-printable characters, and the Non-Standard Protocol Control codes are printable characters. The Non-Standard
set may be useful on host computers using protocol converters or in an
application where non-printable ASCII characters cannot be sent from the
host. This manual uses the Standard Protocol Control codes for all of the
examples. Alternately, the user may define and download a set of custom
Protocol Control Codes.

8

SATO RISC Printers

Programming Manual

1. Introduction

The Protocol Control codes are selected by a DIP switch DSW2-7 (Refer
to the Operation Manual,).
Control
Character

Description

Standard
DSW2-7
OFF

NonStandard
DSW2-7 ON

STX

02 Hex

7B Hex = {

Start of Data

ETX

03 Hex

7D Hex = }

End of Data

ESC

1B Hex

5E Hex = ^

Command Code to follow

NULL

7E Hex

7E Hex = ~

Cutter Command

ENQ

05 Hex

40 Hex = @

Get printer status, Bi-Com
mode

CAN

18 Hex

21 Hex = !

Cancel print job, Bi-Com
mode

1.4 Using Basic
It may be useful to test your printer using a BASIC program on a PC. You
may also write your actual production programs in BASIC. Whatever the
reason, if you will be working in BASIC, some of the following hints may
help you get started:
1. Set the WIDTH of the output device to 255 characters to avoid automatically sending  and  characters after every line. The
command string should be continuous and uninterrupted by 
and/or  commands. The examples given in this manual are printed on separate lines because they will not fit on one line and do not
contain any  and/or  characters. If these characters are
needed, they are explicitly noted by the inclusion of  and 
notations.
2. If you are using the printer’s RS232 interface, it is necessary to set the
COM port on the PC such that the CTS and DSR signals will be ignored. Send your OPEN “COM” statement in the following way: OPEN
“COM1:9600,E,8,1,CS,DS” AS #1
3. This sets the RS232 communication parameters of the host PC’s
COM1 port for 9600 baud, Even parity, 8 Data bits, 1 Stop bit and directing the port to ignore the CTS and DSR control signals.

SATO RISC Printers

9

1. Introduction

Programming Manual

4. You may want to minimize keystrokes and program size by assigning
the  character to a string variable since this character is used
quite often.
The following two examples in BASIC show a typical example using these
hints. Both of these examples use the Standard Protocol codes.

1.5 Printing with the Parallel Port
10

E$=CHR$(27)

20

WIDTH “LPT1:”,255

30

LPRINT E$;"A";

40

LPRINT E$;"H400";E$;"V100";E$;"XL1SATO";

50

LPRINT E$;"Q1";

60

LPRINT E$; “Z”;

10

Sets the “E$” string as an
 character
Sets the width of the output to
255 characters
Sends an “A” command
code to the LPT1 parallel port
Sends the data “SATO” to be to
be placed 400 dots horizontally
and 100 dots vertically on the
label and printed in the “XL”
font.
Instructs the printer to print one
label.
Tells the printer that the last
command has been sent. The
printer can now create and print
the job.

SATO RISC Printers

Programming Manual

1. Introduction

1.6 Printing with the RS232 Port
10
20

30

50

60

50
60

70

E$=CHR$(27)

Sets the “E$” string as an
 character.
OPEN “COM1:9600,N,8,1,CS,DS” AS #1;
Opens the COM1 port for output and sets the parameters as
9600 baud, No parity, 8 Data
bits, 1 Stop bit and instructs the
port to ignore the CTS and DSR
control signals.
PRINT #1,CHR$ (2);
Sends an  (ASCII Code
a decimal “2”) to the printer
instructing it to prepare to
receive a message.
PRINT #1,E$;"A";
Sends an “A” command
code to Print Port #1 opened by
statement 20 above.
PRINT #1, E$;"H400",E$;"V100";E$;"XL1SATO"; Sends the data “SATO” to be
placed 400 dots horizontally
and 100 dots vertically on the
label and printed in the “XL”
autosmoothed font.
PRINT #1, E$;"Q1";
Instructs the printer to print a
quantity of one label.
PRINT #1, E$; “Z”;
Tells the printer that the last
command has been sent. The
printer can now create and print
the job.
PRINT #1,CHR$ (3);
Sends an  (ASCII Code
decimal “3”) to the printer telling
it that this is the end of the message.

SATO RISC Printers

11

1. Introduction

Programming Manual

1.7 The Print Area
The maximum print area for the various RISC printers are listed in the
table on the next pages. Most of your label applications will not require
tags/labels that fill the entire print area, therefore it is important to understand how to work with labels that do not use the entire print area. The
goal is to help you avoid printing where no label exists, which may lead to
print head damage, not to mention frustration when you cannot see the
printed output..

Label feed direction

Label
50 x 75mm

Max print width
Max print length

Max print width

Label
50 x 75mm

Base reference point

OEM right-hand and
desktop printer

OEM left-hand
printer

The diagram above illustrates the maximum print area and a sample
50mm wide by 75mm long label placed within this area. As can be seen,
your label will be oriented against the inside left edge of the printer as
viewed from the front of the printer. The base reference point is located at
the H1, V1 position of the print area in the normal print orientation (no rotation)

12

SATO RISC Printers

Programming Manual

1. Introduction

Print Area for CL Printers.
CL 408

CL 412

CL 608 (VA)

CL 612 (VA)

Resolution

203 dpi
8 dot/mm

305 dpi
12 dot/mm

203 dpi
8 dot/mm

305 dpi
12 dot/mm

Max print
width

832 dots
4.1 in.
104 mm

1248 dots
4.1 in.
104 mm

1216 dots
6.0 in.
152 mm

1984 dots
6.5 in.
165 mm

Max label
width

5.0 in.
128 mm

5.0 in.
128 mm

7.0 in.
178 mm

7.0 in.
178 mm

Standard
print length

1424 dots
7.0 in.
178 mm

2136 dots
7.0 in.
178 mm

1424 dots
7.0 in.
178 mm

2136 dots
7.0 in.
178 mm

Expanded
print length
using
AX

2848 dots
14.0 in.
356 mm

4272 dots
14.0 in.
356 mm

2848 dots
14.0 in.
356 mm

4272 dots
14.0 in.
356 mm

Expanded print length with memory card1
128 Kb

1257 dots
6.2 in.
157 mm

838 dots
2.7 in.
69 mm

860 dots
4.2 in.
107 mm

528 dots
1.7 in.
44 mm

512 Kb

5038 dots
24.8 in.
629 mm

3359 dots
10.9 in.
278 mm

3447 dots
16.9 in.
430 mm

2113 dots
6.9 in.
176 mm

1 Mb

9999 dots2
49.2 in.
1249 mm

6720 dos
22.0 in.
560 mm

6896 dots
33.9 in.
862 mm

4227 dots
13.6 in.
352 mm

2 Mb

9999 dots2
49.2 in.
1249 mm

9999 dots2
32.8 in.
833 mm

9999 dots2
49.2 in.
1249 mm

8455 dots
27.7 in.
704 mm

1.) When a memory card is used to expand the print length, the card capacity is
used instead, not in addition to, the internal memory.
2.) Limited by the digits in the command field.

SATO RISC Printers

13

1. Introduction

Programming Manual

Print Area for S-Type Printers
M8485S

M4890S

M8460S

M8459S

Resolution

203 dpi
8 dot/mm

305 dpi
12 dot/mm

203 dpi
8 dot/mm

203 dpi
8 dot/mm

Max print
width

1024 dots
5.0 in.
128 mm

1344 dots
4.4 in.
112 mm

1216 dots
6.0 in.
152 mm

896 dots
4.4 in.
112 mm

Max label
width

5.2 in.
134 mm

5.2 in.
134 mm

6.4 in.
165 mm

5.2 in.
134 mm

Standard
print length

1424 dots
7.0 in.
178 mm

2136 dots
7.0 in.
178 mm

1424 dots
7.0 in.
178 mm

1424 dots
7.0 in.
178 mm

Expanded
print length
using
AX

2848 dots
14.0 in.
356 mm

4272 dots
14.0 in.
356 mm

2848 dots
14.0 in.
356 mm

2848 dots
14.0 in.
356 mm

Expanded print length with memory card1
128 Kb

1022 dots
5.0 in.
127 mm

778 dots
2.5 in.
64 mm

860 dots
4.2 in.
107 mm

1186 dots
5.7 in.
146 mm

512 Kb

4094 dots
20.1 in.
511 mm

3119 dots
10.1 in.
259 mm

3447 dots
16.9 in.
430 mm

4678 dots
23.0 in.
584 mm

1 Mb

8190 dots2
40.3 in.
1023 mm

6240 dos
20.4 in.
520 mm

6896 dots
33.9 in.
862 mm

9360 dots
46.0 in.
1170 mm

2 Mb

9999 dots2
49.2 in.
1249 mm

9999 dots2
32.8 in.
833 mm

9999 dots2
49.2 in.
1249 mm

9999 dots2
49.2 in.
1249 mm

1.) When a memory card is used to expand the print length, the card capacity is
used instead, not in addition to, the internal memory.
2.) Limited by the digits in the command field.

14

SATO RISC Printers

Programming Manual

1. Introduction

Print Area for XL and RV printers
XL 400

XL410

M8400RV

Resolution

203 dpi
8 dot/mm

305 dpi
12 dot/mm

203 dpi
8 dot/mm

Max print
width

800 dots
3.9 in.
100 mm

1200 dots
3.9 in.
100 mm

832 dots
4.1 in.
104 mm

Max label
width

4.0 in.
102 mm

4.0 in.
102 mm

5.0 in.
128 mm

Standard
print length

1920 dots
9.4 in.
240 mm

1920 dots
9.4 in.
240 mm

1424 dots
7.0 in.
178 mm

Expanded
print length
using
AX

2848 dots
14.0 in.
356 mm

Expanded print length with memory card1
128 Kb

1168 dots
6.2 in.
146 mm

743 dots
6.2 in.
62 mm

1257 dots
6.2 in.
157 mm

512 Kb

4768 dots
24.8 in.
596 mm

2977 dots
24.8 in.
248 mm

5038 dots
24.8 in.
629 mm

1 Mb

9360 dots2
49.2 in.
1170 mm

5956 dos
49.2 in.
496 mm

9999 dots2
49.2 in.
1249 mm

2 Mb

9999 dots2
49.2 in.
1249 mm

9999 dots2
32.8 in.
833 mm

9999 dots2
49.2 in.
1249 mm

1.) When a memory card is used to expand the print length, the card capacity is
used instead, not in addition to, the internal memory.
2.) Limited by the digits in the command field.

SATO RISC Printers

15

1. Introduction

Programming Manual

There are two methods available to make sure your printed output will
appear correctly on your label. They are as follows:

1.8 First Method: Using Base Reference Point
Send the Base Reference Point command as part of your data to the
printer to set a new base reference point for your label. Calculate the distance (in dots) from the normal base reference point to the closest edge
of the label. Issue the Base Reference Point command A3 after
the Start command in your data stream.
Input:
A
A3HnnnnV0001. . . . . .
nnnn:
New horizontal Base Reference Point
Formula nnnn = (Max print width [mm] - Label width [mm]) x Print head
density [dots/mm]
Example CL612 printer with 50mm wide label
Max. print width: 165mm
Print head density:12 dots/mm
nnnn = (165mm - 50mm) x 12 dots/mm
nnnn= 1380 dots
For the above escape sequence this results in
A3H1380V0001

Note:
1. This operation resets the reference point for all the following
data in the non-volatile RAM
2. The A3 Base Reference Point command can also shift the
reference point in the negative direction, towards the outside
edge of the label.
3. This calculation is not necessary for OEM left-hand printers.

1.9 Second Method: Using Horizontal Offset Position
Use the normal base reference point from the print area and use the horizontal position for each field to properly locate it on the label. Calculate
the distance (in dots) from the normal base reference point to the closest
edge of the label.
Each H command would have the value “nnnn" (see above example) added to it to correctly position each field.
>ESC>H position + nnnn
For CL612: H position +1380

Note:

16

This calculation is not necessary for OEM left-hand
printers.
SATO RISC Printers

Programming Manual

1. Introduction

On the following 2 pages, the methods above are described with a sample
tag/label output. These samples reflect how the printed information would
appear on a 128mm wide label. If you want to test any of the sample tag/
label outputs and are using tags/labels less than 128mm in width, we suggest that you add the Base Reference Point command to the data stream
in order for the images to print on your tags/labels.

Warning You must be careful not to print off the tag/label surface as the tag/label provides a heat sink for the print
head elements. Doing so will cause irreparable damage to the head. This damage is not covered under
the print head warranty. The addition of the base reference point command to the sample data stream
may help to adjust the print for your tags/labels. See
the following two examples or refer to the base reference point command description.
For example, the following illustrates a sample data stream for a CL612
printer and the resulting label assuming a 70mm wide label:
CL612

CL612

Label

Label

100mm

70mm

If you are using a 70mm wide tag/label, the entire image may not appear
on your tag/label. By adding the following Base Reference Point command to the second line of the data stream, the base reference point will
be changed, causing the image to be shifted over toward the inside of the
printer where it can be printed on the narrower label.

SATO RISC Printers

17

1. Introduction

Programming Manual

Example for first Method, using base reference point
Calculation: nnnn = (165mm - 70mm) x 12 dot/mm = 1140
A
A3H1140V0001
H0070V0100L0202XL0SATO
H0050V0200B103100*SATO*
H0170V0310L0101XSSATO
Z

70mm

18

Label feed direction

Example for second Method, horizontal position offset
A
H1210V0100L0202XL0SATO
H1190V0200B103100*SATO*
H1310V0310L0101XSSATO
Z

SATO RISC Printers

95mm

1. Introduction

70mm

Label feed direction

Programming Manual

165mm
The image is moved horizontally to the right 95mm (1140 dots) so that it
can be printed on a 70mm wide label.
For more information, see the Base Reference Point command description.

SATO RISC Printers

19

1. Introduction

Programming Manual

This page is intentionally left blank.

20

SATO RISC Printers

Programming Manual

2.

2. Command Codes

Command Codes
This section contains all the RISC printer Command Codes. The commands must be sent to the printer in an organized fashion in order for the
label(s) to print.
The objective of this chapter is to explain the different commands and provide examples of their usage, as well as to provide a detailed reference
for programming the printers.
Each command begins on a separate page with its own heading. A uniform layout is used to help you find key information about each command.
For each Command Code in this section, there will be a sample data input
stream to the printer and the expected print output. By studying the examples, you can learn how to use the particular command within a whole
block of printer code. Pay particular attention to the “Special Note” with
each command to learn other important information.
The subject commands are highlighted in bold letters in the Reference
Sheets. There are two parts of most, but not all, commands. The first is
the command character which immediately follows the  code. It is
always an upper case alpha or a special character (such as an “&” or a
“%”). It is never a lower case alpha character. If the command requires
additional variable information, it is represented by a group of lower case
alpha characters immediately following the command character. For
example, if an aaaabb is listed following the basic command, the printer
will look for six characters immediately following the command. The first
four would represent the value of aaaa and the next two the value of bb.
The maximum number of characters defined in a parameter is represented by the number of characters shown in the command structure. For
example, a command followed by an aaaa can have up to four characters.
In general, commands with only one parameter following the command
can be entered without the leading zeroes. However, certain commands
require the exact number of matching characters. A command with two
parameters listed following the command code without a comma delimiter,
such as aaaabbbb require the exact number of digits to be entered. If the
value of aaaa is “800” and the value of bbbb is “300”, then the parameters
must be entered as “08000300”. It is recommended that you make it a
practice to always enter leading zeros to prevent any mistakes.
Note:
These examples assume the use of the Standard Protocol
Command Codes and a parallel interface. The labels for all
printers will be similar, but, because of different resolutions and print widths may be larger or scaled differently.

SATO RISC Printers

21

2. Command Codes

Programming Manual

Bar Codes
Command Structure:
1:3 narrow/wide bar ratio Babbcccd
2:5 narrow/wide ratio BDabbcccd
1:2 narrow/wide bar ratio Dabbcccd
a:
Bar Code Symbol
0: Codabar
1: Code 39
2: Interleaved 2 of 5 (I 2/5)
3: UPC-A / EAN-13
4: EAN-8
5: Industrial 2 of 5
6: Matrix 2 of 5
7: reserved
8: reserved
9: reserved
A: MSI
B: reserved
C: Code 93
D: reserved
E: UPC-E
F: Bookland
G: Code 128
I: UCC 128
bb:
Number of dots (01-12) for narrow bar and narrow space
ccc:
Bar height in dots (001-600)
d:
UCC 128 only. Not used for other bar code types
0 No human readable text
1 Human readable at top
2 Human readable at bottom
Example:
BD103200
Placement:
Immediately preceding data to be encoded
Default:
None

22

SATO RISC Printers

Programming Manual

2. Command Codes

Function:
To print bar code images on a label. With this command, there are 13
standard bar code symbologies available to be printed and three two
dimensional symbols. Each of the bar codes are unique, and it is important to know the differences.
Input:
A
H0050V0025B103100*CODE 39*
H0230V0130XS*CODE 39*
H0050V0175BD20310045676567
H0215V0285XM45676567
H050V0325BD30215001234567890
H050V0525BD50310012345
H0250V0635XS12345
H050V0675BD60310012345
H0230V0785XS12345
H050V0825BA03100123455
H0170V935XS12345
H050V980BC03100081234ABCD
H0155V1095XS1234ABCD
H050V1130B002100A12345B
H090V1240XS12345
H0530V0025BD303100123456789012
H0590V0525BD4031001234567
H0575V175DE03100123456
H0550V0225OB0
H0583V0280OB123456
H0325V0325D30315009827721123
L0101H0295V0400OB0
H0340V0478OB98277
H0480V0478OB21123
H630V0365BF0313021826
H645V0335OB21826
H0450V0675D30315000633895260
L0101H0415V0750OB0
H0465V0828OB06338

SATO RISC Printers

23

2. Command Codes

Programming Manual

H0605V0828OB95260
H0755V0705BF0314024
H0770V0675OB24
H0450V0980BG03100>GAB>B789>C123456
H0560V1085XS AB789123456
Q1Z

Note:

Carriage Returns and Line Feeds have been added to the
command listing for clarity and should not be included in
the actual data stream

Output:

24

SATO RISC Printers

Programming Manual

2. Command Codes

UCC-128 without Incrementing
Input:
A
H0100V0100BI07150101234567000000001
Q2Z
Output:

UCC-128 with Incrementing
Input:
A
H0100V0100F001+001BI0715010123456
7000000001
Q2Z
Output:

SATO RISC Printers

25

2. Command Codes

Programming Manual

Note:
1. UPC and EAN bar codes are not affected by the different types of
narrow to wide ratios. Instead, the D command adds
descender bars to these codes where needed to meet UPC specifications. The BD command puts decender bars and
human readable text below the symbol.
2. The Code 128, UCC 128, MSI, and Code 93 bar codes are not
affected by the narrow to wide ratios.
3. The Codabar, Code 39, Industrial 2 of 5, and Matrix 2 of 5 bar
codes are affected by the Character Pitch command. This command must be placed before the Bar Code command.
4. Because of their unique characteristics, two-dimensional symbols are covered separately.
5. For UCC128, the FNC1 code is automatically inserted and the
Mod 10 and Mod 103 check digits are automatically calculated.
6. For the MSI bar code, the check digit is not automatically calculated.

26

SATO RISC Printers

Programming Manual

2. Command Codes

Bar Codes, Expansion
Command Structure:
BWaabbb
aa:
Expansion factor by which the width of all bars and spaces will be increased (01-12)
bbb:
Bar height by dot (004-600 dots)
Example:
BW02100
Placement:
Immediately follows the BT command and precedes data to be encoded.
Default:
None
Function:
This command works together with the BT command to specify
an expansion factor and the bar code height for the particular symbol
being printed.
Input:
A
H0050V0200BD103100*M8400RV*
H0050V0050BT001030103BW03100123456
Q1Z

Output:

Note:
1. This command must be preceded by the Variable Ratio Bar Codes
BT command.
2. The following bar codes will be affected by the Character Pitch
command: Codabar, Code 39, Interleaved 2 of 5, Matrix 2 of 5.

SATO RISC Printers

27

2. Command Codes

Programming Manual

Bar Codes, Variable Ratio
Command Structure
BTabbccddee
a:
Bar Code Symbol
0: Codabar
1: Code 39
2: Interleaved 2 of 5
5: Industrial 2 of 5
6: Matrix 2 of 5
bb:
Narrow space in dots (01-99)
cc:
Wide space in dots (01-99)
dd:
Narrow bar in dots (01-99)
ee:
Wide bar in dots (01-99)
Example:
BT101030103
Placement:
Following print position commands and preceding
BW
Default:
Current setting
Function:
To print a bar code with a ratio other than those specified through the
standard bar code commands (B,BD, and D). This is done through individual control of each of the bar code elements (bars, spaces) as
shown above. Remember that this command only applies to the five
bar code types shown.
Input:
A
H0050V0200BD104100*M8400RV*
H0050V0050BT001030103BW03100123456
Q1Z

Output:

28

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. This command must be immediately followed by the BW
Bar Code Expansion command.
2. You may use only one variable ratio bar code per label.
3. If the data specified in this command is incorrect, the command
is ignored and the ratio used will be based on the previous setting.

SATO RISC Printers

29

2. Command Codes

Programming Manual

Base Reference Point
Command Structure:
A3H-aaaaVbbbb
-:
This character is optional. When present, it specifies
that the horizontal offset is in the negative direction. If
it is left out the offset direction is positive.
aaaa:
Horizontal Print Offset (see Note 5 for field range)
bbbb:
Vertical Print Offset (see Note 5 for field range)
Example:
A3H100V0050
Placement:
Preceding all images that are based on the new base
reference point
Default:
Current V and H offset setting in the printer configuration
Function:
To establish a new base reference point for the current label. The base
reference point is the top left corner or “origin” from where all print position commands are based.
This command may be very helpful when using labels less than four
inches wide to place images on the printable label surface. It may also
be used to move images past preprinted fields on a label.
Input:
AL0202
H0100V0025XMNORMAL REFERENCE POINT
A3H0300V0075
H0100V0050XMNEW REFERENCE POINT
Q1Z
Output:

30

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. Use of this command will set the Vertical/Horizontal Offset setting
of the printer configuration until a new Base Reference Point
command is issued or the setting is changed from the operator
panel.
2. This command may be used more than once in a print job.
3. An alternative to using this command is to make changes to your
current Horizontal and Vertical Print Position commands.
Example:
Let’s say the current base reference point is H=1, V=1 and you
wish to move all the fields on your label downward vertically by
150 dots. You could either (1) add the Base Reference Point command or (2) change all the vertical position commands by an
additional 150 dots.
4. For a more detailed example of the Base Reference Point command, see “Print Area” in this section.
5. The allowable field ranges for this command are:
CL 408
Horizontal
aaaa
Vertical
bbbb

CL 608 (VA)

CL 612 (VA)

-0832 to 0832 -1248 to 1248 -1216 to 1216 -1984 to 1984
0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

M8485S
Horizontal
aaaa
Vertical
bbbb

CL 412

M8490S

M8460S

M8459S

-1248 to 1248 -1344 to 1344 -1216 to 1216 -0896 to 0896
0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

XL 400
Horizontal
aaaa
Vertical
bbbb

SATO RISC Printers

XL 410

M8400RV

-0800 to 0800 -1200 to 1200 -0832 to 0832
0001 to 1920 0001 to 1920 0001 to 1920

31

2. Command Codes

Programming Manual

Characters, Custom-Designed
Command Structure:
Store Command Tabcc
Recall command Kab90cc
a:
Matrix size
1: 16x16 matrix
2: 24x24 matrix
b:
Specifies the character encoding method for the data
stream
H: Hexadecimal characters
B: Binary characters
cc:
Memory location to store/recall the character. Valid
memory locations are 21 to 52 (counting in Hex) or “!”
to “R” in Binary
{data}
Data to describe the character
Example:
T1H3F
K1H903F
Placement:
The Store command is typically sent in its own data stream to the printer, between the Start/Stop commands.
The Recall command is sent in a secondary data stream to print the character,and follows any necessary
position or size commands.
Default:
None
Function:
To allow for the creation, storage, and printing of custom characters,
such as special fonts or logos. Up to 50 individual characters may be
stored in the custom character volatile memory.

32

SATO RISC Printers

Programming Manual

2. Command Codes

Input:
T1H3F
0100038007C00FE01FF03FF87FFCFFFE07C007C007C007C007C00
7C007C007C0
Z
A
H150V100L0505K1H903F
W2434SH
Output:

Note:
1. When printing the custom character using the Recall command,
the character is affected by the following commands:
2. Character Expansion
3. Character Pitch
4. Line Feed
5. Rotate, Fixed Base Reference Point
6. Rotate, Moving Base Reference Point
7. The characters are stored in volatile memory and must be
reloaded if the printer power is lost.
8. Do not use ASCII  or  characters (carriage return or line
feed) as line delimiters within the graphic data or the actual image
will not be printed as specified.

SATO RISC Printers

33

2. Command Codes

Programming Manual

Character Expansion
Command Structure:
Laabb
aa:
bb:
Example:
Placement:
Default:

Multiple to expand horizontally (01-12)
Multiple to expand vertically (01-12)
L0305
Preceding the data to be expanded
L0101

Function:
To expand characters independently in both the horizontal and vertical
directions. The command allows you to enlarge the base size of each
font (except the vector font) up to 12 times in either direction. Expanded characters are typically used for added emphasis or for long distance readability.
Input:
A
AH0100V0100XMM-8400RV
H0100V0200L0402XMM-8400RV
H0100 V0300L0204XMM-8400RV
Q1Z
Output:

34

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. This command will expand the following fonts: Fonts U, S, M, XU,
XS, XM, OA & OB and fonts WB, WL, XB and XL.
2. This command will also affect the following commands:
Character Pitch
Characters, Custom-Designed
3. The Character Expansion value is in effect for the current print
job until a new expansion command is specified.
4. The Line and Box command, if used within the data stream, may
return all subsequentext to the default expansion of 1x1. Therefore, either send the Character Expansion command before all
printed data, or send Line and Box commands last, preceding the
Q Quantity command.

SATO RISC Printers

35

2. Command Codes

Programming Manual

Character, Fixed Spacing
Command Structure:
PR
Example:
Placement:
Default:

See Above
Preceding the data
The default is Proportional Spacing.

Function:
To reset proportional spacing and place the printer to fixed spacing.
Input:
A
H0025V0050PS
L0202XMPROPORTIONAL SPACING
H0025V0130PR
L0202XMFIXED SPACING
Q1Z
Output:

Note:
1. This command only works with the proportionally spaced fonts
XU, XM, XS, XL and XB.
2. Once this command is sent in the data stream, it is in effect until
the end of the print job or a reset command is sent.

36

SATO RISC Printers

Programming Manual

2. Command Codes

Character Pitch
Command Structure:
Paa
aa:
Example:
Placement:
Default:

Number of dots between characters (00-99)
P03
Preceding the text to be printed
P02

Funktion:
To designate the amount of spacing (in dots) between characters.
This command provides a means of altering character spacing for label constraints or to enhance readability.
Input:
A
H0025V0025L0202XB1M-8400RV
H0025V0125L0 202P20XB1M8400RV
H0025V0225L0202P40XB1M8400RV
Q1Z
Output:

SATO RISC Printers

37

2. Command Codes

Programming Manual

Note:
1. This command is affected by the L Character Expansion
command . The character pitch is actually the product of the current horizontal expansion multiple and the designated pitch
value.
Example:
L0304
P03
Pitch = (03) x (03) = 9 dots
2. To avoid confusion, you may want to include the L Character Expansion command and this command together in your program.
3. This command affects fonts U, S, M, XU, XS, XM, OA & OB , fonts
WB, WL, XB and XL, and the vector font.
4. Character Pitch will always revert to the default value unless it is
specified before each new font command in the data stream.
5. This command also affects Codabar, Code 39 and Industrial 2 of
5 bar codes.

38

SATO RISC Printers

Programming Manual

2. Command Codes

Character, Proportional Spacing
Command Structure:
Reset to proportional spacing PS (default)
Set to fixed spacing
PR
Example:
See above
Placement:
Preceding the data to be proportional spaced
Default:
PS
Function:
To specify the printing of proportional or fixed spacing for proportionally spaced fonts.
Input:
A
H0025V0050PS
L0202XMPROPORTIONAL SPACING
H0025V0130PR
L0202XMFIXED SPACING
Q1Z
Output:

SATO RISC Printers

39

2. Command Codes

Programming Manual

Clear Print Job(s) & Memory
Command Structure:
*a
a:

Example:
Placement:
Default:

specifies which part of the memory has to be cleared.
If the “a” parameter is not included with this command
and the printer is in the multi-buffer mode, this command clears all print jobs in the printer memory, including the current print job.
If “a” is included with this command, it specifies the internal memory section to be cleared
T To clear the custom character memory
& To clear the form overlay memory
X To clear all internal memory
*
*X
This command should be sent to the printer as an independent data stream.
None

Function:
To clear individual memory or buffer areas of the printer.
Input:
A
*
Z
Output:
There is no printer output as a result of this command. The current
print job in the buffer will be terminated and all other print jobs in the
buffer cleared.
Note:
1. See memory card functions for command variations used to clear
data from the memory card.
2. It is not necessary to clear the printer’s memory between each
print job.
3. The primary purpose of this command is to clear all print jobs in
the multi-buffer mode. The “a” parameter can be used in either
the multi-buffer or single job mode to clear specific parts of the
memory.
4. When the “a” parameter is used, the section of memory specified
will not be cleared until the label is printed.

40

SATO RISC Printers

Programming Manual

2. Command Codes

Continuous Forms Printing
No Command Structure
The printer locates the end of an adhesive label by sensing the
backing between labels or through the use of an eye-mark (black rectangle on the reverse side of the backing). It locates the end of a tag
from a notch, eye-mark, or a hole between tags. Both sensors should
be disabled when printing continuous forms by placing the Label Sensor Selection switch (DSW3-3) in the ON position. See Operation Manual: Printer Configuration for instructions on configuring the printer
using the front panel DIP switch array.
If you will be using continuous labels or tags, the printer must be told
to stop feeding in another manner. The length is determined by the position of the last printed image on the label or tag. The printer will stop
feeding when this last field is finished printing. The length may be
increased with printed spaces (20 hexadecimal) if necessary. There is
no command code to control label length.

SATO RISC Printers

41

2. Command Codes

Programming Manual

Copy Image Area
Command Structure:
WDHaaaaVbbbbXccccYdddd
aaaa:
Horizontal position of the top left corner of the area to
be copied
bbbb:
Vertical position of the top left corner of the area to be
copied
cccc:
Horizontal length of the image area to be copied
dddd:
Vertical length of the image area to be copied
Example:
WDH0100V0050X0600Y0400
Placement:
Anywhere within the data stream, after specifying the
location of the duplicate image.
Default:
None
Function:
To copy an image from one location to another on the same label. This
may be useful for duplicating individual fields or entire sections of the
label with only one command.
Input:
A
H0050V0050E010XM
M-8400RVM-8400RVM-8400RV
M-8400RVM-8400RVM-8400RV
M-8400RVM-8400RVM-8400RV
M-8400RVM-8400RVM-8400RV
H0180V0250WDH0165V0050X0400Y0200
Q1Z
Output:

42

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. Use the Print Position commands (V and H) to locate the new area
for the duplicate image.
2. Position of the new target area must not be inside the original
image.
3. If you use the Rotate command, V, H, X and Y axis will be reversed.
4. If the reference area of the target image exceeds the print area, it
will not be printed.
5. The allowable field ranges for this command are:
Horizontal
aaaa
Vertical
bbbb

Horizontal
aaaa
Vertical
bbbb

CL 408

CL 412

CL 608 (VA)

CL 612 (VA)

0 to 0832

0 to 1248

0 to 1216

0 to 1984

0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

M8485S

M8490S

M8460S

M8459S

0 to 1248

0 to 1344

0 to 1216

0 to 0896

0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

Horizontal
aaaa
Vertical
bbbb

SATO RISC Printers

XL 400

XL 410

M8400RV

0 to 0800

0 to 1200

0 to 0832

0001 to 1920 0001 to 1920 0001 to 1920

43

2. Command Codes

Programming Manual

Cutter Command
Command Structure:
aaaa
aa:
Number of labels to print between each cut (01-9999)
Example:
0002
Placement:
Following the Print Quantity command Q
Default:
0001 (if cutter enabled)
Function:
To control the cutting of labels when using a SATO cutter unit with the
printer printer. This command allows the cutting of a multi-part tag or
label at a specified interval within a print job.
Input:
A
H0020V0020WB1TEST LABELQ3
0002
Z
Output:
This set of commands will print 6 labels (3 x 2) with two labels between
each cut.
Note:
1. You must have the optional printer Cutter to use this function.
Contact your SATO representative for more information.
2. To use this command, the printer configuration must have the
cutter option enabled.
3. If the cutter option has been enabled in the printer configuration
and the cut value (aa = 00), the cutter is inactive.
The  represents the ASCII 00 Hex character.
4. When using the Cutter command, the total number of labels
printed is the product of the cut value and the print quantity. For
example, if the cut value is 2, and the print quantity is 20, then 20
sets of two labels will be printed.

44

SATO RISC Printers

Programming Manual

2. Command Codes

Fonts U, S, M, OA, OB, XU, XS & XM
Command Structure:
Font XU
Font U
Font XS
Font S
Font XM
Font M
Font OA
Font OB
Example:
Placement:
Default:

XU
U
XS
S
XM
M
OA
OB
See above
Preceding the data to be printed
None

Function:
To print text images on a label. These are eight of the built-in fonts
available on the printer. All matrices include descenders.
Dot Matrix for Non-Proportional Fonts
U
5W x 9H dot matrix
S
8W x 15H dot matrix
M
13W x 20H dot matrix
OA
15W x 22H dot matrix
OB
20W x 24H dot matrix
Dot Matrix for Proportional Fonts
XU
5W x 9H dot matrix
XS
17W x 17H dot matrix
XM
24W x 24H dot matrix

SATO RISC Printers

45

2. Command Codes

Programming Manual

Input:
APS
H0001V0100L0202XUM-8400RV
H0001V0175L0202XSM-8400RV
H0001V0250L0202XMM-8400RV
H0001V0325L0101OAM-8400RV
H 0001V0400L0101OBM-8400RV
H0300V0100L0202UM-8400RV
H0300V0175L0202SM-8400RV
H0300V0250L02 02MM-8400RV
Q1Z
Output:

Note:
1. Characters may be enlarged through the use of the Character
Expansion command.
2. Character spacing may be altered through the use of the Character Pitch command. The default is 2 dots between characters. It
is recommended to use a spacing of 5 dots for OCR-A and 1 dot
for OCR-B.
3. You may also create custom characters or fonts. See the T
Custom-Designed Characters command.
4. A font must be defined for each field to be printed. There is no
default font.
5. Fonts U, S, M, OA and OB are identical to fonts U, S, M, OA and
OB on the SATO M-8400 printer.
6. The proportionally spaced fonts XU, XS, XM, XL and XA can be
printed with fixed spacing using the PS Proportional
Space command.
7. The matrices of the OA and OB fonts are scaled so that they will
remain a constant size according to the OCR-A and OCR-B specifications when printed on different resolution printers.
8 dot /mm
203 dpi 12 dot/mm
305 dpi
OA-Font
15 dots W x 22 dots H 22 dots W x 33 dots H
OB-Font
20 dots W x 24 dots H 30 dots W x 36 dots H

46

SATO RISC Printers

Programming Manual

2. Command Codes

Font, Vector
Command Structure:
Specify Vector Font $a,b,c,d
Data for Vector Font $=(data)
a:
Font spacing
A Helvetica Bold (proportional spacing)
B Helvetica Bold (fixed spacing)
b:
Font width (50-999)
c:
Font height (50-999 dots)
d:
Font variation (0-9) as follows:
0 Standard
1 Standard open (outlined)
2 Gray (mesh) pattern 1
3 Gray (mesh) pattern 2
4 Gray (mesh) pattern 3
5 Standard open, shadow 1
6 Standard open, shadow 2
7 Standard mirror image
8 Italic
9 Italic open, shadow
Example:
$A,100,200,0$=123456
Placement:
Immediately preceding data to be printed.
Default:
None
Function:
To specify printing of the unique SATO vector font. The vector font allows large characters to be printed with smooth, round edges. Each
character is made of a number of vectors (or lines), and will require
slightly more printer compiling time.
Input:
A
H0100V0100$A,100,100,0$=SATO
H0100V0200$=VECTOR FONT
$A,200,300,8H0100V0350$=M-8400RV
Q1Z

SATO RISC Printers

47

2. Command Codes

Programming Manual

Output:

Note:
1. If the font size designation is out of the specified range, a default
value of 50 is used.
2. The Pitch command can be used with Vector fonts.
3. The font width and height values include asenders, desenders
and other space.
ascenders

Äg

}

64 %

descenders

4. A font must be defined for each field to be printed. There is no
default font.

48

SATO RISC Printers

Programming Manual

2. Command Codes

Fonts WB, WL, XB & XL
Command Structure:
Font WB
Font XB
Font WL
Font XL
a:

Example:
Placement:
Default:

WBa
XBa
WLa
XLa
0 Disables auto-smoothing of font
1 Enables auto-smoothing of font (see Note
below)
WB1123456
Preceding the data to be printed
None

Function:
To print text images on a label. These are the four auto-smoothing
fonts available on the printer.
Dot Matrix for Non-Proportional Fonts
WB
18W x 30H dot matrix
WL
28W x 52H dot matrix
Dot Matrix for Proportional Fonts
XB
48W x 48H dot matrix
XL
48W x 48H dot matrix

SATO RISC Printers

49

2. Command Codes

Programming Manual

Input:
APS
H0001V0100WB0M-8400RV
H0001V0185WB1M-8400RV
H0001V0270WL0M-8400RV
H0001V0355WL1 M-8400RV
H0300V0100XB0M-8400RV
H0300V0185XB1M-8400RV
H0300V0270XL0M-8400RV
H0300V0355XL1M-8400RV
Q1Z
Output:

Note:
1. Auto-smoothing (when enabled) is only effective if the character
expansion rate is at least (3) times in each direction.
2. Characters may be enlarged through the use of the L Character Expansion command.
3. Character spacing may be altered through the use of the A
Character Pitch command.
4. A font must be defined for each field to be printed. There is no
default font.
5. The proportionally spaced fonts XU, XS, XM, XL and XB can be
printed with fixed spacing using the PR Proportional
Space command.

50

SATO RISC Printers

Programming Manual

2. Command Codes

Form Feed
Command Structure:
A(space)
Z
Example:
See above
Placement:
Separate data stream sent to printer
Default:
None
Function:
To feed a blank tag or label, which is the equivalent of a “form feed”
Input:
A(space)
Z
Output:
Blank label or tag

SATO RISC Printers

51

2. Command Codes

Programming Manual

Form Overlay, Recall
Command Structure:
/
Example:
Placement:
Default:

See above
Must be preceded by all other data and placed just before the Print Quantity command (Q)
None

Function:
To recall the label image from the form overlay memory for printing.
This command recalls a stored image from the overlay memory. Additional or different data can be printed with the recalled image.
Input:
A
H0001V0125
STHIS IS THE STORED IMAGE WITH A BARCODE
H0001V0165B103100*12345*
&Z
AH0001V0050
STHIS IS RECALLING AND ADDING TO THE STORED
IMAGE/
Q1Z
Output:

Note:

52

The overlay is stored using the & Form Overlay
Store command.

SATO RISC Printers

Programming Manual

2. Command Codes

Form Overlay, Store
Command Structure:
&
Example:
Placement:
Default:

See above
Must be preceded by all other data and placed just before the Stop command (Z)
None

Function:
To store a label image in the volatile form overlay memory. Only one
label image may be stored in this memory area at a time.
Input:
A
H0001V0125
STHIS IS THE STORED IMAGE WITH A BARCODE
H0001V0165B103100*12345*
&
Z
Output:
There is no output from this command. It stores the label image in the
overlay buffer.
Note:
1. Remember that this storage is volatile. Therefore, if the printer
loses power, the overlay must be sent again.
2. The overlay is recalled using the / Form Overlay Recall
command.
3. Form overlays do not have to be recompiled each time they are
called to be printed and therefore may result in much faster print
output.

SATO RISC Printers

53

2. Command Codes

Programming Manual

Graphics, Custom
Command Structure:
Gabbbccc(data)
a:
Specifies format of data stream to follow
B Binary format
H Hexadecimal format
bbb:
Number of horizontal 8 x 8 blocks (001-248)
ccc:
Number of vertical 8 x 8 blocks (001-267)
(data):
Hex data to describe the graphic image
Example:
GH006006
Placement:
May be placed anywhere within the data stream after
the necessary position commands.
Default:
None
Function:
To create and print custom graphics (logos, pictures, etc.) on a label.
The graphic image may be printed along with other printed data to enhance label appearance or eliminate the need for preprinted label
stock. Using a dot-addressable matrix, design the graphic image in 8
dot by 8 dot blocks, then send it in a binary format to the printer.
Input:
A
H100V100
GH006006
FFFFFFFFFFFF FFFFFFFFFFFF
C00000000003 C000FFFFFFF3
C00080000013 C0009FFFFF13
C00080000013 C0009FFFFF13
C00080000013 CO0O9FFFFFF3
C00000000003 C00000000003
C00000000003 C00000000003
C00007E00003 C0000FF00003
C0000FF00003 C0000FF00003
C00003C00003 C00000000003
C00000000003 C00000000003
C00003C00003 C00003C00003
C00003C00003 C00003C00003

54

C00000000003
C00080000013
C00080000013
C00080000013
C00000000003
C00000000003
C00003C00003
C0000FF00003
C00007E00003
C00000000003
C00001800003
C00003C00003
C00003C00003

SATO RISC Printers

Programming Manual

2. Command Codes

C00003C00003 C00003C00003 C00003C00003
C00003C00003 C00001800003 C00000000003
C00000000003 FFFFFFFFFFFF FFFFFFFFFFFF
H0300V0100XSPLEASE PLACE YOUR DISK
H0300V0150XSIN A SAFE PLACE
Q1Z
Output:

Note:
1. Do not use ASCII  or  characters (carriage return or line
feed) as line delimiters within the graphic data or the actual image
will not be printed as specified.
2. A custom graphic can be enlarged by the L Character
Expansion command.
3. Use an optional Memory Card to expand the print length.
4. To store graphic images in an optional memory card, see the
Memory Card Functions section.
5. The binary format reduces the transmission time by 50%.

SATO RISC Printers

55

2. Command Codes

Programming Manual

Graphics, PCX
Command Structure:
GPaaaaa,(data)
aaaaa:
Number of bytes to be downloaded
Example:
GP32000, ... data...
Placement:
Anywhere within the job data stream
Default:
None
Function:
To allow the creation and printing of graphic images using a PCX file
format.
Input:
A
V0150H0100GP03800,(...Data...)
Q1
Z
Output:

Note:
1. The maximum number of bytes that can be downloaded is 32K
(compressed). The number specified by this command includes
the PCX header information. The maximum size of the uncompressed PCX file is 64K. If the uncompressed file exceeds 64K,
the graphic will not print.
2. Only black and white PCX files can be downloaded.
3. The image created by this command cannot be rotated.
4. The file size specified by this command is the DOS file size in
bytes.

56

SATO RISC Printers

Programming Manual

2. Command Codes

Job ID Store
Command Structure:
IDaa
aa:
Example:
Placement:
Default:

Job ID assigned (01 to 99)
ID09
Immediately following the A in the job data
stream.
None

Function:
To add an identification number to a job. The status of the job can then
be determined using the ENQ command in the Bi-Com status mode
(See Interface Specifications for more information).
Input:
A
ID02
. . . Job . . .
Z
Output:
There is no printer output as a result of this command.
Note:
1. Works only in Bi-Com mode. The Job ID number must be stored
before Bi-Com status mode can be used.
2. If more than one ID number is sent in a single job, the last number
transmitted will be used, i.e.
A
ID01
. . . . . . . . . .
ID02
. . . . . . . . .

SATO RISC Printers

57

2. Command Codes

Programming Manual

Journal Print
Command Structure:
J
Example:
Placement:
Default:

See above
Immediately following A
None

Function:
To print text in a line by line format on a label. By specifying this command, you automatically select Font XS with a Character Expansion
of 2x2. You also establish a base reference point of H2,V2. The character pitch is 2 dots and the line gap is 16 dots. Simply issue an ASCII
 at the end of each text line.
Input:
A
J WITH THE JOURNAL FEATURE
YOU CAN PRINT TEXT WITHOUT
USING ANY FONT COMMANDS
OR POSITION COMMANDS
Q1Z
Output:

Note:
1. Journal mode assumes a maximum label width . Otherwise, you
may print where there is no label and damage your print head.
2. It is effective only for the current print job.

58

SATO RISC Printers

Programming Manual

2. Command Codes

Lines and Boxes
Command Structure:
Line: FWaabcccc
aa:
Width of horizontal line in dots (01-99)
b:
Line orientation
H Horizontal line
V Vertical Line
cccc:
Length of line in dots (see Note for max length)
Box: FWaabbVccccHdddd
aa:
Width of horizontal side in dots (01-99)
bb:
Width of vertical side in dots (01-99)
cccc:
Length of vertical side in dots (see Note 2 for max
length)
dddd:
Length of horizontal side in dots (see Note 2 for max
length)
Example:
FW02H0200
Placement:
Following the necessary positioning commands
Default:
None
Function:
To print horizontal lines, vertical lines, and boxes as images on the label.
Input:
A
H0100V0100FW20H0200
H0320V0100FW20V0200
H0350V0100FW1010H0200V0200
Q1Z
Output:

SATO RISC Printers

59

2. Command Codes

Programming Manual

Note:
1. It is recommended that all lines and boxes be specified in the normal print direction.
2. The maximum allowable lengths are as follows:
Horizontal
aaaa
Vertical
bbbb

Horizontal
aaaa
Vertical
bbbb

CL 408

CL 412

CL 608 (VA)

CL 612 (VA)

0 to 0832

0 to 1248

0 to 1216

0 to 1984

0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

M8485S

M8490S

M8460S

M8459S

0 to 1248

0 to 1344

0 to 1216

0 to 0896

0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

Horizontal
aaaa
Vertical
bbbb

60

XL 400

XL 410

M8400RV

0 to 0800

0 to 1200

0 to 0832

0001 to 1920 0001 to 1920 0001 to 1920

SATO RISC Printers

Programming Manual

2. Command Codes

Line Feed
Command Structure:
Eaaa
aaa:
Number of dots (001-999) between the bottom of the
characters on one line to the top of the characters on
the next line
Example:
E010
Placement:
Preceding the text that will use the line feed function
Default:
None
Function:
To print multiple lines of the same character size without specifying a
new print position for each line. With the Line Feed command, specify
the number of dots you want between each line. Then, send an ASCII
 at the end of each line of text. The printer automatically identifies the size of the last character, moves down the number of dots specified, and begins printing the next line.
Input:
A
E010H0050V0050L0202S
THIS IS THE 1ST LINE
THIS IS THE 2ND LINE
THIS IS THE 3RD LINE
Q1Z
Output:

SATO RISC Printers

61

2. Command Codes

Programming Manual

Note:
1. This command can be used for text as well as for bar codes.
2. It is effective only for the current data stream.
3. When printing lines or boxes in the same data stream with the
Line Feed command, the Lines and Boxes command should be
specified last, preceding Q Quantity command.
4. This command is invalid only if the value specified is zero.
5. The rotation command can be used with this command.
6. Following this command with a  character will allow you to
print with auto line feed. In this case, the print position will be
determined from the value specified in the command and the H
value set in the printer. However, if you specify several H values
after this command, the print position will be determined by the
H value last specified. You must redefine the font to be used after
each H command.

62

SATO RISC Printers

Programming Manual

2. Command Codes

Mirror Image
(From Firmware Version1E2050, 1E3002 for 6xxVA)

Command Structure:
RMaaaa, bbbb
aaaa:
Horizontal position of the top left corner of the image
area to be mirrored 0008 ~ 9999 dot.
bbbb:
Vertical position of the top left corner of the image area
to be mirrored 0008 ~ 9999 dot.
Example:
RM0150, 0050
Function/Placement:
This command allows you to print a data as mirrored, not only whole
or part of data.
If you specify the image area with horizontal  and vertical  position, both specified before  command are valid for start position.
A data with  command parameter over the printable area is not
mirrored as treated as a command error. Also, a print job with 
command without print date is treated as a command error.
 command can be used without command parameters for horizontal and vertical position. In this case, data placed before this command are mirrored.
This command can be used with <%> command, while do not use with
 command regardless of its effect.

Note:
1. This command can not be used with commands requiring re.editing print image, like sequential numbering, RTC, Copy image or
so. Also, it can not be used with commands for data storage, like
graphic, format, etc.
2. This command should not be used with bar codes to avoid the
scanning problem caused by refractive index through the glass
or the window.
3. Do not specify this command multiple times in a job.

SATO RISC Printers

63

2. Command Codes

Programming Manual

Input:
A
V100H100XM12345
V200H100XMABCDE
V300H100XMabcde
V100H100RM0200, 0080
Q1Z
Output:
H Max

V
M
a
x

64

Print Direction

SATO RISC Printers

Programming Manual

2. Command Codes

Input:
A
V100H100XM12345
V200H100XMABCDE
V300H100XMabcde
RM
Q1Z
Output:
H Max

V
M
a
x

SATO RISC Printers

Print Direction

65

2. Command Codes

Programming Manual

1. Normal Direction
Input:
A
V100H100XM12345
V300H100XMabcdefgh
RM
V200H100XMABCDEF
Q1Z
Output:
Base reference point w/o 

Base reference point w 

Mirror position as normal direction

66

SATO RISC Printers

Programming Manual

2. Command Codes

2. Mirror Image with Rotation
Mirror position is changed if  is specified with <%> command.
Input:
A
V100H100XM12345
V200H100XMABCDEF
V300H100XMabcdefgh
%1RM
Q1Z
Output:

Mirror Position

SATO RISC Printers

67

2. Command Codes

Programming Manual

3. Mirror Image with specifying area
Input:
A
V100H100XM12345
V100H100RM0150, 0050
V200H100XMABCDEF
V300H100XMabcdefgh
Q1Z
Output:

4. Specifying of a mirror command between print fields
Input:
A
V100H100XM12345
RM
V200H100XMABCDEF
V300H100XMabcdefgh
Q1Z

68

SATO RISC Printers

Programming Manual

2. Command Codes

Output:

5. In case of specifying mirror command after the last print field.
Input:
A
V100H100XM12345
V200H100XMABCDEF
V300H100XMabcdefgh
RM
Q1Z
Output:

SATO RISC Printers

69

2. Command Codes

Programming Manual

6. <%> specifying effects on  command only
In this case a base mirror position is only changed
Input:
A
V100H100XM12345
V200H100XMABCDEF
V300H100XMabcdefgh
%1RM
Q1Z
Output:

7. <%> specifying effects on  command and print fields
#1
Input:
A
%1
V800H100XM12345
V800H100XMABCDEF
V800H100XMabcdefgh
RM
Q1Z

70

SATO RISC Printers

Programming Manual

2. Command Codes

#2
Input:
A
%1
V800H100XM12345
V800H100XMABCDEF
V800H100XMabcdefgh
RM
Q1Z
Output:

Mirror position

SATO RISC Printers

71

2. Command Codes

Programming Manual

Off-Line/Pause
Command Structure:
@,nn...n
nn...n:
Optional message to be displayed on the LCD.
Maximum of 32 characters
Example:
See above
Placement:
Anywhere in the print job between A and
Z
Default:
None
Function:
To specify the printer to come to an off-line state. When used within a
print job, the printer goes off-line after finishing the print job.
Input:
A
@,Load Blue Labels and place printer On-Line
. . . Job . . .
Z
Output:
There is no printer output for this command. The printer is placed in
the Off-Line mode as soon as the current print job is finished.
Note:
1. You must press the LINE key on the front panel to return the
printer to an On-Line status.
2. Remember, when using this command, that if the print job specifies Q10, all ten labels will print before the printer will go
off-line.

72

SATO RISC Printers

Programming Manual

2. Command Codes

Postnet
Command Structure:
BPn...n
n...n:
5 digits (Postnet-32 format)
6 digits (Postnet-37 format)
9 digits (Postnet-52 format)
11 digits (Postnet-62, Delivery Point format)
Example:
BP123456789
Placement:
Immediately preceding the data to be encoded
Default:
None
Function:
To print Postnet bar codes
Input:
A
H0100V0120BP94089
H0100V0160BP123456
H0100V0200BP1 23456789
H0100V0240BP12345678901
 Q1Z
Output:

Note:
1. If the number of data digits does not match those listed, the command is ignored.
2. Only numeric data will be accepted.

SATO RISC Printers

73

2. Command Codes

Programming Manual

Print Darkness
Command Structure:
#Ea
a:
Example:
Placement:
Default:

Print darkness value
(see Note for allowable setting)
#E2
Must be placed immediately after A and immediately before Z in its own separate data stream
See Note

Function:
To specify a new print darkness setting. This command allows software control of the darkness setting for unique media and ribbon combinations.
Input:
A
#E2
Z
Output:
There is no printer output for this command.
Note:
1. This becomes the new setting in the printer configuration for all
subsequent print jobs, unless changed. The setting is stored in
non-volatile memory and is not affected by cycling power.
2. This command will overwrite the Display Setup.
3. The allowable Print Darkness settings are as follows:
M8459S, CL 408/CL 412 M8485S, M8490S, M8460S,
M8400RV
CL 608/612 (VA), XL400/410
Darkness
Settings

74

1, 2, 3, 4 or 5

1, 2 or 3

Default = 3
Minimum = 1
Maximum = 5

Default = 2
Minimum = 1
Maximum = 3

SATO RISC Printers

Programming Manual

2. Command Codes

Print Length, Expanded
Command Structure:
Normal length
AR
Expanded length AX
AX:
Sets the print length to 14" (356 mm)
AR:
Resets the maximum print length to 7" (178 mm)
Example:
See above
Placement:
Must follow the Start Code command and be in it’s own
separate data stream.
Default:
AR
Function:
To double the maximum print length (in feed direction) for a label.
Input:
A
AX
Z
A
H0050V0100WB1EXPAND TO:
H0050V2700WB114 INCHES
Q1Z
A
AR
Z
Note:
1. AX is effective until AR is sent to reset the printer to its standard
print length, or until the printer is repowered.
2. It may be included in an independent data stream to specify the
size of the maximum print area.

SATO RISC Printers

75

2. Command Codes

Programming Manual

Print Position
Command Structure:
Horizontal Position Haaa
Vertical Position
Vbbb
aaaa:
Number of dots horizontally from the base reference
point (1 to maximum)
bbbb:
Number of dots vertically from the base reference point
(1 to maximum)
Example:
H0020V0150
Placement:
Preceding any printed field description of lines/boxes,
fonts, bar codes or graphics.
Default:
H0001
V0001
Function:
The Horizontal and Vertical commands specify the top left corner of a
field or label, using the current base reference point as an origin. They
also establish a reference point for subsequent fields until the next horizontal and/or vertical print position command is issued.
Input:
A
H0025V0050L0303MM-8400RV
H0100V0150MM-8400RV
Q1Z
Output:

76

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. The print position of a field is affected by both the Rotate
(R and A3) commands.
2. For print lengths greater than 14 inches an optional Memory Card
must be used.
3. If any part of an image is placed past the maximum number of
dots for standard length and or the capacity of the memory card,
that part of the image will be lost.
4. If any part of an image is placed past maximum allowable dots
across the label, that part of the image will be lost.
5. If you attempt to print where there is no paper, you may damage
the print head.
6. For these commands, the leading zeroes do not have to be
entered. The command V1 is equivalent to V0001.

SATO RISC Printers

77

2. Command Codes

Programming Manual

Print Quantity
Command Structure:
Qaaaaaa
aaaaaa:
Total number of labels to print (1-999999)
Example:
Q500
Placement:
Just preceding Z, unless NUL exists,
then preceding that. This command must be present in
every print job.
Default:
None
Function:
To specify the total number of labels to print for a given print job.
Input:
A
H0100V0100WB1M-8400RV
Q3
Z
Output:
Three labels containing the data “M-8400RV” will be printed.
Note:
1. To pause during a print job, you must press the LINE key on the
Operator Panel.
2. To cancel a print job, you must turn off the printer, or you may
send the  code if using the Bi-Com mode. Multi-Buffer jobs
can be cleared with the * Clear Print Job(s) and Memory
command.
3. When used with the F Sequential Numbering command ,
the Print Quantity value should be equal to the total number of
labels to be printed.
4. If you do not specify a Print Quantity, the printer will not print a
label.
5. For this command, leading zeroes do not have to be entered. The
command Q1 is equivalent to Q000001.

78

SATO RISC Printers

Programming Manual

2. Command Codes

Print Speed
Command Structure:
CSa
a:
Example:
Placement:
Default:

Designates the speed selection
See Note for allowable settings
CS6
Must be placed immediately after A and immediately before Z in its own separate data stream
As previously set in the printer configuration

Function:
To specify a unique print speed through software for a particular label.
This allows flexibility in finding the best performance and quality for the
particular label format, media, and ribbon. All subsequent labels will
print at this speed unless the speed is changed with this command or
through the Operator Panel.
Input:
A
CS5
Z
Output:
There is no printer output for this command. It sets the print speed of
the printer.
Note:
1. This becomes the new setting in the printer configuration for all
subsequent print jobs, unless changed. The setting is stored in
non-volatile memory and is not affected by cycling the power.
2. This command will overwrite the Display Settings.
3. The allowable Print Speed settings are as follows:
Printer
CL 408
CL 412

CL 608 (VA)
CL 612 (VA)
M8490S
M8460S

SATO RISC Printers

a

Speed

1
2
3
4
5
4
6
8

2 ips, 50 mm/s
3 ips, 75 mm/s
4 ips, 100 mm/*s
5 ips, 125 mm/s
6 ips, 150 mm/s
4 ips, 100 mm/s
6 ips, 150 mm/s*
8 ips, 200 mm/s

79

2. Command Codes
M8459S

M8485S

M8400RV

XL 410

XL 400

Programming Manual
2
3
4
5
4
6
8
10
1
2
3
4
5
4
5
6
5
6
7
8

2 ips, 50 mm/s
3 ips, 75 mm/s
4 ips, 100 mm/s*
5 ips, 125 mm/s
4 ips, 100 mm/s
6 ips, 150 mm/s*
8 ips, 200 mm/s
10 ips, 250 mm/s
2 ips, 50 mm/s
4 ips, 100 mm/s
6 ips, 150 mm/s*
8 ips, 200 mm/s
10 ips, 250 mm/s
4 ips, 100 mm/s
5 ips, 125 mm/s*
6 ips, 150 mm/s
5 ips, 125 mm/s
6 ips, 150 mm/s*
7 ips, 175 mm/s
8 ips, 200 mm/s

* = default

80

SATO RISC Printers

Programming Manual

2. Command Codes

Repeat Label
Command Structure:
C
Example:
Placement:
Default:

See above
Must be placed immediately after A and immediately before Z in its own separate data stream
None

Function:
To print duplicate of the last label printed
Input:
A
C
Z
Output:
A duplicate of the previous label will be printed.
Note:
This command will have no effect if the power to the
printer was cycled off and back on since printing the previous label.

SATO RISC Printers

81

2. Command Codes

Programming Manual

Replace Data (Partial Edit)
Command Structure:
0 (zero)
Example:
See above
Placement:
Must follow A and precede all other print data
Default:
None
Function:
To replace a specified area of the previous label with new data. This
command will cause the previous label to print along with any changes
specified within the current data stream.
Input:
A
H0025V0020W0BCL 608
H0025V0085WB1M8485S
H0025V0150WL0M8490S
H0025V0215 WL1M8460S
Q1Z
A
0H0025V0020WB0M8459SQ1Z
Output:

Note:
1. Specify the exact same parameters for the image to be replaced
as were specified in the original data stream, including rotation,
expansion, pitch, etc. This will ensure that the new data will
exactly replace the old image. If the replacement data contains

82

SATO RISC Printers

Programming Manual

2. Command Codes

fewer characters than the old data, then the characters not
replaced will still be printed.
2. This command will not function if the power has been cycled off
and back on since the last label was printed.
3. Proportional Pitch text cannot be used with this command.

SATO RISC Printers

83

2. Command Codes

Programming Manual

Reverse Image
Command Structure:
(aaaa,bbbb
a:
Horizontal length in dots of reverse image area
b:
Vertical height in dots of reverse image area.
See Note 6 for field ranges
Example:
(100,50
Placement:
This command must be preceded by all other data and be
placed just before Q
Default:
None
Function:
To reverse an image area from black to white and vice versa. Use the
Print Position commands (H and V) to locate the top left
corner of the reverse image area.
Input:
A
H0050V0120L0202WB1REVERSE
H0250V0300L0202WB1HALF
H0040V0110(370,100
H0240V0290(220,47
Q1Z
Output:

Note:
1. A reverse image area is affected by the rotate commands. Therefore, always assume the printer is in the normal print orientation
when designing and sending the Reverse Image command...

84

SATO RISC Printers

Programming Manual

2. Command Codes

2. If using reverse images with the form overlay, place this command before the Form Overlay command in the data stream.
3. If the Rotate commands are used with this command, the V and
H parameters are reversed.
4. If the height and width to be reversed contain other than alphanumeric data, the area is not printed.
5. If the values specified exceed the maximum ranges, the reverse
image is not created.
6. The maximum allowable settings are:
CL 408
Horizontal
aaaa
Vertical
bbbb

CL 608 (VA)

CL 612 (VA)

-0832 to 0832 -1248 to 1248 -1216 to 1216 -1984 to 1984
0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

M8485S
Horizontal
aaaa
Vertical
bbbb

CL 412

M8490S

M8460S

M8459S

-1248 to 1248 -1344 to 1344 -1216 to 1216 -0896 to 0896
0001 to 1424 0001 to 2136 0001 to 1424 0001 to 2136

XL 400
Horizontal
aaaa
Vertical
bbbb

XL 410

M8400RV

-0800 to 0800 -1200 to 1200 -0832 to 0832
0001 to 1920 0001 to 1920 0001 to 1920

7. The Reverse Image is not working in combination with Sequential
Numbering.

SATO RISC Printers

85

2. Command Codes

Programming Manual

Rotate, Fixed Base Reference Point
Command Structure:
%a
a:

Example:
Placement:
Default:

0 Sets print to normal direction
1 Sets print to 90°CCW
2 Sets print to 180° rotated (upside down)
3 Sets print to 270° CCW
%3
Preceding any printed data to be rotated
%0

Function:
To rotate the print direction in 90° increments without changing the location of the base reference point. The diagram below illustrates the
use of the % Rotate command. Note that the entire print area
is shown, but your label will probably not be as large as the entire area.
Input:
A
%0H0200V0100MNORMAL DIRECTION
%1H0200V0300MONE
%2H0200V0400MTWO
%3V0500MTHREE
Q1Z
Output:

86

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. Do not combine this command and the R Rotate command
in the same data stream.
2. The specified values are valid until another Rotate (%)
command is received.
3. Receipt of a Stop Print (Z) command will reset the setting
to the default value.

SATO RISC Printers

87

2. Command Codes

Programming Manual

Rotate, Moving Base Reference Point
Command Structure:
Normal Direction:
N
Rotated Direction: R
Example:
See above
Placement:
Preceding any printed data to be rotated
Default:
N
Function:
The R command rotates the printing of all subsequent images
in a print job by 90° counterclockwise each time it is used. It also moves the base reference point to a different corner of the print area.
The N command returns to the original base reference point
and returns printing to the normal orientation.
Input:
A
NH0100V0010MNORMAL DIRECTION
RH0100V0100MONE
RH0100V0100MTWO
RH0100V0100MTHREE
RH0100V0100MFOUR
Q1Z

88

SATO RISC Printers

Programming Manual

2. Command Codes

Output:

Note:
1. Do not combine this command and the % rotate command
in the same data stream.
2. A custom graphic is not affected by this command. Therefore,
always design and locate your graphic image to print in the
appropriate orientation.
3. The specified values are valid until another Rotate (R)
command is received.
4. Receipt of a Stop Print (Z) command will reset the setting
to the default value.

SATO RISC Printers

89

2. Command Codes

Programming Manual

Sequential Numbering
Command Structure:
Faaaabcccc,dd,ee
aaaa:
Number of times to repeat the same data (0001-9999)
b:
Plus or minus symbol (+ for increments; - for decrements)
cccc.
Value of step for sequence (0001-9999)
,dd:
Number of digits for sequential numbering (01-99). The
first incrementing character position starts after the positions exempted from sequential numbering as specified in ee.
If these digits are left out, the default is 8.
,ee:
Number of digits free from sequential numbering (0099) starting with the right most position. If these digits
are left out, the default is 0.
Example:
F001-001,04,03

Placement:
Default:

In this example, the right most (least significant) three
digits would not decrement and the next four would decrement.
Preceding the starting value to be incremented or decremented.
None

Function:
To allow the ability to print sequential fields (text, bar codes) where all
incrementing is done within the printer. Up to eight different sequential
fields can be specified per label. Sequencing is effective for up to 99digit numeric data within each field.
Input:
AH0100V0050MSERIAL NUMBER
H0100V0100F001+001,04,03
L0202MABC0001B25
Q2Z

90

SATO RISC Printers

Programming Manual

2. Command Codes

Output:

Note:
1. The value specified for Print Quantity should be equal to the number of different sequential values desired multiplied by the number of repeats specified.
Example:
To print 2 sets each of the numbers 1001-1025 on separate labels,
we need 50 total labels. The commands would be as follows:
A
H0100V0100F002+001XM1001
Q50
Z
2. It is necessary to specify the print position for each sequential
field on a label.
3. Up to eight different sequential fields can be specified per label.
4. This command ignores alpha characters in the sequential number field.
5. This command can not be used with the following commands:
Copy Image,
Reverse Image,
Line Feed.

SATO RISC Printers

91

2. Command Codes

Programming Manual

Start/Stop Label
Command Structure:
Start Command:A
Stop Command:Z
Example:
See above
Placement:
A must precede data
Z must follow data
Default:
None
Function:
For all print jobs, the Start command must precede the data, and the
Stop command must follow. The print job will not run properly if these
are not in place.
Input:
A
H0001V0100WB1SATO
H0130V0200B103150*M-8400RV*
H0170V0360L0202S*M-8400RV*
Q1Z
Output:
There is not output for these commands they are not accompanied by
other label printing commands. However, these commands must precede and follow each print job sent to the printer.

92

SATO RISC Printers

Programming Manual

2. Command Codes

Calendar Option Commands
The following commands in this section require the Calendar option.
(SEG No. 4449 Real Time Clock)

SATO RISC Printers

93

2. Command Codes

Programming Manual

Calendar Increment
Command Structure:
WPabbb
a:
Y Years
M Months
D Days
h Hours
bbb:
Numeric data: Years (0-9), Months (00-99),
Days (000-999), Hours (000-999),
Example:
WPM03
Placement:
Anywhere within the data stream
Default:
None
Function:
To add a value to the printer’s current date and/or time, which may
then be printed on the label. This command does not change the printer’s internal clock setting.
Input:
A
H0010V0100XB1Current Date is:
XB1WADD/MM/YYY*Y*/JJJ*/ww*
WPM06
H0010V0200XB1Expiration Date is:
XB1WA/DD/MM/YYY*Y*/ww*
Q1Z
Output:

*

**
**

*
*

*

*Note: From Firmware 1E2050, 1E3002 for CL6xxVA

94

SATO RISC Printers

Programming Manual

2. Command Codes

Note:
1. This command requires the Calendar Option. See your SATO representative for more details
2. Once the year increments past “99” it will wrap back to “00”.
3. This command can only be used once per data stream.
4. The printer’s internal clock may be set through the Calendar Set
command.
5. If a print quantity of more than one label per job is used, the same
time and date will be on each label of the entire print job.

SATO RISC Printers

95

2. Command Codes

Programming Manual

Calendar Print
Command Structure:
WA aaa...a
*YYYY 4 digit Year: 1981 ~ 2080
YY last 2 digit Year: 00 ~ 99
MM Month: 01 ~ 12
DD Day: 01 ~ 31
hh 12 Hour: 00 ~ 23
mm Minute: 00 ~ 59
*ss Second: 00 ~ 59
*TT AM/PM: AM, PM (Do not use for numeric barcode)
*HH 24 Hour: 00 ~ 11
*JJJ Julian Date: 001 ~ 366
*WWWeek: 00 ~ 53
*ww Week: 01 ~ 54
Example:
XB1WADD/MM/YYYY/WW
Placement:
Anywhere within the data stream .
Default:
None
Function:
To specify the printing of a date and/or time field from the printer’s internal clock. This may be used to date/time stamp your labels.
Input:
A
H0010V0100XB1The current date is:
XB1WADD/MM/YYY*Y*/WW*
H0010V0200XB1The current time is:
XB1WAhh:mm:ss*
H0010V0300XB1The current time is:
XB1WAHH*:mm:ss*:TT*
Q1Z
* = from firmware version 1E2050, 1E3002 for CL6xxVA

96

SATO RISC Printers

Programming Manual

2. Command Codes

Output:

**

*

*

*
*

*

Note:
1. This function requires the Calendar Option. See your SATO representative for details.
2. The date and time elements may be placed in any order for printing.
3. Use a slash (/) to separate date elements and a colon (:) to separate time elements.
4. The font for the date/time elements must be specified before this
command.
5. The printer’s internal clock may be set through the Calendar Set
command.
6. This command can be used up to six times per job.
7. The Copy or Reverse Image commands cannot be used with this
command.
8. Up to 16 characters can be used with this command.

SATO RISC Printers

97

2. Command Codes

Programming Manual

Calendar Set
Command Structure:
WTaabbccddee
aa
Year (01-99)
bb
Month (01-12)
cc
Day (01-31)
dd
Hour (00-23)
ee
Minute (00-59)
Example:
WT9101311200
Placement:
This command must be sent in an independent data
stream.
Default:
None
Function:
To set the time and date of the printer’s internal clock.
Input:
A
WT9312251300
Z
Output:
There is no printer output for this command. It sets the current date to
December 25, 1993 and the current time to 1:00 PM in the printer.

Note:

98

This command requires the Calendar Option. See your
SATO representative for details.

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Option Commands
These commands require the Memory Card Option.

Note:

Before a Memory Card can be used for the first time, it
must be initialized using the BJF command. If it is
not initialized, the printer will not recognize the card and
respond as if no card was installed.

SATO RISC Printers

99

2. Command Codes

Programming Manual

Memory Card Function
Clear Card Memory
Command Structure:
*a,bb
a:
Memory card section to be cleared
G To clear SATO graphic files from memory card
P To clear PCX graphic files
F To clear formats from the memory card
O To clear TrueType fonts
bb:
Memory Card storage area to be cleared
01 to 99 for Graphics, PCX or Formats
00 to 09 for TrueType fonts
Example:
*G,01
Placement:
This command should be sent to the printer immediately
following the CC Slot Select command.
Default:
None
Function:
To clear individual memory areas in the Memory Card.
Input:
A
CC1*O,09
Z
Output:
There is no printer output as a result of this command.
Note:
1. To clear everything in the memory card, use the BJF Memory Card Initialize command.
2. This command is ignored if there is no data to be cleared.
3. This command is ignored if a memory card is not installed in the
printer.

100

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Expand Memory Area
Command Structure:
EXa
a:

Example:
Placement:
Default:

Memory Designation
0 Use Printer Memory
1 Use Memory Card Slot 1
2 Use Memory Card Slot 2
EX1
In its own data stream imediately after powering on.
None

Function:
This command expands the memory available to image labels by
using the Memory Card.
Input:
A
EX2
Z
Output: There is no printer output as a result of this command.
Note:
1. You must have the optional Memory Card to use this command.
Call your local SATO representative for details.
2. When the printer is turned off, the the Memory Card is reset to
normal operation.
3. If the Memory Card specified already contains data, it cannot be
used for memory expansion.
4. The printer will reserve the specified Memory Card for expanded
memory until it is turned off or receives another EX
Expand Memory Area command.
5. Use care with Line and Box commands as excessively long lines
can damage the print head.
6. The maximum vertical position that can be specified by the
V vertical position command is shown in the table below:
7. If a job contains elements out of the memory range, it is ignored.
8. This command cannot be used with the AX and AR
Expanded Print Length commands or the R Rotate, Moving Base Reference Point command.
9. If the Forms Overlay command & is used with a Memory
Card to expand the print area, the Form Overlay length is still limited to 14".

SATO RISC Printers

101

2. Command Codes

Programming Manual

Memory Card Function
Fonts, TrueType Recall
Command Structure:
BJRabbccddeeeeff...f
a:
Font ID (0 thru 9)
bb:
Horizontal Expansion (01 thru 12)
cc:
Vertical Expansion (01 thru 12)
dd:
Character Pitch (01 thru 99)
eeee:
Number of characters to be printed using the font
f f f f:
Data to be printed
Example:
BJR1020201000004SATO
Placement:
Immediately following the CC Slot Select command.
Default:
None
Function:
This command recalls previously stored TrueType fonts from a Memory Card.
Input:
A
V0100H0100CC1BJR1020201000004SATO
Q1Z

Note:

102

This command requires the Memory Card option. See
your SATO representative for details.

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Fonts, TrueType Store
Command Structure:
Begin Download BJ( aa...abb..b
Download
BJDcccccddddee...e
End DownloadBJ)
aa..a:
40 byte font description
bb..b:
10 byte date information
ccccc:
Memory offset (hexadecimal)
dddd:
Number of data bytes to be stored (0001-2000)
ee...e:
Font data to be downloaded
Example:
BJ({50 byte header}
BJD{5 byte hex memory offset}{data}
BJ)
Placement:
Immediately following the CC Slot Select command.
Default:
None
Function:
This command allows TrueType fonts to be stored in a Memory Card.
Input:
With software: Memory Card Manager (Call local dealer).
The download data stream is very complex and it is recommended
that the TrueType Download utility program be used instead of manually creating the required command and data stream.
Output:
There is no printer output as a result of this command. See
BJR TrueType Font Recall command.
Note:
1. This command requires the Memory Card option. See your SATO
representative for details.
2. The SATO TrueType Download utility program can be used to
automate the download process from a computer running Windows 3.1 or above. A copy of this utility program is included as a
part of the Memory Card Option.

SATO RISC Printers

103

2. Command Codes

Programming Manual

Memory Card Function
Format/Field Recall
Command Structure:
YR,aa /D,bb,cc...c
aa:
Format number to be recalled (01-99)
bb:
Field number to be recalled (01-99)
cc...c:
Data to be placed in recalled field.
Example:
YR,01/D,01,99
Placement:
Immediately after CC Slot Select command
Default:
None
Function:
To recall a field from a stored format and place new data in the field.
Input:
A
CC1
YR,02/D,01,TWO FIELDS OF/D,02,VARIABLE
DATA
Q1Z
Note:
1. This command requires the Memory Card option. See your SATO
representative for details.
2. Only one format can be recalled at a time. However, multiple fields
may be recalled from the same format.
3. The number of data characters contained in the “cc...c” field cannot exceed the value designated in the /N Field Store command. If it does, the data will be truncated to fit the field length
defined in the Field Store Command.

104

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Format/Field Store
Command Structure:
YS,aa/N,bb,cc{.......}
aa:
Format number to be stored (01-99)
bb:
Field number to be stored (01-99)
cc:
Length of field to be stored (01-99)
{.....}:
Command stream describing the field to be stored.
Example:
YS,01/N,01,05
Placement:
Immediately after CC Slot Select command.
Default:
None
Function:
To store a format field description in the memory card.
Input:
A
CC1
YS,02/N,01,13V0100H0100XB1
/N,02,13V0200H0200XB1
Z
Output:
There is no printer output as a result of this command. See YR
Format/Field Recall command.
Note:
1. This command requires the Memory Card option. See your SATO
representative for details.
2. Each job should be sent individually. If more than one job is sent
in a data stream, only the first one will be accepted and the
remainder ignored.
3. The following commands cannot be stored in a format:
CS
C
NULL
Q
/D
EX
T
&

SATO RISC Printers

Print Speed
Repeat Label
Cut Label
Print Quantity
Recall Field
Expanded Label Storage
Custom Characters
Store Form Overlay

105

2. Command Codes
@
#E
BJ
ID
G
*
BT
PI
0

106

Programming Manual
Off Line
Print Darkness
TrueType Fonts
Store Job ID
Store Custom Graphics
Clear Memory & Buffer
Variable Ratio Bar Codes
Store PCX Graphics
Partial Edit

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Graphics, Custom Recall
Command Structure:
GRaaa
aaa:
Graphics storage number (001-999)
Example:
GR111
Placement:
The Recall command is sent in a secondary data stream to print the graphic, and follows any necessary
position or size commands.
Default:
None
Function:
Use the Recall command any time you want to print a graphic image
on a label along with other printed data.
Input:
Non Rotated Graphic
ACC1
V0100H0080L0505
GR001
Q1Z
Graphic Rotated 90°
ACC1%1
V0180H0250L0505
GR001
Q1Z
Graphic Rotated 180°
ACC1%2
V0180H0500L0505
GR001
Q1Z
Graphic Rotated 270°
ACC1%3
V0100H0700L0505
GR001
Q1Z

SATO RISC Printers

107

2. Command Codes

Programming Manual

Note:
1. The graphic image to be stored cannot be rotated before it is
stored. It can be rotated when it is recalled.
2. Graphic images cannot be stored as part of a label format.
3. See the GI Custom Graphic Store command.

108

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Graphics, Custom Store
Command Structure:
GIabbbcccddd{data}
a:
Specifies character format of the data
H Hex data
B Binary data
bbb:
Number of horizontal 8 x 8 blocks (001-248)
ccc:
Number of vertical 8 x 8 blocks (001-267)
ddd:
Graphics storage number (001-999)
{data}:
Hex or binary data to describe the graphic image
Placement:
Immediately following the CC Slot Select command.
Default:
None
Function:
To provide similar functionality to the G Custom Graphic command, but allows for the graphic image to be stored in a Memory Card.
Use the Store command to send the graphic data to the printer, which
is held in the optional memory card, even if printer power is lost.
Input:
A
CC1GIH002002001
0100038007C00FE01FF03FF87FFCFFFE07C007C007C007C007C00
7C007C007C0
Z
Output:
There is no printer output as a result of this command. See GR
Recall Custom Graphics command.
Note:
1. You must have the optional Memory Card to use this command.
Call your SATO representative for details.
2. The maximum storage capacity is 999 graphics, up to the capacity of the memory card used.
3. If a data transmission error occurs, the printer will beep and the
“ERROR” LED will come on. You must then retransmit the image.
4. Each graphic to be stored must be sent in its own data stream.
Example of correct data stream:
A

SATO RISC Printers

109

2. Command Codes

Programming Manual

GIHaaabbb001(DATA)
Z
A
GIHaaabbb002(DATA)
Z
Example of incorrect data stream:
A
GIHaaabbb001(DATA)
GIHaaabbb002(DATA)
Z
5. Do not use ASCII  or  characters (carriage return or line
feed) as line delimiters within the graphic data or the actual image
will not be printed as specified.
6. The graphics storage number (ddd) must be specified with this
command.

110

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Graphics, PCX Recall
Command Structure:
PYaaa
aa:
Storage area number (001 thru 099)
Example:
PY001
Placement:
This command must be placed within its own data stream specifying the placement of the graphic.
Default:
None
Function:
To recall for printing a graphic file previously stored in a PCX format in
the Memory Card.
Input:
Normal Rotation
ACC1
V0100H0000PY001
Q1Z
Rotate Base Reference Point
ACC1%1
V0330H0180PY001
Q1Z
2nd Rotation, Base Reference Point
ACC1%2
V0330H0600PY001
Q1Z
3rd Rotation, Base ReferencePoint
ACC1%3
V0100H0800PY001
Q1Z
Note:
1. This command requires Memory Card option. See your SATO representative for details.
2. See the PI Store PCX Graphics command.

SATO RISC Printers

111

2. Command Codes

Programming Manual

Memory Card Function
Graphics, PCX Store
Command Structure:
PIaaa,bbbbb,{data}
aaa:
Storage area number (001 thru 999)
bbbbb:
Size of PCX file in bytes
{data}:
Data
Example:
PI001,32000,{data}
Placement:
This command must be placed within its own data stream
Default:
None
Function:
To store for later printing a PCX graphic file in the Memory Card.
Input:
BASIC Program to Download a PCX file to Memory Card #1, Location
#1
OPEN “C:\WIZARD\GRAPHICS\LION.PCX” FOR INPUT AS #2
DA$ = INPUT$(3800,#2)
E$ = CHR$(27)
WIDTH “LPT1:”,255
LPRINT E$;"A";E$;"CC1";
LPRINTE$; “PI001,03800,”;DA$
LPRINT E$;"Z";
CLOSE #2
Output:
There is no printer output as a result of this command. See PY
PCX Graphics Recall command.
Note:
1. This command requires Memory Card option. See your SATO representative for details.
2. Graphics cannot be stored as part of a format.
3. Only black and white PCX files can be stored.
4. The file size specified by this command is the DOS file size in
bytes.

112

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Initialize
Command Structure:
BJFaaaaaaaa
aaaaaaa:
Eight character alphanumeric user ID
Example:
BJFsatocard
Placement:
Immediately following the CC Slot Select command.
Default:
None
Function:
This clears all of the data from Memory Card in the specified slot and
prepares the card to accept data.
Input:
A
CC2BJFsatocard
Z
Output:
There is no printer output as a result of this command.
Note:
1. You must have the optional memory card to use this command.
Call your local SATO representative for information.
2. All Memory Cards must be initialized before they can be used for
the first time.
3. Care should be exercised when using this command as it
destroys any data previously written to the card. It will clear all
data from the card and assign the new ID (“satocard” in the above
example).

SATO RISC Printers

113

2. Command Codes

Programming Manual

Memory Card Function
Slot Select
Command Structure:
CCa
a:

Example:
Placement:
Default:

Memory Card Slot
1 Slot 1
2 Slot 2
CC1
Immediately following the A Start Code.
Last selected Memory Card Slot.

Function:
Selects the card slot to be used for following Memory Card commands.
Input:
A
CC1
{commands}
Z
Output:
There is no printer output as a result of this command.

Note:

114

This command requires the Memory Card option. See
your SATO representative for more information.

SATO RISC Printers

Programming Manual

2. Command Codes

Memory Card Function
Status
Command Structure:
BJS
Example:
Placement:
Default:

BJS
After the CC Slot Select command.
None

Function:
Casues the printer to print the card status.
Input:
A
CC1BJS
Z
Output:

Note:
1. This command requires the Memory Card option. See your SATO
representative for more information
2. The following information is provided on the status label:
Line 1: Memory size of the card in Kbytes
Line 2: The ID number assigned with the BJF command
Line 3: Number of formats stored and bytes used
Line 4: Number of graphics stored and bytes used

SATO RISC Printers

115

2. Command Codes
Line 5:
Line 6:
Line 7:
Line 8:
Line 9:

116

Programming Manual

Number of PCX files and bytes used
Number of TT fonts stored and bytes used
Remaining free memory
Max expandable print length using the card
Battery check results

SATO RISC Printers

Programming Manual

2. Command Codes

Custom Protocol Command Codes
Download
Command Structure:
LD,a,b,c,d,e,f,g,h,i
a:
Replacement character for STX in ASCII or hex format
b:
Replacement character for ETX in ASCII or hex format
c:
Replacement character for ESC in ASCII or hex format
d:
Replacement character for ENQ in ASCII or hex format
e:
Replacement character for CAN in ASCII or hex format
f:
Replacement character for NULL in ASCII or hex format
g:
Replacement character for OFFLINE in ASCII or hex
format
h:
Auto-Online. Printer powers up in the On Line mode.
0 = Yes
1 = No
i:
Zero Slash. Places a slash through the “0” character.
0 = Yes
1 = No
Example:
LD,{,},%,#,&,*,~,0,0
Placement:
Immediately following the A Start command and
in an independent data stream.
Default:
Standard Protocol command Codes
Function:
Allows the user to defines custom Protocol Command codes.
Input:
A
LD,{,},%,#,&,*,~,0,0
Z
Output:
A Protocol Command code status label will be printed as a result of the
a successful download of a custom set of Protocol Command codes.

SATO RISC Printers

117

2. Command Codes

Programming Manual

Note
1. Commas must be used to separate the parameters. If a parameter
is omitted between two commas, the default Non-Standard Protocol Command codes for that parameter will be used.
2. This command must be sent as an independent data stream
immediately following the A Start code and immediately
preceding the Z Stop code. No other commands can be
included in the data stream.
3. If more or less than nine commas are included in the command,
the entire command sequence will be ignored. The command
must contain exactly nine commas.
4. If two characters are specified for a parameter, it will be interpreted as a hex value. For example:
Command ParameterResulting Command Code
2B+
++
If a combination of characters are outside the hexadecimal range,
the entire command sequence will be ignored.
5. Downloading Auto Online and Zero Slash settings will overwrite
the values selected using the LCD panel. If these settings are
changed using the LCD panel, they will overwrite any previously
downloaded settings.

118

SATO RISC Printers

Programming Manual

3.

3. Command Code Quick Reference

Command Code Quick Reference

3.1 Instruction
A
A(space)Z
AR
AX
A3H-aaaa
Vbbbb

Babbcccd

Start Code. Begins all print jobs.
Form Feed. Feeds a blank tag or label.
Normal Print Length. This command resets the printer to the Standard print length (7 inches).
Expanded Print Length. This command sets the printer to the Expanded print length (14 inches).
Base Reference Point. Establishes a new base reference point position in dots for the current label. Units
of measurement are dots.
Bar Codes. Prints a 1:3 ratio bar code.
a = 0 Codabar
1 Code 39
2 Interleaved 2 of 5 (I 2/5)
3 UPC-A/EAN-13
4 EAN-8
5 Industrial 2 of 5
6 Matrix 2 of 5
7 reserved
8 reserved
9 reserved
A MSI
B reserved
C Code 93
D reserved
E UPC-E
F Bookland
G Code 128
I UCC 128
bb = Number of dots (01-12) for narrow bar and narrow space
ccc= Bar height in dots (001-600)
d = UCC 128 only
0 No human readable text
1 Human readable at top
2 Human readable at bottom

SATO RISC Printers

119

3. Command Code Quick Reference
Dabbcccd

BKaabbcdd
eeefffnn...n

BPn...n

BTabbccddee

120

Programming Manual

Bar Codes. Prints a 2:5 ratio bar code, except for UPC,
EAN, Code 93, Code 128 and UCC128 symbols, which
are fixed width bar codes. For values a, bb, ccc and d
see instructions for Babbcccd.
For UPC/EAN bar codes, this command puts descender bars and humand readable text below the symbol.
PDF417. Prints PDF417 2-D symbols.
aa = Minimum module dimension (03-09 dots). Will
not print for values of 01, 02 or >= 10.
bb = Minimum module pitch dimension (04-240
dots). Will not print for values of 01, 02, 03 or
greater than 25.
c
= Security level (1-8).
dd = Code words per line (01-30). If 00 is specified
for dd and ee, printer will automatically optimize settings.
ee = Rows/symbol (00 or 03). If 00 is specified for
dd and ee, printer will automatically optimize
settings.
fff = Number of characters to be encoded (00012700)
nn..n= Data to be printed.
Postnet. Prints Postnet bar codes.
n..n = 5 digit ZIP (Postnet-32 format)
6 digits (Postnet-37 format)
9 digit ZIP+4 (Postnet -52 format)
11 digit ZIP+4+DPC (Postnet-62, Delivery
Point format).
Bar Codes. Variable Ratio. provides the ability to print
a bar code with a ratio other than those specified
through the standard bar code commands (B, BD, and
D).
a = Bar code option:
0 Codabar
1 Code 39
2 Interleaved 2 of 5
5 Industrial 2 of 5
6 Matrix 2 of 5

SATO RISC Printers

Programming Manual
bb
cc
dd
ee
BVaaa,bbb,
cccccc,dddd,
ee...e

BWaabbb

BXaabbccdd
eeefffghh

3. Command Code Quick Reference
= Narrow space in dots (01-99)
= Wide space in dots (01-99)
= Narrow bar in dots (01-99)
= Wide bar in dots (01-99)

Maxicode. Prints Version 0 2-D Maxicode symbols.
aaa = Service class, numeric only (001-999).
bbb = Country code, numeric only (001-999).
cccccc= ZIP code, alphanumeric (000000-999999).
dddd = Extended ZIP code, numeric only (00019999)
ee...e = Low priority message, alphanumeric, 84 characters.
Bar Codes - Expansion. Works together with the BT
command to specify an expansion factor and the bar
code height for the particular symbol being printed.
aa = Expansion factor by which the width of all bars
and spacesis increased (01-12)
bbb = Bar height by dot (004-600 dots)
Data Matrix - Data Format. Specifies the format of the
Data Matrix 2-D symbology.
aa = Format ID (01-16, The values 07 and 17 will
not be accepted)
bb = Error correction level (00, 01, or 04-14, the
values 02, 03 or >/= 15 will not be accepted).
cc = Horizontal cell size (03-12 dots/cell)
dd = Vertical cell size (03-12 dots per cell)
eee = Cells per line. Must use 000 for optimized symbol.
fff = Cell lines. Must use 000 to optimize.
g
= Mirror image
0 Normal Print
1 Reverse Print
hh = Guide cell thickness (01-15) 01 indicates normal type.

SATO RISC Printers

121

3. Command Code Quick Reference
C
CSa
Dabbcccd

DCxx...x

Eaaa

Faaaabcccc
ddee

FWaaHbbbb
FWaabbVccc
Hdddd

FWccVddd

122

Programming Manual

Repeat Label. Prints a duplicate of the last label printed.
Print Speed Selection. Specifies a unique print speed
in in./sec. through software for a particular label.
Bar Codes. Prints 1:2 ratio bar code. For UPC and
EAN bar codes, this will add descender bars. For
values a, bb, ccc and d see instructions for Babbcccd.
Data Matrix. Print Data. Prints data using Data Matrix
format specified in BX Data Format command.
xx...x = Data to be printed. Cannot exceed 500 characters.
Line Feed. Provides the ability to print multiple lines of
the same character size without specifying a new print
position for each line.
aaa = Number of dots (1-999) between the bottom
of the characters on one line to the top of the
characters on thenext line.
Sequential Numbering. Allows the printing of sequencing fields (text, bar codes) where all incrementing is
done within the printer.
aaaa = Number of times to repeat the same data
(0001-9999)
b
= Plus or minus symbol (+ for increments; - for
decrements)
cccc = Value of step for sequence (001-9999)
dd
= No. of digits for sequential numbering (01-99,
default = 8)
ee
= No. of digits free from sequential numbering
(01-99, default = 0)
Horizontal Line. Prints a horizontal line. Units of measurement are dots.
Box. Prints a box. For values aa, bbbb, cc, and dddd,
see instructions for horizontal and vertical lines. Units
of measurement are dots.
Vertical Line. Prints a vertical line. Units of measurement are dots.

SATO RISC Printers

Programming Manual
FXaaabccc
dddeee

Gabbbccc
(data)

GPaaaaa

Haaaa

IDaa
J
Kab90cc

3. Command Code Quick Reference

Data Matrix. Sequential Numbering. Prints sequential
numbered Data Matrix 2-D symbols.
aaa = Number of duplicate labels (001-999)
b
= Increment or decrement
+ Increment
- Decrement
ccc = Increment/decrement steps (001-999)
ddd = Sequential numbering start position (001-999).
Referenced to left side.
eee = Incremented data length (001-999). Measured
from start position.
Custom Graphics. Allows the creation and printing of
graphic images using a dot-addressable matrix.
a
= Specifies format of data stream to follow
B Binary
H Hexadecimal
bbb = Number of horizontal 8 x 8 blocks (001-152)
ccc = Number of vertical 8 x 8 blocks
(001-178 or 001-356 for 14" label)
data = Data to describe the graphic image
PCX File. Downloads PCX file to the internal graphics
image memory.
aaaaa = No. of bytes to be downloaded
(max DOS file size = 32K)
Horizontal Position. Specifies a field’s horizontal
location across the width of the label from the current
base reference point. The units of measurement are
dots.
Store Job ID. Stores the Job ID number.
aa = Job ID number assigned (01-99)
Journal Print. Provides the ability to print text line by
line. Fixed spacing between lines and characters.
Recall Custom Designed Characters. Recalls for
printing a custom character stored by the Tabcc(data)
command.
a = 1 16 x 16 matrix

SATO RISC Printers

123

3. Command Code Quick Reference

Laabb

LD,a,b,c,d,
e,f,g,i

M
N

OA
OB
Paa

PR
PS

Qaaaaaa

124

Programming Manual

2 24 x 24 matrix
b = Indicates the format that data stream was stored
in
B Binary
H Hexadecimal
bb = Memory location where the character was
stored.
Valid locations are 21 to 52 or “!” to “R” in hex
values.
Character Expansion. Expands characters in both
directions.
aa = Multiple to expand horizontally (01-12)
bb = Multiple to expand vertically (01-12)
Download Protocol Command Codes. Downloads a
user defined set of Alternate Protocol Command
Codes. See Appendix E for details on the proper usage
of this command.
Font type. Specifies the 13W x 20H dot matrix font
(including descenders).
Rotate. Moving Base Reference Point. Sets the original base reference point and returns printing to normal
orientation.
Font type. Specifies the OCR-A font with dot matrix.
Font type. Specifies the OCR-B font dot matrix.
Character Pitch. Designates the number of dots between characters.
aa = Number of dots between characters (01-99)
Fixed Font Spacing. Returns the printer to fixed character spacing mode.
Proportional Font Spacing. Places the printer in the
proportional character spacing mode. Will not work
with U Font.
Print Quantity. Specifies the total number of labels to
print.
aaaaaa =Total number of labels to print for the job
(000001-999999)

SATO RISC Printers

Programming Manual
R

S
Tabcc(data)

U
Vbbbb

WBa

3. Command Code Quick Reference

Rotate, Moving Base Reference Point. Rotates the
printing of all subsequent images by 90 degrees counterclockwise each time it is used. Also moves the base
reference point.
Font type. Specifies the 8W x 15H dot matrix font
(including descenders).
Store Custom Designed Characters. To create and
store custom characters or images in the printer’s volatile memory. See Kab90cc to recall the character for
printing.
a
= 1 16 x 16 matrix
2 24 x 24 matrix
b
= Specifies data stream format to follow
B Binary
H Hexadecimal
cc
= Memory location to store the character.
Valid locations are 21 to 52 or “!” to “R” in hex
values.
(data) = Data to describe the character.
Font type. Specifies a 5W x 9L dot matrix font (including descenders).
Vertical Position. Specifies a field’s vertical location
down the length of the label from the current base reference point. Units of measurement are dots.
Font type. Specifies the 18W x 30L dot matrix font
(including descenders).
a = 0 Disables auto-smoothing of font
1 Enables auto-smoothing if expansion is
greater than 3

WDHaaaaVbbbb
XccccYdddd
Copy Image Area. To copy an image to another location of the label.
aaaa= Horizontal position of the top left corner of
image area
bbbb= Vertical position of the top left corner of image
area
cccc = Horizontal length of image area
dddd= Vertical length of image area

SATO RISC Printers

125

3. Command Code Quick Reference
WLa

XBa

XLa

XM
XS
XU
XWa

Z
%a

$a,b,c,d

126

Programming Manual

Font type. Specifies the 28W x 52H dot matrix font
(including decenders).
a = 0 Disables auto-smoothing of font
1 Enables auto-smoothing if expansion is
greater than 3
Font type. Specifies the 48W x 48L dot matrix font
(including descenders).
a = 0 Disables auto-smoothing of font
1 Enables auto-smoothing if expansion is
greater than 3
Font type. Specifies the428W x 48H dot matrix font
(including decenders).
a = 0 Disables auto-smoothing of font
1 Enables auto-smoothing if expansion is
greater than 3
Font type. Specifies the 24W x 24H dot matrix font
(including descenders).
Font type. Specifies the 17W x 17H dot matrix font
(including descenders).
Font type. Specifies the 5W x 9H dot matrix font (including descenders).
Font type. Specifies the 48W x 48H dot matrix font
(including descenders).
a = 0 Disables auto-smoothing of font
1 Enables auto-smoothing if expansion is
greater than 3
Stop Code. Ends all print jobs.
Rotate - Fixed Base Reference Point. Rotates printing in 90° increments without changing the base reference point.
a = 0 Sets print to normal direction
1 Sets print to 90° CCW
2 Sets print to 180° rotated (upside down)
3 Sets print to 270° CCW (90° CW)
Vector font. Specifies printing of the unique SATO
vector font.
a = A Helvetica Bold (proportional spacing)
B Helvetica Bold (fixed spacing)

SATO RISC Printers

Programming Manual

$=(data)
#Ea
(aaaa,bbbb
&
/
0 (zero)

*a

@, nn...n

3. Command Code Quick Reference

b = Font width (50-999 dots*)
c = Font height (50-999 dots*)
d = Font variation (0-9) as follows:
0 Standard
1 Standard open (outlined)
2 Gray (mesh) pattern 1
3 Gray (mesh) pattern 2
4 Gray (mesh) pattern 3
5 Standard, shadow 1
6 Standard, shadow 2
7 Standard mirror image
8 Italic
9 Italic open (outlined)
Data for Vector font.
Print Darkness. Specifies a new print darkness setting. The lightest setting is “1”.
Reverse Image. Reverse image from black to white
and vice versa. Units of measure are dots.
Store Form Overlay. Stores a specified label image in
the printer’s volatile form overlay memory.
Recall Form Overlay. Recalls the label image from the
printer’s form overlay memory for printing.
Replace Data (Partial Edit). Provides the ability to
replace a specified area of the previous label with new
data.
Clear Print Job(s) and Memory. Clears individual
memory and buffers.
a = When not included in command, clears print jobs
in Multi-Buffer mode.
a = If included in command, specifies memory section to be cleared
T Custom character memory, printer
& Form overlay memory, printer
X Clears all memory all memory and buffers
Off-Line/Pause. Signals the printer to go off-line after
the completion of a print job.
nn..n = Optional 32 character message to be displayed on the LCD.

SATO RISC Printers

127

3. Command Code Quick Reference
~aaaa

128

Programming Manual

Cutter Command. Controls the cutting of labels when
using the optional SATO cutter unit. (A  can be
used in place of the “~”.)
aaaa = Number of labels to print between each cut
(0000-9999)

SATO RISC Printers

Programming Manual

3. Command Code Quick Reference

3.2 Calendar Option Commands
WA(elements)

Calendar Print. Prints the date and/or time field (up to
16 characters) from the printer’s internal clock. Use
slash to separate date elements and colon to separate
time elements.
elements =
YYYY 4 digit Year: 1981 ~ 2080
YY last 2 digit Year: 00 ~ 99
MM Month: 01 ~ 12
DD Day: 01 ~ 31
hh
12 Hour: 00 ~ 23
mm Minute: 00 ~ 59
ss
Second: 00 ~ 59
TT
AM/PM: AM, PM (Do not use for
numeric barcode)
HH 24 Hour: 00 ~ 11
JJJ Julian Date: 001 ~ 366
WW Week: 00 ~ 53
ww Week: 01 ~ 54
WPabbb
Calendar Increment. To add a value to the printer’s
current date and/or time. Does not change the printer’s
internal time setting.
a
= Y Years
M Months
D Days
h Hours
bbb = Numeric data, Years (1-9), Months (01-99),
Days (001-999), Hours (001-999).
WTaabbccddee Calendar Set. To set the time and date of the printer’s
internal clock.
aa = Year (00-99)
bb = Month (01-12)
cc = Day (01-31)
dd = Hour (00-23)
ee = Minute (00-59)

SATO RISC Printers

129

3. Command Code Quick Reference

Programming Manual

3.3 Memory Card Option Commands
BJ(aa..abb..b

Start TrueType Font Storage. Prepares the Memory
Card to accept TrueType font data.
aa...a = 40 byte font description
bb...b = 10 byte date field

BJDcccccdddd
ee...e
Download TrueType Font Data. Downloads the TrueType font data to the memory area specified.
ccccc = Memory Offset (hexadecimal)
dddd = Data size in bytes (max = 2000)
ee...e = Font data to be downloaded
BJ)
End TrueType Font Storage. Ends the TrueType font
storage process
BJFaaaaaaaa
Initialize Memory Card. Initializes the Memory Card
and formats it for use. Should be preceded by the Slot
Select command for the card to be initialized.
aaaaaaaa = 8 character alphanumeric password
BJRabbccdd
eeeeff..f
TrueType Font Recall. Recalls a previously stored
TrueType font for use.
a
= Font ID (1-9
bb
= Horizontal Expansion (01-12)
cc
= Vertical Expansion (01-12)
dd
= Character pitch (01-99)
eeee = Number of characters
ff...f = Data to be printed using font
BJS
Memory Card Status. Reports the status of the currently active Memory Card to the host by printing a status label.
CCa
Slot Select. Selects the Memory Card slot for all following Memory Card commands.
a = 1 Slot 1
b = 2 Slot 2
EXa
Expand Memory Area. Expands the memory area
used by the printer to image the label.
a = 0 Return to using internal printer RAM
1 Use Memory Card in Slot 1
2 Use Memory Card in Slot 2

130

SATO RISC Printers

Programming Manual
GIabbbcccdd
ee...e

GRcc

PIaa,bbbbb,
cc...c

PYaa

YR,aa
/D,bb,cc...c

YS,aa
/Nbb,cc

*abb

3. Command Code Quick Reference

Store Custom Graphics. Stores a graphic image in
the memory card to be called later for printing on a
label.
a
= Specifies format of data stream to follow
B Binary
H Hexadecimal
bbb = Number of horizontal 8 x 8 blocks (001-248)
ccc = Number of vertical 8 x 8 blocks
(001-267 for 7" label)
dd
= Graphics storage number (01-99)
ee...e = Data to describe the graphic image
Recall Custom Graphics. Recalls for printing the graphic image stored by the GI command.
cc = Storage number (01-99)
Store PCX Graphics File. Stores a PCX graphic file.
aa
= Storage number (01-99)
bbbbb = Number of bytes in the file to be stored.
Recall PCX Graphics File. Recalls a PCX graphics
file.
aa = The storage number assigned to the file (01-99)
Recall Format/Field. To recall a field from a format
previously stored in the memory card.
aa
= Number of format to be recalled (01 to 99)
bb
= Number of field to be recalled (01-99)
cc...c = Data to be placed in field.
Store Format/Field. To store a field in a format in the
memory card.
aa = Format number
bb = Field number (01-99)
cc = Number of characters in the field
Clear Card Memory. Clears individual memory and
buffer areas.
a = Memory section to be cleared
G SATO graphic files (01-99)

SATO RISC Printers

131

3. Command Code Quick Reference

Programming Manual

P PCX graphic file (01-99)
F Stored formats (01-99)
O TrueType fonts, memory card (01-09)
bb = Storage number

132

SATO RISC Printers

Programming Manual

4.

4. Bar Code Specifications

Bar Code Specifications
This section contains detailed information on the printing of bar codes on
the SATO RISC printers. Information on printing the following bar code
symbologies is provided:
Codabar

H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H

Code 39
Interleaved 2 of 5
UPC-A/EAN-13
EAN-8
Industrial 2 of 5
Matrix 2 of 5
Code 128
MSI
Code 93
UPC-E
UPC Supplements (Bookland)
UCC-128
Postnet
Data Matrix
Maxicode Vers. 3
PDF417
QR Code (Optional, special firmware)

SATO RISC Printers

133

4. Bar Code Specifications

Programming Manual

Codabar
Command Structure:
1:3 ratio
2:5 ratio
1:2 ratio
bb:
ccc:
d:
(data):

B0bbcccd (data) d
BD0bbcccd (data) d
D0bbcccd (data) d
Width of narrow element in dots (01-12)
Bar height in dots (001-600)
Required Start and Stop character (A, B, C, or D)
Bar code data (alphanumeric)

Character Set:
0-9, -,$,:,/,+, .
A, B, C, D (Start/Stop characters)
Density Table:
Printer
Narrow/
Resolution Wide Ratio

12 dot/mm

8 dot/mm

1:3
1:3
2:5
1:2
1:3
1:3
2:5
1:2

Value of
“bb”

“X”
Dimension
(mils)

Density
(char/inch)

01
02
01
02
01
02
01
02

3.3
6.7
6.7
3.3
5.0
10.0
10.0
5.0

25.0
12.6
13.6
15.1
16.9
8.5
9.2
10.2

Input:
H0400V0025B002100A12345B
H0440V0135XS12345
Output:

Note:

134

You must add the appropriate (A, B, C or D) Start and Stop
characters to the data string. The printer does not automatically add them when printing.

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Code 39
Command Structure:
1:3 ratio:
2:5 ratio:
1:2 ratio:
bb:
ccc:
*:
(data): =

Blbbccc* (data) *
BD1bbccc* (data) *
D1bbccc* (data) *
Width of narrow element in dots (01-12)
Bar height in dots (001-600)
Required Start and Stop character (asterisk)
Bar code data (alphanumeric)

Character Set:
0-9, A-Z, Space, $, %, +, -, .,/
* (Start/Stop character)
Density Table:
Printer
Narrow/
Resolution Wide Ratio

12 dot/mm

8 dot/mm

1:3
1:3
2:5
1:2
1:2
1:3
1:3
2:5
1:2
1:2

Value of
“bb”

“X”
Dimension
(mils)

Density
(char/inch)

01
02
01
01
02
01
02
01
01
02

3.3
6.7
3.3
6.7
3.3
5.0
10.0
10.0
5.0
10.0

18.8
9.5
10.3
23.1
11.5
12.7
6.4
7.0
15.6
7.8

Input:
H0100V0025B103100*CODE 39*
H0230V0130XS*CODE 39*
Output.

Note:

You must add the “*” Start/Stop characters to the data
stream. The printer does not add them automatically.

SATO RISC Printers

135

4. Bar Code Specifications

Programming Manual

Interleaved Two of Five (I 2/5)
Command Structure:
:3 ratio:
2:5 ratio:
1:2 ratio:
bb:
ccc:
(data):

B2bbccc (data)
BD2bbccc (data)
D2bbccc (data)
Width of narrow element in dots (01-12)
Bar height in dots (001-600)
Bar code data (numeric); must be an even number of
digits or else the printer will add a leading zero; start
and stop code are provided by the printer

Character Set:
0-9 (numeric only)
Density Table:
Printer
Narrow/
Resolution Wide Ratio

12 dot/mm

8 dot/mm

1:3
1:3
2:5
1:2
1:2
1:3
1:3
2:5
1:2
1:2

Value of
“bb”

“X”
Dimension
(mils)

Density
(char/inch)

01
02
01
01
02
01
02
01
01
02

3.3
6.7
3.3
6.7
3.3
5.0
10.0
10.0
5.0
10.0

33.4
16.7
18.8
21.4
14.3
22.6
11.3
12.7
14.5
9.7

Input:
H0100V0100B20310045676567
H0140V0210XM45676567
Output:

Note:

136

To add horizontal guard bars to the top and bottom of the
bar code, use the Line and Box command.

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

UPC-A/EAN-13
Command Structure:
B3bbccc (data)
D3bbccc (data)
BD3bbccc (data)
bb:
Width of narrow element in dots (01-03)
ccc:
Bar height in dots (001-600)
(data):
Bar code data (numeric); must be exactly 13 digits. For
UPC-A, the first digit must be a zero and the last 11 digits are the actual UPC-A data followed by a check digit.
To select UPC-A, 11 digits of data is sent. The printer adds a “0” and
automatically generates the check digit. If 12 digits of data are sent,
the printer assumes an EAN-13 symbol and automatically generates
the check digit. The last digit of the bar code data is a modulo 10 check
digit. If 13 digits of data are sent to the printer, the check digit is not
created and must be supplied by the programmer. It must be the last
character in the 13 digit string and can be determined by using the calculations outlined below.
Character Set:
0-9 (numeric only)
Density table and Output:
Printer Value of Narrow
Resolution “bb”
Bar
Width
(mils)

Narrow Magnification
Bar
Factor
Width
(mm)

12 dot/mm

04

13.0

0.333

100%

8 dot/mm

02

10.0

0.25

75%

SATO RISC Printers

Example
output
(scaled 70%)

137

4. Bar Code Specifications
Printer Value of Narrow
Resolution “bb”
Bar
Width
(mils)
8 dot/mm

03

15.0

Programming Manual
Narrow Magnification
Bar
Factor
Width
(mm)
0.375

Example
output
(scaled 70%)

112%

Input:
H0100V0375BD30215001234567890

Note:

D3 provides guide bars that extend longer than the rest of
the bar code. BD3 provides guide bars and the human
readable text below the symbol.
Calculating the Mod 10 Check Digit:
If you wish to encode the UPC-A data “01234567890”, follow these
steps to find the correct check digit.
0
2
4
6
8
0
ODD
EVEN
1.
2.
3.
4.
5.

6.

138

1

3

5

7

9

CD

First add all the numbers in the ODD positions.
i.e., 0+2+4+6+8+0 = 20
Multiply the result of Step 1 by 3.
i.e., 20 x 3 = 60
Add up all the numbers in the EVEN positions.
i.e., 1+3+5+7+9 = 25
Add the result of Step 2 to that of Step 3.
i.e., 60 + 25 = 85
Subtract the result of Step 4 from the next highest increment
of 10.
i.e., 90 - 85 = 5
The correct Modulo 10 check digit for the 11 digit string
“01234567890” is 5.

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

EAN-8
Command Structure:
B4bbccc (data)
D4bbccc (data)
bb:
Width of narrow element in dots (01-03)
ccc:
Bar height in dots (001-600)
(data):
Bar code data (numeric); must be exactly 8 digits.
Character Set:
0-9 (numeric only)
Density table:
Printer
Resolution

12 dot/mm

8 dot/mm

Value of “bb” Narrow Bar
Width
(mils)
02
03
04
02
03
04

6.7
10.0
13.0
10.0
15.0
20.0

Magnification
Factor
Below Minimum
75%
100%
75%
112%
150%

Input:
H0400V0375BD4031001234567
Output:

Note:
1. D4 provides guide bars that extend longer than the rest of the bar
code and the human readable text below the symbol.
2. The check digit is automatically calculated for EAN-8.

SATO RISC Printers

139

4. Bar Code Specifications

Programming Manual

Industrial Two of Five
Command Structure:
1:3 ratio:
2:5 ratio:
1:2 ratio:
bb:
ccc:
(data):

B5bbccc (data)
BD5bbccc (data)
D5bbccc (data)
Width of narrow element in dots (01-12)
Bar height in dots (001-600)
Bar code data (numeric); must be an even number of
digits or else the printer will add a leading zero

Character Set:
0-9 (numeric only)
Input:
H0100V0600BD50310012345
H0300V0710XS12345
Output.

Note:

140

To add horizontal guard bars to the top and bottom of the
bar code, use the Line and Box command.

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Matrix Two of Five
Command Structure:
1:3 ratio:
2:5 ratio:
1:2 ratio:
bb:
ccc:
(data):

B6bbccc (data)
BD6bbccc (data)
D6bbccc (data)
Width of narrow element in dots (01-12)
Bar height in dots (001-600)
Bar code data (numeric only); must be an even number
of digits or else the printer will add a leading zero.

Character Set:
0-9 (numeric only)
Input:
H0100V0775BD60310012345
H0230V0885XS12345
Output:

Note:

To add horizontal guard bars to the top and bottom of the
bar code, use the Line and Box command.

SATO RISC Printers

141

4. Bar Code Specifications

Programming Manual

Code 128
Command Structure:
BGbbcccdd (data)
bb:
Width of narrow element in dots (01-12)
ccc:
Bar height in dots (001-600)
dd:
Start code to specify initial subset of bar code data
>G
Subset A Start code
>H
Subset B Start code
>I
Subset C Start code
(data):
IncludesbarcodedataandsubsetShiftcodes;Shiftcodes
are used to change the subset type within the bar code
data.
Shift codes:
>E
Subset A Shift code
>D
Subset B Shift code
>C
Subset C Shift code
Density Table:
Printer
Value of "bb"
"X"
Resolution
Dimension
(mils)
12 dot/mm

8 dot/mm

01
02
03
01
02
03

3.3
6.7
10.0
5.0
10.0
15.0

Density
(char/inch)
Subset A, B Subset C
27.3
13.6
9.1
18.2
9.1
13.8

54.7
27.2
18.3
36.5
18.3
12.2

Input:
The following will start in Subset A for the characters “AB”, shift to Subset B for “789”, then shift to Subset C for “123456”.
H0200V0550BG03100>GAB>B789>C123456
H0310V655XSAB789123456
Output:

142

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Character Set:

SATO RISC Printers

143

4. Bar Code Specifications

Programming Manual

Character Set:

144

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

MSI
Command Structure:
1:3 ratio:
2:5 ratio
1:2 ratio
bb:
ccc:
(data):
d:

BAbbccc (data) d
BDAbbccc (data) d
DAbbccc (data) d
Width of narrow element in dots (01-12)
Bar height in dots (001-600)
Bar code data (numeric); maximum of 15 digits
Required check digit

Character Set:
0-9 (numeric only)
Input:
H0100V0950BA03100123455
H0170V1060XS12345
Output:

SATO RISC Printers

145

4. Bar Code Specifications

Programming Manual

Code 93
Command Structure:
1:3 ratio:BCbbcccdd (data)
bb:
Width of narrow element in dots (01-12)
ccc:
Bar height in dots (001-600)
dd:
Length of data (number of digits, 00-99)
(data):
Bar code data (alphanumeric); length must match value of parameter “dd”; check digit is supplied by printer
Character Set:
0-9, A-Z, -, ., Space, $, /, +, %
Density Table:
Printer
Narrow/
Resolution Wide Ratio
12 dot/mm

8 dot/mm

1:3
1:3
1:3
1:3
1:3
1:3

Value of
“bb”

“X”
Dimension
(mils)

Density
(char/inch)

01
02
03
01
02
03

3.3
6.7
10.0
5.0
10.0
15.0

33.3
16.7
11.1
22.5
11.3
7.5

Input:
H0100V1125BC03100081234ABCD
H0155V1240XS1234ABCD
Output:

146

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

UPC-E
Command Structure:
BEbbccc (data)
DEbbccc (data)
bb:
Width of narrow element in dots (01-03)
ccc:
Bar height in dots (001-600)
(data):
Bar code data (numeric); must be exactly 6 digits
Character Set:
0-9 (numeric only)
Density table:
Printer
Resolution

12 dot/mm

8 dot/mm

Value of “bb” Narrow Bar
Width
(mils)
02
03
04
02
03
04

6.7
10.0
13.0
10.0
15.0
20.0

Magnification
Factor
Below Minimum
75%
100%
75%
112%
150%

Input:
H0400V0550DE03100123456
H0375V0600OB0
H0408V0655OB123456
Output:

Note:

Command DE provides guide bars that extend longer than
the rest of the bar code.

SATO RISC Printers

147

4. Bar Code Specifications

Programming Manual

Bookland (UPC/EAN Supplements)
Command Structure:
BFbbccc (data)
bb:
Width of narrow element in dots (01-03)
ccc:
Bar height in dots (001-600)
(data):
Bar code data (numeric); must be exactly 2 or 5 digits
Character Set:
0-9 (numeric only)
Density table:
Printer
Resolution

12 dot/mm

8 dot/mm

Value of “bb” Narrow Bar
Width
(mils)
02
03
04
02
03
04

6.7
10.0
13.0
10.0
15.0
20.0

Magnification
Factor
Below Minimum
75%
100%
75%
112%
150%

Input:
H0325V0725D30315009827721123
L0101H0295V0800OB0
H0340V0878OB98277
H0480V0878OB21123
H640V0760BF0313021826
H655V0730OB21826
Output:

148

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

UCC-128
Command Structure:
BIbbcccd (data)
bb:
Width of the narrow elements in dots (01 to 12)
ccc:
Bar height in dots (001 to 600)
d:
Placement of human readable text
0 None
1 Text at top of bar code
2 Text at bottom of bar code
(data):
17 digits made up of the following:
1st digit = Container type
digits 2-8, Shipper identification
digits 9-17, Container Sequential number
Note: The Container Sequential number is not automatically sequenced by the printer.
Density Table and Character Set: See Code 128
Input:
Without incrementing
A
H0100V0100BI04150101234567000000001
Q2Z
Output:

SATO RISC Printers

149

4. Bar Code Specifications

Programming Manual

With incrementing
A
H0100V0100F001+001
BI04150101234567000000001
Q2Z
Output:

Note:
1. The Start, Function, Stop and Extension codes will be created by
the printer and added automatically.
2. The internal Modulo 10 check character will be automatically created and added by the printer. The overall Code 128 symbol check
character will be automatically created by the printer and added.
3. The automatically created human readable text will be created
according to the following rules:
• The spacing between the bar code and the text is fixed at 10
dots (.050 inches).
• If the width of the human readable text is wider than the bar
code, it will start at the same position as the bar code and
extend past the right of the bar code.
• If the width of the human readable text is less than the bar
code, it will be centered on the bar code.
• The automatically generated human readable font is OCR-B.
• If any part of the human readable text extends outside the
printable area, none of it will be printed. Care should be exercised when placing the bar code to allow for any automatically
created human readable text.

150

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Postnet
Command Structure:
BP (data)
data:
5 digits ZIP
6 digits for Postnet 37
9 digits for ZIP+4
11 digits for Dlelivery Point Bar Code
Character Set:
1-9 (numeric only)
Input:
H0100V0120BP94089
H0100V0160BP123456
H0100V0200BP123456789
H0100V0240BP12345678901
Output:

Note:
1. Frame bits and check digits added automatically by printer.
2. Bar code width and height are fixed and cannot be changed.
3. If the number of digits sent to the printer as data does not match
one of the formats specified above (i.e. 5, 6, 9 or 11), the command
is ignored and nothing will be printed.
4. If a “–” is included in the data stream (i.e. 84093-1565), it is
ignored.

SATO RISC Printers

151

4. Bar Code Specifications

Programming Manual

Two-Dimensional Bar Codes
Data Matrix, Data Format
Command Structure:
BXaabbccddeeefffghh
aa:
Format ID. 01-06 or 11-16. The values 07 and 17
will not be accepted by the printer.
bb:
Error correction level. 00 ,01, or 04-14. The values 02,
03 or values of 15 or greater will be processed as a 00.
cc:
Horizontal cell size. 03 - 12 dots/cell.
dd:
Vertical cell size. 03 - 12 dots/cell.
eee:
Number of cells in one line. Must use 000 to optimize.
fff:
Number of cell lines. Must use 000 to optimize.
g:
Mirror Image
0 =Normal Print
1 =Reverse Print
hh:
Guide Cell Thickness. 01-15. 01 indicates normal type.
Example:
BX03080505000000001
Placement:
Immediately preceding data to be encoded
Default:
None
Function:
To designate the format for a Data Matrix two-dimensional bar code
image on a label.
Input:
A
%0V0100H0100BX05051010000000001
DCDATA MATRIX DATA MATRIX
Q1Z
Output:

152

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Note:
1. If any of the parameters entered are outside the valid range, a
symbol will not be printed when the DC Print Data command is sent to the printer.
2. The number of cells per line (eee) and the number of cell lines (fff)
should be specified as all zeroes, allowing the printer to automatically calculate the optimum configuration for the symbol.
3. The Reference Point for the Data Matrix symbol is the upper-left
corner. If an R Rotate command is used to rotate the symbol, it will rotate in the counter-clockwise direction.
4. The Format ID specified for “aa” is defined by the following table.
The printer only supports the Format ID’s defined in the table.
ID
Number

CHARACTER SET

ENCODING
SCHEME

16 Bit CRC
01

Numeric, Space

Base 11

02

Upper Case Alpha, Space

Base 27

03

Upper Case Alpha, Space,Comma,
Period, Slash, Minus

Base 41

04

Upper Case Alphanumeric, Space

Base 37

05

ASCII 7-bit, Full Keyboard (20H -7FH)

ASCII

06

ISO 8-bit, International (20H -FFH)

8-Bit

32 Bit CRC
11

Numeric, Space

Base 11

12

Upper Case Alpha, Space

Base 27

13

Upper Case Alpha, Space, Comma,
Period, Slash, Minus

Base 41

14

Upper Case Alphanumeric, Space

Base 37

15

ASCII 7-bit, Full Keyboard (20H -7FH)

ASCII

16

ISO 8-bit, International (20H -FFH)

8-Bit

5. The maximum number of data characters that can be specified for
either the 16-Bit or 32-Bit CRC modes is 500.

SATO RISC Printers

153

4. Bar Code Specifications

Programming Manual

Two-Dimensional Bar Codes
Data Matrix, Print Data
Command Structure:
DCxx...x
xx...x:
Data, maximum of 500 characters
Example:
DC00006000
Placement:
Immediately following the BC Data Format designation command or the FX Sequentia Numbering command.
Default:
None
Function:
To print a Data Matrix two-dimensional bar code image on a label.
Input:
A
%0V0100H0100BX05051010000000001
DCDATA MATRIX DATA MATRIX
Q1Z
Output:

Note:
1. The maximum amount of data that can be printed with this command is 500 characters.
2. If an BX Data Format designation command contains any
parameters out of the valid range, no symbol will be printed when
this command is sent.

154

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Two-Dimensional Bar Codes
Data Matrix, Sequential Numbering
Command Structure:
FXaaabcccdddeee
aaa:
Number of duplicate labels to be printed (001 -999)
b:
Increment or Decrement
+ = Increment
- =Decrement
ccc:
Increment/Decrement Steps (001 - 999)
ddd:
Sequential numbering start position (001 - 999)
Referenced to left side.
eee:
Incremented data length measured from start position
(001 - 999)
Placement:
Immediately following the BX Data Format designation command and preceding the DC Print
Data Command.
Default:
Non
Function:
To print sequential numbered Data Matrix symbols.
Input:
A
V0100H0100
BX03081010000000001
FX002+001005003DC000060000
Q4Z
Output:
Label Set #1

SATO RISC Printers

155

4. Bar Code Specifications

Programming Manual

Label Set #2

Note:
1. The maximum number of FX Sequential Numbering commands that can be used in one job is eight.
2. In the example above four total labels will be printed
(FX002+005003DC00006000), the sequential numbering will start at position 5 and the three digits “600” will be
incremented in steps of 1. A total of two sets of labels will be
printed, the first set of two labels with the value “00006000” and
the next two label set with the value “00006010”.
Label Set #1
Label Set #2
1st Label 00006000
3rd Label 00006010
2nd Label 00006000
4th Label 00006010
3. The Q Label Quantity command must be set for the total
number of labels to be printed. In the above example, the value
for the Q command should be 2 sets x 2 labels/set = 4. If,
in the above example, it was set to a value of “1”, only the first
label would be printed.

156

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Two-Dimensional Bar Codes
Maxicode Vers. 3
Command Structure:
BVa,b,c,ddddddddd,eee,fff,DDD
a:
Symbol Number 1 - 8
b:
Number Symbol 1 - 8
c:
Mode 2: Structured Carrier Message
3: Structured Carrier Message
4: Standard Symbol
6: Reader Programming
ddd..d:
Postal Code
ee...e:
Country Code
fff:
Service Class
DDD:
Data Message (Do not enter Null Code!)
Function:
To print a Maxicode two-dimensional bar code image on a label.
Input:
AV0100H0100
BV1,1,2,152382802,840,001
[)>01951Z00004951UPSMAXICODE
06X610
UPSPA
Q1Z
Output:

Note:
1. The Secondary Message field (ee...e) must contain exactly 84
characters. If a smaller message is specified, the field must be
padded with “exclamation point” character(s).
2.  represents Hex 1E,  represents Hex 1D,  represents Hex 04,  represents Hex 1B and  represents Hex
20.

SATO RISC Printers

157

4. Bar Code Specifications

Programming Manual

Two-Dimensional Bar Codes
PDF417
Command Structure:
BKaabbcddeeffffnn...n
aa:
Minimum module dimension (03-09 dots). Will not print
if values of 01, 02 or greater than 10 are specified.
bb:
Minimum module pitch dimension (04-24 dots). Will not
print if values of 01, 02, 03 or greater than 25 are specified.
c:
Security (error detection) Level (1-8).
dd:
Code words per line (01-30). If 00 is specified for both
dd and ee, the printer automatically optimizes the number of rows per symbol.
ee:
Rows per symbol (00 or 03-40). If 00 is specified for
both dd and ee, the printer automatically optimizes the
number of rows per symbol.
ffff:
Number of characters to be encoded (0001-2700).
nn...n:
Data to be printed.
Example:
BK0304400000021
Placement:
Immediately preceding data to be encoded
Default:
None
Function:
To print a PDF417 two-dimensional bar code image on a label.
Input:
A
V0100H0100BK0607400000021PDF417 PDF417
PDF417
Q1Z
Output:

158

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Note:
1. When the code words per line and the number of rows per symbol
(“dd” and“ee”) are set to all zeroes, the printer will calculate the
optimum configuration.
2. If the product of the values entered for “dd” and “ee” are not
equal to or less than the value of “fff” (i.e.,“ffff” is greater that
“dd” x “ee”), an error will occur and the symbol will not be
printed. It is recommended that these values each be set to “000”
and the printer be allowed to automatically calculate the optimum
values.
3. The values for “dd” and “ee” need to be made larger if the security level is increased.
4. The maximum data length is 2700 characters, but may be less
depending upon:
- the minimum module dimension (“aa”)
- the security level specified by “c”.
- the number of data characters
5. The Reference Point of the PDF417 symbol is the upper-left corner.
6. The F Sequential Numbering command cannot be used
with this command.
7. The E Line Feed command cannot be used with this command.
8. The Macro and Truncated PDF417 symbols are not supported.
9. The values 00H thru 1FH can be specified as print data.
10.This command can be stored in a format.
11.The R Rotate command can be used.
12.The print height of the symbol will vary depending upon the data
specified; numeric only, alpha only or alphanumeric.

SATO RISC Printers

159

4. Bar Code Specifications

Programming Manual

Two-Dimensional Bar Codes
QR Code (Optional Special Firmware)
Available for CL 412 only (other printers on demand)
Limited factor without Maxicode and Datamatrix
Command Structure:
2D30, a,bb,c,d (ee, ff, gg)
a:
Error Correction Level L: 7%, M: 15%, Q: 25%, H: 30%
bb:
Cell size 01 - 32 dots/cell
c:
Connection Mode 0 = Normal, 1 = Nonnection
(The parameter for "ee", "ff", & "gg" will be used with "1"
if the file is split into several blocks as independent
symbol).
ee:
Total Connection Number 01 - 16
ff:
Connection Number for each symbol encoded as an independent one 01 - 16.
gg:
Connection Mode Parity Data 00 - FF hex
DS k, nn...n
k:
Input Data Type
1 = Numeric, 2 = Alphanumeric, 3 = Kanji (Shift JIS code)
nn...n:
Data
DN IIII, nn...n
IIII:
Data Size 0001 - 7089 bytes
This should be specified with either automatic code or
manual mode with binary.
nn...n:
Data

160

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Character Set:
Binary
S1

S0

b8

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

b7

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

b6

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

b5

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

b4 b3 b2 b1
0

0

0

0

0

SP

0

@

P

´

p

0

0

0

1

1

!

1

A

Q

a

q

0

0

1

0

2

"

2

B

R

b

r

0

0

1

1

3

#

3

C

S

c

s

0

1

0

0

4

$

4

D

T

d

t

0

1

0

1

5

%

5

E

U

e

u

0

1

1

0

6

&

6

F

V

f

v

0

1

1

1

7

’

7

G

W

g

w

1

0

0

0

8

(

8

H

X

h

x

1

0

0

1

9

)

9

I

Y

i

y

1

0

1

0

A

*

:

J

Z

j

z

1

0

1

1

B

+

;

K

[

k

{

1

1

0

0

C

,

<

L

\

l

|

1

1

0

1

D

-

=

M

]

m

}

1

1

1

0

E

.

>

N

^

n

~

1

1

1

1

F

/

?

O

_

o

DE
L

SATO RISC Printers

161

4. Bar Code Specifications

Programming Manual

Alphanumeric
S1

S0

b8

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

b7

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

b6

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

b5

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

b4 b3 b2 b1
0

0

0

0

0

SP

0

@

P

°

p

0

0

0

1

1

!

1

A

Q

a

q

0

0

1

0

2

"

2

B

R

b

r

0

0

1

1

3

#

3

C

S

c

s

0

1

0

0

4

$

4

D

T

d

t

0

1

0

1

5

%

5

E

U

e

u

0

1

1

0

6

&

6

F

V

f

v

0

1

1

1

7

’

7

G

W

g

w

1

0

0

0

8

(

8

H

X

h

x

1

0

0

1

9

)

9

I

Y

i

y

1

0

1

0

A

*

:

J

Z

j

z

1

0

1

1

B

+

;

K

[

k

{

1

1

0

0

C

,

<

L

\

l

|

1

1

0

1

D

-

=

M

]

m

}

1

1

1

0

E

.

>

N

^

n

~

1

1

1

1

F

/

?

O

_

o

DE
L

162

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Numeric
S1

S0

b8

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

b7

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

b6

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

b5

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

b4 b3 b2 b1
0

0

0

0

0

SP

0

@

P

°

p

0

0

0

1

1

!

1

A

Q

a

q

0

0

1

0

2

"

2

B

R

b

r

0

0

1

1

3

#

3

C

S

c

s

0

1

0

0

4

$

4

D

T

d

t

0

1

0

1

5

%

5

E

U

e

u

0

1

1

0

6

&

6

F

V

f

v

0

1

1

1

7

’

7

G

W

g

w

1

0

0

0

8

(

8

H

X

h

x

1

0

0

1

9

)

9

I

Y

i

y

1

0

1

0

A

*

:

J

Z

j

z

1

0

1

1

B

+

;

K

[

k

{

1

1

0

0

C

,

<

L

\

l

|

1

1

0

1

D

-

=

M

]

m

}

1

1

1

0

E

.

>

N

^

n

~

1

1

1

1

F

/

?

O

_

o

DE
L

Input (Quick Basic Example):
QR barcode test for CL412 1Y0200A/2E2000
CLS
E$ = CHR$(27)
WIDTH "LPT1:", 255
OPEN "lpt1:" FOR OUTPUT AS #1

Print Data
DATA1$ = "0123456789"
DATA2$ = " $%*+-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
DATA3$ = ""
FOR i = 0 TO 31
DATA3$ = DATA3$ + CHR$(i)
NEXT i
PRINT #1, E$; "A";

SATO RISC Printers

163

4. Bar Code Specifications

Programming Manual

Manual Mode with NUMERIC
PRINT #1, E$; "H050";
NUMERIC"
PRINT #1, E$; "H050";
"DS1,"; DATA1$;
PRINT #1, E$; "H350";
"DS1,"; DATA1$;
PRINT #1, E$; "H650";
"DS1,"; DATA1$;
PRINT #1, E$; "H950";
"DS1,"; DATA1$;

E$; "V010"; E$; "XSMANUAL MODE WITH
E$; "V050"; E$; "2D30,L,06,0,0"; E$;
E$; "V050"; E$; "2D30,M,06,0,0"; E$;
E$; "V050"; E$; "2D30,Q,06,0,0"; E$;
E$; "V050"; E$; "2D30,H,06,0,0"; E$;

Manual Mode with ALPHANUMERIC
PRINT #1, E$; "H050";
NUMERIC";
PRINT #1, E$; "H050";
"DS2,"; DATA2$;
PRINT #1, E$; "H350";
"DS2,"; DATA2$;
PRINT #1, E$; "H650";
"DS2,"; DATA2$;
PRINT #1, E$; "H950";
"DS2,"; DATA2$;

E$; "V310"; E$; "XSMANUAL MODE WITH ALPHAE$; "V350"; E$; "2D30,L,06,0,0"; E$;
E$; "V350"; E$; "2D30,M,06,0,0"; E$;
E$; "V350"; E$; "2D30,Q,06,0,0"; E$;
E$; "V350"; E$; "2D30,H,06,0,0"; E$;

Manual Mode with BINARY
PRINT #1,
BINARY";
PRINT #1,
"DN0033,";
PRINT #1,
"DN0033,";
PRINT #1,
"DN0033,";
PRINT #1,
"DN0033,";

164

E$; "H050"; E$; "V610"; E$; "XSMANUAL MODE WITH
E$; "H050";
DATA3$;
E$; "H350";
DATA3$;
E$; "H650";
DATA3$;
E$; "H950";
DATA3$;

E$; "V650"; E$; "2D30,L,06,0,0"; E$;
E$; "V650"; E$; "2D30,M,06,0,0"; E$;
E$; "V650"; E$; "2D30,Q,06,0,0"; E$;
E$; "V650"; E$; "2D30,H,06,0,0"; E$;

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Multiple Data
PRINT
PRINT
PRINT
PRINT
PRINT

#1,
#1,
#1,
#1,
#1,

E$;
E$;
E$;
E$;
E$;

"H050"; E$; "V910"; E$; "XSMULTIPLE DATA";
"H050"; E$; "V950"; E$; "2D30,H,06,0,0";
"DS1,"; DATA1$;
"DS2,"; DATA2$;
"DN0033,"; DATA3$;

Connection Mode
DATA$ = DATA1$ + DATA2$
X = LEN(DATA$)
XORDATA = ASC(MID$(DATA$, 1, 1))
FOR i = 2 TO X
XORDATA = XORDATA XOR ASC(MID$(DATA$, i, 1))
NEXT i
XORDATA$ = HEX$(XORDATA)

Manual Mode
PRINT #1,
PRINT #1,
XORDATA$;
PRINT #1,
PRINT #1,
XORDATA$;
PRINT #1,

E$; "H050"; E$; "V1410"; E$; "XSMANUAL MODE";
E$; "H050"; E$; "V1450"; E$; "2D30,Q,06,0,1,03,01,";
E$; "DS1,"; DATA1$;
E$; "H500"; E$; "V1450"; E$; "2D30,Q,06,0,1,03,02,";
E$; "DS2,"; DATA2$;

Automatic Mode
PRINT #1,
PRINT #1,
XORDATA$;
PRINT #1,
PRINT #1,
XORDATA$;
PRINT #1,

E$; "H050"; E$; "V1710"; E$; "XSAUTOMATIC MODE";
E$; "H050"; E$; "V1750"; E$; "2D30,Q,06,1,1,03,01,";
E$; "DN0010,"; DATA1$;
E$; "H500"; E$; "V1750"; E$; "2D30,Q,06,1,1,03,02,";
E$; "DN0045,"; DATA2$;

PRINT #1, E$; "H800"; E$; "V2000"; E$; "XSf:BASIC\QBASIC\CL412\QR_CODE.BAS";
PRINT #1, E$; "Q1";
PRINT #1, E$; "Z";

SATO RISC Printers

165

4. Bar Code Specifications

Programming Manual

Output:

166

SATO RISC Printers

Programming Manual

4. Bar Code Specifications

Note:
1. The data command should be used according to the input mode
or data type. Please refer to the attached programm sample and
print sample.
2. With automatic mode, the data for 80 - 9F hex or E0 - FF hex will
be handled for Kanji data, not Binary data.
3. With manual mode, the multiple data fields for Numeric, Alphanumeric, Kanji and Binary can be specified in one job. Also, the
maximum data size should be less than 7000 bytes.

SATO RISC Printers

167

4. Bar Code Specifications

Programming Manual

This page is intentionally left blank.

168

SATO RISC Printers

Programming Manual

5.

5. Interface Specifications

Interface Specifications

5.1 Overview
This section explains the interface specifications for the SATO RISC printers. These specifications include detailed information on how to properly
interface your printer with your host system and includes data about the
following:
•

Interface Types

•

Using The Receive Buffer

•

RS232C Serial Interface

•

Centronics Parallel Interface

•

I/F Connector

5.2 Interface Types
In order to provide flexibility in communicating with a variety of host computer systems, the SATO RISC printers can be configured for operation
with either parallel or serial data transfers. Both a parallel Centronics and
a serial RS232 interface are supplied with the standard printer.
The Centronics Parallel interface will probably be the most useful in communicating with IBM PCs and compatibles. The RS232C Serial interface
allows connectivity to a number of other hosts. For instructions on how to
properly configure the printer for either of these interface types, see the
printer configuration instructions in Section 2 of your service manual.
NOTE:
Both the Centronics and RS232C interfaces are
active at the same time, i.e. data can be received on
either one, however no provision is made for port
contention. If data is transmitted to both ports simultaneously, it will cause the data in the receive buffer
to be corrupted.
WARNING:
Never connect or disconnect interface cables or use
a switch box with power applied to either the host or
the printer. This may cause damage to the interface
circuitry in the printer/host and is not covered by
warranty.

SATO RISC Printers

169

5. Interface Specifications

Programming Manual

5.3 The Receive Buffer
The SATO RISC printers have the ability to receive a data stream from
the host in one of two ways. The receive buffer may be configured to
accept one print job at a time or multiple print jobs. The single job print
buffer is generally used by software programs that wish to maintain control of the job print queue so that it can move a high priority job in front of
ones of lesser importance. The multiple job buffer, on the other hand
prints all jobs in the order they are received by the printer, and the order
of printing cannot be changed.

Single Job Buffer
The printer receives and prints one job at a time. Each job must not
exceed 64 K bytes.

Multi Job Buffer
The printer is able to continuously receive print jobs, compiling and printing other jobs at the same time. It acts much like a “print buffer” to maximize the performance of the host and the printer.The Multi Job Buffer
mode is selected with DSW2-5. When using the RS232 Serial interface,
the Multi Job Buffer uses either the Ready/Busy with DTR (pin 20) or XOn/X-Off flow control protocols. See these sections for more details. With
an empty receiving buffer, the status of DTR is “high” (or an X-On status
if using X-On/X-Off), meaning the printer is ready to receive data. When
the receive buffer is holding 62K bytes of data (2K bytes from being full),
DTR will go “low” (or an X-Off is sent) indicating the printer can no longer
receive data. This condition is called “Buffer Near Full”.
0

62K

64K

DTR High or
X-On
DTR Low or
X-Off
Buffer Near Full

The receiving buffer will not be able to receive more data again until a
“Buffer Available” condition occurs. This takes place when the receiving
buffer has emptied so that only 56K bytes of data are being held (8K bytes

170

SATO RISC Printers

Programming Manual

5. Interface Specifications

from being full). At this time, DTR will go “high” or an X-On is sent to tell
the host that it can again receive data.
56K

0

64K

DTR High or
X-On

DTR Low or
X-Off
Buffer Available

All printer error conditions (i.e., label out, ribbon out) will cause the printer
to go busy (DTR “low” or X-Off) until the problem is corrected and the
printer is placed on-line. The printer will also be busy if taken off-line from
the front panel.

5.4 RS232C Serial Interface
General Specifications
Asynchronous ASCII

Half-duplex communication.
Ready/Busy Hardware Flow Control
Pin 20, DTR Control
Pin 4, RTS Error Condition
X-On/X-Off Software Flow Control.
Bi-Directional communication (ENQ/Response)

Data Transmission Rate

2400, 4800, 9600 and 19200 bps

Character Format

1 Start Bit (fixed)
7 or 8 data bits (selectable)
Odd, Even or No Parity (selectable)
1 or 2 Stop bits (selectable)

SATO RISC Printers

171

5. Interface Specifications

Programming Manual

Electrical Specifications
Connector

DB-25S (Female)

PIN 13

PIN 1

PIN 14

PIN 25

Cable

DB-25P (Male), 50 ft. maximum length. For cable configuration, refer to cable requirements appropriate to the
RS232C protocol chosen.

Signal Levels

High = +5V to +12V
Low = -5V to -12V

Pin Assignments
RS232C Interface Signals
PIN

DIRECTION

1

Reference

2

To Host

3

To Printer

4

To Host

172

SIGNAL DESCRIPTION
FG (Frame Ground)
TD (Transmit Data) - Data from the printer to the host
computer. Sends X-On/X-Off characters or status data
(Bi-Directional protocol).
RD (Receive Data) - Data to the printer from the host
computer.
RTS (Request to Send) Used with Ready/Busy flow control to indicate an error condition. RTS is high and
remains high unless the print head is open, (in this case,
RTS would return to the high state after the print head is
closed and the printer is placed back on-line) or an error
condition occurs during printing (e.g., ribbon out, label
out).

SATO RISC Printers

Programming Manual

5. Interface Specifications

5

To Printer

CTS (Clear to Send) - When this line is high, the printer
assumes that data is ready to be transmitted. The printer
will not receive data when this line is low. If this line is
not being used, it should be tied high (to pin 4).

6

To Printer

DSR (Data Set Ready) - When this line is high, the printer will be ready to receive data. This line must be high
before data is transmitted. If this line is not being used, it
should be tied high (to pin 20).

7

Reference

SG (Signal Ground).

20

To Host

DTR (Data Terminal Ready) - This signal applies to
Ready/Busy flow control. The printer is ready to receive
data when this pin is high. It goes low when the printer is
off-line, either manually or due to an error condition, and
while printing in the Single Job Buffer mode. It will also
go low when the data in the buffer reaches the Buffer
Near Full level.

SATO RISC Printers

173

5. Interface Specifications

Programming Manual

Ready/Busy Flow Control
Ready/Busy is the hardware flow control for the serial interface on the
printer. By raising/lowering the voltage level on Pin 20 of the RS232 port,
the printer notifies the host when it is ready to receive data. Pin 4 (RTS)
and Pin 20 (DTR) are the important signals on the printer for this method
of flow control. The host must be capable of supporting this flow control
method for it to function properly.

Cable Requirements
HOST

INTERCONNECTION

PRINTER

FG

1 FG (Frame Ground)

TD

3 RD (Receive Data)
4 RTS (Request to Send)
5 CTS (Clear to Send)
6 DSR (Data Set Ready)

*

20 DTR (Data Terminal Ready)

SG

7 SG (Signal Ground)

* This connection at the host side of the interface would depend upon the
pin that is being used as the Ready/Busy signal by the driving software.
Typically on a PC, it would be either CTS (pin 5) or DSR (pin 6) on a DB25 connector.

Data Streams
Once the flow control method has been chosen for the RS232C interface,
the data stream must be sent in a specific manner. The STX and ETX control characters must frame the data stream.
A . . Job#1 . . ZA . . Job#n . .
Z

NOTE:

All characters, including STX, ESC and ETX are in ASCII.

X-On/X-Off Flow Control
X-On/X-Off flow control must be used whenever hardware (Ready/Busy)
flow control is not available or desirable. Instead of a voltage going high/
low at pin 20, control characters representing “Printer Ready” (X-On = 11
hexadecimal) or “Printer Busy” (X-Off = 13 hexadecimal) are transmitted
by the printer on pin 2 (Transmit Data) to the host. In order for this method
of flow control to function correctly, the host must be capable of supporting
it. X-On/X-Off operates in a manner similar to the function of pin 20 (DTR)
as previously explained. When the printer is first switched on and goes

174

SATO RISC Printers

Programming Manual

5. Interface Specifications

on-line, an X-On is sent out. In the Single Job Buffer mode, when the
printer receives a print job, it transmits an X-Off and begins printing. When
it is done printing, it transmits an X-On. In the Multi Job Buffer mode, the
printer sends an X-Off when the “Buffer Near Full” level is reached and a
X-On when the data level of the buffer drops below the “Buffer Available”
mark. When the printer is taken off-line manually, it transmits an X-Off
indicating it cannot accept data. When it is placed back on line manually,
it sends an X-On, indicating it is again available for receipt of data. If an
error occurs during printing (paper out, ribbon out), the printer sends nothing in the Single Job Buffer mode since the last character transmitted was
an X-Off. When the error is cleared and the printer resumes printing, no
X-On is sent until the current job is completed and the printer is once
again read to receive the next job. If it is in the Multi Job Buffer mode, it
sends an X-Off as soon as an error condition is detected. When the error
is cleared and the printer is placed back on-line, it transmits an X-On indicating it is again ready to accept data.

Upon switch up, if no error conditions are present, the printer will
continually send X-On characters at five millisecond intervals until
it receives a transmission from the host.
Cable Requirements
HOST

INTERCONNECTION

PRINTER

FG

1 FG (Frame Ground)

RD

2 TD (Transmit Data)

TD

3 RD (Receive Data)
4 RTS (Request to Send)
5 CTS (Clear to Send)
6 DSR (Data Set Ready)
20 DTR (Data Terminal Ready)

SG

7 SG (Signal Ground)

Data Streams
The data streams for X-On/X-Off are constructed in the same way as they
are for Ready/Busy flow control. The STX and ETX control characters
must frame the data stream. (NOTE: All characters, including STX, ESC
and ETX are in ASCII).
A . . Job#1 . . ZA . . Job#n . .
Z
Example: A . . Job#1 . . ZXXXXX

SATO RISC Printers

175

5. Interface Specifications

Programming Manual

Bi-Directional Communications
This is a two-way communications protocol between the host computer
and the printer, thus enabling the host to check printer status. When this
protocol is selected, there is no busy signal from the printer (pin 20, DTR,
is always high). The host must request the complete status from the
printer, including ready/busy. Whenever the host requests printer status,
it transmits an ENQ to the printer and the printer will respond with its status within five milliseconds. If printing, it will respond upon finishing the
current label, then resume printing. In order for this protocol to work properly, pin 6 (DTR) and pin 5 (CTS) must be held high by the host. One way
to ensure these pins are always in the correct state is to tie pin 20 (DTR)
to pin 6 (DSR) and pin 4 (RTS) to pin 5 (CTS) at the printer end of the
cable.

Cable Requirements
HOST

INTERCONNECTION

PRINTER

FG

1 FG (Frame Ground)

RD

2 TD (Transmit Data)

TD

3 RD (Receive Data)
4 RTS (Request to Send)
5 CTS (Clear to Send)
6 DSR (Data Set Ready)
20 DTR (Data Terminal Ready)

SG

7 SG (Signal Ground)
If a CAN (18 hexadecimal) is received by the printer, it will cancel the current print job and clear all data from the receive buffer.

Status Response
The Bi-Com protocol is an advanced version of bi-directional communications where the printer can also report the number of labels remaining to
be printed for the current print job. Upon receipt of an ENQ command, the
printer responds with nine bytes of status information bounded by an STX/
ETX pair. The Bi-Com protocol works only in the Multi Job Buffer mode.
The status information is defined as follows:
{ 2 Byte ID}{1 Status Byte}{6 Byte Label Remaining}
ID - This is a two byte number identifying the current print job ID. The print
job ID is defined using the ID Job ID command transmitted with
the print job (see Job ID Store in the command listing for more information
on how to use this command). The range is from 00 to 99.

176

SATO RISC Printers

Programming Manual

5. Interface Specifications

Status - A single byte defining the current status of the printer.
Label Remaining - Six bytes defining the number of labels remaining in
the current print job. The range is from 000000 to 999999 labels.
If an ENQ is received after the print job specified in the ID bytes has been
completed, or there is no data in the buffer, the printer will respond with
two “space” characters (20 hexadecimal) for the ID number and six “zero”
characters (30 hexadecimal) in the Remaining Labels bytes.
If a CAN (18 hexadecimal) command is received , it will stop the print job
and clear all data from the receive and print buffers. A delay of five milliseconds or more is required before any new data can be downloaded.
The CAN command is effective immediately upon receipt, even if the
printer is off-line or in an error condition. The printer will return an ACK
(06 hexadecimal) if there is no printer error condition and a NAK (15 hexadecimal) if an error condition exists.
Upon receipt of a valid print job (A . . . Z), and ACK (06
hexadecimal) will be returned by the printer if there are no errors and a
NAK (16 hexadecimal) if a printer error exists.

SATO RISC Printers

177

5. Interface Specifications

Programming Manual

Status Byte Definition, Bi-Com Protocol
ASCII

HEX

DEFINITION

OFF-LINE
0
30
No Errors
1
31
Ribbon Near End
2
32
Buffer Near Full
3
33
Ribbon Near End and Buffer Near Full
ON-LINE, WAITING FOR DATA
A
41
No Errors
B
42
Ribbon Near End
C
43
Buffer Near Full
D
44
Ribbon Near End and Buffer Near Full
ON-LINE, PRINTING
G
47
No Errors
H
48
Ribbon Near End
I
49
Buffer Near Full
J
4A
Ribbon Near End and Buffer Near Full
ON-LINE, WAITING TO DISPENSE A LABEL
M
4D
No Errors
N
4E
Ribbon Near End
O
4F
Buffer Near Full
P
50
Ribbon Near End and Buffer Near Full
ON-LINE, COMPILING PRINT JOB
S
53
No Errors
T
54
Ribbon Near End
U
55
Buffer Near Full
V
56
Ribbon Near End and Buffer Near Full
OFF-LINE, ERROR CONDITION
a
61
Receive Buffer Full
b
62
Head Open
c
63
Paper End
d
64
Ribbon End
e
65
Media Error
f
66
Sensor Error
g
67
Head Error
i
68
Memory Card Error
j
6A
Cutter Error
k
6B
Other Error Condition

178

SATO RISC Printers

Programming Manual

5. Interface Specifications

5.5 Centronics Parallel Interface
Electrical Specifications
Printer Connector

AMP 57-40360 (DDK) or equivalent

Cable Connector

AMP 57-30360 (DDK) or equivalent

Cable Length

10 ft. or less

Signal Level

High = +2.4V to +5.0V
Low = 0V to -0.4V

Centronics Parallel Interface Pin Assignments
PIN

SIGNAL

DIRECTION

PIN

SIGNAL

DIRECTION

1

STROBE

To Printer

19

STROBE Return

Reference

2

DATA 1

To Printer

20

DATA 1 Return

Reference

3

DATA 2

To Printer

21

DATA 2 Return

Reference

4

DATA 3

To Printer

22

DATA 3 Return

Reference

5

DATA 4

To Printer

23

DATA 4 Return

Reference

6

DATA 5

To Printer

24

DATA 5 Return

Reference

7

DATA 6

To Printer

25

DATA 6 Return

Reference

8

DATA 7

To Printer

26

DATA 7 Return

Reference

9

DATA 8

To Printer

27

DATA 8 Return

Reference

10

ACK

To Printer

28

ACK Return

Reference

11

BUSY

To Host

29

BUSY Return

Reference

12

PTR ERROR

To Host

30

PE Return

Reference

13

SELECT

To Host

31
FAULT

To Host

14

32

15

33

16

34

17

FG

18

+5V
(Z=24K ohm)

Frame Ground

SATO RISC Printers

35
36

179

5. Interface Specifications

Programming Manual

DATA STREAMS
Single Job Buffer: The Single Job Buffer mode is not available when
using the Centronics interface.
Multi Job Buffer:A . . Job#1 . . Z
A . . Job#n . . Z
Note:
For parallel communications, the STX and ETX characters
are not required .

5.6 I/F Connector
PIN Assignments S-Types and M8400RV
PIN DIRECTION

SIGNAL DESCRIPTION

1

To Host

Vcc -+5V

2

To Host

Ribbon Near End - This pin goes high when the amount
of ribbon on the unwind shaft is approximately 46 feet (14
m). The output will be low when the ribbon is completely
out.

3

To Host

Error - This pin goes low when the printer detects an error
condition such as head open or receiving buffer full.

4

To Printer

Reprint - The last label will be reprinted when this signal
is received.

5

To Printer

Print Start - The printer will print one label when this pin is
pulled to ground. This signal must be enabled by placing
switch DSW3-5 on the Control Panel in the OFF position.

6

To Host

End Print - It is used to drive an applicator or other external device requiring synchronisation with the print cycle.
You may choose between four types of output signals
using control panel DSW3-6 and DSW3-7 selections.

7

To Host

Label Out - This pin goes low (OV) when a label out error
exists.

8

To Host

Ribbon Out - This pin goes low when the ribbon is out.

9

Reference

Signal Ground

NOTE: The signals on pins 2, 3, 6, 7 and 8 each have an open collector output. These pins normally measure +.07V maximum when a
true condition exists. If a false condition occurs, the voltage will drop
to 0V. To achieve a signal level of +5V, you must add a 1K ohm, ¼ W
pull-up resistor between the open collector output pin and Vcc (pin
1) as illustrated. This will provide a signal level of +5V for a true con-

180

SATO RISC Printers

Programming Manual

5. Interface Specifications

dition and 0V when a false condition exists. The maximum voltage
that can be applied to these pins is +50V and the maximum current
they can sink is 500 milliamps.
Pin 1
Vcc = +5V

1 K ohm, ¼W

Signal Out
Pin 2, 3, 6, 7 or 8

External Output Signal Types (Pin #6)

STANDARD OPERATION
Start Print

End Print

+5V

PRINT START
INPUT

0V

PRINT
REPEAT
PRINT END
TYPE 1

+5V
0V
+5V
0V
20 milliseconds

PRINT END
TYPE 2

PRINT END
TYPE 3

PRINT END
TYPE 4

+5V
0V
+5V
0V
+5V

SATO RISC Printers

0V

181

5. Interface Specifications

Programming Manual

REPEAT PRINT
Start Print
PRINT START
INPUT

PRINT
REPEAT
PRINT END
TYPE 1

End Print

+5V
0V
+5V
0V
+5V
0V
20 milliseconds

PRINT END
TYPE 2

PRINT END
TYPE 3

PRINT END
TYPE 4

182

+5V
0V
+5V
0V
+5V
0V

SATO RISC Printers

Programming Manual

5. Interface Specifications

ERROR SIGNALS

Paper or Ribbon End

Head
Open

Head
Closed

Paper/Ribbon
Replenished

PRINT MOTION
MOVING
STOPPED
+5V
PAPER END
0V
+5V
RIBBON END
0V

MACHINE
ERROR
PRINT END
TYPE 1
PRINT END
TYPE 2

PRINT END
TYPE 3

PRINT END
TYPE 4

SATO RISC Printers

+5V
0V
+5V
0V
+5V
0V
+5V
0V
+5V
0V

183

5. Interface Specifications

Programming Manual

PIN Assignments CL 408/412 and CL608/612 (VA)
PIN

DIRECTION

1

To Host

2

Reference

3

To Host

Ribbon Out - This pin goes low when the ribbon is out.

4

To Host

Error - This pin goes low when the printer detects an
error condition such as head open or receiving buffer
full.

5

To Printer

Print Start - The printer will print one label when this
pin is pulled to ground. This signal must be enabled
by placing switch DSW3-5 on the Control Panel in the
ON position.

6

To Host

End Print - It is used to drive an applicator or other
external device requiring synchronization with the print
cycle. You may choose between four types of output
signals using control panel DSW3-6 and DSW3-7 selections.

7

To Printer

Print Repeat - The printer repeatedly prints the current
label in the print buffer immediately after receiving this
signal.
DSW3-8 must be ON.

10

To Host

+12V - Used to power accessory items.

12

To Host

+24V - Used to power accessory items.

13

To Host

Vcc - +5V

14

Reference

NOTE:

184

SIGNAL DESCRIPTION
Label Out - This pin goes low (0V) when a label out
error exists.
Signal Ground

Frame Ground

The signals on pins 1, 3 4 and 6 each have an open
collector output. These pins normally measure
+.07V maximum when a true condition exists. If a
false condition occurs, the voltage will drop to 0V. To
achieve a signal level of +5V, you must add a 1K ohm,
¼ W pull-up resistor between the open collector output pin and Vcc (pin 13) as illustrated. This will provide a signal level of +5V for a true condition and 0V
when a false condition exists. The maximum voltage

SATO RISC Printers

Programming Manual

5. Interface Specifications

that can be applied to these pins is +50V and the
maximum current they can sink is 500 milliamps.
Pin 13
Vcc = +5V

1 K ohm, ¼W

Signal Out
Pin 1, 3 4 or 6

+5V
TYPE 1
0V
20 milliseconds
+5V
TYPE 2
0V
+5V
TYPE 3
0V
+5V
TYPE 4
0V
Start Print
(Label Feed
Stop)

SATO RISC Printers

End Print
(Label Feed
Stop)

185

5. Interface Specifications

Programming Manual

PIN Assignments XL400/410
PIN

DIRECTION

1
2
3

SIGNAL DESCRIPTION
No Connection

Reference

Signal Ground

To Rewinder Enables the rewinder

4

No Connection

5

To Printer

Full switch - Stops the printer when the stacker or
rewinder is full

6

To Stacker

Enables the stacker

7

No Connection

10

No Connection

12

To Host

+24V - Used to power accessory items.

13

To Host

Vcc - +5V

14

Reference

186

Frame Ground

SATO RISC Printers

Programming Manual

6.

6. Troubleshooting

Troubleshooting

6.1 Overview
The design of SATO RISC printers is based upon proven technology and
reliable components. When a problem occurs, the solution can be easily
traced using the troubleshooting tables in this section. This table list
symptoms, probable causes, and suggested corrective actions. Both print
quality and general operational problems are listed in the troubleshooting
table.
Make sure the basics have been checked before deciding you are unable
to proceed any further. To help you this section has been divided into the
following parts:
•

Initial Checklist

•

Centronics Parallel Interface

•

RS232C Serial Interface

•

Error Signals

SATO RISC Printers

187

6. Troubleshooting

Programming Manual

6.2 Initial Checklist
If you are unable to produce output on your printer, check the following
before deciding you are unable to proceed any further.
1. Is the printer switched up and ON-LINE?
2. Do any of the Front Panel LEDs indicate an error condition? If this light
is ON, it may indicate the print head assembly is open.
3. Is the Print Head and the Label Hold Down in the down and latched
position?
Other areas that may need looking at include:

6.3 Troubleshooting the Centronics (Parallel) Interface
1. Is the IBM parallel printer cable connected securely to your parallel
port (DB-25S Female) on the PC and to the Centronics connector on
the printer?

Warning: Never connect or disconnect interface cables (or use a
switch box) with power applied to either the printer or the host. This
may cause damage to the interface circuitry and is not covered by
warranty.
2. Is there more than one parallel interface port on your PC (LPT1, LPT2,
etc.)? If so, make sure you are sending data out the correct port.
3. When you send the print job to the printer, and it does not respond, do
you get an error message on your PC that says “Device Fault” or
something similar?
This may mean that the computer doesn’t know the printer is there. Verify
that:
a) Both ends of the cable are securely inserted into their respective connectors.
b) The printer is ON-LINE.
c) The cable is not defective. There are other things that can cause this
error message on your computer, but at this stage, a defective cable
may be one of the reasons.

188

SATO RISC Printers

Programming Manual

6. Troubleshooting

4. When you send the print job to the printer and it does not respond, and
there is no error message on the PC:
a) Check your data stream for some of the basics. Is your job framed as
follows?
A—DATA---Z
b) Verify that you’ve included all required parameters in the data stream.
c) Verify the following:
•

You have not typed a “0” (zero) for an “O” (letter) or vice-versa.

•

You have not missed any  characters where they’re needed.

•

Make sure all printer command codes are capital letters.

•

Your protocol codes are set for Standard or Non-Standard and your
data stream is consistent with these.

5. If you’ve checked all of the above and the printer still isn’t printing, you
may want to try a Receive Buffer Hex Dump to determine what (if anything) the printer is receiving from your computer.
The Centronics port is now listening for incoming data. Send your print
job. The printer will now print (only once) a Hexadecimal (Hex) Dump
of everything it received from the host computer. Each 2-digit hexadecimal character represents a character the printer received. It may be
tedious, but now you can analyse and troubleshoot the data stream.
6. While checking the Hex Dump printout, if you notice 0D 0A (Carriage
Return and Line Feed) characters throughout. The command string
should be continuous. CR or LF characters are not allowed between
the Start Command (A) and the Stop Command (Z). If
you are using BASIC, it may be adding these characters automatically
as the line wraps. Adding a “width” statement to your program can help
to suppress these extra 0D 0A characters by expanding the line length
up to 255 characters.
If you’re not programming in BASIC, check to see if you have an equivalent statement in the language you’re using to suppress extra carriage returns and line feeds from your data being sent out to the printer.
We want the data stream to be one complete line going to the printer.

SATO RISC Printers

189

6. Troubleshooting

Programming Manual

6.4 Troubleshooting the RS232C (Serial) Interface
1. Is the RS232C Serial cable connected securely to your serial port on
the PC (DB-25S Male) and to the RS232C connector on the printer?

Warning: Never connect or disconnect interface cables (or use a
switch box) with power applied to either the printer or the host. This
may cause damage to the interface circuitry and is not covered by
warranty.
2. Is the cable defective? At the very least, you should be using a “Null
Modem Cable,” which crosses pins in a specific manner. This should
enable your printer to print. We recommend that you use a cable built
to specifications described in Section 3, Interface Specifications.
3. Check for obvious errors in the data stream. Remember that all print
jobs for serial data must be framed by an STX and ETX.
4. If after sending your job to the printer, it only “beeps” (or displays a
Framing Error message on the LCD panel), you may have a configuration problem. There may be some inconsistencies with the Baud
Rate, Parity, Data Bits, or Stop Bits in relation to your host computer.
If you are confused as to what the printer’s current RS232 settings are,
you may choose the SATO defaults (all DIP switches in the OFF position) to achieve 9600 baud, no parity, 8 data-bits, and 1 stop bit).
5. If you still are unable to get printer output, try the Hex Dump as
described in Step 5 under the Centronics Interface troubleshooting. In
this case, the printer monitors its RS232C interface for incoming data.
6. From the Hex Dump, if you are seeing extra 0D 0A (CR and LF) characters, and are using BASIC, refer to the beginning of the Command
Code section in the Operator and Technical Reference Manual.

190

SATO RISC Printers

Programming Manual

6. Troubleshooting

6.5 Error Signals M8400RV and M84S Series Printers
(Some of the following procedures are not NA for M-8459S)
LED
Error On
Error On
Error On
Error On
Error Blinks
Error Blinks

LCD
AUDIBLE
MESSAGE
BEEP
Machine
Error
EEPROM
Error
Head Error
Sensor
Error
Card R/W
Error
Card Low
Battery
Head Open
Cutter Error
PARITY
ERROR
Overrun
Error
Framing
Error
Buffer Over

Error Blinks
Error Blinks
Error On
Line Blinks
Error On
Line Blinks
Error On
Line Blinks
Error On
Line Blinks
Error Blinks Paper End
Label On

1 Long
1 Long
1 Long
3 Short
1 Long

EEPROM
Read/Write
Head
Sensor

3 Short
3 Short

Label End

1 Long
3 Short
3 Short
3 Short
3 Short
3 Short

3 Short

Error Blinks Media Error
Label Blinks
Ribbon
Blinks
Line Blinks

3 Short
None
None

TO CLEAR

Machine Error Switch power ON/OFF

Memory Card
Read/Write
Memory Card
Battery Low
Head Open
Cutter
RS232 Parity
Error
RS232 Overrun
Error
RS232 Framing Error
Buffer Overflow

Error Blinks Ribbon End
Ribbon On

SATO RISC Printers

ERROR
CONDITION

Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Close head lever
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF

Open/close Head
Lever Open/close
Label Hold down
Ribbon End Open/close Head
Lever Open/close
Label Hold down
Media Error Open/Close Head
Lever
Ribbon Near Replace ribbon with full
End
roll
Buffer Near Full Slow down transmission rate

191

6. Troubleshooting

Programming Manual

6.6 Error Signals CL408/412
LED

LCD
AUDIBLE
MESSAGE
BEEP

Red

Machine
Error
EEPROM
Error
Head Error
Sensor
Error
Card R/W
Error
Card Low
Battery
Head Open
Cover Open

Red
Red
Red
Red Blinking
Red Blinking
Red Blinking
Red Blinking

1 Long
1 Long
1 Long
3 Short
1 Long
1 Long
3 Short
3 Short

Red Blinking Parity Error

3 Short

Red Blinking

3 Short

Red Blinking
Red Blinking
Red Blinking
Red Blinking
Red Blinking

192

Overrun
Error
Framing
Error
Buffer Over
Paper End
Ribbon End
Cutter Error

3 Short
3 Short
3 Short
3 Short
3 Short

ERROR
CONDITION

TO CLEAR

Machine Error Switch power ON/OFF
EEPROM
Read/Write
Head
Sensor
Memory Card
Read/Write
Memory Card
Battery Low
Head Open
Front/Top Door
Open
RS232 Parity
Error
RS232 Overrun
Error
RS232 Framing Error
Buffer Overflow
Label End
Ribbon End
Cutter Malfunction

Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Close Head Lever
Close Doors
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Switch power ON/OFF
Open/Close Head
Open/Close Head
Open/Close Head

SATO RISC Printers

Programming Manual

6. Troubleshooting

6.7 Error Signals CL608/612 (VA)
LED

LCD MESSAGE AUDIBLE
BEEP

Error on

Maschine Error

1 Long

Error on

EEPROM Error

1 Long

Error on

Head Error

1 Long

Error on

Sensor Error

3 Short

Error Blinks

Card R/W Error

1 Long

Error Blinks Card Low Battery

1 Long

Error Blinks

Head Open

3 Short

Error Blinks

Cutter Error

3 Short

Error On
Error Blinks
Error On
Error Blinks
Error On
Error Blinks
Error On
Error Blinks
Error Blinks
Label On

PARITY ERROR

3 Short

Overrun Error

3 Short

Framing Error

3 Short

Buffer Over

3 Short

Paper End

3 Short

Error Blinks
Ribbon On

Ribbon End

3 Short

Error Blinks
Label Blinks
Ribbon Blinks

Media Error

3 Short

Line Blinks

SATO RISC Printers

None
None

ERROR
CONDITION

TO CLEAR

Maschine Erro Cycle power on/
off
EEPROM
Cycle power on/
Read/Write
off
Head
Cycle power on/
off
Sensor
Cycle power on/
off
Memory Card Cycle power on/
Read/Write
off
Memory Card Cycle power on/
Battery Low
off
Head Open
Close Head
Lever
Cutter
Cycle power on/
off
RS232 Parity Cycle power on/
Error
off
RS232 Over- Cycle power on/
run Error
off
RS232 Fra- Cycle power on/
ming Error
off
Buffer Over- Cycle power on/
flow
off
Label End
Open/Close
Head Lever or
Label Holddown
Ribbon End
Open/Close
Head Lever or
Label Holddown
Media Error
Open/Close
Head Lever
Ribbon Near Replace Ribbon
End
with full roll
Buffer Near Slow down transFull
mission rate

193

6. Troubleshooting

Programming Manual

6.8 Error Signals XL400/410
LED

LCD

Beep

Error Condition

To Clear

Error On

Machine 1 Long
Machine Error
Cycle power ON/OFF
Error
Error On EEPROM 1 Long EEPROM Read/Write Cycle power ON/OFF
Error
Error On Head Error 3 Short Print Head is damaReplace Print Head
ged
Cycle power ON/OFF
Error On Sensor 3 Short Media wandering Mis- Check media guides
Error
selected sensor type Cycle power ON/OFF
Error
Card R/W 1 Long Memory Card Read/ Format Memory Card
Blinks
Error
Write
Cycle power ON/OFF
Error
Card Low 1 Long Memory Card Battery
Replace MC battery
Blinks
Battery
Low
Cycle power ON/OFF
Error
Head
3 Short
Head Open
Close head lever
Blinks
Open
Cycle power ON/OFF
Error On Parity Error 3 Short RS232 Parity Error
Line
Blinks
Error On Overrun 3 Short RS232 Overrun Error Cycle power ON/OFF
Error
Line
Blinks
Error On Framing 3 Short RS232 Framing Error Cycle power ON/OFF
Line
Error
Blinks
Buffer Overflow
Cycle power ON/OFF
Error On Buffer Full 3 Short
Line
Blinks
Error Paper End 3 Short Media End or Mis-selReplenish media
Blinks
ected media type
Select correct media
Label On
type Open/close Head
Lever Open/close Media
Hold down
Error
Ribbon 3 Short
Ribbon End
Replace Ribbon
Blinks
End
Ribbon Broken
Open/close Head Lever
Open/close Media Hold
down
Error
Media
3 Short Media pitch is diffeInstall proper media
Blinks
Error
rent than specified by Open/close Head Lever
command

194

SATO RISC Printers

Programming Manual
Error
Blinks
Error
Blinks
Error
Blinks
Error
Blinks

Stacker
Full
Rewinder
Full
Cutter
Error
Cutter
Sensor
Error

3 Short
3 Short

6. Troubleshooting
Stacker is full of cut
media
Rewinder is full

Empty Stacker

Remove roll from rewinder
3 Short
Cutter is jammed
Clear Cutter
Cycle power ON/Off
3 Short Media in cutter sensor Remove media from cutWrong cutter sensor ter sensor Select correct
position
sensor

SATO RISC Printers

195

6. Troubleshooting

Programming Manual

This page is intentionally left blank.

196

SATO RISC Printers

Programming Manual

7.

7. Custom Protocol Command Codes

Custom Protocol Command Codes

7.1 Description
This section contains information on creating custom Protocol Command
Codes for operating the RISC printer. The Protocol Command codes are
used to tell the printer that a specific type of information is being transmitted to the printer. As an example, the Standard Protocol Command Code
specifies the use of an character to tell the printer that the following
character(s) will represent a specific command. Sometimes the host computer is unable to generate the character or it uses the  character
to control another function. In this case, an Alternate Protocol Command
Code set can be selected for use by placing DIP switch 2-7 in the ON position. When the Alternate set is selected, the  character is not used
and is instead replaced with a “carrot” (^) character. A command stream
would then start with an “^A” instead of an “A”. These two sets of
Protocol Command Codes are adequate for the majority of all applications, but occasionally situations occur where conflicts exist when using
the Alternate set. In these cases, the user can define and download a custom set of Protocol Command Codes that are stored in EEPROM memory
in the printer. After these are downloaded, they replace the Alternate
Command Code set when DIP switch DS2-7 is in the ON position. When
DIP switch DS2-7 is in the OFF position, the Standard Protocol Command
Codes are used.

SATO RISC Printers

197

7. Custom Protocol Command Codes

Programming Manual

7.2 Download Command Structure
The command for downloading a new set of Protocol Command Codes
takes the form of LD,a,b,c,d,e,f,g,h,i. The parameters specified for
“a” through “i” can be transmitted in either ASCII characters or hex notation, allowing a complete 128 character (except for the “,”) set to be used
for selecting the custom code.
PARAMETER
STANDARD
ALTERNATE SETTING (DEFAULT)
SETTING
a
b
c
d
e
f
g
h (Auto
ONLINE)
i (Zero Slash)

STX
ETX
ESC
ENQ
CAN
~
OFFLINE
No
No

{
}
^
@
!
~
)
0 = YES
1 = NO
0 = YES
1 = NO

If the custom Protocol Command codes are incorrect or if the printer does
not respond to commands using the custom set, the Alternate Protocol
Control Codes can be restored by the following procedure:
1. Turn the printer off.
2. Place DIP switch DS2-7 in the ON position.
3. Turn power on while simultaneously pressing the FEED and LINE
switches.
4. When the message “ALT PROTOCOL DEFAULT COMPLETED”
appears on the display turn the printer off.

ALT. PROTOCOL
DEFAULT COMPLETE
For printers that do not have a display panel and the completion of the
Protocol Default is signified by a single “beep”. Once this beep is
heard, then turn the printer off.
5. When the printer is powered up again, the Alternate Protocol Command Code set will be active. All previous custom settings will be lost.

198

SATO RISC Printers

Programming Manual

7. Custom Protocol Command Codes

7.3 Download Procedure
The procedure for downloading a custom Protocol Command Code set is:
1. Reset the printer to the default settings using the Reset procedure.
2. Place DIP switch DS2-7 in the ON position.
3. Turn the POWER switch ON while simultaneously pressing the LINE
switch. This places the printer in the USER DOWNLOAD mode as signified by a “User Download” displayed on the LCD panel.

USER DOWNLOAD

4.

5.
6.

7.

8.

For printers that do not have an LCD panel, you will hear a single
“beep” signifying the printer is in the User Download mode.
Set DIP switch DS2-7 in the position to accept the Protocol Control
codes to be used for downloading (i.e. DS2-7 = OFF for Standard
codes and DS2-7 ON to use the Alternate set).
Press the LINE key to place the printer in the On-Line mode. The
printer is ready to receive the download command data stream.
After the command has been sent, the unit will beep and print a status
label. If it does not beep and print the label, the printer did not accept
the data.
If the printer does not beep and print a setting label, turn the printer
off, check your download command stream for errors and start the
download process over at step 1.
If the custom codes are correct, press the FEED key to accept them
and terminate the download process. If they are incorrect, turn the unit
off without pressing the FEED key and begin the download process
again at step 1.

SATO RISC Printers

199

7. Custom Protocol Command Codes

Programming Manual

Custom Protocol Command Download for Sample command Stream:
WIDTH "LPT1:", 255
E$ = CHR$(27)
LPRINT E$; "A";
LPRINT E$; "LD,{,},^,@,!,~,),0,0";
LPRINT E$; "Z";

200

SATO RISC Printers

Programming Manual

8.

8. Custom Characters And Graphics

Custom Characters And Graphics

8.1 Custom-designed Character Example
The following example is presented to help understand the use of the
Custom-Designed Characters command. It demonstrates the design and
printing of an “arrow” in a 16 x 16 matrix.
1. Determine which matrix size to use
• 16 dot x 16 dots
• 24 dots by 24 dots
2. Lay out a grid and draw the image on the grid.
• Each square represents one dot
• Blacken squares for each printed dot

SATO RISC Printers

201

8. Custom Characters And Graphics

Programming Manual

3. Transfer the image into two bit map representations and then into
hexadecimal or binary format.
ROW
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

BIT MAP
0000
0001
0000
0011
0000
0111
0000
1111
0001
1111
0011
1111
0111
1111
1111
1111
0000
0111
0000
0111
0000
0111
0000
0111
0000
0111
0000
0111
0000
0111
0000
0111

0000
1000
1100
1110
1111
1111
1111
1111
1100
1100
1100
1100
1100
1100
1100
1100

0000
0000
0000
0000
0000
1000
1100
1110
0000
0000
0000
0000
0000
0000
0000
0000

HEX
01
03
07
0F
1F
3F
7F
FF
07
07
07
07
07
07
07
07

00
80
C0
E0
F0
F8
FC
FE
C0
C0
C0
C0
C0
C0
C0
C0

4. To store the custom designed character in memory using a hexadecimal data stream, the command would be:
A
T1H3F0100038007C00FE01FF03FF87FFCFFFE07C007C007C
007C007C007C007C007C0Z

Note: This should be a continuous data string without any CR or LF
characters.
5. To recall the custom character from memory, send the following code
to the printer. Note that you can print other data as well. Also note how
the character size was expanded using the L command.
A
L0505H0150V100K1H903F
L0505H0600V100K1H903F
L0303H0125V0250MTHIS SIDE UP !
Q1
Z

202

SATO RISC Printers

Programming Manual

8. Custom Characters And Graphics

6. To store the custom designed character in memory using a binary data
stream, the command would be:
A
T1B3F 01H 00H 03H 80H 07H C0H 0FH E0H 1FH
F0H 3FH F8H 7FH FCH FFH FEH 07H C0H 07H C0H
07H C0H 07H C0H 07H C0H 07H C0H 07H C0H 07H C0H
Z
Note: Spaces are shown between hexidecimal values in the above
example for clarity only and are not included in the data string.
Note that the data stream is only half as long as the hexadecimal format. This is because we can send the binary equivalent of
“11111111” (represented above in its hexidecimal value of FFH), for
example, using one eight bit word while it takes two eight bit words
to transmit the hexadecimal equivalent “F” and “F”. To send binary
characters using BASIC, the expression “CHR (&HFF) will send the
binary equivalent of FF (i.e., 11111111).
7. To recall the custom character from memory, send the following code
to the printer:
A
L505H0150V100K1B903F
L505H0600V100K1B903F
L0303H0125V0250XMTHIS SIDE UP !
Q1
Z
The printer output for both the hexadecimal and binary format examples
is:

SATO RISC Printers

203

8. Custom Characters And Graphics

Programming Manual

The following example is presented to help you understand the use of the
Custom Graphics command. It demonstrates the design and printing of a
“diskette” in a 48 x 48 matrix.
1. Determine the matrix size for the graphic. It must be in 8 dot by 8 dot
blocks. The example here has six blocks horizontally and six blocks
vertically (48 x 48 dots).
2. Lay out a grid and draw the image on the grid.
• Each square represents one dot
• Blacken squares for each printed dot

204

SATO RISC Printers

Programming Manual

8. Custom Characters And Graphics

3. Transfer the image into a bit map representation and then into hexadecimal format:
Binary:
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

00111111
01111111
11100000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
11000000
01100000
00110000
00011000
00001100
00000110
00000011

SATO RISC Printers

11111111
11111111
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
01100000
00111111
00011111
00000000
00000000
00000000
00000000
00000001
00000011
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
11111111
11111111

11111111
11111111
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
11111111
11111111
00000000
00000000
00000000
11111111
11111111
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
11111111
11111111

11111111
11111111
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
11111111
11111111
00000000
00000000
00000000
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111

11111111
11111111
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
00000110
11111100
11111000
00000000
00000000
00000000
10000000
11000000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11111111
11111111

11111100
11111110
00000111
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000111
11111110
11111100

205

8. Custom Characters And Graphics

Programming Manual

Hex:
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

206

3F
7F
E0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
60
30
18
0C
06
03

FF
FF
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
3F
1F
00
00
00
00
01
03
06
06
06
06
06
06
06
06
06
06
06
FF
FF

FF
FF
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
FF
FF
00
00
00
FF
FF
03
03
03
03
03
03
03
03
03
03
03
03
FF
FF

FF
FF
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
FF
FF
00
00
00
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF

FF
FF
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
06
FC
F8
00
00
00
80
C0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
FF
FF

FC
FE
07
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
07
FE
FC

SATO RISC Printers

Programming Manual

8. Custom Characters And Graphics

4. Using the hexadecimal data, send the following code to print the
graphic image as designed.
E$ = CHR$(27)
WIDTH "lpt1:", 255
LPRINT E$; "A";
LPRINT E$; "V0100"; E$; "H0100"; E$; "GH006006";
LPRINT "3FFFFFFFFFFC"; "7FFFFFFFFFFE"; "E06000000607";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C06000000603"; "C06000000603"; "C06000000603";
LPRINT "C03FFFFFFC03"; "C01FFFFFF803"; "C00000000003";
LPRINT "C00000000003"; "C00000000003"; "C000FFFF8003";
LPRINT "C001FFFFC003"; "C00303FFE003"; "C00603FFE003";
LPRINT "C00603FFE003"; "C00603FFE003"; "C00603FFE003";
LPRINT "C00603FFE003"; "C00603FFE003"; "C00603FFE003";
LPRINT "600603FFE003"; "300603FFE003"; "180603FFE003";
LPRINT "0C0603FFE007"; "06FFFFFFFFFE"; "03FFFFFFFFFC";
LPRINT E$; "H0200"; E$; "V0100"; E$; "XMSATO Printer Driver"

LPRINT E$; "H0200"; E$; "V0150"; E$; "XMDisk1"
LPRINT E$; "Q1";
LPRINT E$; "Z";

Note: Spaces shown in the hexidecimal listing above are for emphasis only. Spaces must not be encoded within the graphic portion of
the data stream to the printer. Also, CR and LF characters to separate the lines must not be encoded in the data stream.

SATO RISC Printers

207

8. Custom Characters And Graphics

Programming Manual

5. To send the data in binary format, the software must convert the data
into binary format before transmitting it to the printer. Using the BASIC
programming language for example, this is done by notation “CHR$
(&HC0)” which sends the hexidecimal value of “C0” as binary data
(11000000). The BASIC program listing for sending this graphic to the
printer (using the RS232 port) in binary format is:
E$ = CHR$(27)
OPEN "lpt1:" FOR RANDOM AS #1
PRINT #1, E$; "A";
PRINT #1, E$; "V0100"; E$; "H0100"; E$; "GB006006";
PRINT #1, CHR$(&H3F); CHR$(&HFF); CHR$(&HFF); CHR$(&HFF);
CHR$(&HFF); CHR$(&HFC);
PRINT #1, CHR$(&H7F); CHR$(&HFF); CHR$(&HFF); CHR$(&HFF);
CHR$(&HFF); CHR$(&HFE);
PRINT #1, CHR$(&HE0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H7);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H6); CHR$(&H3);

208

SATO RISC Printers

Programming Manual
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H6); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HFC); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HF8); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&H80); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HC0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC0);
CHR$(&HE0); CHR$(&H3);

SATO RISC Printers

8. Custom Characters And Graphics
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H60); CHR$(&H0); CHR$(&H0);
CHR$(&H3F); CHR$(&HFF); CHR$(&HFF);
CHR$(&H1F); CHR$(&HFF); CHR$(&HFF);
CHR$(&H0); CHR$(&H0); CHR$(&H0);
CHR$(&H0); CHR$(&H0); CHR$(&H0);
CHR$(&H0); CHR$(&H0); CHR$(&H0);
CHR$(&H0); CHR$(&HFF); CHR$(&HFF);
CHR$(&H1); CHR$(&HFF); CHR$(&HFF);
CHR$(&H3); CHR$(&H3); CHR$(&HFF);
CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&H6); CHR$(&H3); CHR$(&HFF);

209

8. Custom Characters And Graphics

Programming Manual

PRINT #1, CHR$(&HC0); CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC0); CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&H60); CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&H30); CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&H18); CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&HE0); CHR$(&H3);
PRINT #1, CHR$(&HC); CHR$(&H6); CHR$(&H3); CHR$(&HFF);
CHR$(&HE0); CHR$(&H7);
PRINT #1, CHR$(&H6); CHR$(&HFF); CHR$(&HFF); CHR$(&HFF);
CHR$(&HFF); CHR$(&HFE);
PRINT #1, CHR$(&H3); CHR$(&HFF); CHR$(&HFF); CHR$(&HFF);
CHR$(&HFF); CHR$(&HFC);
PRINT #1, E$; "H0200"; E$; "V0100"; E$; "XMSATO Printer
Driver"
PRINT #1, E$; "H0200"; E$; "V0150"; E$; "XMDisk1"
PRINT #1, E$; "Q1";
PRINT #1, E$; "Z";

The printer output for both the hexadecimal and binary format examples
is:

210

SATO RISC Printers

Programming Manual

8. Custom Characters And Graphics

8.2 PCX Graphics Example
A graphics file in a PCX format may also be transmitted to the printer. The
file must not be larger than 32K bytes (DOS file size reported in a DIR
listing). For example, the Lion.PCX image shown below has a file size of
3800 bytes.

The uncompressed size (PCX is a compressed file) of the file must not be
greater than 64K bytes. Generally this is not a problem unless the graphic
image is surrounded by large amount of white space which the PCX algorithm can compress very efficiently. If this is the case, the file should be
recaptured to eliminate the surrounding white space as much as possible.
The following basic program will send and print this file:
OPEN "c:\dynamic\graphics\lion.pcx "FOR INPUT AS #1
WIDTH"LPT1:",255
DA$=INPUT$(3800,#1)
E$=CHR$(27)
LPRINT E$;"A";
LPRINT E$;"V150";E$;"H100";E$;"GP3800,";DA$;
LPRINT E$;"Q1";E$;"Z";

SATO RISC Printers

211

8. Custom Characters And Graphics

Programming Manual

This page is intentionally left blank.

212

SATO RISC Printers



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.2
Linearized                      : No
Page Count                      : 212
Page Mode                       : UseOutlines
Create Date                     : 1999:06:21 08:56:24
Producer                        : Acrobat Distiller 3.01 for Windows
Title                           : Title.book
Creator                         : FrameMaker 5.5.2L11a
EXIF Metadata provided by EXIF.tools

Navigation menu