// @ 0xFF81FD28void __attribute__((naked,noinline)) task_Startup_my() { asm volatile (" STMFD SP!, {R4,LR} \n" " BL sub_FF8165DC \n" " BL sub_FF8353D4 \n" " BL sub_FF83355C \n" //" BL sub_FF83C6C0 \n" " BL sub_FF83C8AC \n" //" BL sub_FF83C754 \n" // Skip starting diskboot.bin again" BL sub_FF83CA48 \n" " BL sub_FF832364 \n" // sub_FF83C8DC Never Returns!!" BL sub_FF83C8DC \n" " BL sub_FF839FE8 \n" " BL sub_FF83CA4C \n" //" BL sub_FF83415C \n" " BL CreateTask_PhySw \n" // our keyboard task" BL CreateTask_spytask \n" // chdk initialization" B sub_FF81FD5C \n" // Return to firmware -----------> );}ROM:FF83C8DC sub_FF83C8DC ; CODE XREF: task_Startup+24pROM:FF83C8DC STMFD SP!, {R4,LR}ROM:FF83C8E0 MOV R1, #4ROM:FF83C8E4 MOV R0, #2ROM:FF83C8E8 BL sub_FF893974ROM:FF83C8EC BL StopWDTROM:FF83C8F0 BL EventProcedureROM:FF83C8F4 BL sub_FF88CC9CROM:FF83C8F8 BL sub_FF8627D8ROM:FF83C8FC BL sub_FF893BFCROM:FF83C900 LDR R2, =0x12CEA600ROM:FF83C904 LDR R1, =0x7FE8177FROM:FF83C908 BL sub_FF83A860ROM:FF83C90C BL sub_FF863BC0ROM:FF83C910 BL sub_FF835CECROM:FF83C914 BL sub_FF833BCCROM:FF83C918 BL sub_FF8697A4ROM:FF83C91C BL sub_FF86261CROM:FF83C920 MOV R0, #1ROM:FF83C924 BL sub_FF865A24ROM:FF83C928 BL sub_FF85FBECROM:FF83C92C BL sub_FF84F5C8ROM:FF83C930 BL sub_FF8620B4ROM:FF83C934 BL sub_FF861A90ROM:FF83C938 BL sub_FF868760ROM:FF83C93C BL sub_FF87B768ROM:FF83C940 BL sub_FF864764ROM:FF83C944 BL sub_FF8949D0ROM:FF83C948 BL sub_FF87A3C8ROM:FF83C94C BL sub_FF8779D0ROM:FF83C950 BL sub_FF868094ROM:FF83C954 BL sub_FF867450ROM:FF83C958 LDMFD SP!, {R4,LR}ROM:FF83C95C B sub_FF8640D0ROM:FF83C95C ; End of function sub_FF83C8DC
Thanks for the info Phil.This is what I've done:-Found the MAXRAMADDR (0x4000000) and video buffer address (0x3D24C00) at sub_FF88F91C.-Set the following in makefile.inc (see attachment): - overrides for OPT_EXMEM_MALLOC, OPT_CHDK_IN_EXMEM - MAXRAMADDR - EXMEM_HEAP_SKIP - EXMEM_BUFFER_SIZE - MEMISOSTART when OPT_CHDK_IN_EXMEM is set-Modified boot.c to use original heap offset if OPT_CHDK_IN_EXMEM is set (see attachment).-Disabled optional CHDK features (games)With these changes, the boot process still doesn't reach CreateTask_PhySw(). I also tried to set OPT_EXMEM_TESTING but the camera did not do anything (tutorial claimed LCD would output addresses).sgtrum
Any tips for me? Maybe someone can spot a mistake I've made in my files.
Waterwingz, your suggestion was right on target. I updated to Changeset 1399 and I now don't have to comment the SD card writes in core/main.c. I also get the CHDK logo at startup. However, the keys still don't work.
*(int*)0x1938 = (int)taskCreateHook;*(int*)0x193C = (int)taskCreateHook;
Started by pizzicat Firmware Dumping
Started by hiker_jon General Discussion and Assistance
Started by slyth999 General Discussion and Assistance
Started by gtoonstra « 1 2 ... 5 6 » General Discussion and Assistance
Started by rdx1968 General Help and Assistance on using CHDK stable releases