Changeset 734 for trunk


Ignore:
Timestamp:
04/16/09 06:00:38 (4 years ago)
Author:
phyrephox
Message:

long exposures for ixus950_sd850 (PlasmaHH)

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/camera.h

    r733 r734  
    12871287//---------------------------------------------------------- 
    12881288#elif defined (CAMERA_ixus950_sd850) 
     1289 
     1290    #define CAM_EXT_TV_RANGE            1 
    12891291    #define CAM_PROPSET                 2 
    12901292 
  • trunk/platform/ixus950_sd850/sub/100c/capt_seq.c

    r550 r734  
    312312} 
    313313 
     314 
     315 
     316 
     317 
     318 
     319 
     320/* 
     321ROM:FF976A78     var_38          = -0x38 
     322ROM:FF976A78     var_34          = -0x34 
     323ROM:FF976A78     var_30          = -0x30 
     324ROM:FF976A78     var_24          = -0x24 
     325ROM:FF976A78     var_20          = -0x20 
     326ROM:FF976A78     var_1E          = -0x1E 
     327ROM:FF976A78     var_1C          = -0x1C 
     328*/ 
     329//void __attribute__((naked,noinline)) _task_ExpDrvTask() { 
     330void __attribute__((naked,noinline)) exp_drv_task() { 
     331 asm volatile( 
     332                 "STMFD   SP!, {R4-R8,LR}\n" // @ Store Block to Memory 
     333                 "SUB     SP, SP, #0x20\n" //   @ Rd = Op1 - Op2 
     334                 "ADD     R7, SP, #0x4\n" //  @ Rd = Op1 + Op2 
     335                 "B       loc_FF976F88\n" //    @ Branch 
     336 
     337 
     338     "loc_FF976A88:\n" //                           @ CODE XREF: task_ExpDrvTask+530 
     339                 "CMP     R2, #0x22\n" // @ '"' @ Set cond. codes on Op1 - Op2 
     340                 "BNE     loc_FF976AA0\n"    //@ Branch 
     341 
     342                 "LDR     R0, [R12,#0x8C]\n" //@ Load from Memory 
     343                 "MOV     LR, PC\n"          //@ Rd = Op2 
     344                 "LDR     PC, [R12,#0x88]\n" //@ Indirect Jump 
     345                 "B       loc_FF976B04\n"    //@ Branch 
     346 
     347 
     348 
     349     "loc_FF976AA0:\n"                           //@ CODE XREF: task_ExpDrvTask+14 
     350                 "CMP     R2, #0x1D\n"       //@ Set cond. codes on Op1 - Op2 
     351                 "BNE     loc_FF976AB4\n"    //@ Branch 
     352 
     353                 "MOV     R0, R12\n"         //@ Rd = Op2 
     354                 "BL      sub_FF976948\n"    //@ Branch with Link 
     355 
     356                 "B       loc_FF976AF4\n"    //@ Branch 
     357 
     358 
     359 
     360     "loc_FF976AB4:\n"                           //@ CODE XREF: task_ExpDrvTask+2C 
     361                 "CMP     R2, #0x1E\n"       //@ Set cond. codes on Op1 - Op2 
     362                 "BNE     loc_FF976AC8\n"    //@ Branch 
     363 
     364                 "MOV     R0, R12\n"         //@ Rd = Op2 
     365                 "BL      sub_FF9769A4\n"    //@ Branch with Link 
     366 
     367                 "B       loc_FF976AF4\n"    //@ Branch 
     368 
     369 
     370 
     371     "loc_FF976AC8:\n"                           //@ CODE XREF: task_ExpDrvTask+40 
     372                 "SUB     R3, R2, #0x1F\n"   //@ Rd = Op1 - Op2 
     373                 "CMP     R3, #1\n"          //@ Set cond. codes on Op1 - Op2 
     374                 "BHI     loc_FF976AE0\n"    //@ Branch 
     375 
     376                 "MOV     R0, R12\n"         //@ Rd = Op2 
     377                 "BL      sub_FF976A00\n"    //@ Branch with Link 
     378 
     379                 "B       loc_FF976AF4\n"    //@ Branch 
     380 
     381 
     382 
     383     "loc_FF976AE0:\n"                           //@ CODE XREF: task_ExpDrvTask+58 
     384                 "CMP     R2, #0x21\n"           // @ '!' Set cond. codes on Op1 - Op2 
     385                 "BNE     loc_FF976B10\n"    //@ Branch 
     386 
     387                 "BL      sub_FF93C0BC\n"    //@ Branch with Link 
     388 
     389                 "BL      sub_FF93F1F4\n"    //@ Branch with Link 
     390 
     391                 "BL      sub_FF93E42C\n"    //@ Branch with Link 
     392 
     393 
     394     "loc_FF976AF4:\n"                           //@ CODE XREF: task_ExpDrvTask+38 
     395                 "LDR     R3, [SP,#4]\n"     //@ Load from Memory 
     396                 "LDR     R0, [R3,#0x8C]\n"  //@ Load from Memory 
     397                 "MOV     LR, PC\n"          //@ Rd = Op2 
     398                 "LDR     PC, [R3,#0x88]\n"  //@ Indirect Jump 
     399 
     400     "loc_FF976B04:\n"                           //@ CODE XREF: task_ExpDrvTask+24 
     401                 "LDR     R0, [SP,#0x4]\n" //@ Load from Memory 
     402                 "BL      sub_FF9722A8\n"    //@ Branch with Link 
     403 
     404                 "B       loc_FF976F88\n"    //@ Branch 
     405 
     406 
     407     "loc_FF976B10:\n"                           //@ CODE XREF: task_ExpDrvTask+6C 
     408                 "CMP     R2, #0xD\n"        //@ Set cond. codes on Op1 - Op2 
     409                 "MOV     R8, #1\n"          //@ Rd = Op2 
     410                 "BNE     loc_FF976B80\n"    //@ Branch 
     411 
     412                 "LDR     R1, [R12,#0x7C]\n" //@ Load from Memory 
     413                 "ADD     R1, R1, R1,LSL#1\n" //@ Rd = Op1 + Op2 
     414                 "ADD     R1, R12, R1,LSL#2\n" //@ Rd = Op1 + Op2 
     415                 "ADD     R6, SP, #0x14\n"   //@ Rd = Op1 + Op2 
     416                 "SUB     R1, R1, #8\n"      //@ Rd = Op1 - Op2 
     417                 "MOV     R2, #0xC\n"        //@ Rd = Op2 
     418                 "MOV     R0, R6\n"          //@ Rd = Op2 
     419                 "BL      _memcpy\n"          //@ Branch with Link 
     420 
     421                 "LDR     R0, [SP,#4]\n" //@ Load from Memory 
     422                 "BL      sub_FF974F0C\n"    //@ Branch with Link 
     423 
     424                 "LDR     R3, [SP,#04]\n" //@ Load from Memory 
     425                 "LDR     R1, [R3,#0x7C]\n"  //@ Load from Memory 
     426                 "LDR     R2, [R3,#0x8C]\n"  //@ Load from Memory 
     427                 "ADD     R0, R3, #4\n"      //@ Rd = Op1 + Op2 
     428                 "MOV     LR, PC\n"          //@ Rd = Op2 
     429                 "LDR     PC, [R3,#0x88]\n"  //@ Indirect Jump 
     430                 "LDR     R0, [SP,#4]\n" //@ Load from Memory 
     431                 "BL      sub_FF9751D8\n"    //@ Branch with Link 
     432 
     433                 "LDR     R3, [SP,#04]\n" //@ Load from Memory 
     434                 "ADD     R0, R3, #4\n"      //@ Rd = Op1 + Op2 
     435                 "LDR     R1, [R3,#0x7C]\n"  //@ Load from Memory 
     436                 "LDR     R2, [R3,#0x94]\n"  //@ Load from Memory 
     437                 "MOV     LR, PC\n"          //@ Rd = Op2 
     438                 "LDR     PC, [R3,#0x90]\n"  //@ Indirect Jump 
     439                 "B       loc_FF976ED0\n"    //@ Branch 
     440 
     441 
     442 
     443     "loc_FF976B80:\n"                           //@ CODE XREF: task_ExpDrvTask+A0 
     444                 "SUB     R3, R2, #0xE\n"    //@ Rd = Op1 - Op2 
     445                 "CMP     R3, #1\n"          //@ Set cond. codes on Op1 - Op2 
     446                 "BHI     loc_FF976C3C\n"    //@ Branch 
     447 
     448                 "ADD     R6, SP, #0x14\n" //@ Rd = Op1 + Op2 
     449                 "ADD     R5, SP, #0x8\n" //@ Rd = Op1 + Op2 
     450                 "MOV     R0, R12\n"         //@ Rd = Op2 
     451                 "MOV     R1, R6\n"          //@ Rd = Op2 
     452                 "MOV     R2, R5\n"          //@ Rd = Op2 
     453                 "BL      sub_FF9752C8\n"    //@ Branch with Link 
     454 
     455                 "MOV     R4, R0\n"          //@ Rd = Op2 
     456                 "CMP     R4, #5\n"          //@ Set cond. codes on Op1 - Op2 
     457                 "CMPNE   R4, #1\n"          //@ Set cond. codes on Op1 - Op2 
     458                 "BNE     loc_FF976BD4\n"    //@ Branch 
     459 
     460                 "LDR     R12, [SP,#0x4]\n" //@ Load from Memory 
     461                 "MOV     R0, R5\n"          //@ Rd = Op2 
     462                 "LDR     R1, [R12,#0x7C]\n" //@ Load from Memory 
     463                 "MOV     R2, R4\n"          //@ Rd = Op2 
     464                 "LDR     R3, [R12,#0x8C]\n" //@ Load from Memory 
     465                 "MOV     LR, PC\n"          //@ Rd = Op2 
     466                 "LDR     PC, [R12,#0x88]\n" //@ Indirect Jump 
     467                 "B       loc_FF976C0C\n"    //@ Branch 
     468 
     469 
     470 
     471     "loc_FF976BD4:\n"                           //@ CODE XREF: task_ExpDrvTask+138 
     472                 "CMP     R4, #6\n"          //@ Set cond. codes on Op1 - Op2 
     473                 "CMPNE   R4, #2\n"          //@ Set cond. codes on Op1 - Op2 
     474                 "BNE     loc_FF976C1C\n"    //@ Branch 
     475 
     476                 "LDR     R12, [SP,#0x4]\n" //@ Load from Memory 
     477                 "MOV     R0, R5\n"          //@ Rd = Op2 
     478                 "MOV     R1, R8\n"          //@ Rd = Op2 
     479                 "MOV     R2, R4\n"          //@ Rd = Op2 
     480                 "LDR     R3, [R12,#0x8C]\n" //@ Load from Memory 
     481                 "MOV     LR, PC\n"          //@ Rd = Op2 
     482                 "LDR     PC, [R12,#0x88]\n" //@ Indirect Jump 
     483                 "MOV     R1, R6\n"          //@ Rd = Op2 
     484                 "LDR     R0, [SP,#0x4]\n" //@ Load from Memory 
     485                 "MOV     R2, R5\n"          //@ Rd = Op2 
     486                 "BL      sub_FF976578\n"    //@ Branch with Link 
     487 
     488 
     489     "loc_FF976C0C:\n"                           //@ CODE XREF: task_ExpDrvTask+158 
     490                 "MOV     R1, R4\n"          //@ Rd = Op2 
     491                 "LDR     R0, [SP,#04]\n" //@ Load from Memory 
     492                 "BL      sub_FF9768DC\n"    //@ Branch with Link 
     493 
     494                 "B       loc_FF976ED0\n"    //@ Branch 
     495 
     496 
     497     "loc_FF976C1C:\n"                           //@ CODE XREF: task_ExpDrvTask+164 
     498                 "LDR     R12, [SP,#0x4]\n" //@ Load from Memory 
     499                 "MOV     R2, R4\n"          //@ Rd = Op2 
     500                 "ADD     R0, R12, #4\n"     //@ Rd = Op1 + Op2 
     501                 "LDR     R1, [R12,#0x7C]\n" //@ Load from Memory 
     502                 "LDR     R3, [R12,#0x8C]\n" //@ Load from Memory 
     503                 "MOV     LR, PC\n"          //@ Rd = Op2 
     504                 "LDR     PC, [R12,#0x88]\n" //@ Indirect Jump 
     505                 "B       loc_FF976ED0\n"    //@ Branch 
     506 
     507 
     508 
     509     "loc_FF976C3C:\n"                           //@ CODE XREF: task_ExpDrvTask+110 
     510                 "SUB     R3, R2, #0x19\n"   //@ Rd = Op1 - Op2 
     511                 "CMP     R3, #1\n"          //@ Set cond. codes on Op1 - Op2 
     512                 "BHI     loc_FF976C94\n"    //@ Branch 
     513 
     514                 "LDR     R1, [R12,#0x7C]\n" //@ Load from Memory 
     515                 "ADD     R1, R1, R1,LSL#1\n" //@ Rd = Op1 + Op2 
     516                 "ADD     R1, R12, R1,LSL#2\n" //@ Rd = Op1 + Op2 
     517                 "ADD     R6, SP, #0x14\n" //@ Rd = Op1 + Op2 
     518                 "SUB     R1, R1, #8\n"      //@ Rd = Op1 - Op2 
     519                 "MOV     R2, #0xC\n"        //@ Rd = Op2 
     520                 "MOV     R0, R6\n"          //@ Rd = Op2 
     521                 "BL      _memcpy\n"          //@ Branch with Link 
     522 
     523                 "LDR     R0, [SP,#0x4]\n" //@ Load from Memory 
     524                 "BL      sub_FF97430C\n"    //@ Branch with Link 
     525 
     526                 "LDR     R3, [SP,#0x4]\n" //@ Load from Memory 
     527                 "ADD     R0, R3, #4\n"      //@ Rd = Op1 + Op2 
     528                 "LDR     R1, [R3,#0x7C]\n"  //@ Load from Memory 
     529                 "LDR     R2, [R3,#0x8C]\n"  //@ Load from Memory 
     530                 "MOV     LR, PC\n"          //@ Rd = Op2 
     531                 "LDR     PC, [R3,#0x88]\n"  //@ Indirect Jump 
     532                 "LDR     R0, [SP,#0x4]\n" //@ Load from Memory 
     533                 "BL      sub_FF97462C\n"    //@ Branch with Link 
     534 
     535                 "B       loc_FF976ED0\n"    //@ Branch 
     536 
     537 
     538 
     539     "loc_FF976C94:\n"                           //@ CODE XREF: task_ExpDrvTask+1CC 
     540                 "ADD     R6, SP, #0x14\n" //@ Rd = Op1 + Op2 
     541                 "ADD     R1, R12, #4\n"     //@ Rd = Op1 + Op2 
     542                 "MOV     R2, #0xC\n"        //@ Rd = Op2 
     543                 "MOV     R0, R6\n"          //@ Rd = Op2 
     544                 "BL      _memcpy\n"          //@ Branch with Link 
     545 
     546                 "LDR     R12, [SP,#0x4]\n" //@ Load from Memory 
     547                 "LDR     R3, [R12]\n"       //@ Load from Memory 
     548                 "MOV     R2, R12\n"         //@ Rd = Op2 
     549                 "CMP     R3, #0x1C\n"       //@ Set cond. codes on Op1 - Op2 
     550                 "LDRLS   PC, [PC,R3,LSL#2]\n" //@ Indirect Jump 
     551 
     552                 "B       loc_FF976EBC\n"    //@ Branch 
     553 
     554 
     555                 ".long loc_FF976D34\n" 
     556                 ".long loc_FF976D40\n" 
     557                 ".long loc_FF976D4C\n" 
     558                 ".long loc_FF976D4C\n" 
     559                 ".long loc_FF976D34\n" 
     560                 ".long loc_FF976D40\n" 
     561                 ".long loc_FF976D4C\n" 
     562                 ".long loc_FF976D4C\n" 
     563                 ".long loc_FF976D70\n" 
     564                 ".long loc_FF976D70\n" 
     565                 ".long loc_FF976E90\n" 
     566                 ".long loc_FF976E9C\n" 
     567                 ".long loc_FF976EAC\n" 
     568                 ".long loc_FF976EBC\n" 
     569                 ".long loc_FF976EBC\n" 
     570                 ".long loc_FF976EBC\n" 
     571                 ".long loc_FF976D58\n" 
     572                 ".long loc_FF976D64\n" 
     573                 ".long loc_FF976D80\n" 
     574                 ".long loc_FF976D8C\n" 
     575                 ".long loc_FF976DC4\n" 
     576                 ".long loc_FF976DFC\n" 
     577                 ".long loc_FF976E34\n" 
     578                 ".long loc_FF976E6C\n" 
     579                 ".long loc_FF976E6C\n" 
     580                 ".long loc_FF976EBC\n" 
     581                 ".long loc_FF976EBC\n" 
     582                 ".long loc_FF976E78\n" 
     583                 ".long loc_FF976E84\n" 
     584 
     585 
     586     "loc_FF976D34:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     587                 "MOV     R0, R2\n"          //@ Rd = Op2 
     588                 "BL      sub_FF972C08\n"    //@ Branch with Link 
     589 
     590                 "B       loc_FF976EB8\n"    //@ Branch 
     591 
     592     "loc_FF976D40:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     593                 "MOV     R0, R2\n"          //@ Rd = Op2 
     594                 "BL      sub_FF972EAC\n"    //@ Branch with Link 
     595 
     596                 "B       loc_FF976EB8\n"    //@ Branch 
     597 
     598     "loc_FF976D4C:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     599                 "MOV     R0, R2\n"          //@ Rd = Op2 
     600                 "BL      sub_FF973120\n"    //@ Branch with Link 
     601 
     602                 "B       loc_FF976EB8\n"    //@ Branch 
     603 
     604     "loc_FF976D58:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     605                 "MOV     R0, R2\n"          //@ Rd = Op2 
     606                 "BL      sub_FF97341C\n"    //@ Branch with Link 
     607 
     608                 "B       loc_FF976EB8\n"    //@ Branch 
     609 
     610     "loc_FF976D64:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     611                 "MOV     R0, R2\n"          //@ Rd = Op2 
     612                 "BL      sub_FF973684\n"    //@ Branch with Link 
     613 
     614                 "B       loc_FF976EB8\n"    //@ Branch 
     615 
     616     "loc_FF976D70:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     617                 "MOV     R0, R2\n"          //@ Rd = Op2 
     618//                 "BL      sub_FF973980\n"    //@ Branch with Link 
     619                 "BL      sub_FF973980_my\n"    //@ Branch with Link this is the place where the function lies where ewvar also creates its own version of, so we just do the same here 
     620 
     621                 "MOV     R8, #0\n"          //@ Rd = Op2 
     622                 "B       loc_FF976EB8\n"    //@ Branch 
     623 
     624     "loc_FF976D80:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     625                 "MOV     R0, R2\n"          //@ Rd = Op2 
     626                 "BL      sub_FF973AE0\n"    //@ Branch with Link 
     627 
     628                 "B       loc_FF976EB8\n"    //@ Branch 
     629 
     630 
     631     "loc_FF976D8C:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     632                 "LDRH    R1, [R2,#4]\n"     //@ Load from Memory 
     633//                 "LDR     R3, =0x2E4A8\n"  //@ Load from Memory 
     634                 "LDR     R3, =0x2E4A8\n"  //@ Load from Memory 
     635                 "STRH    R1, [SP,#0x14]\n" //@ Store to Memory 
     636                 "LDRH    R1, [R3,#6]\n"     //@ Load from Memory 
     637                 "STRH    R1, [SP,#0x1A]\n" //@ Store to Memory 
     638                 "LDRH    R1, [R3,#2]\n"     //@ Load from Memory 
     639                 "STRH    R1, [SP,#0x16]\n" //@ Store to Memory 
     640                 "LDRH    R3, [R3,#4]\n"     //@ Load from Memory 
     641                 "STRH    R3, [SP,#0x18]\n" //@ Store to Memory 
     642                 "MOV     R0, R2\n"          //@ Rd = Op2 
     643                 "LDRH    R2, [R2,#0xC]\n"   //@ Load from Memory 
     644                 "STRH    R2, [SP,#0x1C]\n" //@ Store to Memory 
     645                 "BL      sub_FF973DDC\n"    //@ Branch with Link 
     646 
     647                 "B       loc_FF976EB8\n"    //@ Branch 
     648 
     649 
     650     "loc_FF976DC4:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     651                 "MOV     R0, R2\n"          //@ Rd = Op2 
     652                 "LDRH    R2, [R2,#4]\n"     //@ Load from Memory 
     653                 "LDR     R3, =0x2E4A8\n"  //@ Load from Memory 
     654                 "STRH    R2, [SP,#0x14]\n" //@ Store to Memory 
     655                 "LDRH    R2, [R3,#8]\n"     //@ Load from Memory 
     656                 "STRH    R2, [SP,#0x1C]\n" //@ Store to Memory 
     657                 "LDRH    R1, [R3,#2]\n"     //@ Load from Memory 
     658                 "STRH    R1, [SP,#0x16]\n" //@ Store to Memory 
     659                 "LDRH    R2, [R3,#4]\n"     //@ Load from Memory 
     660                 "STRH    R2, [SP,#0x18]\n" //@ Store to Memory 
     661                 "LDRH    R3, [R3,#6]\n"     //@ Load from Memory 
     662                 "STRH    R3, [SP,#0x1A]\n" //@ Store to Memory 
     663                 "BL      sub_FF973F04\n"    //@ Branch with Link 
     664 
     665                 "B       loc_FF976EB8\n"    //@ Branch 
     666 
     667 
     668     "loc_FF976DFC:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     669                 "LDR     R3, =0x2E4A8\n"  //@ Load from Memory 
     670                 "LDRH    R1, [R3]\n"        //@ Load from Memory 
     671                 "STRH    R1, [SP,#0x14]\n" //@ Store to Memory 
     672                 "MOV     R0, R2\n"          //@ Rd = Op2 
     673                 "LDRH    R2, [R2,#6]\n"     //@ Load from Memory 
     674                 "STRH    R2, [SP,#0x16]\n" //@ Store to Memory 
     675                 "LDRH    R2, [R3,#8]\n"     //@ Load from Memory 
     676                 "STRH    R2, [SP,#0x1C]\n" //@ Store to Memory 
     677                 "LDRH    R1, [R3,#4]\n"     //@ Load from Memory 
     678                 "STRH    R1, [SP,#0x18]\n" //@ Store to Memory 
     679                 "LDRH    R3, [R3,#6]\n"     //@ Load from Memory 
     680                 "STRH    R3, [SP,#0x1A]\n" //@ Store to Memory 
     681                 "BL      sub_FF973FC8\n"    //@ Branch with Link 
     682 
     683                 "B       loc_FF976EB8\n"    //@ Branch 
     684 
     685 
     686     "loc_FF976E34:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     687                 "LDR     R3, =0x2E4A8\n"  //@ Load from Memory 
     688                 "LDRH    R1, [R3,#6]\n"     //@ Load from Memory 
     689                 "STRH    R1, [SP,#0x1A]\n" //@ Store to Memory 
     690                 "LDRH    R1, [R3]\n"        //@ Load from Memory 
     691                 "STRH    R1, [SP,#0x14]\n" //@ Store to Memory 
     692                 "LDRH    R1, [R3,#2]\n"     //@ Load from Memory 
     693                 "STRH    R1, [SP,#0x16]\n" //@ Store to Memory 
     694                 "LDRH    R3, [R3,#4]\n"     //@ Load from Memory 
     695                 "STRH    R3, [SP,#0x18]\n" //@ Store to Memory 
     696                 "MOV     R0, R2\n"          //@ Rd = Op2 
     697                 "LDRH    R2, [R2,#0xC]\n"   //@ Load from Memory 
     698                 "STRH    R2, [SP,#0x1C]\n" //@ Store to Memory 
     699                 "BL      sub_FF974080\n"    //@ Branch with Link 
     700 
     701                 "B       loc_FF976EB8\n"    //@ Branch 
     702 
     703     "loc_FF976E6C:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     704                 "MOV     R0, R2\n"          //@ Rd = Op2 
     705                 "BL      sub_FF974130\n"    //@ Branch with Link 
     706 
     707                 "B       loc_FF976EB8\n"    //@ Branch 
     708 
     709     "loc_FF976E78:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     710                 "MOV     R0, R2\n"          //@ Rd = Op2 
     711                 "BL      sub_FF974778\n"    //@ Branch with Link 
     712 
     713                 "B       loc_FF976EB8\n"    //@ Branch 
     714 
     715     "loc_FF976E84:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     716                 "MOV     R0, R2\n"          //@ Rd = Op2 
     717                 "BL      sub_FF974A24\n"    //@ Branch with Link 
     718 
     719                 "B       loc_FF976EB8\n"    //@ Branch 
     720 
     721     "loc_FF976E90:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     722                 "MOV     R0, R2\n"          //@ Rd = Op2 
     723                 "BL      sub_FF974BE0\n"    //@ Branch with Link 
     724 
     725                 "B       loc_FF976EB8\n"    //@ Branch 
     726 
     727     "loc_FF976E9C:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     728                 "MOV     R0, R2\n"          //@ Rd = Op2 
     729                 "MOV     R1, #0\n"          //@ Rd = Op2 
     730                 "BL      sub_FF974DC8\n"    //@ Branch with Link 
     731 
     732                 "B       loc_FF976EB8\n"    //@ Branch 
     733 
     734     "loc_FF976EAC:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     735                 "MOV     R0, R2\n"          //@ Rd = Op2 
     736                 "MOV     R1, #1\n"          //@ Rd = Op2 
     737                 "BL      sub_FF974DC8\n"    //@ Branch with Link 
     738 
     739 
     740     "loc_FF976EB8:\n"                           //@ CODE XREF: task_ExpDrvTask+2C4 
     741                 "LDR     R12, [SP,#0x4]\n" //@ Load from Memory 
     742 
     743     "loc_FF976EBC:\n"                           //@ CODE XREF: task_ExpDrvTask+240 
     744                 "ADD     R0, R12, #4\n"     //@ Rd = Op1 + Op2 
     745                 "LDR     R1, [R12,#0x7C]\n" //@ Load from Memory 
     746                 "LDR     R2, [R12,#0x8C]\n" //@ Load from Memory 
     747                 "MOV     LR, PC\n"          //@ Rd = Op2 
     748                 "LDR     PC, [R12,#0x88]\n" //@ Indirect Jump 
     749 
     750     "loc_FF976ED0:\n"                           //@ CODE XREF: task_ExpDrvTask+104 
     751                 "CMP     R8, #1\n"          //@ Set cond. codes on Op1 - Op2 
     752                 "BNE     loc_FF976EF8\n"    //@ Branch 
     753 
     754                 "LDR     R1, [SP,#0x4]\n" //@ Load from Memory 
     755                 "LDR     R3, [R1,#0x7C]\n"  //@ Load from Memory 
     756                 "ADD     R3, R3, R3,LSL#1\n" //@ Rd = Op1 + Op2 
     757                 "ADD     R1, R1, R3,LSL#2\n" //@ Rd = Op1 + Op2 
     758                 "MOV     R0, R6\n"          //@ Rd = Op2 
     759                 "SUB     R1, R1, #8\n"      //@ Rd = Op1 - Op2 
     760                 "BL      sub_FF9728C0\n"    //@ Branch with Link 
     761 
     762                 "B       loc_FF976F74\n"    //@ Branch 
     763 
     764 
     765     "loc_FF976EF8:\n"                           //@ CODE XREF: task_ExpDrvTask+45C 
     766                 "LDR     R3, [SP,#0x4]\n" //@ Load from Memory 
     767                 "LDR     R2, [R3]\n"        //@ Load from Memory 
     768                 "CMP     R2, #9\n"          //@ Set cond. codes on Op1 - Op2 
     769                 "BNE     loc_FF976F40\n"    //@ Branch 
     770 
     771                 "MOV     R4, #0\n"          //@ Rd = Op2 
     772                 "MOV     R1, #1\n"          //@ Rd = Op2 
     773                 "MOV     R2, R1\n"          //@ Rd = Op2 
     774                 "MOV     R3, R1\n"          //@ Rd = Op2 
     775                 "MOV     R0, R4\n"          //@ Rd = Op2 
     776                 "STR     R4, [SP]\n" //@ Store to Memory 
     777                 "BL      sub_FF972804\n"    //@ Branch with Link 
     778 
     779                 "MOV     R1, #1\n"          //@ Rd = Op2 
     780                 "MOV     R0, R4\n"          //@ Rd = Op2 
     781                 "MOV     R2, R1\n"          //@ Rd = Op2 
     782                 "MOV     R3, R1\n"          //@ Rd = Op2 
     783                 "STR     R4, [SP]\n" //@ Store to Memory 
     784                 "BL      sub_FF972A5C\n"    //@ Branch with Link 
     785 
     786                 "B       loc_FF976F74\n"    //@ Branch 
     787 
     788 
     789     "loc_FF976F40:\n"                           //@ CODE XREF: task_ExpDrvTask+48C 
     790                 "MOV     R4, #1\n"          //@ Rd = Op2 
     791                 "MOV     R0, R4\n"          //@ Rd = Op2 
     792                 "MOV     R1, R4\n"          //@ Rd = Op2 
     793                 "MOV     R2, R4\n"          //@ Rd = Op2 
     794                 "MOV     R3, R4\n"          //@ Rd = Op2 
     795                 "STR     R4, [SP]\n" //@ Store to Memory 
     796                 "BL      sub_FF972804\n"    //@ Branch with Link 
     797 
     798                 "MOV     R0, R4\n"          //@ Rd = Op2 
     799                 "MOV     R1, R0\n"          //@ Rd = Op2 
     800                 "MOV     R2, R0\n"          //@ Rd = Op2 
     801                 "MOV     R3, R0\n"          //@ Rd = Op2 
     802                 "STR     R4, [SP]\n" //@ Store to Memory 
     803                 "BL      sub_FF972A5C\n"    //@ Branch with Link 
     804 
     805 
     806     "loc_FF976F74:\n"                           //@ CODE XREF: task_ExpDrvTask+47C 
     807                 "LDR     R2, =0x2E4F4\n"  //@ Load from Memory 
     808                 "MOV     R3, #0\n"          //@ Rd = Op2 
     809                 "LDR     R0, [SP,#0x4]\n" //@ Load from Memory 
     810                 "STR     R3, [R2]\n"        //@ Store to Memory 
     811                 "BL      sub_FF9722A8\n"    //@ Branch with Link 
     812 
     813 
     814     "loc_FF976F88:\n"                           //@ CODE XREF: task_ExpDrvTask+C 
     815                 "LDR     R3, =0x2E49C\n"  //@ Load from Memory 
     816                 "MOV     R2, #0\n"          //@ Rd = Op2 
     817                 "LDR     R0, [R3]\n"        //@ Load from Memory 
     818                 "MOV     R1, R7\n"          //@ Rd = Op2 
     819//                 "BL      ReceiveMessageQueue\n" //@ Branch with Link 
     820                 "BL      sub_FFB223A8\n" //@ Branch with Link 
     821 
     822                 "LDR     R12, [SP,#0x4]\n" //@ Load from Memory 
     823                 "LDR     R2, [R12]\n"       //@ Load from Memory 
     824                 "CMP     R2, #0x23\n" //  @ '#'  Set cond. codes on Op1 - Op2 
     825                 "BNE     loc_FF976A88\n"    //@ Branch 
     826 
     827                 "MOV     R0, R12\n"         //@ Rd = Op2 
     828                 "BL      sub_FF9722A8\n"    //@ Branch with Link 
     829 
     830                 "LDR     R3, =0x2E498\n"  //@ Load from Memory 
     831                 "MOV     R1, #1\n"          //@ Rd = Op2 
     832                 "LDR     R0, [R3]\n"        //@ Load from Memory 
     833//                 "BL      SetEventFlag\n"    //@ Branch with Link 
     834                 "BL      sub_FFB21C90\n"    //@ Branch with Link 
     835 
     836                 "BL      _ExitTask\n"       //@ Branch with Link 
     837 
     838                 "ADD     SP, SP, #0x20\n"   //@ Rd = Op1 + Op2 
     839                 "LDMFD   SP!, {R4-R8,PC}\n" //@ Load Block from Memory 
     840 
     841//               "RET\n"                     //@ Return from Subroutine 
     842                 ); 
     843} 
     844 
     845void __attribute__((naked,noinline)) sub_FF973980_my() { 
     846    asm volatile( 
     847 
     848     "sub_FF973980:\n"                           //@ CODE XREF: task_ExpDrvTask+2FC 
     849                 "STMFD   SP!, {R4-R6,LR}\n" //@ Store Block to Memory 
     850                 "LDR     R3, =0x2E498\n"  //@ Load from Memory 
     851                 "MOV     R4, R0\n"          //@ Rd = Op2 
     852                 "MOV     R1, #0x3E\n"   // @ '>' Rd = Op2 
     853                 "LDR     R0, [R3]\n"        //@ Load from Memory 
     854//                 "BL      ClearEventFlag\n"  //@ Branch with Link 
     855                 "BL      sub_FFB21E2C\n"  //@ Branch with Link 
     856 
     857                 "MOV     R1, #0\n"          //@ Rd = Op2 
     858                 "LDRSH   R0, [R4,#4]\n"     //@ Load from Memory 
     859                 "BL      sub_FF9723DC\n"    //@ Branch with Link 
     860 
     861                 "MOV     R6, R0\n"          //@ Rd = Op2 
     862                 "LDRSH   R0, [R4,#6]\n"     //@ Load from Memory 
     863                 "BL      sub_FF972544\n"    //@ Branch with Link 
     864 
     865                 "LDRSH   R0, [R4,#8]\n"     //@ Load from Memory 
     866                 "BL      sub_FF9725E0\n"    //@ Branch with Link 
     867 
     868                 "LDRSH   R0, [R4,#0xA]\n"   //@ Load from Memory 
     869                 "BL      sub_FF97267C\n"    //@ Branch with Link 
     870 
     871                 "LDRSH   R0, [R4,#0xC]\n"   //@ Load from Memory 
     872                 "BL      sub_FF972718\n"    //@ Branch with Link 
     873 
     874                 "LDR     R3, [R4]\n"        //@ Load from Memory 
     875                 "CMP     R3, #9\n"          //@ Set cond. codes on Op1 - Op2 
     876                 "MOV     R5, R0\n"          //@ Rd = Op2 
     877                 "MOVEQ   R5, #0\n"          //@ Rd = Op2 
     878                 "MOVEQ   R6, R5\n"          //@ Rd = Op2 
     879                 "CMP     R6, #1\n"          //@ Set cond. codes on Op1 - Op2 
     880                 "BNE     loc_FF973A04\n"    //@ Branch 
     881 
     882                 "MOV     R2, #2\n"          //@ Rd = Op2 
     883                 "LDRSH   R0, [R4,#4]\n"     //@ Load from Memory 
     884//                 "LDR     R1, =loc_FF9722FC\n" //@ Load from Memory 
     885                 "LDR     R1, =0xFF9722FC\n" //@ Load from Memory 
     886                 "BL      sub_FFAE28F8\n"    //@ Branch with Link 
     887 
     888                 "LDR     R2, =0x2E4E8\n"  //@ Load from Memory 
     889                 "MOV     R3, #0\n"          //@ Rd = Op2 
     890                 "STR     R3, [R2]\n"        //@ Store to Memory 
     891                 "B       loc_FF973A08\n"    //@ Branch 
     892 
     893 
     894     "loc_FF973A04:\n"                           //@ CODE XREF: sub_FF973980+60 
     895                 "BL      sub_FF9727B4\n"    //@ Branch with Link 
     896 
     897 
     898     "loc_FF973A08:\n"                           //@ CODE XREF: sub_FF973980+80 
     899                 "STRH    R0, [R4,#4]\n"     //@ Store to Memory 
     900                 "CMP     R5, #1\n"          //@ Set cond. codes on Op1 - Op2 
     901                 "BNE     loc_FF973A28\n"    //@ Branch 
     902 
     903                 "LDRSH   R0, [R4,#0xC]\n"   //@ Load from Memory 
     904//                 "LDR     R1, =loc_FF9723C0\n" //@ Load from Memory 
     905                 "LDR     R1, =0xFF9723C0\n" //@ Load from Memory 
     906                 "MOV     R2, #0x20\n" //  @ ' ' @ Rd = Op2 
     907                 "BL      sub_FF972BA8\n"    //@ Branch with Link 
     908 
     909                 "B       loc_FF973A2C\n"    //@ Branch 
     910 
     911     "loc_FF973A28:\n"                           //@ CODE XREF: sub_FF973980+90 
     912                 "BL      sub_FF9727F4\n"    //@ Branch with Link 
     913 
     914     "loc_FF973A2C:\n"                           //@ CODE XREF: sub_FF973980+A4 
     915                 "STRH    R0, [R4,#0xC]\n"   //@ Store to Memory 
     916                 "LDRSH   R0, [R4,#6]\n"     //@ Load from Memory 
     917                 "BL      sub_FF93BD38_my\n"    //@ Branch with Link // again an ewvar copy of a function which we also are going to replace 
     918 
     919                 "LDRSH   R0, [R4,#8]\n"     //@ Load from Memory 
     920                 "MOV     R1, #1\n"          //@ Rd = Op2 
     921                 "BL      sub_FF93DFEC\n"    //@ Branch with Link 
     922 
     923                 "ADD     R0, R4, #8\n"      //@ Rd = Op1 + Op2 
     924                 "MOV     R1, #0\n"          //@ Rd = Op2 
     925                 "BL      sub_FF93E0AC\n"    //@ Branch with Link 
     926 
     927                 "LDRSH   R0, [R4,#0xE]\n"   //@ Load from Memory 
     928                 "BL      sub_FF9605D0\n"    //@ Branch with Link 
     929 
     930                 "CMP     R6, #1\n"          //@ Set cond. codes on Op1 - Op2 
     931                 "BNE     loc_FF973A90\n"    //@ Branch 
     932 
     933                 "LDR     R3, =0x2E498\n"  //@ Load from Memory 
     934                 "MOV     R2, #0xBB0\n"      //@ Rd = Op2 
     935                 "LDR     R0, [R3]\n"        //@ Load from Memory 
     936                 "MOV     R1, #2\n"          //@ Rd = Op2 
     937                 "ADD     R2, R2, #8\n"      //@ Rd = Op1 + Op2 
     938//                 "BL      unknown_libname_854\n" //@ "Canon A-Series Firmware" 
     939                 "BL      sub_FFB21C80\n" //@ "Canon A-Series Firmware" 
     940 
     941                 "TST     R0, #1\n"          //@ Set cond. codes on Op1 & Op2 
     942                 "BEQ     loc_FF973A90\n"    //@ Branch 
     943 
     944                 "MOV     R1, #0x500\n"      //@ Rd = Op2 
     945//                 "LDR     R0, =aExpdrv_c\n"  //@ Load from Memory 
     946                 "LDR     R0, =0xFF972254\n"  //@ Load from Memory => string "ExpDrv.c" 
     947                 "ADD     R1, R1, #8\n"      //@ Rd = Op1 + Op2 
     948//                 "BL      DebugAssert\n"     //@ Branch with Link 
     949                 "BL      sub_FFB2F4F0\n"     //@ Branch with Link 
     950 
     951 
     952     "loc_FF973A90:\n"                           //@ CODE XREF: sub_FF973980+DC 
     953                 "CMP     R5, #1\n"          //@ Set cond. codes on Op1 - Op2 
     954                 "LDMNEFD SP!, {R4-R6,PC}\n" //@ Load Block from Memory 
     955                 "LDR     R3, =0x2E498\n"  //@ Load from Memory 
     956                 "MOV     R2, #0xBB0\n"      //@ Rd = Op2 
     957                 "LDR     R0, [R3]\n"        //@ Load from Memory 
     958                 "MOV     R1, #0x20\n"       // @ ' '\n" //@ Rd = Op2 
     959                 "ADD     R2, R2, #8\n"      //@ Rd = Op1 + Op2 
     960//                 "BL      unknown_libname_854\n" //@ "Canon A-Series Firmware" 
     961                 "BL      sub_FFB21C80\n" //@ "Canon A-Series Firmware" 
     962 
     963                 "TST     R0, #1\n"          //@ Set cond. codes on Op1 & Op2 
     964                 "LDMEQFD SP!, {R4-R6,PC}\n" //@ Load Block from Memory 
     965                 "MOV     R1, #0x500\n"      //@ Rd = Op2 
     966//                 "LDR     R0, =aExpdrv_c\n"  //@ Load from Memory 
     967                 "LDR     R0, =0xFF972254\n"  //@ Load from Memory 
     968                 "ADD     R1, R1, #0xD\n"    //@ Rd = Op1 + Op2 
     969                 "LDMFD   SP!, {R4-R6,LR}\n" //@ Load Block from Memory 
     970//                 "B       DebugAssert\n"     //@ Branch 
     971                 "B       sub_FFB2F4F0\n"     //@ Branch with Link 
     972 
     973            ); 
     974} 
     975 
     976void __attribute__((naked,noinline)) sub_FF93BD38_my(){ 
     977asm volatile( 
     978 
     979 
     980     "sub_FF93BD38:\n"                           //@ CODE XREF: sub_FF93D684+Cp 
     981                 "STMFD   SP!, {R4,LR}\n"    //@ Store Block to Memory 
     982//                 "LDR     R3, =unk_6544\n"   //@ Load from Memory 
     983                 "LDR     R3, =0x6544\n"   //@ Load from Memory 
     984                 "LDR     R2, [R3]\n"        //@ Load from Memory 
     985                 "MOV     R1, #0x168\n"      //@ Rd = Op2 
     986                 "MOV     R3, R0,LSL#16\n"   //@ Rd = Op2 
     987                 "CMP     R2, #1\n"          //@ Set cond. codes on Op1 - Op2 
     988                 "ADD     R1, R1, #3\n"      //@ Rd = Op1 + Op2 
     989//                 "LDR     R0, =aShutter_c\n" //@ Load from Memory => string "Shutter.c" 
     990                 "LDR     R0, =0xFF93B554\n" //@ Load from Memory 
     991                 "MOV     R4, R3,ASR#16\n"   //@ Rd = Op2 
     992                 "BEQ     loc_FF93BD64\n"    //@ Branch 
     993 
     994  //               "BL      DebugAssert\n"     //@ Branch with Link 
     995                 "BL      sub_FFB2F4F0\n"     //@ Branch with Link 
     996 
     997 
     998     "loc_FF93BD64:\n"                           //@ CODE XREF: sub_FF93BD38+24j 
     999                 "MOV     R1, #0x170\n"      //@ Rd = Op2 
     1000                 "CMN     R4, #0xC00\n"      //@ Set cond. codes on Op1 + Op2 
     1001//                 "LDR     R3, =unk_15036\n"  //@ Load from Memory 
     1002                 "LDR     R3, =0x15036\n"  //@ Load from Memory 
     1003  //               "LDR     R0, =aShutter_c\n" //@ Load from Memory 
     1004                 "LDR     R0, =0xFF93B554\n" //@ Load from Memory 
     1005                 "ADD     R1, R1, #1\n"      //@ Rd = Op1 + Op2 
     1006                 "LDREQSH R4, [R3]\n"        //@ Load from Memory 
     1007                 "LDRNE   R3, =0x15036\n"  //@ Load from Memory 
     1008                 "CMN     R4, #0xC00\n"      //@ Set cond. codes on Op1 + Op2 
     1009                 "STRH    R4, [R3]\n"        //@ Store to Memory 
     1010                 "BNE     loc_FF93BD90\n"    //@ Branch 
     1011 
     1012//                 "BL      DebugAssert\n"     //@ Branch with Link 
     1013                 "BL      sub_FFB2F4F0\n"     //@ Branch with Link 
     1014 
     1015 
     1016     "loc_FF93BD90:\n"                           //@ CODE XREF: sub_FF93BD38+50j 
     1017                 "MOV     R0, R4\n"          //@ Rd = Op2 
     1018//                 "BL      sub_FF93CE88\n"    //@ Branch with Link 
     1019                 "BL      apex2us\n"    //@ Branch with Link => yet another function we need to make our way through to get to our own version 
     1020 
     1021                 "MOV     R4, R0\n"          //@ Rd = Op2 
     1022//                 "BL      nullsub_118\n"     //@ Branch with Link 
     1023                 "BL      sub_FF9C2BB0\n"     //@ Branch with Link 
     1024 
     1025                 "MOV     R0, R4\n"          //@ Rd = Op2 
     1026                 "BL      sub_FF9DE41C\n"    //@ Branch with Link 
     1027 
     1028                 "MOV     R1, #0x174\n"      //@ Rd = Op2 
     1029                 "TST     R0, #1\n"          //@ Set cond. codes on Op1 & Op2 
     1030                 "ADD     R1, R1, #2\n"      //@ Rd = Op1 + Op2 
     1031//                 "LDR     R0, =aShutter_c\n" //@ Load from Memory 
     1032                 "LDR     R0, =0xFF93B554\n" //@ Load from Memory 
     1033                 "LDMEQFD SP!, {R4,PC}\n"    //@ Load Block from Memory 
     1034                 "LDMFD   SP!, {R4,LR}\n"    //@ Load Block from Memory 
     1035    //             "B       DebugAssert\n"     //@ Branch 
     1036                 "B       sub_FFB2F4F0\n"     //@ Branch with Link 
     1037        ); 
     1038} 
  • trunk/platform/ixus950_sd850/sub/100c/stubs_auto.S

    r515 r734  
    3636STUB(FF935BD0) 
    3737STUB(FF939F8C) 
     38STUB(FF93BD38) 
     39STUB(FF93C0BC) 
     40STUB(FF93CE88) 
     41STUB(FF93DFEC) 
     42STUB(FF93E0AC) 
     43STUB(FF93E42C) 
     44STUB(FF93F1F4) 
     45STUB(FF9605D0) 
     46STUB(FF9722A8) 
     47STUB(FF9723DC) 
     48STUB(FF972544) 
     49STUB(FF9725E0) 
     50STUB(FF97267C) 
     51STUB(FF972718) 
     52STUB(FF9727B4) 
     53STUB(FF9727F4) 
     54STUB(FF972804) 
     55STUB(FF9728C0) 
     56STUB(FF972A5C) 
     57STUB(FF972BA8) 
     58STUB(FF972C08) 
     59STUB(FF972EAC) 
     60STUB(FF973120) 
     61STUB(FF97341C) 
     62STUB(FF973684) 
     63STUB(FF973980) 
     64STUB(FF973AE0) 
     65STUB(FF973DDC) 
     66STUB(FF973F04) 
     67STUB(FF973FC8) 
     68STUB(FF974080) 
     69STUB(FF974130) 
     70STUB(FF97430C) 
     71STUB(FF97462C) 
     72STUB(FF974778) 
     73STUB(FF974A24) 
     74STUB(FF974BE0) 
     75STUB(FF974DC8) 
     76STUB(FF974F0C) 
     77STUB(FF9751D8) 
     78STUB(FF9752C8) 
     79STUB(FF976578) 
     80STUB(FF9768DC) 
     81STUB(FF976948) 
     82STUB(FF9769A4) 
     83STUB(FF976A00) 
     84STUB(FF9C2BB0) 
     85STUB(FF9DE41C) 
    3886STUB(FFA4226C) 
    3987STUB(FFA42780) 
     
    52100STUB(FFAA2294) 
    53101STUB(FFAB5944) 
     102STUB(FFAE28F8) 
    54103STUB(FFAF185C) 
    55104STUB(FFAF1CA4) 
     
    93142STUB(FFB115D4) 
    94143STUB(FFB17EE8) 
     144STUB(FFB21C80) 
    95145STUB(FFB21C90) 
    96146STUB(FFB21E2C) 
  • trunk/platform/ixus950_sd850/sub/100c/stubs_entry_2.S

    r681 r734  
    6363NHSTUB(DoAFLock, 0xffb09200) 
    6464NHSTUB(UnlockAF, 0xffb09280) 
     65NHSTUB(apex2us,0xFF93CE88); 
Note: See TracChangeset for help on using the changeset viewer.