Magic Lantern Firmware Wiki
Advertisement

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:

Advertisement