There's another (safer) method described here, one could use the LEDDrive event procedure on a known LED and dump the MMIO range 0xc022d000 ... 0xc022d204 to a file 1) when the LED is off 2) when the LED is on. The 2 dumps can be later compared for differences.
Hi, I was able to extract the LED addresss, I see something changing from 0x08 to 0x09 at 0xC022D1FC (green) and 0xC022D200 (AF).
I put these addresses in the boot assembler (entry.s), but I still do not see a reaction.
I think my DISKBOOT.BIN is not recognized as a valid image? If I present a diskboot.bin with just 0x00 inside, The camera will hang also.
Obviously I do something wrong with some very basic settings.
Up to now i just set up some stuff in my diskboot.bin and added some stubs.
How can I verify those very basic settings? Yet I do not understand several stuff like PLATFORMID. I hope I set them right, but I'm not sure.
Here's my makefile.inc
PLATFORMID=12937
PLATFORMOS=dryos
PLATFORMOSVER=54
ROMBASEADDR=0xff010000
# TODO
# Set up size variables for EXMEM
#EXMEM_HEAP_SKIP=0xFD200 #(0x44000000-0x43F02E00) from sub_FF86CAA8 = size of video buffers in EXMEM area (?)
#EXMEM_BUFFER_SIZE=0x300000 # Amount of EXMEM memory to allocate for CHDK = 3MB
MAXRAMADDR=0x07ffffff # 128 MB
# TODO d10 c&p
#ifdef OPT_CHDK_IN_EXMEM
#MEMISOSTART=0x3C02DE0 # MAXRAMADDR+1 - EXMEM_HEAP_SKIP - EXMEM_BUFFER_SIZE - 32 (exmem allocates 64 bytes extra, 32 before and 32 after block allocated)
#else
MEMISOSTART=0x002bebfc
#endif
# type of diskboot encoding
NEED_ENCODED_DISKBOOT=12
# type of FI2 encoding
KEYSYS=d4e
do you see anything which might be wrong?