Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
millennium:coinvalidator [2016/05/30 14:38] – [Coin definitions] martin | millennium:coinvalidator [2024/01/28 14:42] (current) – martin | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
Produced by Landis& | Produced by Landis& | ||
Line 50: | Line 50: | ||
===== Decoding ===== | ===== Decoding ===== | ||
- | ^ Offset (h) ^ 00 ^ 01 ^02 ^ 03 ^ 04 ^ 05 ^ 06 ^ 07 ^ 08 ^ 09 ^ 0A ^ 0B ^ 0C ^ 0D ^ 0E ^ 0F ^ | + | * MS: Most significant Byte |
- | ^ 00 | OPTR | CHKSUM || Escrow-related? | + | * LS: Least significant Byte |
- | ^ 10 | + | |
- | ^ 20 | Coin 1 | + | |
- | ^ 30 | <- 2 cont |||| Coin 3 ||||||||||Coin 4 || | + | |
- | ^ 40 | <- 4 cont |||||||| Coin 5? | + | |
- | ^ 50 | <- 5 cont|| Coin 6 | + | |
- | ^ 60 | <- 7 cont |||||| Coin 8 |||||||||| | + | |
- | ^ 70 | Coin 9 | + | |
- | ^ 80 | <- 10 cont |||| Coin 11 | + | |
- | ^ 90 | <- 12 cont | + | |
- | ^ A0 | + | |
- | ^ B0 | <- 15 cont | + | |
- | ^ C0 | Coin 16 |||||||||| Coin 17 | + | |
- | ^ D0 | <- 17 cont | + | |
- | ^ 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 ==== | + | |
- | * EEPROM | + | ^ Offset (h) ^ 00 ^ 01 ^ 02 ^ 03 ^ 04 ^ 05 ^ 06 ^ 07 ^ 08 ^ 09 ^ 0A ^ 0B ^ 0C ^ 0D ^ 0E ^ 0F ^ |
+ | ^ 00 | Options register | ||
+ | ^ 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 | ||
+ | ^ 20 | Coin 1 | ||
+ | ^ 30 | <- 2 cont |||| Coin 3 | ||
+ | ^ 40 | <- 4 cont | ||
+ | ^ 50 | <- 5 cont || Coin 6 |||||||||| Coin 7 | ||
+ | ^ 60 | <- 7 cont |||||| Coin 8 |||||||||| | ||
+ | ^ 70 | Coin 9 | ||
+ | ^ 80 | <- 10 cont |||| Coin 11 |||||||||| Coin 12 || | ||
+ | ^ 90 | <- 12 cont |||||||| Coin 13 |||||||| | ||
+ | ^ A0 | <- 13 cont || Coin 14 | ||
+ | ^ B0 | <- 15 cont | ||
+ | ^ C0 | Coin 17 (Calibration Coin A) | ||
+ | ^ D0 | <- 18 cont |||| Unknown (Calibration? | ||
+ | ^ 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 | ||
+ | |||
+ | ==== Options Register | ||
+ | * EEPROM | ||
* 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:// | * [[http:// | ||
+ | |||
+ | ==== Checksum ==== | ||
+ | * 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 188: | Line 229: | ||
17.03.2016: This is the first time, that N-command has been publicly documented, after [[User: | 17.03.2016: This is the first time, that N-command has been publicly documented, after [[User: | ||
+ | |||
+ | ===== 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. | ||
+ | |||
+ | |||