I just had a look at the dump and disassembly and I noticed that 0x9F3CC is used for pointing to mykbd_task, 0xA008C for task_blinker and 0x9D0E5 for core_spytask. Now, the last one looked a bit strange, since the address is not 4-byte aligned. It was only after examining the dump that I saw 2-byte instructions for that particular part of code, at 0x9D0E4, that I remembered that odd addresses are used to identify thumb code. I also remembered some reference to 'this code is supposed to be in thumb mode', and the Makefile in core/ reflects that. I guess _CreateTask has some sort of problem with thumb addresses/code (doesn't exchange properly?), but I'm not that experienced with ARM ASM or this firmware in general. As I'm typing this, I'm loading the
A720 firmware in IDA to see what it's supposed to do, but it's still processing.
Edit: Oh, yes. What GrAnd said, heh.
by the way, I modified the code a bit so I could locate my stuff in the disassembly (I still had to figure out what was getting loaded where and how to get to it), because I didn't know the dump file was being generated. That's why addresses might be a bit different, if you're concerned 😀
Edit2(late): I just realized that I failed to reply to the rest of your post
The optical soundcard-input wouldn't help much since the firmware-blinker doesn't blink the SPDIF protocol. You will need a phototransistor. It is mentioned in the wiki and some threads in the firmware-dumping section.
Hm, I thought it could do something with 'analog' signals as well, but as I'm typing this (I never really carefully thought it through) it sounds stupid... well, I don't have an optical-in, so that's probably why I didn't know. I did read about the transistor, but stores are closed for today so I was actually trying to find something else, perhaps an optical mouse, so I could do it today. Unfortunately I don't have one with the right chip, so I'll have to go out and buy some stuff tomorrow, I guess.
What platform?
Check if the archive I posted compiles ("make fir").
The arm-gcc that is built using the instructions in the wiki apply a patch to the gcc-sources. In general I suggest we all use the same compiler to minimize differences (different camera models are enough to cope with) and thus reduce the chance of "strange" errors. This way either everybody or nobody gets this error and the situation will be less confusing. You might already know: different versions of a software are support-hell 😀
Linux. It compiles, apart from a lot of warnings and 'dangerous error' every now and then, though it looks like it compiles well. I haven't changed the LED addresses and looked into other to-be-changed things yet, so I haven't yet tested it on my camera. It does compile my own programs, as I said earlier.
I will look into the newer/uptodate compiler though, and I'll try to set it up somewhere private so I can use them both (all three actually) without too much trouble.
I doubt I can buy enough time to not have to worry about the upcoming three weeks of exams 😉