blob: fefc5f1c46eb8291ace6e1faf06d1d6f9463376e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
Easycard #2:
Address 0x80 and 0x90
VALUE BLOCK containing the amount in NTD
0000080 0125 0000 feda ffff 0125 0000 ff00 ff00
VALUE BLOCK containing the amount in NTD
0000090 0184 0000 fe7b ffff 0184 0000 ff00 ff00
Address 0xe0 and 0x100
DATA block containing transaction entering MRT Liuzhangli
00000e0 de01 63d8 004c 0000 0190 0d00 6ad6 0002
0000100 de01 63d8 004c 0000 0190 0d02 6ad6 0002
01 transaction id / counter
4c63d8 upper 24 bits of unix timestamp
0000 no charge
0190 remaining balance on card
0d MRT station code Liuzhangli
6ad6 most likely reader number
Address 0xd0 and 0x110
DATA BLOCK containing transaction leaving MRT Liuzhangli
00000d0 b502 63d9 114c 000c 0184 0d01 6d19 0002
0000110 b502 63d9 114c 000c 0184 0d02 6d19 0002
02 transaction id / counter
4c6349 upper 24 bits of unix timestamp
000c 12 NTD charge
0184 remaining account balance on card
0d MRT station code Liuzhangli
6d19 most likely reader number
Address 0x1d0:
DATA BLOCK containing part of leaving MRT station
00001d0 0000 0000 000d 0000 b500 63d9 004c 0000
000d MRT station code Liuzhangli
4c63d9 upper 24 bits of unix timestamp
Address 0x1e0:
DATA BLOCK containing part of last MRT entering transaction
00001e0 0000 0100 000d 0000 de00 63d8 004c 0000
0x0d == Station Number (Liuzhangli)
4c63d8 upper 24 bits of unix timestamp
Address 0x120
DATA BLOCK containing transaction at Starbucks in XinDian (close Openmoko):
0000120 4403 63fc 204c 005f 0125 0197 d07b 0097
0x03 transaction number
4c63fc upper 24 bits of unix timestamp
0x5f == 95 -> NTD amount of purchase
0x125 == 293 -> NTD remaining after transaction
Address 0x3e0
DATA BLOCK somehow related to shop purchasing
00003e0 0000 0000 0000 0000 0000 0b00 233d 0000
first purchase with easycard.1 (7eleven)
0x0b == day of month of purchase (11th)
0x0023 == 35 -> amount of purchase
00003e0 0000 0000 0000 0000 0000 0c00 4b3d 0000
second purchase with easycard.1 (7eleven)
0x0c == day of month of purchase (12th)
0x004b == 75 -> amount of purchase
00003e0 0000 0000 0000 0000 0000 0c00 5f3d 0000
first purchase with easycard.2 (starbucks)
0x0c == day of month of purchase (12th)
0x005f == 95 -> amount of purchase
00003e0 0000 0000 0000 0000 0000 0c00 233d 0001
second purchase with easycard.2 (cosmed)
0x0c == day of month of purchase (12th)
0x0123 == 291 -> total of all purchases today
== timestamp ==
0x63fc equals 2010-08-12 13:50
0x63d9 is abt. 2010-08-12 11:30
0x63d8 is abt. 2010-08-12 11:22
0x6316 is abt. 2010-08-12 21:30
current working assumption: one tick of the timestamp equals 4 minutes.
this means last wrap of counter was 71 days ago, about june 2nd.
UPDATE: the 0x4c in front actually makes it the upper 24 bits of a unix
timestamp. However, it doesn't count in UTC but in local time.
== Futher notes ==
* purchase at Starbucks prints UID of card in decimal (3224478099 ==
0xc031a193) on receipt
* purchase at other shops indicates this is standard practise
+00000d0 b502 63d9 114c 000c 0184 0d01 6d19 0002
+0000110 b502 63d9 114c 000c 0184 0d02 6d19 0002
=== station numbers ==
0x0d Liuzhangli
0x24 Dapinglin
they are the same as the decimal values in the OnMouseOver in the map
at http://english.trtc.com.tw/ct.asp?xItem=1056373&CtNode=27496&mp=122032
|