Agilis For ixCSP Terminal Programming Manual PDF [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Agilis® 91x for ix/CSP Terminal Programming Manual TP-821029-001A PD 5966 November 2004

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Document History Document Number

Date

Remarks

TP-820129-001A

11/2004

First release - supports Agilis 91x for ix/CSP, Version 1.6

Copyright protection is claimed for each revision listed in the document history, as of the date indicated. Any trademarks, service marks, product names or company names not owned by Diebold that appear in this document are used for informational purposes only and Diebold claims no rights thereto, nor does such use indicate any affiliation with or any endorsement of Diebold or Diebold products by the owners thereof. This document contains proprietary information. If the document pages state the information is confidential (or words of similar import), then this document is intended solely for the use of the copyright owner’s employees or other personnel expressly authorized in writing by the copyright owner. Other uses of this information without the express written consent of the copyright owner are prohibited. This document should be treated as confidential material for security reasons. Any unauthorized disclosure or use of confidential material may violate Section 1832 of Title 18 of the United States Code as well as other laws, and may be punishable by fine and imprisonment. The information contained in this document is subject to change without notice. When using the document for system implementation, please call your authorized sales or service representative for any applicable changes. This document and the information contained herein are provided AS IS AND WITHOUT WARRANTY. In no event shall the copyright owner or its suppliers be liable for any special, indirect, or consequential damages of any nature resulting from the use of information in this manual. No part of this document may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means: electronic, mechanical, photocopying, recording, or otherwise, without prior written permission from the copyright owner. Your use of this document and/or any of the information contained herein constitutes your agreement to all of the terms stated on this page. Diebold continually strives to improve its products. If you would like to comment on the accuracy, clarity, organization or value of this document, please contact us at [email protected] or address correspondence to: Diebold, Incorporated Att: Documentation Services 9-B-16 5995 Mayfair Road North Canton, OH 44720

ii ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Contents Section 1 Introduction . . . . . . . . . . . 1.1 About This Manual . . . . . . 1.2 Related Documents . . . . . . 1.3 Terms . . . . . . . . . . . . . 1.4 Supported Devices and Features

. . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

1-1 1-1 1-2 1-2 1-3

Section 2 Overview . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Network Configurations . . . . . . . . . . . . . . 2.2 Terminal Configuration . . . . . . . . . . . . . . . 2.3 Modes of Operation . . . . . . . . . . . . . . . . . 2.3.1 Power-up Mode . . . . . . . . . . . . . . 2.3.2 Out-of-service Mode . . . . . . . . . . . . 2.3.3 Off-line Mode . . . . . . . . . . . . . . . 2.3.4 In-service Mode . . . . . . . . . . . . . . 2.3.5 Maintenance Mode . . . . . . . . . . . . . 2.3.6 Continuous Availability . . . . . . . . . . 2.3.7 Terminal Responses to Network Commands 2.4 Additional Applications . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

2-1 2-1 2-1 2-2 2-3 2-3 2-3 2-4 2-5 2-6 2-6 2-10

Section 3 ix Series Terminals and Devices . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Card Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Multi-media Dispenser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Supplemental Dispenser Module (SDM) . . . . . . . . . . . . . . . . . . . . 3.4 Intelligent Depository Module (IDM) . . . . . . . . . . . . . . . . . . . . . 3.4.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 MICR Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 System Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Image Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Consumer Interface Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Consumer Display . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Function Keys and Consumer Keypad . . . . . . . . . . . . . . . . . 3.6 Lead-through Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Receipt Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Journal Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Statement Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11 Deposit Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11.1 Transaction Serial Number . . . . . . . . . . . . . . . . . . . . . . . 3.11.2 Dollar and Cents Keyboard Entry . . . . . . . . . . . . . . . . . . . 3.11.3 Track Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11.4 Printing Network Data on the Envelope . . . . . . . . . . . . . . . . 3.11.5 Deposit Printer Text . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12 Print Data Programming for Graphics-related Strategies . . . . . . . . . . . . 3.12.1 Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12.2 Control Sequences for Receipt Printers and Journal Printers . . . . . 3.12.3 Control Sequences for Statement Printers (Agilis 91x for Opteva only) 3.12.4 Changing Character Sets . . . . . . . . . . . . . . . . . . . . . . . . 3.12.5 Standard Format for the Receipt . . . . . . . . . . . . . . . . . . . . 3.12.6 Journal Printer Roll Format . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-1 3-1 3-2 3-2 3-3 3-3 3-4 3-4 3-4 3-6 3-8 3-8 3-11 3-11 3-11 3-14 3-16 3-18 3-18 3-18 3-19 3-19 3-20 3-21 3-21 3-43 3-51 3-54 3-57 3-60

Section 4 Configuration Data . . . . . . . . . . . . . . . 4.1 Buffers . . . . . . . . . . . . . . . . . . . 4.2 Write Command Messages Overview . . . 4.3 Write Command 1 Message (States) . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

4-1 4-2 4-4 4-7

. . . .

. . . . .

. . . .

. . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

iii ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Contents

4.4

4.5

4.3.1 Valid State Numbers . . . . . . . . . . . . . . . . . . . . . 4.3.2 Write Command 1 Message Format . . . . . . . . . . . . . 9000 States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Card Read State (A) . . . . . . . . . . . . . . . . . . . . . 4.4.2 PIN Entry State (B) . . . . . . . . . . . . . . . . . . . . . 4.4.3 Deposit State (C) for Envelope Depository . . . . . . . . . 4.4.4 Deposit State (C) for IDM (terminals with IDM only) . . . 4.4.5 Clear Keys State (D) . . . . . . . . . . . . . . . . . . . . . 4.4.6 Select Function State (E) . . . . . . . . . . . . . . . . . . . 4.4.7 Dollar Entry State (F) . . . . . . . . . . . . . . . . . . . . 4.4.8 Cent Check State (G) . . . . . . . . . . . . . . . . . . . . . 4.4.9 Information Entry State (H) . . . . . . . . . . . . . . . . . 4.4.10 Transaction Request State ( I ) . . . . . . . . . . . . . . . . 4.4.11 Close State (J) . . . . . . . . . . . . . . . . . . . . . . . . 4.4.12 Indirect Next State (K) . . . . . . . . . . . . . . . . . . . . 4.4.13 Card Write State (L) . . . . . . . . . . . . . . . . . . . . . 4.4.14 PIN Entry State (M) . . . . . . . . . . . . . . . . . . . . . 4.4.15 Set Dollar Buffer State (R) . . . . . . . . . . . . . . . . . . 4.4.16 Card Read State (for Non-state 000 Applications) (T) . . . . 4.4.17 Check Track Buffer State (Z) . . . . . . . . . . . . . . . . 4.4.18 Deposit Extension State ( # or > ) (terminals with IDM only) 4.4.19 Voice State ( ; ) . . . . . . . . . . . . . . . . . . . . . . . . 4.4.20 Copy Buffer State ( = ) . . . . . . . . . . . . . . . . . . . . 4.4.21 Transaction Request Extension State ( ) ) . . . . . . . . . . 4.4.22 Function Key Extension State ( > ) . . . . . . . . . . . . . 4.4.23 Withdrawal Area Sensors State ( ? ) . . . . . . . . . . . . . 4.4.24 Set Language Bank State ( [ ) . . . . . . . . . . . . . . . . 4.4.25 Buffer Arithmetic State ( \ ) . . . . . . . . . . . . . . . . . Enhanced States . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Text To Speech State (AU b/) . . . . . . . . . . . . . . . . . 4.5.2 Card Reader State (CR b/) . . . . . . . . . . . . . . . . . . 4.5.3 Depositor State (DP b/) (terminals with IDM only) . . . . . 4.5.4 Dispenser Door State (DR b/) . . . . . . . . . . . . . . . . . 4.5.5 Get Encrypted PIN State (EP b/) . . . . . . . . . . . . . . . 4.5.6 Image Character Recognition State (IC b/) . . . . . . . . . 4.5.7 Lead-through Indicators State (LT b/) . . . . . . . . . . . . 4.5.8 Network Connection State (NC b/) . . . . . . . . . . . . . . 4.5.9 Passbook Printer State (PB b/) . . . . . . . . . . . . . . . . 4.5.10 Printer State (PR b/) . . . . . . . . . . . . . . . . . . . . . . 4.5.11 Supplemental Dispenser Module (SDM) State (SDb/) . . . . 4.5.12 Statement Printer State (SP b/) . . . . . . . . . . . . . . . . 4.5.13 Check FIT State (@B b/) . . . . . . . . . . . . . . . . . . . 4.5.14 Check PIN State (@C b/) . . . . . . . . . . . . . . . . . . . 4.5.15 Information Entry State (@D b/) . . . . . . . . . . . . . . . 4.5.16 Buffer Compare State (@E b/) . . . . . . . . . . . . . . . . 4.5.17 Set Buffer State (@F b/) . . . . . . . . . . . . . . . . . . . 4.5.18 Buffer Copy State (@G b/) . . . . . . . . . . . . . . . . . . 4.5.19 Check Buffer State (@H b/) . . . . . . . . . . . . . . . . . 4.5.20 Transaction Request State (@I b/) . . . . . . . . . . . . . . 4.5.21 Indirect Next State (@K b/) . . . . . . . . . . . . . . . . . . 4.5.22 Create Buffer State (@L b/) . . . . . . . . . . . . . . . . . 4.5.23 Track Buffer Compare State (@M b/) . . . . . . . . . . . . 4.5.24 Buffer Shift State (@N b/) . . . . . . . . . . . . . . . . . . 4.5.25 Buffer Arithmetic State (@O b/) . . . . . . . . . . . . . . . 4.5.26 Copy Buffer Data State (@P b/) . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-8 4-8 4-10 4-12 4-15 4-17 4-18 4-22 4-25 4-28 4-31 4-32 4-34 4-37 4-39 4-40 4-42 4-42 4-44 4-47 4-51 4-54 4-56 4-58 4-59 4-64 4-65 4-66 4-68 4-69 4-71 4-77 4-85 4-89 4-91 4-94 4-97 4-100 4-101 4-110 4-114 4-119 4-122 4-126 4-134 4-137 4-141 4-143 4-147 4-153 4-157 4-160 4-163 4-165 4-167

iv ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Contents

4.6 4.7

4.5.27 Buffer Overlay State (@Q b/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.28 Time Delay State (@S b/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.29 Multi-tasking State (@Xb/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.30 Set Language Bank State (@Y b/) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.31 Close State (@Z b/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Command 2 Message (screens) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 General Screen Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 Standard, Alternate, and Mosaic Characters . . . . . . . . . . . . . . . . . . . . . . Screen Control Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.1 BS Control Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.2 CR Control Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.3 FF Control Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.4 HT Control Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5 LF Control Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.6 SI Control Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.7 SO Control Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.8 US Control Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.9 VT Control Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.10 ESC A - Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.11 ESC B - Display Buffer Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.12 ESC C - Select Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.13 ESC D - Animation Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.14 ESC F - Select Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.15 ESC G - Select Character Set and Display Mode . . . . . . . . . . . . . . . . . . . 4.7.16 ESC H - Select Foreground Color . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.17 ESC I - Insert Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.18 ESC J - Use Color Wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.19 ESC K - Initiate Scrolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.20 ESC L - Select Language Bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.21 ESC M - Change Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.22 ESC N - Select Palette Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.23 ESC O - Select DAC Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.24 ESC P - Display Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.25 ESC Q - Display Check Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.26 ESC R - Repeat Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.27 ESC T - Tile Non-addressable Area . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.28 ESC U - Tile Rectangular Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.29 ESC V - Display Buffer Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.30 ESC W - Select Blinking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.31 ESC X - Position Cursor Using Global Coordinates . . . . . . . . . . . . . . . . . . 4.7.32 ESC Y - Select Special Effect Time . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.33 ESC ZC - Select Touch Screen Template (not applicable on the CashSource Plus 400) 4.7.34 ESC ZD - Define Touch Screen Configuration Data (Touch screen Terminals Only) . 4.7.35 ESC ZE - Touch Screen Configuration Data (not applicable on the CashSource Plus 400) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.36 ESC ZF - Display FLC/FLI Animation . . . . . . . . . . . . . . . . . . . . . . . . 4.7.37 ESC ZI - Display In Touch Screen Button (not applicable on the CashSource Plus 400) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.38 ESC ZO - Display Out Touch Screen Button (not applicable on the CashSource Plus 400) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.39 ESC ZU "MPEGPlay" - Media Player Control . . . . . . . . . . . . . . . . . . . . 4.7.40 ESC ZU - Screen Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.41 ESC ZV - Browser Control Sequence . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.42 ESC : (Colon) - Display Date and Time . . . . . . . . . . . . . . . . . . . . . . . . 4.7.43 ESC < (less than) - Fade-out Transition . . . . . . . . . . . . . . . . . . . . . . . .

4-171 4-175 4-178 4-181 4-182 4-184 4-189 4-191 4-197 4-200 4-200 4-200 4-200 4-201 4-201 4-203 4-206 4-206 4-206 4-209 4-209 4-209 4-212 4-212 4-213 4-214 4-217 4-219 4-226 4-226 4-227 4-228 4-229 4-230 4-231 4-233 4-235 4-236 4-237 4-238 4-241 4-241 4-241 4-242 4-242 4-244 4-244 4-244 4-253 4-254 4-255 4-258

v ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-259 4-260 4-260 4-262 4-264 4-282 4-289 4-290 4-291 4-292 4-294 4-294 4-294 4-296 4-298 4-298 4-299 4-305 4-305 4-306 4-310 4-311 4-311 4-311 4-313 4-314 4-316 4-322 4-322 4-322 4-323 4-324 4-325 4-327 4-328 4-332 4-333 4-335 4-336 4-338 4-352 4-354 4-357

Section 5 Transaction Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Consumer Request Message . . . . . . . . . . . . . . . . . . . . . 5.2 Solicited Status Messages . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Solicited Status Definitions . . . . . . . . . . . . . . . . . 5.2.2 Printer Status (solicited) (DID = ’2’) . . . . . . . . . . . . . 5.2.3 After Hour Depository Status (solicited) (DID = ’3’) . . . . 5.2.4 Card Reader Status (solicited) (DID = ’>’) . . . . . . . . . 5.2.5 Card Writer Status (solicited) (DID = ’=’) . . . . . . . . . . 5.2.6 Dispenser Status 911 Mode (solicited) (DID = ’8’) . . . . . 5.2.7 Dispenser Status 912 Mode (solicited) (DID = ’?’) . . . . . 5.2.8 Withdrawal Door Status (solicited) for 911 Mode (DID = ’9’)

. . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

5-1 5-3 5-14 5-22 5-23 5-26 5-27 5-28 5-29 5-34 5-37

4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15

4.16

4.17

4.18

4.19 4.20 4.21 4.22

4.23 4.24 4.25 4.26

4.7.44 ESC = (equal) - Select Row Size . . . . . . . . . . . . . . 4.7.45 ESC > (greater than) - Fade-in Transition . . . . . . . . . 4.7.46 ESC ? (Question Mark) - Use Sprites . . . . . . . . . . . Touch Screen (not applicable on the CashSource Plus 400) . . . . Predefined Icons . . . . . . . . . . . . . . . . . . . . . . . . . . Reserved Screens . . . . . . . . . . . . . . . . . . . . . . . . . . Default Screen File Management . . . . . . . . . . . . . . . . . . Modifying the Contents of a Screen File . . . . . . . . . . . . . . Creating a New Default Screen File . . . . . . . . . . . . . . . . Enhanced Monochrome Graphics . . . . . . . . . . . . . . . . . . Multilingual Feature . . . . . . . . . . . . . . . . . . . . . . . . 4.15.1 Screen Storage . . . . . . . . . . . . . . . . . . . . . . . 4.15.2 Language Selection . . . . . . . . . . . . . . . . . . . . 4.15.3 OARs in Conjunction with the Multilingual Feature . . . Rear Balance Feature (not applicable on the CashSource Plus 400) 4.16.1 Entry Methods . . . . . . . . . . . . . . . . . . . . . . . 4.16.2 Rear Balance Functions . . . . . . . . . . . . . . . . . . 4.16.3 Network Activity during a Rear Balance Function . . . . 4.16.4 Exiting Rear Balance Mode . . . . . . . . . . . . . . . . 4.16.5 Example Rear Balance Implementation . . . . . . . . . . Voice Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17.1 Voice Prompting . . . . . . . . . . . . . . . . . . . . . . 4.17.1.1 Voice Prompting Using .WAV Files . . . . . . 4.17.1.2 Voice Prompting Using Control Files . . . . . 4.17.1.3 Interpretive Commands . . . . . . . . . . . . . 4.17.2 Voice Keypad Feedback Commands . . . . . . . . . . . . 4.17.3 Text To Speech . . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Screen Data . . . . . . . . . . . . . . . . . . . . . 4.18.1 Inline HTML Code . . . . . . . . . . . . . . . . . . . . . 4.18.2 URL Specification . . . . . . . . . . . . . . . . . . . . . 4.18.3 Enhancing Legacy Screens . . . . . . . . . . . . . . . . . Write Command 13 Message (custom icons for EMG) . . . . . . Write Command 14 Message (custom character sets for EMG) . . Write Command 15 Message (cell data for EMG) . . . . . . . . . Write Command 18 Message (format templates) . . . . . . . . . . 4.22.1 Display Method . . . . . . . . . . . . . . . . . . . . . . 4.22.2 Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . 4.22.3 Default Templates . . . . . . . . . . . . . . . . . . . . . 4.22.4 Initialization Data . . . . . . . . . . . . . . . . . . . . . Write Command 3 Message (terminal parameters, LUNO, timers) Write Command 6 Message (Financial Institution Tables) . . . . . Write Command 7 Message (encryption key change) . . . . . . . Write Command 8 Message (configuration ID) . . . . . . . . . .

vi ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Contents

5.3

5.4 5.5

5.2.9 Withdrawal Door Status (solicited) for 912 Mode (DID = ’@’) . . . . . . . . . . . . 5-37 5.2.10 Depository Status (solicited) for Envelope Depository, for 911 Mode (DID = ’:’) . . 5-38 5.2.11 Depository Status (solicited) for Envelope Depository, for 912 Mode (DID = ’A’) . . 5-39 5.2.12 Depository Status (solicited) for IDM, for 912 Mode (DID = ’A’) . . . . . . . . . . 5-40 5.2.13 Configuration ID Status (solicited) (DID = ’ ) (terminals with IDM only) The Deposit Extension state (# or >) extends the Deposit state (C). This state provides additional fault handling to the network for deposit operations. The Deposit Extension state always directly precedes the Deposit state that it extends. That is, the state number of a Deposit Extension state table is one less than the state number of the Deposit state table. All state tables that link to the Deposit state table must specify the associated Deposit Extension state table as the next state table. Refer to Table 4-23 for the Deposit Extension state table format.

Table 4-23

Deposit Extension State Entries

Entry

Definition

1

State Type

2

Check Accepted Screen

3

Check Handling Delay Screen

4

Check Handling Delay Time

5

MICR Fault Next State

6

Media Fault Next State

7

Cancel Next State

8

Document Handling Next State

9

Override MICR Configuration Setting

The Deposit Extension state (# or >) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: # or > Description: This state ID identifies this state table as a Deposit Extension state table. Check Accepted Screen Entry Number: 2 Valid Data Range: Valid screen numbers (Section 4.6) Description: This entry contains the number of the screen to display when the IDM has accepted a check but has not yet read or scanned the check. If the value in this entry is 000, the terminal does not change the screen currently showing. NOTE The beeper stops when the IDM accepts the check.

4-51 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Check Handling Delay Screen Entry Number: 3 Valid Data Range: Valid screen numbers (Section 4.6) Description: This entry contains the number of the screen to display if the time specified in the Check Handling Delay Time entry expires. This time might expire if the IDM has difficulty locating the MICR data on the check. This screen is used to assure the consumer that the check is still being processed. If the value in this entry is 000, the terminal does not change the screen currently showing. Check Handling Delay Time Entry Number: 4 Valid Data Range: 000 through 255 Description: This entry specifies how long to wait after the check is accepted before displaying the Check Handling Delay screen. The time is specified in 800-millisecond increments. A value of 255 disables this feature. The suggested value for this entry is 025 (20 seconds). MICR Fault Next State Entry Number: 5 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The number of the state the terminal goes to if the IDM is not able to read a valid MICR line. It is possible to continue processing the check if this exit is taken, depending on the institution’s MICR requirements. Media Fault Next State Entry Number: 6 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The number of the state the terminal goes to if the document inserted was too long, too short, too thick, or too thin. If this exit is taken, the check is in escrow and the terminal has not attempted to read the MICR data or scan the check. Cancel Next State Entry Number: 7 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The number of the state the terminal goes to if the consumer presses the Cancel key before inserting a check or envelope during a check or envelope deposit operation. Document Handling Next State Entry Number: 8 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The number of the state the terminal goes to if the terminal could not transport the check properly through the depository. This condition is a soft fault condition. The terminal can return the check, and the consumer can retry the deposit.

4-52 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Override MICR Configuration Setting Entry Number: 9 Valid Data Range: Refer to the description Description: This entry is used to override the MICR search preference set in the Depositor device properties. The valid values are as follows: • 000 - Override the setting in the Depositor device properties. This entry enables searching for MICR data on the right and left sides of the check. The first attempt is made on the right edge of the check. • 001 - Use the setting in the Depositor device properties. • 002 through 255 - The remaining values, that override the setting in the Depositor device properties are created using the following bitmap: - Bit 7 (weight 128): 0 - Enable MICR search on left side of check 1 - Disable MICR search on left side of check - Bit 6 (weight 64): 0 - Enable MICR search on right side of check 1 - Disable MICR search on right side of check - Bits 5 through 0: Reserved - leave as 0

4-53 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.19

Voice State ( ; ) The Voice state is used to turn the Voice feature on and off. Turning voice off aborts any message in progress, purges any messages pending in the delay queue, and idles the device. If the Voice feature is turned off by this state, the only way to turn the Voice feature back on, without resetting the terminal, is to execute another Voice state with the enable flag set to 001. The format of the Voice state is shown in Table 4-24.

Table 4-24

Voice State Entries

Entry

Definition

1

State type

2

Prompting Enable Flag

3

Next State

4

Feedback Enable Flag

5

Beeping/Voice Prompting Coordination Flag

6

Reserved

7

Reserved

8

Reserved

9

Reserved

The Voice state ( ; ) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: ; Description: This state ID identifies this state table as a Voice state table. Prompting Enable Flag Entry Number: 2 Valid Data Range: 000 through 001 Description: This entry is a flag to tell the terminal whether to enable or disable voice prompting. The valid values are as follows: • 000 - Disables voice prompting • 001 - Enables voice prompting Next State Entry Number: 3 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The state which is executed immediately following completion of the Voice state.

4-54 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Feedback Enable Flag Entry Number: 4 Valid Data Range: 000 through 001 Description: This entry is a flag to tell the terminal whether to enable or disable voice keypad feedback. The valid values are as follows: • 000 - Disables voice keypad feedback • 001 - Enables voice keypad feedback Beeping/Voice Prompting Coordination Flag Entry Number: 5 Valid Data Range: 000 through 001 Description: This entry is a flag to tell the terminal how to coordinate voice prompting commands and attention beeping. The valid values are as follows: • 000 - Voice prompting commands take precedence, beeping is suppressed • 001 - Voice prompting commands and beeping coexist, both are heard Reserved Entry Number: 6 through 9 Valid Data Range: 000 Description: Must be 000.

4-55 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.20

Copy Buffer State ( = ) Split deposits and any other operations requiring more than one Dollar Entry state are supported by the Copy Buffer state. This state allows for the copying of the dollar buffer into a general purpose buffer. General purpose buffers B and C can be included in a Consumer Request message. By following Dollar Entry states with Copy Buffer states, and by changing the appropriate entry in the Transaction Request state, up to three transaction amounts can be included in the Consumer Request message without requiring changes to the format of that message. The structure of the Copy Buffer state is shown in Table 4-25.

Table 4-25

Copy Buffer State Entries

Entry

Definition

1

State type

2

Next State

3

Source Buffer ID

4

Reserved

5

Destination Buffer ID

6

Reserved

7

Reserved

8

Reserved

9

Reserved

The Copy Buffer state ( = ) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: = Description: This state ID identifies this state table as a Copy Buffer state table. Next State Entry Number: 2 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The number of the state that is executed immediately following completion of the Copy Buffer state. Source Buffer ID Entry Number: 3 Valid Data Range: 001 Description: The identifier of the buffer of which a copy is to be made. The action of copying does not affect the source buffer. The only valid value for this entry is 001. All other values are reserved. Reserved Entry Number: 4 Valid Data Range: 000 Description: Must be 000.

4-56 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Destination Buffer ID Entry Number: 5 Valid Data Range: 002 or 003 Description: The identifier of the buffer to which the source buffer is copied. The valid values are as follows: • 002 - General purpose buffer B • 003 - General purpose buffer C All other values are reserved. Reserved Entry Number: 6 through 9 Valid Data Range: 000 Description: Must be 000.

4-57 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.21

Transaction Request Extension State ( ) ) The Transaction Request Extension state extends the Transaction Request state (I) to support the Cancel key during the Transaction Request processing. Refer to Table 4-26 for the Transaction Request Extension state table format.

Table 4-26

Transaction Request Extension State Entries Entry

Definition

1

State Type

2

Cancel Key Next State

3

Cancel After Function Next State (912 mode only)

4 - 9

Reserved

The Transaction Request Extension state ( ) ) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: ) Description: The State Type entry identifies this state table as a Transaction Request Extension state table. Cancel Key Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry tells the terminal which state to go to if the Cancel Key is pressed. If the Cancel key is enabled in the Transaction Request state and it is pressed before the Function Command message is received by the terminal, the transaction request state is terminated and the Cancel Next State is executed. Enter 255 to deactivate the Cancel key during this state. Cancel After Function Next State (912 mode only) Valid Range: Valid state numbers (Section 4.3.1) Description: The Cancel After Function Next State entry tells the terminal which state to go to if the consumer presses the Cancel key during the processing of a function command. The terminal terminates function processing in between function IDs. A function command reject is sent to the network and the terminal goes to the next state specified by this entry. Enter 255 to deactivate the Cancel key during this state. Reserved Entry Number: 4 through 9 Valid Data Range: 000 Description: Must be 000.

4-58 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.22

Function Key Extension State ( > ) The Function Key Extension state extends several standard state tables to support the use of the F, G, H, I., J, K, L, and M function keys. Without extension, those state tables support A, B, C, and D key operation only. The entries in a Function Key Extension state table supplement the key defining entries of a state table by defining the operation of the F, G, H, I, J, K, L, and M keys. The Function Key Extension state extends the following state tables: • • • • • •

PIN Entry state (B) Clear Keys state (D) Select Function state (E) Dollar Entry state (F) Information Entry state (H) Transaction Request state (I)

Terminals that have more than four function keys do not automatically require you to extend every B, D, E, F, H, and I state table in the transaction sequence, or to extend any of them. If you need to activate only the A, B, C, and D keys in a given instance, omit the Function Key Extension state. The state that is being extended (B, D, E, F, H, or I) is referred to as the base state. The function of all the entries in the base state table remains the same as if the state were not extended. The extension process merely adds definitions for operating the additional keys. The Function Key Extension state always directly precedes the base state. That is, the state number of a Function Key Extension state table is one less than the state number of the base state table. All state tables that link to the base state table must specify the associated Function Key Extension state table as the next state table. NOTE There is an option to designate a function key (E, J, K, L, or M) to be used by the consumer to control the volume (loudness) of voice messages. If a function key has been assigned to voice volume control, ignores any attempt to enable that function key for any other use during a consumer session. For details, refer to Section 4.17. Refer to Table 4-27 for the Function Key Extension state table format.

Table 4-27

Function Key Extension State Entries

Entry

Definition

1

State Type

2

Function Key F

3

Function Key G

4

Function Key H

5

Function Key I

6

Function Key J (OK)

4-59 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Table 4-27

Function Key Extension State Entries (continued) Entry

Definition

7

Function Key K (CORR)

8

Function Key L

9

Function Key M

The Function Key Extension state ( > ) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: > Description: The State Type entry identifies this state table as a Function Key Extension state table. NOTE If your system or network software requires a separate extension state ID for each type of base state, the following extension state IDs have been assigned:

Base State

Extension State ID

B

"

D

$

E

%

F

&

H

(

I

)

Function Key F Entry Number: 2 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. Function Key G Entry Number: 3 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. Function Key H Entry Number: 4 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state.

4-60 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Function Key I Entry Number: 5 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. Function Key J (OK) Entry Number: 6 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. Function Key K (CORR) Entry Number: 7 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. Function Key L Entry Number: 8 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. Function Key M Entry Number: 9 Valid Data Range: The range for this entry is the same as for the function keys in the base state. Description: The function of this entry is the same as for the function keys in the base state. An entry of 255 disables the key for this state. EXAMPLE Refer to the example state tables shown in Table 4-28. Assume that the terminal has just finished processing a state table that specifies state 057 as the next state table. Processing proceeds as follows: 1. The terminal recognizes state 057 as a Function Key Extension state table and combines state 057 with the state table that follows it, state 058. 2. The terminal shows screen 023 (the Screen Number entry of state 058). Screen 023 prompts the consumer to press one of the eight function keys, the OK key, or the CORR key. 3. The consumer presses the OK key. 4. The terminal stores the key code for the OK key (J) in byte 3 of the Function Key Buffer (the Function Key Buffer Location entry of state 058). 5. The terminal exits to state 108 (the Function Key J entry of state 057).

4-61 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Table 4-28 State 057 Entry State Type

Function Key Extension State Example Contents >

State 058 Entry State Type

Contents E

Function Key F

104

Screen Number

023

Function Key G

105

Time-out Next State

026

Function Key H

106

Cancel Next State

020

Function Key I

107

Function Key A Next State

100

Function Key J (OK)

108

Function Key B Next State

101

Function Key K (CORR)

109

Function Key C Next State

102

Function Key L

255

Function Key D Next State

103

Function Key M

255

Function Key Buffer Location

003

Function Key Extension State Used with PIN Entry State When the Function Key Extension state is used with the PIN Entry state (B), the operation is functionally different. The extension state supports the use of function keys A, B, C, D, J, K, L, and M. All enabled keys perform only one function, the termination of a variable-length PIN entry. The keys are either enabled (value of 001) or disabled (value of 255). Function Key Extension State Used with Transaction Request State (912 only) When the Function Key Extension state is used with the Transaction Request state (I), the operation is functionally different. The extension state only supports the Cancel Key Next State feature and the Cancel after Function Next State feature (912 mode only). Using this state with a Transaction Request state allows the consumer to cancel the transaction before a Function Command message is received by the terminal or, after a Function Command message is received, between function IDs. When used this way, the applicable entries are as described in the following paragraphs. State Type Entry Number: 1 Valid Data Range: > Description: The State Type entry identifies this state table as a Function Key Extension state table. Cancel Key Next State Entry Number: 2 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Cancel Key Next State entry tells the terminal which state to go to if the consumer presses the Cancel key before a Function Command message is received by the terminal. Enter 255 to deactivate the Cancel key during this state.

4-62 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Cancel after Function Next State (912 mode only) Entry Number: 3 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Cancel After Function Next State entry tells the terminal what state to go to if the consumer presses the Cancel key during the processing of a function command. The terminal terminates function command processing in between function IDs. A function command reject is sent to the network and the terminal goes to the next state specified by this entry. If the Function Command message contained multiple function IDs, the host must parse the Check Point status included in the Reject message in order to determine which functions were executed before processing was cancelled. Enter 255 to deactivate the Cancel key during this state. Reserved Entry Number: 4 through 9 Valid Data Range: 255 Description: These entries are reserved.

4-63 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.23

Withdrawal Area Sensors State ( ? ) The Withdrawal Area Sensors state provides additional control of a bill dispense operation. This state directs the terminal to check the withdrawal area sensors and modify the transaction sequence based on the result. If one or more sensors are blocked, the Withdrawal Area Sensors state generates an Unsolicited Status message to report a withdrawal area sensors status. See Table 4-29 for the Withdrawal Area Sensors state table format.

Table 4-29 Withdrawal Area Sensors State Entries ENTRY

DEFINITION

1

State Type

2

Clear Sensors Next State

3

Blocked Sensors Next State

4 - 9

Reserved

The Withdrawal Area Sensors ( ? ) state entries are defined as follows: State Type Entry Number: 1 Valid Data Range: ? Description: The State Type entry identifies this state table as a Withdrawal Area Sensors state table. Clear Sensors Next State Entry Number: 2 Valid Data Range: Valid state numbers (Section 4.3.1). Description: The Clear Sensors Next State entry specifies the state table that the terminal processes if no withdrawal area sensor is blocked. Blocked Sensor Next State Entry Number: 3 Valid Data Range: Valid state numbers (Section 4.3.1). Description: The Blocked Sensor Next State entry specifies the state table that the terminal processes if one or more withdrawal area sensors are blocked. Reserved Entry Numbers: 4 through 9 Valid Data Range: 000 Description: The terminal does not use these entries.

4-64 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.24

Set Language Bank State ( [ ) The Set Language Bank state selects the appropriate language bank to use for screen retrieval when supporting the multilingual feature. For more details on the multilingual feature, refer to Section 4.15. Refer to Table 4-30 for the Set Language Bank state table format.

Table 4-30

Set Language Bank State Entries

Entry

Definition

1

State Type

2

Next State

3

Language Bank Number

4 - 9

Reserved

The Set Language Bank state ( [ ) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: [ Description: The State Type entry identifies this state table as a Set Language Bank state table. Next State Entry Number: 2 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Next State entry specifies the state table that the terminal processes after establishing the Language Bank number. Language Bank Number Entry Number: 3 Valid Data Range: 000 through 255 Description: The Language Bank number entry specifies the language bank to use for screens. Reserved Entry Number: 4 through 9 Valid Data Range: 000 Description: The terminal does not use these entries.

4-65 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States 4.4.25

Buffer Arithmetic State ( \ ) The Buffer Arithmetic state ( \ ) adds or subtracts ASCII decimal buffers. The structure of the Buffer Arithmetic state is shown in Table 4-31.

Table 4-31 Buffer Arithmetic State Entries Entry

Definition

1

State type

2

Positive Result Next State

3

Negative Result Next State

4

Buffer 1 ID

5

Buffer 2 ID

6

Result Buffer ID

7

Operation to Perform

8

Reserved

9

Reserved

The Buffer Arithmetic state ( \ ) entries are defined as follows: State Type Entry Number: 1 Valid Data Range: \ Description: This state ID identifies this state table as a Buffer Arithmetic state. Positive Result Next State Entry Number: 2 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The state to go to for the addition operation. This exit is also taken for the subtraction operation if the value contained in buffer 1 is as large as or is larger than the value contained in buffer 2. Negative Result Next State Entry Number: 3 Valid Data Range: Valid state numbers (Section 4.3.1) Description: The state to go to for the subtraction operation. This exit is only taken if the value contained in buffer 2 is larger than the value contained in buffer 1. Buffer 1 ID Entry Number: 4 Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: This is the ID of the buffer that contains the value to be added to or subtracted from. This entry is set to the decimal ASCII value of the ID of the buffer to be used.

4-66 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

9000 States Buffer 2 ID Entry Number: 5 Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: This entry contains the buffer ID of the buffer that contains the value to be added or subtracted. This entry is set to the decimal ASCII value of the ID of the buffer to be used. Result Buffer ID Entry Number: 6 Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: This entry contains the buffer ID of the buffer to contain the result of the given operation. This entry is set to the decimal ASCII value of the ID of the buffer to be used. This entry can be the same buffer ID as given in either entry 4 or 5. Operation to Perform Entry Number: 7 Valid Data Range: 000 and 001 Description: This entry identifies the operation to be performed with the specified buffers. The valid values are as follows: • 000 - This value directs the terminal to add buffer 1 and buffer 2 and place the result in the result buffer specified. NOTE If two 8-digit ASCII buffers are added, the result might need to be expanded to a 9-digit ASCII buffer. The result buffer size is always at least as large as the larger of the two buffers to be added. • 001 - This value directs the terminal to subtract buffer 2 from buffer 1. The result buffer always contains the difference between the two buffers (a positive value). If the contents of buffer 2 is larger than buffer 1, the Negative Result Next State path is taken. Otherwise, the Positive Result Next State path is used. The result buffer is always the same length as the longer of buffers 1 and 2. Reserved Entry Number: 8 and 9 Valid Data Range: 000 Description: These entries are reserved and are always 000.

4-67 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States

4.5

Enhanced States The enhanced states that are supported are as follows: • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

Text To Speech (AU b/) Card Reader (CR b/) Depositor (DP b/) Dispenser Door (for presenter operations)(DR b/) Get Encrypted PIN (EP b/) Image Character Recognition (ICb/) Lead-through Indicators (LT b/) Network Connection (NC b/) Passbook Printer (PB b/) (currently not supported) Printer (PR b/) Statement Printer (SP b/) Check FIT (@B b/) Check PIN (@C b/) Information Entry (@D b/) Enhanced Buffer Compare (@E b/) Set Buffer (@F b/) Buffer Copy (@G b/) Check Buffer (@H b/) Transaction Request (@I b/) Indirect Next (@K b/) Create Buffer (@L b/) Track Buffer Compare (@M b/) Buffer Shift (@N b/) Buffer Arithmetic (@O b/) Copy Buffer Data (@P b/) Buffer Overlay (@Q b/) Time Delay (@S b/) Multi-tasking (@X b/) Set Language Bank (@Y b/) Close (@Z b/)

Required and Optional Entries All the states contain entries that the network is required to send with the state. Some states also contain optional entries. The optional entries are shown in italics in this section. All entries must be in three-byte decimal form. Use decimal equivalents for all ASCII, Hex, and bit-mapped values. Configured Timers The standard configured timers are described in Section 4.23. These timers are labeled as timers 00 through 31. When timers are used with enhanced states, these timers must be prefixed with a 9. For example, to use timer 04 with an enhanced state, the state data must refer to the timer as 904. Timers 00 through 31 can be used in the terminals. Any timer that is not reserved (Section 4.23) can be downloaded to the terminal in a Write Command 3 message at the programmer’s discretion.

4-68 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.1

Text To Speech State (AU b/) The format of the Text To Speech state table is shown in Table 4-32. The Text To Speech state is part of the Voice feature. The state data directs the terminal to convert a text string to audible speech. The text must have been previously stored in the buffer specified in the state table.

Table 4-32 Text To Speech State Format Entry

Valid Range

State Number

Valid state numbers

State Type

AU b/

Unit Number

001

Next State

Valid state numbers

Interrupt Flag

000 - 002

Buffer ID

064 - 090

Template Number

000 - 099

Delay

000 - 255

Reserved

000

Reserved

000

Reserved

000

The following paragraphs describe each entry in the Text To Speech state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: AU b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The unit number for the Text To Speech state must be 001.

4-69 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Next State entry identifies the next state the terminal goes to after performing the Text To Speech state processing. Interrupt Flag Valid Range: 000 through 002 Description: The interrupt flag indicates how the terminal should queue the message retrieved from the specified buffer. • 000 - Add the message to the message queue. Do not terminate the message currently in progress. • 001 - Terminate the message in progress. Proceed with the new message. • 002 - Terminate the message in progress. Purge the message queue. Buffer ID Valid Range: 064 through 090 (@, and A through Z) Description: The Buffer ID entry identifies the buffer containing the text to be spoken. SAPI XML tags and Diebold Text To Speech tags can be embedded in the text. For detailed information on SEPIA XML tags and Diebold Text To Speech tags, refer to Section 4.17.3. Template Number Valid Range: 000 through 099 Description: The Template Number entry specifies a format template to use for interpreting the specified text as a cash amount (for example, a transaction amount or an account balance). If this entry contains the value 000, no format template is applied to the text. For information about the use of format templates for the Voice feature, refer to Section 4.17.1.3. Delay Valid Range: 000 through 255 Description: The Delay entry specifies the amount of time (in ticks) to delay before speaking the message (one tick equals 0.8 second). Reserved (3 entries) Valid Range: 000 Description: These three entries are reserved for future use.

4-70 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.2

Card Reader State (CR b/) The format of the Card Reader state is shown in Table 4-33. The Card Reader state data directs the terminal to perform specific card reader operations. The Operation entry in the state table determines which operation the terminal performs.

Table 4-33 Card Reader State Format Entry

Valid Range

State Number

Valid state numbers

State Type

CR b/

Unit Number

001

Operation

001 - 007, 009 - 015

Screen Number

Valid screen numbers

Consumer Response Time

000 - 255, 900 - 931, 999

Good Operation Next State

[1]

Valid state numbers

Consumer Fault Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

Read Conditions

[2]

000 - 017

Reserved

[3]

000

Reserved

[3]

000

Reserved

[3]

000

Reserved

[3]

000

Pre-head [1]

[2] [3]

000 - 002

A retain operation that results in the card being taken before it can be retained (:3F:40:60) results in a Good Operation Next State exit. This is because there are no adverse effects of such an event on the terminal. In this case, the retain count is not incremented. The Read Conditions entry is only necessary when the Operation entry is 001, 013, or 014. These Reserved entries are only necessary when the Operation entry is 001, 013, or 014, and the card reader is a smart card reader.

The following paragraphs describe each entry in the Card Reader state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number.

4-71 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: CR b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The unit number for the Card Reader state must be 001. Operation Valid Range: 001 through 007, and 009 through 015 Description: The Operation entry tells the terminal which operation to perform during the state. NOTE If the terminal uses a swipe-style or standard dip card reader, the only applicable Operation entry is 001. For all writing operations (002, 011, and 012), the applicable track data buffer must contain good track data (including both the start sentinel and the end sentinel) obtained either from a good read or from the most recently received Function Command message. The valid values for the Card Reader state are as follows: • 001 - Read the card, wait for the operation to complete. The terminal takes a Next State exit after the card reader successfully reads the card or a fault is encountered (for example, cannot satisfy the read conditions). • 002 - Write on track 3 of the card, wait for the operation to complete. The terminal takes a Next State exit after the card reader successfully writes and verifies the track 3 data or a fault is encountered. • 003 - Return the card, wait for the consumer to remove the card. The terminal takes a Next State exit after the consumer takes the card, the consumer timeout expires, or a fault is encountered (for example, a card jam). • 004 - Retain or capture the card, wait for the operation to complete. The terminal takes a Next State exit after the card leaves the transport or a fault is encountered (for example, a card jam). • 005 - Reserved for future use • 006 - Return the card, do not wait for removal. The terminal goes immediately to the Good Operation Next State without waiting for the consumer to remove the card. The terminal keeps the card in the drive rollers so that it can be captured at a later time, if necessary.

4-72 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • 007 - Return the card, wait for removal, capture the card if not removed. The terminal takes a Next State exit after the consumer takes the card, the card leaves the transport, or a fault is encountered (for example, a card jam). • 009 - Enables the card reader so that it can accept a card. After the card is inserted but before it is read, the state takes the Good Operation Next State exit. The reading of the card is performed while other states are being processed. NOTE The name track data cannot be displayed for screens which insert the name field from track 1 of the card, until the card read operation is complete. Operation 010 must be performed to complete the sequence. System operation is unpredictable if another card read operation is attempted between operation 009 and 010. • 010 - Wait until the card read started by operation 009 is completed. The sequence of operation 009 and 010 is equivalent to operation 001. • 011 - Write on track 1 of the card, wait for the operation to complete. The terminal takes a Next State exit after the card reader successfully writes and verifies the track 1 data or a fault is encountered. This operation requires a card reader capable of writing on track 1. • 012 - Write on track 2 of the card, wait for the operation to complete. The terminal takes a Next State exit after the card reader successfully writes and verifies the track 2 data or a fault is encountered. This operation requires a card reader capable of writing on track 2. • 013 - Enable card reader for read on insertion and do not lock. This operation requires a dip smart card reader capable of reading on insertion. When the card is inserted, it is not locked. • 014 - Enable card reader for read on insertion and lock. This operation requires a dip smart card reader capable of reading on insertion. When the card is inserted, it is locked in the reader. This allows for multiple transaction with one card insertion. The card can be released by using a card read state or card read function, or by directing the state flow through a close state. • 015 - Check the card reader sensors until the consumer response time expires. This operation requires a dip smart card reader. If the sensors are clear (no card in the reader) before the time expires, the terminal goes to the good operation next state. If the sensors remain blocked and the time expires, the terminal goes to the consumer fault next state. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen the terminal shows on the consumer display when the terminal enters the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number

4-73 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Consumer Response Time Valid Range: 000 through 255, 900 through 931, and 999 Description: The Consumer Response Time entry defines the amount of time that the terminal waits for the consumer to respond to the screen shown on the consumer display. If this time expires before the consumer responds to the screen, the terminal goes to the exit state identified by the Consumer Fault Next State entry. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931 • 999 - Wait forever Refer to Section 4.23 for additional timer information Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the operation specified is successful. Consumer Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Consumer Fault Next State entry identifies the exit state to which the terminal goes when the consumer fails to respond to the screen shown on the Consumer Display. The terminal goes to this next state when the time defined in the Consumer Response Time entry expires or when the card fails the read conditions. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a network fault. Read Conditions (composite) Valid Range: 000 through 017 Description: If the Operation entry contains 001 (read the card), the Read Conditions entry tells the terminal which card track(s) it must read correctly. The terminal must satisfy the Read Conditions before going to the Good Operation Next State. The valid values are as follows: NOTE The word and specifies that the terminal must read all the indicated tracks correctly. The word or specifies that the terminal must read only one of the indicated tracks correctly.

4-74 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States For example, 1 and 2 and 3 indicates that the terminal must read tracks 1, 2, and 3, while a 1 or 2 or 3 indicates that the terminal assumes a successful operation if any of the tracks are read correctly. • • • • • • • • • • • • • • • • • •

000 - Reserved for future use 001 - 1 only 002 - 2 only 003 - 3 only 004 - 1 and 2 005 - 1 and 3 006 - 2 and 3 007 - 1 and 2 and 3 008 - 2 or 3 009 - 1 or 3 010 - 1 or 2 011 - 1 or 2 or 3 012 - 1 and (2 or 3) 013 - 2 and (1 or 3) 014 - 3 and (1 or 2) 015 - 1 or (2 and 3) 016 - 2 or (1 and 3) 017 - 3 or (1 and 2)

The terminal always attempts to read all the tracks. The read conditions set up the criteria by which the terminal determines a successful read operation. Reserved (four entries) Valid Range: 000 Description: These entries are reserved for future use. NOTE If the Pre-head entry is being used, the four Reserved entries are required. The Pre-head entry is only applicable for motorized card readers with the pre-head option. Pre-head Valid Range: 000 through 002 Description: The Pre-head entry tells the terminal whether or not to use the card reader pre-head for opening the card reader gate. This entry is optional. The valid values are as follows: • 000 - Use the default in the .INI file • 001 - Reserved for future use • 002 - Reserved for future use

4-75 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of a Card Reader state is shown in Table 4-34. This example state directs the terminal to do the following: • Define the state number as 200 • Show screen 011 upon entering the state • Read tracks 2 and 3 from the consumer’s card • Exit to one of the following state numbers: - 003 if tracks 2 and 3 are read successfully - 004 if track 3 has an LC error, the consumer fails to enter a card in 60 ticks, or the card jams - 005 if the card reader fails to communicate properly - 006 if unit number 001 is not defined in the Card Reader configuration setting.

Table 4-34 Example Card Reader State Entry

Value

State Number

200

State Type

CR b/

Unit Number

001

Operation

001

Screen Number

011

Consumer Response Time

060

Good Operation Next State

003

Consumer Fault Next State

004

Hardware Fault Next State

005

Network Fault Next State

006

Read Conditions

006

4-76 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.3

Depositor State (DP b/) (terminals with IDM only) The format of the Depositor state table is shown in Table 4-35. The Depositor state data directs the terminal to perform specific depositor operations. The Operation entry in the state data determines which operation the terminal performs.

Table 4-35

Depositor State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

DP b/

Unit Number

001

Operation

000 - 004

Screen Number

Valid screen numbers

Consumer Response Time

000 - 255, 900 - 931, 999

Good Operation Next State

Valid state numbers

Consumer Fault Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

Print Buffer ID

[1]

MICR Buffer ID Deposit Bin ID Image Enable

000, 064 - 090

[1]

064 - 090

[1]

000 - 003

[1]

000, 001, 003, 005, 007

Check Accepted Screen

[1]

Valid screen numbers

Check Handling Delay Screen Check Handling Delay Time

[1]

[1]

Valid screen numbers 000 - 255, 900 - 931, 999

MICR Fault Next State

[1]

Valid state numbers

Media Fault Next State

[1]

Valid state numbers

Cancel Next State

[1]

Valid state numbers

Document Handling Next State

[1]

Valid state numbers

MICR Read Position Setting

[1]

000 - 001, 004 - 252

Maximum Document Length

[1][2]

150 - 225

Scanner Fault Next State [1] [2]

[1][2]

Valid state numbers

These entries are not required for operations 000 and 001. These entries are only included if the Recognition Subsystem is used.

The following paragraphs describe each entry in the Depositor state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network.

4-77 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: DP b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The unit number for the Depositor state must be 001. Operation Valid Range: 000 through 004 Description: The Operation entry tells the terminal which operation to perform during the processing of the state. The valid values for the Depositor state are as follows: • 000 - No action. The terminal takes the Good Operation Next State exit immediately. • 001 - Deposit envelope. This operation requires an envelope depository. The envelope depository is enabled for a complete envelope deposit. Timeout of this operation is controlled by timer 20 (if timer 20 has a non-zero value) or by timer 04. The Cancel key is enabled during this operation. • 002 - Deposit check to escrow. This operation is intended to be the first step of a check deposit. If there is no check or other document in escrow, the terminal enables the IDM to perform the following operations: - Accept a check or document - Read the MICR line as directed by the MICR Read Position Setting entry or the MICR search preference set in the Depositor device properties - Capture the image(s) of the check or document as directed by the Image Enable entry. - Hold the check or document in the escrow position Timeout of this operation is controlled by timer 20 (if timer 20 has a non-zero value) or by timer 04. The Cancel key is enabled during this operation. If a check or other document is in escrow at the start of this operation, the check or document is moved to the deposit bin specified in the Deposit Bin ID entry. The deposit then proceeds as described in the preceding paragraphs.

4-78 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • 003 - Retain check with printing. The terminal moves the check or other document from the escrow position to the deposit bin specified in the Deposit Bin ID entry. If there is data in the buffer specified by the Print Buffer ID entry, the terminal prints this data on the check or document. If there is no data in the specified buffer, the terminal prints the default data. If no printing is desired, the specified buffer must contain all spaces, or the value in the Print Buffer ID entry must be 000. The Cancel key is disabled during this operation. • 004 - Return check with printing. The terminal moves the check or other document from the escrow position to the entry slot of the depository, to allow the consumer to retrieve the check or document. If there is data in the buffer specified by the Print Buffer ID entry, the terminal prints this data on the check or document. If there is no data in the specified buffer, the terminal prints the default data (Section 3.11). If no printing is desired, the specified buffer must contain all spaces, or the value in the Print Buffer ID entry must be 000. Timeout of this operation is controlled by timer 09. If a timeout occurs, the check or document is captured and placed in the deposit bin specified in the Deposit Bin ID entry. The Cancel key is disabled during this operation. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows upon entering the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, 999 - Screen number Consumer Response Time Valid Range: 000 through 255, 900 through 931, and 999 Description: The Consumer Response Time entry defines the amount of time that the terminal waits for the consumer to respond to the screen shown on the consumer display. If this time expires before the consumer responds to the screen, the terminal goes to the exit state identified by the Consumer Fault Next State entry. This entry is used only with operations 001, 002, and 004. This entry is not used with operations 000 and 003. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931 • 999 - Wait forever

4-79 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the specified operation is successful. Consumer Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Consumer Fault Next State entry identifies the exit state to which the terminal goes if the consumer fails to respond to the screen shown on the consumer display. The terminal goes to this state when the time specified in the Consumer Response Time entry expires. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes if the specified operation fails because of a hardware fault. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state the terminal goes to if the specified operation fails because of a network fault. Print Buffer ID Valid Range: 000, and 064 through 090 (buffers @, and A through Z) Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal is to print on the deposit printer. The terminal prints the buffer data only when the Operation entry specifies an operation that includes printing. Also, the print data must be placed in the buffer before the terminal begins processing the Depositor state. If the value in this entry is 000, printing is disabled. MICR Buffer ID Valid Range: 064 through 090 (buffers @, and A through Z) Description: The MICR Buffer ID entry identifies which buffer the terminal uses to store MICR data read from the check. Deposit Bin ID Valid Range: 000 through 003 (subject to the capabilities of the depository) Description: The deposit bin ID tells the terminal in which bin to place a deposit if the terminal is equipped with an IDM. If the operation specified in the Deposit state is 000, this entry should be 000. If any of the operations 001 through 004 are selected, the range for this value is 000 through 003. Image Enable Valid Range: 000, 001, 003, 005, and 007 Description: The Image Enable entry is applicable to operation 002 only. This entry determines which images, if any, are to be taken from the document. Valid values are based on a bitmap whose bits are defined as follows: • Bits 7 through 3 - Reserved. Must be 0. • Bit 2: - 0 - Print on front of document - 1 - Print on back of document

4-80 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • Bit 1: - 0 - Do not scan back of document - 1 - Scan back of document • Bit 0: - 0 - Do not scan front of document - 1 - Scan front of document For IDM operation, the value of bits 2 and 1 are ignored. Bit 0 must be set to 1 to perform document scanning. When bit 0 is set to 1, the IDM scans both the top and the bottom of the document. When the specified operation includes printing, the side of the document that is printed depends on the physical location of the deposit printer, rather than the setting of bit 2. Check Accepted Screen Valid Range: Valid screen numbers (Section 4.6) Description: This entry contains the number of the screen to display when the IDM has accepted a check, but has not yet read or scanned the check. If the value in this entry is 000, the terminal does not change the screen currently showing. If this entry is not included, the value defaults to 000. Check Handling Delay Screen Valid Range: Valid screen numbers (Section 4.6) Description: This entry contains the number of the screen to display if the time specified in the Check Handling Delay Time entry expires after the check is accepted. This screen is used to assure the customer that the check is still being handled in case the IDM has difficulty locating the MICR data. If the value in this entry is 000, the terminal does not change the screen currently showing. If this entry is not included, the value defaults to 000. Check Handling Delay Time Valid Range: 000 through 255, 900 through 931, and 999 Description: The value in this entry specifies how long, in 800-millisecond ticks, to wait from the time the check is accepted until displaying the Check Handling Delay screen. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931 • 999 - Wait forever MICR Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The MICR Fault Next State entry identifies the exit state to which the terminal goes when the terminal encounters a fault when reading the MICR data. Media Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Media Fault Next State entry identifies the exit state to which the terminal goes when the terminal encounters a problem with the deposited document. For example, the document might be longer than the maximum length specified in the Maximum Document Length entry.

4-81 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Cancel Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Cancel Next State entry identifies the exit state to which the terminal goes when the consumer cancels the operation by using the Cancel key. Document Handling Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Document Handling Next State entry identifies the exit state to which the terminal goes when the IDM encounters a problem in handling the document. MICR Read Position Setting Valid Range: Refer to the description Description: This entry is used to override the MICR search preference set in the Depositor device properties. If this entry is not included, the value defaults to 001. The valid values are as follows: • 000 - Override the setting in the Depositor device properties. This entry enables searching for MICR data on the right and left sides of the check. The first attempt is made on the right edge of the check. • 001 - Use the setting in the Depositor device properties. • 002 through 255 - The remaining values, that override the setting in the Depositor device properties are created using the following bitmap: - Bit 7 (weight 128): 0 - Enable MICR search on left side of check 1 - Disable MICR search on left side of check - Bit 6 (weight 64): 0 - Enable MICR search on right side of check 1 - Disable MICR search on right side of check - Bits 5 through 0: Reserved - leave as 0 Maximum Document Length Valid Range: 150 through 225 Description: The Maximum Document Length entry tells the terminal the maximum length of the deposit document. The valid range is 150 to 225 millimetres (approximately 6 to 9 inches). If this entry is left blank or is invalid, the terminal uses the value specified in the Depositor device properties. If neither source has a valid value, the IDM uses the hardware default value. If the document exceeds this length, the terminal takes the Media Fault Next State exit. The default value is 225. Scanner Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Scanner Fault Next State entry identifies the exit state to which the terminal goes when the scanner operation fails, if the scanner failure is a hard fault. If the Scanner Fault Next State is not included in the state table data, the default exit is the Hard Fault Next State.

4-82 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of a Depositor state is shown in Table 4-36. This example state instructs the terminal to do the following: • Define the state number as 300 • Show screen number 030 upon entering the state • Perform a check deposit with the following criteria: -

Read the MICR data as defined in the Depositor device properties Store the MICR data in buffer 087 (W) Show screen 013 when the check is accepted Store the check in deposit bin 2

• Exit to one of the following state numbers: - 035 if the check deposit operation is successful - 090 if the consumer cancels the transaction or does not insert a check - 100 if the depository fails to communicate properly with , or if the depository is not enabled (Depositor device properties) - 050 if the MICR read operation fails - 060 if the depository detects a media fault (document too small or too large) - 080 if the depository has problems handling the check, (jam, and so on)

4-83 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Table 4-36

Example Depositor State

Entry

Value

State Number

300

State Type

DP b/

Unit Number

001

Operation

002

Screen Number

030

Consumer Response Time

060

Good Operation Next State

035

Consumer Fault Next State

090

Hardware Fault Next State

100

Network Fault Next State

100

Print Buffer ID

081

MICR Buffer ID

087

Deposit Bin ID

002

Image Enable

001

Check Accepted Screen

013

Check Handling Delay Screen

000

Check Handling Delay Time

000

MICR Fault Next State

050

Media Fault Next State

060

Cancel Next State

090

Document Handling Next State

080

MICR Read Position Setting

001

4-84 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.4

Dispenser Door State (DR b/) The format of the Dispenser Door state table is shown in Table 4-37. The Dispenser Door state data directs the terminal to perform present, retain, restore, and retract operations and to check withdrawal area sensors. The Operation entry in the state data determines which operation the terminal performs.

Table 4-37 Dispenser Door State Format Entry

Valid Range

State Number

Valid state numbers

State Type

DR b/

Unit Number

001

Operation

001 - 003, 005 - 008, 010 - 016

Screen Number

Valid screen numbers

Consumer Response Time

000 - 255, 900 - 931, 999

Good Operation Next State

Valid state numbers

Consumer Fault Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

The following paragraphs describe each entry in the Dispenser Door state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: DR b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The unit number for the Dispenser Door state must be 001.

4-85 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Operation Valid Range: 001 through 003, 005 through 008, and 010 through 016 Description: The Operation entry tells the terminal which operation to perform during the processing of the state. The valid values for the Dispenser Door state are as follows: • 001 - Present and wait for the operation to complete. The terminal takes a Next State exit after the present or a fault is encountered. • 002 - Present and wait for the consumer to remove the bills. The terminal takes a Next State exit after detecting that the consumer removed the bills within the timeout period (sensors cleared), the consumer timeout expires and the sensors are still blocked, or a fault is encountered. • 003 - Retain, restore, or retract (as applicable), and do not wait. If the current consumer’s cash is in escrow, the bill dispenser does nothing. If there is no cash in escrow or in the presenting position, and the presenter is not in the dispense-ready position, the bill dispenser performs a restore operation. Then the bill dispenser retains the cash. The terminal goes immediately to the Good Operation Next State. • 005 - Check withdrawal area sensors, wait for the operation to complete. • 006 - Conditional exercise • 007 - Unconditional exercise • 008 - Retain, restore, or retract (as applicable), and wait for completion. If the current consumer’s cash is in escrow, the bill dispenser does nothing. If there is no cash in escrow or in the presenting position, and the presenter is not in the dispense-ready position, the bill dispenser performs a restore operation. Then the bill dispenser dumps the cash. • 010 - Wait for consumer to remove bills. The terminal takes a Next State exit after detecting that the consumer removed the bills within the timeout period (sensors cleared), the consumer timeout expires and the sensors are still blocked, or a fault is encountered. • 011 - Restore and wait for operation to complete. • 012 - Retract and wait for operation to complete. • 013 - Retain and wait for operation to complete. • 014 - Restore and do not wait for operation to complete. The terminal goes immediately to the Good Operation Next State. • 015 - Retract and do not wait for operation to complete. The terminal goes immediately to the Good Operation Next State. • 016 - Retain and do not wait for operation to complete. The terminal goes immediately to the Good Operation Next State.

4-86 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the terminal enters the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number Consumer Response Time Valid Range: 000 through 255, 900 through 931, and 999 Description: The Consumer Response Time entry defines the amount of time that the terminal waits for the consumer to respond to the screen shown on the consumer display. If this time expires before the consumer responds to the screen, the terminal goes to the exit state identified by the Consumer Fault Next State entry. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931 • 999 - Wait forever Refer to Section 4.23 for additional timer information Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the specified operation is successful. Consumer Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Consumer Fault Next State entry identifies the exit state to which the terminal goes when the consumer fails to respond to the screen shown on the consumer display. The terminal goes to this next state when the time defined in the Consumer Response Time entry expires. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a network fault. EXAMPLE An example of a Dispenser Door state is shown in Table 4-38. This example state directs the terminal to do the following: • Define the state number as 300 • Show screen 012 upon entering the state

4-87 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • Present the bills to the consumer. • Exit to one of the following state numbers: - 004 if all the operations are successful and the consumer removes the bills from the presenter within 60 ticks - 005 if the consumer does not remove the bills from the presenter within 60 ticks - 006 if a fault occurs during the operation - 007 if unit number 001 is not defined in the Fascia configuration setting

Table 4-38

Example Dispenser Door State

Entry

Value

State Number

300

State Type

DR b/

Unit Number

001

Operation

002

Screen Number

012

Consumer Response Time

060

Good Operation Next State

004

Consumer Fault Next State

005

Hardware Fault Next State

006

Network Fault Next State

007

4-88 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.5

Get Encrypted PIN State (EP b/) The format of the Get Encrypted PIN state table is shown in Table 4-39. The Get Encrypted PIN state data directs the terminal to get the encrypted PIN block of the consumer-entered PIN from the encrypting PIN pad and store the PIN block in the buffer specified in the state table. This allows the terminal to verify that two separate entries of the PIN match, by placing the resulting PIN blocks in separate buffers and then comparing the buffers (using the Buffer Compare state). By requiring a consumer to enter their PIN twice and verifying that the entries match, an institution can ensure that the consumer typed the PIN correctly before proceeding with the transaction.

Table 4-39

Get Encrypted PIN State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

EP b/

Operation

001

Buffer ID

064 - 090, 256 - 355

Good Operation Next State

Valid state numbers

Error Next State

Valid state numbers

The following paragraphs describe each entry in the Get Encrypted PIN state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: EP b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Operation Valid Range: 001 Description: The Operation entry tells the terminal which operation to perform during the processing of the state. The only valid value for the Get Encrypted PIN state is 001.

4-89 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer ID entry identifies the buffer in which to store the encrypted PIN block. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the encrypted PIN block has been successfully retrieved from the encrypting PIN pad and stored in the specified buffer. Error Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Error Next State entry identifies the exit state the terminal goes to when the operation fails for any reason.

4-90 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.6

Image Character Recognition State (IC b/) The format of the Image Character Recognition state table is shown in Table 4-40. The Image Character Recognition state determines how a given document is interpreted, which fields on the document to recognize, and where to store the information that the Recognition Subsystem finds in those field locations.

Table 4-40 Image Character Recognition State Format Entry

Valid Range

State Number

Valid state numbers

State Type

IC b/

Operation

000, 001

Screen Number

Valid screen numbers

Good Next State

Valid state numbers

Execution Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

Document Type

001 - 999

Document Index

001 - 999

Document Window

001 - 999

Buffer ID

064 - 090, 256 - 355

• • • Document Window

001 - 999

Buffer ID

064 - 090, 256 - 355

The following paragraphs describe each entry in the Image Character Recognition state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state.

4-91 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States State Type Valid Range: IC b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Operation Valid Range: 000, 001 Description: The Operation entry tells the terminal which operation to perform. The valid values are as follows: • 000 - Enable. The Enable operation must come before the actual deposit and the Image Capture must be turned on in the Deposit state. • 001 - Read. The Read operation must come after a deposit operation. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the terminal enters the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the specified operation is successful. Execution Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Execution Fault Next State entry identifies the exit state to which the terminal goes when the specified operation fails. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the specified operation fails because of an invalid state entry or an entry out of range. Document Type Valid Range: 001 through 999 Description: The Document Type entry identifies the type of document to process. Document types can be personal checks, commercial checks, bill payments, and so on. For information about the standard, predefined document types, refer to the example at the end of this section. Document Index Valid Range: 001 through 999 Description: The Document Index entry identifies which document is to be processed within a particular document type. For information about the standard, predefined document indexes, refer to the example at the end of this section.

4-92 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Document Window Valid Range: 001 through 999 Description: The Document Window entry identifies the area of the document to process. For information about the standard, predefined document windows, refer to the example at the end of this section. Buffer ID Valid Range: 064 through 090, and 256 through 355 Description: The Buffer ID entry identifies the buffer where the results of the operation are to be placed. The valid values are as follows: • Buffer IDs 064 through 090 are used to select buffers @, A through Z • Buffer IDs 256 through 355 can be used for anything else NOTE The state accepts a maximum of up to 25 window/buffer pairs. The Buffer ID is needed to process the state entries correctly, but is only used for a Read operation. This number can be any number in the valid range. However, no results are placed in that buffer for an Enable operation. EXAMPLE The following table shows the standard, predefined document types, document indexes, and document windows used by Agilis 91x for ix/CSP:

Document Type

Document Index

Document Window

U.S. Check Courtesy Amount

1

1

1

U.S. Check E13B MICR Line

1

1

2

4-93 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.7

Lead-through Indicators State (LT b/) The format of the Lead-through Indicators state table is shown in Table 4-41. The Lead-through Indicators state data tells the terminal how to operate the lead-through indicators (lamps).

Table 4-41

Lead-through Indicators State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

LT b/

Lamp Number

001 - 011, 100

Condition

000 - 002

Time

000 - 999

Flash Rate

000 - 255

Next State

Valid state numbers

Color [1]

[1]

000 - 002

This entry is optional. If it is not included in the state table, the value defaults to 000 (green).

The following paragraphs describe each entry in the Lead-through Indicators state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: LT b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data.

4-94 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Lamp Number Valid Range: 001 through 011, and 100 Description: The Lamp Number entry tells the terminal which lead-through indicator the state data is for. The valid values are as follows: • • • • • • • • • • •

001 - Passbook printer currently not supported) 002 - Card reader 003 - Bill dispenser 004 - Envelope depository 005 - Coin dispenser 006 - All indicators 007 - Receipt printer 008 - Check depository 009 - After Hour depository 010 through 011 - Reserved 100 - Automatic mode

If 100, automatic mode, is used, then the condition and flash rate values are applied to future automatic lead-through operations. Condition Valid Range: 000 through 002 Description: The Condition entry tells the terminal which condition to put the indicator in. The valid values are as follows: • 000 - Off • 001 - On • 002 - Flash Time Valid Range: 000 through 999 Description: The Time entry specifies the amount of time (in seconds) to wait after turning a light on or flashing the light before turning the indicator off. The value of 000 leaves the indicator on indefinitely. Flash Rate Valid Range: 000 through 255 Description: The Flash Rate entry specifies the rate at which to flash the indicator. The flash rate is specified in the following manner: • • • •

1 through 85 - Low rate 86 through 170 - Medium rate 170 through 254 - High rate 255 - Reserved

Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Next State entry identifies the next state the terminal goes to after performing the desired indicator operation.

4-95 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Color Valid Range: 000 through 002 Description: The Color entry specifies the indicator color affected by the Condition entry. The indicator color is specified in the following manner: • 000 - Green • 001 - Red • 002 - Yellow This entry is optional. If it is not included in the function data, the value defaults to 000 (green). EXAMPLE An example of the Lead-through Indicators state is shown in Table 4-42. This state directs the terminal to do the following: • Define the state number as 340 • Have the card reader lead-through indicator flash for 30 seconds at a low rate • Exit to state 300 Because the optional Color entry is not included in the state table, Agilis 91x for ix/CSP directs the terminal to flash the green lead-through indicator.

Table 4-42

Example Lead-through Indicators State

Entry

Value

State Number

340

State Type

LT b/

Lamp Number

002

Condition

002

Time

030

Flash Rate

005

Next State

300

4-96 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.8

Network Connection State (NC b/) The format of the Network Connection state table is shown in Table 4-43. The Network Connection state data directs the terminal to begin the process of connecting to/disconnecting from the network in a dialup environment. The data in the Operation entry determines which operation the terminal performs.

Table 4-43

Network Connection State Format

Entry

Valid Range

State Number

000 - 250, 256 - 511

State Type

NC b/

Unit Number

001

Operation

000 - 002

Screen Number

Valid screen numbers

Consumer Response Time

000

Good Operation Next State

Valid state numbers

Consumer Fault Next State

000

Hardware Fault Next State

000

Network Fault Next State

Valid state numbers

The following paragraphs describe each entry in the Network Connection state. State Number Valid Range: 000 through 250, and 256 through 511 Description: The State Number entry identifies groups of related State Data entries. The terminal executes a group of related entries by calling their associated state number either while performing another state or performing a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State Data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: NC b/ Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The unit number for the Network Connection state must be 001.

4-97 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Operation Valid Range: 000 through 002 Description: The Operation entry tells the terminal which operation to perform during the state. The valid values for the Network Connection state are as follows: • 000 - Do nothing. • 001 - Begin the network connect process. • 002 - Begin the network disconnect process. To increase state sequencing speed, the ATM can begin the network connect process at anytime. This state can be executed after a good card read or a PIN entry state so that the connection process can begin before the Consumer Request message is ready to be sent to the network. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the terminal enters the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number Consumer Response Time Valid Range: 000 Description: The Consumer Response Time entry is not used and must be 000. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state the terminal goes to when the operation specified is successful. Consumer Fault Next State Valid Range: 000 Description: The Consumer Fault Next State entry is not used and must be 000. Hardware Fault Next State Valid Range: 000 Description: The Hardware Fault Next State entry is not used and must be 000. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state the terminal goes to when the operation specified by the state fails because of a network fault. An example of a network fault is if the value in the operation entry is out of range.

4-98 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of a Network Connection state is shown in Table 4-44. This example state directs the terminal to do the following tasks: • Define the state number as 075 • Show screen 100 upon entering the state • Begin the network connect process • Exit to one of the following state numbers: - 300 Good Operation Next State - 500 Network Fault Next State

Table 4-44

Example Network Connection State

Entry

Value

State Number

075

State Type

NC b/

Unit Number

001

Operation

001

Screen Number

100

Consumer Response Time

000

Good Operation Next State

300

Consumer Fault Next State

000

Hardware Fault Next State

000

Network Fault Next State

500

4-99 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.9

Passbook Printer State (PB b/) The Passbook Printer state is not currently supported.

4-100 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.10

Printer State (PR b/) The format of the Printer state table is shown in Table 4-45. The Printer state data directs the terminal to perform specific printer operations. The data in the Operation entry determines which operation the terminal performs. Operation is also affected by whether the printer is equipped with an exit sensor (that is, whether the printer is capable of detecting and reporting the taking of the delivered document).

Table 4-45

Printer State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

PR b/

Unit Number

001 - 003

Operation

001 - 008

Screen Number

Valid screen numbers

Consumer Response Time

000 - 255, 900 - 931, 999

Good Operation Next State

Valid state numbers

Consumer Fault Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

Print Buffer ID

064 - 090, 256 - 355

Unremoved Document Flag

000 - 001

The following paragraphs describe each entry in the Printer state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: PR b/ Description: The State Type entry identifies the specific type of state data entries associated with a particular state number. The State Type entry is considered to be part of the state data.

4-101 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Unit Number Valid Range: 001 through 003 Description: The unit number for the Printer state tells the terminal which device this state is for. The valid values are as follows: • 001 - Receipt printer (or statement printer emulating a receipt printer) • 002 - Journal printer • 003 - Electronic data capture (EDC) Operation Valid Range: 001 through 008 Description: The Operation entry tells the terminal which operation to perform. The meaning of this entry is dependent on the entry in the unit number entry. If the unit number entry is 001, receipt printer, and the printer is not equipped with an exit sensor, the valid values are as follows: • 001 - Print the data on the consumer’s receipt. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State. • 002 - Deliver the printed document. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State. • 003 - Deliver the printed document. Wait for the operation to complete. The terminal takes a Next State exit after delivery is completed or a fault is encountered. • 004 - Print the data on the consumer’s receipt. Wait for the operation to complete. The terminal takes a Next State exit after the printer successfully prints all the data or a fault is encountered.

4-102 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States If the unit number entry is 001, receipt printer, and the printer is equipped with an exit sensor, the valid values are as follows: • 001 - Print the data on the consumer’s receipt. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State. If the print data contains a form feed control character (0C hex), and the receipt is not taken before the time specified in the Consumer Response Time entry expires, the terminal retains or dumps the receipt (if the printer has that capability). If a receipt is retained or dumped due to a timeout, the terminal sends the network an unsolicited status indicating an automatic document retain. If the Consumer Response Time entry is 000, the terminal uses timer 21 instead. If the value of timer 21 is also 000 (timer 21’s default value), the terminal does not automatically retain the receipt. • 002 - Deliver the printed receipt. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless a data error is detected. In that case, the Network Fault Next State is taken. If the receipt is not taken before the time specified in the Consumer Response Time entry expires, the terminal retains or dumps the receipt (if the printer has that capability). If a receipt is retained or dumped due to a timeout, the terminal sends the network an unsolicited status indicating an automatic document retain. If the Consumer Response Time entry is 000, the terminal uses timer 21 instead. If the value of timer 21 is also 000 (timer 21’s default value), the terminal does not automatically retain the receipt. • 003 - Deliver the printed receipt. Wait for the operation to complete. The terminal takes the Good Operation Next State exit after the consumer has taken the delivered receipt, or if there is no receipt to be delivered. If the receipt is not taken before the time specified in the Consumer Response Time entry expires, the terminal goes to the Consumer Fault Next State. The terminal does not automatically retain the receipt. If the Consumer Response Time entry is 000, the terminal takes the Good Operation Next State exit immediately after delivering the receipt. The terminal does not wait for the consumer to take the receipt. The Consumer Fault Next State entry is never used. • 004 - Print the data on the consumer’s receipt. Wait for the operation to complete. The terminal takes a Good Operation Next State exit after the printer successfully prints all the data. If the print data contains a form feed control character (0C hex), the terminal delivers the receipt before taking the Good Operation Next State exit, but the terminal does not wait for the consumer to take the receipt before exiting. If the receipt is not taken, the terminal does not automatically retain the receipt.

4-103 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • 005 - Retain the receipt that is still in the delivery position, wait for the operation to complete. The terminal takes a Good Operation Next State exit after the printer successfully retains the receipt. • 006 - Retain the receipt that is still in the delivery position, do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless a network data error is detected. • 007 - Retain the receipt that is still in the delivery position, wait for the operation to complete. The terminal takes a Good Operation Next State exit after the printer successfully dumps the receipt. • 008 - Retain the receipt that is still in the delivery position, do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless a network data error is detected. To increase state sequencing speed, the network can combine printing data and delivering the receipt in one operation. To accomplish this, the network should end the print data with a form feed control character and then use a print and do not wait operation in the state (001). State sequencing then continues while the printing and delivery operations are performed. If the unit number entry is 002, journal printer, the valid values are as follows: • 001 - Print the data on the journal printer’s audit roll. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State. • 004 - Print the data on the journal printer’s audit roll. Wait for the operation to complete. The terminal takes a Next State exit after the printer successfully prints all the data or a fault is encountered. If the unit number entry is 003, EDC, the valid values are as follows: • 001 - Print the data on the EDC device. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State. • 004 - Print the data on the EDC device. Wait for the operation to complete. The terminal takes a Next State exit after the printer successfully prints all the data or a fault is encountered. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the terminal enters the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number Consumer Response Time Valid Range: 000 through 255, 900 through 931, and 999 Description: The Consumer Response Time entry defines the amount of time that the terminal waits for the consumer to take the delivered document.

4-104 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States This entry is used only with printers equipped with an exit sensor, and only with operations 001, 002, and 003. If the printer has no exit sensor, or if the operation is not 001, 002, or 003, this entry is not used and must be 000. The valid values for this entry are as follows: • 000 - The interpretation depends on which operation is specified, as follows: - Operations 001 and 002 - Use timer 21 (If the value of timer 21 is 000, the terminal does not automatically retain the receipt.) - Operation 003 - Exit to the Good Operation Next State immediately after delivering the receipt • 001 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931. • 999 - Wait forever (no beeping) Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the operation specified is successful. Consumer Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Consumer Fault Next State entry identifies the exit state to which the terminal goes when the consumer fails to take the printed document within the allotted time (as specified by the Consumer Response Time entry). This entry is used only with printers equipped with an exit sensor, and only with operation 003. If the printer has no exit sensor, or if the operation is not 003, this entry is not used and must be 000. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a network fault. Print Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal prints on the designated printer. The terminal prints the buffer data only when the Operation entry specifies a print operation (operation 001 or 004). The print data must be placed in this buffer before the terminal enters the Printer state.

4-105 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Unremoved Document Flag Valid Range: 000 and 001 Description: The Unremoved Document Flag entry tells the terminal what action to take when a document has not been removed in the time allotted (as specified in the Consumer Response Time entry). This entry is used only with printers equipped with an exit sensor, and only with operations 001 and 002. If the printer has no exit sensor, or if the operation is not 001 or 002, this entry is not used and must be 000. The valid values are as follows: • 000 - Retain the document in the retain bin • 001 - Retain the document on the ground If a document is retained or dumped due to a timeout, an unsolicited status is sent to the network.

4-106 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE 1 Table 4-46 shows an example of a Printer state for a receipt printer that has no exit sensor. This example state directs the terminal to do the following: • Define the state number as 075 • Show screen 100 upon entering the state • Deliver the consumer’s receipt and wait for the operation to complete (operation 003) • Exit to one of the following state numbers: - 300 if the operation is successful - 400 if the printer faults - 500 if the print data is invalid, or if unit number 001 is not defined in the Receipt Printer configuration setting

Table 4-46

Example Printer State (Receipt Printer without Exit Sensor)

Entry

Value

State Number

075

State Type

PR b/

Unit Number

001

Operation

003

Screen Number

100

Consumer Response Time

000

Good Operation Next State

300

Consumer Fault Next State

000

Hardware Fault Next State

400

Network Fault Next State

500

4-107 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE 2 Table 4-47 shows an example of a Printer state for a receipt printer equipped with an exit sensor. This example state directs the terminal to do the following: • Define the state number as 075 • Do not change the screen shown upon entering the state • Start printing the consumer’s receipt and do not wait for the operation to complete (operation 001) • Exit to one of the following state numbers: - 300 if the printing starts successfully - 400 if the printer fails to communicate properly - 500 if unit number 001 is not defined in the Receipt Printer configuration setting • Continue printing the consumer’s receipt using the data in buffer 080 (buffer P) If the print data contains a form feed, and the receipt is not taken before the consumer response time expires (38 ticks, 30.4 seconds), the terminal retains the receipt (Unremoved Document Flag entry contains 000). Agilis 91x for ix/CSP does not use the Consumer Fault Next State entry in this example, because the Operation entry contains a value of 001 rather than 003.

Table 4-47

Example Printer State (Receipt Printer with Exit Sensor) Entry

Value

State Number

075

State Type

PR b/

Unit Number

001

Operation

001

Screen Number

000

Consumer Response Time

038

Good Operation Next State

300

Consumer Fault Next State

000

Hardware Fault Next State

400

Network Fault Next State

500

Print Buffer ID

080

Unremoved Document Flag

000

4-108 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE 3 Table 4-48 shows an example of a Printer state for a receipt printer equipped with an exit sensor. This example state directs the terminal to do the following: • Define the state number as 075 • Do not change the screen shown upon entering the state • Print the consumer’s receipt and wait for the operation to complete (operation 004). Print the receipt using the data in buffer 080 (buffer P). • Exit to one of the following state numbers: - 300 if printing is successful - 400 if the printer faults - 500 if the printer data is invalid, or if unit number 001 is not defined in the Receipt Printer configuration setting Agilis 91x for ix/CSP does not use the Consumer Response Time entry, the Consumer Fault Next State entry, and the Unremoved Document Flag entry in this example, because the Operation entry contains a value of 004 rather than 001, 002, or 003.

Table 4-48

Example Printer State (Receipt Printer with Exit Sensor) Entry

Value

State Number

075

State Type

PR b/

Unit Number

001

Operation

004

Screen Number

000

Consumer Response Time

000

Good Operation Next State

300

Consumer Fault Next State

000

Hardware Fault Next State

400

Network Fault Next State

500

Print Buffer ID

080

Unremoved Document Flag

000

4-109 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE 4 Table 4-49 shows an example of a Printer state for a journal printer. This example state directs the terminal to do the following: • Define the state number as 077 • Do not change the screen shown upon entering the state • Start printing on the journal printer and do not wait for the operation to complete (operation 001) • Exit to one of the following state numbers: - 150 if the printing starts successfully - 200 if the printer fails to communicate properly - 250 if unit number 002 is not defined in the Journal Printer configuration setting • Continue printing the consumer’s receipt using the data in buffer R

Table 4-49 Example Printer State (Journal Printer)

4.5.11

Entry

Valid Range

State Number

077

State Type

PR b/

Unit Number

002

Operation

001

Screen Number

000

Consumer Response Time

000

Good Operation Next State

150

Consumer Fault Next State

000

Hardware Fault Next State

200

Network Fault Next State

250

Print Buffer ID

082 (R)

Supplemental Dispenser Module (SDM) State (SDb/) The format of the Supplemental Dispenser Module State data entries is shown in Table 4-50. The Supplemental Dispenser Module State data instructs the terminal to perform specific dispense operations. The Operation entry in the State data determines which operation the terminal performs.

4-110 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States NOTE The SDM has 010 units of power allocated to it while performing a dispense operation.

Table 4-50

Supplemental Dispenser Module (SDM) State Format

ENTRY

VALID RANGE

State Number

Valid state numbers

State Type

’SD b/’

Unit Number

001

Operation

001-002

Screen #1

000, 001-511

Screen #2

000, 001-511

Consumer Response Time

000-255, 900-931, 999

Good Operation Next State

Valid state numbers

Consumer Fault Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

The following paragraphs describe each field in the Enhanced Supplemental Dispenser State. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: SD b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Unit Number Valid Range: 001 Description: The unit number for the Supplemental Dispenser Module State data must be 001.

4-111 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Operation Valid Range: 001 through 002 Description: The Operation entry tells the terminal which operation to perform. The valid values are as follows: • 001 - Dispense and do not wait for operation to complete. The state sequencer goes immediately to the Good Operation Next State. • 002 - Dispense and wait for operation to complete. The state sequencer takes the Good Operation Next State exit after the consumer has taken the dispensed media. The consumer response timer is started when the media has been successfully dispensed. If the consumer response timer expires, the Consumer Fault Next State exit is taken. Screen #1 Valid Range: Valid screen numbers (Section 4.6) Description: The Screen #1 entry specifies the number of the screen that the terminal shows on the consumer display during the wait for the media to be dispensed. This screen only applies to a dispense and wait operation (002). The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 899, 900 through 850, 999 - Screen Number Screen #2 Valid Range: Valid screen numbers (Section 4.6) Description: The Screen #2 entry specifies the number of the screen that the terminal shows on the Consumer display after the dispense is complete and the state is waiting for the media to be taken. This screen only applies to a dispense and wait operation (002). The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 899, 900 through 850, 999 - Screen Number Consumer Response Time Valid Range: 000-255, 900-931, 999 Description: The Consumer Response Time entry defines the amount of time that the terminal waits for the consumer to respond to the screen shown on the consumer display. If this entry contains a value other than 999 and the time expires before the consumer responds to the screen, the terminal goes to the exit state identified by the Consumer Fault Next State entry. The valid values for this entry are as follows: • 000-255 - Number of ticks (no beeping) • 900-931 - Configured Timers 900 - 931 • 999 - Wait forever (no beeping) Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the operation specified is successful. Consumer Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Consumer Fault Next State entry identifies the next state to be taken if the time indicated in the Consumer Response Time entry expires

4-112 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States before the operation is complete. This exit is only valid for the dispense and wait operation (002). This exit can also be taken for any operation if a consumer cancel occurs. This action can happen if the device becomes unavailable and the consumer elects to cancel the operation. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of an invalid state entry or an entry out of range.

4-113 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.12

Statement Printer State (SP b/) The format of the Statement Printer state table is shown in Table 4-51. The Statement Printer state data directs the terminal to perform specific printer operations. The data in the Operation entry determines which operation the terminal performs. It is important to note that all uses of the statement printer need to end with a deliver, retain, or retain function. If the print function fails, this ensures that the paper is cleared and the printer is back in a "ready for use" condition.

Table 4-51 Statement Printer State Format Entry

Valid Range

State Number

Valid state numbers

State Type

SP b/

Unit Number

001

Operation

001 - 008

Screen Number

Valid screen numbers

Consumer Response Time

000 - 899, 900 - 931, 999

Good Operation Next State

Valid state numbers

Consumer Fault Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

Print Data ID

064 - 090, 256 - 355, ’@’, ’A’ - ’Z’

Print Data Type

000 - 003

Reserved

000

Unremoved Document Flag

000 - 001

The following paragraphs describe each entry in the Statement Printer state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state.

4-114 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States State Type Valid Range: SP b/ Description: The State Type entry identifies the specific type of state data entries associated with a particular state number. The State Type entry is considered to be part of the state data. Unit Number Valid Range: 001 Description: The unit number for the Statement Printer state must be 001. Operation Valid Range: 001 through 008 Description: The Operation entry tells the terminal which operation to perform. The valid values are as follows: • 001 - Print the data on the statement. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless there is a data error. In that case, the Network Fault Next State exit is taken. • 002 - Deliver the printed statement. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless a data error is detected. In that case, the Network Fault Next State exit is taken. If the statement is not taken before the time specified in the Consumer Response Time entry expires, the terminal retains or dumps the statement (if the statement printer has that capability). If a statement is retained or dumped due to a timeout, the terminal sends the network an unsolicited status indicating an automatic document retain. • 003 - Deliver the printed statement. Wait for the operation to complete. The terminal takes the Good Operation Next State exit after the consumer has taken the delivered statement or if there is no statement to be delivered. If the statement is not taken before the time specified in the Consumer Response Time entry expires, the terminal takes the Consumer Fault Next State exit. The terminal does not automatically retain the statement. • 004 - Print the data on the statement. Wait for the operation to complete. The terminal takes a Next State exit after the printer successfully prints all the data or a fault is encountered. • 005 - Retain any statement that is still in the delivery position. Wait for the operation to complete. The terminal takes a Next State exit after the printer successfully retains the statement or a fault is encountered. • 006 - Retain any statement that is still in the delivery position. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless a network data error condition is detected.

4-115 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • 007 - Retain any statement that is still in the delivery position. Wait for the operation to complete. The terminal takes a Next State exit after the printer successfully dumps all forms or a fault is encountered. • 008 - Retain any statement that is still in the delivery position. Do not wait for the operation to complete. The terminal goes immediately to the Good Operation Next State unless a network data error condition is detected. In this case, the Network Fault Next State is taken. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the function is being performed. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number Consumer Response Time Valid Range: 000 through 899, 900 through 931, and 999 Description: The Consumer Response Time entry defines the amount of time that the terminal waits for the consumer to take a presented statement. This entry is used only with operations 002 and 003. The valid values for this entry are as follows: • 000 through 899 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931 • 999 - Wait forever (no beeping) Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the operation specified is successful. Consumer Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Consumer Fault Next State entry identifies the next state to be executed in either of the following situations: • During operation 003 (deliver and wait), the time specified in the Consumer Response Time entry expires before the statement is removed. • During any operation, the consumer cancels the operation. This can happen if the statement printer becomes unavailable, and the consumer chooses to cancel the operation instead of waiting for the statement printer to be available again. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal.

4-116 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes if the state processing encounters data that it does not know how to handle while processing an operation that waits to complete before responding. This can include (but is not limited to) the following items: • Invalid operation number • Invalid print data • A file containing print data could not be found For Do Not Wait operations (001, 002, 006, and 008), only severe data errors cause this exit. These data errors can be an invalid state or function data packet size. Print Data ID Valid Range: 064 through 090 (@, and A through Z), 256 through 355, ’@’, and ’A’ through ’Z’ Description: The Print Data ID entry identifies the location of the print data. The meaning of this value depends on the Print Data Type entry. This entry is only used for operations 001 and 004. All other operations ignore this entry. Print Data Type Valid Range: 000 through 003 Description: The Print data Type entry identifies the type of print data to print on the statement printer. This field is only used for print operation 001 and 004. The valid values are as follows: • 000 - The print data is in an buffer. The value in the Print Data ID entry is the buffer ID of the buffer containing the print data. The print data in the buffer is in expanded ASCII format. • 001 - The print data is stored in a file. The value in Print Data ID entry is the buffer ID of the buffer containing the path and file name of the file. The path and file name in the buffer must be a fully qualified path and file name. • 002 - The print data is stored in a file in c:\DIEBOLD\TCS\sp. The file name is SPDATA_x.TXT, where ’x’ is the value in the Print Data ID entry. Example - If the value in the Print Data ID entry is ’Z’, the terminal prints the data in the file: c:\DIEBOLD\TCS\sp\SPDATA_Z.TXT. • 003 - The print data is stored in an buffer. The value in the Print Data ID entry is the buffer ID of the buffer containing the print data. The print data in the buffer is in normal (non-expanded) ASCII format. Reserved Valid Range: 000 Description: This entry is reserved. Unremoved Document Flag Valid Range: 000 through 001

4-117 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: The Unremoved Document Flag entry tells the terminal what action to take on a document that has not been removed in the time allotted in the Consumer Response Time field. The valid values are as follows: • 000 - Retain the document in the retain bin. • 001 - Retain the document on the ground. This entry is only used for print operation 002, deliver and do not wait. EXAMPLE An example of a Statement Printer state is shown in Table 4-52. This state directs the terminal to do the following: • Define the state number as 075 • Show screen number 100 upon entering the state • Print the statement and wait for the operation to complete (operation 004) • Get the print data from a file called DIEBOLD\TCS\sp\SPDATA_S.TXT • Exit to one of the following states: - 300 if the operation is successful - 400 if the printer faults - 500 if a statement printer is not defined

Table 4-52 Example Statement Printer State Entry

Value

State Number

075

State Type

SP b/

Unit Number

001

Operation

004

Screen Number

100

Consumer Response Time

000

Good Operation Next State

300

Consumer Fault Next State

350

Hardware Fault Next State

400

Network Fault Next State

500

Print Data ID

’S’

Print Data Type

002

Reserved

000

Unremoved Document Flag

000

4-118 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.13

Check FIT State (@B b/) The format of the Check FIT state table is shown in Table 4-53. The Check FIT state data directs the terminal to compare the institution ID read from the consumer’s card against the Financial Institution Table (FIT) entries stored in terminal memory. If there is a match, the terminal goes to the Match Next State. If no match is found, the terminal goes to the No Match Next State. Refer to the Data Security Procedures and Reference Manual (TP-799530-001D) for details on FIT. NOTE Data in the consumer’s associated FIT entry determines whether the terminal uses the state’s PIN Retry Count entry or the PIN Retry Count recorded on the consumer’s card. For detailed information on FIT entries, refer to the Data Security Procedures and Reference Manual (TP-799530-001D).

Table 4-53

Check FIT State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@B b/

Match Next State

Valid state numbers

No Match Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

PIN Retry Count

000 - 255

The following paragraphs describe each entry in the Check FIT state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @B b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data.

4-119 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Match Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry specifies the state number of the exit to be taken if the Institution ID from the card matches an Institution ID in the FIT entries. No Match Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry specifies the state number of the exit to be taken if the Institution ID from the card does not match an Institution ID in the FIT entries. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a network fault. PIN Retry Count Valid Range: 000 through 255 Description: If programmed to do so in the FIT, the PIN Retry Count entry specifies the maximum number of times a consumer can enter an incorrect PIN before the terminal goes to the Maximum Bad PINs Next State (identified in the Check PIN state). Data in the consumer’s associated FIT entry determines whether the terminal uses the state’s PIN Retry Count entry or the PIN Retry Count recorded on the card. For detailed information on FlT entries, refer to the Data Security Procedures and Reference Manual (TP-799530-001D). The terminal resets the PIN Retry Counter each time it executes a state that contains a PIN Retry Count entry. If this entry is included in the Check FIT state, the Check PIN state should include no PIN Retry Count entry. Upon executing the Check FlT state, the terminal loads the entry value into the PIN Retry Counter. The terminal then decreases the value of the counter each time the consumer enters a bad PIN during the Check PIN state. EXAMPLE An example of a Check FIT state is shown in Table 4-54. This example state directs the terminal to do the following: • Define the state number as 110 • Store the Institution ID data read from the consumer’s card

4-120 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • Check the FIT entries for match with the Institution ID • Exit to one of the following state numbers: - 200 if the Institution ID from the card matches an Institution ID in the FIT entries - 300 if the Institution ID from the card does not match an Institution ID in the FIT entries

Table 4-54

Example Check FIT State

Entry

Value

State Number

110

State Type

@B b/

Match Next State

200

No Match Next State

300

Hardware Fault Next State

000

Network Fault Next State

000

4-121 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.14

Check PIN State (@C b/) The format of the Check PIN state table is shown in Table 4-55. The Check PIN state data directs the terminal to verify the PIN entered by the consumer. The terminal must perform a Check FIT state and an Information Entry state (@D) before performing a Check PIN state. The Information Entry state is used for PIN entry. NOTE Data in the consumer’s associated FIT entry determines whether the terminal uses the state’s PIN Retry Count entry or the PIN Retry Count recorded on the consumer’s card. For detailed information on FIT entries, refer to the Data Security Procedures and Reference Manual (TP-799530-001D).

Table 4-55

Check PIN State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@C b/

Match Next State

Valid state numbers

No Match Next State

Valid state numbers

Hardware Fault Next State

Valid state numbers

Network Fault Next State

Valid state numbers

Maximum Bad PINs Next State

Valid state numbers

No Local PIN Check Next State

Valid state numbers

PIN Buffer ID

064

PIN Retry Count

000 - 255

The following paragraphs describe each entry in the Check PIN state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state.

4-122 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States State Type Valid Range: @C b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Match Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry specifies the state number of the exit to be taken if the PIN entered by the consumer matches the calculated PIN. No Match Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry specifies the state number of the exit to be taken if the PIN entered by the consumer does not match the calculated PIN. Hardware Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Hardware Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a hardware fault in the terminal. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a network fault. Maximum Bad PINs Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Maximum Bad PINs Next State entry identifies the exit state to which the terminal goes if the consumer exceeds the maximum number of PIN attempts (PIN Retry Count entry in the Check FIT state or Check PIN state). No Local PIN Check Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The No Local PIN Check Next State entry identifies the exit state to which the terminal goes when the consumer’s associated FIT entry specifies that the terminal send the consumer’s PIN to the network for verification (no PIN check performed at the terminal). PIN Buffer ID Valid Range: 064 Description: The only valid entry for this state is 064. PIN Retry Count Valid Range: 000 through 255 Description: If programmed to do so in the FIT, the PIN Retry Count entry specifies the maximum number of times a consumer can enter an incorrect PIN before the terminal goes to the Maximum Bad PINs Next State (identified in the Check PIN state). Data in the consumer’s associated FIT entry determines whether the terminal uses the state’s PIN Retry Count entry or the PIN Retry Count recorded on the consumer’s card. For detailed information on the FlT entries, refer to the Data Security Procedures and Reference Manual (TP-799530-001D).

4-123 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The terminal resets the PIN Retry Counter each time it executes a state that contains a PIN Retry Count entry. If this entry is included in the Check FIT state, the Check PIN state should include no PIN Retry Count entry. Upon executing the Check FlT state, the terminal loads the entry value into the PIN Retry Counter. The terminal then decrements the counter each time the consumer enters a bad PIN during the Check PIN state. If this entry is included in the Check PIN state, the terminal performs the following state sequence: 1. The terminal enters an Information Entry state that prompts the consumer to enter a PIN number. The Format Template Full Next State entry of this Information Entry state is a Check PIN state. 2. The terminal enters the Check PIN state and loads the PIN Retry Count entry value into the PIN Retry Counter. The terminal decreases the value of the counter each time the consumer enters a bad PIN. 3. If the consumer entered a bad PIN, the counter is decreased and the terminal enters the No Match Next State specified in the Check PIN state. The No Match Next State entry is a second Information Entry state. 4. The second Information Entry state informs the consumer that an invalid PIN has been entered and prompts the consumer for a new PIN. The Format Template Full Next State entry of this second Information Entry state is a different Check PIN state that has no PIN Retry Count entry. 5. If the consumer entered another bad PIN, the value of the counter specified in Step 2 is decreased and the terminal enters the No Match Next State specified in the second Check PIN state. The No Match Next State entry is the same Information Entry state specified in Step 4. 6. If the PIN Retry Counter reaches zero, the terminal exits to the state specified in the Maximum Bad PINs Next State entry. This Next State entry should be included in the second Check PIN state specified in Step 5. Specifying a PIN Retry Count in the second Check PIN state resets the PIN Retry Counter, making it impossible for the counter to reach zero. EXAMPLE An example of a Check PIN state is shown in Table 4-56. This example state directs the terminal to do the following: • Define the state number as 120 • Verify the consumer-entered PIN according to the directions in the FIT entry

4-124 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • If programmed to do so in FIT, use the state’s PIN Retry Count (003) to determine the number of maximum bad PIN entry attempts the consumer is allowed • Exit to one of the following state numbers: - 050 if the FIT entry tells the terminal to perform PIN verification and the PIN entered by the consumer is correct - 060 if the FIT entry tells the terminal to perform PIN verification and the PIN entered by the consumer is incorrect - 070 if the hardware faults - 080 if the network faults - 090 if the consumer entered too many bad PINs - 095 if the FIT entry tells the terminal to send the PIN to the network for verification

Table 4-56

Example Check PIN State

Entry

Value

State Number

120

State Type

@C b/

Match Next State

050

No Match Next State

060

Hardware Fault Next State

070

Network Fault Next State

080

Maximum Bad PINs Next State

090

No Local PIN Check Next State

095

PIN Buffer ID

064

PIN Retry Count

003

4-125 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.15

Information Entry State (@D b/) The format of the Information Entry state table is shown in Table 4-57. The terminal uses the Information Entry state data to allow the consumer to enter information. To allow the consumer to enter information, the State data calls Screen #1 along with a format template or Screen #2 or both. With optional entries, this state can also do the following: • Define the type of entry allowed (numeric key, function key, or both) • Format the way consumer-entered data is shown (format templates) • Select the buffers in which to store consumer keystroke data • Exit to another state depending on whether the consumer presses a function key or fills the format template shown on the screen. If the consumer must press several function keys during a transaction, the terminal must use a separate Information Entry state for each function key keypress. The values of Timeout #1 and Timeout #2 determine the amount of time allowed for the consumer to enter information. The terminal goes to the states defined by the Timeout Next State numbers if the consumer does not complete the information entry in the allotted time. For example, the network might choose to allow a consumer 15 ticks to enter the first digit of a transaction amount, but only 5 ticks for each digit that follows the first. The Number of Keys (First Timeout) entry would contain 001, the Timeout #1 entry would contain 015, and the Timeout #2 entry would contain 005. The Information Entry state can also be used for PIN entry. In this case, a special value must be placed in the Number Key Buffer ID entry to indicate PIN entry and ensure proper encryption of the entered PIN. Because the state data does not use record separators (RSs) to identify the individual optional entries, the terminal requires that the state data contain the optional entries up to, and including, the final desired entry. Intermediate entries that are not desired must contain an applicable disabling value. Intermediate optional entries cannot be skipped. However, the terminal does not require any of the optional entries after the final desired entry. NOTE If the state is used to accept data from the keypad (the typical use), it is mandatory, as a minimum, that all the entries up to and including the Function Key A Next State be defined, even if no keys are enabled. The Information Entry state can also be used as a time delay state. To accomplish this, only the entries up to and including the Timeout #2 Next State be defined, even if no function keys are enabled.

4-126 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States NOTE If a function key has been assigned to voice volume control, Agilis 91x for ix/CSP ignores any attempt to enable that function key for any other use during a consumer session. For details, refer to Section 4.17.

Table 4-57 Information Entry State Format Entry

Valid Range

State Number

Valid state numbers

State Type

@D b/

Screen #1

Valid screen numbers

Screen #2

Valid screen numbers

Do You Want More Time?

000 - 001

Timeout #1

000 - 255, 900 - 931, 999

Timeout #2

000 - 255, 900 - 931, 999

Timeout #1 Next State

Valid state numbers

Timeout #2 Next State (refer to the Note above)

Valid state numbers

Format Template Number

000 - 099

Number of Keys

001 - 255

Numeric Key Buffer ID

065 - 090, 256 - 355

Format Template Full Next State

Valid state numbers

Function Key Buffer ID

000, 064 - 090, 256 - 355

Function Key Buffer Byte

001 - 255

Function Key A Next State (refer to the Note above)

Valid state numbers

Function Key B Next State

Valid state numbers

Function Key C Next State

Valid state numbers

Function Key D Next State

Valid state numbers

Function Key E Next State

Valid state numbers

Function Key F Next State

Valid state numbers

Function Key G Next State

Valid state numbers

Function Key H Next State

Valid state numbers

Function Key I Next State

Valid state numbers

Function Key J Next State

Valid state numbers

Function Key K Next State

Valid state numbers

Function Key L Next State

Valid state numbers

Function Key M Next State

Valid state numbers

The following paragraphs describe each entry in the Information Entry state.

4-127 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @D b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Screen #1 Valid Range: Valid screen numbers (Section 4.6) Description: The Screen #1 entry specifies the number of the first screen that the terminal shows on the consumer display when the terminal enters the Information Entry state. This screen must leave the display’s cursor positioned at the beginning of the format template area or the overlay screen (Screen #2). The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 511, 900 through 950, and 999 - Screen number Screen #2 Valid Range: Valid screen numbers (Section 4.6) Description: The Screen #2 entry specifies the number of an overlay screen that can be used in place of, or along with, a format template. If the state does not use Screen #2, set this entry to 000. The valid values are as follows: • 000 - Do not change the screen currently showing • 001 through 511, 900 through 950, and 999 - Screen number Do You Want More Time? Screen Enable Valid Range: 000 and 001 Description: This entry enables the terminal to show the Do You Want More Time? special screen. If this entry is set to 001 (enabled) and either Timeout #1 or Timeout #2 expires, the terminal shows the special screen and waits for a Yes or No response from the consumer. If the consumer chooses Yes, the terminal restarts the Information Entry state from the beginning, regardless of which timeout occurred. If the consumer chooses No, the terminal exits to the timeout next state associated with the timeout period that occurred. If the entry is set to 000 (disabled) and either Timeout #1 or Timeout #2 expires, the terminal exits to the timeout next state associated with the timeout period that occurred.

4-128 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Timeout #1 Valid Range: 000 through 255, 900 through 931, and 999 Description: The Timeout #1 entry defines the amount of time that the terminal waits for the consumer to press each key defined by the Number of Keys entry. If this time expires before the consumer presses a key, the terminal goes to the exit state identified by the Timeout #1 Next State entry. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 00 through 31 • 999 - Wait forever Refer to Section 4.23 for additional timer information. Timeout #2 Valid Range: 000 through 255, 900 through 931, and 999 Description: The Timeout #2 entry defines the amount of time that the terminal waits for the consumer to press each key. The terminal uses this timeout after the consumer presses all the keys defined by the Number of Keys entry. If the Number of Keys entry contains a 255, the terminal ignores Timeout #2. If this time expires before the consumer presses a key, the terminal goes to the exit state identified by the Timeout #2 Next State entry. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 00 through 31 • 999 - Wait forever Refer to Section 4.23 for additional timer information. Timeout #1 Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Timeout #1 Next State entry identifies the exit state to which the terminal goes when the consumer fails to press a key timed by Timeout #1. Timeout #2 Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Timeout #2 Next State entry identifies the exit state to which the terminal goes when the consumer fails to press a key timed by Timeout #2. Format Template Number Valid Range: 000 through 099 Description: The Format Template Number entry specifies which format template the terminal uses to define and show the data that the consumer enters using the numeric keys of the keypad. The valid values for this entry are as follows: • 000 - Disable the numeric keys • 001 through 099 - Format template number Number of Keys (First Timeout) Valid Range: 001 through 255

4-129 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: The Number of Keys entry defines the number (amount) of keypresses timed by Timeout #1. These keys are the first set of keys the consumer presses to enter data during the state (for example, the numeric keys for a transaction amount). Timeout #2 times any additional keys that the consumer must press during the state (for example, a function key to terminate the entry of the transaction amount). If all keypresses are timed by Timeout #1, this entry must be set to 255. This setting also disables Timeout #2. The valid values for this entry are as follows: • 001 through 254 - Number of keypresses timed by Timeout #1 • 255 - All keypresses timed by Timeout #1 Numeric Key Buffer ID Valid Range: 064 (PIN entry) 065 through 090 (buffers A through Z), and 258 through 299 (enhanced buffers) Description: The Numeric Key Buffer ID entry identifies which buffer the terminal uses to store the numeric data entered by the consumer during the Information Entry state. The terminal automatically clears this buffer upon entering the Information Entry state. The value 064 indicates thatthis instance of the state is being used for PIN entry. This value causes Agilis 91x for ix to automatically encrypt the entered PIN (based on the applicable FIT entry, and using the terminal’s encryption/decryption device). NOTE If this state is used for PIN entry, the only valid value for the numeric key buffer ID is 064 (buffer @). Format Template Full Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Format Template Full Next State entry identifies the exit state to which the terminal goes when the consumer fills the format template shown on the consumer display. Enter 255 to disable this entry. When this entry contains 255, the terminal remains in the Information Entry state until the consumer presses a function key, even when the format template is full. The valid values for this entry are as follows: • Valid state numbers - State number • 255 - Remain in current state until function key is pressed Function Key Buffer ID Valid Range: 000, 065 through 090 (A through Z), and 256 through 355 Description: The Function Key Buffer ID entry identifies which buffer contains the key code data for the function key pressed by the consumer. The valid values for this entry are as follows: • 000 - Do not place the value of the pressed key in any buffer • 065 through 090 (A through Z), and 256 through 355 - Buffer ID

4-130 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Function Key Buffer Byte From Start Valid Range: 001 through 255 Description: The Function Key Buffer Byte From Start entry identifies the position in the buffer where the terminal stores the key code data for the function key pressed by the consumer. The function key byte is counted from the first byte in the buffer. A value of 001 in this entry represents the first (left-most) byte in the buffer. In a buffer with a length of 255 bytes, a value of 255 in this entry represents the last (right-most) byte in the buffer. lf a timeout occurs while waiting for a consumer to press a key, the terminal places an * (asterisk) in the specified Function Key Buffer position. If the terminal takes the Format Template Full Next State as an exit, the terminal places a + (plus sign) in the specified Function Key Buffer position. Refer to Figure 4-2 for an example in which the function key byte is defined as the fourth-from-start byte because the value of the Function Key Buffer Byte From Start entry is 004.

g1959026

Figure 4-2

Example Function Key Buffer Byte from Start Entry

Function Key X Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Function Key X Next State entry identifies the exit state to which the terminal goes when the consumer presses the related function key during the state (X = any of the function keys, A through M). The valid values for this entry are as follows: • Valid state numbers - State number • 255 - Disable the function key while in the state

4-131 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of an Information Entry state is shown in Table 4-58. This example state directs the terminal to do the following: • Define the state number as 050 • Show Screen #1 (026) upon entering the state • Disable Screen #2 • Disable the Do You Want More Time? screen • Set Timeout #1 for 8 ticks • Disable Timeout #2 (Number of Keys entry is 255) • Call format template 002, enabling the numeric keys of the keypad • Place any numeric data entered into buffer B • Place the key code for any function key pressed into the third byte of buffer O • Enable function keys A, C, and E (Cancel) • Exit to one of the following state numbers: -

001 if a timeout occurs (Timeout #l) 002 if the consumer fills the format template 003 if the consumer presses function key A 004 if the consumer presses function key C 005 if the consumer presses the Cancel key

In the table, the state data requires a Next State entry of 255 to disable function keys B and D, but does not require any entries for function keys F through M.

Table 4-58 Example Information Entry State Entry

Value

State Number

050

State Type

@D b/

Screen #1

026

Screen #2

000

Do You Want More Time?

000

Timeout #1

008

Timeout #2

XXX

Timeout #1 Next State

001

[1]

[1]

XXX denotes any character

4-132 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Table 4-58

Example Information Entry State (continued)

Entry

Value

Timeout #2 Next State

XXX

Format Template Number

002

Number of Keys (First Timeout)

255

Numeric Key Buffer ID

066 (B)

Format Template Full

002

Function Key Buffer ID

079 (O)

Function Key Buffer Byte From Start

003

Function Key A Next State

003

Function Key B Next State

255

Function Key C Next State

004

Function Key D Next State

255

Function Key E Next State

005

[1]

[1]

XXX denotes any character

4-133 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.16

Buffer Compare State (@E b/) The Buffer Compare state is a general purpose state that compares the contents of two buffers. As with other enhanced states, the state’s format and length are specific to its purpose (it does not conform to the 9000 style of fixed-length state tables). An offset value can be used to ignore certain characters from the right end of a buffer. The least significant character has an offset value of 1. The offset value indicates the last character considered for the comparison. All characters to the right of the offset value are ignored. An offset value of 1 indicates that all characters in the buffer should be compared. Several state entries can be defined to indicate the next state operation, which is determined by the values compared in two buffers. The good next state operation is one of the following conditions: • Buffer 1 < Buffer 2 • Buffer 1 = Buffer 2 • Buffer 1 > Buffer 2 If the data contained in either buffer is not valid for the specified compare mode or a problem was encountered retrieving the buffer to compare, an error next state diverts state flow. The state entries for use with the Buffer Compare state (@E) are shown in Table 4-59.

Table 4-59

Buffer Compare State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@E b/

Compare Mode

001, 002

Buffer_1 ID

064 - 090, 256 - 355

Buffer_1 Offset

001 - Buffer_1 Length

Buffer_2 ID

064 - 090, 256 - 355

Buffer_2 Offset

001 - Buffer_2 Length

Buffer_1 Value < Buffer_2 Value Next State

Valid state numbers

Buffer_1 Value = Buffer_2 Value Next State

Valid state numbers

Buffer_1 Value > Buffer_2 Value Next State

Valid state numbers

Compare Error Next State

Valid state numbers

4-134 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The following paragraphs describe each entry in the Buffer Compare state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @E b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Compare Mode Valid Range: 001 and 002 Description: The Compare Mode entry tells the terminal the type of compare mode to use when comparing the contents of two buffers. The valid values are as follows: • 001 - Compare as ASCII decimal numeric data (ignore leading 0s) • 002 - Compare as binary data 00 through FF (ignore leading NULLs) If the buffers are not the same length, then the shorter buffer is padded to the left before the compare operation. The compare mode pads the shorter buffer with ASCII zeros (hex 30) for ASCII data and NULLs (hex 00) for binary data. Buffer_1 ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer_1 ID entry identifies the ID of the first buffer in the comparison. Buffer_1 Offset Valid Range: 001 through Length of Buffer_1 Description: The Buffer_1 Offset entry contains the offset from the end of Buffer_1. The end position (offset equal to one) is the least significant value moving left to the more significant values. Buffer_2 ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer_2 ID entry identifies the ID of the second buffer in the comparison.

4-135 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Buffer_2 Offset Valid Range: 001 through Length of Buffer_2 Description: The Buffer_2 Offset entry contains the offset from the end of Buffer_2. The end position (offset equal to one) is the least significant value moving left to the more significant values. Buffer_1 < Buffer_2 Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Buffer_1 < Buffer_2 Next State entry tells the terminal what state to go to if the value in Buffer_1 is less than the value in Buffer_2. Buffer_1 = Buffer_2 Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Buffer_1 < Buffer_2 Next State entry tells the terminal what state to go to if the value in Buffer_1 is equal to the value in Buffer_2. Buffer_1 > Buffer_2 Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Buffer_1 > Buffer_2 Next State entry tells the terminal what state to go to if the value in Buffer_1 is greater than the value in Buffer_2. Compare Error Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Compare Error Next State entry tells the terminal what state to go to if the value in either Buffer_1 or Buffer_2 is not valid for the compare mode.

4-136 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.17

Set Buffer State (@F b/) The format of the Set Buffer state table is shown in Table 4-60. The Set Buffer state data directs the terminal to set specific bytes in an existing buffer to the values contained in the state data and then to exit to another state. The Set Buffer state does not create a buffer. That is, it cannot be used to redefine the length of an existing buffer or to create a new buffer. The Set Buffer state can only be used to change data bytes in an existing buffer. For information on creating buffers, refer to Section 4.5.22. The terminal enters the first value of the state data into the buffer position indicated by the Most Significant Byte from Start entry. The terminal enters the remaining values, in succession, into the buffer positions to the right of the Most Significant Byte from Start (bytes of lesser significance). A Value entry of 255 causes no change to a current buffer position. Therefore, an existing buffer byte that must not be changed can be skipped. NOTE To use the Set Buffer state, the network must either use a buffer that already exists or define a buffer before using the state. The network defines buffers with Write Command messages, Function Command messages (Section 5), or using the Create Buffer state (@L b/). The number of Value entries that can be assigned to a Set Buffer state is limited by the size of the existing buffer and by the starting position within the buffer.

Table 4-60

Set Buffer State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@F b/

Good Operation Next State

Valid state numbers

Buffer ID

064 - 090, 256 - 355

Most Significant Byte From Start

001 - 255

Value

000 - 255

Value

000 - 255













Value

000 - 255

The following paragraphs describe each entry in the Set Buffer state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their

4-137 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @F b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes once the buffer is set. Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer ID entry identifies the buffer being set. Most Significant Byte From Start Valid Range: 001 through 255 Description: The Most Significant Byte From Start entry identifies the position in the buffer at which to begin setting values. The most significant byte is counted from the first byte in the buffer. A value of 001 in this entry represents the first (left-most) byte in the buffer. In a buffer with a length of 255 bytes, a value of 255 in this entry represents the last (right-most) byte in the buffer. Refer to Figure 4-3 for an example in which the most significant byte is defined as the fourth-from-start byte because the value of the Most Significant Byte From Start entry is 004.

4-138 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States

g1959027

Figure 4-3

Example Most Significant Byte from Start Entry

Value Valid Range: 000 through 255 Description: This entry contains the value to place in a buffer. An example of a Set Buffer state is shown in Table 4-61. This example state directs the terminal to do the following: • • • • •

Define the state number as 120 Exit to state number 001 after changing the specified buffer bytes Set the fifth byte of buffer B to an A (041 hex, 065 decimal) Do not change the sixth byte of buffer B Set the seventh byte of buffer B to a 2 (032 hex, 050 decimal)

EXAMPLE The example in Figure 4-4 shows the contents of buffer B before and after the terminal performs the example Set Buffer state.

Table 4-61

Example Set Buffer State

Entry

Value

State Number

120

State Type

@F b/

Good Operation Next State

001

Buffer ID

066 (B)

Most Significant Byte from Start

005

Value

065

Value

255

Value

050

4-139 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States

g1959028

Figure 4-4

Set Buffer State Example

4-140 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.18

Buffer Copy State (@G b/) The format of the Buffer Copy state table is shown in Table 4-62. The Buffer Copy state copies a buffer to another buffer.

Table 4-62

Buffer Copy State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@G b/

Good Operation Next State

Valid state numbers

Source Buffer ID

064 - 090, 256 - 355

Destination Buffer ID

064 - 090, 256 - 355

The following paragraphs describe each entry in the Buffer Copy state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @G b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the buffer copy is successful. Source Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Source Buffer ID is the ID of the buffer that contains data to be copied. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry must be set to 065. Destination Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355

4-141 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: The Destination Buffer ID is the ID of the buffer to which information is copied. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry must be set to 065. EXAMPLE An example of a Buffer Copy state is shown in Table 4-63. This example state directs the terminal to do the following: • • • •

Define the state number as 100 Exit to state 150 after the buffer is copied The Source Buffer ID is A The Destination Buffer ID is B

Table 4-63

Example Buffer Copy State

Entry

Value

State Number

100

State Type

@G b/

Good Operation Next State

150

Source Buffer ID

065

Destination Buffer ID

066

4-142 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.19

Check Buffer State (@H b/) The format of the Check Buffer state table is shown in Table 4-64. The Check Buffer state data directs the terminal to check a buffer for a match with the values contained in the state data. The terminal then goes to another state depending on whether the value in the buffer was less than, equal to, or greater than the value(s) in the state data. NOTE The last value in the state data is compared to the value contained in the buffer position indicated by the Least Significant Byte From End entry. The values preceding the last value in the state data are compared to more significant bytes in the buffer (bytes to the left of the Least Significant Byte from End buffer position).

Table 4-64

Check Buffer State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@H b/

Compare Mode

001 - 002

Buffer Data Less Than State Data Next State

Valid state numbers

Buffer Data Equal To State Data Next State

Valid state numbers

Buffer Data Greater Than State Data Next State

Valid state numbers

Buffer ID

064 - 090, 256 - 355

Least Significant Byte From End

001 - 255

Value

000 - 255

Value

000 - 255













Value

000 - 255

The following paragraphs describe each entry in the Check Buffer state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number.

4-143 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @H b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Compare Mode Valid Range: 001 and 002 Description: When the Check Buffer state compares its values with the data bytes in the buffer, the state starts the compare operation a specified number of bytes from the last byte in the buffer. The starting byte in the buffer is specified by the Least Significant Byte from End entry. The state compares the buffer bytes to the left of the starting byte with the bytes (values) specified in the state. If the buffer contains more data bytes than the state, the state compares only the number of bytes specified by the state. If the buffer contains fewer data bytes than the state, the state pads the buffer temporarily to equalize the number of bytes. Compare Mode entry 001 pads the buffer with ASCII NULL characters (hex 00). Compare Mode entry 002 pads the buffer with ASCII 0 characters (hex 30). In the following examples, assume the following conditions: • The Least Significant Byte from End entry is 003 • The buffer contains ASCII 00XX (XX represents the last two bytes in the buffer. These bytes are ignored in the compare operation because of the Least Significant Byte From End entry) • The state data values are ASCII 000 Compare Mode entry 001 pads the buffer to look like NULL00XX. The NULL is compared to the state data’s most significant ASCII 0, and the buffer would be declared Less Than. Compare Mode entry 002 pads the buffer to look like 000XX. The ASCII 0 is compared to the state data’s most significant ASCII 0, and the buffer would be declared Equal To. Compare Mode entry 001 should be used for ASCII chart-ranking-type compare operations, and Compare Mode entry 002 should be used for true numeric compare operations. The Compare Mode padding is done for compare purposes only. The padding does not change the physical length of the buffer data. Buffer Data Less Than State Data Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry identifies the exit state to which the terminal goes when the values in the buffer are less than the values in the state.

4-144 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Buffer Data Equal To State Data Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry identifies the exit state to which the terminal goes when the values in the buffer are equal to the values in the state. Buffer Data Greater Than State Data Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry identifies the exit state to which the terminal goes when the values in the buffer are greater than the values in the state. Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer ID entry identifies a buffer. Least Significant Byte From End Valid Range: 001 through 255 Description: The Least Significant Byte From End identifies the position in the buffer at which to begin comparing values. The least significant byte is counted from the last byte in the buffer. A value of 001 in this entry represents the last (right-most) byte in the buffer. In a buffer with a length of 255 bytes, a value of 255 in this entry represents the first (left-most) byte in the buffer. Refer to Figure 4-5 for an example in which the least significant byte is defined as the third-to-last byte because the value of the Least Significant Byte From End entry is 003.

g1959029

Figure 4-5

Example Least Significant Byte From End Entry

Value Valid Range: 000 through 255 Description: The Value entry contains the value to look for in a buffer. The value entered must be the decimal equivalent of the ASCII Hex value. For example, 1 is entered as 049.

4-145 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of a Check Buffer state is shown in Table 4-65. As shown in Figure 4-5, the terminal goes to the different Next State exits depending on the values in buffer B (an X denotes a "do not care" condition).

Table 4-65

Example Check Buffer State

Entry

Value

State Number

100

State Type

@H b/

Compare Mode

Refer to Section 4.5

Buffer Data Less Than State Data Next State

001

Buffer Data Equal To State Data Next State

002

Buffer Data Greater Than State Data Next State

003

Buffer ID

066

Least Significant Byte From End

003

Value

049

If buffer B contains 123, the least significant byte from the end is 1 and equals the value of 1 (049) in the Value entry. The terminal takes the Buffer Data Equal to State data Next State exit. If buffer B contains 321, the least significant byte from the end is 3 which is greater than the value of 1 (049) in the Value entry. The terminal takes the Buffer Data Greater Than State Data Next State exit. If buffer B contains 012, the least significant byte from the end is 0 which is less than the value of 1 (049) in the Value entry. The terminal takes the Buffer Data Less Than State Data Next State exit.

4-146 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.20

Transaction Request State (@I b/) The Transaction Request state can be in two different formats. Format 0 of the Transaction Request state table is shown in Table 4-66. Format 1 of the Transaction Request state table is shown in Table 4-68. The Transaction Request state directs the terminal to build a Consumer Request message, and then sends the message to the network. Specifically, the state data identifies the following information: • The buffers to send in the Consumer Request message • The amount of time the terminal waits for the network’s response message • The state the terminal goes to if the network does not respond within the specified time

Table 4-66

Transaction Request State Format (format 0)

Entry

Valid Range

State Number

Valid state numbers

State Type

@I b/

Screen Number

Valid screen numbers

Network Response Time

000 - 255, 900 - 931, 999

Network Response Timeout Next State

Valid state numbers

Format Indicator

000 - 001

Send Track 2 Data

000 - 001

Send Track 1, Track 3, and/or MICR Data

000 - 007

Send Function Key Buffer Data

000 - 001

Send Dollar Buffer Data

000 - 001

Send PIN Buffer Data

000 - 001

Send General Purpose Buffer B/C Data

000 - 001

Cancel Key Enable Flag Cancel Key Next State

[1]

[1]

Cancel After Function Next State Buffer ID [1] [2]

[2]

128 Valid state numbers [1]

Valid state numbers 065 - 090, 256 - 355

If the Cancel Key Enable Flag entry is used, then the Cancel Key Next State and Cancel After Function Next State entries must be included. The Buffer ID entry can be repeated, as needed, for multiple buffers.

The following paragraphs describe each entry in the Transaction Request state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network.

4-147 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @I b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the terminal enters the state. The valid values for this entry are as follows: • 000 - Do not change the screen currently showing • 001 through 950, and 999 - Screen number Network Response Time Valid Range: 000 through 255, 900 through 931, and 999 Description: The Network Response Time entry defines the amount of time that the terminal waits for the network’s response message to the Consumer Request message. The valid values for this entry are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 00 through 31 (defined by silent time entry only) • 999 - Wait forever Refer to Section 4.23 for additional timer information. If this time expires before the network responds, the terminal goes to the exit state identified by the Network Response Timeout Next State entry. Network Response Timeout Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Response Timeout Next State entry identifies the exit state to which the terminal goes when the network does not respond to an terminal Consumer Request message within the specified time (Network Response Time entry). Format Indicator Valid Range: 000 and 001 Description: This entry indicates the format of the message. The valid values are as follows: • 000 - Format 0 • 001 - Format 1

4-148 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Send Track 2 Data Valid Range: 000 and 001 Description: The Send Track 2 Data entry indicates whether track 2 data should be sent in the Consumer Request message. The valid values are as follows: • 000 - Do not send data • 001 - Send data Send Track 1, Track 3, and/or MICR Data Valid Data Range: 000 through 007 Description: This entry specifies whether track 1 data, track 3 data, MICR data, or some combination of this data is sent to the network. The valid values are as follows: • • • • • • • •

000 - No additional tracks 001 - Send track 3 only 002 - Send track 1 only 003 - Send track 1 and 3 004 - Send MICR only 005 - Send MICR and track 3 006 - Send MICR and track 1 007 - Send MICR and tracks 1 and 3

Send Function Key Buffer Data Valid Data Range: 000 and 001 Description: This entry indicates whether the Function Key data should be sent in the Consumer Request message. The valid values are as follows: • 000 - Do not send data • 001 - Send data Send Dollar Buffer Data Valid Data Range: 000 and 001 Description: This entry indicates whether the Dollar Buffer data should be sent in the Consumer Request message. The valid values are as follows: • 000 - Do not send data • 001 - Send data Send PIN Buffer Data Valid Data Range: 000 and 001 Description: This entry indicates whether the consumer entered PIN should be sent in the Consumer Request message. The valid values are as follows: • 000 - Do not send data • 001 - Send data If the PIN is included in the message, the PIN is in encrypted form, based on the applicable FIT entry. Send General Purpose Buffers B and/or C Data Valid Data Range: 000 through 003

4-149 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: This entry indicates whether general purpose buffer B data, general purpose buffer C data, or both should be sent in the Consumer Request message. The valid values are as follows: • • • •

000 - Do not send data from either buffer 001 - Send General Purpose Buffer B data only 002 - Send General Purpose Buffer C data only 003 - Send General Purpose Buffers B and C data

Cancel Key Enable Flag Valid Range: 128 Description: This optional entry is used to enable the Cancel key in the Transaction Request state. The only valid value is 128. If there is any other value in this entry, the terminal ignores it. NOTE If the Cancel Key Enable Flag entry is 128, the next two entries, Cancel Key Next State and Cancel After Function Next State, must be included. Cancel Key Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This optional entry tells the terminal which state to go to if the Cancel Key Enable Flag entry is 128 and the Cancel key is pressed. If the Cancel key is enabled in the Transaction Request state and it is pressed before the Function Command message is received by the terminal, the transaction request state is terminated and the Cancel Next State is executed. Cancel After Function Next State (912 mode only) Valid Range: Valid state numbers (Section 4.3.1) Description: The Cancel After Function Next State entry tells the terminal which state to go to if the consumer presses the Cancel key during the processing of a function command. The terminal terminates function processing in between function IDs. A function command reject is sent to the network and the terminal goes to the next state specified by this entry. Enter 255 to deactivate the Cancel key during this state. Buffer ID Valid Range: 064 through 090, and 256 through 355 Description: The Buffer ID entry indicates the ID of the buffer to be sent. This entry can be repeated as needed if multiple buffers need to be sent. EXAMPLE Transaction Request state (format 0) An example of a format 0 Transaction Request state is shown in Table 4-67. This example state directs the terminal to do the following: • Define the state number as 150 • Show screen 200 upon entering the state (usually a screen that asks the consumer to please wait)

4-150 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • Send the following information to network: -

Track 2 data Track 1 and 3 data Function Key data Dollar Buffer data Consumer-entered PIN General Purpose Buffer B data

• Wait 30 ticks for the network’s response message • Exit to state number 300 if the network does not respond within 30 ticks If the terminal receives the network message within the 30-tick time limit, it performs any function commanded by the network and then exits to the Good Operation Next State identified in the network message.

Table 4-67

Example Transaction Request State (format 0)

Entry

Value

State Number

150

State Type

@I b/

Screen Number

200

Network Response Time

030

Network Response Timeout Next State

300

Format Indicator

000

Send Track 2 Data

001

Send Track 1, Track 3, and/or MICR Data

001

Send Function Key Buffer Data

001

Send Dollar Buffer Data

001

Send PIN Buffer Data

001

Send General Purpose Buffers B and/or C Data

001

Changes for Format 1 The Transaction Request state table shown in Table 4-68 is format 1. The format 1 state table contains a list of buffers to send. This buffer list can be used with the Recognition Subsystem to identify buffers used in the scanning process. The shaded areas in Table 4-68 indicate the areas of the state format that are the same.

Table 4-68

Transaction Request State Format (format 1)

Entry.

Valid Range

State Number

Valid state numbers

State Type

@I b/

Screen Number

000 - 511

Network Response Time

000 - 255, 900 - 931, 999

4-151 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Table 4-68

Transaction Request State Format (format 1) (continued)

Entry.

Valid Range

Network Response Timeout Next State

Valid state numbers

Format Indicator

001

Buffer ID

[1]

064 - 090, 256 - 355

Cancel Key Enable Flag

128

Cancel Key Next State

Valid state numbers

Cancel After Function Next State

Valid state numbers

[1]

The Buffer ID entry can be repeated, as needed, for multiple buffers.

The following paragraphs describe the entries in the Transaction Request state different for format 1. Format Indicator Valid Range: 001 Description: The Format Indicator entry indicates that this is a format 1 Transaction Request state. Buffer ID Valid Range: 064 (consumer-entered PIN), 065 through 090 (buffers A through Z), and 256 through 299 (enhanced buffers) Description: The Buffer ID entry indicates the ID of the buffer to be sent. This entry can be repeated as needed if multiple buffers need to be sent. The value 064 specifies sending the consumer-entered PIN. If the PIN data is included in the message, the PIN is in encrypted form, based on the applicable FIT entry. The buffer ID entry can be repeated a necessary, if multiple buffers need to be sent.

4-152 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.21

Indirect Next State (@K b/) The format of the Indirect Next state table is shown in Table 4-69. The Indirect Next state data directs the terminal to go to alternate states based on matching a value in a buffer or the value of the PSTDX entry from the consumer’s associated FIT entry. Refer to the Data Security Procedures and Reference Manual (TP-799530-001D) for a detailed description of the PSTDX entry in the FIT. A maximum of 100 alternate Next State entries can be defined in this state. If more than 100 state entries are defined, only the first 100 are used. If the Buffer ID entry contains a value of 000, the terminal compares the values in the state data to the PSTDX entry. Since the Buffer ID entry can also contain @ and A through Z, the terminal can also use this state as a limited Check Buffer state. If no match is found between the values in the state data and the PSTDX value or the buffer value, the terminal goes to the Network Fault Next State exit. A no match condition usually occurs because the state does not contain enough comparison values. NOTE The terminal requires that the state data contain all the Next State entries up to, and including, the Next State for the final desired matching value. Intermediate entries cannot be skipped. For example, if the final desired matching value is 10 and matching values 01 through 09 is not important, the Next State if Value entries for 01 through 09 must be included in the state data.

Table 4-69

Indirect Next State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@K b/

Buffer ID

064 - 090, 256 - 355

Network Fault Next State

Valid state numbers

Next State if Value = 00

Valid state numbers

Next State if Value = 01

Valid state numbers













Next State if Value = 99

Valid state numbers

The following paragraphs describe each entry in the Indirect Next state. State Number Valid Range: Valid state numbers (Section 4.3.1)

4-153 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @K b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Buffer ID Valid Range: 000, 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer ID entry identifies the buffer to be matched. If the Buffer ID entry is 000, then the terminal reads the value from the PSTDX FIT entry. Network Fault Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Network Fault Next State entry identifies the exit state to which the terminal goes when the operation specified by the state fails because of a network fault. Next State if Value = XX Valid Range: Valid state numbers (Section 4.3.1) Description: The Next State If Value = xx entry identifies an exit state to which the terminal goes based on matching the value of the two most significant bytes in a buffer (or the value of the PSTDX entry in FIT) with the value contained in the entry (xx). When buffer data is compared to state data values, the terminal uses the values in the first two buffer positions (most significant bytes) to match the state data values as follows: NOTE The data in each buffer byte must be in the range of ASCII 0 through ASCII 9 ( :30 through :39). If either byte is outside this range, the terminal takes the Network Fault Next State exit.

4-154 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Buffer Byte 1

Buffer Byte 2

Equivalent State Value to Match

30

&

30

=

00

30

&

31

=

01

30

&

32

=

02



















39

&

38

=

98

39

&

39

=

99

If the buffer is defined as one byte long, the terminal uses only that byte to match the state data values as follows: NOTE The data in the buffer byte must be in the range of ASCII 0 through ASCII 9 (hex 30 through hex 39). If the byte is outside this range, the terminal takes the Network Fault Next State exit.

Buffer Byte

Equivalent State Value to Match

30

=

00

31

=

01



















38

=

08

39

=

09

When the buffer is one byte long, a maximum of 10 alternate Next State entries can be defined in the state. If more than 10 states are defined, only the first 10 are used. The value of the PSTDX entry might be limited in some FIT systems. Therefore, when a PSTDX entry is compared to the state data values, the maximum number of alternate Next State entries is equal to the range of PSTDX values in the FIT. If more than the maximum are defined, only the values up to and including the maximum are used.

4-155 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of an Indirect Next state is shown in Table 4-70. This example state directs the terminal to do the following: • Define the state number as 080 • Read the value of PSTDX in FIT (Buffer ID is 000) • Exit to one of the following state numbers: - 010 if the PSTDX entry does not equal any of the values listed in the state data - 100 if the PSTDX entry equals 00 - 200 if the PSTDX entry equals 01 - 300 if the PSTDX entry equals 02 - 400 if the PSTDX entry equals 03

Table 4-70

Example Indirect Next State

Entry

Value

State Number

080

State Type

@K b/

Buffer ID

000

Network Fault Next State

010

Next State if Value = 00

100

Next State if Value = 01

200

Next State if Value = 02

300

Next State if Value = 03

400

4-156 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.22

Create Buffer State (@L b/) The format of the Create Buffer state table is shown in Table 4-71. The Create Buffer state data directs the terminal to create the buffer specified by the Buffer ID entry and to fill the buffer with the data specified in the Value byte entries. A maximum of 38 Value byte entries can be defined in this state. If more than 38 Value bytes are defined, only the first 38 are used. NOTE The terminal enters the first value in the state data into the Most Significant Byte buffer position (first or left-most buffer position). The terminal enters the remaining values, in succession, into the buffer positions to the right of the Most Significant Byte. The following list defines some of the uses for the Create Buffer state: • Filling a buffer with a numerical amount associated with a single-key amount selection • Deleting an existing buffer by creating it again with no data defined in the state’s Value byte entries • Clearing a buffer • Initializing a buffer to a given length with specific data

Table 4-71 Create Buffer State Format Entry

Valid Range

State Number

Valid state numbers

State Type

@L b/

Good Operation Next State

Valid state numbers

Buffer ID

064 - 090, 256 - 355

Value

000 - 255

Value

000 - 255









(38 entries maximum)











Value

000 - 255

4-157 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The following paragraphs describe each entry in the Create Buffer state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @L b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes once the buffer is created. Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Buffer ID entry identifies the buffer being created. Value Valid Range: 000 through 255 Description: This entry contains the value to place in a buffer. EXAMPLE An example of a Create Buffer state is shown in Table 4-72. This example state directs the terminal to do the following: • • • •

Define the state number as 027 Create buffer J Fill the buffer with the Value bytes shown Exit to state 028

4-158 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Table 4-72 Example Create Buffer State Entry

Value

State Number

027

State Type

@L b/

Good Operation Next State

028

Buffer ID

074

Value

084

Value

072

Value

073

Value

083

Value

032

Value

073

Value

083

Value

032

Value

074

4-159 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.23

Track Buffer Compare State (@M b/) The format of the Track Buffer Compare state table is shown in Table 4-73. The Track Buffer Compare state examines track data to define the terminal’s personality for the current consumer. The state provides conditional branching of the state table sequence and can change the index for Indirect Next State processing.

Table 4-73

Track Buffer Compare State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@M b/

Match Next State

Valid state numbers

No Match Next State

Valid state numbers

Indirect Next State Index

000 - 255

Buffer ID/Delimiter

000 - 003, 016 - 019, 032 - 035

Delimiter Index

000 - 999

Match Character (first)

048 - 057, 063

Match Character (second)

048 - 057, 063

Match Character (third)

048 - 057, 063

Match Character (fourth)

048 - 057, 063

Match Character (fifth)

048 - 057, 063

Match Character (sixth)

048 - 057, 063

The following paragraphs describe each entry in the Track Buffer Compare state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of State data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @M b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data.

4-160 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Match Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry specifies the state number of the exit to be taken if the data in the specified buffer matches all six characters specified in the six Match Character entries. No Match Next State Valid Range: Valid state numbers (Section 4.3.1) Description: This entry specifies the state number of the exit to be taken if the data in the specified buffer does not match all six characters specified in the six Match Character entries. Indirect Next State Index Valid Range: 000 through 255 Description: This entry specifies a new Indirect Next State index to be used for the current transaction. The terminal converts this entry to a two-digit hexadecimal number. If the buffers match, the most significant digit of the entry specifies the new index. If the buffers do not match, the least significant digit of the entry specifies the new index. If the digit is from 0 to 7, this number is the new Indirect Next state index. If the digit is F, the index is not altered. Buffer ID/Delimiter Valid Range: 000 through 003, 016 through 019, and 032 through 035 Description: When this entry is converted to hexadecimal, the first digit must be 0 through 2 and the second 0 through 3. This entry specifies the track to examine for matching characters, along with the position (in conjunction with the Delimiter Index) in the track. The first hexadecimal digit specifies the track data buffer as follows: • 0 - Track 2 • 1 - Track 3 • 2 - Track 1 The second hexadecimal digit specifies a track delimiter and a direction for applying the offset in the Delimiter Index as follows: • • • •

0 - Start sentinel, count forward 1 - First field separator, count forward 2 - End sentinel, count backward 3 - Last field separator, count forward

Delimiter Index Valid Range: 000 through 999 Description: This entry specifies the number of characters to offset from the delimiter to locate the data for comparing with the six Match Characters. The first character after the delimiter is offset 000. Match Character Valid Range: 048 through 057, and 063 Description: These entries specify the characters to compare with those in the track buffer. Hexadecimal 3F (063) always matches any buffer character.

4-161 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of a Track Buffer Compare state is shown in Table 4-74. This example state directs the terminal to do the following: • Define the state number as 100 • Exit to state number 050 if the data in the specified buffer matches all six match characters • Exit to state number 060 if the data in the specified buffer does not match all six match characters • The Indirect Next State index is 098 • Track 3 is used to examine for matching characters • The track delimiter is the start sentinel and the direction is count forward when applying the offset in the Delimiter index entry. • The number of characters to offset from the delimiter (refer to the two items immediately preceding) to locate records for comparing with 6 match characters is 010. • The six entries to compare with those in the track buffer are 049, 048, 056, 052, 053, and 051.

Table 4-74

Example Track Buffer Compare State

Entry

Value

State Number

100

State Type

@M b/

Match Next State

050

No Match Next State

060

Indirect Next State Index

098

Buffer ID/Delimiter

016

Delimiter Index

010

Match Character (first)

049

Match Character (second)

048

Match Character (third)

056

Match Character (fourth)

052

Match Character (fifth)

053

Match Character (sixth)

051

4-162 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.24

Buffer Shift State (@N b/) The Buffer Shift state allows the user to shift or rotate the data in a buffer to the left or right. If shifting, it shifts a user-supplied pad character into the buffer. The buffer size is not affected by this state. The format of the Buffer Shift state table is shown in Table 4-75.

Table 4-75 Buffer Shift State Format Entry

Valid Range

State Number

Valid state numbers

State Type

@N b/

Good Operation Next State

Valid state numbers

Fault Operation Next State

Valid state numbers

Buffer ID

064 - 090, 256 - 355

Operation

001 - 004

Number of Positions to Shift

Valid range based on buffer length

Pad Character

000 - 255

The Buffer Shift state entries are defined as follows: State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Data Range: @N b/ Description: This State Type identifies this state table as a Shift Buffer state. Good Operation Next State Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the buffer shift is successful. Fault Operation Next State Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Fault Operation Next State entry identifies the exit state to which the terminal goes when the buffer shift is unsuccessful. Reasons for failure include illegal operation, illegal or empty buffer, or number of positions to shift greater than buffer length.

4-163 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Buffer ID Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: The Buffer ID is the ID of the buffer containing data to be shifted. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry should be set to 065. Operation Valid Data Range: 001 through 004 Description: The Operation entry tells the terminal which operation to perform during the state. The valid values for the Shift Buffer state are as follows: • • • •

001 - Shift data to the right. 002 - Rotate data to the right. 003 - Shift data to the left. 004 - Rotate data to the left.

On a shift operation, the pad character is used to fill in the positions being shifted out of. On a rotate operation, the character in the last buffer position is shifted into the first buffer position or vice versa based on direction. The overall buffer length of the buffer is not altered. Number of Positions to Shift Valid Data Range: No greater than buffer length Description: The Number of Positions to Shift entry tells the terminal how far the data in the buffer should be shifted. Pad Character Valid Data Range: 000 through 255 Description: The Pad Character entry contains the value to be placed into the buffer positions that characters are shifted out of if a shift operation is being used. The value entered must be the decimal equivalent of the ASCII Hex value. For example, 0 would be entered as 048.

4-164 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.25

Buffer Arithmetic State (@O b/) The Buffer Arithmetic state adds or subtracts buffers. This state assumes that the buffers being added or subtracted contain ASCII numeric characters 0 through 9. The result is also an ASCII numeric buffer. The result buffer is unsigned, with the exit next state indicating a positive or negative result. For subtraction, the Negative Result Next State is taken if Buffer 2 is larger than Buffer 1. Otherwise, the Positive Result Next State is taken. In addition, the Positive Result Next State exit is always taken. The structure of the Buffer Arithmetic state is shown in Table 4-76.

Table 4-76 Buffer Arithmetic State Format Definition

Valid Range

State Number

Valid state numbers

State Type

@O b/

Positive Result Next State

Valid state numbers

Negative Result Next State

Valid state numbers

Buffer 1 ID

064 - 090, 256 - 355

Buffer 2 ID

064 - 090, 256 - 355

Result Buffer ID

064 - 090, 256 - 355

Operation to Perform

000 - 001

The Buffer Arithmetic state entries are defined as follows: State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Data Range: @O b/ Description: This State Type identifies this state table as a Buffer Arithmetic state. Positive Result Next State Valid Data Range: Valid state numbers (Section 4.3.1) Description: The state to go to for the addition operation. This exit is also taken for the subtraction operation if the value contained in Buffer 1 is as large or larger than the value contained in Buffer 2.

4-165 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Negative Result Next State Valid Data Range: Valid state numbers (Section 4.3.1) Description: This is the state to go to for the subtraction operation. This exit is only taken if the value contained in Buffer 2 is larger than the value contained in Buffer 1. Buffer 1 ID Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: This is the ID of the buffer that contains the value to be added to or subtracted from. Buffer 2 ID Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: This entry contains the buffer ID of the buffer that contains the value to be added or subtracted. Result Buffer ID Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: This entry contains the buffer ID of the buffer to contain the result of the given operation. This entry can be the same buffer ID as given in either Buffer 1 ID or Buffer 2 ID. The length of this buffer is the length of the larger of the two source buffers. In the case of addition, the buffer is one byte larger than the larger of the two source buffers if the result is larger because of a carry-on to the most significant place. Operation to Perform Valid Data Range: 000 and 001 Description: This entry identifies the operation to be performed with the specified buffers. The valid values are as follows: • 000 - This value directs the terminal to add Buffer 1 and Buffer 2 and place the result in the result buffer specified. NOTE If two 8-digit ASCII buffers are added, the result might need to be expanded to a 9-digit ASCII buffer. The result buffer size is always at least as large as the larger of the two buffers to be added. • 001 - This value directs the terminal to subtract Buffer 2 from Buffer 1. The result buffer always contains the difference between the two buffers (a positive value). If the contents of Buffer 2 is larger than Buffer 1, the Negative Result Next State path is taken. Otherwise, the Positive Result Next State path is used. The result buffer is always the same length as the longer of Buffers 1 and 2.

4-166 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.26

Copy Buffer Data State (@P b/) The Copy Buffer Data state allows the user to copy all or part of one buffer into all or part of another buffer. The data can be copied in either direction (left to right or right to left) thus enabling the user to invert the data if they so desire. The user also can pad the unused portions of the destination buffer with a leading and trailing pad character. The destination buffer size is not altered by this state. The format of the Copy Buffer Data state table is shown in Table 4-77. NOTE The Copy Buffer Data state should not be used with the PIN buffer since the PIN buffer is encrypted.

Table 4-77 Copy Buffer Data State Format Entry

Valid Range

State Number

Valid state numbers

State Type

@P b/

Good Operation Next State

Valid state numbers

Fault Operation Next State

Valid state numbers

Source Buffer ID

064 - 090, 256 - 355

Source Direction

000, 001

Source Offset

000 - 255

Destination Buffer ID

064 - 090, 256 - 355

Destination Direction

000, 001

Destination Offset

000 - 255

Number of Bytes to Copy

000 - 255

Truncation Allowed

000, 001

Pad Enable

000 - 003

Leading Pad Character

000 - 255

Trailing Pad Character

000 - 255

The Copy Buffer Data state entries are defined as follows: State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number.

4-167 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Data Range: @P b/ Description: This State Type identifies this state table as a Copy Buffer Data state. Good Operation Next State Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the copy operation is successful. Fault Operation Next State Valid Data Range: Valid state numbers (Section 4.3.1) Description: The Fault Operation Next State entry identifies the exit state to which the terminal goes when the copy operation is unsuccessful. Reasons for failure include illegal or empty buffer, attempting to copy more data than available, and not enough space to copy data to if Truncation Allowed entry indicates no truncation is permitted. Source Buffer ID Valid Data Range: 064 through 090 (@ through Z), and 256 through 355 Description: The Source Buffer ID is the ID of the buffer containing data to be copied. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry should be set to 065. Source Buffer Direction Valid Data Range: 000 and 001 Description: The Source Buffer Direction entry tells the terminal how the data is to be copied from the source buffer. The valid values are as follows: • 000 - Left to Right. Copy source data starting from the beginning of the buffer to the end. • 001 - Right to Left. Copy source data starting from the end of the buffer to the beginning. Source Buffer Offset Valid Data Range: 000 through 255 Description: The Source Buffer Offset entry indicates the position in the source buffer from which data should start to be copied. The actual position in the buffer is dependent on the source buffer direction entry. If left to right, then offset of 0 is the first character in the buffer, while using right to left, the offset of 0 is the last character in the buffer. NOTE If the Source Buffer Offset is greater than the length of the buffer, the Fault Operation Next State is taken and there is no change to the destination buffer. Destination Buffer ID Valid Data Range: 064 through 090 (@ through Z), and 256 through 355

4-168 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: The Destination Buffer ID is the ID of the buffer where the data is copied to. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry should be set to 065. Destination Buffer Direction Valid Data Range: 000 and 001 Description: The Source Buffer Direction entry tells the terminal how the data is copied to the destination buffer. The valid values are as follows: • 000 - Left to Right. Copy source data starting from the beginning of the buffer to the end. • 001 - Right to Left. Copy source data starting from the end of the buffer to the beginning. Destination Buffer Offset Valid Data Range: 000 through 255 Description: The Destination Buffer Offset entry indicates the position in the destination buffer where the data should start to be copied to. The actual position in the buffer is dependent on the destination buffer direction entry. If left to right, then offset of 0 is the first character in the buffer, while using right to left, the offset of 0 is the last character in the buffer. NOTE If the Destination Buffer Offset is greater than the length of the buffer, the Fault Operation Next State is taken and there is no change to the destination buffer. Number of Bytes to Copy Valid Data Range: 000 through 255 Description: The Number of Bytes to Copy entry tells the terminal the number of bytes of data to be copied from the source buffer to the destination buffer. An entry of 000 indicates to copy all source buffer data from source buffer offset to end (or beginning base on source direction). Truncation Allowed Valid Data Range: 000 and 001 Description: The Truncation Allowed entry is used to indicate if there is not the indicated amount of data available to be copied, or not enough room to copy to, if the operation should be completed with space available and still take the Good Operation Next State exit, or do not perform the operation and take the Fault Operation Next State exit. The valid values are as follows: • 000 - Take fault operation next state exit without performing copy if unable to perform complete copy as indicated. • 001 - Copy partial data as available resources dictate and take good next state exit. Pad Enable Valid Data Range: 000 through 003

4-169 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Description: The Pad Enable entry indicates if the parts of the destination buffer that are not receiving data should be filled with a pad character. The valid values are as follows: • 000 - Do not fill with pad characters. • 001 - Fill unused buffer before destination offset with leading pad character. Locations are dependent on destination direction. Start of buffer to character before destination offset if left to right and End of buffer to character after offset if right to left. •

002 - Fill unused buffer after copied data with trailing pad character. Locations are dependent on destination direction. After last copied character to end of buffer if destination direction is left to right and start of buffer to character before last character copied if right to left.

• 003 - Pad both before and after as described above for values 001 and 002. Leading Pad Character Valid Data Range: 000 through 255 Description: The Leading Pad Character entry contains the value to be placed into the buffer positions prior to that of the data being copied into the destination buffer. The value entered must be the decimal equivalent of the ASCII Hex value. For example, 0 would be entered as 048. Trailing Pad Character Valid Data Range: 000 through 255 Description: The Trailing Pad Character entry contains the value to be placed into the buffer positions after the characters that are being copied into the destination buffer. The value entered must be the decimal equivalent of the ASCII Hex value. For example, 0 would be entered as 048.

4-170 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.27

Buffer Overlay State (@Q b/) The format of the Buffer Overlay state table is shown in Table 4-78. The Buffer Overlay state data directs the terminal to copy the bytes in one existing buffer (overlay buffer) over the bytes in another existing buffer (base buffer) starting at an offset value contained in the state data. The terminal then exits to another state. The Buffer Overlay state does not create any new buffers or alter the length of the existing buffers. The Buffer Overlay state can only be used to overlay the data in one existing buffer with the data in another existing buffer. If the base buffer is shorter than the overlay buffer, only those bytes overlaid by the (longer) overlay buffer are changed in the base buffer. The terminal enters the first byte of the overlay buffer into the base buffer position indicated by the Most Significant Byte From Start entry. The terminal enters the remaining bytes until the entire overlay buffer is copied into the base buffer or until the base buffer end is reached, whichever happens first. NOTE To use the Buffer Overlay state, the network must either use buffers that already exist or must define two buffers before using the state. The network defines buffers with Write Command messages or Function Command messages (Section 5.5 and Section 5.6).

Table 4-78 Buffer Overlay State Format Entry

Valid Range

State Number

Valid state numbers

State Type

@Q b/

Good Operation Next State

Valid state numbers

Base Buffer ID

064 - 090, 256 - 355

Overlay Buffer ID

064 - 090, 256 - 355

Most Significant Byte From Start

001 - 255

The following paragraphs describe each entry in the Buffer Overlay state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state.

4-171 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States State Type Valid Range: @Q b/ Description: The State Type entry identifies the specific type of state data entries associated with a particular state number. The State Type entry is considered to be part of the state data. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes when the buffer overlay is complete. Base Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Base Buffer ID is the ID of the buffer overwritten by the Overlay Buffer. This entry is set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry is set to 065. Overlay Buffer ID Valid Range: 064 through 090 (@, and A through Z), and 256 through 355 Description: The Overlay Buffer ID is the ID of the buffer that overwrites the data in the Base buffer. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use the Dollar Buffer (that is, buffer A), this entry is set to 065. Most Significant Byte From Start Valid Range: 001 through 255 Description: The Most Significant Byte From Start entry identifies the position in the buffer at which to begin setting values. The most significant byte is counted from the first byte in the buffer. A value of 001 in this entry represents the first (left-most) byte in the buffer. In a buffer with a length of 255 bytes, a value of 255 in this entry represents the last (right-most) byte in the buffer. Refer to Figure 4-6 for an example in which the most significant byte is defined as the fourth-from-start byte because the value of the Most Significant Byte From Start entry is 004.

4-172 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States

g1959030

Figure 4-6

Example Most Significant Byte from Start Entry

EXAMPLE An example of a Buffer Overlay state is shown in Table 4-79. This example state directs the terminal to do the following: • • • • •

Define the state number as 120 Exit to state number 001 after overlaying the specified base buffer bytes Define the Base Buffer as Buffer A Define the Overlay Buffer as Buffer B Start the overlay at the first byte of the Base Buffer

The example at the bottom of Table 4-79 shows the contents of Buffer A before and after the terminal performs the example Buffer Overlay state.

Table 4-79

Example Buffer Overlay State

Entry

Valid Range

State Number

120

State Type

@Q b/

Good Operation Next State

001

Base Buffer ID

065

Overlay Buffer ID

066

Most Significant Byte From Start

001

4-173 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States

g1959031

4-174 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.28

Time Delay State (@S b/) The format of the Time Delay state table is shown in Table 4-80. The Time Delay state delays state sequencing for the amount of time specified in the Time Delay Timeout value. A Time Delay state with an Operation value of 001 starts the timing. A Time Delay state with an Operation value of 002 stops timing only after the value specified in with the Time Delay Timeout value expires. The Time Delay Timeout value is only included when the Operation value is 2.

Table 4-80

Time Delay State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@S b/

Good Operation Next State

Valid state numbers

Operation

001 - 002

Time Delay Timeout

001 - 255, 900 - 931

The following paragraphs describe each entry in the Time Delay state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @S b/ Description: The State Type entry identifies the specific type of state data entries associated with a particular state number. The State Type entry is considered to be part of the state data. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes once the operation specified is started.

4-175 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Operation Valid Range: 001 and 002 Description: The Operation entry tells the terminal which operation to perform during the state. The valid values for the Time Delay State entry are as follows: • 001 - Start timing • 002 - Stop timing. Remain in this state until the elapsed time is greater than or equal to the Time Delay Timeout value. Time Delay Timeout Valid Range: 001 through 255, 900 through 931, and 999 Description: The Time Delay Timeout entry defines the amount of time to delay state sequencing. This optional value is only included if the Operation value with the state is 2. The valid values are as follows: • 000 through 255 - Number of ticks (no beeping) • 900 through 931 - Configured timers 900 through 931 • 999 - Wait forever Examples of Time Delay states are shown in Table 4-81 and Table 4-82. EXAMPLE 1 The example in Table 4-81 directs the terminal to do the following: • Define the state number as 100 • Start timing and exit to state 150

Table 4-81 Example Time Delay State (start timing) Entry

Value

State Number

100

State Type

@S b/

Good Operation Next State

150

Operation

001

EXAMPLE 2 The example state in Table 4-82 directs the terminal to do the following: • Define the state number as 110 • Stop timing after the Time Delay Timeout value of 60 ticks has expired • Exit to state 160 after the Time Delay Timeout value has expired

4-176 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States Table 4-82

Example Time Delay State (stop timing)

Entry

Value

State Number

110

State Type

@S b/

Good Operation Next State

160

Operation

002

Time Delay Timeout

060

4-177 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.29

Multi-tasking State (@Xb/) The format of the Multi-tasking State data entries is shown in Table 4-83. This state allows a transaction to be started by either a card read or by key input. This is done by starting a Card Reader state (CR) and an Information Entry state (@D). Whichever one of these states completes first determines what the terminal does next. There is no Next State number for the Multi-tasking state itself. The state data in CR and the @D states determines the Next State. The next state to which the Multi-tasking state goes is determined by the state that terminates first.

Table 4-83

Multi-tasking State Format

ENTRY

VALID RANGE

State Number

Valid state numbers

State Type

@X b/

Screen Number

Valid screen numbers (Section 4.6)

State #1

Valid state numbers

State #2

Valid state numbers

The following paragraphs describe each field in the Multi-tasking State. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number identifies groups of related State data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. State Type Valid Range: @X b/ Description: The State Type entry identifies the specific type of State data entries associated with a particular state number. The State Type entry is considered to be part of the State data. Screen Number Valid Range: Valid screen numbers (Section 4.6) Description: The Screen Number entry specifies the number of the screen that the terminal shows on the consumer display when the terminal enters the state. The valid values are as follows: • 000 - Do not change the screen currently showing • 001-899, 900-950, 999 - Screen Number NOTE With this state, there are three screen numbers that can be used: the screen number in the @X state data, the screen number in State #1, or the screen number in State #2. Only ONE of these three screen numbers should be non-zero. All three of these states are being executed at the same time and there is only one consumer display. Therefore, only one screen can be shown.

4-178 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States State #1 Valid Range: Valid state numbers (Section 4.3.1) Description: The state number of an Information Entry State (@D) or Card Read State (CR) that is to be executed. State #2 Valid Range: Valid state numbers (Section 4.3.1) Description: The state number of an Information Entry State (@D) or Card Read State (CR) that is to be executed. An example of the usage of a Multi-tasking state is shown here. The states used in this example are defined as follows: • State #000 -

State type - @Xb/ Screen Number - 000 State #1 - 461 State #2 - 462

• State #461 -

State type - @Db/ Screen #1 - 000-511 Screen #2 - 000 Do You Want More Time? - 000 Timeout #1 - 999 Timeout #2 - 999 Timeout #1 Next State - 000 Timeout #2 Next State - 000 Format Template Number - 000 Number of Keys - 001 Numeric Key Buffer ID - 064 - 090 Format Template Full - 000 Operation Key Buffer ID - 000 Operation Key Buffer Byte - 000 Operation Key A Next State - Valid state numbers (Section 4.3.1) Operation Key B Next State - Valid state numbers (Section 4.3.1) Operation Key C Next State - Valid state numbers (Section 4.3.1) Operation Key D Next State - Valid state numbers (Section 4.3.1)

• State #462 -

State Type CR b/ Unit Number - 001 Operation - 001 Screen Number - 000 Consumer Response Time - 999 Good Operation Next State - 463 Consumer Fault Next State - 464 Hardware Fault Next State - 464 Network Fault Next State - 464 Read Conditions - 011

4-179 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States • State #463 -

State Type - @B b/ Match Next State - Valid state numbers (Section 4.3.1) No Match Next State - Valid state numbers (Section 4.3.1) Hardware Fault Next State - Valid state numbers (Section 4.3.1) Network Fault Next State - 464

• State #464 -

State Type CR b/ Unit Number - 001 Operation - 001 Screen Number - Valid screen numbers (Section 4.6) Consumer Response Time - 915 Good Operation Next State - 463 Consumer Fault Next State - 465 Hardware Fault Next State - 464 Network Fault Next State - 464 Read Conditions - 011

• State #465 - State Type - @Z b/ - Good Operation Next State - 000 The state operation in this example starts at state #000. At this point, the terminal starts up a Card Reader state (CR) with a state number of 462 and an Information Entry state (@D) with a state number of 461. State 461 waits for a function key to be pressed (A,B,C,D). State 462 waits for a card to be inserted and read (with or without fault). The state (either 461 or 462) that completes first determines the next state for the terminal to perform. If the key is pressed first, the terminal goes to the next state indicated in state 461. If the card is read first, the terminal goes to state 463 for a good read or state 464 for a bad read.

4-180 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.30

Set Language Bank State (@Y b/) The Set Language Bank state selects the appropriate language bank to use for screen retrieval when supporting the multilingual feature. For more details on the multilingual feature, refer to Section 4.15. Refer to Table 4-84 for the Set Language Bank state table format.

Table 4-84

Set Language Bank State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@Y b/

Next State

Valid state numbers

Language Bank Number

000 - 255

The Set Language Bank state entries are defined as follows: State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. State Type Valid Range: @Y b/ Description: The State Type entry identifies the specific type of state data entries associated with a particular state number. The State Type entry is considered to be part of the state data. Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Next State entry specifies the state table that the terminal processes after establishing the Language Bank number. Language Bank Number Valid Range: 000 through 255 Description: The Language Bank number entry specifies the language bank to use for screens.

4-181 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States 4.5.31

Close State (@Z b/) The format of the Close state table is shown in Table 4-85. The Close state data directs the terminal to logically close all device tasks when the consumer is finished with the terminal. The Close state must always be the last state of a transaction sequence. The Close state should not be used to generate any device action or to return the consumer’s card. Use a Card Reader state to return the consumer’s card before performing a Close state. Use a Depositor state to retain or return a check or other document held in escrow in an IDM. The Close state should never be used for anything except the last state in transaction sequence. The execution of the Close state declares a consumer to be finished with the terminal and is, therefore, essential in preparing the terminal for the next consumer.

Table 4-85

Close State Format

Entry

Valid Range

State Number

Valid state numbers

State Type

@Z b/

Good Operation Next State

Valid state numbers

The following paragraphs describe each entry in the Close state. State Number Valid Range: Valid state numbers (Section 4.3.1) Description: The State Number entry identifies groups of related state data entries. The terminal executes a group of related entries by calling their associated state number while performing either another state or a function commanded by the network. The State Number entry is a group ID in the Write Command and Function Command messages. The State Type entry identifies the specific type of state data entries associated with the state number. The terminal can use (execute) more than one state of the same type (for example, multiple Information Entry states) by having a unique state number assigned to each state. State Type Valid Range: @Z b/ Description: The State Type entry identifies the specific type of state data entries associated with a particular state number. The State Type entry is considered to be part of the state data. Good Operation Next State Valid Range: Valid state numbers (Section 4.3.1) Description: The Good Operation Next State entry identifies the exit state to which the terminal goes once all device tasks are closed.

4-182 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced States EXAMPLE An example of a Close state is shown in Table 4-86. This example state directs the terminal to do the following: • Define the state number as 114 • Close all device tasks • Go to state number 000

Table 4-86

Example Close State

Entry

Valid Range

State Number

114

State Type

@Z b/

Good Operation Next State

000

4-183 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens)

4.6

Write Command 2 Message (screens) Consumer display screen data is a type of configuration data. All consumer display screens are assigned a three-digit number. The valid screen number range is 000 through AZZ. Screen numbers 000 through 009, and 900 through 950 are reserved for specific functions defined in Section 4.10. Screens 010 through 899 can be assigned to other functions as required. Screens 951 through AZZ are reserved for use by Agilis NDx. Normally, the screen number and data are downloaded to the terminal by using the Write Command 2 message. However, new screens can be sent by the network in a Function Command message. Unused screens do not need to be downloaded. The Write Command 2 message is used to write consumer display screen configuration data into terminal memory. The maximum message length is 1920 characters. Table 4-87 shows message format. The fields common to all Write Command messages are shaded. Only the fields specific to the Write Command 2 message are described here.

Table 4-87 Write Command 2 Message Description

Data

Number of Characters

Variable

Variable

3

1

[ X ]

[ 1 ]

hex 1C

1

[ X ]

[ 3 ]

hex 1C

1

[ X ]

[ Variable (8 max) ]

hex 1C

1

Write Identifier (Configuration)

1

1

Modifier (Screens)

1

1

Protocol Dependent Header Write Command Identifier [ Response Flag ] Field Separator (FS) [ Logical Unit Number (LUNO) ] Field Separator (FS) [ Message Sequence Number ] Field Separator (FS)

hex 1C

1

[1]

- - -

3

[1]

[ Language Bank Number ]

[-- -]

[ Variable ]

[1]

[ Voice prompting commands ]

[-- -]

[ Variable ]

[1]

[ Voice keypad feedback commands ]

[-- -]

[ Variable ]

[1]

[ Touch Template Data ]

[-- -]

[ Screen Data ]

[-- -]

[ Variable ]

Protocol Dependent Trailer

Variable

Variable

Field Separator (FS) Screen Number

[1]

[2]

[ Variable ]

[1][2] [1]

This group of fields (FS / Screen Number / Language Bank Number / Voice Commands / Touch Template Data / Screen Data) can be repeated, as necessary, to a maximum of 1920 bytes per Write Command 2 message. This field is not applicable for the CashSource Plus 400 terminal.

4-184 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) The following paragraphs describe the fields specific to the Write Command 2 message. Screen Number Field Size: 3 characters Valid Range: Valid screen numbers (Section 4.6) Description: This is a three-character field that identifies the screen number for the screen data that follows. Language Bank Number Field Size: Variable Valid Range: Refer to the description Description: This is a control sequence used to designate the correct language bank to use when the multi-lingual feature is installed. The structure of this control sequence is ESC L xxx, where xxx is the language bank number. If this field is not included, the default language bank is used. For more details on the multilingual feature, refer to Section 4.15. Voice Prompting Commands Field Size: Variable Valid Range: Refer to the description Description: This is a special control sequence used to load voice prompting commands associated with a particular screen. The structure of this control sequence is ESC ; t mmm ddd xxx for voice prompting using control files, or ESC ; t "message" ddd xxx for voice prompting using individual voice messages. The parameters used with the ESC ; control sequence are defined as follows: • t - This parameter controls the termination of any voice messages in progress. The valid settings are as follows: - 0 - Add the message to the message queue, do not terminate the message currently in progress. - 1 - Terminate the message in progress, proceed with the new message - 2 - Terminate the message in progress, purge the message queue • mmm - The parameter mmm is used only with voice prompting commands using control files. This number is a reference to a control file (specifically, the file CTRLmmm.DAT). The control file defines a list of voice messages, with delay time and number of repetitions specified for each message in the list (Section 4.17.1.2).

4-185 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) • "message" - The parameter "message" is used only with voice prompting commands using individual voice messages. The message field is a .WAV file name (Section 4.17.1.1) or a .TXT file name or a text string (Section 4.17.3). The ESC ZK control sequence can be used within the quotes to interpret a designated buffer according to a designated format template. This control sequence uses the same format templates as defined for screens (Section 4.17.1.3). The quotes must be included in this field. If the dollar buffer contains 2000 and the format data is C04ZZZZZ9699, the command translates the buffer to the string "$20.00" (in this example, screen 004 contains $ and screen 006 contains a decimal point). This string is then parsed, and a concatenation of .WAV files is generated and played. Currently, the parsing algorithm only supports U.S. dollar amounts. The structure of this control sequence is ESC ZK b ff. The parameters of this control sequence are defined as follows: - b - Buffer containing the data to be formatted. Valid range is @, and A through Z. - ff - Format template number. An example of both Voice Prompting screen control sequences is as follows: ESC ; 1 "ESC ZK A 09" 000 000 NOTE The ESC ZK control sequence requires .WAV files to function. To perform the same function with .TXT files, use the TCSBuffer tag (Section 4.17.3). • ddd - This is a three-digit number that specifies the amount of time to delay (in 800-millisecond ticks) after displaying the screen, before speaking the message or processing the control file. The valid range for ddd is 000 to 255. If multiple messages are queued, this specifies the delay between messages. • xxx - This is a reserved field that must be set to 000. Agilis 91x for ix/CSP supports multiple voice prompting commands within any given screen. However, all such commands must be back-to-back and must precede screen data with the exception of the screen number and the language bank number. Voice Keypad Feedback Commands Field Size: Variable Valid Range: Refer to the description Description: This control sequence defines a Keypad Feedback Template within screen data. This template maps a keypress to a corresponding .WAV file or .TXT file or to a text string (Section 4.17.3). The Keypad Feedback Template must be defined within the base screen (the screen number referenced in the state or function), the template cannot be defined within overlay screens. The Keypad Feedback Template is saved according to both screen number and language bank. The format of this control sequence is ESC ZH k cccc xxx "message".

4-186 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) The parameters of this control sequence are defined as follows: • k - This character indicates the key type. The valid values are as follows: - 0 - numeric key - Hex 1B (ESC) - function key • cccc - This field indicates the hexadecimal value of ASCII key code (that is, 0041 for "A", 0042 for "B", 0030 for "0", and so on). In the special cases where the key type is numeric and the value of cccc is 0023 (for terminals using .WAV files) or 0021 (for terminals using the Text To Speech method), the numeric keys are treated as a group and set to user-defined default messages (that is, key 1 is set to "ONE", key 2 is set to "TWO", key 3 is set to "THREE", and so on). The default messages are defined in the file FEEDBACK.DAT (for terminals using .WAV files) or the file FEEDBACK.TTS (for terminals using the Text To Speech method). These files reside in the C:\DIEBOLD\TCS directory. The contents of the FEEDBACK.DAT file are as follows: -

00030000 "0.wav" 00031000 "1.wav" 00032000 "2.wav" 00033000 "3.wav" 00034000 "4.wav" 00035000 "5.wav" 00036000 "6.wav" 00037000 "7.wav" 00038000 "8.wav" 00039000 "9.wav" 0002E000 "decimal.wav"

The contents of the FEEDBACK.TTS file are as follows: -

00030000 "0" 00031000 "1" 00032000 "2" 00033000 "3" 00034000 "4" 00035000 "5" 00036000 "6" 00037000 "7" 00038000 "8" 00039000 "9" 0002E000 "decimal"

If necessary, the voice messages specified within the quotes can be changed in order to default the numeric keys to different voice messages.

4-187 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) • xxx - This is a reserved field that must be set to 000. • "message" - The message field is a .WAV file name (Section 4.17.1.1) or a .TXT file name or a text string (Section 4.17.3). The quotes must be included in this field. When the value of cccc is 0023 or 0021 to default the numeric keys, this field is ignored, but at least the quotes need to be present. Touch Template Data (not applicable for CashSource Plus 400) Field Size: Variable Valid Range: Refer to the description Description: This is a control sequence used to define a template for use with a touch screen. This template defines the areas of the screen that correspond to a particular key. The structure of this control sequence is ESC ZD and the seven following fields: • • • • • • •

Touch template number Key Xlow Xhigh Ylow Yhigh Icon number

Each ESC ZD statement defines one button region. To define more than one region for a template, multiple ESC ZD sequences must be used, all having the same template number. The touch template number ranges from 000 to 998. The key field specifies which keystroke this region represents. The screen regions are defined by the x and y numbers, each in a range of 0000 to 9999. The icon number specifies which button-depressed icon to display in the region when that area of the screen is touched. To specify a particular touch template to use with a screen, you must include an ESC ZC xxx sequence within that screen’s data, where xxx is the number of the desired touch template. For more details on the touch screen feature, refer to Section 4.8. Screen Data Field Size: Variable Valid Range: Description: The variable-length Screen data field represents the data to be shown on the consumer display. This field always follows a screen number entry. NOTE Screen Number, Language Bank Number, Touch Template Data, Voice commands, Screen Data, and field separator fields can be repeated as necessary to a maximum of 1920 bytes (total message length).

4-188 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) 4.6.1

General Screen Information The terminal stores the screen data in terminal memory. The network must download all appropriate screens after receiving a Power Failure Unsolicited Status message. Display Grids Agilis 91x for ix/CSP terminals have a maximum display grid of 40 columns by 20 rows. However, these terminals can also display a 32-column by 16-row screen. The alignment of the function keys with the 40-by-20 display grid is shown in Figure 4-7. The terminal manager can modify the Consumer Display configuration setting to get either a 40-by-20 display grid or a 32-by-16 display grid. The possible values for Option 1 are as follows:

Value

Columns

Rows

Side

001

40

20

Not applicable

002

32

16

Right (default)

003

32

16

Left

004

32

16

Center

As shown, the terminal manager must also select on which side to position the 32-by-16 display grid within the 40-by-20 display grid. Positioning on the right and left sides and centered is shown in Figure 4-8.

g1959072

Figure 4-7

40-by-20 Display Grid

4-189 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens)

g1959073

Figure 4-8

32-by-16 Display Grid Positioning

4-190 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) Displayable Characters The terminal has the following sets of displayable characters stored in files: • • • •

Standard characters Alternate characters Mosaic characters Predefined icons

If the terminal is configured for Enhanced Monochrome Graphics (EMG), Color Graphics Feature (CGF), or VGA Plus, the terminal uses additional character sets, control sequences, and icons that differ from those discussed here. Refer to the Enhanced Monochrome Graphics Programming Manual (TP-799300-000A) for EMG information. Refer to the Color Graphics Feature Programming Manual (TP-799344-000A) for CGF information. Refer to Appendix D for VGA Plus information.

4.6.2

Standard, Alternate, and Mosaic Characters Agilis 91x for ix/CSP can show all the standard and alternate characters listed in Table 4-88 and Table 4-89. The character matrix for the standard and alternate characters is 5 by 9 dots. Agilis 91x for ix/CSP can also show mosaic characters (Table 4-90). The character matrix for mosaic characters is 8 dots by 12 dots.

Table 4-88

[1]

Standard Character Set

Graphic

ASCII (Hex)

EBCDIC (Hex)

Graphic

ASCII (Hex)

EBCDIC (Hex)

Space

20

40

@

40

7C

!

21

A

41

C1

"

22

7F

B

42

C2

#

23

7B

C

43

C3

$

24

5B

D

44

C4

%

25

6C

E

45

C5

&

26

50

F

46

C6



27

7D

G

47

C7

(

28

4D

H

48

C8

)

29

5D

I

49

C9

*

2A

5C

J

4A

D1

+

2B

4E

K

4B

D2

,

2C

6B

L

4C

D3

-

2D

60

M

4D

D4

.

2E

4B

N

4E

D5

/

2F

61

O

4F

D6

0

30

F0

P

50

D7

1

31

F1

Q

51

D8

4F

[1]

This cross-reference uses Diebold’s implementation of EBCDIC. The characters noted differ from the standard IBM EBCDIC characters.

4-191 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) Table 4-88

[1]

Standard Character Set (continued)

Graphic

ASCII (Hex)

EBCDIC (Hex)

Graphic

ASCII (Hex)

EBCDIC (Hex)

2

32

F2

R

52

D9

3

33

F3

S

53

E2

4

34

F4

T

54

E3

5

35

F5

U

55

E4

6

36

F6

V

56

E5

7

37

F7

W

57

E6

8

38

F8

X

58

E7

9

39

F9

Y

59

E8

:

3A

7A

Z

5A

E9

;

3B

5E

[

5B

4A

[1]




3E

6E

^

5E

5F[1]

?

3F

6F

_

5F

6D

7F

07

This cross-reference uses Diebold’s implementation of EBCDIC. The characters noted differ from the standard IBM EBCDIC characters.

4-192 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) Table 4-89

Alternate Character Set

g1959074

4-193 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) Table 4-90

Mosaic Display Characters

g1959075

4-194 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) Table 4-90

Mosaic Display Characters (continued)

g1959076

4-195 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 2 Message (screens) Table 4-90

Mosaic Display Characters (continued)

g1959077

4-196 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

4.7

Screen Control Sequences Refer to Table 4-91 for a definition of the function of each screen control sequence. These control sequences are used to clear a screen, insert a screen, position the cursor, show on the consumer display an additional character listed in Table 4-89, or display track 1 information at the current cursor position. An ASCII and EBCDIC cross reference for the screen control sequences is shown in Table 4-92. The Agilis 91x for ix/CSP consumer display has the following additional capabilities: • • • • •

Allows backspacing Allows user-specified delays when displaying characters or graphics Shows blinking characters Shows inverse video characters Shows both blinking and inverse video characters

Screen Delimiters The field separator and the end of the message are screen delimiters. One of these two screen delimiters must terminate each screen data field. Normally, a field separator separates each screen data field in a Write Command 2 message. The end of the message terminates the last screen data field in a Write Command 2 message.

Table 4-91

Screen Control Sequences

Control Sequence

Description

BS

Moves the cursor back one position

CR

Moves the cursor to the first position in the current row

FF

Clears the screen and positions the cursor to position @,@ on the display grid

HT

Causes the consumer’s name encoded on track 1 of the consumer’s card to be shown on the consumer display, starting at the current consumer display cursor position

LF

Moves the cursor to the current column in the next row

SI

Sets the cursor to the position specified by the two bytes following SI. The first byte is the row, and the second byte is the column. Data shown on the screen remains unchanged.

SO

Overlays the screen specified by the three bytes following SO. Screen data can be nested or overlayed to five levels using SO.

VT

Shows an alternate character on the consumer display. The byte following VT specifies the alternate character.

ESC A

Displays an animation sequence using icons.

ESC B

Shows the contents of a buffer, specified by the 1 byte following the ESC B, on the consumer display. Valid values are @, A through Z.

ESC C

Establishes colors for displaying text and prepackaged icons.

ESC D

Causes a delay in ticks (1 tick = 0.8 second) equal to the 3 bytes following ESC D. The minimum delay is 0.1 seconds. The maximum delay is 255 ticks (204 seconds).

ESC F

Specifies a character set (font) for the text that follows the control sequence

ESC G

Changes the character set and the display mode. The first byte following ESC G specifies the character set (from 0 to 7). The second byte specifies the display mode (0 = normal, 1 = blinking, 2 = inverse video, 3 = blinking and reverse video).

4-197 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Table 4-91

Screen Control Sequences (continued)

Control Sequence

Description

ESC H

Sets the foreground color for the text that follows the control sequence. When you use ESC H, the background color is transparent.

ESC I

Inserts a specified screen into the current screen.

ESC J

Allows you to use a color wheel on a color. When you use a color wheel, you can change one color to other colors at the rate you select. You can use color wheels to create special effects, such as blinking and fade-in transitions.

ESC K

Scrolls designated text through a specified window on the consumer display.

ESC L

Set Language Bank.

ESC M

Specifies a new video resolution. Each resolution is designated by a resolution mode number nn.

ESC N

Allows you to access the extended color set in the 640 x 480 x 16 resolution. ESC N directs the terminal to load the palette registers associated with palette setup number nnn. Palette registers allow you to select 16-custom colors. You can map the 16-custom colors to any 16 of the available 256 colors of the current DAC setup.

ESC O

Directs the terminal to load the DAC register with values from the DAC file associated with DAC setup number nnn.

ESC P

Displays a specified icon.

ESC Q

Display the check icon at the current cursor position.

ESC R

Repeats a specified cell a specified number of times.

ESC T

Specifies a background color or pattern in the area around the addressable area.

ESC U

Creates a specified background color or pattern in a specified rectangle.

ESC V

Shows on the consumer display the contents of a buffer within the constraints of a format template. The buffer is specified by the 3 bytes following the ESC V, the first byte specifies the buffer (@, A through Z), the second and third specify the Format Template number.

ESC W

Blinks the display within a specified rectangle.

ESC X

Allows you to position the cursor on the screen to a pixel position identified by a unique pair of (X,Y) coordinates.

ESC Y

Allows you to select a special effect time in milliseconds.

ESC ZC

Specifies the touch screen template number to activate for the current screen. (not applicable on the CashSource Plus 400)

ESC ZD

Specifies the touch screen configuration information. (not applicable on the CashSource Plus 400)

ESC ZE

Provides touch screen configuration data. (Touch screen terminals only.)

ESC ZF

Display animated graphics files (FLC/FLI)

ESC ZI

Allows you to display touch screen Buttons from the In Button database. (not applicable on the CashSource Plus 400)

ESC ZO

Allows you to display touch screen buttons from the Out Button database. For more details on ESC ZO and the touch screen option, refer to Section 4.8. (not applicable on the CashSource Plus 400)

ESC ZU "MPEGPlay"

Allows you to define screen windows that show video sequences, complete with sound (if the terminal is so equipped), from MPEG formatted files stored on a CD ROM or system hard disk.

ESC ZU Screen Marker

Used to facilitate the use of MPEG video presentation in the context of Agilis 91x for ix/CSP transaction processing. This control sequence is to be programmed into the screen data and used in conjunction with the Enhanced Information Entry state (@D).

ESC ZV

Enables a web browser to display contents on the screen. The browser can be configured to coexist with legacy screen output for a “mixed-mode” effect, or it can be forced to fill the entire screen.

ESC :

Displays the date, time, or both on the screen in the format designated in format template screen nnn.

ESC


Provides a fade-in transition between screens from a black screen to colors corresponding to DAC setup number nnn. This control sequence has the effect of fading the screens contents into view.

ESC ?

Provides sprite animation based on the contents of Sprite Definition file nnn.

Table 4-92

Screen Control Sequence Cross-reference

Control Sequence

ASCII Hex Equivalent

EBCDIC Hex Equivalent

BS

08

16

CR

0D

0D

FF

0C

0C

HT

09

05

LF

0A

15 or 25

SI

0F

0F

SO

0E

0E

VT

0B

0B

ESC A

1B 41

27 C1

ESC B

1B 42

27 C2

ESC C

1B 43

27 C3

ESC D

1B 44

27 C4

ESC F

1B46

27 C6

ESC G

1B 47

27 C7

ESC H

1B 48

27 C8

ESC I

1B 49

27 C9

ESC J

1B 4A

27 D1

ESC K

1B 4B

27 D2

ESC L

1B 4C

27 D3

ESC M

1B 4D

27 D4

ESC N

1B 4E

27 D5

ESC O

1B 4F

27 D6

ESC P

1B 50

27 D7

ESC Q

1B 51

27 D8

ESC R

1B 52

27 D9

ESC T

1B 54

27 E3

ESC U

1B 55

27 E4

ESC V

1B 56

27 E5

ESC W

1B 57

27 E6

ESC X

1B 58

27 E7

4-199 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Table 4-92 Screen Control Sequence Cross-reference (continued)

4.7.1

Control Sequence

ASCII Hex Equivalent

EBCDIC Hex Equivalent

ESC Y

1B 59

27 E8

ESC ZC

1B 5A 43

27 E9 C3

ESC ZD

1B 5A 44

27 E9 C4

ESC ZE

1B 5A 45

27 E9 C5

ESC ZF

1B 5A 46

27 E9 C6

ESC ZI

1B 5A 49

27 E9 C9

ESC ZO

1B 5A 4F

27 E9 D6

ESC ZU

1B 5A 55

27 E9 E4

ESC ZV

1B 5A 56

27 E9 E5

ESC :

1B 3A

27 7A

ESC


1B 3E

27 6E

ESC ?

1B 3F

27 6F

BS Control Character The BS control character moves the cursor to the left by one column in the current row. If the cursor is already at column @, the cursor wraps to the last column in the row above.

4.7.2

CR Control Character The CR control character moves the cursor to column @ in the current row.

4.7.3

FF Control Character The FF control character directs the terminal to clear the consumer display, enter cell mode, and place the cursor at row @, column @. Because attributes are cleared from the display, the terminal uses font 0 (basic character set) for text.

4.7.4

HT Control Character The HT control character inserts the name from track 1 of the consumer’s card into the screen data. The terminal displays the name starting at the current cursor position.

4-200 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences A sample screen using the HT control character to show on the consumer display the name encoded on track 1 of the card is shown in Figure 4-9. The data used to create the screen is shown in Table 4-92. However, if track 1 is not successfully read, no name is shown on the consumer display. Note that the cursor should be set to column @ to allow a maximum length name (up to 40 characters) to be shown on the consumer display.

4.7.5

LF Control Character The LF control character moves the cursor down one row in the current column. If the cursor is already in the bottom row, the cursor wraps to the top row in the current column.

4.7.6

SI Control Sequence The SI control sequence moves the cursor to a specified row and column. The format of the control sequence is as follows: SI I A The terminal places the cursor at row I, column A. The format used for showing a consumer display screen and positioning the consumer display screen cursor is shown in Table 4-93. Any of the 20 rows can be selected by using a row select character from @ through 3. Any of the 40 columns can be selected by using a column select character @ through W. A sample screen created from the data in Table 4-93 is shown in Figure 4-10.

Table 4-93 Example Screen 018 Data - Use of the HT Control Character Graphic Characters

ASCII Hex Code

Definition

FS

1C

Field separator that acts as a screen delimiter for this screen

018

30 31 38

Screen number (screen 018)

FF

0C

Screen control character that clears screen and positions cursor to the upper left hand corner

WELCOME

57 45 4C 43 4F 4D 45

Shows the graphic characters on the top row of the screen

SI A @

0F 41 40

Sets the cursor to the second row and the first column

HT

09

Shows the name encoded on track 1 (MR. BOB JONES in this example), starting at the current cursor position (row A and column @)

SI F @

0F 46 40

Sets the cursor to row F, column @

PLEASE b/ ENTER b/ YOUR

50 4C 45 41 53 45 20 45 4E 54 45 52 20 59 4F 55 52

Shows the graphic characters on row F

SI H @

0F 48 40

Sets the cursor to row H, column @

PERSONAL b/ ID

50 45 52 53 4F 4E 41 4C 20 49 44

Shows the graphic characters on row H

SI C B

0F 43 42

Sets the cursor to row C, column B. This is where the cursor is positioned at the beginning of the X display area

4-201 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g1959078

Figure 4-9

Table 4-94

Example Screen 018 - Use of the HT Control Character

Example Screen 016 Data - Use of the FF and SI Control Sequences

Graphic Characters

ASCII Hex Code

Definition

FS

1C

Field separator that acts as a screen delimiter for this screen

016

30 31 36

Screen number (screen 016)

FF

0C

Screen control character that clears screen and positions cursor to the upper left hand corner

SELECT b/ THE b/ WAY b/ YOU b/ WANT b/ TO b/ MAKE

53 45 4C 45 43 54 20 54 48 45 20 57 41 59 20 59 4F 55 20 57 41 4E 54 20 54 4F 20 4D 41 4B 45

Shows the graphic characters on the top row of the screen.

SI A @

0F 41 40

Sets the cursor to the second row and the first column

YOUR b/ CREDIT b/ CARD b/ PAYMENT

59 4F 55 52 20 43 52 45 44 49 54 20 43 41 52 44 20 50 41 59 4D 45 4E 54

Shows the graphic characters on the second row of the screen

SI I I

0F 49 49

Sets the cursor to row I, column I

FROM b/ CHECKING b/ ACCOUNT ..........

46 52 4F 4D 20 43 48 45 43 4B 49 4E 47 20 41 43 43 4F 55 4E 54 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E

Shows the graphic characters on row I

SI L I

0F 4C 49

Sets the cursor to row L column I

FROM b/ SAVINGS b/ ACCOUNT ...........

46 52 4F 4D 20 53 41 56 49 4E 47 53 20 41 43 43 4F 55 4E 54 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E

Shows the graphic characters on row L

SI O I

0F 4F 49

Sets the cursor to row O column I

PAYMENT b/ ENCLOSED b/ IN b/ ENVELOPE ...

50 41 59 4D 45 4E 54 20 45 E4 43 4C 4F 53 45 44 20 49 4E 20 45 4E 56 45 4C 4F 50 45 2E 2E 2E

Shows the graphic characters on row O

4-202 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g1959079

Figure 4-10

4.7.7

Example Screen 016 - Use of the FF and SI Control Sequences

SO Control Sequence The SO control sequence inserts a specified screen into the current screen. The format of the control sequence is as follows: SO nnn SO operates the same as the ESC I control sequence. A sample screen using the SO control sequence to pick up the first screen and overlay parts of it to create a new screen is shown in Figure 4-11 and in Table 4-94. Note that both screens are assigned a unique screen number. The network uses the SO control sequence to call another screen. This technique is called nesting. Nesting is accomplished by placing the SO character followed by a three-digit screen number within a current screen. Agilis 91x for ix/CSP retains only the last five levels of nesting. When nested screens are used, the maximum number of characters per screen is as follows: • Screen #1: 600 characters • Screens #s 2 through 6: 310 characters each The total number of characters for all six screens can be no more than 1,800 characters.

4-203 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences The network can use an SO control sequence along with an ESC D control sequence to show animated screens. In a typical animation sequence, the last screen calls the first screen again. To prevent infinite nesting when animation is used, the SO control sequence must be the last instruction in each animation screen (refer to the examples in Figure 4-12 and Figure 4-15).

Table 4-95 Example Screen 017 Data - Use of the SO Control Sequence Graphic Characters

ASCII Hex Code

Definition

FS

1C

Field separator that acts as a screen delimiter for this screen

017

30 31 37

Screen number (screen 017)

SO 016

0E 30 31 36

Picks up the screen data specified for screen 016

SI A E

0F 41 45

Sets the cursor to the start of the data area to be overlayed (row A, column E)

MORTGAGE b/ LOAN b/ PAYMENT

4D 4F 52 54 47 41 47 45 20 4C 4F 41 4E 20 50 41 59 4D 45 4E 54

Data to replace CREDIT CARD PAYMENT on screen 016

g1959080

Figure 4-11

Example Screen 017 - Use of the SO Control Sequence

4-204 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g1959081

Figure 4-12

Example Screen Using Animation

4-205 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.8

US Control Character The US control character moves the cursor up one row in the current column. If the cursor is already in the top row, the cursor wraps to the bottom row in the same column.

4.7.9

VT Control Sequence The VT control sequence is used to represent character numbers outside the core range (decimal 32 through 95). The format of the control sequence is as follows: VT c

4.7.10

ESC A - Animation The ESC A control sequence displays an animation sequence using icons. VGA Plus also provides a capability to display animated graphic files. If you wish to display animated graphic files, refer to Appendix D. The format of the control sequence is as follows: ESC A nnn s ttt The terminal displays an animation sequence using sequentially numbered icons, numbered from nnn to (nnn + s). The terminal places the upper left corner of each icon at the current cursor position. The parameter ttt determines how fast the animation moves. The animation sequence repeats until the terminal processes an FF or ESC M control sequence. VGA Plus includes several animation sequences as part of the set of prepackaged icons (Table 4-96), all of which are shown in the VGA Plus Prepackaged Icons and Character Sets manual, (TP-799508-000A).

Table 4-96

Icon Animation Sets

Numbers

Animation

Value of S

001 - 003

Insert card (large)

2

004 - 008

Insert card (small)

4

009 - 011

Swipe card (large)

2

012 - 016

Swipe card (small)

4

018 - 020

Enter PIN

2

023 - 026

Select transaction (right key)

3

027 - 030

Select transaction (left key)

3

049 - 052

Insert envelope

3

056 - 060

Take cash

4

062 - 064

Take card (large)

2

4-206 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Table 4-96 Icon Animation Sets (continued) Numbers

Animation

066 - 070

Take card (small)

4

071 - 073

Take receipt

2

Value of S

The valid values for s are 1 to 9. The valid values for ttt (animation rate) are 000 to 999 (decimal). The animation rate is computed as follows. When ttt is between 000 and 255, the rate equals ttt times 0.8 seconds. Thus, if ttt equals 002, each icon is displayed for 002 x 0.8, or 1.6 seconds. When ttt is between 256 and 999, the rate equals (ttt - 255) times 0.1 second. Thus, if ttt equals 256, each icon is displayed for (256 255) x 0.1, or 0.1 second. ESC A does not change the cursor position. EXAMPLE FOR ESC A The following screen data directs the terminal to display the message PLEASE TAKE CARD and the Take Card animation sequence (icons 062, 063, and 064). FF SI C B PLEASE /TAKE b /CARD b ESC A 062 2 259 The parameter ttt for the ESC A equals 259, therefore the animation rate is (259 255) x 0.1 second, or 0.4 seconds. At the start, icon 062 appears with the message (Figure 4-13). At the end of 0.4 seconds, icon 063 appears and, 0.8 seconds after the start, icon 064 appears. At the end of 1.2 seconds, icon 062 appears again, and the sequence repeats.

4-207 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970A18

Figure 4-13

Animation (ESC A Example)

4-208 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.11

ESC B - Display Buffer Content The ESC B control sequence displays contents of a buffer. The format of the control sequence is as follows: ESC B a or ESC B aaa The terminal displays the contents of the buffer a or aaa. The valid values for a are @, A through Z. The valid values for aaa are 256 through 355.

4.7.12

ESC C - Select Color The ESC C control sequence establishes colors for displaying text and prepackaged icons. The format of the control sequence is as follows: ESC C b f The terminal displays subsequent text and icons in color f (the foreground color) against a background of color b (the background color). The background and foreground colors remain in effect until changed by another ESC C or by entering the Maintenance mode (Maintenance mode sets the foreground color to white and the background color to black). Refer to Appendix D.10 for the valid values for ESC C. ESC C does not affect the color of custom icons. ESC C does not change the color of text and icons already displayed.

4.7.13

ESC D - Animation Delay The ESC D control sequence delays screen processing for a specified amount of time. The format of the control sequence is as follows: ESC D ttt The terminal delays screen processing for the time specified by the parameter ttt. The valid values for ttt are 000 to 999 (decimal). The amount of time is computed as follows. When ttt is between 000 and 255, the time equals ttt times 0.8 seconds. Thus, if ttt equals 002, processing is delayed for 002 x 0.8, or 1.6 seconds. When ttt is between 256 and 999, the time equals (ttt - 255) times 0.1 second. Thus, if ttt equals 256, processing is delayed for (256 255) x 0.1, or 0.1 second. EXAMPLE FOR ESC D In this example, the terminal displays the Take Card animation sequence that moves in the direction of the receipt slot (Figure 4-14). Screen 100 contains the following screen data. FF

4-209 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences SI C B PLEASE /TAKE b /CARD b SI H C ESC P 062 0 ESC D 001 ESC P 063 0 ESC D 001 ESC P 064 0 The appearance of movement is achieved by displaying the hand taking the card in three consecutive positions. The terminal displays the message PLEASE TAKE CARD and then the Take Card animation sequence. NOTE If you use a value less than 004 for ESC D, screen processing might interfere with other terminal tasks and slow down overall terminal operation. Usually this is only significant when using looping animation sequences during a consumer transaction.

4-210 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970b18

Figure 4-14

Animation (ESC D Example)

4-211 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.14

ESC F - Select Font The ESC F control sequence specifies a character set (font) for the text that follows the control sequence. The format of the control sequence is as follows: ESC F f d The terminal displays subsequent text using character set f and display mode d (normal, blinking, inverse, or blinking inverse). The valid values for f are 0 through 7, E, F, G, and @. Font changes do not change the font of characters already displayed. In addition, Agilis 91x for ix/CSP allows ESC F to be used to select any TrueType or OpenType font currently installed on the Windows operating system. The format of the control sequence for this use is as follows: ESC F "fontname" ppp The font name is shown in double quotes and ppp is the desired point size of the font. The character set and display mode remain in effect until changed by another ESC F or ESC G, ESC M, or by an FF control sequence. The display mode can also be changed by the ESC P control sequence. For more details on the display mode, refer to Appendix D.12.

4.7.15

ESC G - Select Character Set and Display Mode The network uses the ESC G control sequence to change the character set and the display mode. The first character following the ESC G control characters specifies the character set. The standard Agilis 91x for ix/CSP terminal has the following character sets: • 0 - basic (standard and alternate character sets) • 1 - helvetica character set • 2 through 7 - icon character sets The second character following the ESC G control characters specifies the display mode (Appendix D.12). The valid display modes are as follows: • • • •

0 - normal 1 - blinking 2 - inverse video 3 - blinking and inverse video

No more than 32 blinking characters should be used on one screen. Only use reverse video with a 40 column by 20 row display grid. When ESC G is used, the terminal stores the display mode attribute as the first character at the current cursor position on the screen. (This position appears blank.) To compensate for this, the cursor should be positioned one position to the left of where the text needs to start when an ESC G sequence is inserted.

4-212 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences When reverse video is programmed, it is possible to inadvertently cause the entire lower portion of the screen to appear temporarily in reverse video during a screen refresh. To prevent this, first place the control sequence that inserts the normal mode attribute in a position that is at the end of the text. Then, program the text for reverse display mode. Refer to Figure 4-15 for an example.

g1959082

Figure 4-15

4.7.16

Example Screen Using the Inverse Video Feature (ESC G)

ESC H - Select Foreground Color The ESC H control sequence sets the foreground color for the text that follows the control sequence. When you use ESC H, the background color is transparent. The format of the control sequence is as follows: ESC H nnn The terminal uses color nnn for all subsequent text characters. In those resolutions which permit 256 colors, the valid range for nnn is 000 to 255. In the 640 x 480 x 16 resolution, the valid range is 000 to 015. The background color is transparent. You can use ESC H to select a color with which to clear the screen. Select the color just before the FF (clear screen) control sequence. The border is also set to this color. ESC H stays in effect until the screen data sets a new color or the screen data changes the resolution.

4-213 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences EXAMPLE FOR ESC H In this example, the terminal clears the screen with color 137. ESC H 137 FF The actual color the terminal displays for color 137 depends on the DAC setup.

4.7.17

ESC I - Insert Screen The ESC I control sequence inserts a specified screen into the current screen. The format of the control sequence is as follows: ESC I nnn The terminal processes the screen data contained in screen nnn as if that data were inserted in the current screen. The current images and attributes remain on the consumer display. The display characteristics (cursor position, cell or font mode, bank selection, and row size) that are in effect in the current screen (called the base screen) carry over to screen nnn. Similarly, the display characteristics in effect at the end of screen nnn (whether established before ESC I processing or within screen nnn) carry over to subsequent screen processing. If the ESC I control sequence is not the last entry in the base screen, after the terminal finishes processing screen nnn, it returns to the base screen and processes the remaining entries. You can use ESC I in this way to create composite screens by using one or more screens as standard parts or templates. You can nest screens up to five levels deep within the base screen, as shown in the following graphic.

G40970a12

If screen 105 in the preceding figure contained an ESC I control sequence, the terminal would discard the remainder of screen 100 instead of displaying it.

4-214 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences If the ESC I control sequence is the last entry in the base screen, the terminal does not return to the base screen after processing screen nnn. You can use ESC I in this way in combination with the ESC D control sequence to create repeating screen sequences. NOTE Fast animation (less than 3.2 seconds between changes) might interfere with other terminal tasks and might slow down overall terminal operation. Usually fast-animation slowdown is only significant during a consumer transaction. It is normally not a problem with a Welcome screen. If an animation sequence slows down terminal operation, modify one of the ESC D control sequences in the loop. A value of 004 or greater for the ttt parameter allows the terminal time to process other tasks. EXAMPLE FOR ESC I The use of templates can increase the efficiency of the system by reducing file space and configuration time for screen data. This example demonstrates how to use ESC I to implement templates. Screen 016 in Figure 4-16 can be used as a template for various payment transactions by overlaying it with a small amount of additional text. Screen 017 uses screen 016 to generate a prompt for a credit card payment. The screen data for screen 017 is as follows: ESC I 016 SI D @ CREDITbCARDbPAYMENT Screen 018 uses screen 016 to generate a prompt for a mortgage loan payment. The screen data for screen 018 is as follows: ESC I 016 SI D @ MORTGAGEbLOANbPAYMENT

4-215 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970a13

Figure 4-16

Template (ESC I Example)

4-216 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.18

ESC J - Use Color Wheel The ESC J control sequence allows you to use a color wheel on a color. When you use a color wheel, you can change one color to other colors at the rate you select. You can use color wheels to create special effects, such as blinking and fade-in transitions. The format of the control sequence is as follows: ESC J nnn rrr sss [sss... sss] ESC NOTE The terminal ignores this control sequence when Consumer Display configuration setting is not set for VGA color. ESC J changes DAC register (color) nnn by using the Color Wheel file designated by sss at rate rrr. The terminating ESC character is part of the ESC J control sequence; it is not and cannot be used as a control character for the next control sequence. Each Color Wheel file defines a set of colors by using a table of red, green, and blue values. The parameter nnn designates the DAC register that is to be adjusted with colors from Color Wheel file designated by sss. The valid values for nnn are 0 through 255. The parameter rrr designates the timer rate at which the terminal steps through values in the Color Wheel file to change the DAC. 000 is about 10ms. Each count after that adds one system clock time or about 32ms between updates. The parameter sss designates the color wheel setup number. The color wheel setup number identifies the Color Wheel file that stores a specific set of values for the Color Wheel. For example, the color wheel setup number 235 identifies Color Wheel file CLRW235.DAT. The range for sss is 0 through 511. The list of sss values is terminated by ESC. Color wheel processing cycles through the first sss color wheel, then through the second color wheel, up to the number of sss values listed (512 sss values maximum). Once the terminal reaches the end of the list of sss values, the terminal repeats the process again starting over at the first sss setup value. Values for sss of 0 through 50 are reserved for Diebold preassigned Color Wheel files. The first 17-preassigned values for the parameter sss provide the color wheels described in the following table.

4-217 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences sss

Description

000

Cycle up and down from Black to Peach

001

Cycle up and down from Black to Blue

002

Cycle up and down from Black to Green

003

Cycle up and down from Black to Cyan

004

Cycle up and down from Black to Red

005

Cycle up and down from Black to Magenta

006

Cycle up and down from Black to Yellow

007

Cycle up and down from Black to White

008

Cycle up and down from Black to Gray

009

Cycle up and down from Black to Orange

010

Cycle up and down from Black to Rust

011

Cycle up and down from Black to Silver

012

Cycle up and down from Black to Gold

013

Cycle up and down from Black to Pink

014

Cycle up and down from Black to Brown

015

Cycle up and down from Black to Purple

016

Cycles through a spectrum of colors

In the 640 x 480 x 16 resolution, using the default palette register setup, colors 0 through 15 map to DAC registers 0 through 15. Therefore, values of 000 through 015 can be used to make any of the 16 colors cycle through the color wheel. ESC J is terminated by an FF, ESC M, or ESC O control sequence. There can be up to five color wheels active at once. If the terminal finds more than five ESC J control sequences in the screen data, then the terminal stops the first one and starts a new one in its place. The next ESC J sequence the terminal encounters replaces the second one started and so on. NOTE Avoid having more than two color wheels active at the same time with a rate of 10ms (rrr parameter = 000). EXAMPLE FOR ESC J This example demonstrates how ESC J cycles the text and icons, displayed with color 014 on screen 311, through a range of colors.

ESC M 00

Specify resolution mode 00 (640 x 480 x 16)

ESC J 014 000 016 ESC

Adjust color 014 at a rate of 10ms by using setup number 016. File 016 cycles through a range of colors.

SO 311

Insert screen 311 into the current screen. Any text or icons that screen 311 displays in color 014 undergo color changes as dictated by Color Wheel file CLRW016.DAT.

4-218 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.19

ESC K - Initiate Scrolling The ESC K control sequence scrolls designated text through a specified window on the consumer display. The format for the control sequence is as follows: ESC K d nnn r1 r2 ttt The terminal scrolls the text in screen nnn in direction d (up, down, left, or right). The text scrolls through a window whose top row is row r1 and whose bottom row is row r2. The window goes completely across the addressable area. The parameter ttt determines how fast the text is scrolled. The scrolling continues, repeating screen nnn, until the terminal processes an ESC M or FF control sequence. The size and position of rows r1 and r2 depends on the current display format, which is controlled by the ESC = control sequence.

g40970a14

The valid values for d (the direction of scrolling) are as follows:

U (up)

D (down)

L (left)

R (right)

No more than one ESC K can be in effect on the consumer display at any time. For upward scrolling and downward scrolling, the number of rows scrolled at a time equals the height of the characters in cells, regardless of the row size in effect. The text scrolls two rows at a time for helvetica, century, or rolling font characters. The text scrolls one row at a time for all other prepackaged characters. Unless modified by an SI control sequence in screen nnn, the text from screen nnn is placed at the left edge of the addressable area. Upward scrolling starts by putting the bottom row of the first line on row r2. Downward scrolling starts by putting the top row of the first line on row r1.

4-219 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences For leftward scrolling and rightward scrolling, text from screen nnn is displayed and scrolled one character at a time. All the text in screen nnn is treated as a single line (LF and CR characters are ignored). Leftward scrolling starts by putting the top row of the first character at the right edge of the addressable area on row r1. Rightward scrolling starts by putting the top row of the first character at the left edge on row r1. You can choose any pair of rows of your addressable area to define the window, as long as row r1 is not below row r2. You can even have a window that is one row high, by entering the same value for r1 and r2 (this is typical for left or right scrolling, for instance). However, the number of rows in the window must be a multiple of the height (in cells) of the characters in screen nnn. Therefore, for the helvetica, century, and rolling fonts, the window must be an even number of rows. For the other prepackaged character sets, the window can be any number of rows. The valid values for ttt (scrolling rate) are 000 to 999 (decimal). The amount of time to scroll up or down one line or to scroll left or right one character is computed as follows. When ttt is between 000 and 255, the amount of time equals ttt times 0.8 seconds. Thus, if ttt equals 002, the scrolling rate is 002 x 0.8, or 1.6 seconds for each line or character. When ttt is, the amount of time equals (ttt - 255) times 0.1 second. Thus, if ttt equals 256, the scrolling rate is (256 255) x 0.1, or 0.1 second for each line or character. ESC K does not change the cursor position. In addition to text, screen nnn can contain the following control sequences: • • • • • •

CR ESC C ESC F ESC G SI (up and down scrolling only) VT

The CR control sequence is used as a line terminator for text scrolled up or down. If you specify leftward or rightward scrolling, the terminal ignores the CR control sequence. If screen nnn contains an ESC C control sequence, the color specified by that ESC C affects only the text in screen nnn. There is no restriction on how many times ESC F or ESC G is used in a screen being scrolled. The terminal uses the specified character set but ignores the display mode parameter (although both parameters must be present). However, your character set selections should take into account the row size, as discussed in the description of the ESC = control sequence. Also, the following rules should be observed. For up or down scrolling, all the characters in screen nnn must be the same number of cells high. For example, you can switch back and forth between the Chinese character sets when scrolling (they are all one cell high). However, you cannot scroll Chinese and helvetica characters at the same time (helvetica is two cells high).

4-220 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences For left or right scrolling, any combination of character sets can be put in screen nnn, but the tallest characters (the characters that are the greatest number of cells high) should be the first text in the screen. For example, any basic or Chinese characters should follow the helvetica or century characters. Also, the trailing character of each character set’s string should be a space character. The space character creates a clean area for the start of the next character set as the text is scrolled. The SI control sequence can be used to position text for scrolling up or down. The terminal starts the next line of text at the specified column. The row parameter is ignored (although it must be present). EXAMPLE 1 FOR ESC K This example demonstrates how ESC K scrolls text upward. The following screen data generates the Welcome screen shown in Figure 4-17. FF SI C E ESC P 000 0 SI I @ FOR /YOUR b /CONVENIENCE, b SI J @ THIS /ATM b /ALLOWS b /YOU b /TO: b SI 0 @ INSERT /CARD b /FOR b /SERVICE b ESC K U 200 L N 001 The ESC P control sequence puts the Welcome icon (icon 000) on the screen. This is followed by the non-scrolling text. The text is placed so as to leave room for the scrolling window (rows L through N). The ESC K control sequence in the last line then directs the terminal to scroll the text contained in screen 200, using an animation rate of 0.8 seconds (ttt = 001). Screen 200 contains a list of ATM services as follows: WITHDRAW /CASH CR b DEPOSIT /CHECKS b /OR b /CASH CR b PAY /THE b /BALANCE b /ON b / b YOUR /CREDIT b

4-221 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences bCARD CR / TRANSFER /FUNDS b /BETWEEN b /YOUR b /ACCOUNTS CR b PAY /MORTGAGE b /LOANS CR b CHECK /YOUR b /CURRENT b /ACCOUNT b /BALANCE CR b PRINT /A b /STATEMENT b /OF b / b YOUR /ACCOUNT CR b PAY /YOUR b /ELECTRIC b /BILL CR b PAY /YOUR b /GAS b /BILL CR b . . . CR CR Each text line is terminated with a CR control character. The two extra CRs at the end generate two blank lines between the end of the list and the next loop of the list, so that each time the entry WITHDRAW CASH appears, the two rows above it are blank. This is optional at your discretion. If you omit the two Crs at the end, the loop becomes seamless.

4-222 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970a19

Figure 4-17

Scrolling Upward (ESC K Example)

4-223 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences EXAMPLE 2 FOR ESC K This example demonstrates how ESC K scrolls text leftward. The following screen data generates the Welcome screen in Figure 4-18. FF SI C E ESC P 000 0 SI I O INSERT /CARD b /FOR b /SERVICE b ESC K L 200 2 3 256 The ESC P control sequence puts the Welcome icon (icon 000) on the screen. This is followed by the message INSERT CARD FOR SERVICE. The ESC K control sequence in the last line then directs the terminal to scroll the text contained in screen 200, using an animation rate of 0.1 second (ttt = 256). The row designator 2 and 3 indicate that the bottom two rows of the addressable area are the window for screen 200’s text. Screen 200 contains a promotional message as follows: ESC F 1 0 TRY /OUR b /CONVENIENT b /NEW b /ATMS b bAT / /OUR b /BANK b /IN b bTHE / /RIDGE b /VALLEY b /SHOPPING b bPLAZA. / / b / b / b b / / b The text line is terminated with several blanks to generate a gap between the end of one loop and the start of the next loop. This gap makes it easier for the consumer to find the start of the sentence. The ending blanks are optional at your discretion.

4-224 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970b19

Figure 4-18

Scrolling Leftward (ESC K Example)

4-225 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.20

ESC L - Select Language Bank The ESC L control sequence designates the correct language bank to use when the multi-lingual feature is used. The format of this control sequence is ESC L xxx, where xxx is the language bank number. If you are using the ESC L control sequence, it must be the first control sequence listed in the screen data. If the ESC L control sequence is not the first control sequence included in the screen data, Agilis 91x for ix/CSP uses the default language bank to display the screen. The language bank number is set in a state as part of Agilis 91x for ix/CSP. For more details on ESC L and the multi-lingual feature, refer Section 4.15.

4.7.21

ESC M - Change Resolution The ESC M control sequence specifies the new resolution. Each resolution is designated by a resolution mode number nn. The format of the control sequence is as follows: ESC M nn Resolution mode numbers range from 00 through 04. Default Resolution At powerup, the terminal defaults to 640 x 480 x 16 (resolution mode 00). The default resolution mode remains in effect until the terminal encounters an ESC M in the screen data. NOTE The terminal ignores this control sequence when Consumer Display configuration setting is not set for VGA color. The valid values for ESC M are shown in the following table.

Resolution Mode Number

Horizontal (in pixels)

Vertical (in pixels)

Number of Colors

00

640

480

16

01[1]

320

240

256

02

320

200

256

03

640

480

256

04[1]

1024

768

256

05

800

600

256

[1]

Not applicable for the CashSource Plus 400.

NOTE You cannot display 16-color icons in the resolutions that support 256 colors.

4-226 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences When the terminal encounters an ESC M in a screen file, the terminal changes the current resolution to the resolution specified by ESC M, selects the default DAC and palette registers, and clears the screen to black. The default DAC and palette register values are in DAC000.DAT and PAL000.DAT files. When the terminal switches to the new resolution, it sets the foreground color to white and the background color to black. When you select a resolution with ESC M, the terminal accesses the appropriate character set for the resolution you selected. Two complete character sets are available, the low-resolution modes use the 8-by-12 dot character set and the high-resolution modes use a 16-by-24 dot character set. The VGA standard resolution 320 x 200 x 256 allows 320 x 200 x 256 color icon files to fill the screen. There are many commercial graphic files available with the 320 x 200 x 256 resolution. If you are using the default DAC settings, those resolutions which permit 256 colors allow the foreground and background colors you select with ESC C to work the same way they work in the 16-color mode. However, if you select a color with ESC H, the background color becomes transparent. When you use ESC H and the terminal writes a character on the screen, the terminal only displays the foreground pixels. This makes it possible to overlay a 256-color custom icon with text without having a blocked-looking background. EXAMPLE FOR ESC M Assume you want to display a 320 x 200 x 256 icon in 320 x 200 x 256 resolution. ESC M 02 ESC O 150 ESC P 150 0

4.7.22

ESC N - Select Palette Registers The ESC N control sequence allows you to access the extended color set in the 640 x 480 x 16 resolution. ESC N directs the terminal to load the palette registers associated with palette setup number nnn. Palette registers allow you to select 16-custom colors. You can map the 16-custom colors to any 16 of the available 256 colors of the current DAC setup. The format of the control sequence is as follows: ESC N nnn The palette setup number ranges from 000 to 255. If desired, you can use ESC N to display color screen data on a monochrome consumer display. You can map colors to on or off values. ESC N has no effect if an ESC M placed the terminal in a resolution which permits 256 colors. Default Palette Settings Palette setup number 000 contains the default palette settings that the terminal sets at powerup or when the terminal encounters an ESC M 00 (resolution 640 x 480 x 16) in a screen file. The default palette setting stays in effect until the terminal encounters a new ESC M or ESC N in the screen data.

4-227 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences All palette settings, including setup number 000, are contained in files in the configuration subdirectory for the current resolution. The terminal loads these files into memory at powerup when Agilis 91x for ix/CSP initializes. Custom Palette If desired, you can create a Palette file to setup a custom palette for 16-color icons. Use ESC N to specify the custom palette. EXAMPLE FOR ESC N This example directs the terminal to load palette registers associated with palette setup number 123. ESC N 123

4.7.23

ESC O - Select DAC Setup The ESC O control sequence directs the terminal to load the DAC register with values from the DAC file associated with DAC setup number nnn. NOTE The terminal ignores this control sequence when Consumer Display configuration setting is not set for VGA color. The format of the control sequence is as follows: ESC O nnn DAC setup numbers range from 256 through 999. Default DAC and All Black DAC The reserved values for ESC O are shown in the following table.

DAC Setup Number

Description

000

Default DAC settings. The default DAC settings are in effect at terminal powerup or whenever the terminal encounters an ESC M in the screen data. The default DAC file (DAC000.DAT) contains the 16 EGA colors used with the Color Graphics Feature, 16 shades of gray, and varying intensity hues.

001

DAC settings set to black for all colors.

When the DAC setup number is 001, the screen remains black while data is written. Then, you can use ESC > to fade the image into view or ESC O to flash the image into view. When you paint the screen, you see the screen fill with the image. Use ESC O before ESC P if you want to paint the screen with the icon. Use ESC O 001, ESC P, and then ESC > or ESC O if you want to display the icon without painting the screen.

4-228 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Custom DAC DDU provides a custom DAC file for each custom icon that you create. You should use ESC O or ESC > to specify the setup number for the icon’s custom DAC file. EXAMPLE FOR ESC O This example directs the terminal to set the resolution to 640 x 480 x 256, and load the DAC registers with values from the DAC001.DAT file, display icon 242 in normal mode, and fade icon 242 into the screen. ESC ESC ESC ESC

M O P >

03 001 242 0 242

ESC O stays in effect until the screen data includes an ESC M or another ESC O. Refer to Appendix D.17.3 for information on the DAC files.

4.7.24

ESC P - Display Icon The ESC P control sequence displays a specified icon. The format of the control sequence is as follows: ESC P nnn d The terminal displays icon nnn in display mode d (normal, blinking, inverse, blinking inverse, sprinkle, or wipe). The terminal places the upper left corner of the icon at the current cursor position. The display mode remains in effect until changed by another ESC P or by an ESC F, ESC G, ESC M, or FF control sequence. ESC P does not change the cursor position. The valid values for d are as follows: • • • • • •

0 - Normal video 1 - Blinking video 2 - Inverse video 3 - Blinking inverse video 4 - Sprinkle image 50 - Wipe image

When d is equal to 4 (sprinkle), the d character specifies a special effect that pertains to the display of icons created with DDU or in the PCX or GIF graphic format. If the terminal is displaying a character-based icon instead of a DDU, PCX, or GIF icon, the terminal ignores the special effect and assumes a normal video attribute. All special effects are done within the size limits of the DDU icon. The icon must be at least 8 pixels across by 8 pixels down for sprinkle to work.

4-229 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences NOTE You cannot use ESC P to display 16-color icons in those resolutions that support 256 colors. EXAMPLE FOR ESC P Assume you wish to display two full screen 320 x 200 x 256 color icons. This example fades in one icon, delays about 5 seconds, fades to black, and then fades in the second icon. The control sequences to accomplish this are as follows:

ESC M 02

Set the resolution to 320 x 200 x 256

ESC O 001

Set the DAC to all black, no display

ESC P 176 0

Display icon 176 NOTE

Nothing is displayed on the screen at this point since the DAC has all colors mapped to black.

ESC > 176

Fade icon 176 in from black using palette setup number 176

ESC D 007

Delay about 5 seconds

ESC
177

Fade icon 177 in from black using palette setup number 177

Transparent GIF Files You can also use ESC P to display icons created from files in the transparent GIF format.

4.7.25

ESC Q - Display Check Icon The ESC Q control sequence displays the check icon at the current cursor position.

4-230 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.26

ESC R - Repeat Cell The ESC R control sequence repeats a specified cell a specified number of times. The format of the control sequence is as follows: ESC R sss b f c Starting at the current cursor position, the terminal repeats cell c of the current character set, using background color b and foreground color f. Cell c is repeated sss times. The cells are put on the consumer display from left to right, automatically wrapping to the next row when necessary.

g40970a26

For character sets whose characters are one row high and one column wide (such as the borders and backgrounds sets), a cell is the same as a character. Therefore, parameter c can be any character defined for the current set, including characters that require the VT control sequence. For character sets whose characters are larger than one-by-one (such as the prepackaged helvetica font or Chinese characters), the cell identifiers are not directly related to the character codes, so normally these character sets are not used with this control sequence. The valid values for sss are 000 to 800 (decimal). The ESC R control sequence has no effect if sss is set to 000. You can completely tile a 40-by-20 area by entering the value 800 for sss (to tile an area means to cover the area with cells placed side by side, like floor tiles). You can tile a 40-by-15 display (for example, when using Chinese characters) by entering 600 for sss. The following table shows the relationship between the row size and the maximum value of sss for the ESC R control sequence.

Row Size

Maximum sss

10

960

11

840

4-231 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Row Size

Maximum sss

12

800

13

720

14

680

15

640

16

600

The background and foreground colors specified for ESC R affect only the cells that this control sequence puts on the consumer display. ESC R does not change the color of text and icons already displayed and does not affect the color of text and icons put on the consumer display after completing ESC R processing. When ESC R is finished, the cursor occupies the next row-column position after the last cell c. EXAMPLE FOR ESC R The following screen data generates the Welcome screen shown in Figure 4-19. FF SI C M ESC R 012 0 7 * SI J M ESC R 012 0 7 * SI E O WELCOME SI F 2 TO SI G 0 FOURTH SI H N FINANCIAL SI M G INSERT /CARD b /FOR b /SERVICE b The two rows of asterisks (*) are generated by the ESC R control sequences in the screen data shown above. The background and foreground colors for the asterisks (black and white, respectively) were arbitrarily chosen for this example. Typically, you specify the same colors as those used for the text.

4-232 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970a20

Figure 4-19

4.7.27

Border (ESC R Example)

ESC T - Tile Non-addressable Area The ESC T control sequence specifies a background color or pattern in the area around the addressable area. The format of the control sequence is as follows: ESC T b f c The terminal tiles the display area outside the addressable area with cell c of the current character set, using background color b and foreground color f as shown in Figure 4-20. To tile an area means to cover the area with cells placed side by side, like floor tiles. This area remains in effect until changed by another ESC T. NOTE • ESC T control sequence is for use with a 32-by-16 display format only. If the terminal’s Consumer Display configuration setting specifies a 40-by-20 format instead of a 32-by-16 format, the terminal ignores ESC T. • The terminal does not support ESC T when it is in one of the resolutions that support 256 colors.

4-233 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g1959093

Figure 4-20

Tile Display Area Outside Addressable Area

For character sets whose characters are one row high and one column wide (such as the borders and backgrounds sets), a cell is the same as a character, so parameter c can be any character defined for the current set, including characters that require the VT control sequence. For character sets whose characters are larger than one-by-one (such as the prepackaged helvetica font or Chinese characters), the cell identifiers are not directly related to the character codes, so normally these character sets are not used with this control sequence. The background and foreground colors specified for ESC T affect only the cells that this control sequence puts on the consumer display. ESC T does not change the color of anything displayed on the addressable area and does not affect the color of anything put on the consumer display after completing ESC T processing. ESC T does not change the position of the cursor.

4-234 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.28

ESC U - Tile Rectangular Area The ESC U control sequence creates a specified background color or pattern in a specified rectangle. The format of the control sequence is as follows: ESC U r1 c1 r2 c2 b f c

g40970a25

The terminal creates a rectangle whose upper left corner is at row r1, column c1 and whose lower right corner is at row r2, column c2 as shown in the following figure. It tiles this area with cell c of the current character set, using background color b and foreground color f (to tile an area means to cover the area with cells placed side by side, like floor tiles). You can choose any rows and columns of your addressable area to define the rectangle, as long as row r1 is not below row r2 and column c1 is not to the right of column c2. For character sets whose characters are one row high and one column wide (such as the borders and backgrounds sets), a cell is the same as a character, so parameter c can be any character defined for the current set, including characters that require the VT control sequence. For character sets whose characters are larger than one-by-one (such as the prepackaged helvetica font or Chinese characters), the cell identifiers are not directly related to the character codes, so normally these character sets are not used with this control sequence. The background and foreground colors specified for ESC U affect only the cells that this control sequence puts on the consumer display. ESC U does not change the color of anything already displayed and does not affect the color of anything put on the consumer display after completing ESC U processing. ESC U does not change the position of the cursor. EXAMPLE FOR ESC U

4-235 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences The ESC U control sequence provides an efficient method of generating a background for large areas. This example demonstrates the use of ESC U to tile the entire addressable area with the cell ’)’ from character set @ (borders and backgrounds), as shown in the following illustration:

g1959090

The following screen data generates the screen shown in Figure 4-21. FF ESC F @ 0 ESC U @ @ 3 W 0 7) SI E I ESC F 1 0 PLEASE /WAIT b The ESC F control sequence in the second line selects character set @ for the ESC U control sequence that follows. The ESC U tiles the display from row @, column @ (the upper left corner of the addressable area) to row 3, column W (the lower right corner) with cell ’)’.

g40970a21

Figure 4-21

4.7.29

Background (ESC U Example)

ESC V - Display Buffer Content The ESC V control sequence displays the contents of a buffer within the constraints of a format template. The format of the control sequence is as follows:

4-236 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences ESC V a tt or ESC V aaa tt The valid values for a, the buffer name, are @, and A through Z. The valid values for aaa, the buffer name, are 256 through 355. The single character name designates one of 27 memory buffers that are reserved for storage of specific data. These buffers contain such information as the consumer’s PIN, the transaction amount entered, the consumer’s name, and other terminal and transaction related data. The valid values for tt, the format template number, are 01 through 11. This number designates one of 11 available default format templates. The templates specify how to display the contents of a buffer so that it appears on the screen properly as a transaction amount, phone number, plain text, plain numbers, and so on.

4.7.30

ESC W - Select Blinking The ESC W control sequence blinks the display within a specified rectangle. The format of the control sequence is as follows: ESC W r1 c1 r2 c2 ttt The terminal blinks anything displayed within a rectangle whose upper left corner is at row r1, column c1, and whose lower right corner is at row r2, column c2. The blinking is achieved by alternately painting the rectangle a solid color (the color of the pixel in the upper left corner of the rectangle) and restoring the original contents of the rectangle. The parameter ttt determines how fast the rectangle blinks. The blinking continues until the terminal processes an FF control sequence. NOTE The terminal does not support ESC W when it is in one of the resolutions that support 256 colors.

4-237 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970a22

You can choose any rows and columns of your addressable area to define the rectangle, as long as row r1 is not below row r2 and column c1 is not to the right of column c2. The valid values for ttt (blink rate) are 000 to 999 (decimal). The blink rate is computed as follows. When ttt is between 000 and 255, the time in each state (solid color or original contents) equals ttt times 0.8 seconds. Thus, if ttt equals 002, the blink rate is 002 x 0.8, or 1.6 seconds. When ttt is between 256 and 999, the time in each state equals (ttt - 255) times 0.1 second. Thus if ttt equals 256, the blink rate is (256 - 255) x 0.1, or 0.1 second. ESC W does not change the cursor position.

4.7.31

ESC X - Position Cursor Using Global Coordinates The ESC X control sequence allows you to position the cursor to a position identified by a pair of (X,Y) coordinates. The format of the control sequence is as follows: ESC X xxxx yyyy ESC X uses a global coordinate system independent of the screen’s resolution. The range of xxxx is 0 through 9999, and the range of yyyy is 0 through 9999. As shown in the following figure, 0,0 (x,y) is the lower left corner. 9999, 9999 (x,y) is the upper right corner. 5000, 5000 (x,y) is the center of the display.

4-238 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970a16

The terminal positions the cursor differently depending on the current resolution. The following paragraphs describe the way the terminal positions the cursor in each resolution. Pixel Coordinates in the 640 x 480 x 16 Resolution When the resolution is 640 x 480 x 16, the terminal sets the cursor’s vertical position to the scan line according to the following calculation: (y * vres) / 10000 Where: vres = screen vertical resolution. When the resolution is 640 x 480 x 16, the terminal sets the cursor’s horizontal position on the byte (8 pixels) in which the pixel is contained, according to the following calculation: Truncate (((x * hres) / 10000) / 8) where: hres = screen horizontal resolution. The horizontal position is scaled to a byte boundary because 16-color display algorithms are better suited to byte output on even 8-pixel boundaries. This provides 80 horizontal positions for the cursor. Pixel Coordinates in Resolutions Which Permit 256 Colors When the screen is in one of the resolutions which permit 256 colors, the terminal sets the cursor’s vertical position the same way it does in the 16color mode. The terminal sets the cursor’s horizontal position according to the following calculation: (x * hres) / 10000 Where: hres = screen horizontal resolution.

4-239 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Once the cursor’s screen position is set with ESC X, then text written or icons displayed, start at the cursor position setting. If any other control sequence is used following ESC X, then the cursor is set back to the 40-by-20 screen grid. The following is a partial list of control sequences that set the cursor back to the 40-by-20 screen type: SI, ESC K, ESC U, ESC W, ESC =, FF, ESC T, BS, CR, LF, US, HT, and ESC R. Suggestion Shadow text is three-dimensional in appearance. Use ESC X to display shadow text on the screen. EXAMPLE FOR ESC X This example demonstrates how ESC X displays shadow text.

021

Screen number

ESC M 03

Select 640 x 480 x 256 resolution

ESC O 001

Select DAC setup number 001 (black)

ESC P 239

Display icon 239 in the normal display mode

ESC 0 239

DAC setup number 239

ESC X 2000 7999

Position the cursor in the upper-left quadrant of the screen (2000 on the x axis, 7999 on the y axis)

ESC H 000

Select foreground color 000

ESC F 1

Select font 1 and normal display mode

SHADOW TEXT

Display the text at the cursor position

ESC X 2150 7800

Reposition the cursor about 150 pixel positions from its previous position.

ESC H 004

Select foreground color 004

SHADOW TEXT

Display the same text at the offset cursor position

4-240 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences 4.7.32

ESC Y - Select Special Effect Time The ESC Y control sequence allows you to select a special effect time in milliseconds. The format of this control sequence is as follows: ESC y n tttt The range of the time tttt is 0000 through 9999 milliseconds. The value of n determine the special effect time that VGA Plus adjusts. The valid values for n are shown in the following table:

4.7.33

Value

Indicates...

>

Adjust time for ESC > control sequence. Default value is 0300 millisecond.


|SIO6PRESS IF NO ----->|ECZU"MPEGPlay"11"E:\MUSIC\GERRY.MPG"0300 9700 4500 4500 0 000 W |ECZU"ScrnMark"0 This screen plays a movie while prompting the consumer for another transaction. The consumer can answer yes or no and sequence state, or the movie plays to its completion (note the "W" or wait option in the MPEGPlay control sequence) after which the Screen Marker (ScrnMark) is processed causing the associated @D state to take its programmed timeout exit. Here is the entry for the associated @D state: 059@D 069000000998999070255000001999999078006255002070255070

4-253 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Note that Timeout #1 is set to 998, indicating that the Screen Mark occurence times the state, Timeout #2 is infinite, and the "Do you want more time?" prompt is disabled as it must be in this context. It is perfectly acceptable to have any number of keys enabled while waiting for a Screen Mark event. If no keys are enabled, then the @D state acts like a time delay state with the length of the movie equal to the delay.

4.7.41

ESC ZV - Browser Control Sequence The ESC ZV control sequence enables a web browser to display contents on the screen. The browser can be configured to coexist with legacy screen output for a “mixed-mode” effect, or it can be forced to fill the entire screen. The format of this control sequence is as follows: ESC ZV “URL spec” ssss p ttt bbb The “URL spec” parameter is the web page or local document to be displayed by the browser. This specification must be enclosed by double quotes. The next parameters, ssss and p, are the size and position of the browser window, respectively. The size ssss is measured in global coordinates, ranging from 0 through 9999 (refer to Section 4.7.31 for a detailed description of global coordinates). The position p can have the following values: • T – Positions the browser window along the top edge of the screen, with a height ssss. • B – Positions the browser window along the bottom edge of the screen, with a height ssss. • L – Positions the browser window along the left edge of the screen, with a width ssss. • R – Positions the browser window along the right edge of the screen, with a width ssss. • F – Displays a fullscreen browser window, where the size ssss is assumed to be the entire screen and the specified value is ignored. The field ttt is the number of seconds to wait for a URL to successfully load, ranging from 000 through 999. A value of 000 in this field causes the current default value to be used. This default is defined by the Consumer Display Browser time out property. A backup screen number bbb must be provided for fullscreen browser windows (p = “F”) in the event that the browser is unable to load the specified URL. This backup screen is processed exactly like an inserted screen normally would be, such as an ESC I or SO sequence. This field is currently ignored for “mixed-mode” windows, where p is set to T, B, L, or R. In these cases, the browser simply does not appear if the URL fails to load, leaving a fullscreen legacy display. The browser window does not carry over from screen to screen and must be specified in each screen in which browser display is desired.

4-254 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences If displaying in “mixed-mode”, the browser window does not shift or resize any legacy screen contents; it simply overlays the specified portion of the legacy screen.

4.7.42

ESC : (Colon) - Display Date and Time The ESC : control sequence displays the date, time, or both on the screen in the format designated in format template screen nnn. The format of the control sequence is as follows: ESC : nnn The terminal updates the time continuously. If more than one ESC : control sequence is used, then only the last sequence that referenced time is in effect. Format Template Screen The format template screen lets the terminal know where to position the time and date on a given screen. The only control sequences that you can include in a format template screen are as follows: • • • •

ESC C ESC F ESC G ESC P

The only control characters that you can include in a format template screen are as follows: • • • • • • •

BS LF CR SI DC 4 (forward space) US VT

Format templates for date and time are contained in screen data. Each format template must contain a set cursor position sequence and any character set select information required to select the font or character set to display the date and time. The numerical values of date and time replace the format characters in the format template. There can be any character or number of characters between the format characters. Valid format characters are listed as follows along with example format template text.

4-255 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences Format Template Characters The terminal replaces the format template characters with the appropriate numeric values for the current date and time. The valid format template characters are as follows: • MM - Month • YY - Year NOTE The year field is always 2 digits. • • • •

DD - Day HH - Hours RR - Minutes SS - Seconds

You can use the following parameters to modify the time format to 12 hour, 24 hour, or AM/PM: [blank, M, or x..x!x..x] The rules for characters enclosed in [] are described in the following table.

Character

Indicates...

[M]

M indicates military time or 24-hour time.

[AM!PM]

If the time of day is in the first 12 hours, then display the characters in the brace to the left of !. If the time of day is in the second 12 hours, then display the characters in the brace on the right of !. [] must appear in the screen text where the characters on the left or right of ! are to be displayed. The data on the left and right side of ! must contain the same number of characters. This scheme allows you to display a.m. in the morning and p.m. in the afternoon.

[]

An empty bracket indicates 12-hour time.

It is possible to display the date and time on screens without making any changes to the download image. To do this, simply place a file named DATETIME.DAT in the C:\DIEBOLD\TCS directory. This is an ASCII file that contains a list of screen numbers on which the date and time should be displayed, followed by the format template screen number to be used for each screen (refer to Appendix D.17.4). EXAMPLES FOR ESC : These examples show how the terminal replaces characters in the format template.

4-256 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences The following example shows three ways to display the time 20:12:15.

Format Template

Example Display

HH:RR:SS[M]

20:12:15

HH-RR-SS [AM!PM]

08-12-15 PM (HH-RR-SS [A!P]M also works)

HH:RR[ ]

08:12

The following example shows two ways to display the date January 26, 2000.

Format Template

Example Display

MM/DD/YY

01/26/00

DD-MM-YY

26-01-00

The following example shows five ways to display the time and date.

Format Template

Example Display

MM/DD/YY HH:RR:SS[ ]

01/26/00 08:12:15

MM/DD/YY HH:RR:SS[A!P]

01/26/00 08:12:15A

HH:RR:SS[M] DD/MM/YY

20:12:15 26/01/00

HH:RR:SS[A!P]M DD/MM/YY

08:12:15PM 26/01/00

HH:RR[ ] DD\MM\YY

08:12 26\01\00

The following example shows how to create a format template screen. Assume that you want to display the date and time on the Insert Card screen and on the Enter Deposit screen. First, you must create a format template screen so the terminal knows where to position the time and date on the Welcome screen. SI B 4 ESC F 1 2 HH:RR:SS[A!P]M SI D 4 MM/DD/YY SI positions the cursor in the upper right corner of the screen at row B, column 4. ESC F selects the Helvetica font and the inverse display mode. Line 3 displays the time in the following format: 08:12:15PM. SI positions the cursor in the upper right corner of the screen at row D, column 4. Line 5 displays the date in the following format: 01/26/92. Format screen 500 is as follows.

4-257 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences

g40970a23

Now, add ESC: 500 to the screen data for your Insert Card and Enter Deposit Screen. Another option is to add the Insert Card and Enter Deposit screen numbers to the Datetime file.

4.7.43

ESC < (less than) - Fade-out Transition The ESC < control sequence provides a fade-out transition between screens. The format of the control sequence is as follows: ESC < This control sequence fades all the DAC registers to black using a color algorithm to slowly decrement the DAC registers until the entire screen is black. Use this feature to fade one screen out then create a new screen in video memory while the screen remains black. Use ESC > to fade the new screen back in. This technique avoids showing awkward screen building. ESC < in 640 x 480 x 16 Resolution As a time saving measure, when the screen data contains an ESC < and the resolution is 640 x 480 x 16, the terminal only fades the DAC registers referenced by the palette registers because these are the only colors the terminal is displaying. This is important in case ESC N is used to point to new DAC registers. Only the 16 DAC registers that were used are black, the others are left alone. In this case, use ESC O 001 before ESC N after an ESC ESC D

03 Set the resolution to 640 x 480 x 256 001 Load DAC setup number 001 (all black) 242 0 Display icon 242 in the normal video 242 Fade the contents of icon 242 into view 004 Delay for about 2 seconds

Fade out then display another icon. ESC < ESC P mode ESC > ESC D

4.7.44

Fade to black 231 0 Display icon 231 in the normal video 231 Fade the contents of icon 231 into view 004 Delay for about 2 seconds

ESC = (equal) - Select Row Size The ESC = control sequence changes the row size to the size specified. The format of the control sequence is as follows: ESC = 08 hh The terminal divides the entire display into rows hh scan lines high. The row size defined by ESC = remains in effect until the terminal does one of the following: • Processes another ESC = • Processes another ESC M • Enters the Maintenance mode The valid values for hh are 10 through 16 (decimal). The ESC = control sequence controls the number of rows on the consumer display and cursor positioning on the display, and it affects the alignment of the rows with the function keys. Because each icon block and character block is a fixed number of scan lines high regardless of the row size, the number of rows occupied by a block depends on the row size set by ESC =. For example, the character blocks for the helvetica font are 24 scan lines high. If you select a row size of 10 (ESC = 08 10), a helvetica character occupies three rows, and the last four scan lines partially fill the third row. The six scan lines at the bottom of the third row are not affected. Before you use ESC = to modify the row size of a screen, take into consideration the character sets you intend to use for the screen. Most of the prepackaged character sets are designed for a specific row size. Establishing a larger row size than the font was designed for generally does not create any problems. However, using a smaller row size can occasionally result in the loss of some portions of some characters, depending on the details of the screen design. This is particularly true if the screen uses the automatic text wrap feature or the scrolling function (ESC K).

4-259 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences The Maintenance mode sets the row size to 12 scan lines. If you want a different row size for the Welcome screen or the Off-line screen, you must include an ESC = control sequence in the screen. For example, to display Chinese characters on the Welcome screen and the Off-line screen, these screens must include an ESC = 08 16. You can only use ESC = once per screen. If you use ESC = in a screen, it must be at the beginning of the screen. The only control sequence that can precede ESC = in a screen is ESC M.

4.7.45

ESC > (greater than) - Fade-in Transition The ESC > control sequence provides a fade-in transition between screens from a black screen to colors corresponding to DAC setup number nnn. This control sequence has the effect of fading the screens contents into view. The format of the control sequence is as follows: ESC > nnn Having used ESC O 001 or ESC < before displaying screen data, this function fades the screen contents into view using the DAC settings in setup number nnn. Screen updates (painting) then occur invisibly to the consumer. ESC > in 640 x 480 x 16 Resolution When the screen data contains an ESC > and the resolution is 640 x 480 x 16, the terminal only fades the DAC registers referenced by the palette registers because these are the only colors the terminal displays in the 640 x 480 x 16 resolution. This is important in case ESC N is used to point to new DAC registers. Only the 16 DAC registers that were used are black, the others are left alone. In this case, use ESC O 001 before ESC N after an ESC >. Refer to Appendix D for information on DAC and palette registers.

4.7.46

ESC ? (Question Mark) - Use Sprites The ESC ? control sequence provides sprite animation based on the contents of Sprite Definition file nnn. The format of the control sequence is as follows: ESC ? nnn The range of nnn is 000 through 127. The terminal reads the Sprite Definition files at powerup. A Sprite Definition file defines where the sprite icon appears on the screen, the layer that the sprite icon is on, and the rate at which to step through the location/sprite number information. Layers are used to determine which sprite overwrites other sprites on the screen in the case of an overlap of a sprite on the screen. Two sprites cannot exist on the same layer even if they do not overlap. The last sprite on the layer stops and the new sprite takes over on the layer. There can be up to three sprites active at once. If more than three ESC ? control sequences are in the screen data, then the first one is stopped and the new one is started in its place. The next ESC J sequence encountered replaces the second one started. Refer to Appendix D for information on how to create a Sprite Definition file.

4-260 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Screen Control Sequences The ESC ? control sequence is terminated by an FF or ESC M control sequence. NOTE You cannot use sprites in the same screen areas as other animation techniques such as ESC A or ESC D type animations.

4-261 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Touch Screen (not applicable on the CashSource Plus 400)

4.8

Touch Screen (not applicable on the CashSource Plus 400) The touch screen feature allows the consumer to enter numeric and function key-type input by touching designated areas of the screen. This input can provide both numeric and function key inputs for all information gathering states (PIN entry, information entry, function key entry). Configuration Data Configuration data for the touch screen must be provided either from the network, from disk files, or a combination of both. After configuration, it operates in direct parallel to the fascia keypad. Screens that have associated touch screen templates enable and disable the touch screen at the same time that the fascia keypad is enabled and disabled. Keypad input is accepted from either the touch screen, the fascia keypad, or a combination of both. Configuration data for the touch screen must be considered in two parts: touch template definitions and screen definition data telling the terminal which touch template to use for a specific screen. All touch screen configuration data is contained within screen records in Write Command 2 messages (Section 4.6). Touch Templates Touch templates are defined with the ESC ZD control sequence and contain one or more touch button definitions. Each region on the screen that corresponds to a touch button is defined separately in the screen file. Each button definition contains the following fields: • • • • • • •

Touch template number Key Xlow Xhigh Ylow Yhigh Icon number

The touch template number ranges from 000 to 998. The key field specifies which keystroke this field represents. The screen regions are defined by four x and y numbers, each in the range of 0000 through 9999. The icon number specifies which button-depressed icon to display in that region when that area of the screen is touched. For example, to define touch template 123 for function keys A through D, the following data needs to be included in screen data sent in a Write Command 2 message: ESC ESC ESC ESC

ZD ZD ZD ZD

123 123 123 123

0A 0B 0C 0D

5000 5000 5000 5000

9999 9999 9999 9999

5000 3500 2000 0500

5500 4000 2500 1000

016 017 018 019

Refer to Figure 4-22 for the areas of the screen defined by this touch template.

4-262 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Touch Screen (not applicable on the CashSource Plus 400)

g40970b16

Figure 4-22

Touch Template Example

Screen Data To use a touch template for a screen, you must place an ESC ZC XXX control sequence within the screen data that uses the template. For example, using the previously defined template 123 in screen 450 requires an ESC ZC 123 in the screen data for screen 450. The touch template definitions can be placed within any screen definition. The template definition itself has no logical connection to the screen in which it is defined. Touch Screen Notes The following notes apply to use of the touch screen: • The touch screen is enabled in each state that displays a screen for which a touch template has been declared and enables the keypad. • The touch subsystem enables buttons that are both declared in the template and enabled on the keypad. If a state does not display a screen (for example, specified screen 000) or does not enable the keypad, the touch screen is not be enabled for that state. • When using the touch screen with OAR, the screen data supplied in a Write Command 5 message can include touch screen information. The Write Command 5 message must include at least the ESC ZC nnn field to specify which template to use or it can define a new template. For more details on the Write Command 5 message, refer to Section 5.10. Auto Touch Every downloaded screen that does not include an ESC ZC touch template reference gets a reference to touch template 999. This template sets up touch button regions for function keys A through I. This allows use of the touch screen without additional programming. If a specific touch template is specified, it overrides touch template 999. The following chart provides the data for touch template 999. Icon 000 is specified for each key.

4-263 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

A B C D E F G H I

4.9

xlow 5000 5000 5000 5000 0000 0000 0000 0000 0000

xhigh ylow 9999 4750 9999 3250 9999 1750 9999 0250 9999 8000 4999 4750 4999 3250 4999 1750 4999 0250

yhigh 5750 4250 2750 1250 9999 5750 4250 2750 1250

Predefined Icons Agilis 91x for ix/CSP can show icons on the consumer display. The icons graphically depict the action that the consumer should perform, such as inserting a card or taking a receipt. The icons are built from special icon characters similar to mosaic characters. The icon characters are stored in disk files. To use an icon, the network downloads a screen that contains icon data that specifies where to position the icon on the consumer display and which characters to use. You can add text above or below the icon without modifying icon data. Also, text can share a row with an icon. However, if text and the icon share a row, one cannot overlay the other, and one space must separate the text and the icon. Their combined lengths cannot extend beyond the end of the row. Refer to Figure 4-23 for a sample display combining the Take Cash icon with the message PLEASE TAKE YOUR CASH. The white areas in the icon are illuminated on the consumer display. Below the sample display is the screen data that generates the message and the icon. For readability, screen data is divided into lines corresponding to separate rows on the consumer display. The first line of icon data starts with the control sequence SI G C. This positions the display mode attribute for the first line of the icon at row G, column C and the first character of the icon itself at row G, column D. Thus, the upper left corner of the icon appears at row G, column D. Basic icon screens (Figure 4-24 through Figure 4-38) are available for both host and controller applications. Refer to the Enhanced Graphics Product Description (i Series/MDS) (TP-799345-000A) for details on enhanced graphic capabilities. ??? Do we still have enhanced graphics ?????

4-264 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959016

Figure 4-23

Example Screen Combining Text and an Icon

Standard Icons This section presents the standard icons (Figure 4-24 through Figure 4-38). The defining data for each icon appears below the icon. The icon characters themselves are shown in ASCII hexadecimal. If you work in an EBCDIC environment, convert all hexadecimal values from ASCII to EBCDIC. EXAMPLE Assume that you work in an ASCII environment. Suppose that you are entering a line of icon data for which the section shows the following defining data:

4-265 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons SI-#-# ESC-G-5-0 VT-25 3F 20... VT-26 ESC-G-0-0 Determine the actual row and column for this line of the icon on the consumer display and modify the SI-#-# portion of the line to set the cursor to this position. For example, if the line is to start at row G, column C, the SI-#-# portion becomes SI-G-C. Disregard the hyphens when translating the following control sequences:

Control Group

Hexadecimal (ASCII)

SI-G-C

0F 47 43

ESC-G-5-0

1B 47 35 30

VT-25

0B 25













ESC-G-0-0

1B 47 30 30

The ASCII hexadecimal data for this line of the icon would then be as follows: 0F 47 43 1B 47 35 30 0B 25 3F 20... 0B 26 1B 47 30 30

4-266 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959001

Figure 4-24

Welcome Icon

4-267 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959002

Figure 4-25

Insert Card Animation Icon 1

4-268 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959003

Figure 4-26

Insert Card Animation Icon 2

4-269 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959004

Figure 4-27

Insert Card Animation Icon 3

4-270 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959005

Figure 4-28

Enter PIN Icon

4-271 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959006

Figure 4-29

Right Hand Select Transaction Icon

4-272 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959007

Figure 4-30

Left Hand Select Transaction Icon

4-273 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959008

Figure 4-31

Please Wait Icon

4-274 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959009

Figure 4-32

Take Cash Icon

4-275 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959010

Figure 4-33

Insert Envelope Icon

4-276 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959011

Figure 4-34

Take Receipt Icon

4-277 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959012

Figure 4-35

Take Card Icon

4-278 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959013

Figure 4-36

Swipe Card Animation Icon 1

4-279 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959014

Figure 4-37

Swipe Card Animation Icon 2

4-280 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Predefined Icons

g1959015

Figure 4-38

Swipe Card Animation Icon 3

4-281 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens

4.10 Reserved Screens Agilis 91x for ix/CSP reserves screens 000 through 009, and 900 through 950 for specific terminal functions (Table 4-97). Agilis 91x for ix/CSP provides default data for reserved screens 000 through 007, but the network can download its own data for any of the reserved screens.

Table 4-97 Reserved Screens Screen Number

Function

000

More Time screen (default)

001

Off Line screen (default)

002

Out of Service screen (default)

003

Not used

004

Currency Characters screen

005

Thousands Separator Character(s) screen

006

Decimal Character screen

007

Not used

008

Rear Balance menu text

009

Rear Balance function definitions

900

OAR screen

901

Multi-lingual screen

902

Rear Balance Function Failure screen

903

Continuous Availability Continue screen

904

Continuous Availability Take Card screen

905

Voice Guidance Enable screen

906

Continuous Availability Depository Not Available screen

907

Continuous Availability Bill Dispenser Not Available screen

908

Continuous Availability Coin Dispenser Not Available screen

909

Continuous Availability Statement Printer Not Available screen

910

Envelope Dispense screen

911

Envelope Dispense Failure (Continue/Cancel) screen

912

Reserved for future use

913

Envelope Dispense Failure screen

914

Continuous Availability Envelope Dispenser Not Available screen

915

Dip Card Reader Prompt for Removal screen

916

Continuous Availability After Hour Depository Not Available screen

917 - 950

Reserved for future use

999

More Time screen (internal)

4-282 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens Screen 000 (More Time screen) Screen 000 prompts a consumer who fails to respond within a specified interval. Screen 000 must be defined and must conform to the following function key A and B requirements: • If function key A is pressed, the terminal returns to the original state in which the timeout occurred. The consumer presses this key to request more time. • If function key B is pressed, the terminal returns to the Timeout Next State entry of the original state in which the timeout occurred. Normally, this Timeout Next State is a Close state. Screen 001 (Off Line screen) Screen 001 is displayed when the terminal is in the Off-line mode. The screen’s text defaults to OFF LINE at terminal powerup or reset. Screen 002 (Out of Service screen) Screen 002 is displayed when the terminal is in the Out-of-service mode. The screen’s text defaults to OUT OF SERVICE at terminal powerup or reset. NOTE The network can temporarily change the More Time screen from screen 000 to another screen number by means of the enhanced Function Command message (Section 5.6). At terminal powerup or reset, the terminal reverts to using screen 000 as the More Time screen. Similarly, the network can temporarily change the Off Line screen and the Out of Service screen to other screen numbers. Screen 003 Agilis 91x for ix/CSP does not use this screen. This screen is reserved for compatibility with TCS. Screens 004, 005, and 006 (Currency Characters, Thousands Separator Character, and Decimal Character screens) Screens 004 through 006 are displayed when the terminal is in the Dollar Entry state. Screen 004 places the currency-type characters at the beginning of the cash amount on the consumer display. For terminals that use an 8-digit cash amount field, screen 005 defines the separator character (usually a comma) between the hundreds and thousands digits. For terminals that use a 12-digit cash amount field, Agilis 91x for ix/CSP places these separator characters between the hundreds, thousands, millions, and billions digits. Screen 006 places the decimal separator between major and minor currency units on the consumer display (for example, between dollars and cents).

4-283 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens If screens 004, 005, and 006 are not downloaded, they default to the following characters: • Screen 004 - $ b/ • Screen 005 - NULL • Screen 006 - . (period) These screens revert to their default content at powerup or reset. By downloading screens 004, 005, and 006, other characters can be shown in the cash amount display field. For example, by downloading a comma ( , ) in screen 005 and not selecting the 12-character dollar buffer size, the terminal shows screens 004, 005, and 006 shown in the example that follows. Agilis 91x for ix/CSP requires additional character positions on the consumer display to show both 8-digit and 12-digit transaction amount fields. As shown in the following example, a full 8-digit transaction amount field requires 13 character positions. The example assumes that the network downloads reserved screen 005. Otherwise, 12 character positions are required. EXAMPLE

g1959017

As shown in the following example, a full 12-digit transaction amount field requires 19 character positions. This example assumes that the network downloads reserved screen 005. Otherwise, 16 character positions are required.

4-284 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens EXAMPLE

g1959018

Screen 007 This is the Remove Currency screen. This screen prompts consumers to remove currency left in the withdrawal area. An ix/CSP Series terminal shows this screen as part of the Withdrawal Door Retry feature that occurs when the terminal performs a delivery function and the consumer fails to remove the bills. The screen’s characters default to PLEASE REMOVE CURRENCY LEFT IN DRAWER at terminal powerup or reset. Screen 008 (Rear Balance menu text) (not applicable on the CashSource Plus 400) Screen 008 is used by the Rear Balance feature. This screen provides the text for the selectable entries on the Rear Balance menu. For more details on the use of screen 008, refer to Section 4.16. Screen 009 (Rear Balance function definitions) (not applicable on the CashSource Plus 400) Screen 009 is used by the Rear Balance feature. This screen provides the data that defines the rear balance functions. For more details on the use of screen 009, refer to Section 4.16. Screen 900 (OAR screen) (not applicable on the CashSource Plus 400) Screen 900 is applicable to touch screen terminals only. This screen is used by the Open Account Relationship (OAR) feature. Screen 900 provides the cross-reference between the screen number, the language bank, and the touch screen template. For more details on the use of reserved screen 900, refer to Section 4.15.

4-285 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens Screen 901 (Multi-lingual screen) Screen 901 is used by the Multi-lingual feature. This screen provides a language selection method. Refer to Section 4.15 for details on the Multi-lingual feature. Screen 902 (not applicable on the CashSource Plus 400) Screen 902 is used by the Rear Balancing feature. Refer to Section 4.16 for details on the Rear Balancing feature and reserved screen 902. Screen 903 (Continuous Availability Continue screen) (not applicable on the CashSource Plus 400) Screen 903 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if a consumer uses the ATM while receipt printer is being serviced (or while the statement printer is being serviced, if the statement printer is emulating a receipt printer). The screen asks consumers if they want to continue with their transaction even though a receipt is not available. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) for details on Continuous Availability. Screen 904 (Continuous Availability Take Card screen) (not applicable on the CashSource Plus 400) Screen 904 is used by the Continuous Availability feature (Section 2.3.5). If the consumer elects not to continue a transaction as prompted by reserved screen 903, screen 904 is displayed, directing the consumer to take their card. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) for details on Continuous Availability. Screen 905 (Voice Guidance Enable screen) Screen 905 is used by the Voice feature. This screen is displayed to allow the consumer to select voice guidance or no voice guidance. Refer to Section 4.17 for more details on the Voice feature. Screen 906 (Continuous Availability Depository Not Available screen) (not applicable on the CashSource Plus 400) Screen 906 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if the consumer selects a deposit while the depository is being serviced. The consumer is given the option to wait for the transaction to continue (when servicing is completed) or to cancel the transaction. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) for details on Continuous Availability. Screen 907 (Continuous Availability Bill Dispenser Not Available screen) (not applicable on the CashSource Plus 400) Screen 907 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if the consumer selects a bill dispense while the bill dispenser is being serviced. The consumer is given the option to wait for the transaction to continue (when servicing is completed) or to cancel the transaction. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) for details on Continuous Availability. Screen 908 (Continuous Availability Coin Dispenser Not Available screen) (not applicable on the CashSource Plus 400) Screen 908 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if the consumer selects a coin dispense while the coin dispenser is being serviced. The consumer is given the option to wait for the transaction to continue (when servicing is completed) or to cancel the transaction. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) , as applicable, for details on Continuous Availability.

4-286 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens Screen 909 (Continuous Availability Statement Printer Not Available screen) (not applicable on the CashSource Plus 400) Screen 909 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if the consumer selects a statement while the statement printer is being serviced. The consumer is given the option to wait for the transaction to continue (when servicing is completed) or to cancel the transaction. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) Screen 910 (Envelope Dispense screen) (not applicable on the CashSource Plus 400) Screen 910 is displayed before envelope dispensing for either automatic dispensing or C state processing. The consumer is given the option to receive an envelope or proceed directly to the next operation. Screen 911 (Envelope Dispense Failure [Continue/Cancel] screen) (not applicable on the CashSource Plus 400) Screen 911 is used for automatic envelope dispensing and C state processing. This screen appears if the envelope dispenser is unavailable due to a device problem. The consumer is given the option to continue or cancel the transaction. Screen 912 This screen is reserved for future use. Screen 913 (Envelope Dispense Failure screen) (not applicable on the CashSource Plus 400) Screen 913 is used by the C state. This screen appears if the envelope dispenser is unavailable due to a device problem. Consumers are informed that envelopes are unavailable, and are instructed to cancel the deposit operation after it starts if they do not want to continue. This screen is displayed for a fixed time period of three seconds. Screen 914 (Continuous Availability Envelope Dispenser Not Available screen) (not applicable on the CashSource Plus 400) Screen 914 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if the consumer selects an envelope dispense while the envelope dispenser is being serviced. The consumer is given the option to wait for the transaction to continue (when servicing is completed) or to cancel the transaction. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) for details on Continuous Availability. Screen 915 (Dip Card Reader Prompt for Removal screen) Screen 915 is used by the dip card reader. This screen prompts consumers to remove their card. The default wording for this screen is as follows: PLEASE REMOVE YOUR CARD TO CONTINUE This screen appears if the consumer does not remove the card within a specified amount of time (determined by timer 18).

4-287 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Reserved Screens Screen 916 Continuous Availability After Hour Depository Not Available screen Screen 916 is used by the Continuous Availability feature (Section 2.3.5). This screen appears if the consumer selects a bag deposit while the After Hour depository is being serviced. The consumer is given the option to wait for the transaction to continue (when servicing is completed) or to cancel the transaction. Refer to the Maintenance Manual for ix (TP-820589-001E), as applicable, for details on Continuous Availability. Screen 921 (not applicable on the CashSource Plus 400) Screen 921 is used by the Continuous Availability Service (CAS) feature. This screen displays if the consumer selects a currency acceptor cash deposit while the currency acceptor is being serviced. The consumer is given the option to wait for the transaction to continue (servicing is complete) or to cancel the transaction. Refer to the Agilis 91x for ix Maintenance Manual (TP-820589-001E) for details on CAS.

4-288 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Default Screen File Management

4.11 Default Screen File Management The default screens that Diebold provides as part of Agilis 91x for ix/CSP are in files that can be replaced and/or modified. Each type of display has its own set of default screen files in a directory. These directories are as follows: • DIEBOLD\TCS\cge - For standard monochrome screens • DIEBOLD\TCS\emg - For Enhanced Monochrome Graphics screens • DIEBOLD\TCS\cgf - For Color Graphics Feature screens • DIEBOLD\TCS\adp00 - For VGA Plus screens Within each of these directories, there are files that further break down how the default screens are displayed by character mode and function key placement. These individual files help to set up default screens that properly center the text and align text with any function keys that a screen might require. Part of the file name describes the intended use with the following nomenclature: • • • •

???32lb - For 32 x 16 screens with buttons on the left side ???32rb - For 32 x 16 screens with buttons on the right side ???40lb - For 40 x 20 screens with buttons on the left side ???40rb - For 40 x 20 screens with buttons on the right side

The ??? is cge, cgf, emg, or vga, depending on the directory where the file is found. When Agilis 91x for ix/CSP initializes, it decides which file to read into the screen memory in the following steps: 1. The directory to be read is decided based on the Consumer Display configuration setting. 2. All files found in the selected directory with a.SCR extension are used. If there are conflicting screen numbers in various files, then the last file read rules. For example, if there are two SCR files with a screen 011, then the last file’s screen 011 is loaded at the terminal. The different screen files are selected by changing the desired file name to have the .SCR extension. When a different screen file is selected, the system must be restarted to load the contents of the new file. Only one default file should have the .SCR extension in any given screen directory. The screen files stored in a directory but not used have the extension .SC_ instead of .SCR. NOTE To select a specific file, copy the .SC_ file to a file with the same name and the extension .SCR. To remove the current file from use, delete only the file name with the .SCR extension. To avoid losing a default screen file when selecting or removing screen files, do not perform file operations (such as rename or delete) directly on the .SC_ files.

4-289 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Modifying the Contents of a Screen File

4.12 Modifying the Contents of a Screen File The .SCR or .SC_ files cannot be directly modified. To make new .SC_ or .SCR files, you must first convert them to an ASCII file format. Files of this format are created by a utility called SCREEN, which is provided on the software release disks. This utility converts files from the .SCR to a file with the same name, but with a .MSC extension. You can also SCREEN the .MSC file to a .DA0 file if you need to edit it through PCEDIT or VGASCRN. EXAMPLE To convert cgf32rb.scr to cgf32rb.msc type the following string: screen cgf32rb.scr cgf32rb.msc It is important to use the file name extensions .SCR and .MSC for the SCREEN utility to work correctly. The .MSC files can be modified with any text editor capable of modifying ASCII files. The format of the MSC files is as follows: • FILE HEADER - The file header is the same for all files. This is comprised of the beginning of the file up through the |DS. There should be no need to change the file header. • The first screen from that point starts with a screen number. • The end of each screen is signified by a |FS. • The last screen in the file does not need to end with a |FS. The screens are made up of the control characters. Symbols such as |EC, which represent control characters, are used within the screen data files for various functions. Directly inserting control characters into the files is not possible, thus a set of symbols is available to generate these codes. The hex value for control characters and the appropriate ASCII symbol to use to place the control character in the file is shown in Table 4-98.

Table 4-98 Hex Value/ASCII Symbol Conversion Table Hex Value

Symbol

Hex Value

Symbol

00

|NL

10

|DE

01

|SH

11

|D1

02

|SX

12

|D2

03

|EX

13

|D3

04

|ET

14

|D4

05

|EQ

15

|NK

06

|AK

16

|SN

07

|BL

17

|EB

4-290 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Creating a New Default Screen File Table 4-98 Hex Value/ASCII Symbol Conversion Table (continued) Hex Value

Symbol

Hex Value

Symbol

08

|BS

18

|CN

09

|HT

19

|EM

0A

|LF

1A

|SB

0B

|VT

1B

|EC

0C

|FF

1C

|FS

0D

|CR

1D

|GS

0E

|SO

1E

|RS

0F

|SI

1F

|US

7C

|VB

Special Codes 23

|LB

7F

|DL

For example, the escape (ESC) hex code is 1B, a |EC would be typed where the screen building protocol says to use escape. Comment Delimiter |?! Another control character that can be placed in the configuration files is a comment delimiter. This is a special set of characters used to designate comment text in a file. This delimiter is placed before and after text used only as a comment and that means nothing to the configuration. This character sequence must start in column zero. Any spaces used outside of the trailing comment symbol become part of the configuration file. The following is an example of a comment delimiter: |?! This text is comment text. |?!

4.13 Creating a New Default Screen File To convert the new .MSC files, use the utility SCREEN.EXE. This utility converts files from the .MSC to .SCR format. EXAMPLE To make a .MSC file to a .SCR file type the following string: screen cgf32rb.msc cgf32rb.scr Once a file has been made with the .SCR extension, it can be copied to one of the screen file directories. Ensure there is only one default .SCR file in a screen directory. The .SCR files can have their extension changed to .SC_ after being created with the SCREEN program using the rename or copy commands. If you are accustomed to working with PCEDIT or VGASCRN and need to modify the .SCR file, you can use the SCREEN utility to get an editable .DA0 file.

4-291 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced Monochrome Graphics EXAMPLE type screen cgf32rb.scr cga32rb.msc and then type screen cgf32rb.msc cga32rb.da0 Once you have the file with a .DA0 extension, you can use PCEDIT or VGASCRN to make your modifications. When you are done with your modifications, you need to SCREEN the .DA0 file to a .SCR file. EXAMPLE type screen cgf32rb.da0 cgf32rb.scr

4.14 Enhanced Monochrome Graphics If your terminal uses the Enhanced Monochrome Graphics (EMG) option, you might want to change the default graphics package. The default graphics package provides English, Thai, and Arabic characters. You can change the default graphics package to one of two packages that provide Chinese characters. For more information on the EMG option and a description of the character sets provided, refer to the Enhanced Monochrome Graphics Programming Manual (TP-799300-000A). The character sets are stored in the \DIEBOLD\TCS\emg directory. This directory has the following files: • EMGD???A.LIB - Standard character set (formerly named SCDxxA.LIB) • EMGD???B.LIB - Chinese character set (formerly named CDSxxA.LIB) • EMGD???C.LIB - Simplified Chinese character set • LPROM.LIB - Character set data file used by Agilis 91x for ix/CSP at startup. Contains EMG icons, fonts, and character sets. • DPROM.LIB - Bank 0 data file used by Agilis 91x for ix/CSP at startup where: ??? - the revision number of the data file. Changing EMG Graphics Packages 1. Change directories using the following command at a command prompt ( refers to the ENTER or RETURN key):

4-292 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Enhanced Monochrome Graphics cd \DIEBOLD\TCS\emg 2. Perform a binary copy of the library file (substituting the actual revision level for ???) using one of the following commands depending on the graphics package desired: • Chinese graphics: copy /b emgd???b.lib lprom.lib • Simplified Chinese graphics: copy /b emgd???c.lib lprom.lib • Standard graphics: copy /b emgd???a.lib lprom.lib 3. Shut down and reboot the system.

4-293 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Multilingual Feature

4.15 Multilingual Feature The Multilingual feature provides a method of referencing screens of different languages without the burden on having parallel states for each language. There are two main aspects of this feature: • Storing screens of different languages so that only one state flow is required to show screens of any language. • Selecting the appropriate language for each consumer.

4.15.1

Screen Storage Each language supported has a set of screens translated into that language with the same screen numbers as the default screens. These screens are contained in separate language banks. By doing this, the same state flow can be used to show screens in various languages. To distinguish between the different languages, embed a language control sequence immediately after the screen number. This control sequence is read when the terminal is configured and determines which language bank to use for storing the screen. If any screen does not contain this control sequence, then the default language bank is used for storage. This language control sequence is ESC L num, where num represents the language bank number. Once the consumer’s language bank has been determined, subsequent states use this language bank for retrieving each screen. A Close state sets the language bank back to the default of 000. The following is an example of screen data that contains this language bank indicator: 013 ESC L FF SI CL SI I8 SI L8 SI 08

4.15.2

010 PLEASE SELECT TRANSACTION WITHDRAW ----- > DEPOSIT ------ > TRANSFER ----- >

Language Selection There is both an automatic method and a manual method for selecting the language. The automatic method does not require any network changes but, it has some restrictions. The manual method requires a new state to be incorporated into the existing state flow.

4-294 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Multilingual Feature Automatic Method Upon getting a good read of the consumer’s card, a screen similar to the one below (screen 901) is displayed. The consumer then selects the language by using the function keys.

g1959019

NOTE Only one screen 901 is required for selecting languages. Any additional 901 screens that are downloaded overwrite the previous screen 901. The language bank number is directly determined by the key pressed. KEY A sets the language bank number to zero, KEY B sets it to one, and so on. Up to eight different languages are supported (corresponding to the eight function keys). If key mapping is used to map the F, G, H, and I keys to A, B, C, and D, a maximum of four languages are supported. The institution is required to configure a Select Language screen (901) that maps the supported languages with the corresponding keys. Since screens are retrieved from the default language bank (000) before language selection, the Select Language screen (901) must be saved in the default language bank. In order to ensure this, the Select Language screen (901) is always saved in the default language bank (000) despite any language bank control sequence. If the consumer selects CANCEL instead of selecting a language, the transaction continues using the default language bank (000). If the consumer times out before selecting a language, the DO YOU WANT MORE TIME screen from the default language bank (000) is shown. If the consumer chooses NO, the transaction continues using the default language bank (000). The automatic method only functions when the feature is enabled with the configuration settings and the Select Language screen (901) has been configured. This is a configurable option; refer to the Agilis 91x for ix Installation and Configuration Guide (TP-820605-001D) for information on configuration.

4-295 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Multilingual Feature Manual Method This method allows institutions to perform manually what was done automatically in the automatic method. A Set Language Bank state is available that can be incorporated anywhere into the current state flow. A definition for this state is in Section 4.4.24. One method of implementation is to use one or more Select Function states in order to get to the Set Language Bank states. In this case, the institution can specify both a Timeout Next State and a Cancel Next State. The language bank number associated with each function key is at the institution’s discretion. Using several Select Function states and Set Language Bank states, an institution can support as many languages as it requires. Once the language is selected and the language bank number is established, the remaining screens are retrieved from that bank. If, for some reason, a particular screen number does not exist in the selected language bank, the screen is retrieved from the default language bank (if the screen number exists there). Thus, reserved screens 004, 005 and 006, which contain only symbols, do not have to be downloaded to each bank.

4.15.3

OARs in Conjunction with the Multilingual Feature A language control sequence (ESC L xxx) can be inserted within the OAR screen data as long as the character is at the beginning of the OAR screen data. No other characters can precede the ESC L xxx. Internally, the OAR screen is stored using a reserved OAR screen number. If no language bank is specified by an ESC L xxx sequence, the OAR screen is saved in the default bank (000). If a language bank is specified, the OAR screen is saved in that language bank. Before the OAR screen is displayed, the screen must first be retrieved from where it was stored. The current language bank is first scanned to determine if it contains a screen that matches the reserved OAR screen number. If the current language bank does not contain the OAR screen, the default language bank (000) is scanned to determine if it contains a screen matching the reserved OAR screen number. The backup feature of checking the default language bank for a screen that does not exist in the current language bank works the same for OAR screens as it does for downloaded screens. This backup feature can be used to a network’s advantage when OAR data is sent. If the OAR screen does not contain any language-specific text, the network can choose to not specify a language bank within the OAR screen data. This action removes the burden of keeping track of the current language bank the consumer is using. For example, the network could download both an English screen 200 that contains the text "TODAY’S RATE FOR CAR LOANS IS:" and a Spanish screen 200 that contains the same text translated into Spanish. Each screen 200 must contain a language control sequence. The OAR screen could then contain only a control sequence to insert screen 200 in addition to the numerical data showing the current rate. Some caution must be used when taking advantage of the backup feature. The backup feature fails as soon as the network specifies a language bank within OAR screen data. Whenever the network sends an OAR screen with a language control sequence that specifies bank 001, this screen is retrieved whenever the current language bank is 001.

4-296 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Multilingual Feature Using the backup feature in this manner is only recommended for banks that use the automatic method described previously. In the case of the automatic method, the network has no way of determining the current language bank used during each transaction. Whenever the state method is used, however, it is recommended that the network have some method of determining the current language bank used during each transaction. In addition to allowing the network to insert a language control sequence within the OAR screen data, this knowledge opens up many other programming possibilities. Touch Screen (not applicable on the CashSource Plus 400) The touch screen option uses touch templates. The touch template defines which in and out icons are displayed in addition to defining the coordinates of the hot spot. Therefore, each language can have a different touch template since the text within the icon would be different. The most straight forward method of using OARs, multilingual, and touch screens is to use the manual method for Multilingual and have the network know the current language bank. Then, the OAR data can contain the ESC L XXX and the ESC ZC XXX. This is the recommended method. A very indirect approach has been shown to work, which establishes a touch template cross reference for OAR screens when Multilingual is used. This method uses several preliminary screen 900s in order to establish template 100 for an OAR in bank 0, template 200 for an OAR in bank 1, template 300 for an OAR in bank 2, and so on. It also relies on the backup feature described previously. The only data in the preliminary screen 900s is the ESC L XXX and the ESC ZC XXX. The OAR data is sent and, since no language bank is specified, it is saved in Language Bank 000. If the current language bank in use is 001, then the display task tries to retrieve screen 900 (OAR screen) out of Language Bank 001. However, it does not exist, thus screen 900 is retrieved from Language Bank 000 according to the backup feature. This method does not work if there is any data in the preliminary screen 900 in addition to the ESC L XXX and the ESC ZC XXX.In this case, screen 900 already exists in the current language bank and the preliminary screen 900 is used instead of the current OAR data. When Multilingual is used, having one preliminary screen 900 (in Language Bank 000) to establish a cross reference between template 100 and the OAR screen does not work because there is no way of having a common template for all the languages. The templates specify the icons containing language-specific text for the buttons. Even if a common template existed, the cross reference must be established for all the language banks.

4-297 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400)

4.16 Rear Balance Feature (not applicable on the CashSource Plus 400) The Rear Balance feature requires the Agilis Supply Manager option. The Rear Balance feature provides the ability to perform terminal balancing operations from the rear of the terminal, using the (GUI) Maintenance interface. A rear balance session is initiated by a terminal operator selecting the Start RBM function from the Tools menu while in Maintenance mode or Continuous Availability. Although the rear balance session is initiated through the Maintenance software, rear balance functions are defined and controlled by the network. Selecting a rear balance function at the terminal causes the terminal to send the network a unique Consumer Request message. The network then sends the terminal a Function Command message directing the terminal to perform the requested function.

4.16.1

Entry Methods There are two methods of entry into a rear balance session: • Maintenance mode • Continuous Availability Maintenance mode When you select Start RBM in Maintenance mode, the Maintenance software checks to see if any card data has been stored for the operator group to which the current operator belongs. If there is stored card data for the operator group, the Maintenance software searches the Financial Institution Table (FIT) library for a FIT entry matching the stored card data. NOTE Stored card data used to initiate a rear balance session must match an entry in the terminal’s FIT library. If no match is found, the Maintenance software does not start a rear balance session. If a matching FIT entry is found, the Maintenance software prompts the operator to enter the appropriate PIN for the stored card data. The PIN can be any number of digits, up to a maximum of six, as indicated by the FIT entry. If the FIT entry indicates local PIN verification, the PIN entered by the operator must pass the local PIN verification check. If the local PIN check fails, the rear balance session is not started. If the FIT entry indicates remote PIN verification, the encryption method specified in the FIT entry is used when the PIN is sent to the network for verification.

4-298 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) If there is no stored card data for the operator group, the Maintenance software starts the rear balance session without prompting for a PIN entry. When a rear balance function request is sent to the network, the operator’s password (the password used for Maintenance logon) is sent in place of the PIN for network verification. The password is placed in the PIN Buffer field of a Consumer Request message. The password is not encrypted. Continuous Availability When you select Start RBM in Continuous Availability, the Maintenance software checks to see if there is any stored card data for the operator group to which the current operator belongs. If there is stored card data for the operator group, the Maintenance software proceeds in the same way as for Maintenance mode. If there is no stored card data for the Continuous Availability group, the Maintenance software does not permit the operator to start a rear balance session. In Continuous Availability, a rear balance session cannot be started using the operator’s password. NOTE If the Maintenance Mode Log to Network feature is enabled, initiating a rear balance session in Continuous Availability generates an Unsolicited Status message with a menu code of 045 in the Maintenance Mode Log field. In Maintenance mode, initiating a rear balance session does not generate an Unsolicited Status message.

4.16.2

Rear Balance Functions Reserved screen 008 is used to define the menu for rear balance functions. The Maintenance software displays this menu during the rear balance session. The operator executes rear balance functions by selecting the desired function from this menu. Reserved screen 009 is used to define the message data sent to the network for rear balance functions. For each rear balance function, this definition data specifies required operator input (if any), what data is to be sent to the network in the Consumer Request message, and how to handle a function failure. Because the network has control over both the function menu (screen 008) and the function definition data (screen 009), the rear balance mode is completely configurable by the network. NOTE Because reserved screens 008 and 009 are used to download function data for a rear balance session, these screens are not displayable screens. The network should not attempt to use screen 008 or screen 009 on the consumer display. Screen 008 (Rear Balance menu text) Screen 008 defines the text of the menu entries for the Rear Balance menu. The following example shows the format for screen 008.

4-299 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) FUNCTION MENU 01=Print Totals 02=ATM Out Of Serv 03=Cash Added 04=Cash Removed 05=Deposits Cleared

Each line in screen 008 is terminated by a line feed character (LF). The second line through the last line are the menu entries for the Rear Balance menu. Each of these lines must correspond to an operator selectable function defined in screen 009. The first three characters of the second line through the last line (01=, 02=, and so on, in this example) must be present to permit the Maintenance software to parse the screen data, but are not used for any other purpose. Screen 009 (function definition data) The network can define up to 99 rear balance functions. Each function defined by the network must have an associated record downloaded in screen 009. Each record must contain the fields shown in Table 4-99.

Table 4-99 Reserved Screen 009 Fields Field Name

Number of Characters

Autoexecute/Chain Flag

1

Track Data Flag

1

Function Key Data Flag

1

Function Key Data

8

PIN Flag

1

Operator Input Flag

1

Input Screen Number

3

Expected Next State ID

3

Exit on Next State ID Mismatch

1

Data Separator

1

Additional Data Flag

1

Additional Data Function Definition Separator

Variable 1

The fields shown in Table 4-99 are described in the following paragraphs. Autoexecute/Chain Flag This flag indicates whether the function executes automatically at the start of the rear balance session or is executed automatically following another function. This field contains one character. The following values are valid: • 0 - Execute this function by menu selection only • A - Autoexecute this function • 1 - Chain this function to the function defined in the previous record

4-300 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) Autoexecute: This specification means that the function is to be executed automatically at the start of a rear balance session. As soon as an operator has successfully started a rear balance session, before the Rear Balance menu is displayed, the indicated function is executed and the corresponding Consumer Request message is sent to the network. This feature can be particularly useful for networks that want to do a remote PIN check before the operator selects any rear balance function. The Maintenance software does not link menu entries to autoexecute functions. Autoexecute functions are not selectable from the Rear Balance menu, so screen 008 must not contain any entries for autoexecute functions. Chain: This specification means that several functions are executed when one function is selected from the Rear Balance menu. As soon as the Function Command message for one function has been returned from the network and successfully processed by the terminal, another function request can be sent to the network without additional operator action. The function definition data for the chained functions must occupy consecutive records in screen 009. The first function in a chained series must be marked as a selectable function (autoexecute/chain flag = 0). Each subsequent function in the chain must be marked as a chained function (autoexecute/chain flag = 1). The functions are processed in the order defined in screen 009. The Maintenance software does not link menu entries to functions marked as chained functions. The functions so marked are not selectable from the Rear Balance menu, so screen 008 must not contain any entries for those functions. NOTE If a function fails the Expected Next State ID check during a series of chained functions, chaining stops and no more Consumer Request messages are sent without operator selection. Track Data Flag For a rear balance session initiated using stored card data, this flag indicates whether to include one or more tracks of the stored card data in the Consumer Request message. The value in this field is one decimal digit. The following values are valid: • • • • • • • •

0 - No tracks 1 - Track 1 only 2 - Track 2 only 3 - Tracks 1 and 2 4 - Track 3 only 5 - Tracks 1 and 3 6 - Tracks 2 and 3 7 - Tracks 1 and 2 and 3

4-301 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) Function Key Data Flag This flag indicates whether to include the data specified in the Function Key Data field in the Consumer Request message. The value in this field is one decimal digit. The following values are valid: • 0 - No • 1 - Yes Function Key Data If the flag in the preceding field is 1, the data specified in the Function Key Data field is placed in the Consumer Request message. If the flag in the preceding field is 0, the characters in this field are ignored (but still must be present). This field is eight characters in length. PIN Flag This flag indicates whether to include PIN data in the Consumer Request message. The value in this field is one decimal digit. The following values are valid: • 0 - No • 1 - Yes NOTE If the rear balance session was initiated using stored card data, the PIN is sent encrypted, using the method indicated in the FIT entry. If the rear balance session was initiated without stored card data, the operator’s password is sent in place of a PIN, and the password is sent unencrypted. Operator Input Flag If operator input is required, this flag specifies the format to use for entering the data, and where to store the input. The value in this field is one hexadecimal digit. The following values are valid:

4-302 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) Value

Format

Buffer

0

No operator input is required

1

Non-dollar

Dollar Buffer

2

Non-dollar

General Purpose Buffer B

3

Non-dollar

General Purpose Buffer C

4

Reserved. Do not use.

5

Dollar

Dollar Buffer

6

Dollar

General Purpose Buffer B

7

Dollar

General Purpose Buffer C

8

Reserved. Do not use.

9

Dollar, no cents

Dollar Buffer

A

Dollar, no cents

General Purpose Buffer B

B

Dollar, no cents

General Purpose Buffer C

D

Defined by download

Dollar Buffer

Operator input is allowed in the following formats: • Dollar format (similar to that used in a Dollar Entry State) • Non-dollar format (similar to that used in an Information Entry State) • Dollar format with no cents (similiar to that used in a Dollar Entry state with a Cent Check state) In dollar format entry (including dollar, no cents), the Maintenance software uses eight or twelve digits and two or three decimal places, depending on how the terminal is currently configured. In non-dollar format entry, input is restricted to 15 characters. Operator input, regardless of the format, can be stored in the following buffers: • General purpose buffer B • General purpose buffer C • Dollar Buffer If the input is to be stored in the Dollar Buffer, the input is right-justified in the buffer and padded with zeros to the maximum Dollar Buffer size (eight or twelve digits). Input Screen Number If operator input is required, this field contains the number of the screen used to prompt the operator for input. These characters are ignored (but still must be present) if no operator input is required. This field is three characters in length. Expected Next State ID This field contains a three-digit number that the Maintenance software compares with the Next State ID field of the next Function Command message. If the value in the Function Command message matches the value in the Expected Next State ID field, the Maintenance software proceeds with normal processing. If the value in the Function Command message does not match the value in the Expected Next State ID field, the Maintenance software takes the error recovery action specified in the Exit on Next State ID Mismatch field.

4-303 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) The following values are valid in this field: • 000 through 249 - Expected Next State ID • 255 - Do not check the Next State ID Exit on Next State ID Mismatch If the value in the Expected Next State ID field does not match the value in the Next State ID field in the Function Command message, this field specifies which error recovery action to take. This field contains one character. The following values are valid: • 0 - Display reserved screen 902 for 10 seconds • 1 - Exit the rear balance session immediately If the value in the Expected Next State ID field is 255, this field is ignored (but still must be present). Data Separator A capital Y enclosed in single quotes (’Y’) is used as a data separator. The traditional field separator, hex 1C, cannot be used because it is not a valid screen data character. Additional Data Flag This field defines whether additional data should be sent to the network in the Consumer Request message, and which buffer to use for the additional data. If additional data is required for this function, the additional data is specified in the Additional Data field, which follows this flag. This field contains one character. The following values are valid: • • • •

0 - There is no additional data to send B - Place additional data in general purpose buffer B C - Place additional data in general purpose buffer C D - Place additional data in the Dollar Buffer NOTE If the function definition data specifies that both the operator input and the additional data are to be placed in the same buffer, the operator input is placed into the specified buffer, and the additional data is not included in the Consumer Request message.

Additional Data This field contains the additional data to be sent in the Consumer Request message, as indicated in the Additional Data Flag field. If the value in the Additional Data Flag field is 0, this field can be omitted. The length of this field is variable. NOTE If additional data is sent in the Dollar Buffer, the specified data is padded or truncated, as required, to the maximum Dollar Buffer size (eight or twelve digits).

4-304 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) Function Definition Separator A capital Z enclosed in single quotes (’Z’) is used as a function definition separator. The traditional field separator, hex 1C, cannot be used because it is not a valid screen data character.

4.16.3

Network Activity during a Rear Balance Function Once the terminal has built the Consumer Request message from the function definition data in screen 009 and any required operator input, the terminal sends the message to the network. The terminal displays a PLEASE WAIT box while it waits for a Function Command message from the network. If timer 03 (communications message timeout interval) expires, the Maintenance software displays an error box, then returns to Maintenance mode or Continuous Availability, as applicable. When the terminal receives a Function Command message from the network, it attempts to process it. Note that if the same function commands are used for terminal balancing from the front, receipts might be delivered through the front on rear-load terminals. To avoid this, when is installed, the terminal’s balancing options can be set to print data to the journal printer only. When this option is set, all receipt print data received during a rear balance session is printed on the journal printer instead of the receipt printer. If this option is not set, as an alternative, the receipt printer can be placed in the supply position to prevent delivering receipts through the front of the terminal. If the Function Command message results in either a command reject or a solicited device fault status, the terminal reports the fault to the network. The Maintenance software continues to display PLEASE WAIT while the terminal waits for another Function Command message. Again, timer 03 is monitored in case of a communications timeout. If the value in the Expected Next State ID field in the current function definition data is not set to 255, the next state specified in the Function Command message is compared to the Expected Next State ID. If they are not equal, the Maintenance software handles this error as specified in the Exit on Next State ID Mismatch field of the defined data in screen 009. If the value in the Exit on Next State ID Mismatch field is 0, screen 902 is displayed for 10 seconds, then the Rear Balance menu is redisplayed, and the operator is allowed to select another rear balance function. If the value in the Exit on Next State ID Mismatch field is 1, the rear balance session is immediately exited. Immediately exiting might be appropriate in situations such as the failure of a remote PIN check. Displaying screen 902 might be more appropriate in other situations. Screen 902 might display something like FUNCTION FAILURE.

4.16.4

Exiting Rear Balance Mode If the operator chooses to exit a rear balance session or is automatically exited because of a mismatch with the expected Next State ID, if there is any print data on the receipt, the receipt is delivered.

4-305 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) 4.16.5

Example Rear Balance Implementation This section provides an example that functionally duplicates the balancing transaction illustrated in Figure 4-39. In this example, for purposes of remote PIN check, a separate Consumer Request message is sent to the network immediately after the operator enters the PIN. This remote PIN verification function is autoexecuted. NOTE This is an example only. All screen data is entirely configurable by the network. Screens used by the Rear Balance feature do not have any default values and must be designed and created by the institution.

g1959020

Figure 4-39

Example Balancing Transaction

In this example, the network downloads screens 008, 009, 301, and 902 for use during a rear balance session. Screen 008 contains the following Rear Balance menu data. FUNCTION MENU 01=Print Totals 02=ATM Out Of Serv 03=Cash Added 04=Cash Removed 05=Deposits Cleared

Screen 009 contains the function definition data shown in Table 4-100.

4-306 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

Reserved Screen 009 Additional Data

Function Definition Separator

Function Key Data Flag

Function Key Data

PIN Flag

Operator Input Flag

Input Screen Number

Expected Next State ID

Exit on Next State ID Mismatch

Data Separator

Additional Data Flag

A

2

1

DDDDDDDD

1

0

000

110

1

’Y’

0

’Z’

0

2

1

AAA b/b/b/b/b/

0

0

000

110

0

’Y’

0

’Z’

1

2

1

AAB b/b/b/b/b/

0

0

000

110

0

’Y’

0

’Z’

0

2

1

D b/b/b/b/b/b/b/

0

0

000

110

0

’Y’

0

’Z’

0

2

1

ABA b/b/b/b/b/

0

5

301

110

0

’Y’

0

’Z’

301

110

0

’Y’

0

’Z’

000

110

0

’Y’

0

’Z’

0

2

1

ABB b/b/b/b/b/

0

5

0

2

1

BA b/b/b/b/b/b/

0

0

©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

Mon Nov 22 16:28:25 2004

Track Data Flag

PRELIMINARY - DRAFT COPY

Autoexecute/ Chain Flag

Rear Balance Feature (not applicable on the CashSource Plus 400)

4-307

Table 4-100

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) Screen 301 contains the following text to prompt for operator input. ENTER AMOUNT Screen 902 contains the following text to indicate an error in function processing. FUNCTION FAILURE Transaction to Add Cash The following sample transaction flow is for an Add Cash transaction. 1. While the terminal is in service, the operator accesses Continuous Availability and selects Start RBM from the Tools menu. If there is no stored card data for the operator’s group, the operator is not permitted to start a rear balance session. The rest of this example assumes that there is stored card data and a matching FIT entry. 2. The Maintenance software displays the following message: Enter your PIN for rear balancing 3. The operator enters the four-digit PIN associated with the stored card data and clicks on the OK button. 4. Since the first function listed in screen 009 has an A in the Autoexecute field, the terminal immediately sends the specified Consumer Request message to the network. The Consumer Request message contains the following data: • Track 2 stored card data in the Track 2 Data field • DDDDDDDD in the Function Key Buffer field • The PIN digits entered by the operator in the PIN Buffer field 5. If the remote PIN check at the network fails, the Function Command message sent from the network has a value in the Next State ID field that does not match the value in the Expected Next State ID field (110). Since the Exit on Next State ID Mismatch field for the autoexecute function is set to 1, the terminal exits the rear balance session. 6. If the remote PIN check at the network succeeds, the Function Command message sent from the network has a value in the Next State ID field of 110, which matches the Expected Good Next State. The Maintenance software displays the Rear Balance menu, which contains the following menu items: Print Totals ATM Out Of Serv Cash Added Cash Removed Deposits Cleared

4-308 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Rear Balance Feature (not applicable on the CashSource Plus 400) NOTE The rest of this example assumes that the remote PIN check succeeds. 7. The operator selects the Cash Added function. The Maintenance software displays a dialog box using the text from screen 301 to prompt the operator for input: ENTER AMOUNT $ 0.00 8. The operator types in the amount and clicks on the OK button. 9. The terminal sends up a Consumer Request message with the following data: • Track 2 stored card data in the Track 2 Data field • ABA in the Function Key Buffer field • The transaction amount in the Dollar and Cents Keyboard Entry field, right-justified and padded with zeros to the maximum Dollar Buffer size. 10. The network sends a Function Command message to the terminal to perform the requested function. 11. The terminal performs the function. 12. The terminal checks that the next state specified in the function command is 110. If it is not, a dialog box using the text from screen 902 (FUNCTION FAILURE) is displayed for 10 seconds. 13. The Maintenance software displays the Rear Balance menu again. 14. The operator ends the balance transactions by clicking on the Cancel button on the Rear Balance menu. 15. If any data has been printed on the receipt printer, a receipt is delivered.

4-309 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature

4.17 Voice Feature The Voice feature provides the ability to coordinate voice messages with the text messages displayed on the consumer display. This feature is intended primarily for voice prompting and voice assist applications. The Voice feature is based on the use of .WAV files. These .WAV files are played at appropriate points during a transaction. In addition, some terminals have Text To Speech (TTS) capability (Section 4.17.3). TTS allows terminals to convert plain text to audible speech. To use the Voice feature, voice commands are embedded in screen data (Section 4.6). Voice commands must immediately follow the screen number and language bank number (if present) in the Write Command 2 message, and must precede the touch template data (if present) and the displayable screen data. The Voice state (Section 4.4.19) provides a means to enable or disable prompting and/or keypad feedback on a per-state basis. An optional auto prompt upon card insertion allows consumer activation or deactivation of voice messages on a per-transaction basis without state changes (requires reserved screen 905, Section 4.10). This option can be configured through the Voice configuration setting. All .WAV files and control files must be saved in the same subdirectory. The default directory is C:\DIEBOLD\TCS\VOICE\LANG000. If the multilingual feature (Section 4.15) is used, then additional directories need to be created following the format LANGxxx, where xxx is the three-digit language bank number. The .WAV files and control files associated with each language bank must be stored in the corresponding directory. All default .WAV files included with Agilis 91x for ix/CSP should be copied to the appropriate language bank directory. If there are two sound channels available on the machine (two distinct sound chips/cards), the Voice feature takes whichever channel is designated the default, and MPEG takes the other, secondary channel. Volume for each channel is independently adjustable through maintenance operations. The system volume setting (settable via desktop) defines the upper limit of the Voice/MPEG volume range. If there is only one sound channel, then the Voice feature and MPEG share that channel if both are installed. Both volumes are still independently settable through maintenance operations. Additionally, MPEG has a screen command for setting volume (the Voice feature does not). Because the Voice feature always shares its channel (with the system, with MPEG, or both), its volume setting through maintenance operations is "virtual" in that it is selectively applied only when a .WAV file is played. System settings are always restored when the playing of the .WAV file completes. This way, when the Voice feature and MPEG share a channel, the Voice feature volume settings do not interfere with MPEG volume and vice versa.

4-310 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature 4.17.1

Voice Prompting Voice prompting messages are played when a screen is displayed. Voice prompting messages typically guide the consumer to perform a function, or the messages describe the layout of the screen and prompt the consumer to make a selection. Voice prompting commands can be embedded in either base screens (the screen number referenced in the state or function) or in overlay screens. The voice prompting command can include a reference to a .WAV file name, a control file, or an interpretive command (ESC ZK control sequence). Agilis 91x for ix/CSP supports multiple voice prompting commands within any given screen. However, all the voice prompting commands must be placed back-to-back. The maximum number of voice messages that can be in the queue at any one time is 50.

4.17.1.1

Voice Prompting Using .WAV Files Voice prompting commands can reference individual .WAV files directly. The following is an example of a voice prompting command using a .WAV file: ESC ; 0 "TCS_TEST.WAV" 000 000 This command directs the terminal to play the file TCS_TEST.WAV, with no delay before playing TCS_TEST.WAV. There can be multiple voice prompting commands referring to .WAV files within any given screen. However, all voice prompting commands must be placed back-to-back. The maximum number of .WAV files that can be in the queue at any one time is 50.

4.17.1.2

Voice Prompting Using Control Files Voice prompting commands can reference control files. Control files are used to specify a list of one or more .WAV files (up to 50 .WAV files). Fields within the control file provide functionality to repeat the entire list, repeat an individual .WAV file , or specify delays. Control files are useful for orientation/tutorial messages in a Welcome screen sequence. The control file can be set up to repeat indefinitely as well as independently of the rotating Welcome screens. The voice control file is named CTRLxxx.DAT, where xxx is the control file number specified in the voice prompting command. Each entry in the control file is structured as follows: • Column 1 specifies the destination for the voice message. The only valid value is 0. • Columns 3 through 5 specify the repeat factor (how many times an individual .WAV file is repeated). The valid range of this field is 001 through 999.

4-311 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature • Columns 7 through 9 specify the delay time ttt (in ticks). The valid range of this field is 000 through 999 (end play). The delay occurs after the .WAV file has been played, and specifies how long to delay before playing the next message or replaying the entire list. If repetition is specified, the delay occurs between every play. The range for the delay time parameter is divided into the following subranges: - 000 through 255 - The delay time equals ttt times 0.8 seconds. For example, if ttt equals 002, the delay is 002 times 0.8, or 1.6 seconds. - 256 through 998 - The delay time equals ttt - 255 times 0.1 seconds. For example, if ttt equals 256, the delay is (256-255) times 0.1, or 0.1 seconds. - 999 - End the play loop after playing the current file. To prevent the entire list from repeating automatically, specify a delay time of 999 in the last entry in the list. • Columns 11 through 22 specify the file name of the voice message. Table 4-101 shows some examples of control files.

Table 4-101

Example Control Files

Content of the Control File

Description

0 001 002 WELCOME.WAV

The message WELCOME.WAV plays immediately and repeats indefinitely, with a 2-tick delay between plays.

0 001 999 TCS_TEST.WAV

The message TCS_TEST.WAV plays once and stops, because the entry specifies 999 for the delay time.

0 0 0 0

001 001 001 001

003 003 003 999

3.WAV 2.WAV 1.WAV BLASTOFF.WAV

These four messages play sequentially with a 3-tick delay between each message. The sequence does not repeat, because the last entry specifies 999 for the delay time.

0 0 0 0 0

003 001 001 004 001

001 002 003 001 001

ROW.WAV YOURBOAT.WAV DOWNSTRM.WAV MERRILY.WAV LIFEIS.WAV

The sequence of play for this file is ROW (3 times), YOURBOAT, DOWNSTRM, MERRILY (4 times), and LIFEIS. There is a 1-tick delay after each play of ROW.WAV, a 2-tick delay after YOURBOAT.WAV, and so on. The entire sequence repeats indefinitely.

A control file cannot contain a reference to another control file. Only one control file can be active at any time.

4-312 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature 4.17.1.3

Interpretive Commands Voice prompting commands can contain ESC ZK control sequences within the message field to interpret a buffer according to a format template. This provides the capability of speaking entered transaction amounts or account balances. Interpretive commands concatenate specific .WAV files (1.wav, 2.wav, and so on) together in order to speak transaction amounts and account balances. Recommendations for non-U.S. Currency Despite the currency dispensed, the translated buffer should always be in the form dollar sign, dollar digits, decimal point, cents digits (for example, $ 20.00). A recommended format template for an eight-digit transaction amount is C$ ZZZZZ9.99. The dollar sign is used as an indicator to the parser that a currency amount follows. It does not reflect the actual currency type. The ESC ZK control sequence does not display the formatted buffer. If desired, the ESC V screen control sequence can be used to display the buffer according to a different format template that contains the currency symbol appropriate to the actual currency used. Although some currencies are displayed with a comma as the decimal delimiter, a decimal point should be used in the format template. All characters except numerics, a dollar sign and a decimal point are ignored by the parser. The .WAV files created for concatenated transaction amounts should be recorded in the correct language, although the standard file name must be used. For example, the file DOLLARS.WAV can contain the recorded text "pounds". The parser which concatenates the pre-recorded .WAV files together uses an English syntax. For example to say the dollar amount $123456.78, the following .WAV files are played: • • • • • • • • • • • • • •

1.wav hundred.wav 20.wav 3.wav thousand.wav 4.wav hundred.wav 50.wav 6.wav dollars.wav and.wav 70.wav 8.wav cents.wav

Standard .WAV Files The following .WAV files must be recorded to support the capability of speaking transaction amounts and account balances: • • • • •

0.WAV, "zero" 1.WAV, "one" 2.WAV, "two" 3.WAV, "three" 4.WAV, "four"

4-313 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

5.WAV, "five" 6.WAV, "six" 7.WAV, "seven" 8.WAV, "eight" 9.WAV, "nine" 10.WAV, "ten" 11.WAV, "eleven" 12.WAV, "twelve" 13.WAV, "thirteen" 14.WAV, "fourteen" 15.WAV, "fifteen" 16.WAV, "sixteen" 17.WAV, "seventeen" 18.WAV, "eighteen" 19.WAV, "nineteen" 20.WAV, "twenty" 30.WAV, "thirty" 40.WAV, "forty" 50.WAV, "fifty" 60.WAV, "sixty" 70.WAV, "seventy" 80.WAV, "eighty" 90.WAV, "ninety" AND.WAV, "and" CENT.WAV, "cent" CENTS.WAV, "cents" DOLLAR.WAV, "dollar" DOLLARS.WAV, "dollars" BILLION.WAV, "billion" HUNDRED.WAV, "hundred" MILLION.WAV, "million" THOUSAND.WAV, "thousand" DECIMAL.WAV, "decimal point"

These files are concatenated together to speak transaction amounts and balances. The script associated with each of these .WAV files is shown in quotes. When creating these files, care must be taken to remove all dead space so that the overall speech is smooth. This can be done using a multimedia editor. If all the dead space is not removed, the speech might sound choppy.

4.17.2

Voice Keypad Feedback Commands Voice keypad feedback messages are played in response to a keypress. These messages indicate which function key or numeric key has been selected. Voice keypad feedback commands must be embedded in the base screen (the screen number referenced in the state or function); they cannot be embedded in overlay screens. A given screen can contain multiple voice keypad feedback commands. Typically, a voice keypad feedback command is included for each enabled function key. The text recorded could be the same as shown on the button (for example,"WITHDRAWAL"). If the numeric keypad is enabled, a single voice keypad feedback command (key code = 0023) can be used to set the .WAV files for all the numeric keys to their default values.

4-314 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature Table 4-102 shows some examples of voice keypad feedback commands.

Table 4-102 Example Voice Keypad Feedback Commands Control Sequence

Description

ESC ZH 0 0031 000 "1.WAV"

Play the file 1.WAV when the 1 key is pressed.

ESC ZH ESC 0041 000 "WITHDRAW.WAV"

Play the file WITHDRAW.WAV when function key A is pressed.

ESC ZH 0 0023 000 ""

Play the default key assignment (as defined in FEEDBACK.DAT) when a numeric key is pressed.

Interaction between Prompting and Keypad Feedback Because keypad feedback messages are spoken in response to a keypress, the keypad feedback messages immediately terminate all voice prompting messages. Keypad feedback messages also terminate previous keypad feedback messages, in order to keep up with the consumer’s keypresses. A consumer can cut short any guidance messages by making a selection. Voice prompting messages cannot cut short or terminate a keypad feedback message, regardless of the termination flag associated with the message. Feedback from a keypress takes precedence over any subsequent voice prompting message, allowing the consumer to confirm their selection before continuing.

4-315 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature 4.17.3

Text To Speech Text To Speech (TTS) is an extension of the Voice feature that allows terminals to convert plain text to audible speech. TTS allows developers and customers to create and output voice messages without requiring the creation of custom .WAV files. TTS requires a text-to-speech synthesizer (called the TTS engine), a software application that converts plain text to audible speech. Text can be converted to one of several voices, which differ in pitch and speed, and are generally categorized as male or female voices. Like the basic voice commands, TTS voice commands must immediately follow the screen number and language bank number (if present) in the Write Command 2 message, and must precede the touch template data (if present) and the displayable screen data (Section 4.6). Text intended for conversion to speech can be in the form of text strings embedded in screen data, stored in text files (.TXT files), and stored in Agilis 91x for ix/CSP buffers. The .TXT files must be stored in the appropriate C:\DIEBOLD\TCS\VOICE\LANGxxx directory, where xxx is the three-digit language identifier. TTS can be used in conjunction with .WAV files. TTS voice commands can play or speak .WAV files, text files, text strings, or a combination of these. If .WAV files are specified in any of the voice commands, the TTS engine also plays the .WAV files so that the TTS engine can properly control the audio output, such as terminating a .WAV file output in order to speak a text string. Agilis 91x for ix/CSP also supports the Text To Speech state (Section 4.5.1). The Text To Speech state directs the terminal to obtain text from a specified buffer and convert the text to audible speech. Typically, this state is used to speak account balances. At present, the Text To Speech capability supports U.S. English speech only. Various commands can be embedded in text to modify the manner in which the text is spoken. These commands allow developers to enhance the spoken output by indicating a specific pronunciation of the text, altering the speed or pitch of the speech, pausing within the speech, or including the contents of a buffer within the text to be spoken. Many of these commands are extensible markup language (XML) tags defined by the Speech Application Programming Interface (SAPI) 5.1 standards (Table 4-103). These SAPI XML tags are processed by the TTS engine itself. In addition, there are several commands defined by Diebold and processed by Agilis 91x for ix/CSP (Table 4-104).

4-316 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature Table 4-103 Text To Speech XML Tags (SAPI 5.1) Tag

Description

Context

Provides information for normalizing special items such as dates, numbers, and cash amounts. An example follows: 03/04/01 The value of the Id attribute (date_mdy) indicates that the date between the tags is to be interpreted as the month, followed by the day, followed by the year. Other SAPI-defined values for the Id attribute are date_dmy and date_ymd.

Emph

Emphasizes a word or section of text. An example follows: text The Emph tag causes the word text to be spoken emphatically.

Lang

Defined by SAPI, but not currently used by Agilis 91x for ix/CSP.

PartOfSp

Provides the speech processor with the part of speech of a word or phrase. An example follows: record The value of the Part attribute (verb) indicates that the word record is a verb. SAPI-defined values for the Part attribute include the following values: • Noun • Verb • Modifier • Function • Interjection • Unknown

Pitch

Controls the pitch of the voice speaking the text. An example follows: text The value of the Absmiddle attribute (5) causes the word text to be spoken at pitch 5. The valid range for the Absmiddle attribute is -10 to 10. The Middle attribute can be used in place of the Absmiddle attribute. The Middle attribute changes the pitch relative to the current pitch. The valid range for the Middle attribute is -10 to 10, with a value of 0 resulting in no change from the current pitch.

Pron

Specifies the pronunciation of a word or section of text. An example follows: hello The value of the Sym attribute is a string of phoneme symbols that specify the pronunciation of the word hello.

Rate

Controls the rate at which a word or section of text is spoken. An example follows: text The value of the Absspeed attribute (5) causes the word text to be spoken at rate 5. The valid range for the Absspeed attribute is -10 to 10. The Speed attribute can be used in place of the Absspeed attribute. The Speed attribute changes the rate relative to the current rate. The valid range for the Speed attribute is -10 to 10, with a value of 0 resulting in no change from the current rate.

4-317 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature Table 4-103 Text To Speech XML Tags (SAPI 5.1) (continued) Tag

Description

Silence

Inserts a specified number of milliseconds of silence. An example follows:

The value of the Msec attribute (500) directs the speech processor to insert 500 milliseconds of silence into the text being spoken.

Spell

Directs the speech processor to speak the individual letters, numbers, and punctuation marks comprising a word or section of text. An example follows: text The Spell tag causes the speech processor to voice the individual letters t, e, x, and t comprising the word text.

Voice

Selects a voice based on age, gender, name, or other attributes. An example follows: text The value of the Required attribute (name=Microsoft Mary) causes the speech processor to speak the word text using the Microsoft Mary voice. The following attributes can be used to select a voice: • Age • Gender • Language • Name • Vendor • Vendorpreferred The Optional attribute can be used in place of the Required attribute if the change is not required. The Optional attribute has the same range of voice attributes.

Volume

Controls the volume of a voice as a percentage of the default volume setting. An example follows: text The value of the Level attribute (50) causes the speech processor to speak the word text at 50 percent of the default volume setting. (The default volume setting is the volume set through maintenance operations, not the maximum volume of which the terminal is capable.) The valid range for the Level attribute is 0 to 100.

4-318 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature Table 4-104

Diebold Text To Speech Tags

Tag

Description

ControlList

Defines a list of one or more voice messages that can be repeated a fixed number of times or indefinitely. An example follows:

(message list)

The start and end tags must both be present in order to mark the start and the end of the message list. The Repeat value specifies the number of repetitions for the entire message list. This number can range from 000 to 999. The value 999 causes Agilis 91x for ix/CSP to repeat the list indefinitely. For further information, refer to the paragraphs labeled Control Lists.

Interrupt

Indicates whether to interrupt any message currently playing in order to play the message that follows the command tag. An example follows:

The valid values are Y (Yes) and N (No). The value Y causes Agilis 91x for ix/CSP to terminate the playing of any messages currently in progress and begin playing the message that follows the Interrupt command tag. The value N causes Agilis 91x for ix/CSP to append the message that follows to the end of the queue without interrupting any messages already in the queue.

Repeat

The Repeat tag is an optional element of an entry in a control list. This tag causes Agilis 91x for ix/CSP to repeat the corresponding message a fixed number of times or indefinitely. An example follows:

The Repeat value specifies the number of repetitions for the corresponding message. This number can range from 000 to 999. The value 999 causes Agilis 91x for ix/CSP to repeat the list indefinitely. If the Repeat tag is not included in an entry, the message is played once for each repetion of the control list. For further information, refer to the paragraphs labeled Control Lists.

Speakfile

Specifies a .WAV file to be played or a .TXT file to be spoken. An example follows:

The Speakfile tag causes Agilis 91x for ix/CSP to play the file WAVEFILE.WAV.

TCSBuffer

Inserts the contents of an Agilis 91x for ix/CSP buffer into the message. An example follows:

The TCSBuffer tag causes Agilis 91x for ix/CSP to insert the text contained in buffer A into the message. The valid range of values for buffer IDs is @, and A through Z. SAPI XML tags and Diebold Text To Speech tags can be embedded in the text contained in the buffer. Optionally, the TCSBuffer tag can specify a format template to use in formatting the contents of the buffer, as in the following example:

The contents of buffer A is formatted using format template 009. For information about using format templates to format buffer contents, refer to Section 4.17.1.3.

TransLang

Modifies the speaker for the duration of the transaction. The system default is reset at the end of the transaction.

4-319 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature The SAPI XML tags can be embedded in text strings in screen data and control files, in .TXT files, and in Agilis 91x for ix/CSP buffers. The Diebold Text To Speech tags can be embedded in all of the preceding except .TXT files. .TXT files cannot contain any Diebold Text To Speech tags. Agilis 91x for ix/CSP processes and removes the Diebold Text To Speech tags before queueing a voice message for the TTS engine. Therefore, the resulting data placed in the queue contains some combination of text, file names (for .WAV files, .TXT files, or both), and SAPI XML tags. This data is limited to 300 bytes. Voice Prompting Using Individual Messages Table 4-105) shows some examples of voice prompting commands referencing individual voice messages that are valid for terminals that have Text To Speech capability.

Table 4-105

TTS Examples - Voice Prompting Using Individual Messages

Voice Command

Description

ESC ; 0 "TEST.WAV" 000 000

Play the file TEST.WAV.

ESC ; 0 "TEST.TXT" 000 000

Speak the text contained in the file TEST.TXT.

ESC ; 0 "This a test." 000 000

Speak the text This a test.

ESC ; 0 "" 000 000

Speak the text contained in buffer A.

ESC ; 0 "Buffer A contains " 000 000

Append the contents of buffer A to the text Buffer A contains, then speak the combined text.

ESC ; 0 "ESC ZK A 09" 000 000

Interpret the contents of buffer A using format template 9, concatenate the applicable .WAV files, then play the result.

ESC ; 0 "" 000 000

Interpret the contents of buffer A using format template 9, then use TTS to speak the result.

Voice Prompting Using Control Files As was previously stated, a control file cannot contain a reference to another control file. In addition, a control file cannot contain a control list. Table 4-106) shows some examples of voice prompting commands using control files that are valid for terminals that have Text To Speech capability.

4-320 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Voice Feature Table 4-106

TTS Examples - Voice Prompting Using Control Files

Content of the Control File

Description

0 001 002 WELCOME.WAV

Play the file WELCOME.WAV immediately and repeat indefinitely, with a 2-tick delay between repetitions.

0 001 002 WELCOME.TXT

Speak the text contained in the file WELCOME.TXT immediately and repeat indefinitely, with a 2-tick delay between repetitions.

0 001 002 Welcome to our bank.

Speak the text Welcome to our bank immediately and repeat indefinitely, with a 2-tick delay between repetitions.

0 001 002

Play the file WELCOME.WAV immediately and repeat indefinitely, with a 2-tick delay between repetitions.

0 001 999

Speak the text contained in buffer A once, then stop.

0 001 999 Buffer A contains

Append the contents of buffer A to the text Buffer A contains, speak the combined text once, then stop.

Voice Prompting Using Control Lists Control lists are similar to control files. However, unlike control files, control lists are defined entirely within screen data, using the ESC ; control sequence. The following example shows how a control list would appear in screen data. ESC ESC ESC ESC ESC ESC

; ; ; ; ; ;

0 0 0 0 0 0

"" 000 000 "Row " 000 000 "your boat, gently down the stream." 000 000 "Merrily, " 000 000 "Life is but a dream." 000 000 "" 005 000

The first line of the control list specifies that the message list is to be repeated indefinitely (repeat = 999). The last line inserts a 5-tick delay (ddd = 005) after each repetition of the message list. Control lists cannot contain other control lists. Control lists cannot contain references to control files. Only one control list can be active at any time. When a control list is processed, Agilis 91x for ix/CSP purges the message queue, terminating any messages currently being played. Voice Keypad Feedback Table 4-107) shows some examples of voice keypad feedback commands that are valid for terminals that have Text To Speech capability.

4-321 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Miscellaneous Screen Data Table 4-107

TTS Examples - Voice Keypad Feedback

Control Sequence

Description

ESC ZH 0 0031 000 "1.WAV"

Play the file 1.WAV when the 1 key is pressed.

ESC ZH 0 0031 000 "1.TXT"

Speak the text contained in the file 1.TXT when the 1 key is pressed.

ESC ZH 0 0031 000 "1"

Speak the word 1 when the 1 key is pressed.

ESC ZH ESC 0041 000 "Withdrawal"

Speak the word Withdrawal when function key A is pressed.

ESC ZH 0 0023 000 ""

Play the default key assignment (as defined in FEEDBACK.DAT) when a numeric key is pressed.

ESC ZH 0 0021 000 ""

Play the default key assignment (as defined in FEEDBACK.TTS) when a numeric key is pressed.

4.18 Miscellaneous Screen Data Agilis 91x for ix/CSP screen data can contain HTML code and also URL references. Each is described in the following sections.

4.18.1

Inline HTML Code Screen data can consist of inline HTML code defining a screen. The screen data in this case must begin with the tag. Standard control sequences cannot be used within these screens. The following screen data displays the Diebold logo in a full screen browser window. 021 (screen number)

INLINE EXAMPLE SCREEN





4.18.2

URL Specification Screen data can consist of a URL specification which is then displayed in a full screen browser window. The screen data must begin with , where location is a web page or document. Standard control sequences cannot be used within these screens. The following screen data opens a full screen browser window and navigates to the Diebold website. 021 (screen number)

4-322 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Miscellaneous Screen Data

4.18.3

Enhancing Legacy Screens You can enhance existing screens with browser support. This is done by overlaying a browser window on an existing screen. This enables you to provide browser support without changing your existing screens. To do this, you need to create the file HTMOVRLY.TXT in the Diebold/TCS/ADP00 directory. The contents of this file tells Agilis 91x for ix/CSP what screens get overlays and what those overlays are. Each line of this file must conform to the following format: nnn,url,ssss,p,ttt,bbb where nnn is the legacy screen to overlay url is the web page or local document to be displayed by the browser. The next parameters, ssss and p, are the size and position of the browser window, respectively. The size ssss is measured in global coordinates, ranging from 0 through 9999 (refer to Section 4.7.31 for a detailed description of global coordinates). The position p can have the following values: • T – Positions the browser window along the top edge of the screen, with a height ssss. • B – Positions the browser window along the bottom edge of the screen, with a height ssss. • L – Positions the browser window along the left edge of the screen, with a width ssss. • R – Positions the browser window along the right edge of the screen, with a width ssss. • F – Displays a fullscreen browser window, where the size ssss is assumed to be the entire screen and the specified value is ignored. The field ttt is the number of seconds to wait for a URL to successfully load, ranging from 000 through 999. A value of 000 in this field causes the current default value to be used. This default is defined by the Consumer Display configuration parameters. A backup screen number bbb must be provided for fullscreen browser windows (p = “F”) in the event that the browser is unable to load the specified URL. This backup screen is processed exactly like an inserted screen normally would be, such as an ESC I or SO sequence. This field is currently ignored when p is set to T, B, L, or R. In these cases, the browser simply does not appear if the URL fails to load, leaving a fullscreen legacy display. This file is read at startup or anytime that LOADCRT.EXE is executed. By running LOADCRT.EXE, you can make changes to the HTMOVRLY.TXT file without shutting down the ATM.

4-323 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 13 Message (custom icons for EMG) An example file would appear as follows: 025,www.topbanner.com,3333,T,000,000 032,www.LeftEdgeBanner.com,2500,L,000,000

This example file tells the terminal to overlay screen 025 with a web banner on the top third of the screen and overlay screen 032 with a web banner on the left quarter of the screen.

4.19 Write Command 13 Message (custom icons for EMG) This message is used to send the icon definitions for custom icons to the terminal. Table 4-108 illustrates the command message format. The following paragraphs describe the fields. For more details on custom icons, refer to the Enhanced Monochrome Graphics (EMG) Programming Manual (TP-799300-000A).

Table 4-108 Description

Write Command 13 Message Data

Number of Characters

Variable

Variable

3

1

[ X ]

[ 1 ]

hex 1C

1

[ X ]

[ 3 ]

hex 1C

1

[ X ]

[ Variable (8 max) ]

hex 1C

1

Write Identifier (Configuration)

1

1

Modifier (Custom Icons)

;

1

hex 1C

1

- - -

Variable

[ hex 1C ]

[ 1 ]

Variable

Variable

Protocol Dependent Header Write Command Identifier [ Response Flag ] Field Separator (FS) [ Logical Unit Number (LUNO) ] Field Separator (FS) [ Message Sequence Number ] Field Separator (FS)

Field Separator (FS) Icon Definition [ Field Separator (FS) ] Protocol Dependent Trailer

The following paragraphs describe the fields specific to the Write Command 13 message. Icon Definition Field Length: Variable Valid Range: Refer to the description. Description: This field contains one icon definition. The data is formatted the same as one record in the DDU’s ICON.DEF file, not including the ETX character used as a file record separator. If an ICON.DEF record is too long to fit in one message, the record cannot be sent to the terminal. You must omit that icon definition from the terminal’s configuration.

4-324 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Write Command 14 Message (custom character sets for EMG) For more details on the Write Command 13 message, refer to the Enhanced Monochrome Graphics (EMG) Programming Manual (TP-799300-000A).

4.20 Write Command 14 Message (custom character sets for EMG) This message is used to send the character set definitions for custom character sets to the terminal. Because of message length limits, transmission of character set definitions typically requires several messages. Each message contains a portion of the character set definitions. Table 4-109 illustrates the command message format. The following paragraphs describe the fields.

Table 4-109 Description

Write Command 14 Message Data

Number of Characters

Variable

Variable

3

1

[ X ]

[ 1 ]

hex 1C

1

[ X ]

[ 3 ]

hex 1C

1

[ X ]

[ Variable (8 max) ]

hex 1C

1

Write Identifier (Configuration)

1

1

Modifier (Custom Character Sets)


and ? (ASCII 31 through 3F). If the extended range for message coordination number field bit is selected in the Miscellaneous Feature 3 field of a Write Command 3 message (Section 4.23), then the valid range is ASCII 31 through 7E. The network must include the corresponding coordination number when responding with a Function Command message. If the coordination numbers do not match, the terminal sends a Solicited Status message with a Command Reject status. Track 2 Data Field Size: Variable Valid Range: Description: This variable-length data field contains up to 40 characters of data from track 2 of the magnetic stripe on the consumer’s account card. This field includes the data from the start sentinel to the end sentinel, inclusive. Track 3 Data Field Size: Variable Valid Range: Description: This is a variable-length field that contains up to 106 characters of data from track 3 of the magnetic stripe. This field includes the data from the start sentinel to the end sentinel, inclusive. Function Key Buffer Field Size: 0 or 8 characters Valid Range: Description: The Function Key Buffer field can be either zero or eight characters long. The following items determine the contents of this field: • The function key(s) pressed by the consumer • The Clear Keys state • The Select Function state The terminal stores the following information for each function key pressed:

Function Key Pressed

Graphic Stored

A

A

B

B

C

C

D

D

The Clear Keys state can clear and preset any of positions in the Function Key Buffer. The Select Function state determines where the graphic is stored in the function key buffer. Dollar and Cents Keyboard Entry Field Size: 0 or 8, 0 or 12 Valid Range:

5-7 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Consumer Request Message Description: If the Dollar Buffer Size feature is not selected, the Dollar and Cents Keyboard Entry field can be either zero or eight characters long. If the Dollar Buffer Size feature is selected, this field can be either zero or twelve characters long. This field identities the transaction amounts entered at the keypad. The content of this field is determined by the Dollar Entry state or the Set Dollar Buffer state. The data is right justified with zeros to fill unused positions on the left. PIN Buffer Field Size: 0 or 16 characters Valid Range: Description: The PIN Buffer field contains the 16-character encrypted PIN, provided that the consumer entered a PIN, and the Transaction Request state data specifies sending the PIN to the network. If the Transaction Request state data specifies sending the PIN to the network, but no PIN has been entered, the PIN buffer field contains either 16 zeros or is empty (zero length field), depending on how the system is configured. If the Transaction Request state data specifies not sending the PIN to the network, the PIN buffer field is empty. General Purpose Buffer B Field Size: Up to 32 characters Valid Range: Description: The contents of the variable-length General Purpose Buffer B field depend on whether the consumer message is being sent in response to an open account relationship (OAR) screen. If it is not being sent in response to an OAR screen, this field only contains up to 32 digits entered by the consumer. If it is being sent in response to an OAR screen, this field contains up to 32 digits entered by the consumer. If less than 32 digits were entered, this field also contains the character representing the function key pressed or a timeout (A, B, C, D, E (cancel) or T (timeout)). General Purpose Buffer C Field Size: Up to 32 characters Valid Range: Description: If selected to do so by the Information Entry state, the variablelength General Purpose Buffer C field contains up to 32 digits entered by the consumer. Track 1 Data Buffer Identifier (1) Field Size: 1 character Valid Range: 1 Description: This one-character field identifies the data that follows in the next field as track 1 data. Track 1 Data Field Size: Variable (79 maximum) Valid Range: Refer to the description Description: This variable length field contains up to 79 characters of data from the track 1 magnetic stripe. This field includes the data from the start sentinel to the end sentinel, inclusive.

5-8 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Consumer Request Message MICR Data Buffer Identifier (2) Field Size: 1 character Valid Range: 2 Description: This one-character field identifies the data that follows in the next field as MICR data. MICR Data Field Size: Variable (70 maximum) Valid Range: The following characters are valid MICR data characters: • • • • • • •

0 through 9 - Numbers T - Transit symbol $ - Amount symbol * - On-us symbol -- - Dash symbol - Blank _ - Unidentified symbol

Description: The data contained in this buffer is the MICR data read from a deposited check. Transaction Verification Status Buffer ID Field Size: 1 character Valid Range: 6 Description: This one-character field identifies the data that follows in the next group of fields as Buffer 6 data (transaction verification status data). Transaction Serial Number from Last Function Command Field Size: 4 character Valid Range: 0000 through 9999 Description: This four-character field contains the transaction serial number from the last function command sent to the terminal. Response to last Function Command Field Size: 1 character Valid Range: Refer to the description Description: This one-character field indicates the ATM’s response to the last function command. If there was a power failure and the status or the Ready response (9 or B) did not get sent, this field indicates what the terminal did or tried to do. The valid values for this field are as follows: • 0 - No response. This response appears in the first Consumer Request message after a power failure occurred before a function response was generated. • 1 - Ready 9 or B • 2 - Fault status reply • 3 - Last function command rejected Retract Operation Field Size: 1 character Valid Range: Refer to the description

5-9 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Consumer Request Message Description: This one-character field indicates whether or not a retract operation occurred during the last transaction. The valid values are as follows: • 0 - No retract operation occurred • 1 - Retract operation initiated during the last transaction Device ID Field Size: 4 characters Valid Range: DI01 Description: This is a four-character field that indicates the following status information is for the bill dispenser. Bill Denomination ID, Position x Field Size: 1 character Valid Range: A through H Description: This byte indicates the denomination ID of the cassette in dispense position x (x = from 1 up to 4) at the time of the last bill dispense. NOTE The Bill Denomination ID field is repeated for each dispense position supported by the terminal. These fields can be initialized to all @s (no cassette) before any bill dispense. Bills Delivered Count, Position x Field Size: 5 characters Valid Range: 00000 through 65535 Description: This field indicates the number of bills dispensed and delivered from position x (x = from 1 up to 4) since the last function command. This count reflects those bills presented so that they were accessible to the consumer. NOTE The Bills Delivered Count field is repeated for each dispense position supported by the terminal. Device ID Field Size: 4 characters Valid Range: CN01 Description: This is a four-character field that indicates the following status information is for the coin dispenser. Coin Denomination ID, Position x Field Size: 1 character Valid Range: A through H Description: This byte indicates the denomination code of the coins in position x (x = from 1 up to 4) at the time of the last coin dispense. NOTE The Coin Denomination ID field is repeated for each dispense position supported by the terminal. The field can be initialized to all @s (no bin) before any coin dispense. Coins Delivered Count, Position x Field Size: 5 characters

5-10 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Consumer Request Message Valid Range: 00000 through 65535 Description: This field indicates the number of coins dispensed from position x (x = from 1 up to 4) since the last function command. Coins cannot be retracted once they are dispensed. NOTE The Coins Delivered Count field is repeated for each dispense position supported by the terminal. Device ID Field Size: 4 characters Valid Range: XXyy Description: This is a four-character field that indicates the following status information is for any other device in the system. XX is the 2-letter device name and yy is the two-letter device number. This field is reserved for future use. NOTE The Device ID field and related status fields can be repeated for any devices in the terminal. Buffers to Follow ID Field Size: 1 character Valid Range: 9 Description: The Buffers to Follow entry is a field ID that indicates the next message entries contain Buffer ID and Buffer Data entries. Buffer ID Field Size: 3 characters Valid Range: 065 through 090, and 256 through 299 Description: The Buffer ID entry is a Group ID that identifies a buffer. Buffer Data Field Size: Maximum of 256 characters Valid Range: 000 through 255 Description: The Buffer Data entry contains the data stored in the buffer identified in the Buffer ID entry preceding this entry. NOTE If the message contains multiple Buffer ID and Buffer Data entries, there is a group separator (1D hex) between each entry. Rollover Count Field Size: 3 characters Valid Range: 000 through 255 Description: Each of these three-character entries contains the three least significant digits of a five-digit dispense counter that keeps track of the number of bills known to be successfully delivered to the consumer. Each entry represents a dispense position, starting with dispense position 1 (top). These fields are included only if Append Rollover Counters is selected in the Miscellaneous Features 1 field of a Write Command 3 message (Section 4.23). MAC Data Field Size: 8 characters

5-11 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Consumer Request Message Valid Range: Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the Consumer Request message. Refer to the Data Security Procedures and Reference Manual (TP-799530-001D) for additional details. Protocol Dependent Trailer Field Size: Variable Valid Range: Variable Description: The variable-length Protocol Dependent Trailer field indicates the end of the message.

Table 5-2 Consumer Request Message (format 1) Description

Data

Number of Characters

Variable

Variable

Solicited/Unsolicited ID

1

1

Message Identifier

A

1

hex 1C

1

- - -

3 or 9

Field Separator (FS)

hex 1C

1

Field Separator (FS)

hex 1C

1

[ Time Variant Number ]

[ - - - ]

[ 8 ]

Field Separator (FS)

hex 1C

1

Top-Of-Form Flag

- - -

1

Message Coordination Number

- - -

1

hex 1C

1

’9’

3

064 - 090, 256 - 299

3

- - -

Variable (256 max)

[ hex 1C ]

[ 1 ]

[ Rollover 1 Count ]

[ - - - ]

[ 3 ]

[ Rollover 2 Count ]

[ - - - ]

[ 3 ]

[ Rollover 3 Count ]

[ - - - ]

[ 3 ]

[ Rollover 4 Count ]

[ - - - ]

[ 3 ]

[ hex 1C ]

[ 1 ]

[ MAC Data ]

[ - - - ]

[ 8 ]

Protocol Dependent Trailer

Variable

Variable

Protocol Dependent Header

Field Separator (FS) Logical Unit Number (LUNO)

Field Separator (FS) Field ID (Buffers) Buffer ID

[1]

Buffer Data

[1]

[ Field Separator ]

[ Field Separator (FS) ]

[1]

If multiple Buffer ID and Buffer Data entries occur in the message, they are separated by group separators (1D hex).

The following paragraphs describe the modified or added fields in the Consumer Request message:

5-12 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Consumer Request Message Message Identifier Field Size: 1 character Valid Range: A Description: This field defines the type of message being transmitted. The only valid value for a format 1 Consumer Request message is A. Field ID (Buffers) Field Size: 3 characters Valid Range: 9 Description: The Field ID (Buffers) entry is a field ID that indicates the next message entries contain Buffer ID and Buffer Data entries. Buffer ID Field Size: 3 characters Valid Range: 064 (consumer-entered PIN) through 090 (buffers A through Z), and 256 through 299 (enhanced buffers) Description: The Buffer ID entry identifies the buffer that provides the data placed in the buffer Data field. The value 064 indicates that the Buffer Data field contains the consumer-entered PIN in encrypted form. Buffer Data Field Size: Maximum of 256 characters Valid Range: 000 through 255 Description: The Buffer Data entry contains the data stored in the buffer identified in the Buffer ID entry preceding this entry. NOTE If the message contains multiple sets of Buffer ID and Buffer Data entries, there is a group separator (hex 1D) between each set.

5-13 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages

5.2

Solicited Status Messages The terminal’s response to a network transmitted command message is a Solicited Status message. The maximum length of this message is 256 characters. The network expects a reply concerning the results of the last function performed through a Solicited Status message. If an error is detected during the last function performed, error status data pertaining to the terminal is inserted into the status message. If the functions are performed as commanded, a Ready status indicator is inserted into the status message. Refer to Table 5-3 for a list of the data fields associated with the Solicited Status message.

Table 5-3 Solicited Status Message Description

Data

Number of Characters

Variable

Variable

Solicited/Unsolicited ID

2

1

Message Identifier

2

1

hex 1C

1

- - -

3 or 9

Field Separator (FS)

hex 1C

1

[ Message Sequence Number ]

[ - - - ]

[ Variable (8 max) ]

Field Separator (FS)

hex 1C

1

- - -

1

[ hex 1C ]

[ 1 ]

[ Device Identifier (DID) ]

[ - - - ]

[ 1 ]

[ Status ]

[ - - - ]

[ Variable ]

Protocol Dependent Header

Field Separator (FS) Logical Unit Number (LUNO)

Status Descriptor [ Field Separator (FS) ]

[ Group Separator (GS) ]

[ hex 1D ]

[ 1 ]

[1]

[ Device Identifier (DID) ]

[ - - - ]

[ 1 ]

[1]

[ Status ]

[ - - - ]

[ Variable ]

[ hex 1C ]

[ 1 ]

[ Field Separator (FS) ] [1]

[2]

[3]

[4]

[5]

[1]

[2]

The Group Separator, Device Identifier, and Status fields are sent when the Solicited Status message is sent in response to a Configuration Information Request Operational Command message. When transmitted, these fields can be repeated so that the Solicited Status message contains all the required information. Refer to Section 5.7 for details on the Operational Command message. The Field Separator field and the Amount of Coins Dispensed field are only included in Coin Dispenser solicited status when the Function Command message for the coin dispense used the Dollar Amount of Coins field to specify the amount of coin to dispense. The Field Separator and the MDS Status fields are only sent if the MDS Status to Network feature is selected in the Miscellaneous Features 2 field of a Write Command 3 message (Section 4.23). All data associated with buffer data is optional. If any buffer data is present, then the Field Separator (FS) and the Buffers to Follow ID (9) must be present. There must also be at least one Buffer ID field and one Buffer Data field. Additional Buffer ID fields and Buffer Data fields must be preceded by a group separator (GS). The Field Separator and Rollover Count fields are only sent if Append Rollover Counts is selected in the Miscellaneous Features 1 field of a Write Command 3 message (Section 4.23). However, if the Solicited Status message is sent in response to a Configuration Request Operational Command message or a Supply Counts Operational Command message, the FS and Rollover Count fields are not sent.

5-14 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-3

Solicited Status Message (continued)

Description

Data

Number of Characters

[ - - - ]

[ 3 ]

[2]

[ hex 1C ]

[ 1 ]

[3]

[ - - - ]

[ Variable ]

[ hex 1C ]

[ 1 ]

[4]

[ 9 ]

[ 1 ]

[4]

[ Buffer ID ]

[ - - - ]

[ 3 ]

[4]

[ Buffer Data ]

[ - - - ]

[ Variable ]

[ hex 1D ]

[ 1 ]

[4]

[ Buffer ID ]

[ - - - ]

[ 3 ]

[4]

[ Buffer Data ]

[ - - - ]

[ Variable ]

[ hex 1C ]

[ 1 ]

[5]

[ Rollover 1 Count ]

[ - - - ]

[ 3 ]

[5]

[ Rollover 2 Count ]

[ - - - ]

[ 3 ]

[5]

[ Rollover 3 Count ]

[ - - - ]

[ 3 ]

[5]

[ Rollover 4 Count ]

[ - - - ]

[ 3 ]

[5]

Protocol Dependent Trailer

Variable

Variable

[ Amount of Coins Dispensed ] [ Field Separator (FS) ] [ MDS Status ] [ Field Separator ] [ Buffers to Follow ID ]

[ Group Separator (GS) ]

[ Field Separator (FS) ]

[1]

[2]

[3]

[4]

[5]

[3]

[4]

[4]

The Group Separator, Device Identifier, and Status fields are sent when the Solicited Status message is sent in response to a Configuration Information Request Operational Command message. When transmitted, these fields can be repeated so that the Solicited Status message contains all the required information. Refer to Section 5.7 for details on the Operational Command message. The Field Separator field and the Amount of Coins Dispensed field are only included in Coin Dispenser solicited status when the Function Command message for the coin dispense used the Dollar Amount of Coins field to specify the amount of coin to dispense. The Field Separator and the MDS Status fields are only sent if the MDS Status to Network feature is selected in the Miscellaneous Features 2 field of a Write Command 3 message (Section 4.23). All data associated with buffer data is optional. If any buffer data is present, then the Field Separator (FS) and the Buffers to Follow ID (9) must be present. There must also be at least one Buffer ID field and one Buffer Data field. Additional Buffer ID fields and Buffer Data fields must be preceded by a group separator (GS). The Field Separator and Rollover Count fields are only sent if Append Rollover Counts is selected in the Miscellaneous Features 1 field of a Write Command 3 message (Section 4.23). However, if the Solicited Status message is sent in response to a Configuration Request Operational Command message or a Supply Counts Operational Command message, the FS and Rollover Count fields are not sent.

The following paragraphs describe the fields for the Solicited Status message: Protocol Dependent Header Field Size: Variable Valid Range: Variable Description: The Protocol Dependent Header field contains one or more characters used for communications protocol processing. The contents of the field depend on the communications protocol used by the system. Refer to your system’s network documentation for protocol header requirements, and to the documentation supplied with the Agilis Base Communications software for implementation instructions.

5-15 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Solicited/Unsolicited ID Field Size: 1 character Valid Range: 1 and 2 Description: This field tells the network whether the message is solicited or unsolicited. The valid entries for this field are as follows: • 1 - Unsolicited message • 2 - Solicited message In the case of the Solicited Status message, this field is 2. Message Identifier Field Size: 1 character Valid Range: 2 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Solicited Status message is 2. Logical Unit Number (LUNO) Field Size: 3 or 9 characters Valid Range: Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field contains nine characters, with the last six characters of this field being the machine number. Refer to the Data Security Procedures and Reference Manual (TP-799530-001D) for additional details. Message Sequence Number Field Size: Variable (up to 8 characters) Valid Range: Refer to the description Description: The message sequence number is a network-generated number that identifies the message for tracking. The network can send this number to the terminal in a Function Command message, Write Command message, or Operational Command message. The terminal does not use this number, but if the Message Sequence Number in Solicited Status Messages feature is selected, Agilis 91x for ix/CSP returns this number to the network in the Solicited Status message. If message authentication (MAC) is used, Function Command messages contain a time variant number in place of the message sequence number. If this is the case, then the Solicited Status message sent in response to a Function Command message returns that time variant number rather than a message sequence number. If the Message Sequence Number in Solicited Status Messages feature is not selected, this field is empty. Status Descriptor Field Size: 1 character Valid Range: Refer to the description

5-16 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Description: This one-character field describes the terminal status as it responded to the command. The valid values are as follows: • ’8’ - Device Fault or Configuration Information. This character indicates that a terminal device is reporting abnormal status or configuration information follows. • ’9’ - Ready. This character indicates the successful completion of either an Operational Command message or a Function Command message when the Separate Ready for Function Command Message feature is not selected. • ’A’ - General Command Reject. This character indicates the unsuccessful completion of either an Operational Command message or a Function Command message. For example, the terminal can report a General Command Reject in any of the following cases: - The terminal receives an illegal command from the network - The terminal receives illegal data from the network - The terminal receives a Function Command message when it is not in a Transaction Request state Refer to Section 5.11 for a list of additional General Command Reject conditions. • ’B’ - Ready. When separate Ready for function commands is selected, this character indicates successful completion of the function command. • ’C’ - Specific MAC Command Reject. The terminal can send this character only if MAC is enabled. This character indicates the unsuccessful completion of a message because of a Message Authentication Code (MAC) failure or a Time Variant Number failure. The terminal can send this character in response to any of the following messages: - Function Command message - Write Command 1 message (states) - Write Command 6 message (FITs) • ’D’ - Specific Command Reject. The terminal can send specific reject reasons to the network. Reject reason codes are described in Section 5.2.21. • ’J’ - Enhanced Status. If a J is sent as the status descriptor, this message contains status for one of the enhanced status devices. Refer to Section 5.2.19 for further details. Device Identifier (DID) Field Size: 1 character Valid Range: Refer to the description Description: When graphic ’8’ or ’C’ appears in the Status Descriptor field, this one-character field identifies the device reporting the abnormal status as follows: • If Status Descriptor field is ’8’, the status bytes following this field are defined as follows: - ’1’ - Not used

5-17 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages - ’2’ - Receipt printer or journal printer - ’3’ - After Hour depository - ’4’ through ’6’ - Not Used - ’7’ - Enhanced function command - ’8’ - Dispenser (911 mode) - ’9’ - Presenter (Withdrawal Door status) (911 mode) - ’:’ - Depository (envelope depository) (911 mode) - ’;’ - Trap - ’’ - Card writer - ’?’ - Dispenser (912 mode) - ’@’ - Presenter (Withdrawal Door status) (912 mode) - ’A’ - Depository (envelope depository or IDM) (912 mode) - ’B’ - Hardware configuration - ’C’ - Check point (912 mode) - ’D’ - Cassette (912 mode). This device identifier is also used to indicate that the statement printer is ready for more information (912 mode) - ’E’ through ’F’ - Not used - ’G’ - Coin dispenser (912 mode) - ’H’ - Supply counts - ’I’ - External Options Module (Enhanced Alarms Interface) When the network sends an Operational Command message requesting configuration information, the terminal responds with a status descriptor of ’8’ and the following information: - In 911 mode: Configuration ID ( ’’) Byte

Bit

Abbreviated Bit Definition

Detailed Bit Definition

0

7

Card return failure

This bit is set if the card reader mechanism failed to return the card. Refer to Byte 1 for details.

6

Card return timeout

This bit is set if the consumer failed to take tha card within the timeout period. A card capture was initiated.

5

Card capture failure

This bit is set if a card capture was initiated, but failed.

4-0

----

Not applicable

7

Read operation complete

This bit is used internally by the terminal for sequencing and is always turned on in this status byte.

6

Track 1 read error

These bits can appear on or off in any combination reflecting the status of the last read operation. If any of these bits are on and bits 1 and 0 are off, the terminal is reporting that the card read error count set in the Card Reader configuration setting has been reached. Shutdown of the terminal is not necessary, but a timely inspection of the card reader is suggested.

5

Track 2 read error

4

Track 3 read error

3

Card in retain position

This bit is used internally by the terminal for sequencing. This bit being set does not indicate a status change requiring sending a status message, for example, status messages that include this bit on have other status.

2

Soft failure

If this bit is set, the terminal sensed an abnormal condition in the card reader. For example, the front and rear switches were closed simultaneously. If this bit is set, the terminal completes the current card read and allows future card reads. Soft failure refers only to card motion and not card read errors.

1

Hard Fault

If this bit is set, a fault has occurred on the card reader that requires attention before another card read can be correctly processed. This fault is normally caused by a card being jammed on the read head that the card reader cannot return or retain. Hard fault refers only to card motion and not card read errors.

0

Card in rear

If this bit is set, the terminal retained a card that it could not return because of a mechanical failure. This bit being set does not cause the terminal to send a status message.

1

5-27 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.5

Card Writer Status (solicited) (DID = ’=’) There is one byte for the card writer solicited status for the 911 mode and two bytes for the 912 mode. Refer to Table 5-7 for detailed bit definition of these bytes. Byte 0 of Table 5-7 is the only byte sent in the 911 mode. Depending on the capabilities of the card reader, all three tracks can be written, but only one track can be written at a time. This status applies to whichever track was being written at the time the fault occurred.

Table 5-7

Card Writer Solicited Status (DID=’=’)

Byte

Bit

Abbreviated Bit Definition

Detailed Bit Definition

0

7

Good write was not verified

This bit is set if the terminal could not verify a successful write on the track. The terminal verifies a successful track write by reading the track of the card after writing on that track.

6-1

Card write error limit exceeded

Not applicable

0

No start or end sentinel

The track being written’s data buffer does not contain a start and an end sentinel. No writing was attempted.

7

Read operation complete

This bit is used internally by the terminal for sequencing and is always turned on in this status byte.

6-4

----

Not applicable

3

Card in Retain position

This bit is used internally by the terminal for sequencing. This bit being set does not indicate a status change requiring sending a status message. For example, status messages that include this bit on, have other status.

2

Soft failure

If this bit is set, the terminal sensed an abnormal condition in the card reader. For example, the front and rear switches were closed simultaneously. If this bit is set, the terminal completes the current card write and allows future card writes. Soft failure refers only to card motion and not card write errors.

1

Hard Fault

If this bit is set, a fault has occurred on the card reader that requires attention before another card write can be correctly processed. This fault is normally caused by a card being jammed on the read head that the card reader cannot return or retain. Hard fault refers only to card motion and not card write errors.

0

Card in rear

If this bit is set, the terminal retained a card that it could not return because of a mechanical failure. This bit being set does not cause the terminal to send a status message.

1

5-28 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.6

Dispenser Status 911 Mode (solicited) (DID = ’8’) There are eight bytes for Dispenser Solicited Status in the 911 mode. Table 5-8 lists and defines the Dispenser Status information. 912 mode Dispenser status information is in Section 5.2.6.

Table 5-8

Dispenser Solicited Status for 911 Mode (DID = ’8’)

Byte

Bit

Abbreviated Bit Definition

Detailed Bit Definition

0 (HI Summary)

7

HI amount requested is amount dispensed

The bill dispenser picked the HI side amount requested by the network and transported it to the delivery area.

6

---

Not applicable

5

HI performance low

The HI side has had an unusually high number of mispicks. Call Service when convenient.

4

HI bill supply low

This bit is set once if the HI-side cash supply is nearly depleted and the terminal commands a HI-side dispense. Dispensing can continue while this condition exists. Further dispensing can result in a HI Bill Supply Out condition.

3

HI bill supply out

The terminal commands a HI-side dispense and the HI-side cash supply is exhausted before or after the dispense. Dispensing can continue while this condition exists, but can result in a maximum-bill-pick attempts fault on the HI side. A HI-side hard fault bit (bit 0) is then set.

2

HI divert canister full, do not continue

The divert count for the bill dispenser has reached its maximum limit. Further dispensing might result in a divert cassette overflow. In addition to the preceding condition, this bit is also set if the LO side dispense count reaches its maximum limit during a HI side dispense (possibly due to an unrequested LO side bill being picked and diverted). If uncontrolled bill picking occurs on the LO side, dispensing must stop on both the HI and LO sides. Before dispensing can continue, the divert cassette must be emptied and the divert count must be reset.

1

Inaccurate count, HI side

An unknown cash amount has been dispensed on the HI side. This condition might occur during a motor failure or divert cassette failure.

0

Hard fault, HI side

If the hard fault bit is set, HI side dispensing should stop. Possible causes are as follows: • Maximum-bill-pick attempts on the HI-side • Bill jam • No forward motor cycle • No reverse motor cycle • Divert cassette failure • Transport failure • Maximum exit sensor failures on the HI-side Any one or combination of these faults sets the hard fault bit (bit 0) on the HI side.

1 (LO Summary)

7

LO amount requested is amount dispensed

The bill dispenser picked the LO side amount requested by the network and transported it to the delivery area.

6

---

Not applicable

5-29 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-8 Byte

Dispenser Solicited Status for 911 Mode (DID = ’8’) (continued)

Bit

Abbreviated Bit Definition

Detailed Bit Definition

5

LO performance low

The LO side has had an unusually high number of mispicks. Call Service when convenient.

4

LO bill supply low

This bit is set once if the LO-side cash supply is nearly depleted and the terminal commands a LO-side dispense. Dispensing can continue while this condition exists. Further dispensing can result in a LO Bill Supply Out condition.

3

LO bill supply out

The terminal commands a LO-side dispense and the LO-side cash supply is exhausted before or after the dispense. Dispensing can continue while this condition exists, but can result in a maximum-bill-pick attempts fault on the LO side. A LO-side hard fault bit (bit 0) is then set.

2

LO divert canister full, do not continue

The divert count on the bill dispenser has reached its maximum limit. Further dispensing might result in a divert cassette overflow. In addition to the preceding condition, this bit can also be set if the LO side dispense count reaches its maximum limit during a LO side dispense (possibly due to an unrequested HI side bill being picked and diverted). If uncontrolled bill picking occurs on the HI side, dispensing must stop on both the HI and LO sides. Before dispensing can continue, the divert cassette must be emptied and the divert count must be reset.

1

Inaccurate count, LO side

An unknown cash amount has been dispensed on the LO side. This condition might occur during a motor failure or divert cassette failure.

0

Hard fault, LO side

If the hard fault bit is set, LO side dispensing should stop. Possible causes are as follows: • Maximum-bill-pick attempts on the LO-side • Bill jam • No forward motor cycle • No reverse motor cycle • Divert cassette failure • Transport failure • Maximum exit sensor failures on the LO-side Any one or combination of these faults sets the hard fault bit (bit 0) on the LO side.

2 (HI denomination Bills)

7-0

Amount of HI denomination bills

If bit 1 of status byte 0 (inaccurate count) is not set, then this byte is the number of HI side bills dispensed.

3 (LO denomination Bills)

7-0

Amount of LO denomination bills

If bit 1 of status byte 1 (inaccurate count) is not set, then this byte is the number of LO side bills dispensed.

4 (HI denomination Status)

7-4

---

Not applicable

3

Divert Cassette not present (set when byte 5, bit 3 is set)

The divert cassette was not present during a divert. Dispensing on the HI and LO-sides is stopped. The divert cassette must be installed before another dispense is initiated. When this condition occurs, bit 0 of status byte 0 and byte 1 are set.

5-30 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-8 Byte

5 (LO denomination Status)

6 (Machine Fault Status #1)

Dispenser Solicited Status for 911 Mode (DID = ’8’) (continued)

Bit

Abbreviated Bit Definition

Detailed Bit Definition

2

Delivery door open before dispense (set when byte 5, bit 2 is set)

There are bills in the escrow position when a dispense operation is initiated. No bills are dispensed while there are bills in escrow.

1

HI Bill sensor not blocked after dispense (set when byte 5, bit 1 is set)

The cash dispensed on the HI side fails to block the bill sensor. Possible causes are as follows: • Bill trap • HI sensor electrical failure • HI-side delivery area jam

0

HI bill sensor blocked before dispense (set when byte 5, bit 0 is set)

Material is sensed in the delivery area before a dispense is initiated. Possible causes are as follows: • Bill trap) • HI sensor electrical failure • Material left in HI-side delivery area

7-4

----

Not applicable

3

Divert Cassette not present (set when byte 4, bit 3 is set)

The divert cassette was not present during a divert. Dispensing on the HI and LO-sides is stopped. The divert cassette must be installed before another dispense is initiated. When this condition occurs, bit 0 of status byte 0 and byte 1 are set.

2

Delivery door open before dispense (set when byte 4, bit 2 is set)

There are bills in the escrow position when a dispense operation is initiated. No bills are dispensed while there are bills in escrow.

1

LO Bill sensor not blocked after dispense (set when byte 4, bit 1 is set)

The money dispensed on the LO side fails to block the bill sensor. Possible causes are as follows: • Bill trap • LO sensor electrical failure • LO-side delivery area jam

0

LO bill sensor blocked before dispense (set when byte 4, bit 0 is set)

Material is sensed in the delivery area before a dispense is initiated. Possible causes are as follows: • Bill trap • LO sensor electrical failure • Material left in LO-side delivery area

7

LO side dispense stopped - HI divert cassette full

This bit is set during a LO-side dispense when the HI-side divert count has gone one over its maximum limit. This situation occurs because an excess of unrequested HI bills have been diverted. Dispensing is now stopped on the LO-side because of the HI-side fault condition. Until the divert cassette is emptied, dispensing cannot continue. This condition also sets the following bits: • Bits 6, 3, 2 (status byte 6) • Bit 2 (status byte 0 and 1)

6

HI side dispense stopped - LO divert cassette full

This bit is set during a HI-side dispense when the LO-side divert count has gone one over its maximum limit. This situation occurs because an excess of unrequested LO bills have been diverted. Dispensing is now stopped on the HI-side because of the LO-side fault condition. Until the divert cassette is emptied, dispensing cannot continue. This condition also sets the following bits: • Bits 7, 3, 2 (status byte 6) • Bit 2 (status byte 0 and 1)

5-31 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-8 Byte

7 (Machine Fault Status #2)

Dispenser Solicited Status for 911 Mode (DID = ’8’) (continued)

Bit

Abbreviated Bit Definition

Detailed Bit Definition

5

LO-side dispense stopped - maximum pick attempts on HI-side

This bit is set during a LO-side dispense when the HI-side bill-pick-attempts count has gone one over its maximum limit. This situation occurs because an excess of unrequested HI bills have been picked. Dispensing is stopped on the LO-side because of the HI-side fault condition. Service assistance is needed to correct this fault. This condition also sets the following bits: • Bit 1 (status byte 6) • Bit 0 (status byte 0 and 1)

4

HI-side dispense stopped - maximum pick attempts on LO-side

This bit is set during a HI-side dispense when the LO-side bill-pick-attempts count has gone one over its maximum limit. This situation occurs because an excess of unrequested LO bills have been picked. Dispensing is stopped on the HI-side because of the LO-side fault condition. Service assistance is needed to correct this fault. This condition also sets the following bits: • Bit 0 (status byte 6) • Bit 0 (status byte 0 and 1)

3

HI Divert Cassette full

The HI-side divert count has reached its maximum diverts limit. Dispensing is stopped on the HI-side and should not continue until the divert cassette is emptied. This condition also sets bit 2 (status byte 0) and bits 0 and 2 (status byte 6).

2

LO Divert Cassette full

The LO-side divert count has reached its maximum diverts limit. Dispensing is stopped on the LO-side and should not continue until the divert cassette is emptied. This condition also sets bit 2 (status byte 1) and bits 1 and 3 (status byte 6).

1

HI maximum pick attempts

A good bill has not been picked from the HI-side within a specified number of consecutive attempts. Dispensing stops on the HI-side and should not continue until the HI-side cash cassette is checked for a probable cause of the missed picks. If no loading problem is found, the fault might require service help. This condition also sets bit 0 (status byte 0).

0

LO maximum pick attempts

A good bill has not been picked from the LO-side within a specified number of consecutive attempts. Dispensing stops on the LO-side and should not continue until the LO-side cash cassette is checked for a probable cause of the missed picks. If no loading problem is found, the fault might require service help. This condition also sets bit 0 (status byte 1).

7-6

----

Not applicable

5-32 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-8 Byte

Dispenser Solicited Status for 911 Mode (DID = ’8’) (continued)

Bit

Abbreviated Bit Definition

Detailed Bit Definition

5

HI maximum exit faults

This bit is set under two possible conditions. • The maximum unsuccessful consecutive attempts to divert a bill on the HI-side occurs •

A HI-side transport exit sensor fails

Dispensing stops. This condition must be cleared before initiating another dispense. This fault might require service assistance. This condition also sets the following bits: • Bit 0 (status byte 0) • Bit 0 (status byte 1) 4

LO maximum exit faults

This bit is set under two possible conditions. • The maximum unsuccessful consecutive attempts to divert a bill on the LO-side occurs •

A LO-side transport exit sensor fails

Dispensing stops. This condition must be cleared before initiating another dispense. This fault might require service assistance. This condition also sets the following bits: • Bit 0 (status byte 1) • Bit 0 (status byte 0) 3

Bill jam in transport

This condition occurs during a divert when a bill jam exists in the exit sensor area. Dispensing stops. This condition must be cleared before initiating another dispense. Clearing this fault is not easy and might require service assistance. This condition also sets bit 0 (status bytes 0 and 1).

2

Bill jam in picker

This condition occurs when a bill jam exists in the bill thickness detect. Dispensing stops. This condition must be cleared before initiating another dispense. Call service if no jam is evident. This condition also sets bit 0 (status bytes 0 and 1).

1

No reverse machine cycle

A bit is set if there is no indication that the bill dispenser is running in the divert direction. Dispensing on both sides stops, and should not continue until service clears the fault. This condition also sets bit 0 (status byte 0 and 1).

0

No forward machine cycle

A bit is set if there is no indication that the bill dispenser is running in the dispense direction. Dispensing on both sides stops, and should not continue until service clears the fault. The cash amount delivered to the consumer is unknown. This condition also sets bits 0 and 1 (status byte 0 and 1).

5-33 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.7

Dispenser Status 912 Mode (solicited) (DID = ’?’) There are 40 bytes for Dispenser status in the 912 mode. Refer to Table 5-9 for the byte definitions. Refer to Table 5-10 for the Dispenser error codes that can be contained in bytes 1 and 2 of the Dispenser Solicited Status message. 911 mode Dispenser status information is in Section 5.2.5.

Table 5-9

Dispenser Solicited Status for 912 Mode (DID = ’?’)

Byte

Abbreviated Byte Definition

Detailed Byte Definition

0

Withdrawal Area Status

This byte defines withdrawal area status as follows: 0 - No error 1 - Delivery door open before dispense (bills in escrow) 3 - Sensors blocked before dispense 5 - Sensors not blocked after dispense

1-2

Dispense error code

The bill dispenser error codes for each dispense error are listed in Table 5-10. The error codes shown in Table 5-10 are listed as graphic characters. However, all bytes in this table, Table 5-9, are in ASCII code.

3

Partial Dispense Status

This byte defines dispense status as follows: 0 - Good dispense (bills dispensed = bills requested) 1 - Not applicable 2 - Bad dispense, continuation not possible 3 - Dispense is not possible (no money was dispensed) 4 - Denomination error after redefining the denominations present, a second try is possible 5 - Good partial dispense, continuation is possible (bills dispensed =/ bills requested), possibly out of bills

4

Cassette Position

This byte contains the position of the cassette from which the terminal dispensed. The valid characters are as follows: 1 - First cassette position (top) 2 - Second cassette position 3 - Third cassette position 4 - Fourth cassette position (bottom)

5

Denomination ID

This byte equals the denomination ID of the corresponding cassette position in byte 4 of this message. The valid characters are as follows: A through H - Type of bill a through h - Type of bill that is low or empty J - Denomination ID cannot be read @ - No cassette present _ (underscore) - No feed module present

6-7

Number of Bills Dispensed

These two bytes contain two ASCII digits that equal the number of bills dispensed. The valid characters are 0 through 30. byte 6 is the most significant byte.

8-9

Number of Divert Operations

These two bytes are reserved for service use only.

10 - 12

---

Not applicable (set to 000)

13 - 21

Dispenser Status for second cassette position

These bytes contain the dispenser status of the second cassette position. This information is in the format of bytes 4 through 12.

22 - 30

Dispenser Status for third cassette position

These bytes contain the dispenser status of the third cassette position. This information is in the format of bytes 4 through 12.

31 - 39

Dispenser Status for fourth cassette position

These bytes contain the dispenser status of the fourth cassette position. This information is in the format of bytes 4 through 12.

5-34 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-10 Error Code (bytes 1 and 2 in Table 5-9)

[1]

Dispenser Error Codes

Error Type

Partial Dispense Status Field (byte 3 in Table 5-9)

Is Repair Required? [1]

00

No error

0

No

01

Unsolicited bill from cassette position 1 (top)

2

No

02

Unsolicited bill from cassette position 2

2

No

03

Unsolicited bill from cassette position 3

2

No

04

Unsolicited bill from cassette position 4 (bottom)

2

No

09

Stream feed from cassette position 1 (top)

5

No

10

Stream feed from cassette position 2

5

No

11

Stream feed from cassette position 3

5

No

12

Stream feed from cassette position 4 (bottom)

5

No

17

Feed Failure from cassette position 1 (top)

5

No

18

Feed Failure from cassette position 2

5

No

19

Feed Failure from cassette position 3

5

No

20

Feed Failure from cassette position 4 (bottom)

5

No

25

Jam before double-detect switch from cassette position 1 (top)

2

Yes

26

Jam before double-detect switch from cassette position 2

2

Yes

27

Jam before double-detect switch from cassette position 3

2

Yes

28

Jam before double-detect switch from cassette position 4 (bottom)

2

Yes

33

Jam between double-detect switch and exit throat

2

Yes

34

Jam between double-detect switch and divert throat

2

Yes

35

Denomination error

4

No

36

Unidentified cassette

3

Yes

37

During dispenses, the diverter cannot go to the exit position

2

Yes

38

During dispenses, the diverter cannot go to the divert position

2

Yes

39

Double bill dispensed

2

No

40

Long or Short bill dispensed

2

No

41

Feed and single counted bills are not equal from cassette position 1 (top)

2

No

42

Feed and single counted bills are not equal from cassette position 2

2

No

43

Feed and single counted bills are not equal from cassette position 3

2

No

44

Feed and single counted bills are not equal from cassette position 4 (bottom)

2

No

49

Single and exit counted bills are not equal from cassette position 1 (top)

5

No

50

Single and exit counted bills are not equal from cassette position 2

5

No

51

Single and exit counted bills are not equal from cassette position 3

5

No

52

Single and exit counted bills are not equal from cassette position 4 (bottom)

5

No

57

Bill dispenser received invalid data

3

Yes

Repair refers to corrective action that cannot be done by the institution’s operator and is done by a Service Representative.

5-35 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-10 Error Code (bytes 1 and 2 in Table 5-9)

[1]

Dispenser Error Codes (continued)

Error Type

Partial Dispense Status Field (byte 3 in Table 5-9)

Is Repair Required? [1]

58

Too many bills dispensed

5

No

59

Timing wheel error

2

Yes

60

Feed, exit, or divert sensor blocked

2

Yes

63

Bill dispenser RAM error

3

Yes

64

Bill dispenser USART error

3

Yes

65

Cassettes shuffled

4

No

67

Diverter does not energize

2

Yes

68

Diverter in wrong position at start of dispense

2

Yes

78

Divert cassette is full

2

No

79

Divert cassette is not present

3

No

80

No cassette in feed module for test dispense

3

No

81

Dispense timeout

2

Yes

82

Not used

83

Linear Variable Differential Transformer (LVDT) double-detect, out of limits

2

Yes

84

Purge error following dispense error

2

Yes

90

Communication timeout

3

Yes

91

Communication data invalid

2

Yes

92

Excessive NAKs for a command

3

Yes

93

Not used

94

Unreported problem with feed module 1 (top)

0

No

95

Unreported problem with feed module 2

0

No

96

Unreported problem with feed module 3

0

No

97

Unreported problem with feed module 4 (bottom)

0

No

Repair refers to corrective action that cannot be done by the institution’s operator and is done by a Service Representative.

5-36 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.8

Withdrawal Door Status (solicited) for 911 Mode (DID = ’9’) There is one byte for withdrawal door solicited status in 911 mode. The following statuses are applicable for terminals with a presenter: • • • •

5.2.9

00 - Fault on present - consumer did not have access to cash 04 - Fault on present - consumer had access to cash 07 - No stack to present 30 - Money forgotten (the consumer did not take the cash)

Withdrawal Door Status (solicited) for 912 Mode (DID = ’@’) There is one byte for withdrawal door solicited status in 912 mode. The following statuses are applicable for terminals with a presenter: • 00 - Fault on present - consumer did not have access to cash • 04 - Fault on present - consumer had access to cash, or no stack to present • 30 - Money forgotten (the consumer did not take the cash)

5-37 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.10

Depository Status (solicited) for Envelope Depository, for 911 Mode (DID = ’:’) Table 5-11 lists and defines the Depository status information for an envelope depository, for terminals operating in 911 mode.

Table 5-11

Depository Solicited Status for Envelope Depository, for 911 Mode (DID = ’:’)

Byte

Bit

Abbreviated Bit Definition

Detailed Bit Definition

0 (depository status)

7

---

Not applicable

6

Detect switch blocked, do not continue

An envelope or foreign material is stuck in the envelope detect area. Further deposits should not be attempted until the jam is cleared. If no envelope is jammed, then this bit might also indicate a mechanism failure.

5

Printer error

The printer that stamps the deposit envelope with a specific serial number has not moved to the desired increment. Refer to Status Byte 1 for more detailed information on the printer module fault status. This fault requires service assistance.

4

Consumer timeout

An envelope has not been deposited during the allotted time period.

3

Deposit cassette not present

A deposit cassette is not present. No deposit is attempted.

2

No reverse cycle or Depository not present

There is no indication that the Total Cash Control system motor is running in the deposit direction. The envelope might or might not have been captured. This fault requires service assistance. Until this condition is corrected, another deposit should not be attempted.

1

Deposit cassette full, do not continue

The deposit cassette is full. It must be emptied before the next deposit can start. No deposit is attempted.

0

---

Not applicable

7-5

---

Not applicable

4

Consumer cancel

If this bit is set, the consumer cancelled a deposit operation. This bit is set in addition to the consumer timeout bit (Byte 0, bit 4). The deposit cancel status bit feature must be set in Miscellaneous Features Field 1 of a Write Command 3 message for this bit to be set.

3

Thousands module error

The deposit thousands-digit print module has not increased to the desired number. This fault requires service assistance.

2

Hundreds module error

The deposit hundreds-digit print module has not increased to the desired number. This fault requires service assistance.

1

Tens module error

The deposit tens-digit print module has not increased to the desired number. This fault requires service assistance.

0

Units module error

The deposit units-digit print module has not increased to the desired number. This fault requires service assistance.

1 (printer module fault status)

5-38 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.11

Depository Status (solicited) for Envelope Depository, for 912 Mode (DID = ’A’) Table 5-12 lists and defines the Depository status information for an envelope depository, for terminals operating in the 912 mode.

Table 5-12

Depository Solicited Status for Envelope Depository, for 912 Mode (DID = ’A’)

Byte

Bit

Abbreviated Bit Definition

Detailed Bit Definition

0 (depository status)

7

---

Not applicable

6

Hard Fault

If this bit is set, a depository fault has occured that requires attention before another can be correctly processed. This fault is normally caused by a stuck envelope in the envelope entry slot or a missing deposit cassette. If this bit is set, the terminal cannot complete the current deposit and future deposits should not be attempted.

5

Printer error

The printer that stamps the deposit envelope with a specific serial number has not moved to the desired increment. Refer to Status Byte 1 for more detailed information on the printer module fault status. This fault requires service assistance.

4

Consumer timeout

An envelope has not been deposited during the allotted time period.

3

Deposit cassette not present

A deposit cassette is not present. No deposit is attempted.

2

Deposit incomplete or Depository not present

If this bit is set, the terminal started receiving the envelope but the terminal never sensed the envelope entering the deposit cassette. This is probably caused by either a depository fault or by the consumer inserting then removing the envelope.

1

Deposit cassette full, do not continue

The deposit cassette is full. It must be emptied before the next deposit can start. No deposit is attempted.

0

Soft fault

If this bit is set, a fault has occurred on the depository. This fault is normally caused by a switch failure. If this bit is set, the terminal completes the current deposit and allows future deposits.

7-5

----

Not applicable

4

Consumer cancel

If this bit is set, the consumer cancelled a deposit operation. This bit is set in addition to the consumer timeout bit (Byte 0, bit 4). The deposit cancel status bit feature must be set in the Miscellaneous Features Field 1 of the Write Command 3 message for this bit to be set.

3

Thousands module error

The deposit thousands-digit print module has not increased to the desired number. This fault requires service assistance.

2

Hundreds module error

The deposit hundreds-digit print module has not increased to the desired number. This fault requires service assistance.

1

Tens module error

The deposit tens-digit print module has not increased to the desired number. This fault requires service assistance.

0

Units module error

The deposit units-digit print module has not increased to the desired number. This fault requires service assistance.

7-0

Sequence ID

The program exit path at the time of the fault (for service use only).

1 (printer module fault status)

2 (exit path)

5-39 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.12

Depository Status (solicited) for IDM, for 912 Mode (DID = ’A’) Table 5-13 lists and defines the Depository status information for an IDM, for terminals operating in the 912 mode.

Table 5-13

Depository Solicited Status for IDM, for 912 Mode (DID = ’A’)

Byte

Bit

Abbreviated Bit Definition

Detailed Bit Definition

0 (depository status)

7

Abnormal document retain

Abnormal document retain

6

Hard fault

If this bit is set, a depository fault has occurred that requires attention before another can be correctly processed. This fault is normally caused by stuck media in the transport. If this bit is set, the terminal was unable to complete the current deposit.

5

----

Not applicable

4

Consumer timeout

An envelope has not been deposited during the allotted time period.

3

Initial condition fault

A deposit cassette is not present, the rotating assembly is unlatched, the printhead is missing, or check bins are missing.

2

----

Not applicable

1

Deposit cassette full, do not continue, or invalid check bin specified in a retain or capture operation

The deposit cassette is full. It must be emptied before the next deposit can start. No deposit is attempted. OR the specified bin is not present in IDM. No deposit is attempted. Use another bin.

0

Soft fault

If this bit is set, a fault has occurred on the depository. This fault is normally caused by a switch failure. If this bit is set, the terminal completes the current deposit and allows future deposits.

7

MICR read fault

If this bit is set, a MICR read fault was encountered. If any MICR data was found, it is available for inclusion in a Consumer Request message, depending on the Send Track 1, Track 3, and/or MICR Data entry in the Transaction Request state.

6-5

----

Not applicable

4

Consumer cancel

If this bit is set, the consumer cancelled a deposit operation. This bit is set in addition to the consumer timeout bit (byte 0, bit 4). The Deposit Cancel Status Bit feature must be set in the Miscellaneous Features 1 field of the Write Command 3 message for this bit to be set.

3-0

----

Not applicable

7

Depository disabled

The IDM has been disabled either due to a fault or by the network.

6-5

----

Reserved. Set to 0

1 (printer module fault status)

2

5-40 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages Table 5-13 Byte

3

Depository Solicited Status for IDM, for 912 Mode (DID = ’A’) (continued)

Bit

Abbreviated Bit Definition

Detailed Bit Definition

4

Document handling error

The IDM has encountered one of the following problems while trying to transport a check: • Mechanism cannot lift the gate during a straighten sequence • Cannot position the shuttle during a straighten sequence • Document cannot reach the magnetic sensor • Cannot straighten the document • Document cannot position in the bottom hold area • Document cannot position in the top hold area

3

Bin error

The selected bin was unusable or was full. This status might also indicate a possible jam.

2

Document size error

Inserted document is too short, too long, or too thick.

1

Scanner error

The scanner did not operate, indicating a scanner fault.

0

MICR hardware error

MICR processor fault.

7-4

Operation data

Four bits of operation data defined as follows: • 0000 - Reserved • 0001 - Envelope deposit • 0010 - Check deposit • 0011 - Check retain • 0100 - Return check with printing • 0101 - 1111 - Reserved

3-0

Bin data

Four bits of Bin • 0000 - bin • 0001 - bin • 0010 - bin

data defined as follows: 0 1 2

And so on.

5-41 ©Diebold, Incorporated (11/2004) - All Rights Reserved TP-821029 (Ed. A)

PRELIMINARY - DRAFT COPY Mon Nov 22 16:28:25 2004

Solicited Status Messages 5.2.13

Configuration ID Status (solicited) (DID = ’

2