Hypothesis: this is the communication link between ARM and Tx19a.
What's there:
- Orientation sensor (PROP_ROLLING_PITCHING_LEVEL data)
- Raw keypress data maybe
- AF microadjust maybe
- ...
To listen to data sent by Tx19a, override the interrupt handlers with these functions:
void my_SIO3_ISR(int a, int b, int c, int d) { static int k = 0; console_printf("sio3[%d] %x %x %x %x / %x %x %x %x\n", k++, *(int*)0xC0820310, *(int*)0xC0820304, *(int*)0xC0820318, *(int*)0xC082031c, a, b, c, d); SIO3_ISR(); }
void my_MREQ_ISR(int a, int b, int c, int d) { static int k = 0; console_printf("mreq[%d] %x %x %x %x / %x %x %x %x\n", k++, *(int*)0xC0820310, *(int*)0xC0820304, *(int*)0xC0820318, *(int*)0xC082031c, a, b, c, d); MREQ_ISR(); }
void xx_test() // Don't click me :) { register_interrupt('MREQ_ISR', 0x50, my_MREQ_ISR, 0); register_interrupt('SIO3_ISR', 0x36, my_SIO3_ISR, 0); }
550D 109:
NSTUB(0xFF1BAEBC, SIO3_ISR) NSTUB(0xFF1BAE2C, MREQ_ISR) NSTUB(0xff1d2944, register_interrupt)
7D SIO3 logged on master directly after startup:
0x00000000 (+0x0000) 05 03 0e 00 00 00 |...... | 0x00000000 (+0x0000) 05 01 22 00 00 00 |.."... | 0x00000000 (+0x0000) 06 01 25 00 00 00 00 03 |..%..... | 0x00000000 (+0x0000) 05 01 37 00 00 00 |..7... | 0x00000000 (+0x0000) 08 01 34 00 00 06 04 01 00 00 |..4....... | 0x00000000 (+0x0000) 05 01 2e 01 00 00 |...... | 0x00000000 (+0x0000) 08 01 35 00 00 06 04 01 00 00 |..5....... | 0x00000000 (+0x0000) 08 01 36 00 00 06 04 01 00 00 |..6....... | 0x00000000 (+0x0000) 05 01 2e 01 00 00 |...... | 0x00000000 (+0x0000) 06 01 25 00 00 00 00 00 |..%..... | 0x00000000 (+0x0000) 06 01 23 00 01 00 00 00 |..#..... | 0x00000000 (+0x0000) 05 01 2c 01 00 00 |..,... | 0x00000000 (+0x0000) 08 03 00 8a 7c 4d 00 00 00 00 |....|M.... | 0x00000000 (+0x0000) 05 03 04 00 00 03 |...... | 0x00000000 (+0x0000) 12 03 15 01 30 5b 00 30 00 12 00 37 91 75 92 1f |....0[.0...7.u..| 0x00000010 (+0x0010) 00 00 00 00 |.... | 0x00000000 (+0x0000) 22 03 3c 00 00 11 ab cd 00 00 00 00 00 00 00 00 |".<.............| 0x00000010 (+0x0010) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 0x00000020 (+0x0020) 00 00 00 00 |.... | 0x00000000 (+0x0000) 05 03 17 98 00 00 |...... | 0x00000000 (+0x0000) 05 03 23 19 00 00 |..#... | 0x00000000 (+0x0000) 1d 03 24 45 46 2d 53 31 38 2d 35 35 6d 6d 20 66 |..$EF-S18-55mm f| 0x00000010 (+0x0010) 2f 33 2e 35 2d 35 2e 36 20 49 53 00 00 00 |/3.5-5.6 IS... | 0x00000000 (+0x0000) 04 03 25 00 00 00 |..%... | 0x00000000 (+0x0000) 05 01 3d 00 00 03 |..=... | 0x00000000 (+0x0000) 05 03 0d 00 00 00 |...... | 0x00000000 (+0x0000) 12 03 15 01 30 5b 00 30 00 12 00 37 91 75 92 1f |....0[.0...7.u..| 0x00000010 (+0x0010) 00 00 00 00 |.... | 0x00000000 (+0x0000) 05 03 0c 00 00 00 |...... | 0x00000000 (+0x0000) 05 03 35 01 00 00 |..5... | 0x00000000 (+0x0000) 1b 03 1d 24 00 00 00 00 a9 00 4c 50 2d 45 36 00 |...$......LP-E6.| 0x00000010 (+0x0010) 00 00 00 00 01 00 4b 2f 64 69 00 00 |......K/di.. | 0x00000000 (+0x0000) 04 03 36 00 00 00 |..6... | 0x00000000 (+0x0000) 05 03 35 01 00 00 |..5... | 0x00000000 (+0x0000) 1b 03 1d 24 00 00 00 00 a9 00 4c 50 2d 45 36 00 |...$......LP-E6.| 0x00000010 (+0x0010) 00 00 00 00 01 00 4b 2f 64 69 00 00 |......K/di.. | 0x00000000 (+0x0000) 04 03 36 00 00 00 |..6... | 0x00000000 (+0x0000) 05 04 01 5f 00 00 |..._.. | 0x00000000 (+0x0000) 14 01 4e 00 00 00 00 00 00 00 00 00 00 00 19 00 |..N.............| 0x00000010 (+0x0010) 00 00 0c 00 00 00 |...... | 0x00000000 (+0x0000) 14 01 4e 00 00 00 00 00 00 00 00 00 00 00 19 00 |..N.............| 0x00000010 (+0x0010) 00 00 0c 00 00 00 |...... | 0x00000000 (+0x0000) 05 06 11 01 00 00 |...... | 0x00000000 (+0x0000) 05 06 12 00 00 2d |.....- | 0x00000000 (+0x0000) 05 06 13 00 00 00 |...... | 0x00000000 (+0x0000) 05 06 22 00 00 00 |.."... | 0x00000000 (+0x0000) 41 0a 08 ff 1f 01 00 00 00 00 00 00 00 00 00 00 |A...............| 0x00000010 (+0x0010) 00 00 01 01 00 00 04 01 00 79 00 00 00 00 00 00 |.........y......| 0x00000020 (+0x0020) 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 0x00000030 (+0x0030) 00 00 00 00 00 00 00 00 89 00 00 00 70 e4 72 b7 |............p.r.| 0x00000040 (+0x0040) 70 e4 |p. | 0x00000000 (+0x0000) 05 04 0e 01 00 00 |...... | 0x00000000 (+0x0000) 05 03 35 01 00 00 |..5... | 0x00000000 (+0x0000) 1b 03 1d 24 00 00 00 00 a9 00 4c 50 2d 45 36 00 |...$......LP-E6.| 0x00000010 (+0x0010) 00 00 00 00 01 00 4b 2f 64 69 00 00 |......K/di.. | 0x00000000 (+0x0000) 04 03 36 00 00 00 |..6... | 0x00000000 (+0x0000) 05 03 16 00 00 00 |...... | 0x00000000 (+0x0000) 05 03 35 01 00 00 |..5... | 0x00000000 (+0x0000) 1b 03 1d 24 00 00 00 00 a9 00 4c 50 2d 45 36 00 |...$......LP-E6.| 0x00000010 (+0x0010) 00 00 00 00 01 00 4b 2f 64 69 00 00 |......K/di.. | 0x00000000 (+0x0000) 04 03 36 00 00 00 |..6... | 0x00000000 (+0x0000) 05 04 0d 01 00 06 |...... |
See also: