Fandom

Magic Lantern Firmware Wiki

SIO3 MREQ

328pages on
this wiki
Add New Page
Talk0 Share

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:

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki