Attached patch adds the ability to identify the Zico blobs (and the function that references them). It's not finished, because I wasn't sure how the info about those blobs should be stored. There's already an array that keeps blob properties, but that seems mostly for blobs that can actually be used for identifying stuff (some utility functions use that array).The goal would be a list of blobs (and their known properties), extending the existing list in stubs_entry.S. Some software (khm) could then read that list and let the user easily import the blobs appearing there.Some other blobs might be added later - second ARM, audio/video codec blob(s), etc.
Can you take a look at it and spot if I'm doing anything incorrectly? Those two iter states are somewhat confusing (there's one in fw and there's also 'is').
ldr r0, =0xfcabcabcldr r0, [r0]
Here's my take at splitting up the matches. I only tested for g7x and sx280. I noticed sx280 only picks up two blobs, but the same is true for your earlier code.
- if (k < (fw->size8 - sizeof(ctypes)))+ if ((k < (fw->size8 - sizeof(ctypes))) && (k > (fw->main_offs)))
The sx280 doesn't seem to have a valid 0xbff00000 blob, so that's ok. The code seems to be working. I did not go further, because I have a feeling you may prefer to store the blob properties in misc_vals (and that's not trivial).
Something like this in find_ctypes() appears to be enough:
Started by NewbieToobie
Started by arm.indiana
Started by zeno
« 1 2 3 »
General Help and Assistance on using CHDK stable releases
Started by c10ud
« 1 2 ... 11 12 »
General Discussion and Assistance
Started by alvm