Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
millennium:coinvalidator [2017/03/06 20:58] – [Decoding] martinmillennium:coinvalidator [2024/01/28 14:42] (current) martin
Line 1: Line 1:
-====== Work in progress ======+====== Coin Validator ======
  
 Produced by Landis&Gyr Communications for Nortel. Landis&Gyr Communications was sold to IPM Group - who have gone bankrupt and renamed themselves to New IPMtel. Produced by Landis&Gyr Communications for Nortel. Landis&Gyr Communications was sold to IPM Group - who have gone bankrupt and renamed themselves to New IPMtel.
Line 50: Line 50:
  
 ===== Decoding ===== ===== Decoding =====
-Empty fields haven't been deciphered yet.+* MS: Most significant Byte 
 +* LS: Least significant Byte
  
-^ Offset (h) ^ 00   ^ 01 ^ 02 ^ 03 ^ 04 ^ 05 ^ 06 ^ 07 ^ 08 ^ 09 ^ 0A ^ 0B ^ 0C   ^ 0D    ^ 0E      ^ 0F      ^ 
-^ 00         | OPTR | CHKSUM || Escrow-related?            |||||||    |    |      |                        
-^ 10              |    |    |    |    |    |    |    |    |    |    |    |      |                        
-^ 20         | Coin 1                                   |||||||||| Coin 2                                ||||||  
-^ 30         | <- 2 cont        |||| Coin 3                                      ||||||||||Coin 4            ||  
-^ 40         | <- 4 cont                        |||||||| Coin 5                                        ||||||||  
-^ 50         | <- 5 cont|| Coin 6                                 |||||||||| Coin 7                        ||||  
-^ 60         | <- 7 cont                |||||| Coin 8                                                ||||||||||  
-^ 70         | Coin 9                                   |||||||||| Coin 10                               ||||||  
-^ 80         | <- 10 cont       |||| Coin 11                                     |||||||||| Coin 12          ||  
-^ 90         | <- 12 cont                       |||||||| Coin 13                                       ||||||||  
-^ A0         |<- 13 cont|| Coin 14                                |||||||||| Coin 15                       ||||  
-^ B0         | <- 15 cont               |||||| Coin 16                                               ||||||||||  
-^ C0         | Coin 17 (Calibration Coin A)             |||||||||| Coin 18 (Calibration Coin B)          ||||||  
-^ D0         | <- 18 cont       |||| Unknown (Calibration?                     |||||||||| 0x00    | 0x00    |  
-^ E0         | 0x00 |0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00| 0x00 | 0x00  | 0x00    | 0x00    |  
-^ F0         | 0x00 |0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00|0x00| ROM Version || EEPROM Config ID ||  
  
-==== OPTR ==== +^ Offset (h)  ^ 00                                 ^ 01                                 ^ 02                                 ^ 03                                 ^ 04                                 ^ 05                               ^ 06                               ^ 07                            ^ 08                                      ^ 09                             ^ 0A                                        ^ 0B                                                   ^ 0C                                         ^ 0D                                              ^ 0E                                              ^ 0F                                 ^ 
- * EEPROM Options register+^ 00          | Options register                   | Checksum MS                        | Checksum LS                        | Western Electric refit flag        | Nominal avg sensor C time MS       | Nominal avg sensor C time LS     | Nominal avg sensor F time MS     | Nominal avg sensor F time LS  | Nominal avg sensor G time MS            | Nominal avg sensor F time LS   | Instantaneous half-window for detector C  | Instantaneous half-window for detector F             | Instantaneous half-window for detector G   | Scale factor for sensor timeout calculation MS  | Scale factor for sensor timeout calculation LS  | Half-window for detector C avg MS  | 
 +^ 10          | Half-window for detector C avg LS  | Half-window for detector F avg MS  | Half-window for detector F avg LS  | Half-window for detector G avg MS  | Half-window for detector G avg LS  | Firing duration for solenoid MS  | Firing duration for solenoid LS  | Minimum coin separation time  | Pause time during cash or refund cycle  | number of bytes in coin table  | number of coins in coin table             | On-time for validator entry and exit sensors (A, B)  | Blocked-time for escrow sensors (C, F, G)  | Timeout on escrow motion (rotation jam)         | Unused                                          | Unused                             | 
 +^ 20          | Coin 1                                                                                                                                                                                                                                                                                                                                                         |||||||||| Coin 2                                                                                                                                                                                                                                                                            |||||| 
 +^ 30          | <- 2 cont                                                                                                                                      |||| Coin 3                                                                                                                                                                                                                                                                                                                                                                                                       |||||||||| Coin 4                                                                              || 
 +^ 40          | <- 4 cont                                                                                                                                                                                                                                                                             |||||||| Coin 5                                                                                                                                                                                                                                                                                                                                                     |||||||| 
 +^ 50          | <- 5 cont                                                              || Coin 6                                                                                                                                                                                                                                                                                                                                                                                  |||||||||| Coin 7                                                                                                                                                                           |||| 
 +^ 60          | <- 7 cont                                                                                                                                                                                                            |||||| Coin 8                                                                                                                                                                                                                                                                                                                                                                                                                      |||||||||| 
 +^ 70          | Coin 9                                                                                                                                                                                                                                                                                                                                                         |||||||||| Coin 10                                                                                                                                                                                                                                                                           |||||| 
 +^ 80          | <- 10 cont                                                                                                                                     |||| Coin 11                                                                                                                                                                                                                                                                                                                                                                                                      |||||||||| Coin 12                                                                             || 
 +^ 90          | <- 12 cont                                                                                                                                                                                                                                                                            |||||||| Coin 13                                                                                                                                                                                                                                                                                                                                                    |||||||| 
 +^ A0          | <- 13 cont                                                             || Coin 14                                                                                                                                                                                                                                                                                                                                                                                 |||||||||| Coin 15                                                                                                                                                                          |||| 
 +^ B0          | <- 15 cont                                                                                                                                                                                                           |||||| Coin 16                                                                                                                                                                                                                                                                                                                                                                                                                     |||||||||| 
 +^ C0          | Coin 17 (Calibration Coin A)                                                                                                                                                                                                                                                                                                                                   |||||||||| Coin 18 (Calibration Coin B)                                                                                                                                                                                                                                                      |||||| 
 +^ D0          | <- 18 cont                                                                                                                                     |||| Unknown (Calibration?                                                                                                                                                                                                                                                                                                                                                                                      |||||||||| 0x00                                            | 0x00                               | 
 +^ E0          | 0x00                               | 0x00                               | 0x00                               | 0x00                               | 0x00                               | 0x00                             | 0x00                             | 0x00                          | 0x00                                    | 0x00                           | 0x00                                      | 0x00                                                 | 0x00                                       | 0x00                                            | 0x00                                            | 0x00                               | 
 +^ F0          | 0x00                               | 0x00                               | 0x00                               | 0x00                               | 0x00                               | 0x00                             | 0x00                             | 0x00                          | 0x00                                    | 0x00                           | 0x00                                      | 0x00                                                 | ROM Version                                                                                 || EEPROM Config ID                                                                    || 
 + 
 +==== Options Register ==== 
 + * EEPROM OPTR
  * 03: Part 2 of the EEPROM array is not protected; all 256 bytes of EEPROM can be accessed for any read, erase or programming operations. / Security Bit is not set  * 03: Part 2 of the EEPROM array is not protected; all 256 bytes of EEPROM can be accessed for any read, erase or programming operations. / Security Bit is not set
  * [[http://cache.nxp.com/files/microcontrollers/doc/data_sheet/MC68HC05B6.pdf#page=48|Page 48, Section 3.5.5, Options register (OPTR)]]  * [[http://cache.nxp.com/files/microcontrollers/doc/data_sheet/MC68HC05B6.pdf#page=48|Page 48, Section 3.5.5, Options register (OPTR)]]
  
-==== CHKSUM ==== +==== Checksum ==== 
-Some CRC - don't bother and just issue the k-command to have it calculated and written to the EEPROM automagically.+ Some CRC - don't bother and just issue the k-command to have it calculated and written to the EEPROM automagically. 
 + 
 +==== Western Electric refit flag ==== 
 + * Unused 
 + 
 +==== Nominal avg sensor C/F/G time ==== 
 + * 0.25 µs increments 
 + 
 +==== Instantaneous half-window for detector C/F/G ==== 
 + * 2 µs increments 
 + 
 +==== Half-window for detector C/F/G avg ==== 
 + * 0.25 µs increments 
 + 
 +==== Firing duration for solenoid ==== 
 + * 2 µs increments 
 + 
 +==== Minimum coin separation time ==== 
 + * 8 µs increments 
 + 
 +==== Pause time during cash or refund cycle ==== 
 + * 8 µs increments 
 + 
 +==== number of bytes/coins in coin table ==== 
 + * not actively used 
 + 
 +==== On-time for validator entry and exit sensors (A, B) ==== 
 + * 2 µs increments 
 + 
 +==== Blocked-time for escrow sensors (C,F,G) ==== 
 + * 8 ms increments 
 + 
 +==== Timeout on escrow motion (rotation jam) ==== 
 + * 64 ms increments 
  
 ==== Coin definitions ==== ==== Coin definitions ====
Line 193: Line 229:
  
 17.03.2016: This is the first time, that N-command has been publicly documented, after [[User:martin]] started reverse-engineering the Coin validator firmware. 17.03.2016: This is the first time, that N-command has been publicly documented, after [[User:martin]] started reverse-engineering the Coin validator firmware.
 +
 +===== The proper way to program coin validators =====
 +The original software used to program these coin validators ist called VAL-ESC, a itty-bitty-shitty DOS-application that also just issues the previous commands to calibrate a device, download the current coinset, or upload a new one.
 +
 +There is a repository of some coin sets, that we should probably put online at some point in the future.
 +
 +
  
  • millennium/coinvalidator.1488833893.txt.gz
  • Last modified: 2021/04/18 12:32
  • (external edit)