What's new
there not that many commands -
10 Init ('0'/'1')
20 get status?
33 read card data ('016') / load card ('216')
40 cancel last command?
53 write data
78 print parameters ??
7A printer init ??
7C print text/pix
80 eject card
A0 cleaning
B0 get card from dispenser
C1 ??? seems not used,
D0 open/close front door (shutter) ('0'/'1')

'CRC' is simple bytes XOR, starting from LEN, ending 'END DATA' (included)
 
Last edited:
The NAOMI seems to be putting out some different stuff during startup initialization. I'm including it in case it's useful.

Here's normal boot, no card entered, game started with no card purchased.

PART1:

2016-02-26 10:11:33.524137: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:11:33.539762: READER
06 02 06 40 A0 30 32 03 E7
2016-02-26 10:11:35.867910: NAOMI2
02 06 20 00 00 00 03 25 05 02 07 10 00 00 00 31
03 25 05
2016-02-26 10:11:35.883536: READER
06 02 06 20 A0 30 30 03 85 06 02 06 10 A0 30 33
03 B6
2016-02-26 10:11:36.164767: NAOMI2
05
2016-02-26 10:11:36.180412: READER
02 06 10 A0 30 33 03 B6
2016-02-26 10:11:36.586643: NAOMI2
05 02 06 20 00 00 00 03 25 05
2016-02-26 10:11:36.602268: READER
02 06 10 A0 30 30 03 B5 06 02 06 20 A0 30 30 03
85
2016-02-26 10:11:36.727268: READER
06 02 06 40 A0 30 32 03 E7
2016-02-26 10:11:37.055412: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 01
00 00 00 00 00 00 7F FF FE FF FF FF FF FF FF FF
FF FF 9C 81 39 99 81 39 99 9F 11 83 9F 83 83 81
83 83 81 C7 83 9F C7 99 9F C7 99 9F C7 9C 81 C7
9C 81 C7 FF FF FF FF FF FF FF FF FF 7F FF FE 00
00 00 00 00 00 00 00 00 03 25 05 02 06 40 00 00
00 03 45 05
2016-02-26 10:11:37.071033: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:37.399163: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:37.727270: NAOMI2
02 4F 7A 00 00 00 02 7F FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF 84 E4 E7 CC
E4 E6 CC 64 E6 CC 64 E4 CC 24 E4 CC A4 44 CC 86
4C CC C6 0C CC C6 0C CC E7 1C 84 E7 1C FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF 7F FF FF 03
EE 05 02 06 40 00 00 00 03 45 05 02 4F 7A 00 00
00 03 FF FF FE FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF 1C E1 07 0C F3 03 4C F3 31
44 F3 39 E4 F3 39 E4 F3 39 04 F3 39 04 F3 39 E4
F3 31 E4 33 03 E4 21 07 FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FE 03 FC 05 02 06 40
00 00 00 03 45 05
2016-02-26 10:11:37.742910: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:38.071039: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:38.274146: NAOMI2
02 4F 7A 00 00 00 04 00 00 00 00 00 00 07 FF E0
07 FF E0 01 C3 80 01 C3 80 01 C3 80 01 C3 80 01
C3 80 01 C3 80 01 C3 80 01 C3 80 01 C3 80 01 C3
80 01 C3 80 01 C3 80 01 C3 80 01 C3 80 01 C3 80
01 C3 80 01 C3 80 07 FF E0 07 FF E0 00 00 00 03
70 05 02 06 40 00 00 00 03 45 05 02 4F 7A 00 00
00 05 00 00 00 00 00 00 3F FF FC 3F FF FC 0E 1C
70 0E 1C 70 0E 1C 70 0E 1C 70 0E 1C 70 0E 1C 70
0E 1C 70 0E 1C 70 0E 1C 70 0E 1C 70 0E 1C 70 0E
1C 70 0E 1C 70 0E 1C 70 0E 1C 70 0E 1C 70 0E 1C
70 3F FF FC 3F FF FC 00 00 00 03 51 05
2016-02-26 10:11:38.399146: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:38.727290: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 06
00 00 00 00 00 00 7F FC 7F 7F FC 7F 1C 60 1C 1C
70 1C 1C 70 18 1C 70 38 1C 30 38 1C 38 30 1C 38
30 1C 18 30 1C 18 30 1C 18 60 1C 1C 60 1C 1C E0
1C 0C E0 1C 0E C0 1C 0E C0 1C 07 C0 1C 07 80 7F
07 80 7F 03 80 00 00 00 03 44 05 02 06 40 00 00
00 03 45 05
2016-02-26 10:11:38.742898: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:38.946041: NAOMI2
02 4F 7A 00 00 00 07 00 00 00 00 00 00 3F 81 FC
3F 81 FC 0E 00 70 0E 00 70 07 00 E0 07 00 E0 03
00 C0 03 81 C0 03 81 C0 01 81 80 01 C3 80 01 C3
80 00 C3 00 00 E7 00 00 E7 00 00 66 00 00 7E 00
00 7E 00 00 3C 00 00 3C 00 00 3C 00 00 00 00 03
6B 05
2016-02-26 10:11:39.071041: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:39.399168: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 08
00 00 00 00 00 00 FE 3F FE FE 3F FE 38 06 38 38
0E 38 18 0E 38 1C 0E 38 1C 0C 38 0C 1C 38 0C 1C
38 0C 18 38 0C 18 38 06 18 38 06 38 38 07 38 38
07 30 38 03 70 38 03 70 38 03 E0 38 01 E0 38 01
E0 FE 01 C0 FE 00 00 00 03 10 05 02 06 40 00 00
00 03 45 05
2016-02-26 10:11:39.414774: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:39.742918: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:39.946043: NAOMI2
02 4F 7A 00 00 00 09 00 00 00 00 00 00 FE 7F FF
FE 7F FF 38 1B 9C 38 1B 9C 18 3B 9C 18 3B 9C 1C
33 9C 1C 33 9C 0C 33 9C 0C 33 9C 0C 73 9C 0C 73
9C 0E 63 9C 0E 63 9C 06 E3 9C 06 E3 9C 07 C3 9C
07 C3 9C 03 C3 9C 03 8F FF 01 8F FF 00 00 00 03
61 05 02 06 40 00 00 00 03 45 05 02 4F 7A 00 00
00 0A 00 00 00 00 00 00 7F FF F8 FF FF FC FF FF
FC FF FF FC FF FF FC FF FF FC DD 76 1C C9 75 FC
D5 AD FC DD AD 1C DD DD DC DD DD DC DD DD DC DD
DE 1C FF FF FC FF FF FC FF FF FC FF FF FC 7F FF
F8 00 00 00 00 00 00 00 00 00 03 1C 05
2016-02-26 10:11:40.071044: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:40.399150: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 0B
00 00 00 00 00 00 7F FF F8 FF FF FC FF FF FC FF
FF FC FF FF FC FF FF FC DD 86 3C DD 7F 7C DD 7F
7C DD 9F 7C DD EF 7C DD F7 7C DD F7 7C E3 0E 3C
FF FF FC FF FF FC FF FF FC FF FF FC 7F FF F8 00
00 00 00 00 00 00 00 00 03 07 05 02 06 40 00 00
00 03 45 05
2016-02-26 10:11:40.414795: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:40.617921: NAOMI2
02 4F 7A 00 00 00 0C 00 00 00 00 00 00 7F FF F8
FF FF FC FF FF FC FF FF FC FF FF FC FF FF FC F7
76 1C EB 6D FC EB 5D FC DD 1D 1C DD 6D DC C1 6D
DC DD 75 DC DD 76 1C FF FF FC FF FF FC FF FF FC
FF FF FC 7F FF F8 00 00 00 00 00 00 00 00 00 03
68 05
2016-02-26 10:11:40.742920: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:40.946026: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 0D
00 00 00 00 00 00 7F FF F8 FF FF FC FF FF FC FF
FF FC FF FF FC FF FF FC F7 75 DC EB 6C DC EB 5D
5C DD 1D 9C DD 6D DC C1 6D DC DD 75 DC DD 75 DC
FF FF FC FF FF FC FF FF FC FF FF FC 7F FF F8 00
00 00 00 00 00 00 00 00 03 68 05
2016-02-26 10:11:41.071026: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:11:41.086651: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:41.414797: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:41.617922: NAOMI2
02 4F 7A 00 00 00 0E 00 00 00 00 00 00 7F FF F8
FF FF FC FF FF FC FF FF FC FF FF FC FF FF FC E3
0D DC F7 75 DC F7 75 DC F7 74 1C F7 0D DC F7 6D
DC F7 75 DC E3 75 DC FF FF FC FF FF FC FF FF FC
FF FF FC 7F FF F8 00 00 00 00 00 00 00 00 00 03
1D 05 02 06 40 00 00 00 03 45 05 02 4F 7A 00 00
00 0F 00 00 00 00 00 00 7F FF F8 FF FF FC F7 75
DC EB 6C DC EB 5D 5C DD 1D 9C DD 6D DC C1 6D DC
DD 75 DC DD 75 DC FF FF FC FF FF FC C4 C2 AC DD
5A AC ED 5A AC F5 5A AC C5 42 4C FF FF FC 7F FF
F8 00 00 00 00 00 00 00 00 00 03 C4 05
2016-02-26 10:11:41.742903: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:42.071028: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 10
00 00 00 00 00 00 7F FF F8 FF FF FC FF FF FC FF
FF FC FF FF FC FF FF FC DD DC 3C DD AD DC DD AD
DC C1 74 3C DD 75 FC DD 05 FC DD 75 FC DD 75 FC
FF FF FC FF FF FC FF FF FC FF FF FC 7F FF F8 00
00 00 00 00 00 00 00 00 03 1E 05 02 06 40 00 00
00 03 45 05
2016-02-26 10:11:42.086654: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:42.289779: NAOMI2
02 4F 7A 00 00 00 11 00 00 00 00 00 00 7F FF F8
FF FF FC FF FF FC FF FF FC FF FF FC FF FF FC E1
75 DC DF 74 9C DF 75 5C E7 05 DC FB 75 DC FD 75
DC FD 75 DC C3 75 DC FF FF FC FF FF FC FF FF FC
FF FF FC 7F FF F8 00 00 00 00 00 00 00 00 00 03
54 05
2016-02-26 10:11:42.414779: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:42.617904: NAOMI2
02 06 40 00 00 00 03 45 05 02 4F 7A 00 00 00 12
00 00 00 00 00 00 7F FF F8 FF FF FC FF FF FC FF
FF FC FF FF FC FF FF FC C1 85 DC F7 7D BC F7 7D
7C F7 9C 7C F7 ED BC F7 F5 BC F7 F5 DC F7 0D DC
FF FF FC FF FF FC FF FF FC FF FF FC 7F FF F8 00
00 00 00 00 00 00 00 00 03 77 05
2016-02-26 10:11:42.742905: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:11:42.758531: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:43.086670: READER
06 02 06 7A A0 30 30 03 DF 06 02 06 40 A0 30 32
03 E7
2016-02-26 10:11:43.289799: NAOMI2
02 4F 7A 00 00 00 13 04 00 00 04 00 00 0E 00 00
0E 00 00 FF E0 00 7F C0 00 3F 80 00 1F 00 00 3F
80 00 3B 80 00 60 C0 00 40 40 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03
81 05 02 06 40 00 00 00 03 45 05 02 4F 7A 00 00
00 14 04 00 00 04 00 00 0E 00 00 0E 00 00 FF E0
00 7F C0 00 3F 80 00 1F 00 00 3F 80 00 3B 80 00
60 C0 00 40 40 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 03 86 05
2016-02-26 10:11:43.305407: READER
06 02 06 7A A0 30 30 03 DF
2016-02-26 10:11:53.633569: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 20 00 00 00 03
25 05
2016-02-26 10:11:53.649190: READER
06 02 06 40 A0 30 32 03 E7 06 02 06 20 A0 30 30
03 85
2016-02-26 10:12:02.586712: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:12:03.008587: READER
06 02 06 40 A0 30 32 03 E7 06 02 06 40 A0 30 32
03 E7 06 02 06 20 A0 30 30 03 85 06 02 06 40 A0
30 32 03 E7
2016-02-26 10:12:03.117945: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 20 00 00 00 03
25 05 02 06 40 00 00 00 03 45 05 02 09 33 00 00
00 32 31 36 03 0C 05
 
PART2:

2016-02-26 10:12:03.133573: READER
06 02 06 33 A0 30 33 03 95
2016-02-26 10:12:03.430464: NAOMI2
05
2016-02-26 10:12:03.446088: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:03.742964: NAOMI2
05
2016-02-26 10:12:03.742964: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:04.039840: NAOMI2
05
2016-02-26 10:12:04.055465: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:04.336716: NAOMI2
05
2016-02-26 10:12:04.352341: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:04.633591: NAOMI2
05
2016-02-26 10:12:04.649212: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:04.946092: NAOMI2
05
2016-02-26 10:12:04.946092: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:05.242949: NAOMI2
05
2016-02-26 10:12:05.258594: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:05.539825: NAOMI2
05
2016-02-26 10:12:05.555450: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:05.836719: NAOMI2
05
2016-02-26 10:12:05.852325: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:06.149219: NAOMI2
05
2016-02-26 10:12:06.164826: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:06.446095: NAOMI2
05
2016-02-26 10:12:06.461702: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:06.742952: NAOMI2
05
2016-02-26 10:12:06.758577: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:07.055454: NAOMI2
05
2016-02-26 10:12:07.055454: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:07.352347: NAOMI2
05
2016-02-26 10:12:07.367972: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:07.649203: NAOMI2
05
2016-02-26 10:12:07.664848: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:07.946098: NAOMI2
05
2016-02-26 10:12:07.961705: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:08.258580: NAOMI2
05
2016-02-26 10:12:08.258580: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:08.555474: NAOMI2
05
2016-02-26 10:12:08.571081: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:08.852331: NAOMI2
05
2016-02-26 10:12:08.867975: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:09.149206: NAOMI2
05
2016-02-26 10:12:09.164833: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:09.461726: NAOMI2
05
2016-02-26 10:12:09.461726: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:09.758583: NAOMI2
05
2016-02-26 10:12:09.774207: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:10.055458: NAOMI2
05
2016-02-26 10:12:10.071103: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:10.352352: NAOMI2
05
2016-02-26 10:12:10.367959: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:10.664853: NAOMI2
05
2016-02-26 10:12:10.664853: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:10.961728: NAOMI2
05
2016-02-26 10:12:10.977336: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:11.258586: NAOMI2
05
2016-02-26 10:12:11.274211: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:11.555461: NAOMI2
05
2016-02-26 10:12:11.571086: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:11.867981: NAOMI2
05
2016-02-26 10:12:11.883606: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:12:12.102357: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:12:12.117983: READER
06 02 06 40 A0 30 30 03 E5
2016-02-26 10:12:12.383588: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 20 00 00 00 03
25 05
2016-02-26 10:12:12.524232: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:12:12.649213: NAOMI2
02 07 D0 00 00 00 30 03 E4 05
2016-02-26 10:12:12.664839: READER
06 02 06 40 A0 30 32 03 E7 06 02 06 20 A0 30 30
03 85 06 02 06 40 A0 30 32 03 E7 06 02 06 D0 A0
30 33 03 76
2016-02-26 10:12:12.946107: NAOMI2
05
2016-02-26 10:12:12.961734: READER
02 06 D0 60 30 30 03 B5
 
Monitoring started after Kickback initialization:

Card inserted, game started:

2016-02-26 10:24:48.400710: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 20 00 00 00 03
25 05
2016-02-26 10:24:48.416335: READER
06 02 06 40 A0 30 32 03 E7 06 02 06 20 A0 30 30
03 85
2016-02-26 10:24:55.697581: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 40 00 00 00 03
45 05
2016-02-26 10:24:55.838206: NAOMI2
02 06 20 00 00 00 03 25 05
2016-02-26 10:24:55.978831: READER
06 02 06 40 A0 30 32 03 E7 06 02 06 40 A0 30 32
03 E7 06 02 06 20 A0 30 30 03 85 06 02 06 40 A0
30 32 03 E7
2016-02-26 10:24:56.103850: NAOMI2
02 06 40 00 00 00 03 45 05 02 09 33 00 00 00 32
31 36 03 0C 05
2016-02-26 10:24:56.119456: READER
06 02 06 33 A0 30 33 03 95
2016-02-26 10:24:56.416351: NAOMI2
05
2016-02-26 10:24:56.431975: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:56.728833: NAOMI2
05
2016-02-26 10:24:56.728833: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:57.025727: NAOMI2
05
2016-02-26 10:24:57.041333: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:57.322584: NAOMI2
05
2016-02-26 10:24:57.338228: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:57.619478: NAOMI2
05
2016-02-26 10:24:57.635084: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:57.931960: NAOMI2
05
2016-02-26 10:24:57.931960: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:58.228837: NAOMI2
05
2016-02-26 10:24:58.244460: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:58.525711: NAOMI2
05
2016-02-26 10:24:58.541356: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:58.822587: NAOMI2
05
2016-02-26 10:24:58.838214: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:59.135087: NAOMI2
05
2016-02-26 10:24:59.150713: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:59.431963: NAOMI2
05
2016-02-26 10:24:59.447589: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:24:59.728838: NAOMI2
05
2016-02-26 10:24:59.744464: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:00.025735: NAOMI2
05
2016-02-26 10:25:00.041340: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:00.338233: NAOMI2
05
2016-02-26 10:25:00.338233: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:00.635109: NAOMI2
05
2016-02-26 10:25:00.650715: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:00.931966: NAOMI2
05
2016-02-26 10:25:00.947610: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:01.244485: NAOMI2
05
2016-02-26 10:25:01.244485: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:01.541342: NAOMI2
05
2016-02-26 10:25:01.556969: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:01.838236: NAOMI2
05
2016-02-26 10:25:01.853843: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:02.135094: NAOMI2
05
2016-02-26 10:25:02.150719: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:02.447612: NAOMI2
05
2016-02-26 10:25:02.447612: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:02.744469: NAOMI2
05
2016-02-26 10:25:02.760114: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:03.041364: NAOMI2
05
2016-02-26 10:25:03.056989: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:03.338221: NAOMI2
05
2016-02-26 10:25:03.353846: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:03.650740: NAOMI2
05
2016-02-26 10:25:03.650740: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:03.947616: NAOMI2
05
2016-02-26 10:25:03.963222: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:04.244473: NAOMI2
05
2016-02-26 10:25:04.260097: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:04.541349: NAOMI2
05
2016-02-26 10:25:04.556973: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:04.853849: NAOMI2
05
2016-02-26 10:25:04.853849: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:05.150724: NAOMI2
05
2016-02-26 10:25:05.166349: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:05.447619: NAOMI2
05
2016-02-26 10:25:05.463225: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:05.744495: NAOMI2
05
2016-02-26 10:25:05.760124: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:06.056995: NAOMI2
05
2016-02-26 10:25:06.072601: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:06.353851: NAOMI2
05
2016-02-26 10:25:06.369496: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:06.650727: NAOMI2
05
2016-02-26 10:25:06.666377: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:06.963227: NAOMI2
05
2016-02-26 10:25:06.963227: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:07.260103: NAOMI2
05
2016-02-26 10:25:07.275728: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:07.556998: NAOMI2
05
2016-02-26 10:25:07.572604: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:07.853854: NAOMI2
05
2016-02-26 10:25:07.869480: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:08.166355: NAOMI2
05
2016-02-26 10:25:08.166355: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:08.463231: NAOMI2
05
2016-02-26 10:25:08.478856: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:08.760105: NAOMI2
05
2016-02-26 10:25:08.775731: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:09.056982: NAOMI2
05
2016-02-26 10:25:09.072607: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:09.369500: NAOMI2
05
2016-02-26 10:25:09.369500: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:09.666377: NAOMI2
05
2016-02-26 10:25:09.681983: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:09.963233: NAOMI2
05
2016-02-26 10:25:09.978859: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:10.260109: NAOMI2
05
2016-02-26 10:25:10.275734: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:10.572609: NAOMI2
05
2016-02-26 10:25:10.572609: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:10.869485: NAOMI2
05
2016-02-26 10:25:10.885110: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:11.166360: NAOMI2
05
2016-02-26 10:25:11.181986: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:11.463255: NAOMI2
05
2016-02-26 10:25:11.478862: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:11.775750: NAOMI2
05
2016-02-26 10:25:11.791362: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:12.072632: NAOMI2
05
2016-02-26 10:25:12.088257: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:12.369488: NAOMI2
05
2016-02-26 10:25:12.385115: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:12.666364: NAOMI2
05
2016-02-26 10:25:12.681988: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:12.978883: NAOMI2
05
2016-02-26 10:25:12.994509: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:13.275758: NAOMI2
05
2016-02-26 10:25:13.291379: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:13.572634: NAOMI2
05
2016-02-26 10:25:13.588241: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:13.885116: NAOMI2
05
2016-02-26 10:25:13.885116: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:14.181993: NAOMI2
05
2016-02-26 10:25:14.197617: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:14.478885: NAOMI2
05
2016-02-26 10:25:14.494493: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:14.775743: NAOMI2
05
2016-02-26 10:25:14.791368: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:15.088244: NAOMI2
05
2016-02-26 10:25:15.088244: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:15.385137: NAOMI2
05
2016-02-26 10:25:15.400764: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:15.682013: NAOMI2
05
2016-02-26 10:25:15.697639: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:15.978870: NAOMI2
05
2016-02-26 10:25:15.994495: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:16.291371: NAOMI2
05
2016-02-26 10:25:16.291371: READER
02 06 33 A0 30 34 03 92
2016-02-26 10:25:16.588265: NAOMI2
05
2016-02-26 10:25:16.603891: READER
02 06 33 A1 30 33 03 94
2016-02-26 10:25:16.885122: NAOMI2
05
2016-02-26 10:25:16.900767: READER
02 06 33 A3 30 33 03 96
2016-02-26 10:25:17.478892: NAOMI2
05
2016-02-26 10:25:17.494499: READER
02 06 33 B8 30 33 03 8D
2016-02-26 10:25:17.791393: NAOMI2
05
2016-02-26 10:25:17.806999: READER
02 06 33 B8 30 30 03 8E
2016-02-26 10:25:18.072644: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 40 00 00 00 03
45 05
2016-02-26 10:25:18.213251: NAOMI2
02 07 D0 00 00 00 30 03 E4 05
2016-02-26 10:25:18.228875: READER
06 02 06 40 B8 30 32 03 FF 06 02 06 40 B8 30 32
03 FF 06 02 06 D0 B8 30 33 03 6E
2016-02-26 10:25:18.510128: NAOMI2
05
2016-02-26 10:25:18.525751: READER
02 06 D0 78 30 30 03 AD
2016-02-26 10:25:18.728895: READER
06 02 06 40 78 30 32 03 3F
2016-02-26 10:25:18.838251: NAOMI2
02 06 40 00 00 00 03 45 05 02 09 33 00 00 00 30
31 36 03 0E 05
2016-02-26 10:25:18.869521: READER
06 02 06 33 78 30 33 03 4D
2016-02-26 10:25:19.166377: NAOMI2
05
2016-02-26 10:25:19.166377: READER
02 06 33 6E 30 33 03 5B
2016-02-26 10:25:19.947647: NAOMI2
05
2016-02-26 10:25:19.947647: READER
02 06 33 78 30 33 03 4D
2016-02-26 10:25:20.244503: NAOMI2
05
2016-02-26 10:25:20.510130: READER
02 D5 33 78 30 30 0E 16 71 3F 7A 07 61 12 38 F6
8E 6F B7 51 A7 54 AA A5 30 87 A6 CD 1A B4 EF BA
CB 63 72 CD 0D F3 3C D7 A9 F6 7E 51 1C 5A 39 47
F6 A0 64 C3 19 D7 9B 74 3A 9B 28 0C 47 56 7B 55
A1 13 A8 10 DF 7F EE 4F EE 0B 46 2F D7 4D 62 39
52 A8 CD 6F 9D 16 95 71 02 DA 01 2C 68 F8 D6 6E
1D 52 F3 A4 D4 D0 12 76 F3 51 C8 28 EE 38 E1 D5
E2 FE F2 09 39 95 C2 12 28 5E B6 61 B3 E4 16 37
E6 89 6C 88 69 C3 41 F9 30 EE 24 42 26 EE 32 ED
53 45 47 41 42 48 52 33 2E 34 77 F3 15 72 45 74
A4 ED A1 10 68 D0 1C 98 9D A9 BC A2 C5 35 0D DD
31 35 EB FA 1D CB 8B 0D 3E D6 FA C1 0E E5 FE 53
B7 4B BE 5A F5 C7 AC 6F ED 6D 9A 59 98 09 CC FC
9F 6E 3E 16 50 03 D6
 
Here's the activity after the game ended and I ejected the card:

2016-02-26 10:30:11.713824: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 20 00 00 00 03
25 05
2016-02-26 10:30:11.713824: READER
06 02 06 40 78 30 32 03 3F 06 02 06 20 78 30 30
03 5D
2016-02-26 10:30:11.916968: READER
06 02 06 40 78 30 32 03 3F
2016-02-26 10:30:12.041949: NAOMI2
02 06 40 00 00 00 03 45 05 02 09 33 00 00 00 30
31 36 03 0E 05
2016-02-26 10:30:12.057574: READER
06 02 06 33 78 30 33 03 4D
2016-02-26 10:30:12.354468: NAOMI2
05
2016-02-26 10:30:12.370093: READER
02 06 33 66 30 33 03 53
2016-02-26 10:30:13.135701: NAOMI2
05
2016-02-26 10:30:13.151327: READER
02 06 33 78 30 33 03 4D
2016-02-26 10:30:13.448222: NAOMI2
05
2016-02-26 10:30:13.698221: READER
02 D5 33 78 30 30 0E 16 71 3F 7A 07 61 12 38 F6
8E 6F B7 51 A7 54 AA A5 30 87 A6 CD 1A B4 EF BA
CB 63 72 CD 0D F3 3C D7 A9 F6 7E 51 1C 5A 39 47
F6 A0 64 C3 19 D7 9B 74 3A 9B 28 0C 47 56 7B 55
A1 13 A8 10 DF 7F EE 4F EE 0B 46 2F D7 4D 62 39
52 A8 CD 6F 9D 16 95 71 02 DA 01 2C 68 F8 D6 6E
1D 52 F3 A4 D4 D0 12 76 F3 51 C8 28 EE 38 E1 D5
E2 FE F2 09 39 95 C2 12 28 5E B6 61 B3 E4 16 37
E6 89 6C 88 69 C3 41 F9 30 EE 24 42 26 EE 32 ED
53 45 47 41 42 48 52 33 2E 34 77 F3 15 72 45 74
A4 ED A1 10 68 D0 1C 98 9D A9 BC A2 C5 35 0D DD
31 35 EB FA 1D CB 8B 0D 3E D6 FA C1 0E E5 FE 53
B7 4B BE 5A F5 C7 AC 6F ED 6D 9A 59 98 09 CC FC
9F 6E 3E 16 50 03 D6
2016-02-26 10:30:14.010722: NAOMI2
02 06 40 00 00 00 03 45 05 02 06 20 00 00 00 03
25 05
2016-02-26 10:30:14.026328: READER
06 02 06 40 78 30 32 03 3F 06 02 06 20 78 30 30
03 5D
2016-02-26 10:30:14.213847: NAOMI2
02 06 40 00 00 00 03 45 05
2016-02-26 10:30:14.229472: READER
06 02 06 40 78 30 32 03 3F
2016-02-26 10:30:14.588848: NAOMI2
02 D8 53 00 00 00 30 31 36 2E 5D 01 19 F8 68 8D
8D E7 8E 0D 0A 5B 72 C0 FE 87 B6 2E FA E7 D1 2A
B5 25 59 4A E6 17 DF 79 37 7E 4C 8F D7 89 88 39
E6 61 33 C6 C6 AB 10 B4 88 13 BF 5D 10 20 7B A2
CA 6E F0 2C 7D E3 1E B9 5A D3 68 8E 1C 56 3D 46
F9 AE C0 08 A3 97 66 D0 AC 46 DA 74 DC 3B DB 5C
89 9D 8C EF 76 56 40 87 30 8A 2B B5 C9 A8 A4 54
20 3B 94 11 57 D9 A1 D8 CE 8C DC 76 57 5B 1E 9E
F7 A9 DB 06 B4 CB 14 19 AA 75 00 31 E8 7E 31 BF
A8 94 E6 53 45 47 41 42 48 52 33 48 30 B2 62 EC
41 56 0B A4 39 2E C9 0D CC 9D ED 10 62 28 C2 05
FA C8 B4 B8 E2 70 0D DA F6 CF 29 A8 6E 72 D6 77
91 6E C1 4F 9F 89 9D C6 15 92 72 45 FC F2 3F 46
E6 27 BC C7 1F 74 D5 E9 03 90 05
2016-02-26 10:30:14.635723: READER
06 02 06 53 78 30 33 03 2D
2016-02-26 10:30:15.713833: NAOMI2
05
2016-02-26 10:30:15.979457: NAOMI2
02 06 40 00 00 00 03 45 05 02 07 D0 00 00 00 31
03 E5 05
2016-02-26 10:30:15.995083: READER
02 06 53 78 30 30 03 2E 06 02 06 40 78 30 32 03
3F 06 02 06 D0 78 30 33 03 AE
2016-02-26 10:30:16.416958: NAOMI2
05 02 06 40 00 00 00 03 45 05
2016-02-26 10:30:16.557583: NAOMI2
02 06 80 00 00 00 03 85 05
2016-02-26 10:30:16.573209: READER
02 06 D0 B8 30 30 03 6D 06 02 06 40 B8 30 32 03
FF 06 02 06 80 B8 30 33 03 3E
2016-02-26 10:30:16.870102: NAOMI2
05
2016-02-26 10:30:16.885733: READER
02 06 80 AE 30 33 03 28
2016-02-26 10:30:17.166959: NAOMI2
05
2016-02-26 10:30:17.182586: READER
02 06 80 A7 30 33 03 21
2016-02-26 10:30:17.479479: NAOMI2
05
2016-02-26 10:30:17.479479: READER
02 06 80 A1 30 33 03 27
2016-02-26 10:30:18.198230: NAOMI2
05 02 06 20 00 00 00 03 25 05 02 06 20 00 00 00
03 25 05 02 06 20 00 00 00 03 25 05 02 06 20 00
00 00 03 25 05
2016-02-26 10:30:18.213836: READER
02 06 80 A1 30 30 03 24 06 02 06 20 A1 30 30 03
84 06 02 06 20 A1 30 30 03 84 06 02 06 20 A1 30
30 03 84 06 02 06 20 A0 30 30 03 85
 
brilliant, thank you!

got it working finally
at its start this stupid game sends a lot of read (33) commands even if no card is inserted, I (wrong) assumed reader must return error in such case (result2 = '1' READ ERR), but real thing reply is result3 = '4' "CARD WAIT" instead, and game expects exactly this reply.

with few changes it works fine on emulator now :D
 
I'll have to read in the latest changes to the card to confirm, but I believe things aren't working the way I had hoped. What the NAOMI sends to the reader doesn't look to be the exact same thing as what the reader sends back when reading the card.
 
brilliant, thank you!

got it working finally
at its start this stupid game sends a lot of read (33) commands even if no card is inserted, I (wrong) assumed reader must return error in such case (result2 = '1' READ ERR), but real thing reply is result3 = '4' "CARD WAIT" instead, and game expects exactly this reply.

with few changes it works fine on emulator now :D
Well that's awesome!

Are you able to figure out the method for storing the written data and returning it?
 
MeltaliC, are you finding from a software emulation perspective that RTS/CTS ultimately don't mean much?

I was wondering if from a hardware perspective I could just leave RTS on and not bother polling CTS.
 
of course, by "works fine" I mean everything works fine, including read/write card data.
as was said 53 is write data command.
its {parameters} - 3 characters '016' followed by 207bytes of card data.

read command is 33, {parameters} same 3 char '016' (have no idea what it for, possible some ID code)
in return packet {parameters} must be 207bytes of card data.
 
If at all helpful, I took a few pictures of the data that was read in. I didn't have enough time to get through every screen. I also included a picture of the card.

I would expect Next Inspection to decrease by 1 every time. Ideally any emulation solution would keep this number static. I believe it starts at 50.
 

Attachments

  • IMG_20160226_102504.jpg
    IMG_20160226_102504.jpg
    196.9 KB · Views: 143
  • IMG_20160226_103155.jpg
    IMG_20160226_103155.jpg
    174.9 KB · Views: 142
  • IMG_20160226_102516.jpg
    IMG_20160226_102516.jpg
    162.7 KB · Views: 146
I was comparing data in my logs from what was read and what was written. It doesn't appear to store much in ASCII, but I do see:
SEGABHR3

Maybe that's an indicator for the game to make sure a compatible card was read in?

I'm confused about how to interpret the data. For example, I would expect when the card reads in, it's reading Player Name as X amount of characters. So in what gets read every time, I would expect "JIM" to be stored in that data. Since it's not stored as ASCII, how is this being stored?
 
MetalliC, I would greatly appreciate any help you can give in figuring out the script needed for a hardware emulator. I suspect you're basically coding everything on the emulation side that I'd need anyway.

It looks like the back and forth between the reader and writer isn't terribly complex, but you're light-years ahead of me in understanding what's happening. :P

At a high level a script would need to:
1: Read in the standard NAOMI2 requests.
2: Send expected responses to standard requests.
3: Read in Write command and store that data.
4: Respond to read commands with the stored data (some kind of translation needed?
5: Ability to choose saved card... maybe during the request from NAOMI to enter card?

Nice to have:
-Data that is stored keeps a constant number for NEXT INSPECTION so cards don't expire.
-Figure out what all of the stored card data means to give some kind of external GUI for saving and recalling cards.

With a little work I feel like I'm at the point where I could fake through it by giving the exact responses from my log, but I don't think I'd be able to store the data and send it back correctly. I'm not seeing where the read data and the written data have all of the same constants like NAME, MAKE, MODEL, TRANMISSON, etc.
 
'CRC' is simple bytes XOR, starting from LEN, ending 'END DATA' (included)
I'm not that familiar with CRC methods, but I was playing around with Checksums in the HEX editor HxD.

It looks to me like if I use the following custom CRC settings, I can get the correct result.
data:image/png;base64,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
Bitwidth:8
Polynomial: 1
Initial value: 0
Output XOR: 1
Reflection: Input: checked
Output: checked

In these cases, it looks like the you start at 02 and include everything up to 03 (not included).

So if I take the following line:
02 06 40 00 00 00 03 45 05
I would calculate the CRC on the following:
02 06 40 00 00 00
CRC: 45

This seems to be checking out compared lines from my log.

It will be important for a script to be able to calculate this CRC if we're going to get to the point of modifying values (i.e. NEXT INSPECTION always equals 50).
 
Last edited:
brilliant, thank you!

got it working finally
at its start this stupid game sends a lot of read (33) commands even if no card is inserted, I (wrong) assumed reader must return error in such case (result2 = '1' READ ERR), but real thing reply is result3 = '4' "CARD WAIT" instead, and game expects exactly this reply.

with few changes it works fine on emulator now :D
Would be able to share your findings for the software emulation on this? thank you.
 
I'm not that familiar with CRC methods, but I was playing around with Checksums in the HEX editor HxD.
read message again ;) its not some common CRC-algo, but simple XOR
example:
READER 02 06 33 A0 30 34 03 92
06^33^A0^30^34^03 = 92


Would be able to share your findings for the software emulation on this?
errm, I've already did it. that else you've expecting ?
 
welcome.

more on "read" (0x33) command - it looks it's parameters can significant alter its behavior,

then InitialD just poll card presence status it is '216' (32 31 36), and in this case then card is inserted it will be pulled inside of reader, but no actual data will be read. with '216' result packet always length 6, with no additional data.

then actual data read must be made - sent 0x33 with params '016', in such case command return 207 additional bytes of data read from card.

sadly, but all this findings have no effect on "Derby Owners" - it still moans on card inserted always.
as I see it uses different cmd 0x33 params - '210' and '010'
possible this 3 chars is one more command layer on top of previous...
 
once hardware is underway for this I think a Pi-Zero would be the perfect device (once they're back in stock). they're $5 and the GPIO pins could be used for serial communication. There's also a USB port for connecting a thumb drive as a virtual card or an NFC device. or it could be connected to a small LCD and have the card selected with buttons or a mouse if you wanted to make it an all inclusive unit.

Also the software is stored on an SD card meaning that you could easily use it as a platform for other card readers by just swapping out the SD card.
 
Back
Top