===============================================================================
ICU Simulator v1.0.1.x ReadMe                                     3rd Aug 2001

              (C) Copyright Playsafe Monitoring Ltd. 2001
===============================================================================

ICUSim is a Windows 9x application to simulate a Hungarian "Integrated Control
Unit" (ICU) using the Playsafe Hungarian Dataport Protocol Issue 1.3. It is
intended for use by machine manufacturers during the development and testing
of machines also implementing the Playsafe Hungarian Dataport Protocol.

A PC serial port is required to connected the application to the machine.
An optional  "Speed Select" signal is available on the CTS input of the serial
port.

ICUSim has 3 main information summaries on the Dataport messages received from
the machine, each presented on their own tab page:

  Machine:  This shows the current state of the machine, such as doors &
            switches, call attendant, price of 1 credit, etc. Additionally
            it displays representations of a machine's meters counting Cash In,
            Cash Out, etc.

  Messages: This shows the no. of occurances of each type of Dataport message
            (including original messages and retries)

  Events:   This shows an interpretation of the last 200 messages received, in
            order, and what response was returned to the machine by ICUSim

Known Limitations
=================
1. This application is not capable of detecting inter-character delays of less
   than 55ms in messages received from the machine (the protocol requires a
   max. of 10ms at 1200 baud, and even less at 9600 baud).

2. Selecting a serial port of "None" and then selecting an actual port seems to
   cause receive interrupt to stop working.
   Solution: Restart ICUSim after selecting the required port.


Dataport Messages Supported
===========================

All reserved messages will receive a "message not imlemented" (ESC) response.
All unused messages and all invalid  will be rejected (NAK response).

Message   Use               Supported (Response)
------------------------------------------------
00        Unused            Yes (NAK)
01-04     Reserved          Yes (ESC)
05        Sync Request      Yes (ACK)
06        Acknowledge       Yes (NAK)
07-08     Reserved          Yes (ESC)
09        Unused            Yes (NAK)
0A        Take One Credit   Yes (ACK)
0B-14     Unused            Yes (NAK)
16-1A     Reserved          Yes (ESC)
1B        Not implemented   Yes (NAK)
1C-1D     Reserved          Yes (ESC)
1E        Call Attendant    Yes (ACK)
1F        Attendant Arrived Yes (ACK)
20-2B     Cash In           Yes (ACK)
20-2B     Cash In           Yes (ACK)
2C-37     Cash to Cashbox   Yes (ACK)
38-43     Cash Refill       Yes (ACK)
44-4F     Cash Out          Yes (ACK)
50-5B     Cash Dump         Yes (ACK)
5C        Request LJ Value  No  (ESC)     <---
5D        Increment LJ      No  (ESC)     <---
5E        Request LJ Result No  (ESC)     <---
5F        Trigger LJ Win    No  (ESC)     <---
60        Target Percentage No  (ESC)     <---
61        Payout Error      No  (ESC)     <---
62        Take N Credits    No  (ESC)     <---
63-65     Reserved          Yes (ESC)
66-67     Unused            Yes (NAK)
68        Arcade Modes      No  (ESC)     <---
69        Game              Yes (ACK)
6A        Reserved          Yes (ESC)
6B        Value of 1 Credit Yes (ACK)
6C        Win Value         Yes (ACK)
6D        Add N to LJ       No  (ESC)     <---
6E        Doors & Switches  Yes (ACK)
6F        Reserved          Yes (ESC)
70        Power On          Yes (ACK)
71        Machine Fault     No  (ESC)     <---
72        Payout Level      No  (ESC)     <---
73        LJ Win Value      No  (ESC)     <---
74        Cancelled Credits Yes (ACK)
75        Refill Required   No  (ESC)     <---
76        Cashable Value    No  (ESC)     <---
77        Send Data            Yes  (ACK)
78-79     Unused            Yes (NAK)
7A-7D     Reserved          Yes (ESC)
7E        Approval Auth.    No  (ESC)     <---
7F        DO NOT USE        Yes (NAK)


ICUSim Versions
===============
  v1.0.0.x
  First version for Hu Dataport 1.2

  v1.0.1.x
  Bug Fixes & Enhancements
   - Added animated Agria logo
  Hu Dataport 1.3 Updates
   - Added support for BCD/Binary mode flags in Power On message (70h)
   - Added support for Send Data message (77h)
   - Messages 74h & 77h now take account of BCD/Binary mode for values
     (all other messages with BCD/Binary switch are still unsupported).

  v1.0.2.x
  Bug Fixes & Enhancements
   - Fixed using No parity rather than Odd parity as required
   - Detects & identifies messages with parity, framing & overrun errors

HuAWPSim Versions
=================
 v1.0.0.x
    First release for Hu Dataport 1.0

 v1.0.1.x
  Bug Fixes & Enhancements
    - Added version identification to caption of main window
    - Added user selectable speed selection signal (default is DTR)
    - App. is now single instance
    - Fixed 'Call Attendant' and 'Attendant Arrived' buttons
    - Fixed doors & switches sending 68h instead of 6Eh
    - Fixed Door/Switch state buttons affecting each other
    - Now saves & restores window size & position
  Hu Dataport 1.1/1.2 Update
    - Extra coins 500-5000Ft
    - Default baud rate is 9600

 v1.0.2.x
 Bug Fixes
  - Fixed incorrect formatting of BCD values (1234 as 4 byte BCD was sent as
    $31, $32, $33, $34 ("1234") rather than $00, $00, $12, $34.
 Hu Dataport Issue 1.3 Update
  - Added user configurable BCD/Binary mode option to power on message
  - Messages 73, 74, 76 & 77 now send values as BCD (default) or binary
    according to selected item of associated control on Power On message tab
  - Added support for message 77 to the Variable Length / Misc tab.
  - No longer falls back to 1200 baud after 3 consequtive NAKs
  - Added button to allow all non-mandatory message option to be hidden

 v1.0.3.x
 Enhancements
   - Value fields for messages 73-77 now warn user of limit to 0 to 9999

