Used 7D as a reference for pattern matching and come to this:
if (is_camera("50D", "*"))
{
TTL_SetArgs = (void *) 0xFF195924; /* fills TTJ_Args struct; PictureSize(Mem1ToRaw) */
TTL_Prepare = (void *) 0xFF236248; /* called right after ProcessTwoInTwoOutJpegPath */
/* calls [TTJ] GetPathResources and sets up the encoder for RAW/SRAW/MRAW */
TTL_RegisterCBR = (void *) 0xFFA3555C; /* RegisterTwoInTwoOutJpegPathCompleteCBR */
TTL_SetFlags = (void *) 0xFF0A2534; /* called next, with PictureType as arguments */
TTL_Start = (void *) 0xFFA3652C; /* called next; starts the EDmac transfers */
TTL_Stop = (void *) 0xFFA36564; /* called right after sssStopMem1ToRawPath */
TTL_Finish = (void *) 0xFFA3659C; /* called next; calls UnlockEngineResources and returns output size from JpCoreCompleteCBR */
}
@dfort can you double check please? Mostly used strings to find adjacent code and then checked argument number/function code.
First one is a bit different as argument numbers passed to function, but look like it is the right one.
Code related to resources:
else if (is_camera("50D", "*"))
{
uint32_t resources[] = {
0x00000 | edmac_channel_to_index(edmac_write_chan),
0x10002 | edmac_channel_to_index(edmac_read_chan),
0x30000, /* read connection 0 */
0x20005, /* write connection 5 */
0x20016, /* write connection 16 */
0x50003,
0x5000d,
0x5000f,
0x5001a,
0x80000,
0x90000,
0xa0000,
0x160000,
0x130003,
0x130004,
0x130005,
0x130006,
0x130007,
0x130008,
0x13000c,
0x130010,
0x130011,
0x130012,
0x130013,
0x130014,
0x130015,
0x130018,
0x13001a,
0x13001b,
0x13001c,
};
Is the write_channel set to 0 good instead 0x10003/0x10004 from logs?
Can't find stubs for decompress_init using 7D... Im'a bit stuck... Also what are all the "EngDrvOut(...)" stuff?
@reddeercity Can you update you repository please? It should be very useful to understand what to change from the dfort's repo (won't compile also for 5d2)