44
Epic 950 TM Transact Template LanguagePN 95-09147, Sept 2009

Epic 950TM - winfo.si€¦ · BANKjet, 50Plus, Insta-Load, Ithaca, "Made to Order. Built to Last", Magnetec, PcOS, ... Refer to the Epic 950 OEM Integration Manual for complete

  • Upload
    lamdang

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Epic 950TM Transact Template Language™

PN 95-09147, Sept 2009

This page intentionally left blank

95-05246 Rev A Page i

Change History Rev A Initial release Sept 2009

Page ii Rev A 95-05246

Important: Before installing any equipment be sure to consult the specifications in this manual. Failure to do so may cause integration problems. Portions of this manual may be changed without prior notice.

Note: Losses that can be attributed to improper installation and working procedures are not the responsibility of TransAct Technologies Inc. No part of this manual may be used to recreate any part of the Epic 950TM Printer. This manual is to be used for integration purposes only. If this manual contains any questionable information or mistakes please contact TransAct for assistance.

Disclaimer NOTICE TO ALL PERSONS RECEIVING THIS DOCUMENT: The information in this document is subject to change without notice. No part of this document may be reproduced, stored or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of TransAct Technologies, Inc. ("TransAct"). This document is the property of and contains information that is both confidential and proprietary to TransAct. Recipient shall not disclose any portion of this document to any third party. TRANSACT DOES NOT ASSUME ANY LIABILITY FOR DAMAGES INCURRED, DIRECTLY OR INDIRECTLY, FROM ANY ERRORS, OMISSIONS OR DISCREPANCIES IN THE INFORMATION CONTAINED IN THIS DOCUMENT. TransAct cannot guarantee that changes in software and equipment made by other manufacturers, and referred to in this publication, do not affect the applicability of information in this publication.

Copyright © 2009 TransAct Technologies, Inc. All rights reserved. Revision Level A Sept 2009 Printed in USA

Trademarks Some of the product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies. BANKjet, 50Plus, Insta-Load, Ithaca, "Made to Order. Built to Last", Magnetec, PcOS, POSjet, PowerPocket and TransAct are registered trademarks and Epic 950, Flex-Zone, imPort, ithaColor, iTherm, KITCHENjet, Momentum, QDT and TicketBurst are trademarks of TransAct Technologies, Inc.

95-05246 Rev A Page iii

Table of Contents

Change History............................................................................................................. i Disclaimer ................................................................................................................... ii Copyright ..................................................................................................................... ii Trademarks ................................................................................................................. ii Table of Contents ....................................................................................................... iii Who Should Read This Guide? ................................................................................... 2 What Is Included In This Guide? .................................................................................. 2

Transact Template Language™ Overview ............... 3 What is TTL? ............................................................................................................... 5 TTL Structure .............................................................................................................. 6

Region ..................................................................................................................... 6 Template ................................................................................................................. 7 Command Nomenclature ......................................................................................... 9 Print Commands .................................................................................................... 10

Predefined Templates .........................................12

Predefined Regions ............................................16

User Defined Regions .........................................29 GS M – Start/End Region/Template Definition ....................................................... 31 GS Q – Query Definition ........................................................................................ 32 GS O – Execute Region/Template ......................................................................... 33 Defining a Region .................................................................................................. 34

User Defined Templates......................................35 GS C – Enter Data ................................................................................................. 37 GS D – Retrieve Data ............................................................................................ 38 GS B – Extract Barcode Data ................................................................................ 39 Defining a Template .............................................................................................. 40

Page 2 Rev A 95-05246

Who Should Read This Guide? This document provides information useful to original equipment manufacturers (OEM) who will integrate the Epic 950TM printer into their products.

What Is Included In This Guide? This document is a supplement to the Epic 950 OEM Integration Manual. It describes the Transact Template Language™ (TTL) which greatly simplifies the ticket printing process with both predefined ticket templates and the ability to store user defined custom ticket templates. Refer to the Epic 950 OEM Integration Manual for complete information on the mechanical, electrical, and command language requirements of the Epic 950 printer, not covered in this supplement.

95-05246 Rev A Page 3

chapter 1

Transact Template Language™ Overview

Page 4 Rev A 95-05246

This page intentionally left blank

Epic 950 TTL Supplement

95-05246 Rev A Page 5

What is TTL? Transact Template Language (TTL) is a printer control language designed to simplify the creation and printing of tickets for the gaming industry. TTL provides two levels of ticket printing functionality:

Template based printing where complete ticket formats are predefined and stored in the printer. The host merely fills in the blanks

Direct selection and printing of predefined print regions to allow “on the fly” ticket formatting.

The Epic 950 contains a selection predefined regions and templates to allow printing of the most common ticket formats. User defined regions and templates are also supported.

Epic 950 TTL Supplement

Page 6 Rev A 95-05246

TTL Structure TTL is made up of two components: Regions and Templates

Region

Each region consists of a series of low level printer control codes and is identified by a unique ID number.

Regions are typically preformatted print areas and can include:

– A printable object such as text, bar code, or graphics

– Size Information

– Location Information

– Orientation

– Font

– Justification

Regions may also contain other control codes which can be used for non printing functions.

A region can be executed directly or may be grouped with other regions into templates

Epic 950 TTL Supplement

95-05246 Rev A Page 7

Template

A template is a special type of region that can include several other predefined regions.

Templates can also contain printer control codes in addition to region definitions.

A template typically contains all of the regions and commands required to print a complete ticket.

Since templates are also regions, assigned ID numbers cannot be the same as those used to identify simple regions.

Each region included within a template also has an associated data buffer. Since a template can be composed of multiple regions, each data record sent from the host must include a data tag that identifies the data buffer to be used. The data buffer associated with each region is assigned during template definition.

Unlike other protocols which require template data to be sent in a specific order, the use of data tags allows ticket data to be sent in any order.

A template is printed by sending a series of data records followed by the Execute Region/Template command.

Epic 950 TTL Supplement

Page 8 Rev A 95-05246

Data tags provide two advantages over other template printing schemes:

o Template data may be sent from the host in any order. The data tag identifies the data buffer associated with each region on the template

o Data tags reference specific data types. All Transact predefined templates use consistent data tag assignments. Although this is not a requirement for user defined templates it is highly recommended that thee definitions be used for consistency.

Table 1- Predefined Data Tags

Data Tag Number

Data Type

1 Validation Number

2 Establishment Name

3 Street Address

4 City/State Address

5 Date

6 Time

7 Voucher Number

8 Alphabetic Amount

9 Secondary Alphabetic Amount

10 Numeric Amount

11 Expiration

12 Machine Number

13 First Barcode Number

14 Secondary Barcode Number

15 Dynamic Banner Text

16 Dynamic Validation Text

o Example: Transact region 18 defines a bar code that is centered on the

ticket (machine readable) while Transact region 28 defines a bar code that is offset to the bottom of the ticket (not machine readable). The data sent from the host for each of these regions can be identified by data tag 13 rather than needing to know which regions are used on the tickets.

Epic 950 TTL Supplement

95-05246 Rev A Page 9

Command Nomenclature Nomenclature When describing control codes, confusion often occurs as to whether the command description is decimal, hexadecimal, or ASCII. To minimize the problem, this programmer’s guide uses the following nomenclature when describing control code sequences.

[ ] Encloses a control character. [ ] represents a single, 8-bit value as defined in the standard ASCII tables. An example would be [ESC], which would represent a 1BH or 27 decimal.

< > Encloses an 8-bit value in decimal format. The value is from zero to 255. An example is <2>, which represents 02H or 2 decimal.

<xNN> Encloses an 8-bit value in hexadecimal format. The value is from x00 to xFF. An example is <x12>, which represents 12H or 18 decimal.

<n> Indicates a variable parameter. The variable parameter, <n>, can have a value from zero to 255. The meaning of <n> is described and defined in the description of the command.

<n1> <n2> Indicates that there are two parameters, <n1> and <n2>, where both can have values from zero to 255.

x All other characters in control strings represent ASCII characters. For example, [ESC] 1 represents 1BH followed by 31H.

Epic 950 TTL Supplement

Page 10 Rev A 95-05246

Print Commands Templates and regions can be executed using the commands below. Additional commands for region and template definitions are contained in chapters 4and 5 [GS] C <n>– Enter Data into Data Buffer n

ASCII [GS] C n

Hexadecimal 1DH 43H n

Decimal <29> <67> n

Parameters n = the data tag number, 1 ≤ n ≤ 16. If n = 0, all data buffers are cleared.

Description This command is used in conjunction with the [GS] O command for the template printing operation. The data to be entered into this field should follow this command and should be terminated by a [CR] or [LF]. Each data field can hold up to 100 characters. If more characters are received before the terminating [CR] or [LF], the extra characters are discarded. [GS] O <n>– Execute Region/Template

ASCII [GS] O n

Hexadecimal 1DH 4FH n

Decimal <29> <79> n

Parameters n = the template or region to execute, in the range 1 ≤ n ≤ 255.

Description This command executes a region/template. The data format for this command depends on whether a template or region is referenced by parameter n If the command references a template, the template will be executed immediately using the data previously loaded using the [GS] C commands. If the command references a region, any data required for that region must immediately follow the command. Once all desired regions have been executed, the host must issue a [FF] command to initiate the ticket print operation. If the selected template or region is undefined, or if n = 0, no operation is performed.

Epic 950 TTL Supplement

95-05246 Rev A Page 11

Example – Execute Template 78 – Sample Cashout Voucher

Figure 1 – Template 78 Sample Gaming Voucher

CASHOUT VOUCHER PRINT SEQUENCE

Command Explanation

[GS]C<1> Select Data Tag 1

12-3456-7890-1234-5678[CR] Validation Number, terminated with [CR]

[GS]C<2> Select Data Tag 2

TransAct Technologies Inc.[CR] Establishment Name, terminated with [CR]

[GS]C<3> Select Data Tag 3

20 Bomax Drive[ CR] Street Address, terminated with [CR]

[GS]C<4> Select Data Tag 4

Ithaca, NY 14850 [CR] City/State Address, terminated with [CR]

[GS]C<5> Select Data Tag 5

11/20/2003[CR] Date, terminated with [CR]

[GS]C<6> Select Data Tag 6

09:00:00[CR] Time, terminated with [CR]

[GS]C<7> Select Data Tag 7

VOUCHER # 00001[CR] Voucher Number, terminated with [CR]

[GS]C<8> Select Data Tag 8

ZERO DOLLARS AND NO CENTS [CR] Alphabetic Amount, terminated with [CR]

[GS]C<10> Select Data Tag 10

$0.00[CR] Numeric Amount, terminated with [CR]

[GS]C<11> Select Data Tag 11

30 days[CR] Expiration, terminated with [CR]

[GS]C<12> Select Data Tag 12

MACHINE # 14850[CR] Machine Number, terminated with [CR]

[GS]C<13> Select Data Tag 13

123456789012345678[CR] First Barcode Number, terminated with [CR]

[GS]O<78> Execute Template 78 (Prints ticket)

Epic 950 TTL Supplement

Page 12 Rev A 95-05246

chapter 2

Predefined Templates

Epic 950 TTL Supplement

95-05246 Rev A Page 13

This page intentionally left blank

Epic 950 TTL Supplement

Page 14 Rev A 95-05246

Epic 950 printers contain the following pre-defined templates: Customer specific firmware may contain additional and or modified templates. Template 78 – Cashout Voucher

Template 79 – Jackpot Receipt

Template 80 – Void Demo Void

Epic 950 TTL Supplement

95-05246 Rev A Page 15

Template 81 – Cashout Receipt

Template 82 – Jackpot Voucher

Template 83 – Demo Voucher

Template 84 – Void Void Void Void

Epic 950 TTL Supplement

Page 16 Rev A 95-05246

chapter 3

Predefined Regions

Epic 950 TTL Supplement

95-05246 Rev A Page 17

This page intentionally left blank

Epic 950 TTL Supplement

Page 18 Rev A 95-05246

This section contains a list of predefined regions stored in ROM memory in the Epic 950 printer. These predefined regions may be used as is, or redefined using the GS M command described in Chapter 4. Note that each region is defined by a series of low level printer commands and that not all regions contain printable data. Refer to the Epic 950 OEM Integration Manual for a complete description of these commands. Print data for printable regions may be sent from the host or “canned” in the Region definition. Predefined print data is indicated in the Setup by all capital letters in parentheses for example: “PRINT DATA”

Predefined Region 1 Page mode initialization

Command Sequence Explanation

[ESC]@ Reset to Power-up Condition

[GS]V<1> Set Print Orientation

Predefined Region 2 Setup for validation field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<0><0> Set absolute vertical position = 0

[GS]F<x80><0><100><1><244> Set field (Validation Number field, Left, 100, 500) Follow with dynamic text, terminated with [CR]

Predefined Region 3 Setup for your establishment field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<0><60> Set absolute vertical position = 60

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 4 Setup for your location field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<0><85> Set absolute vertical position = 85

[GS]F<1><0><0><1><224> Set field (Center, 0, 480) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

95-05246 Rev A Page 19

Predefined Region 5 Setup for city/state/zip field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<0><85> Set absolute vertical position = 85

[GS]F<0><1><234><3><192> Set field (Left, 490, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 6 Setup for “GAMING VOUCHER” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960)

GAMING VOUCHER[CR] Predefined text, terminate field with [CR]

Predefined Region 7 Setup for “VALIDATION” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><50> Set absolute vertical position = 306

[GS]F<0><0><200><1><154> Set field (Left, 200, 410)

VALIDATION[CR] Predefined text, terminate field with [CR]

Predefined Region 8 Setup for validation number field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><50> Set absolute vertical position = 306

[GS]F<0><1><164><3><192> Set field (Left, 420, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 9 Setup for date field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<1><0><180><1><144> Set field (Center, 180, 400) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

Page 20 Rev A 95-05246

Predefined Region 10 Setup for time field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<1><1><149><2><83> Set field (Center, 405, 595) Follow with dynamic text, terminated with [CR]

Predefined Region 11 Setup for ticket number field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<0><2><88><3><192> Set field (Left, 600, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 12 Setup for alpha dollar amount field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><110> Set absolute vertical position = 366

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 13 Setup for continued alpha dollar amount field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><130> Set absolute vertical position = 386

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

95-05246 Rev A Page 21

Predefined Region 14 Setup for numeric dollar amount field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x22> Select character size = 3W/3H

[ESC]G<1> Set emphasized print

[GS]$<1><194> Set absolute vertical position = 450

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 15 Setup for Voucher void after field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><215> Set absolute vertical position = 471

[GS]F<2><0><50><1><124> Set field (Right, 50, 380)

Voucher void after[CR] Predefined text, terminate field with [CR]

Predefined Region 16 Setup for void after time field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><215> Set absolute vertical position = 471

[GS]F<0><1><134><2><68> Set field (Left, 390, 580) Follow with dynamic text, terminated with [CR]

Predefined Region 17 Setup for machine number field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><215> Set absolute vertical position = 471

[GS]F<0><2><96><3><192> Set field (Left, 608, 960) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

Page 22 Rev A 95-05246

Predefined Region 18 Setup for centered barcode field

Command Sequence Explanation

[ESC]t<3> Set Print Direction in page mode = D

[ESC]G<0> Clear emphasized print

[GS]$<0><220> Set absolute vertical position = 220

[GS]A<0><240> Starting Position of Bar Code = 240

[GS]W<4><8> Set Bar Code Element Width Thin = 4, Thick = 8

[GS]h<100> Set Bar Code Height = 100

[GS]k<7><18> Print Bar Code (Interleaved 2 of 5, 18 characters) Follow with 18 bar code data characters!

Predefined Region 19 Setup for “JACKPOT RECEIPT” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960)

JACKPOT RECEIPT[CR] Predefined text, terminate field with [CR]

Predefined Region 20 Setup for numeric dollar amount field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x22> Select character size = 3W/3H

[ESC]G<1> Set emphasized print

[GS]$<0><220> Set absolute vertical position = 220

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 21 Setup for alpha dollar amount field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<0><240> Set absolute vertical position = 240

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

95-05246 Rev A Page 23

Predefined Region 22 Setup for continued alpha dollar amount field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><4> Set absolute vertical position = 260

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 23 Setup for date field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><40> Set absolute vertical position = 296

[GS]F<1><0><180><1><144> Set field (Center, 180, 400) Follow with dynamic text, terminated with [CR]

Predefined Region 24 Setup for time field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><40> Set absolute vertical position = 296

[GS]F<1><1><149><2><83> Set field (Center, 405, 595) Follow with dynamic text, terminated with [CR]

Predefined Region 25 Setup for ticket number field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><40> Set absolute vertical position = 296

[GS]F<0><2><88><3><192> Set field (Left, 600, 960) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

Page 24 Rev A 95-05246

Predefined Region 26 Setup for “VALIDATION” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<0><0><200><1><154> Set field (Left, 200, 410)

VALIDATION[CR] Predefined text, terminate field with [CR]

Predefined Region 27 Setup for validation number field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<0><1><164><3><192> Set field (Left, 420, 960) Follow with dynamic text, terminated with [CR]

Predefined Region 28 Setup for offset barcode field

Command Sequence Explanation

[ESC]t<3> Set Print Direction in page mode = D

[ESC]G<0> Clear emphasized print

[GS]$<0><45> Set absolute vertical position = 45

[GS]A<0><240> Starting Position of Bar Code = 240

[GS]W<4><8> Set Bar Code Element Width Thin = 4, Thick = 8

[GS]h<100> Set Bar Code Height = 100

[GS]k<7><18> Print Bar Code (Interleaved 2 of 5, 18 characters) Follow with 18 bar code data characters!

Predefined Region 29 Setup for “VOID DEMO VOID” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960)

VOID DEMO VOID[CR] Predefined text, terminate field with [CR]

Epic 950 TTL Supplement

95-05246 Rev A Page 25

Predefined Region 30 Setup for 1st “VOID VOID VOID VOID” field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<0><25> Set absolute vertical position = 25

[GS]F<1><0><0><0><0> Set field (Center, 0, 0)

VOID VOID VOID VOID[CR] Predefined text, terminate field with [CR]

Predefined Region 31 Setup for 2nd “VOID VOID VOID VOID” field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<0><75> Set absolute vertical position = 75

[GS]F<1><0><0><0><0> Set field (Center, 0, 0)

VOID VOID VOID VOID[CR] Predefined text, terminate field with [CR]

Predefined Region 32 Setup for 3rd “VOID VOID VOID VOID” field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<0><125> Set absolute vertical position = 125

[GS]F<1><0><0><0><0> Set field (Center, 0, 0)

VOID VOID VOID VOID[CR] Predefined text, terminate field with [CR]

Predefined Region 33 Setup for 4th “VOID VOID VOID VOID” field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<0><175> Set absolute vertical position = 175

[GS]F<1><0><0><0><0> Set field (Center, 0, 0)

VOID VOID VOID VOID[CR] Predefined text, terminate field with [CR]

Epic 950 TTL Supplement

Page 26 Rev A 95-05246

Predefined Region 34 Setup for 5th “VOID VOID VOID VOID” field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<0><225> Set absolute vertical position = 225

[GS]F<1><0><0><0><0> Set field (Center, 0, 0)

VOID VOID VOID VOID[CR] Predefined text, terminate field with [CR]

Predefined Region 35 Setup for 6th “VOID VOID VOID VOID” field

Command Sequence Explanation

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<0> Select print mode = 10x24, 20 CPI

[GS]!<x11> Select character size = 2W/2H

[ESC]G<1> Set emphasized print

[GS]$<1><19> Set absolute vertical position = 275

[GS]F<1><0><0><0><0> Set field (Center, 0, 0)

VOID VOID VOID VOID[CR] Predefined text, terminate field with [CR]

Predefined Region 36 Setup for large “VOID” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<x77> Select character size = 8W/8H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<0><0><0><2><188> Set field (Left, 0, 700)

VOID[CR] Predefined text, terminate field with [CR]

Predefined Region 37 Setup for “CASHOUT RECEIPT” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960)

CASHOUT RECEIPT[CR] Predefined text, terminate field with [CR]

Predefined Region 38 Setup for dynamic banner text field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960) Follow with dynamic text, terminated with [CR]

Epic 950 TTL Supplement

95-05246 Rev A Page 27

Predefined Region 39 Setup for dynamic text under bar code field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><50> Set absolute vertical position = 306

[GS]F<0><0><200><1><154> Set field (Left, 200, 410) Follow with dynamic text, terminated with [CR]

Predefined Region 40 Setup for dynamic ticket valid time field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<0> Clear emphasized print

[GS]$<1><215> Set absolute vertical position = 471

[GS]F<1><0><50><2><68> Set field (Center, 50, 580) Follow with dynamic text, terminated with [CR]

Predefined Region 41 Setup for dynamic validation header field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<3> Select print mode = 14x24, 12 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<1><80> Set absolute vertical position = 336

[GS]F<0><0><200><1><154> Set field (Left, 200, 410) Follow with dynamic text, terminated with [CR]

Predefined Region 42 Setup for “JACKPOT VOUCHER” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960)

JACKPOT VOUCHER[CR] Predefined text, terminate field with [CR]

Epic 950 TTL Supplement

Page 28 Rev A 95-05246

Predefined Region 43 Setup for “VOID VOUCHER VOID” field

Command Sequence Explanation

[ESC]t<1> Set Print Direction in page mode = B

[ESC]!<1> Select print mode = 12x24, 16 CPI

[GS]!<x33> Select character size = 4W/4H

[ESC]G<1> Set emphasized print

[GS]$<0><170> Set absolute vertical position = 170

[GS]F<1><0><0><3><192> Set field (Center, 0, 960)

VOID VOUCHER VOID[CR] Predefined text, terminate field with [CR]

Epic 950 TTL Supplement

95-05246 Rev A Page 29

chapter 4

User Defined Regions

Epic 950 TTL Supplement

Page 30 Rev A 95-05246

This page intentionally left blank

Epic 950 TTL Supplement

95-05246 Rev A Page 31

The Epic 950 printer supports user defined regions and templates. The user may define new regions and templates or replace existing regions and templates. Note that these user defined regions and templates are stored in RAM and must be reloaded after a power loss. The commands used to define regions and templates are summarized below. Name Description GS M <n> Start/End Definition GS Q <n> Query Definition GS O <n> Execute Region/Template A region is defined by a series of low level printer commands and that not all regions contain printable data. Each region/template identified by a unique number. Refer to the Epic 950 OEM Integration Manual and Chapter 2 of this manual for a description of low level control codes and examples of region definitions. Keep in mind that templates are a simply special type of region and are defined using the same basic commands. This chapter will describe the process to define a region. Chapter 5 will show how to group regions into templates.

GS M – Start/End Region/Template Definition Description The definition of region/template n starts when this command is received the first time (during normal operation) and ends when it is received the second time (during the definition). Up to 255 regions can be defined.

Note: The region//template definition space can contain up to 4096 bytes, which is shared between all the region and templates currently defined. If the total number of bytes exceeds this value, the excess data is not stored.

Expression

ASCII [GS] M n

Hexadecimal 1DH 4DH n

Decimal <29> <77> n

Parameters n = the region/template to define, in the range 1 ≤ n ≤ 255.

Notes

Epic 950 TTL Supplement

Page 32 Rev A 95-05246

Any region/template n can be redefined by sending a new definition surrounded by the Start/End definition commands. If there is no data between these commands, definition n is deleted.

If n = 0, the command is ignored.

The End definition command will be accepted, even if the parameter n does not match the parameter in the preceding Start definition command. The definition will be stored using the n parameter in the Start definition command.

If the Execute Region/Template (GS O n) command is received while a definition is being recorded, the definition will be aborted and nothing will be saved for that definition.

All commands/data received during a definition are executed normally, in addition to being recorded in the definition.

Predefined ROM; these are copied into RAM on power-up. They may be used as is, or they may be redefined with this GS M n command, as desired.

Print data may be preloaded in the region definition (static data) or sent from the host during execution ( dynamic data)

GS Q – Query Definition The query definition command may be used to test for the presence of a region/template definition in RAM. It can also be used to calculate the length of a region/template definition and the amount of free space left in the definition buffer Description This command returns two bytes (high byte first) indicating the number of data bytes stored in region/template definition n, except for the two following cases:

If definition n is undefined this command returns <0><0>.

If n = 0, this command returns the free space in the definition buffer, i.e., the total number of bytes that are still available for region/template definitions.

Expression

ASCII [GS] Q n

Hexadecimal 1DH 51H n

Decimal <29> <81> n

Epic 950 TTL Supplement

95-05246 Rev A Page 33

Parameters n = the definition to query, in the range 1 ≤ n ≤ 255.

Notes Each definition requires two extra bytes for overhead, which are transparent to the user (i.e., they are not executed). Therefore, if region/template definition n contains 4 bytes, the GS Q command will return <0><6>

GS O – Execute Region/Template Description This command executes a template/region. The data format for this command depends on whether a template or region is referenced by parameter n. When this command is received the command sequence stored in the region/template definition is executed as if it is being received from the host. Expression

ASCII [GS] O n

Hexadecimal 1DH 4FH n

Decimal <29> <79> n

Parameters n = the template or region to execute, in the range 1 ≤ n ≤ 255.

If the command references a region, any data required for that region must immediately follow the command. Once all desired regions have been executed, the host must issue a [FF] command to initiate the ticket print operation. If the command references a template, the template will be executed immediately using the data previously loaded using the [GS] C commands. If the selected template or region is undefined, or if n = 0, no operation is performed.

Epic 950 TTL Supplement

Page 34 Rev A 95-05246

Defining a Region Below is an example of the commands used to define Region 2 - Validation Number. Note that the template consists of a series low level printer control codes.

Table 2 Example - User Defined Region 2

User Defined Region 2 Setup for validation field

Command Sequence Explanation

[GS] M<2> Begin recording Region 2 commands

[ESC]t<0> Set Print Direction in page mode = A

[ESC]!<2> Select print mode = 13x24, 14 CPI

[GS]!<0> Select character size = 1W/1H

[ESC]G<1> Set emphasized print

[GS]$<0><0> Set absolute vertical position = 0

[GS]F<x80><0><100><1><244> Set field (Validation Number field, Left, 100, 500) Follow with dynamic text, terminated with [CR]

[GS] M<2> End recording Region 2 commands

Epic 950 TTL Supplement

95-05246 Rev A Page 35

chapter 5

User Defined Templates

Epic 950 TTL Supplement

Page 36 Rev A 95-05246

This page intentionally left blank

Epic 950 TTL Supplement

95-05246 Rev A Page 37

An Epic 950 template is a region that is comprised of a collection of other regions and low level control sequences. Because a template may require multiple data entries the data for each region in the template must be tagged with an ID number. The data tag required for each region is defined during the template definition. The template definition commands include the commands used for region definition plus additional commands. The GS M <n> ,GS Q <n>,and GS O <n> were previously discussed in Chapter 4 – User Defined Regions. The additional commands used for template definition and printing are Name Description GS D <n> Retrieve Data GS B Extract Barcode Data GS C <n> Enter Data

GS C – Enter Data Description This command is used by the host during template execution to load the print data for various template regions into print buffers. Each data record is place in the buffer specified by the associated data tag. Expression

ASCII [GS] C n

Hexadecimal 1DH 43H n

Decimal <29> <67> n

Parameters n = the data tag. Range = 1 ≤ n ≤ 16. If n = 0, all data buffers are cleared.

The data to be entered into the buffer should follow this command and should be terminated by a [CR] or [LF]. Each data buffer can hold up to 100 characters; if more characters are received before the terminating [CR] or [LF], the extra characters are discarded. If this command is to be used in conjunction with the Predefined Templates, the data records should be tagged according to the following table

Table 3 – Predefined Data Tags

Data Tag Number

Data Type

1 Validation Number

2 Establishment Name

3 Street Address

4 City/State Address

Epic 950 TTL Supplement

Page 38 Rev A 95-05246

5 Date

6 Time

7 Voucher Number

8 Alphabetic Amount

9 Secondary Alphabetic Amount

10 Numeric Amount

11 Expiration

12 Machine Number

13 First Barcode Number

14 Secondary Barcode Number

15 Dynamic Banner Text

16 Dynamic Validation Text

GS D – Retrieve Data Description This command is placed in the template to retrieve data (text characters) previously entered into a data buffer by the GS C command. (See above.) This command can be processed whenever the printer is expecting text data such as during the execution of a template or while expecting data for the GS F Set Field in Page Mode command or for the GS k Print Bar Code command. Expression

ASCII [GS] D n

Hexadecimal 1DH 44H n

Decimal <29> <68> n

Parameters n = the data buffer to retrieve the data from Range = 1 ≤ n ≤ 16.

Epic 950 TTL Supplement

95-05246 Rev A Page 39

GS B – Extract Barcode Data Description This command extracts data saved in other data buffers by the GS C Enter Data command and enters in into data buffer 14 in order to create a 15-digit secondary barcode number. Data is extracted as follows:

5 digits from Field Number 12 “Machine Number”

8 digits from Field Number 10 “Numeric Amount”

2 digits from Field Number 13 “First Barcode Number” In each case, only numeric digits “0” through “9” will be extracted. If fewer than the specified number of numeric digits are found, that part of the number will be padded with leading “0”s. Expression

ASCII [GS] B n

Hexadecimal 1DH 42H n

Decimal <29> <66> n

Parameters None

Epic 950 TTL Supplement

Page 40 Rev A 95-05246

Defining a Template Below is an example of the commands used to define Template 78, Cashout Voucher. Note that the template consists of a series of region executions, data buffer assignments and low level control codes.

Table 4 – Example Template Definition

User Defined Template 78 Setup for Cashout Voucher

Command Sequence Explanation

[GS]M<78> Begin region/template 78 definition

[GS]O<1> Execute Region 1 – Initialize printer

[GS]O<2> [GS]D<1> [CR] Execute Region 2 using data buffer 1 – Validation Number

[GS]O<3> [GS]D<2> [CR] Execute Region 3 using data buffer 2 – Establishment

[GS]O<4> [GS]D<3> [CR] Execute Region 4 using data buffer 3 – Address 1

[GS]O<5 [GS]D<4> [CR] Execute Region 5 using data buffer 4 – Address 2

[GS]O<6> Execute Region 6 – “CASHOUT VOUCHER”

[GS]O<7> Execute Region 7 – “VALIDATION”

[GS]O<9> [GS]D<5> [CR] Execute Region 9 using data buffer 5 – Date

[GS]O<10> [GS]D<6> [CR] Execute Region 10 using data buffer 6 – Time

[GS]O<11> [GS]D<7> [CR] Execute Region 11 using data buffer 7 – Ticket Number

[GS]O<12> [GS]D<8> [CR] Execute Region 12 using data buffer 8 – Alpha Amount 1

[GS]O<13> [GS]D<9> [CR] Execute Region 13 using data buffer 9 – Alpha Amount 2

[GS]O<14> [GS]D<10> [CR] Execute Region 14 using data buffer 10 – Numeric Amount

[GS]O<15> Execute Region 15 – “VOID AFTER”

[GS]O<16> [GS]D<11> [CR] Execute Region 16 using data buffer 11 – Expiration Time

[GS]O<17> [GS]D<12> [CR] Execute Region 17 using data buffer 12 – Machine #

[GS]O<18> [GS]D<13> [CR] Execute Region 18 using data buffer 12 – Centered Bar Code

[FF] Form Feed – Prints Ticket

[GS]C<0> Clear Data Fields

[GS]M<78> End region/template 78 definition