Changeset 837


Ignore:
Timestamp:
11/13/09 03:04:58 (4 years ago)
Author:
reyalp
Message:

add extra long exposure for G9. 100g is tested, others are not.

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/camera.h

    r834 r837  
    148148    #define CAM_BRACKETING              1 
    149149    #define CAM_MULTIPART               1 
     150    #define CAM_EXT_TV_RANGE            1 
    150151//========================================================== 
    151152// A-series 
  • trunk/platform/g9/sub/100d/boot.c

    r707 r837  
    1515void CreateTask_PhySw(); 
    1616void CreateTask_spytask(); 
     17 
     18void taskCreateHook(int *p) {  
     19 p-=16; 
     20// TODO can save some memory by hooking other tasks this way 
     21// if (p[0]==0x)  p[0]=(int)capt_seq_task; 
     22// if (p[0]==0x)  p[0]=(int)movie_record_task; 
     23// if (p[0]==0x)  p[0]=(int)init_file_modules_task; 
     24 if (p[0]==0xFF8B8B90)  p[0]=(int)exp_drv_task; 
     25} 
     26 
     27void taskCreateHook2(int *p) {  
     28 p-=16; 
     29// if (p[0]==0x)  p[0]=(int)init_file_modules_task; 
     30 if (p[0]==0xFF8B8B90)  p[0]=(int)exp_drv_task; 
     31} 
    1732 
    1833/* 
     
    91106 
    92107 
    93     // Code taken from VxWorks CHDK. Changes CPU speed? 
     108    // Code taken from VxWorks CHDK. turns caches on 
    94109    asm volatile ( 
    95110        "MRC     p15, 0, R0,c1,c0\n" 
     
    117132    :::"r0"); 
    118133*/ 
     134 
     135    *(int*)0x1930=(int)taskCreateHook;  
     136    *(int*)0x1934=(int)taskCreateHook2;  
    119137 
    120138    // jump to init-sequence that follows the data-copy-routine  
  • trunk/platform/g9/sub/100d/capt_seq.c

    r647 r837  
    450450 ); 
    451451} 
    452                                  
     452 
     453 
     454void __attribute__((naked,noinline)) exp_drv_task(){ 
     455 asm volatile( 
     456"                STMFD   SP!, {R4-R8,LR}\n" 
     457"                SUB     SP, SP, #0x20\n" 
     458"                LDR     R8, =0xBB8\n" 
     459"                LDR     R7, =0x7270\n" 
     460"                LDR     R5, =0x462E8\n" 
     461"                MOV     R0, #0\n" 
     462"                ADD     R6, SP, #0x10\n" 
     463"                STR     R0, [SP,#0xC]\n" 
     464"loc_FF8B8BB0:\n" 
     465"                LDR     R0, [R7,#0x20]\n" 
     466"                MOV     R2, #0\n" 
     467"                ADD     R1, SP, #0x1C\n" 
     468"                BL      sub_FF829FB0\n" // KerQueue.c 0 
     469"                LDR     R0, [SP,#0xC]\n" 
     470"                CMP     R0, #1\n" 
     471"                BNE     loc_FF8B8BF8\n" 
     472"                LDR     R0, [SP,#0x1C]\n" 
     473"                LDR     R0, [R0]\n" 
     474"                CMP     R0, #0x13\n" 
     475"                CMPNE   R0, #0x14\n" 
     476"                CMPNE   R0, #0x15\n" 
     477"                BEQ     loc_FF8B8D78\n" 
     478"                CMP     R0, #0x26\n" 
     479"                BEQ     loc_FF8B8CE4\n" 
     480"                ADD     R1, SP, #0xC\n" 
     481"                MOV     R0, #0\n" 
     482"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     483"loc_FF8B8BF8:\n" 
     484"                LDR     R0, [SP,#0x1C]\n" 
     485"                LDR     R1, [R0]\n" 
     486"                CMP     R1, #0x2B\n" 
     487"                BNE     loc_FF8B8C28\n" 
     488"                LDR     R0, [SP,#0x1C]\n" 
     489"                BL      sub_FF8B9E70\n" // ExpDrv.c 0 
     490"                LDR     R0, [R7,#0x1C]\n" 
     491"                MOV     R1, #1\n" 
     492"                BL      sub_FF829D2C\n" 
     493"                BL      sub_FF81BD80\n" 
     494"                ADD     SP, SP, #0x20\n" 
     495"                LDMFD   SP!, {R4-R8,PC}\n" 
     496"loc_FF8B8C28:\n" 
     497"                CMP     R1, #0x2A\n" 
     498"                BNE     loc_FF8B8C44\n" 
     499"                LDR     R2, [R0,#0x88]!\n" 
     500"                LDR     R1, [R0,#4]\n" 
     501"                MOV     R0, R1\n" 
     502"                BLX     R2\n" 
     503"                B       loc_FF8B91DC\n" 
     504"loc_FF8B8C44:\n" 
     505"                CMP     R1, #0x24\n" 
     506"                BNE     loc_FF8B8C94\n" 
     507"                LDR     R0, [R7,#0x1C]\n" 
     508"                MOV     R1, #0x80\n" 
     509"                BL      sub_FF829D60\n" 
     510"                LDR     R0, =0xFF8B562C\n" 
     511"                MOV     R1, #0x80\n" 
     512"                BL      sub_FF93626C\n" // IrisController.c 104 done 
     513"                LDR     R0, [R7,#0x1C]\n" 
     514"                MOV     R2, R8\n" 
     515"                MOV     R1, #0x80\n" 
     516"                BL      sub_FF829C64\n" // KerFlag.c 0 
     517"                TST     R0, #1\n" 
     518"                LDRNE   R1, =0xD07\n" 
     519"                BNE     loc_FF8B8D54\n" 
     520"loc_FF8B8C80:\n" 
     521"                LDR     R1, [SP,#0x1C]\n" 
     522"                LDR     R0, [R1,#0x8C]\n" 
     523"                LDR     R1, [R1,#0x88]\n" 
     524"                BLX     R1\n" 
     525"                B       loc_FF8B91DC\n" 
     526"loc_FF8B8C94:\n" 
     527"                CMP     R1, #0x25\n" 
     528"                BNE     loc_FF8B8CDC\n" 
     529"                ADD     R1, SP, #0xC\n" 
     530"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     531"                LDR     R0, [R7,#0x1C]\n" 
     532"                MOV     R1, #0x100\n" 
     533"                BL      sub_FF829D60\n" 
     534"                MOV     R1, #0x100\n" 
     535"                LDR     R0, =0xFF8B563C\n" 
     536"                BL      sub_FF936A2C\n" // IrisController.c 0 done 
     537"                LDR     R0, [R7,#0x1C]\n" 
     538"                MOV     R2, R8\n" 
     539"                MOV     R1, #0x100\n" 
     540"                BL      sub_FF829C64\n" // KerFlag.c 0 
     541"                TST     R0, #1\n" 
     542"                BEQ     loc_FF8B8C80\n" 
     543"                LDR     R1, =0xD11\n" 
     544"                B       loc_FF8B8D54\n" 
     545"loc_FF8B8CDC:\n" 
     546"                CMP     R1, #0x26\n" 
     547"                BNE     loc_FF8B8CF4\n" 
     548"loc_FF8B8CE4:\n" 
     549"                LDR     R0, [SP,#0x1C]\n" 
     550"                ADD     R1, SP, #0xC\n" 
     551"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     552"                B       loc_FF8B8C80\n" 
     553"loc_FF8B8CF4:\n" 
     554"                CMP     R1, #0x27\n" 
     555"                CMPNE   R1, #0x28\n" 
     556"                BNE     loc_FF8B8D60\n" 
     557"                ADD     R1, SP, #0xC\n" 
     558"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     559"                LDR     R4, [SP,#0x1C]\n" 
     560"                LDR     R0, [R7,#0x1C]\n" 
     561"                MOV     R1, #0x40\n" 
     562"                BL      sub_FF829D60\n" 
     563"                LDR     R0, [R4]\n" 
     564"                MOV     R1, #0x40\n" 
     565"                CMP     R0, #0x27\n" 
     566"                LDR     R0, =0xFF8B56A0\n" 
     567"                BNE     loc_FF8B8D34\n" 
     568"                BL      sub_FF93630C\n" // IrisController.c 125 done 
     569"                B       loc_FF8B8D38\n" 
     570"loc_FF8B8D34:\n" 
     571"                BL      sub_FF936398\n" // IrisController.c 143 done 
     572"loc_FF8B8D38:\n" 
     573"                LDR     R0, [R7,#0x1C]\n" 
     574"                MOV     R2, R8\n" 
     575"                MOV     R1, #0x40\n" 
     576"                BL      sub_FF829C64\n" // KerFlag.c 0 
     577"                TST     R0, #1\n" 
     578"                BEQ     loc_FF8B8C80\n" 
     579"                LDR     R1, =0xD1F\n" 
     580"loc_FF8B8D54:\n" 
     581"                LDR     R0, =0xFF8B5D3C\n" 
     582"                BL      sub_FF81BFC8\n" 
     583"                B       loc_FF8B8C80\n" 
     584"loc_FF8B8D60:\n" 
     585"                CMP     R1, #0x29\n" 
     586"                BNE     loc_FF8B8D78\n" 
     587"                BL      sub_FF897664\n" // Shutter.c 2 
     588"                BL      sub_FF8983E4\n" // ImgPixel.c 292 
     589"                BL      sub_FF897EA4\n" // ImgGain.c 0 
     590"                B       loc_FF8B8C80\n" 
     591"loc_FF8B8D78:\n" 
     592"                LDR     R0, [SP,#0x1C]\n" 
     593"                MOV     R4, #1\n" 
     594"                LDR     R1, [R0]\n" 
     595"                CMP     R1, #0x11\n" 
     596"                CMPNE   R1, #0x12\n" 
     597"                BNE     loc_FF8B8DE8\n" 
     598"                LDR     R1, [R0,#0x7C]\n" 
     599"                ADD     R1, R1, R1,LSL#1\n" 
     600"                ADD     R1, R0, R1,LSL#2\n" 
     601"                SUB     R1, R1, #8\n" 
     602"                LDMIA   R1, {R2-R4}\n" 
     603"                STMIA   R6, {R2-R4}\n" 
     604"                BL      sub_FF8B76BC\n" // ExpDrv.c 2 
     605"                LDR     R0, [SP,#0x1C]\n" 
     606"                LDR     R1, [R0,#0x7C]\n" 
     607"                LDR     R3, [R0,#0x88]\n" 
     608"                LDR     R2, [R0,#0x8C]\n" 
     609"                ADD     R0, R0, #4\n" 
     610"                BLX     R3\n" 
     611"                LDR     R0, [SP,#0x1C]\n" 
     612"                BL      sub_FF8BA244\n" // ExpDrv.c 4 
     613"                LDR     R0, [SP,#0x1C]\n" 
     614"                LDR     R1, [R0,#0x7C]\n" 
     615"                LDR     R3, [R0,#0x90]\n" 
     616"                LDR     R2, [R0,#0x94]\n" 
     617"                ADD     R0, R0, #4\n" 
     618"                BLX     R3\n" 
     619"                B       loc_FF8B911C\n" 
     620"loc_FF8B8DE8:\n" 
     621"                CMP     R1, #0x13\n" 
     622"                CMPNE   R1, #0x14\n" 
     623"                CMPNE   R1, #0x15\n" 
     624"                BNE     loc_FF8B8E9C\n" 
     625"                ADD     R3, SP, #0xC\n" 
     626"                MOV     R2, SP\n" 
     627"                ADD     R1, SP, #0x10\n" 
     628"                BL      sub_FF8B7904\n" // ExpDrv.c 4 
     629"                CMP     R0, #1\n" 
     630"                MOV     R4, R0\n" 
     631"                CMPNE   R4, #5\n" 
     632"                BNE     loc_FF8B8E38\n" 
     633"                LDR     R0, [SP,#0x1C]\n" 
     634"                MOV     R2, R4\n" 
     635"                LDR     R1, [R0,#0x7C]!\n" 
     636"                LDR     R12, [R0,#0xC]!\n" 
     637"                LDR     R3, [R0,#4]\n" 
     638"                MOV     R0, SP\n" 
     639"                BLX     R12\n" 
     640"                B       loc_FF8B8E70\n" 
     641"loc_FF8B8E38:\n" 
     642"                LDR     R0, [SP,#0x1C]\n" 
     643"                CMP     R4, #2\n" 
     644"                LDR     R3, [R0,#0x8C]\n" 
     645"                CMPNE   R4, #6\n" 
     646"                BNE     loc_FF8B8E84\n" 
     647"                LDR     R12, [R0,#0x88]\n" 
     648"                MOV     R0, SP\n" 
     649"                MOV     R2, R4\n" 
     650"                MOV     R1, #1\n" 
     651"                BLX     R12\n" 
     652"                LDR     R0, [SP,#0x1C]\n" 
     653"                MOV     R2, SP\n" 
     654"                ADD     R1, SP, #0x10\n" 
     655"                BL      sub_FF8B888C\n" // ExpDrv.c 4 
     656"loc_FF8B8E70:\n" 
     657"                LDR     R0, [SP,#0x1C]\n" 
     658"                LDR     R2, [SP,#0xC]\n" 
     659"                MOV     R1, R4\n" 
     660"                BL      sub_FF8B8AE0\n" // ExpDrv.c 2 
     661"                B       loc_FF8B911C\n" 
     662"loc_FF8B8E84:\n" 
     663"                LDR     R1, [R0,#0x7C]\n" 
     664"                LDR     R12, [R0,#0x88]\n" 
     665"                ADD     R0, R0, #4\n" 
     666"                MOV     R2, R4\n" 
     667"                BLX     R12\n" 
     668"                B       loc_FF8B911C\n" 
     669"loc_FF8B8E9C:\n" 
     670"                CMP     R1, #0x20\n" 
     671"                CMPNE   R1, #0x21\n" 
     672"                BNE     loc_FF8B8EE8\n" 
     673"                LDR     R1, [R0,#0x7C]\n" 
     674"                ADD     R1, R1, R1,LSL#1\n" 
     675"                ADD     R1, R0, R1,LSL#2\n" 
     676"                SUB     R1, R1, #8\n" 
     677"                LDMIA   R1, {R2-R4}\n" 
     678"                STMIA   R6, {R2-R4}\n" 
     679"                BL      sub_FF8B6C40\n" // ExpDrv.c 4 
     680"                LDR     R0, [SP,#0x1C]\n" 
     681"                LDR     R1, [R0,#0x7C]\n" 
     682"                LDR     R3, [R0,#0x88]\n" 
     683"                LDR     R2, [R0,#0x8C]\n" 
     684"                ADD     R0, R0, #4\n" 
     685"                BLX     R3\n" 
     686"                LDR     R0, [SP,#0x1C]\n" 
     687"                BL      sub_FF8B6F3C\n" // ExpDrv.c 4 
     688"                B       loc_FF8B911C\n" 
     689"loc_FF8B8EE8:\n" 
     690"                ADD     R1, R0, #4\n" 
     691"                LDMIA   R1, {R2,R3,R12}\n" 
     692"                STMIA   R6, {R2,R3,R12}\n" 
     693"                LDR     R1, [R0]\n" 
     694"                CMP     R1, #0x23\n" 
     695"                ADDLS   PC, PC, R1,LSL#2\n" 
     696"                B       loc_FF8B90FC\n" 
     697"                B       loc_FF8B8F94\n" 
     698"                B       loc_FF8B8F94\n" 
     699"                B       loc_FF8B8FE4\n" 
     700"                B       loc_FF8B8FEC\n" 
     701"                B       loc_FF8B8FEC\n" 
     702"                B       loc_FF8B8FEC\n" 
     703"                B       loc_FF8B8F94\n" 
     704"                B       loc_FF8B8FE4\n" 
     705"                B       loc_FF8B8FEC\n" 
     706"                B       loc_FF8B8FEC\n" 
     707"                B       loc_FF8B9004\n" 
     708"                B       loc_FF8B9004\n" 
     709"                B       loc_FF8B90F0\n" 
     710"                B       loc_FF8B90F8\n" 
     711"                B       loc_FF8B90F8\n" 
     712"                B       loc_FF8B90F8\n" 
     713"                B       loc_FF8B90F8\n" 
     714"                B       loc_FF8B90FC\n" 
     715"                B       loc_FF8B90FC\n" 
     716"                B       loc_FF8B90FC\n" 
     717"                B       loc_FF8B90FC\n" 
     718"                B       loc_FF8B90FC\n" 
     719"                B       loc_FF8B8FF4\n" 
     720"                B       loc_FF8B8FFC\n" 
     721"                B       loc_FF8B8FFC\n" 
     722"                B       loc_FF8B9010\n" 
     723"                B       loc_FF8B9018\n" 
     724"                B       loc_FF8B9048\n" 
     725"                B       loc_FF8B9078\n" 
     726"                B       loc_FF8B90A8\n" 
     727"                B       loc_FF8B90D8\n" 
     728"                B       loc_FF8B90D8\n" 
     729"                B       loc_FF8B90FC\n" 
     730"                B       loc_FF8B90FC\n" 
     731"                B       loc_FF8B90E0\n" 
     732"                B       loc_FF8B90E8\n" 
     733"loc_FF8B8F94:\n" 
     734// jumptable FF8B8EFC entries 0,1,6 
     735"                BL      sub_FF8B5B24\n" // ExpDrv.c 2 
     736"                B       loc_FF8B90FC\n" 
     737"loc_FF8B8FE4:\n" 
     738// jumptable FF8B8EFC entries 2,7 
     739"                BL      sub_FF8B5DAC\n" // ExpDrv.c 4 
     740"                B       loc_FF8B90FC\n" 
     741"loc_FF8B8FEC:\n" 
     742// jumptable FF8B8EFC entries 3-5,8,9 
     743"                BL      sub_FF8B5FB0\n" // ExpDrv.c 940 
     744"                B       loc_FF8B90FC\n" 
     745"loc_FF8B8FF4:\n" 
     746// jumptable FF8B8EFC entry 22 
     747"                BL      sub_FF8B6218\n" // ExpDrv.c 1072 
     748"                B       loc_FF8B90FC\n" 
     749"loc_FF8B8FFC:\n" 
     750// jumptable FF8B8EFC entries 23,24 
     751"                BL      sub_FF8B640C\n" // ExpDrv.c 4 
     752"                B       loc_FF8B90FC\n" 
     753"loc_FF8B9004:\n" 
     754// jumptable FF8B8EFC entries 10,11 
     755"                BL      sub_FF8B6670_my\n" // ExpDrv.c 2 -> 
     756"                MOV     R4, #0\n" 
     757"                B       loc_FF8B90FC\n" 
     758"loc_FF8B9010:\n" 
     759// jumptable FF8B8EFC entry 25 
     760"                BL      sub_FF8B67AC\n" // ExpDrv.c 4 
     761"                B       loc_FF8B90FC\n" 
     762"loc_FF8B9018:\n" 
     763// jumptable FF8B8EFC entry 26 
     764"                LDRH    R1, [R0,#4]\n" 
     765"                STRH    R1, [SP,#0x10]\n" 
     766"                LDRH    R1, [R5,#2]\n" 
     767"                STRH    R1, [SP,#0x12]\n" 
     768"                LDRH    R1, [R5,#4]\n" 
     769"                STRH    R1, [SP,#0x14]\n" 
     770"                LDRH    R1, [R5,#6]\n" 
     771"                STRH    R1, [SP,#0x16]\n" 
     772"                LDRH    R1, [R0,#0xC]\n" 
     773"                STRH    R1, [SP,#0x18]\n" 
     774"                BL      sub_FF8B9EE4\n" // ExpDrv.c 2 
     775"                B       loc_FF8B90FC\n" 
     776"loc_FF8B9048:\n" 
     777// jumptable FF8B8EFC entry 27 
     778"                LDRH    R1, [R0,#4]\n" 
     779"                STRH    R1, [SP,#0x10]\n" 
     780"                LDRH    R1, [R5,#2]\n" 
     781"                STRH    R1, [SP,#0x12]\n" 
     782"                LDRH    R1, [R5,#4]\n" 
     783"                STRH    R1, [SP,#0x14]\n" 
     784"                LDRH    R1, [R5,#6]\n" 
     785"                STRH    R1, [SP,#0x16]\n" 
     786"                LDRH    R1, [R5,#8]\n" 
     787"                STRH    R1, [SP,#0x18]\n" 
     788"                BL      sub_FF8BA060\n" // ExpDrv.c 2 
     789"                B       loc_FF8B90FC\n" 
     790"loc_FF8B9078:\n" 
     791// jumptable FF8B8EFC entry 28 
     792"                LDRH    R1, [R5]\n" 
     793"                STRH    R1, [SP,#0x10]\n" 
     794"                LDRH    R1, [R0,#6]\n" 
     795"                STRH    R1, [SP,#0x12]\n" 
     796"                LDRH    R1, [R5,#4]\n" 
     797"                STRH    R1, [SP,#0x14]\n" 
     798"                LDRH    R1, [R5,#6]\n" 
     799"                STRH    R1, [SP,#0x16]\n" 
     800"                LDRH    R1, [R5,#8]\n" 
     801"                STRH    R1, [SP,#0x18]\n" 
     802"                BL      sub_FF8BA10C\n" // ExpDrv.c 1552 
     803"                B       loc_FF8B90FC\n" 
     804"loc_FF8B90A8:\n" 
     805// jumptable FF8B8EFC entry 29 
     806"                LDRH    R1, [R5]\n" 
     807"                STRH    R1, [SP,#0x10]\n" 
     808"                LDRH    R1, [R5,#2]\n" 
     809"                STRH    R1, [SP,#0x12]\n" 
     810"                LDRH    R1, [R5,#4]\n" 
     811"                STRH    R1, [SP,#0x14]\n" 
     812"                LDRH    R1, [R5,#6]\n" 
     813"                STRH    R1, [SP,#0x16]\n" 
     814"                LDRH    R1, [R0,#0xC]\n" 
     815"                STRH    R1, [SP,#0x18]\n" 
     816"                BL      sub_FF8BA1AC\n" // ExpDrv.c 32 
     817"                B       loc_FF8B90FC\n" 
     818"loc_FF8B90D8:\n" 
     819// jumptable FF8B8EFC entries 30,31 
     820"                BL      sub_FF8B6A04\n" // ExpDrv.c 4 
     821"                B       loc_FF8B90FC\n" 
     822"loc_FF8B90E0:\n" 
     823// jumptable FF8B8EFC entry 34 
     824"                BL      sub_FF8B7040\n" // ExpDrv.c 4 
     825"                B       loc_FF8B90FC\n" 
     826"loc_FF8B90E8:\n" 
     827// jumptable FF8B8EFC entry 35 
     828"                BL      sub_FF8B7274\n" // ExpDrv.c 4 
     829"                B       loc_FF8B90FC\n" 
     830"loc_FF8B90F0:\n" 
     831// jumptable FF8B8EFC entry 12 
     832"                BL      sub_FF8B73EC\n" // ExpDrv.c 2 
     833"                B       loc_FF8B90FC\n" 
     834"loc_FF8B90F8:\n" 
     835// jumptable FF8B8EFC entries 13-16 
     836"                BL      sub_FF8B7584\n" // ExpDrv.c 128 
     837"loc_FF8B90FC:\n" 
     838// jumptable FF8B8EFC default entry 
     839// jumptable FF8B8EFC entries 17-21,32,33 
     840"                LDR     R0, [SP,#0x1C]\n" 
     841"                LDR     R1, [R0,#0x7C]\n" 
     842"                LDR     R3, [R0,#0x88]\n" 
     843"                LDR     R2, [R0,#0x8C]\n" 
     844"                ADD     R0, R0, #4\n" 
     845"                BLX     R3\n" 
     846"                CMP     R4, #1\n" 
     847"                BNE     loc_FF8B9164\n" 
     848"loc_FF8B911C:\n" 
     849"                LDR     R0, [SP,#0x1C]\n" 
     850"                MOV     R2, #0xC\n" 
     851"                LDR     R1, [R0,#0x7C]\n" 
     852"                ADD     R1, R1, R1,LSL#1\n" 
     853"                ADD     R0, R0, R1,LSL#2\n" 
     854"                SUB     R4, R0, #8\n" 
     855"                LDR     R0, =0x462E8\n" 
     856"                ADD     R1, SP, #0x10\n" 
     857"                BL      sub_FFABD12C\n" // done 
     858"                LDR     R0, =0x462F4\n" 
     859"                MOV     R2, #0xC\n" 
     860"                ADD     R1, SP, #0x10\n" 
     861"                BL      sub_FFABD12C\n" // done 
     862"                LDR     R0, =0x46300\n" 
     863"                MOV     R2, #0xC\n" 
     864"                MOV     R1, R4\n" 
     865"                BL      sub_FFABD12C\n" // done 
     866"                B       loc_FF8B91DC\n" 
     867"loc_FF8B9164:\n" 
     868"                LDR     R0, [SP,#0x1C]\n" 
     869"                LDR     R0, [R0]\n" 
     870"                CMP     R0, #0xB\n" 
     871"                BNE     loc_FF8B91AC\n" 
     872"                MOV     R3, #0\n" 
     873"                STR     R3, [SP]\n" 
     874"                MOV     R3, #1\n" 
     875"                MOV     R2, #1\n" 
     876"                MOV     R1, #1\n" 
     877"                MOV     R0, #0\n" 
     878"                BL      sub_FF8B592C\n" 
     879"                MOV     R3, #0\n" 
     880"                STR     R3, [SP]\n" 
     881"                MOV     R3, #1\n" 
     882"                MOV     R2, #1\n" 
     883"                MOV     R1, #1\n" 
     884"                MOV     R0, #0\n" 
     885"                B       loc_FF8B91D8\n" 
     886"loc_FF8B91AC:\n" 
     887"                MOV     R3, #1\n" 
     888"                MOV     R2, #1\n" 
     889"                MOV     R1, #1\n" 
     890"                MOV     R0, #1\n" 
     891"                STR     R3, [SP]\n" 
     892"                BL      sub_FF8B592C\n" 
     893"                MOV     R3, #1\n" 
     894"                MOV     R2, #1\n" 
     895"                MOV     R1, #1\n" 
     896"                MOV     R0, #1\n" 
     897"                STR     R3, [SP]\n" 
     898"loc_FF8B91D8:\n" 
     899"                BL      sub_FF8B5A6C\n" 
     900"loc_FF8B91DC:\n" 
     901"                LDR     R0, [SP,#0x1C]\n" 
     902"                BL      sub_FF8B9E70\n" // ExpDrv.c 0 
     903"                B       loc_FF8B8BB0\n" 
     904 ); 
     905} 
     906 
     907void __attribute__((naked,noinline)) sub_FF8B6670_my(){ //  
     908 asm volatile( 
     909"                STMFD   SP!, {R4-R8,LR}\n" 
     910"                LDR     R7, =0x7270\n" 
     911"                MOV     R4, R0\n" 
     912"                LDR     R0, [R7,#0x1C]\n" 
     913"                MOV     R1, #0x3E\n" 
     914"                BL      sub_FF829D60\n" 
     915"                LDRSH   R0, [R4,#4]\n" 
     916"                MOV     R2, #0\n" 
     917"                MOV     R1, #0\n" 
     918"                BL      sub_FF8B56C0\n" 
     919"                MOV     R6, R0\n" 
     920"                LDRSH   R0, [R4,#6]\n" 
     921"                BL      sub_FF8B57CC\n" 
     922"                LDRSH   R0, [R4,#8]\n" 
     923"                BL      sub_FF8B5824\n" 
     924"                LDRSH   R0, [R4,#0xA]\n" 
     925"                BL      sub_FF8B587C\n" 
     926"                LDRSH   R0, [R4,#0xC]\n" 
     927"                BL      sub_FF8B58D4\n" 
     928"                MOV     R5, R0\n" 
     929"                LDR     R0, [R4]\n" 
     930"                LDR     R8, =0x46300\n" 
     931"                CMP     R0, #0xB\n" 
     932"                MOVEQ   R6, #0\n" 
     933"                MOVEQ   R5, #0\n" 
     934"                BEQ     loc_FF8B6700\n" 
     935"                CMP     R6, #1\n" 
     936"                BNE     loc_FF8B6700\n" 
     937"                LDRSH   R0, [R4,#4]\n" 
     938"                LDR     R1, =0xFF8B561C\n" 
     939"                MOV     R2, #2\n" 
     940"                BL      sub_FF9364E0\n" // IrisController.c 168 done 
     941"                STRH    R0, [R4,#4]\n" 
     942"                MOV     R0, #0\n" 
     943"                STR     R0, [R7,#0x28]\n" 
     944"                B       loc_FF8B6708\n" 
     945"loc_FF8B6700:\n" 
     946"                LDRH    R0, [R8]\n" 
     947"                STRH    R0, [R4,#4]\n" 
     948"loc_FF8B6708:\n" 
     949"                CMP     R5, #1\n" 
     950"                LDRNEH  R0, [R8,#8]\n" 
     951"                BNE     loc_FF8B6724\n" 
     952"                LDRSH   R0, [R4,#0xC]\n" 
     953"                LDR     R1, =0xFF8B56B0\n" 
     954"                MOV     R2, #0x20\n" 
     955"                BL      sub_FF8B9EA0\n" 
     956"loc_FF8B6724:\n" 
     957"                STRH    R0, [R4,#0xC]\n" 
     958"                LDRSH   R0, [R4,#6]\n" 
     959"                BL      sub_FF897408_my\n" // Shutter.c 364 -> 
     960"                LDRSH   R0, [R4,#8]\n" 
     961"                MOV     R1, #1\n" 
     962"                BL      sub_FF897B9C\n" // ImgGain.c 0 
     963"                MOV     R1, #0\n" 
     964"                ADD     R0, R4, #8\n" 
     965"                BL      sub_FF897C24\n" // ImgGain.c 0 
     966"                LDRSH   R0, [R4,#0xE]\n" 
     967"                BL      sub_FF8ACA40\n" // BrtCrct.c 552 
     968"                LDR     R4, =0xBB8\n" 
     969"                CMP     R6, #1\n" 
     970"                BNE     loc_FF8B677C\n" 
     971"                LDR     R0, [R7,#0x1C]\n" 
     972"                MOV     R2, R4\n" 
     973"                MOV     R1, #2\n" 
     974"                BL      sub_FF829C64\n" // KerFlag.c 0 
     975"                TST     R0, #1\n" 
     976"                LDRNE   R1, =0x527\n" 
     977"                LDRNE   R0, =0xFF8B5D3C\n" // "expdrv.c" 
     978"                BLNE    sub_FF81BFC8\n" 
     979"loc_FF8B677C:\n" 
     980"                CMP     R5, #1\n" 
     981"                LDMNEFD SP!, {R4-R8,PC}\n" 
     982"                LDR     R0, [R7,#0x1C]\n" 
     983"                MOV     R2, R4\n" 
     984"                MOV     R1, #0x20\n" 
     985"                BL      sub_FF829C64\n" // KerFlag.c 0 
     986"                TST     R0, #1\n" 
     987"                LDRNE   R1, =0x52C\n" 
     988"                LDRNE   R0, =0xFF8B5D3C\n" 
     989"                LDMNEFD SP!, {R4-R8,LR}\n" 
     990"                BNE     sub_FF81BFC8\n" 
     991"                LDMFD   SP!, {R4-R8,PC}\n" 
     992 
     993 ); 
     994} 
     995 
     996void __attribute__((naked,noinline)) sub_FF897408_my(){ // Shutter.c 364 
     997 asm volatile( 
     998"                STMFD   SP!, {R4-R6,LR}\n" 
     999"                LDR     R5, =0x6C38\n" 
     1000"                MOV     R4, R0\n" 
     1001"                LDR     R0, [R5,#4]\n" 
     1002"                CMP     R0, #1\n" 
     1003"                MOVNE   R1, #0x16C\n" 
     1004"                LDRNE   R0, =0xFF8971A0\n" // "shutter.c" 
     1005"                BLNE    sub_FF81BFC8\n" 
     1006"                CMN     R4, #0xC00\n" 
     1007"                LDREQSH R4, [R5,#2]\n" 
     1008"                CMN     R4, #0xC00\n" 
     1009"                LDREQ   R1, =0x172\n" 
     1010"                LDREQ   R0, =0xFF8971A0\n" // "shutter.c" 
     1011"                STRH    R4, [R5,#2]\n" 
     1012"                BLEQ    sub_FF81BFC8\n" 
     1013"                MOV     R0, R4\n" 
     1014//"                BL      sub_FF9BF02C\n" // - 
     1015"                BL      apex2us\n" // + 
     1016"                MOV     R4, R0\n" 
     1017//"                BL      nullsub_143\n" 
     1018"                MOV     R0, R4\n" 
     1019"                BL      sub_FF8CF8C0\n" 
     1020"                TST     R0, #1\n" 
     1021"                LDRNE   R1, =0x177\n" 
     1022"                LDMNEFD SP!, {R4-R6,LR}\n" 
     1023"                LDRNE   R0, =0xFF8971A0\n" // "shutter.c" 
     1024"                BNE     sub_FF81BFC8\n" 
     1025"                LDMFD   SP!, {R4-R6,PC}\n" 
     1026 ); 
     1027} 
  • trunk/platform/g9/sub/100d/stubs_auto.S

    r586 r837  
    5252STUB(FF8298FC) 
    5353STUB(FF8299CC) 
     54STUB(FF829C64) 
    5455STUB(FF829D2C) 
    5556STUB(FF829D60) 
     
    304305STUB(FF894488) 
    305306STUB(FF895AD0) 
     307STUB(FF897408) 
     308STUB(FF897664) 
     309STUB(FF897B9C) 
     310STUB(FF897C24) 
     311STUB(FF897EA4) 
     312STUB(FF8983E4) 
     313STUB(FF8ACA40) 
     314STUB(FF8B56C0) 
     315STUB(FF8B57CC) 
     316STUB(FF8B5824) 
     317STUB(FF8B587C) 
     318STUB(FF8B58D4) 
     319STUB(FF8B592C) 
     320STUB(FF8B5A6C) 
     321STUB(FF8B5B24) 
     322STUB(FF8B5DAC) 
     323STUB(FF8B5FB0) 
     324STUB(FF8B6218) 
     325STUB(FF8B640C) 
     326STUB(FF8B6670) 
     327STUB(FF8B67AC) 
     328STUB(FF8B6A04) 
     329STUB(FF8B6C40) 
     330STUB(FF8B6F3C) 
     331STUB(FF8B7040) 
     332STUB(FF8B7274) 
     333STUB(FF8B73EC) 
     334STUB(FF8B7584) 
     335STUB(FF8B76BC) 
     336STUB(FF8B7904) 
     337STUB(FF8B888C) 
     338STUB(FF8B8AE0) 
     339STUB(FF8B8B40) 
     340STUB(FF8B9E70) 
     341STUB(FF8B9EA0) 
     342STUB(FF8B9EE4) 
     343STUB(FF8BA060) 
     344STUB(FF8BA10C) 
     345STUB(FF8BA1AC) 
     346STUB(FF8BA244) 
    306347STUB(FF8BD498) 
     348STUB(FF8CF8C0) 
    307349STUB(FF8FBD68) 
    308350STUB(FF8FBE2C) 
     
    313355STUB(FF9188E4) 
    314356STUB(FF929040) 
     357STUB(FF93626C) 
     358STUB(FF93630C) 
     359STUB(FF936398) 
     360STUB(FF9364E0) 
     361STUB(FF936A2C) 
    315362STUB(FF93EFD0) 
    316363STUB(FF93F040) 
     
    421468STUB(FF9BDB74) 
    422469STUB(FF9BDBE8) 
     470STUB(FF9BF02C) 
     471STUB(FFABD12C) 
    423472STUB(FFABD388) 
    424473STUB(FFABEC38) 
  • trunk/platform/g9/sub/100d/stubs_entry_2.S

    r826 r837  
    208208NHSTUB(UnlockAF, 0xff827638) 
    209209NHSTUB(SetScriptMode, 0xFF872F78) // "SetScriptMode" 
     210NHSTUB(apex2us, 0xFF9BF02C) // from sub_FF897408 via exp_drv_task 
  • trunk/platform/g9/sub/100g/boot.c

    r707 r837  
    1515void CreateTask_PhySw(); 
    1616void CreateTask_spytask(); 
     17 
     18void taskCreateHook(int *p) {  
     19 p-=16; 
     20// TODO can save some memory by hooking other tasks this way 
     21// if (p[0]==0x)  p[0]=(int)capt_seq_task; 
     22// if (p[0]==0x)  p[0]=(int)movie_record_task; 
     23// if (p[0]==0x)  p[0]=(int)init_file_modules_task; 
     24 if (p[0]==0xFF8B8B90)  p[0]=(int)exp_drv_task; 
     25} 
     26 
     27void taskCreateHook2(int *p) {  
     28 p-=16; 
     29// if (p[0]==0x)  p[0]=(int)init_file_modules_task; 
     30 if (p[0]==0xFF8B8B90)  p[0]=(int)exp_drv_task; 
     31} 
    1732 
    1833/* 
     
    90105 
    91106 
    92     // Code taken from VxWorks CHDK. Changes CPU speed? 
     107    // Code taken from VxWorks CHDK. turns caches on 
    93108    asm volatile ( 
    94109        "MRC     p15, 0, R0,c1,c0\n" 
     
    115130    :::"r0"); 
    116131*/ 
     132 
     133    *(int*)0x1930=(int)taskCreateHook;  
     134    *(int*)0x1934=(int)taskCreateHook2;  
    117135 
    118136    // jump to init-sequence that follows the data-copy-routine  
  • trunk/platform/g9/sub/100g/capt_seq.c

    r647 r837  
    450450 ); 
    451451} 
    452                                  
     452 
     453void __attribute__((naked,noinline)) exp_drv_task(){ 
     454 asm volatile( 
     455"                STMFD   SP!, {R4-R8,LR}\n" 
     456"                SUB     SP, SP, #0x20\n" 
     457"                LDR     R8, =0xBB8\n" 
     458"                LDR     R7, =0x7270\n" 
     459"                LDR     R5, =0x462E8\n" 
     460"                MOV     R0, #0\n" 
     461"                ADD     R6, SP, #0x10\n" 
     462"                STR     R0, [SP,#0xC]\n" 
     463"loc_FF8B8BB0:\n" 
     464"                LDR     R0, [R7,#0x20]\n" 
     465"                MOV     R2, #0\n" 
     466"                ADD     R1, SP, #0x1C\n" 
     467"                BL      sub_FF829FB0\n" // KerQueue.c 0 
     468"                LDR     R0, [SP,#0xC]\n" 
     469"                CMP     R0, #1\n" 
     470"                BNE     loc_FF8B8BF8\n" 
     471"                LDR     R0, [SP,#0x1C]\n" 
     472"                LDR     R0, [R0]\n" 
     473"                CMP     R0, #0x13\n" 
     474"                CMPNE   R0, #0x14\n" 
     475"                CMPNE   R0, #0x15\n" 
     476"                BEQ     loc_FF8B8D78\n" 
     477"                CMP     R0, #0x26\n" 
     478"                BEQ     loc_FF8B8CE4\n" 
     479"                ADD     R1, SP, #0xC\n" 
     480"                MOV     R0, #0\n" 
     481"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     482"loc_FF8B8BF8:\n" 
     483"                LDR     R0, [SP,#0x1C]\n" 
     484"                LDR     R1, [R0]\n" 
     485"                CMP     R1, #0x2B\n" 
     486"                BNE     loc_FF8B8C28\n" 
     487"                LDR     R0, [SP,#0x1C]\n" 
     488"                BL      sub_FF8B9E70\n" // ExpDrv.c 0 
     489"                LDR     R0, [R7,#0x1C]\n" 
     490"                MOV     R1, #1\n" 
     491"                BL      sub_FF829D2C\n" 
     492"                BL      sub_FF81BD80\n" 
     493"                ADD     SP, SP, #0x20\n" 
     494"                LDMFD   SP!, {R4-R8,PC}\n" 
     495"loc_FF8B8C28:\n" 
     496"                CMP     R1, #0x2A\n" 
     497"                BNE     loc_FF8B8C44\n" 
     498"                LDR     R2, [R0,#0x88]!\n" 
     499"                LDR     R1, [R0,#4]\n" 
     500"                MOV     R0, R1\n" 
     501"                BLX     R2\n" 
     502"                B       loc_FF8B91DC\n" 
     503"loc_FF8B8C44:\n" 
     504"                CMP     R1, #0x24\n" 
     505"                BNE     loc_FF8B8C94\n" 
     506"                LDR     R0, [R7,#0x1C]\n" 
     507"                MOV     R1, #0x80\n" 
     508"                BL      sub_FF829D60\n" 
     509"                LDR     R0, =0xFF8B562C\n" 
     510"                MOV     R1, #0x80\n" 
     511"                BL      sub_FF9362DC\n" // IrisController.c 104 
     512"                LDR     R0, [R7,#0x1C]\n" 
     513"                MOV     R2, R8\n" 
     514"                MOV     R1, #0x80\n" 
     515"                BL      sub_FF829C64\n" // KerFlag.c 0 
     516"                TST     R0, #1\n" 
     517"                LDRNE   R1, =0xD07\n" 
     518"                BNE     loc_FF8B8D54\n" 
     519"loc_FF8B8C80:\n" 
     520"                LDR     R1, [SP,#0x1C]\n" 
     521"                LDR     R0, [R1,#0x8C]\n" 
     522"                LDR     R1, [R1,#0x88]\n" 
     523"                BLX     R1\n" 
     524"                B       loc_FF8B91DC\n" 
     525"loc_FF8B8C94:\n" 
     526"                CMP     R1, #0x25\n" 
     527"                BNE     loc_FF8B8CDC\n" 
     528"                ADD     R1, SP, #0xC\n" 
     529"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     530"                LDR     R0, [R7,#0x1C]\n" 
     531"                MOV     R1, #0x100\n" 
     532"                BL      sub_FF829D60\n" 
     533"                MOV     R1, #0x100\n" 
     534"                LDR     R0, =0xFF8B563C\n" 
     535"                BL      sub_FF936A9C\n" // IrisController.c 0 
     536"                LDR     R0, [R7,#0x1C]\n" 
     537"                MOV     R2, R8\n" 
     538"                MOV     R1, #0x100\n" 
     539"                BL      sub_FF829C64\n" // KerFlag.c 0 
     540"                TST     R0, #1\n" 
     541"                BEQ     loc_FF8B8C80\n" 
     542"                LDR     R1, =0xD11\n" 
     543"                B       loc_FF8B8D54\n" 
     544"loc_FF8B8CDC:\n" 
     545"                CMP     R1, #0x26\n" 
     546"                BNE     loc_FF8B8CF4\n" 
     547"loc_FF8B8CE4:\n" 
     548"                LDR     R0, [SP,#0x1C]\n" 
     549"                ADD     R1, SP, #0xC\n" 
     550"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     551"                B       loc_FF8B8C80\n" 
     552"loc_FF8B8CF4:\n" 
     553"                CMP     R1, #0x27\n" 
     554"                CMPNE   R1, #0x28\n" 
     555"                BNE     loc_FF8B8D60\n" 
     556"                ADD     R1, SP, #0xC\n" 
     557"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     558"                LDR     R4, [SP,#0x1C]\n" 
     559"                LDR     R0, [R7,#0x1C]\n" 
     560"                MOV     R1, #0x40\n" 
     561"                BL      sub_FF829D60\n" 
     562"                LDR     R0, [R4]\n" 
     563"                MOV     R1, #0x40\n" 
     564"                CMP     R0, #0x27\n" 
     565"                LDR     R0, =0xFF8B56A0\n" 
     566"                BNE     loc_FF8B8D34\n" 
     567"                BL      sub_FF93637C\n" // IrisController.c 125 
     568"                B       loc_FF8B8D38\n" 
     569"loc_FF8B8D34:\n" 
     570"                BL      sub_FF936408\n" // IrisController.c 143 
     571"loc_FF8B8D38:\n" 
     572"                LDR     R0, [R7,#0x1C]\n" 
     573"                MOV     R2, R8\n" 
     574"                MOV     R1, #0x40\n" 
     575"                BL      sub_FF829C64\n" // KerFlag.c 0 
     576"                TST     R0, #1\n" 
     577"                BEQ     loc_FF8B8C80\n" 
     578"                LDR     R1, =0xD1F\n" 
     579"loc_FF8B8D54:\n" 
     580"                LDR     R0, =0xFF8B5D3C\n" 
     581"                BL      sub_FF81BFC8\n" 
     582"                B       loc_FF8B8C80\n" 
     583"loc_FF8B8D60:\n" 
     584"                CMP     R1, #0x29\n" 
     585"                BNE     loc_FF8B8D78\n" 
     586"                BL      sub_FF897664\n" // Shutter.c 2 
     587"                BL      sub_FF8983E4\n" // ImgPixel.c 292 
     588"                BL      sub_FF897EA4\n" // ImgGain.c 0 
     589"                B       loc_FF8B8C80\n" 
     590"loc_FF8B8D78:\n" 
     591"                LDR     R0, [SP,#0x1C]\n" 
     592"                MOV     R4, #1\n" 
     593"                LDR     R1, [R0]\n" 
     594"                CMP     R1, #0x11\n" 
     595"                CMPNE   R1, #0x12\n" 
     596"                BNE     loc_FF8B8DE8\n" 
     597"                LDR     R1, [R0,#0x7C]\n" 
     598"                ADD     R1, R1, R1,LSL#1\n" 
     599"                ADD     R1, R0, R1,LSL#2\n" 
     600"                SUB     R1, R1, #8\n" 
     601"                LDMIA   R1, {R2-R4}\n" 
     602"                STMIA   R6, {R2-R4}\n" 
     603"                BL      sub_FF8B76BC\n" // ExpDrv.c 2 
     604"                LDR     R0, [SP,#0x1C]\n" 
     605"                LDR     R1, [R0,#0x7C]\n" 
     606"                LDR     R3, [R0,#0x88]\n" 
     607"                LDR     R2, [R0,#0x8C]\n" 
     608"                ADD     R0, R0, #4\n" 
     609"                BLX     R3\n" 
     610"                LDR     R0, [SP,#0x1C]\n" 
     611"                BL      sub_FF8BA244\n" // ExpDrv.c 4 
     612"                LDR     R0, [SP,#0x1C]\n" 
     613"                LDR     R1, [R0,#0x7C]\n" 
     614"                LDR     R3, [R0,#0x90]\n" 
     615"                LDR     R2, [R0,#0x94]\n" 
     616"                ADD     R0, R0, #4\n" 
     617"                BLX     R3\n" 
     618"                B       loc_FF8B911C\n" 
     619"loc_FF8B8DE8:\n" 
     620"                CMP     R1, #0x13\n" 
     621"                CMPNE   R1, #0x14\n" 
     622"                CMPNE   R1, #0x15\n" 
     623"                BNE     loc_FF8B8E9C\n" 
     624"                ADD     R3, SP, #0xC\n" 
     625"                MOV     R2, SP\n" 
     626"                ADD     R1, SP, #0x10\n" 
     627"                BL      sub_FF8B7904\n" // ExpDrv.c 4 
     628"                CMP     R0, #1\n" 
     629"                MOV     R4, R0\n" 
     630"                CMPNE   R4, #5\n" 
     631"                BNE     loc_FF8B8E38\n" 
     632"                LDR     R0, [SP,#0x1C]\n" 
     633"                MOV     R2, R4\n" 
     634"                LDR     R1, [R0,#0x7C]!\n" 
     635"                LDR     R12, [R0,#0xC]!\n" 
     636"                LDR     R3, [R0,#4]\n" 
     637"                MOV     R0, SP\n" 
     638"                BLX     R12\n" 
     639"                B       loc_FF8B8E70\n" 
     640"loc_FF8B8E38:\n" 
     641"                LDR     R0, [SP,#0x1C]\n" 
     642"                CMP     R4, #2\n" 
     643"                LDR     R3, [R0,#0x8C]\n" 
     644"                CMPNE   R4, #6\n" 
     645"                BNE     loc_FF8B8E84\n" 
     646"                LDR     R12, [R0,#0x88]\n" 
     647"                MOV     R0, SP\n" 
     648"                MOV     R2, R4\n" 
     649"                MOV     R1, #1\n" 
     650"                BLX     R12\n" 
     651"                LDR     R0, [SP,#0x1C]\n" 
     652"                MOV     R2, SP\n" 
     653"                ADD     R1, SP, #0x10\n" 
     654"                BL      sub_FF8B888C\n" // ExpDrv.c 4 
     655"loc_FF8B8E70:\n" 
     656"                LDR     R0, [SP,#0x1C]\n" 
     657"                LDR     R2, [SP,#0xC]\n" 
     658"                MOV     R1, R4\n" 
     659"                BL      sub_FF8B8AE0\n" // ExpDrv.c 2 
     660"                B       loc_FF8B911C\n" 
     661"loc_FF8B8E84:\n" 
     662"                LDR     R1, [R0,#0x7C]\n" 
     663"                LDR     R12, [R0,#0x88]\n" 
     664"                ADD     R0, R0, #4\n" 
     665"                MOV     R2, R4\n" 
     666"                BLX     R12\n" 
     667"                B       loc_FF8B911C\n" 
     668"loc_FF8B8E9C:\n" 
     669"                CMP     R1, #0x20\n" 
     670"                CMPNE   R1, #0x21\n" 
     671"                BNE     loc_FF8B8EE8\n" 
     672"                LDR     R1, [R0,#0x7C]\n" 
     673"                ADD     R1, R1, R1,LSL#1\n" 
     674"                ADD     R1, R0, R1,LSL#2\n" 
     675"                SUB     R1, R1, #8\n" 
     676"                LDMIA   R1, {R2-R4}\n" 
     677"                STMIA   R6, {R2-R4}\n" 
     678"                BL      sub_FF8B6C40\n" // ExpDrv.c 4 
     679"                LDR     R0, [SP,#0x1C]\n" 
     680"                LDR     R1, [R0,#0x7C]\n" 
     681"                LDR     R3, [R0,#0x88]\n" 
     682"                LDR     R2, [R0,#0x8C]\n" 
     683"                ADD     R0, R0, #4\n" 
     684"                BLX     R3\n" 
     685"                LDR     R0, [SP,#0x1C]\n" 
     686"                BL      sub_FF8B6F3C\n" // ExpDrv.c 4 
     687"                B       loc_FF8B911C\n" 
     688"loc_FF8B8EE8:\n" 
     689"                ADD     R1, R0, #4\n" 
     690"                LDMIA   R1, {R2,R3,R12}\n" 
     691"                STMIA   R6, {R2,R3,R12}\n" 
     692"                LDR     R1, [R0]\n" 
     693"                CMP     R1, #0x23\n" 
     694"                ADDLS   PC, PC, R1,LSL#2\n" 
     695"                B       loc_FF8B90FC\n" 
     696"                B       loc_FF8B8F94\n" 
     697"                B       loc_FF8B8F94\n" 
     698"                B       loc_FF8B8FE4\n" 
     699"                B       loc_FF8B8FEC\n" 
     700"                B       loc_FF8B8FEC\n" 
     701"                B       loc_FF8B8FEC\n" 
     702"                B       loc_FF8B8F94\n" 
     703"                B       loc_FF8B8FE4\n" 
     704"                B       loc_FF8B8FEC\n" 
     705"                B       loc_FF8B8FEC\n" 
     706"                B       loc_FF8B9004\n" 
     707"                B       loc_FF8B9004\n" 
     708"                B       loc_FF8B90F0\n" 
     709"                B       loc_FF8B90F8\n" 
     710"                B       loc_FF8B90F8\n" 
     711"                B       loc_FF8B90F8\n" 
     712"                B       loc_FF8B90F8\n" 
     713"                B       loc_FF8B90FC\n" 
     714"                B       loc_FF8B90FC\n" 
     715"                B       loc_FF8B90FC\n" 
     716"                B       loc_FF8B90FC\n" 
     717"                B       loc_FF8B90FC\n" 
     718"                B       loc_FF8B8FF4\n" 
     719"                B       loc_FF8B8FFC\n" 
     720"                B       loc_FF8B8FFC\n" 
     721"                B       loc_FF8B9010\n" 
     722"                B       loc_FF8B9018\n" 
     723"                B       loc_FF8B9048\n" 
     724"                B       loc_FF8B9078\n" 
     725"                B       loc_FF8B90A8\n" 
     726"                B       loc_FF8B90D8\n" 
     727"                B       loc_FF8B90D8\n" 
     728"                B       loc_FF8B90FC\n" 
     729"                B       loc_FF8B90FC\n" 
     730"                B       loc_FF8B90E0\n" 
     731"                B       loc_FF8B90E8\n" 
     732"loc_FF8B8F94:\n" 
     733// jumptable FF8B8EFC entries 0,1,6 
     734"                BL      sub_FF8B5B24\n" // ExpDrv.c 2 
     735"                B       loc_FF8B90FC\n" 
     736"loc_FF8B8FE4:\n" 
     737// jumptable FF8B8EFC entries 2,7 
     738"                BL      sub_FF8B5DAC\n" // ExpDrv.c 4 
     739"                B       loc_FF8B90FC\n" 
     740"loc_FF8B8FEC:\n" 
     741// jumptable FF8B8EFC entries 3-5,8,9 
     742"                BL      sub_FF8B5FB0\n" // ExpDrv.c 940 
     743"                B       loc_FF8B90FC\n" 
     744"loc_FF8B8FF4:\n" 
     745// jumptable FF8B8EFC entry 22 
     746"                BL      sub_FF8B6218\n" // ExpDrv.c 1072 
     747"                B       loc_FF8B90FC\n" 
     748"loc_FF8B8FFC:\n" 
     749// jumptable FF8B8EFC entries 23,24 
     750"                BL      sub_FF8B640C\n" // ExpDrv.c 4 
     751"                B       loc_FF8B90FC\n" 
     752"loc_FF8B9004:\n" 
     753// jumptable FF8B8EFC entries 10,11 
     754"                BL      sub_FF8B6670_my\n" // ExpDrv.c 2 -> 
     755"                MOV     R4, #0\n" 
     756"                B       loc_FF8B90FC\n" 
     757"loc_FF8B9010:\n" 
     758// jumptable FF8B8EFC entry 25 
     759"                BL      sub_FF8B67AC\n" // ExpDrv.c 4 
     760"                B       loc_FF8B90FC\n" 
     761"loc_FF8B9018:\n" 
     762// jumptable FF8B8EFC entry 26 
     763"                LDRH    R1, [R0,#4]\n" 
     764"                STRH    R1, [SP,#0x10]\n" 
     765"                LDRH    R1, [R5,#2]\n" 
     766"                STRH    R1, [SP,#0x12]\n" 
     767"                LDRH    R1, [R5,#4]\n" 
     768"                STRH    R1, [SP,#0x14]\n" 
     769"                LDRH    R1, [R5,#6]\n" 
     770"                STRH    R1, [SP,#0x16]\n" 
     771"                LDRH    R1, [R0,#0xC]\n" 
     772"                STRH    R1, [SP,#0x18]\n" 
     773"                BL      sub_FF8B9EE4\n" // ExpDrv.c 2 
     774"                B       loc_FF8B90FC\n" 
     775"loc_FF8B9048:\n" 
     776// jumptable FF8B8EFC entry 27 
     777"                LDRH    R1, [R0,#4]\n" 
     778"                STRH    R1, [SP,#0x10]\n" 
     779"                LDRH    R1, [R5,#2]\n" 
     780"                STRH    R1, [SP,#0x12]\n" 
     781"                LDRH    R1, [R5,#4]\n" 
     782"                STRH    R1, [SP,#0x14]\n" 
     783"                LDRH    R1, [R5,#6]\n" 
     784"                STRH    R1, [SP,#0x16]\n" 
     785"                LDRH    R1, [R5,#8]\n" 
     786"                STRH    R1, [SP,#0x18]\n" 
     787"                BL      sub_FF8BA060\n" // ExpDrv.c 2 
     788"                B       loc_FF8B90FC\n" 
     789"loc_FF8B9078:\n" 
     790// jumptable FF8B8EFC entry 28 
     791"                LDRH    R1, [R5]\n" 
     792"                STRH    R1, [SP,#0x10]\n" 
     793"                LDRH    R1, [R0,#6]\n" 
     794"                STRH    R1, [SP,#0x12]\n" 
     795"                LDRH    R1, [R5,#4]\n" 
     796"                STRH    R1, [SP,#0x14]\n" 
     797"                LDRH    R1, [R5,#6]\n" 
     798"                STRH    R1, [SP,#0x16]\n" 
     799"                LDRH    R1, [R5,#8]\n" 
     800"                STRH    R1, [SP,#0x18]\n" 
     801"                BL      sub_FF8BA10C\n" // ExpDrv.c 1552 
     802"                B       loc_FF8B90FC\n" 
     803"loc_FF8B90A8:\n" 
     804// jumptable FF8B8EFC entry 29 
     805"                LDRH    R1, [R5]\n" 
     806"                STRH    R1, [SP,#0x10]\n" 
     807"                LDRH    R1, [R5,#2]\n" 
     808"                STRH    R1, [SP,#0x12]\n" 
     809"                LDRH    R1, [R5,#4]\n" 
     810"                STRH    R1, [SP,#0x14]\n" 
     811"                LDRH    R1, [R5,#6]\n" 
     812"                STRH    R1, [SP,#0x16]\n" 
     813"                LDRH    R1, [R0,#0xC]\n" 
     814"                STRH    R1, [SP,#0x18]\n" 
     815"                BL      sub_FF8BA1AC\n" // ExpDrv.c 32 
     816"                B       loc_FF8B90FC\n" 
     817"loc_FF8B90D8:\n" 
     818// jumptable FF8B8EFC entries 30,31 
     819"                BL      sub_FF8B6A04\n" // ExpDrv.c 4 
     820"                B       loc_FF8B90FC\n" 
     821"loc_FF8B90E0:\n" 
     822// jumptable FF8B8EFC entry 34 
     823"                BL      sub_FF8B7040\n" // ExpDrv.c 4 
     824"                B       loc_FF8B90FC\n" 
     825"loc_FF8B90E8:\n" 
     826// jumptable FF8B8EFC entry 35 
     827"                BL      sub_FF8B7274\n" // ExpDrv.c 4 
     828"                B       loc_FF8B90FC\n" 
     829"loc_FF8B90F0:\n" 
     830// jumptable FF8B8EFC entry 12 
     831"                BL      sub_FF8B73EC\n" // ExpDrv.c 2 
     832"                B       loc_FF8B90FC\n" 
     833"loc_FF8B90F8:\n" 
     834// jumptable FF8B8EFC entries 13-16 
     835"                BL      sub_FF8B7584\n" // ExpDrv.c 128 
     836"loc_FF8B90FC:\n" 
     837// jumptable FF8B8EFC default entry 
     838// jumptable FF8B8EFC entries 17-21,32,33 
     839"                LDR     R0, [SP,#0x1C]\n" 
     840"                LDR     R1, [R0,#0x7C]\n" 
     841"                LDR     R3, [R0,#0x88]\n" 
     842"                LDR     R2, [R0,#0x8C]\n" 
     843"                ADD     R0, R0, #4\n" 
     844"                BLX     R3\n" 
     845"                CMP     R4, #1\n" 
     846"                BNE     loc_FF8B9164\n" 
     847"loc_FF8B911C:\n" 
     848"                LDR     R0, [SP,#0x1C]\n" 
     849"                MOV     R2, #0xC\n" 
     850"                LDR     R1, [R0,#0x7C]\n" 
     851"                ADD     R1, R1, R1,LSL#1\n" 
     852"                ADD     R0, R0, R1,LSL#2\n" 
     853"                SUB     R4, R0, #8\n" 
     854"                LDR     R0, =0x462E8\n" 
     855"                ADD     R1, SP, #0x10\n" 
     856"                BL      sub_FFABD19C\n" 
     857"                LDR     R0, =0x462F4\n" 
     858"                MOV     R2, #0xC\n" 
     859"                ADD     R1, SP, #0x10\n" 
     860"                BL      sub_FFABD19C\n" 
     861"                LDR     R0, =0x46300\n" 
     862"                MOV     R2, #0xC\n" 
     863"                MOV     R1, R4\n" 
     864"                BL      sub_FFABD19C\n" 
     865"                B       loc_FF8B91DC\n" 
     866"loc_FF8B9164:\n" 
     867"                LDR     R0, [SP,#0x1C]\n" 
     868"                LDR     R0, [R0]\n" 
     869"                CMP     R0, #0xB\n" 
     870"                BNE     loc_FF8B91AC\n" 
     871"                MOV     R3, #0\n" 
     872"                STR     R3, [SP]\n" 
     873"                MOV     R3, #1\n" 
     874"                MOV     R2, #1\n" 
     875"                MOV     R1, #1\n" 
     876"                MOV     R0, #0\n" 
     877"                BL      sub_FF8B592C\n" 
     878"                MOV     R3, #0\n" 
     879"                STR     R3, [SP]\n" 
     880"                MOV     R3, #1\n" 
     881"                MOV     R2, #1\n" 
     882"                MOV     R1, #1\n" 
     883"                MOV     R0, #0\n" 
     884"                B       loc_FF8B91D8\n" 
     885"loc_FF8B91AC:\n" 
     886"                MOV     R3, #1\n" 
     887"                MOV     R2, #1\n" 
     888"                MOV     R1, #1\n" 
     889"                MOV     R0, #1\n" 
     890"                STR     R3, [SP]\n" 
     891"                BL      sub_FF8B592C\n" 
     892"                MOV     R3, #1\n" 
     893"                MOV     R2, #1\n" 
     894"                MOV     R1, #1\n" 
     895"                MOV     R0, #1\n" 
     896"                STR     R3, [SP]\n" 
     897"loc_FF8B91D8:\n" 
     898"                BL      sub_FF8B5A6C\n" 
     899"loc_FF8B91DC:\n" 
     900"                LDR     R0, [SP,#0x1C]\n" 
     901"                BL      sub_FF8B9E70\n" // ExpDrv.c 0 
     902"                B       loc_FF8B8BB0\n" 
     903 ); 
     904} 
     905 
     906void __attribute__((naked,noinline)) sub_FF8B6670_my(){ //  
     907 asm volatile( 
     908"                STMFD   SP!, {R4-R8,LR}\n" 
     909"                LDR     R7, =0x7270\n" 
     910"                MOV     R4, R0\n" 
     911"                LDR     R0, [R7,#0x1C]\n" 
     912"                MOV     R1, #0x3E\n" 
     913"                BL      sub_FF829D60\n" 
     914"                LDRSH   R0, [R4,#4]\n" 
     915"                MOV     R2, #0\n" 
     916"                MOV     R1, #0\n" 
     917"                BL      sub_FF8B56C0\n" 
     918"                MOV     R6, R0\n" 
     919"                LDRSH   R0, [R4,#6]\n" 
     920"                BL      sub_FF8B57CC\n" 
     921"                LDRSH   R0, [R4,#8]\n" 
     922"                BL      sub_FF8B5824\n" 
     923"                LDRSH   R0, [R4,#0xA]\n" 
     924"                BL      sub_FF8B587C\n" 
     925"                LDRSH   R0, [R4,#0xC]\n" 
     926"                BL      sub_FF8B58D4\n" 
     927"                MOV     R5, R0\n" 
     928"                LDR     R0, [R4]\n" 
     929"                LDR     R8, =0x46300\n" 
     930"                CMP     R0, #0xB\n" 
     931"                MOVEQ   R6, #0\n" 
     932"                MOVEQ   R5, #0\n" 
     933"                BEQ     loc_FF8B6700\n" 
     934"                CMP     R6, #1\n" 
     935"                BNE     loc_FF8B6700\n" 
     936"                LDRSH   R0, [R4,#4]\n" 
     937"                LDR     R1, =0xFF8B561C\n" 
     938"                MOV     R2, #2\n" 
     939"                BL      sub_FF936550\n" // IrisController.c 168 
     940"                STRH    R0, [R4,#4]\n" 
     941"                MOV     R0, #0\n" 
     942"                STR     R0, [R7,#0x28]\n" 
     943"                B       loc_FF8B6708\n" 
     944"loc_FF8B6700:\n" 
     945"                LDRH    R0, [R8]\n" 
     946"                STRH    R0, [R4,#4]\n" 
     947"loc_FF8B6708:\n" 
     948"                CMP     R5, #1\n" 
     949"                LDRNEH  R0, [R8,#8]\n" 
     950"                BNE     loc_FF8B6724\n" 
     951"                LDRSH   R0, [R4,#0xC]\n" 
     952"                LDR     R1, =0xFF8B56B0\n" 
     953"                MOV     R2, #0x20\n" 
     954"                BL      sub_FF8B9EA0\n" 
     955"loc_FF8B6724:\n" 
     956"                STRH    R0, [R4,#0xC]\n" 
     957"                LDRSH   R0, [R4,#6]\n" 
     958"                BL      sub_FF897408_my\n" // Shutter.c 364 -> 
     959"                LDRSH   R0, [R4,#8]\n" 
     960"                MOV     R1, #1\n" 
     961"                BL      sub_FF897B9C\n" // ImgGain.c 0 
     962"                MOV     R1, #0\n" 
     963"                ADD     R0, R4, #8\n" 
     964"                BL      sub_FF897C24\n" // ImgGain.c 0 
     965"                LDRSH   R0, [R4,#0xE]\n" 
     966"                BL      sub_FF8ACA40\n" // BrtCrct.c 552 
     967"                LDR     R4, =0xBB8\n" 
     968"                CMP     R6, #1\n" 
     969"                BNE     loc_FF8B677C\n" 
     970"                LDR     R0, [R7,#0x1C]\n" 
     971"                MOV     R2, R4\n" 
     972"                MOV     R1, #2\n" 
     973"                BL      sub_FF829C64\n" // KerFlag.c 0 
     974"                TST     R0, #1\n" 
     975"                LDRNE   R1, =0x527\n" 
     976"                LDRNE   R0, =0xFF8B5D3C\n" // "expdrv.c" 
     977"                BLNE    sub_FF81BFC8\n" 
     978"loc_FF8B677C:\n" 
     979"                CMP     R5, #1\n" 
     980"                LDMNEFD SP!, {R4-R8,PC}\n" 
     981"                LDR     R0, [R7,#0x1C]\n" 
     982"                MOV     R2, R4\n" 
     983"                MOV     R1, #0x20\n" 
     984"                BL      sub_FF829C64\n" // KerFlag.c 0 
     985"                TST     R0, #1\n" 
     986"                LDRNE   R1, =0x52C\n" 
     987"                LDRNE   R0, =0xFF8B5D3C\n" 
     988"                LDMNEFD SP!, {R4-R8,LR}\n" 
     989"                BNE     sub_FF81BFC8\n" 
     990"                LDMFD   SP!, {R4-R8,PC}\n" 
     991 
     992 ); 
     993} 
     994 
     995void __attribute__((naked,noinline)) sub_FF897408_my(){ // Shutter.c 364 
     996 asm volatile( 
     997"                STMFD   SP!, {R4-R6,LR}\n" 
     998"                LDR     R5, =0x6C38\n" 
     999"                MOV     R4, R0\n" 
     1000"                LDR     R0, [R5,#4]\n" 
     1001"                CMP     R0, #1\n" 
     1002"                MOVNE   R1, #0x16C\n" 
     1003"                LDRNE   R0, =0xFF8971A0\n" // "shutter.c" 
     1004"                BLNE    sub_FF81BFC8\n" 
     1005"                CMN     R4, #0xC00\n" 
     1006"                LDREQSH R4, [R5,#2]\n" 
     1007"                CMN     R4, #0xC00\n" 
     1008"                LDREQ   R1, =0x172\n" 
     1009"                LDREQ   R0, =0xFF8971A0\n" // "shutter.c" 
     1010"                STRH    R4, [R5,#2]\n" 
     1011"                BLEQ    sub_FF81BFC8\n" 
     1012"                MOV     R0, R4\n" 
     1013//"                BL      sub_FF9BF09C\n" // - 
     1014"                BL      apex2us\n" // + 
     1015"                MOV     R4, R0\n" 
     1016//"                BL      nullsub_143\n" 
     1017"                MOV     R0, R4\n" 
     1018"                BL      sub_FF8CF8C0\n" 
     1019"                TST     R0, #1\n" 
     1020"                LDRNE   R1, =0x177\n" 
     1021"                LDMNEFD SP!, {R4-R6,LR}\n" 
     1022"                LDRNE   R0, =0xFF8971A0\n" // "shutter.c" 
     1023"                BNE     sub_FF81BFC8\n" 
     1024"                LDMFD   SP!, {R4-R6,PC}\n" 
     1025 ); 
     1026} 
  • trunk/platform/g9/sub/100g/stubs_auto.S

    r576 r837  
    5252STUB(FF8298FC) 
    5353STUB(FF8299CC) 
     54STUB(FF829C64) 
    5455STUB(FF829D2C) 
    5556STUB(FF829D60) 
     
    304305STUB(FF894488) 
    305306STUB(FF895AD0) 
     307STUB(FF897408) 
     308STUB(FF897664) 
     309STUB(FF897B9C) 
     310STUB(FF897C24) 
     311STUB(FF897EA4) 
     312STUB(FF8983E4) 
     313STUB(FF8ACA40) 
     314STUB(FF8B56C0) 
     315STUB(FF8B57CC) 
     316STUB(FF8B5824) 
     317STUB(FF8B587C) 
     318STUB(FF8B58D4) 
     319STUB(FF8B592C) 
     320STUB(FF8B5A6C) 
     321STUB(FF8B5B24) 
     322STUB(FF8B5DAC) 
     323STUB(FF8B5FB0) 
     324STUB(FF8B6218) 
     325STUB(FF8B640C) 
     326STUB(FF8B6670) 
     327STUB(FF8B67AC) 
     328STUB(FF8B6A04) 
     329STUB(FF8B6C40) 
     330STUB(FF8B6F3C) 
     331STUB(FF8B7040) 
     332STUB(FF8B7274) 
     333STUB(FF8B73EC) 
     334STUB(FF8B7584) 
     335STUB(FF8B76BC) 
     336STUB(FF8B7904) 
     337STUB(FF8B888C) 
     338STUB(FF8B8AE0) 
     339STUB(FF8B8B40) 
     340STUB(FF8B9E70) 
     341STUB(FF8B9EA0) 
     342STUB(FF8B9EE4) 
     343STUB(FF8BA060) 
     344STUB(FF8BA10C) 
     345STUB(FF8BA1AC) 
     346STUB(FF8BA244) 
    306347STUB(FF8BD498) 
     348STUB(FF8CF8C0) 
    307349STUB(FF8FBD68) 
    308350STUB(FF8FBE2C) 
     
    313355STUB(FF918954) 
    314356STUB(FF9290B0) 
     357STUB(FF9362DC) 
     358STUB(FF93637C) 
     359STUB(FF936408) 
     360STUB(FF936550) 
     361STUB(FF936A9C) 
    315362STUB(FF93F040) 
    316363STUB(FF9400CC) 
     
    419466STUB(FF9BDBE4) 
    420467STUB(FF9BDC58) 
     468STUB(FF9BF09C) 
     469STUB(FFABD19C) 
    421470STUB(FFABD3F8) 
    422471STUB(FFABECA8) 
  • trunk/platform/g9/sub/100g/stubs_entry_2.S

    r826 r837  
    202202NHSTUB(UnlockAF, 0xff827638) 
    203203NHSTUB(SetScriptMode, 0xFF872F78) // "SetScriptMode" 
    204  
     204NHSTUB(apex2us, 0xFF9BF09C) // from exp_drv_task 
  • trunk/platform/g9/sub/100i/boot.c

    r821 r837  
    2020 if (p[0]==0xFF85D4C0)  p[0]=(int)movie_record_task; 
    2121 if (p[0]==0xFF877284)  p[0]=(int)init_file_modules_task; 
     22 if (p[0]==0xFF8B8B90)  p[0]=(int)exp_drv_task; 
    2223} 
    2324 
     
    2526 p-=16; 
    2627 if (p[0]==0xFF877284)  p[0]=(int)init_file_modules_task; 
     28 if (p[0]==0xFF8B8B90)  p[0]=(int)exp_drv_task; 
    2729} 
    2830 
  • trunk/platform/g9/sub/100i/capt_seq.c

    r821 r837  
    432432 ); 
    433433} 
     434 
     435void __attribute__((naked,noinline)) exp_drv_task(){ 
     436 asm volatile( 
     437"                STMFD   SP!, {R4-R8,LR}\n" 
     438"                SUB     SP, SP, #0x20\n" 
     439"                LDR     R8, =0xBB8\n" 
     440"                LDR     R7, =0x7270\n" 
     441"                LDR     R5, =0x462E8\n" 
     442"                MOV     R0, #0\n" 
     443"                ADD     R6, SP, #0x10\n" 
     444"                STR     R0, [SP,#0xC]\n" 
     445"loc_FF8B8BB0:\n" 
     446"                LDR     R0, [R7,#0x20]\n" 
     447"                MOV     R2, #0\n" 
     448"                ADD     R1, SP, #0x1C\n" 
     449"                BL      sub_FF829FB0\n" // KerQueue.c 0 
     450"                LDR     R0, [SP,#0xC]\n" 
     451"                CMP     R0, #1\n" 
     452"                BNE     loc_FF8B8BF8\n" 
     453"                LDR     R0, [SP,#0x1C]\n" 
     454"                LDR     R0, [R0]\n" 
     455"                CMP     R0, #0x13\n" 
     456"                CMPNE   R0, #0x14\n" 
     457"                CMPNE   R0, #0x15\n" 
     458"                BEQ     loc_FF8B8D78\n" 
     459"                CMP     R0, #0x26\n" 
     460"                BEQ     loc_FF8B8CE4\n" 
     461"                ADD     R1, SP, #0xC\n" 
     462"                MOV     R0, #0\n" 
     463"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     464"loc_FF8B8BF8:\n" 
     465"                LDR     R0, [SP,#0x1C]\n" 
     466"                LDR     R1, [R0]\n" 
     467"                CMP     R1, #0x2B\n" 
     468"                BNE     loc_FF8B8C28\n" 
     469"                LDR     R0, [SP,#0x1C]\n" 
     470"                BL      sub_FF8B9E70\n" // ExpDrv.c 0 
     471"                LDR     R0, [R7,#0x1C]\n" 
     472"                MOV     R1, #1\n" 
     473"                BL      sub_FF829D2C\n" 
     474"                BL      sub_FF81BD80\n" 
     475"                ADD     SP, SP, #0x20\n" 
     476"                LDMFD   SP!, {R4-R8,PC}\n" 
     477"loc_FF8B8C28:\n" 
     478"                CMP     R1, #0x2A\n" 
     479"                BNE     loc_FF8B8C44\n" 
     480"                LDR     R2, [R0,#0x88]!\n" 
     481"                LDR     R1, [R0,#4]\n" 
     482"                MOV     R0, R1\n" 
     483"                BLX     R2\n" 
     484"                B       loc_FF8B91DC\n" 
     485"loc_FF8B8C44:\n" 
     486"                CMP     R1, #0x24\n" 
     487"                BNE     loc_FF8B8C94\n" 
     488"                LDR     R0, [R7,#0x1C]\n" 
     489"                MOV     R1, #0x80\n" 
     490"                BL      sub_FF829D60\n" 
     491"                LDR     R0, =0xFF8B562C\n" 
     492"                MOV     R1, #0x80\n" 
     493"                BL      sub_FF9362E8\n" // IrisController.c 104 done 
     494"                LDR     R0, [R7,#0x1C]\n" 
     495"                MOV     R2, R8\n" 
     496"                MOV     R1, #0x80\n" 
     497"                BL      sub_FF829C64\n" // KerFlag.c 0 
     498"                TST     R0, #1\n" 
     499"                LDRNE   R1, =0xD07\n" 
     500"                BNE     loc_FF8B8D54\n" 
     501"loc_FF8B8C80:\n" 
     502"                LDR     R1, [SP,#0x1C]\n" 
     503"                LDR     R0, [R1,#0x8C]\n" 
     504"                LDR     R1, [R1,#0x88]\n" 
     505"                BLX     R1\n" 
     506"                B       loc_FF8B91DC\n" 
     507"loc_FF8B8C94:\n" 
     508"                CMP     R1, #0x25\n" 
     509"                BNE     loc_FF8B8CDC\n" 
     510"                ADD     R1, SP, #0xC\n" 
     511"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     512"                LDR     R0, [R7,#0x1C]\n" 
     513"                MOV     R1, #0x100\n" 
     514"                BL      sub_FF829D60\n" 
     515"                MOV     R1, #0x100\n" 
     516"                LDR     R0, =0xFF8B563C\n" 
     517"                BL      sub_FF936AA8\n" // IrisController.c 0 done 
     518"                LDR     R0, [R7,#0x1C]\n" 
     519"                MOV     R2, R8\n" 
     520"                MOV     R1, #0x100\n" 
     521"                BL      sub_FF829C64\n" // KerFlag.c 0 
     522"                TST     R0, #1\n" 
     523"                BEQ     loc_FF8B8C80\n" 
     524"                LDR     R1, =0xD11\n" 
     525"                B       loc_FF8B8D54\n" 
     526"loc_FF8B8CDC:\n" 
     527"                CMP     R1, #0x26\n" 
     528"                BNE     loc_FF8B8CF4\n" 
     529"loc_FF8B8CE4:\n" 
     530"                LDR     R0, [SP,#0x1C]\n" 
     531"                ADD     R1, SP, #0xC\n" 
     532"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     533"                B       loc_FF8B8C80\n" 
     534"loc_FF8B8CF4:\n" 
     535"                CMP     R1, #0x27\n" 
     536"                CMPNE   R1, #0x28\n" 
     537"                BNE     loc_FF8B8D60\n" 
     538"                ADD     R1, SP, #0xC\n" 
     539"                BL      sub_FF8B8B40\n" // ExpDrv.c 512 
     540"                LDR     R4, [SP,#0x1C]\n" 
     541"                LDR     R0, [R7,#0x1C]\n" 
     542"                MOV     R1, #0x40\n" 
     543"                BL      sub_FF829D60\n" 
     544"                LDR     R0, [R4]\n" 
     545"                MOV     R1, #0x40\n" 
     546"                CMP     R0, #0x27\n" 
     547"                LDR     R0, =0xFF8B56A0\n" 
     548"                BNE     loc_FF8B8D34\n" 
     549"                BL      sub_FF936388\n" // IrisController.c 125 done 
     550"                B       loc_FF8B8D38\n" 
     551"loc_FF8B8D34:\n" 
     552"                BL      sub_FF936414\n" // IrisController.c 143 done 
     553"loc_FF8B8D38:\n" 
     554"                LDR     R0, [R7,#0x1C]\n" 
     555"                MOV     R2, R8\n" 
     556"                MOV     R1, #0x40\n" 
     557"                BL      sub_FF829C64\n" // KerFlag.c 0 
     558"                TST     R0, #1\n" 
     559"                BEQ     loc_FF8B8C80\n" 
     560"                LDR     R1, =0xD1F\n" 
     561"loc_FF8B8D54:\n" 
     562"                LDR     R0, =0xFF8B5D3C\n" 
     563"                BL      sub_FF81BFC8\n" 
     564"                B       loc_FF8B8C80\n" 
     565"loc_FF8B8D60:\n" 
     566"                CMP     R1, #0x29\n" 
     567"                BNE     loc_FF8B8D78\n" 
     568"                BL      sub_FF897664\n" // Shutter.c 2 
     569"                BL      sub_FF8983E4\n" // ImgPixel.c 292 
     570"                BL      sub_FF897EA4\n" // ImgGain.c 0 
     571"                B       loc_FF8B8C80\n" 
     572"loc_FF8B8D78:\n" 
     573"                LDR     R0, [SP,#0x1C]\n" 
     574"                MOV     R4, #1\n" 
     575"                LDR     R1, [R0]\n" 
     576"                CMP     R1, #0x11\n" 
     577"                CMPNE   R1, #0x12\n" 
     578"                BNE     loc_FF8B8DE8\n" 
     579"                LDR     R1, [R0,#0x7C]\n" 
     580"                ADD     R1, R1, R1,LSL#1\n" 
     581"                ADD     R1, R0, R1,LSL#2\n" 
     582"                SUB     R1, R1, #8\n" 
     583"                LDMIA   R1, {R2-R4}\n" 
     584"                STMIA   R6, {R2-R4}\n" 
     585"                BL      sub_FF8B76BC\n" // ExpDrv.c 2 
     586"                LDR     R0, [SP,#0x1C]\n" 
     587"                LDR     R1, [R0,#0x7C]\n" 
     588"                LDR     R3, [R0,#0x88]\n" 
     589"                LDR     R2, [R0,#0x8C]\n" 
     590"                ADD     R0, R0, #4\n" 
     591"                BLX     R3\n" 
     592"                LDR     R0, [SP,#0x1C]\n" 
     593"                BL      sub_FF8BA244\n" // ExpDrv.c 4 
     594"                LDR     R0, [SP,#0x1C]\n" 
     595"                LDR     R1, [R0,#0x7C]\n" 
     596"                LDR     R3, [R0,#0x90]\n" 
     597"                LDR     R2, [R0,#0x94]\n" 
     598"                ADD     R0, R0, #4\n" 
     599"                BLX     R3\n" 
     600"                B       loc_FF8B911C\n" 
     601"loc_FF8B8DE8:\n" 
     602"                CMP     R1, #0x13\n" 
     603"                CMPNE   R1, #0x14\n" 
     604"                CMPNE   R1, #0x15\n" 
     605"                BNE     loc_FF8B8E9C\n" 
     606"                ADD     R3, SP, #0xC\n" 
     607"                MOV     R2, SP\n" 
     608"                ADD     R1, SP, #0x10\n" 
     609"                BL      sub_FF8B7904\n" // ExpDrv.c 4 
     610"                CMP     R0, #1\n" 
     611"                MOV     R4, R0\n" 
     612"                CMPNE   R4, #5\n" 
     613"                BNE     loc_FF8B8E38\n" 
     614"                LDR     R0, [SP,#0x1C]\n" 
     615"                MOV     R2, R4\n" 
     616"                LDR     R1, [R0,#0x7C]!\n" 
     617"                LDR     R12, [R0,#0xC]!\n" 
     618"                LDR     R3, [R0,#4]\n" 
     619"                MOV     R0, SP\n" 
     620"                BLX     R12\n" 
     621"                B       loc_FF8B8E70\n" 
     622"loc_FF8B8E38:\n" 
     623"                LDR     R0, [SP,#0x1C]\n" 
     624"                CMP     R4, #2\n" 
     625"                LDR     R3, [R0,#0x8C]\n" 
     626"                CMPNE   R4, #6\n" 
     627"                BNE     loc_FF8B8E84\n" 
     628"                LDR     R12, [R0,#0x88]\n" 
     629"                MOV     R0, SP\n" 
     630"                MOV     R2, R4\n" 
     631"                MOV     R1, #1\n" 
     632"                BLX     R12\n" 
     633"                LDR     R0, [SP,#0x1C]\n" 
     634"                MOV     R2, SP\n" 
     635"                ADD     R1, SP, #0x10\n" 
     636"                BL      sub_FF8B888C\n" // ExpDrv.c 4 
     637"loc_FF8B8E70:\n" 
     638"                LDR     R0, [SP,#0x1C]\n" 
     639"                LDR     R2, [SP,#0xC]\n" 
     640"                MOV     R1, R4\n" 
     641"                BL      sub_FF8B8AE0\n" // ExpDrv.c 2 
     642"                B       loc_FF8B911C\n" 
     643"loc_FF8B8E84:\n" 
     644"                LDR     R1, [R0,#0x7C]\n" 
     645"                LDR     R12, [R0,#0x88]\n" 
     646"                ADD     R0, R0, #4\n" 
     647"                MOV     R2, R4\n" 
     648"                BLX     R12\n" 
     649"                B       loc_FF8B911C\n" 
     650"loc_FF8B8E9C:\n" 
     651"                CMP     R1, #0x20\n" 
     652"                CMPNE   R1, #0x21\n" 
     653"                BNE     loc_FF8B8EE8\n" 
     654"                LDR     R1, [R0,#0x7C]\n" 
     655"                ADD     R1, R1, R1,LSL#1\n" 
     656"                ADD     R1, R0, R1,LSL#2\n" 
     657"                SUB     R1, R1, #8\n" 
     658"                LDMIA   R1, {R2-R4}\n" 
     659"                STMIA   R6, {R2-R4}\n" 
     660"                BL      sub_FF8B6C40\n" // ExpDrv.c 4 
     661"                LDR     R0, [SP,#0x1C]\n" 
     662"                LDR     R1, [R0,#0x7C]\n" 
     663"                LDR     R3, [R0,#0x88]\n" 
     664"                LDR     R2, [R0,#0x8C]\n" 
     665"                ADD     R0, R0, #4\n" 
     666"                BLX     R3\n" 
     667"                LDR     R0, [SP,#0x1C]\n" 
     668"                BL      sub_FF8B6F3C\n" // ExpDrv.c 4 
     669"                B       loc_FF8B911C\n" 
     670"loc_FF8B8EE8:\n" 
     671"                ADD     R1, R0, #4\n" 
     672"                LDMIA   R1, {R2,R3,R12}\n" 
     673"                STMIA   R6, {R2,R3,R12}\n" 
     674"                LDR     R1, [R0]\n" 
     675"                CMP     R1, #0x23\n" 
     676"                ADDLS   PC, PC, R1,LSL#2\n" 
     677"                B       loc_FF8B90FC\n" 
     678"                B       loc_FF8B8F94\n" 
     679"                B       loc_FF8B8F94\n" 
     680"                B       loc_FF8B8FE4\n" 
     681"                B       loc_FF8B8FEC\n" 
     682"                B       loc_FF8B8FEC\n" 
     683"                B       loc_FF8B8FEC\n" 
     684"                B       loc_FF8B8F94\n" 
     685"                B       loc_FF8B8FE4\n" 
     686"                B       loc_FF8B8FEC\n" 
     687"                B       loc_FF8B8FEC\n" 
     688"                B       loc_FF8B9004\n" 
     689"                B       loc_FF8B9004\n" 
     690"                B       loc_FF8B90F0\n" 
     691"                B       loc_FF8B90F8\n" 
     692"                B       loc_FF8B90F8\n" 
     693"                B       loc_FF8B90F8\n" 
     694"                B       loc_FF8B90F8\n" 
     695"                B       loc_FF8B90FC\n" 
     696"                B       loc_FF8B90FC\n" 
     697"                B       loc_FF8B90FC\n" 
     698"                B       loc_FF8B90FC\n" 
     699"                B       loc_FF8B90FC\n" 
     700"                B       loc_FF8B8FF4\n" 
     701"                B       loc_FF8B8FFC\n" 
     702"                B       loc_FF8B8FFC\n" 
     703"                B       loc_FF8B9010\n" 
     704"                B       loc_FF8B9018\n" 
     705"                B       loc_FF8B9048\n" 
     706"                B       loc_FF8B9078\n" 
     707"                B       loc_FF8B90A8\n" 
     708"                B       loc_FF8B90D8\n" 
     709"                B       loc_FF8B90D8\n" 
     710"                B       loc_FF8B90FC\n" 
     711"                B       loc_FF8B90FC\n" 
     712"                B       loc_FF8B90E0\n" 
     713"                B       loc_FF8B90E8\n" 
     714"loc_FF8B8F94:\n" 
     715// jumptable FF8B8EFC entries 0,1,6 
     716"                BL      sub_FF8B5B24\n" // ExpDrv.c 2 
     717"                B       loc_FF8B90FC\n" 
     718"loc_FF8B8FE4:\n" 
     719// jumptable FF8B8EFC entries 2,7 
     720"                BL      sub_FF8B5DAC\n" // ExpDrv.c 4 
     721"                B       loc_FF8B90FC\n" 
     722"loc_FF8B8FEC:\n" 
     723// jumptable FF8B8EFC entries 3-5,8,9 
     724"                BL      sub_FF8B5FB0\n" // ExpDrv.c 940 
     725"                B       loc_FF8B90FC\n" 
     726"loc_FF8B8FF4:\n" 
     727// jumptable FF8B8EFC entry 22 
     728"                BL      sub_FF8B6218\n" // ExpDrv.c 1072 
     729"                B       loc_FF8B90FC\n" 
     730"loc_FF8B8FFC:\n" 
     731// jumptable FF8B8EFC entries 23,24 
     732"                BL      sub_FF8B640C\n" // ExpDrv.c 4 
     733"                B       loc_FF8B90FC\n" 
     734"loc_FF8B9004:\n" 
     735// jumptable FF8B8EFC entries 10,11 
     736"                BL      sub_FF8B6670_my\n" // ExpDrv.c 2 -> 
     737"                MOV     R4, #0\n" 
     738"                B       loc_FF8B90FC\n" 
     739"loc_FF8B9010:\n" 
     740// jumptable FF8B8EFC entry 25 
     741"                BL      sub_FF8B67AC\n" // ExpDrv.c 4 
     742"                B       loc_FF8B90FC\n" 
     743"loc_FF8B9018:\n" 
     744// jumptable FF8B8EFC entry 26 
     745"                LDRH    R1, [R0,#4]\n" 
     746"                STRH    R1, [SP,#0x10]\n" 
     747"                LDRH    R1, [R5,#2]\n" 
     748"                STRH    R1, [SP,#0x12]\n" 
     749"                LDRH    R1, [R5,#4]\n" 
     750"                STRH    R1, [SP,#0x14]\n" 
     751"                LDRH    R1, [R5,#6]\n" 
     752"                STRH    R1, [SP,#0x16]\n" 
     753"                LDRH    R1, [R0,#0xC]\n" 
     754"                STRH    R1, [SP,#0x18]\n" 
     755"                BL      sub_FF8B9EE4\n" // ExpDrv.c 2 
     756"                B       loc_FF8B90FC\n" 
     757"loc_FF8B9048:\n" 
     758// jumptable FF8B8EFC entry 27 
     759"                LDRH    R1, [R0,#4]\n" 
     760"                STRH    R1, [SP,#0x10]\n" 
     761"                LDRH    R1, [R5,#2]\n" 
     762"                STRH    R1, [SP,#0x12]\n" 
     763"                LDRH    R1, [R5,#4]\n" 
     764"                STRH    R1, [SP,#0x14]\n" 
     765"                LDRH    R1, [R5,#6]\n" 
     766"                STRH    R1, [SP,#0x16]\n" 
     767"                LDRH    R1, [R5,#8]\n" 
     768"                STRH    R1, [SP,#0x18]\n" 
     769"                BL      sub_FF8BA060\n" // ExpDrv.c 2 
     770"                B       loc_FF8B90FC\n" 
     771"loc_FF8B9078:\n" 
     772// jumptable FF8B8EFC entry 28 
     773"                LDRH    R1, [R5]\n" 
     774"                STRH    R1, [SP,#0x10]\n" 
     775"                LDRH    R1, [R0,#6]\n" 
     776"                STRH    R1, [SP,#0x12]\n" 
     777"                LDRH    R1, [R5,#4]\n" 
     778"                STRH    R1, [SP,#0x14]\n" 
     779"                LDRH    R1, [R5,#6]\n" 
     780"                STRH    R1, [SP,#0x16]\n" 
     781"                LDRH    R1, [R5,#8]\n" 
     782"                STRH    R1, [SP,#0x18]\n" 
     783"                BL      sub_FF8BA10C\n" // ExpDrv.c 1552 
     784"                B       loc_FF8B90FC\n" 
     785"loc_FF8B90A8:\n" 
     786// jumptable FF8B8EFC entry 29 
     787"                LDRH    R1, [R5]\n" 
     788"                STRH    R1, [SP,#0x10]\n" 
     789"                LDRH    R1, [R5,#2]\n" 
     790"                STRH    R1, [SP,#0x12]\n" 
     791"                LDRH    R1, [R5,#4]\n" 
     792"                STRH    R1, [SP,#0x14]\n" 
     793"                LDRH    R1, [R5,#6]\n" 
     794"                STRH    R1, [SP,#0x16]\n" 
     795"                LDRH    R1, [R0,#0xC]\n" 
     796"                STRH    R1, [SP,#0x18]\n" 
     797"                BL      sub_FF8BA1AC\n" // ExpDrv.c 32 
     798"                B       loc_FF8B90FC\n" 
     799"loc_FF8B90D8:\n" 
     800// jumptable FF8B8EFC entries 30,31 
     801"                BL      sub_FF8B6A04\n" // ExpDrv.c 4 
     802"                B       loc_FF8B90FC\n" 
     803"loc_FF8B90E0:\n" 
     804// jumptable FF8B8EFC entry 34 
     805"                BL      sub_FF8B7040\n" // ExpDrv.c 4 
     806"                B       loc_FF8B90FC\n" 
     807"loc_FF8B90E8:\n" 
     808// jumptable FF8B8EFC entry 35 
     809"                BL      sub_FF8B7274\n" // ExpDrv.c 4 
     810"                B       loc_FF8B90FC\n" 
     811"loc_FF8B90F0:\n" 
     812// jumptable FF8B8EFC entry 12 
     813"                BL      sub_FF8B73EC\n" // ExpDrv.c 2 
     814"                B       loc_FF8B90FC\n" 
     815"loc_FF8B90F8:\n" 
     816// jumptable FF8B8EFC entries 13-16 
     817"                BL      sub_FF8B7584\n" // ExpDrv.c 128 
     818"loc_FF8B90FC:\n" 
     819// jumptable FF8B8EFC default entry 
     820// jumptable FF8B8EFC entries 17-21,32,33 
     821"                LDR     R0, [SP,#0x1C]\n" 
     822"                LDR     R1, [R0,#0x7C]\n" 
     823"                LDR     R3, [R0,#0x88]\n" 
     824"                LDR     R2, [R0,#0x8C]\n" 
     825"                ADD     R0, R0, #4\n" 
     826"                BLX     R3\n" 
     827"                CMP     R4, #1\n" 
     828"                BNE     loc_FF8B9164\n" 
     829"loc_FF8B911C:\n" 
     830"                LDR     R0, [SP,#0x1C]\n" 
     831"                MOV     R2, #0xC\n" 
     832"                LDR     R1, [R0,#0x7C]\n" 
     833"                ADD     R1, R1, R1,LSL#1\n" 
     834"                ADD     R0, R0, R1,LSL#2\n" 
     835"                SUB     R4, R0, #8\n" 
     836"                LDR     R0, =0x462E8\n" 
     837"                ADD     R1, SP, #0x10\n" 
     838"                BL      sub_FFABD1C4\n" //done 
     839"                LDR     R0, =0x462F4\n" 
     840"                MOV     R2, #0xC\n" 
     841"                ADD     R1, SP, #0x10\n" 
     842"                BL      sub_FFABD1C4\n" //done 
     843"                LDR     R0, =0x46300\n" 
     844"                MOV     R2, #0xC\n" 
     845"                MOV     R1, R4\n" 
     846"                BL      sub_FFABD1C4\n" //done 
     847"                B       loc_FF8B91DC\n" 
     848"loc_FF8B9164:\n" 
     849"                LDR     R0, [SP,#0x1C]\n" 
     850"                LDR     R0, [R0]\n" 
     851"                CMP     R0, #0xB\n" 
     852"                BNE     loc_FF8B91AC\n" 
     853"                MOV     R3, #0\n" 
     854"                STR     R3, [SP]\n" 
     855"                MOV     R3, #1\n" 
     856"                MOV     R2, #1\n" 
     857"                MOV     R1, #1\n" 
     858"                MOV     R0, #0\n" 
     859"                BL      sub_FF8B592C\n" 
     860"                MOV     R3, #0\n" 
     861"                STR     R3, [SP]\n" 
     862"                MOV     R3, #1\n" 
     863"                MOV     R2, #1\n" 
     864"                MOV     R1, #1\n" 
     865"                MOV     R0, #0\n" 
     866"                B       loc_FF8B91D8\n" 
     867"loc_FF8B91AC:\n" 
     868"                MOV     R3, #1\n" 
     869"                MOV     R2, #1\n" 
     870"                MOV     R1, #1\n" 
     871"                MOV     R0, #1\n" 
     872"                STR     R3, [SP]\n" 
     873"                BL      sub_FF8B592C\n" 
     874"                MOV     R3, #1\n" 
     875"                MOV     R2, #1\n" 
     876"                MOV     R1, #1\n" 
     877"                MOV     R0, #1\n" 
     878"                STR     R3, [SP]\n" 
     879"loc_FF8B91D8:\n" 
     880"                BL      sub_FF8B5A6C\n" 
     881"loc_FF8B91DC:\n" 
     882"                LDR     R0, [SP,#0x1C]\n" 
     883"                BL      sub_FF8B9E70\n" // ExpDrv.c 0 
     884"                B       loc_FF8B8BB0\n" 
     885 ); 
     886} 
     887 
     888void __attribute__((naked,noinline)) sub_FF8B6670_my(){ //  
     889 asm volatile( 
     890"                STMFD   SP!, {R4-R8,LR}\n" 
     891"                LDR     R7, =0x7270\n" 
     892"                MOV     R4, R0\n" 
     893"                LDR     R0, [R7,#0x1C]\n" 
     894"                MOV     R1, #0x3E\n" 
     895"                BL      sub_FF829D60\n" 
     896"                LDRSH   R0, [R4,#4]\n" 
     897"                MOV     R2, #0\n" 
     898"                MOV     R1, #0\n" 
     899"                BL      sub_FF8B56C0\n" 
     900"                MOV     R6, R0\n" 
     901"                LDRSH   R0, [R4,#6]\n" 
     902"                BL      sub_FF8B57CC\n" 
     903"                LDRSH   R0, [R4,#8]\n" 
     904"                BL      sub_FF8B5824\n" 
     905"                LDRSH   R0, [R4,#0xA]\n" 
     906"                BL      sub_FF8B587C\n" 
     907"                LDRSH   R0, [R4,#0xC]\n" 
     908"                BL      sub_FF8B58D4\n" 
     909"                MOV     R5, R0\n" 
     910"                LDR     R0, [R4]\n" 
     911"                LDR     R8, =0x46300\n" 
     912"                CMP     R0, #0xB\n" 
     913"                MOVEQ   R6, #0\n" 
     914"                MOVEQ   R5, #0\n" 
     915"                BEQ     loc_FF8B6700\n" 
     916"                CMP     R6, #1\n" 
     917"                BNE     loc_FF8B6700\n" 
     918"                LDRSH   R0, [R4,#4]\n" 
     919"                LDR     R1, =0xFF8B561C\n" 
     920"                MOV     R2, #2\n" 
     921"                BL      sub_FF93655C\n" // IrisController.c 168 done 
     922"                STRH    R0, [R4,#4]\n" 
     923"                MOV     R0, #0\n" 
     924"                STR     R0, [R7,#0x28]\n" 
     925"                B       loc_FF8B6708\n" 
     926"loc_FF8B6700:\n" 
     927"                LDRH    R0, [R8]\n" 
     928"                STRH    R0, [R4,#4]\n" 
     929"loc_FF8B6708:\n" 
     930"                CMP     R5, #1\n" 
     931"                LDRNEH  R0, [R8,#8]\n" 
     932"                BNE     loc_FF8B6724\n" 
     933"                LDRSH   R0, [R4,#0xC]\n" 
     934"                LDR     R1, =0xFF8B56B0\n" 
     935"                MOV     R2, #0x20\n" 
     936"                BL      sub_FF8B9EA0\n" 
     937"loc_FF8B6724:\n" 
     938"                STRH    R0, [R4,#0xC]\n" 
     939"                LDRSH   R0, [R4,#6]\n" 
     940"                BL      sub_FF897408_my\n" // Shutter.c 364 -> 
     941"                LDRSH   R0, [R4,#8]\n" 
     942"                MOV     R1, #1\n" 
     943"                BL      sub_FF897B9C\n" // ImgGain.c 0 
     944"                MOV     R1, #0\n" 
     945"                ADD     R0, R4, #8\n" 
     946"                BL      sub_FF897C24\n" // ImgGain.c 0 
     947"                LDRSH   R0, [R4,#0xE]\n" 
     948"                BL      sub_FF8ACA40\n" // BrtCrct.c 552 
     949"                LDR     R4, =0xBB8\n" 
     950"                CMP     R6, #1\n" 
     951"                BNE     loc_FF8B677C\n" 
     952"                LDR     R0, [R7,#0x1C]\n" 
     953"                MOV     R2, R4\n" 
     954"                MOV     R1, #2\n" 
     955"                BL      sub_FF829C64\n" // KerFlag.c 0 
     956"                TST     R0, #1\n" 
     957"                LDRNE   R1, =0x527\n" 
     958"                LDRNE   R0, =0xFF8B5D3C\n" // "expdrv.c" 
     959"                BLNE    sub_FF81BFC8\n" 
     960"loc_FF8B677C:\n" 
     961"                CMP     R5, #1\n" 
     962"                LDMNEFD SP!, {R4-R8,PC}\n" 
     963"                LDR     R0, [R7,#0x1C]\n" 
     964"                MOV     R2, R4\n" 
     965"                MOV     R1, #0x20\n" 
     966"                BL      sub_FF829C64\n" // KerFlag.c 0 
     967"                TST     R0, #1\n" 
     968"                LDRNE   R1, =0x52C\n" 
     969"                LDRNE   R0, =0xFF8B5D3C\n" 
     970"                LDMNEFD SP!, {R4-R8,LR}\n" 
     971"                BNE     sub_FF81BFC8\n" 
     972"                LDMFD   SP!, {R4-R8,PC}\n" 
     973 
     974 ); 
     975} 
     976 
     977void __attribute__((naked,noinline)) sub_FF897408_my(){ // Shutter.c 364 
     978 asm volatile( 
     979"                STMFD   SP!, {R4-R6,LR}\n" 
     980"                LDR     R5, =0x6C38\n" 
     981"                MOV     R4, R0\n" 
     982"                LDR     R0, [R5,#4]\n" 
     983"                CMP     R0, #1\n" 
     984"                MOVNE   R1, #0x16C\n" 
     985"                LDRNE   R0, =0xFF8971A0\n" // "shutter.c" 
     986"                BLNE    sub_FF81BFC8\n" 
     987"                CMN     R4, #0xC00\n" 
     988"                LDREQSH R4, [R5,#2]\n" 
     989"                CMN     R4, #0xC00\n" 
     990"                LDREQ   R1, =0x172\n" 
     991"                LDREQ   R0, =0xFF8971A0\n" // "shutter.c" 
     992"                STRH    R4, [R5,#2]\n" 
     993"                BLEQ    sub_FF81BFC8\n" 
     994"                MOV     R0, R4\n" 
     995//"                BL      sub_FF9BF0C4\n" // - 
     996"                BL      apex2us\n" // + 
     997"                MOV     R4, R0\n" 
     998//"                BL      nullsub_143\n" 
     999"                MOV     R0, R4\n" 
     1000"                BL      sub_FF8CF8C0\n" 
     1001"                TST     R0, #1\n" 
     1002"                LDRNE   R1, =0x177\n" 
     1003"                LDMNEFD SP!, {R4-R6,LR}\n" 
     1004"                LDRNE   R0, =0xFF8971A0\n" // "shutter.c" 
     1005"                BNE     sub_FF81BFC8\n" 
     1006"                LDMFD   SP!, {R4-R6,PC}\n" 
     1007 ); 
     1008} 
     1009 
  • trunk/platform/g9/sub/100i/stubs_auto.S

    r821 r837  
    3333STUB(FF82629C) 
    3434STUB(FF8299CC) 
     35STUB(FF829C64) 
    3536STUB(FF829D2C) 
    3637STUB(FF829D60) 
     
    8889STUB(FF87FD60) 
    8990STUB(FF87FD70) 
     91STUB(FF897408) 
     92STUB(FF897664) 
     93STUB(FF897B9C) 
     94STUB(FF897C24) 
     95STUB(FF897EA4) 
     96STUB(FF8983E4) 
     97STUB(FF8ACA40) 
     98STUB(FF8B56C0) 
     99STUB(FF8B57CC) 
     100STUB(FF8B5824) 
     101STUB(FF8B587C) 
     102STUB(FF8B58D4) 
     103STUB(FF8B592C) 
     104STUB(FF8B5A6C) 
     105STUB(FF8B5B24) 
     106STUB(FF8B5DAC) 
     107STUB(FF8B5FB0) 
     108STUB(FF8B6218) 
     109STUB(FF8B640C) 
     110STUB(FF8B6670) 
     111STUB(FF8B67AC) 
     112STUB(FF8B6A04) 
     113STUB(FF8B6C40) 
     114STUB(FF8B6F3C) 
     115STUB(FF8B7040) 
     116STUB(FF8B7274) 
     117STUB(FF8B73EC) 
     118STUB(FF8B7584) 
     119STUB(FF8B76BC) 
     120STUB(FF8B7904) 
     121STUB(FF8B888C) 
     122STUB(FF8B8AE0) 
     123STUB(FF8B8B40) 
     124STUB(FF8B9E70) 
     125STUB(FF8B9EA0) 
     126STUB(FF8B9EE4) 
     127STUB(FF8BA060) 
     128STUB(FF8BA10C) 
     129STUB(FF8BA1AC) 
     130STUB(FF8BA244) 
     131STUB(FF8CF8C0) 
    90132STUB(FF8FBD68) 
    91133STUB(FF8FBE2C) 
     
    94136STUB(FF918508) 
    95137STUB(FF9290BC) 
     138STUB(FF9362E8) 
     139STUB(FF936388) 
     140STUB(FF936414) 
     141STUB(FF93655C) 
     142STUB(FF936AA8) 
    96143STUB(FF93F04C) 
    97144STUB(FF940D14) 
     
    137184STUB(FF94553C) 
    138185STUB(FF957C54) 
     186STUB(FF9BF0C4) 
     187STUB(FFABD1C4) 
    139188STUB(FFABD420) 
    140189STUB(FFABECD0) 
  • trunk/platform/g9/sub/100i/stubs_entry_2.S

    r826 r837  
    2121NHSTUB(WriteSDCard, 0xFF928D00) 
    2222NHSTUB(SetScriptMode, 0xFF872F78) // "SetScriptMode" 
     23NHSTUB(apex2us, 0xFF9BF0C4) // from sub_FF897408 via exp_drv_task 
Note: See TracChangeset for help on using the changeset viewer.