- Timestamp:
- 04/16/09 06:00:38 (4 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
include/camera.h (modified) (1 diff)
-
platform/ixus950_sd850/sub/100c/capt_seq.c (modified) (1 diff)
-
platform/ixus950_sd850/sub/100c/stubs_auto.S (modified) (3 diffs)
-
platform/ixus950_sd850/sub/100c/stubs_entry_2.S (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/camera.h
r733 r734 1287 1287 //---------------------------------------------------------- 1288 1288 #elif defined (CAMERA_ixus950_sd850) 1289 1290 #define CAM_EXT_TV_RANGE 1 1289 1291 #define CAM_PROPSET 2 1290 1292 -
trunk/platform/ixus950_sd850/sub/100c/capt_seq.c
r550 r734 312 312 } 313 313 314 315 316 317 318 319 320 /* 321 ROM:FF976A78 var_38 = -0x38 322 ROM:FF976A78 var_34 = -0x34 323 ROM:FF976A78 var_30 = -0x30 324 ROM:FF976A78 var_24 = -0x24 325 ROM:FF976A78 var_20 = -0x20 326 ROM:FF976A78 var_1E = -0x1E 327 ROM:FF976A78 var_1C = -0x1C 328 */ 329 //void __attribute__((naked,noinline)) _task_ExpDrvTask() { 330 void __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 845 void __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 976 void __attribute__((naked,noinline)) sub_FF93BD38_my(){ 977 asm 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 36 36 STUB(FF935BD0) 37 37 STUB(FF939F8C) 38 STUB(FF93BD38) 39 STUB(FF93C0BC) 40 STUB(FF93CE88) 41 STUB(FF93DFEC) 42 STUB(FF93E0AC) 43 STUB(FF93E42C) 44 STUB(FF93F1F4) 45 STUB(FF9605D0) 46 STUB(FF9722A8) 47 STUB(FF9723DC) 48 STUB(FF972544) 49 STUB(FF9725E0) 50 STUB(FF97267C) 51 STUB(FF972718) 52 STUB(FF9727B4) 53 STUB(FF9727F4) 54 STUB(FF972804) 55 STUB(FF9728C0) 56 STUB(FF972A5C) 57 STUB(FF972BA8) 58 STUB(FF972C08) 59 STUB(FF972EAC) 60 STUB(FF973120) 61 STUB(FF97341C) 62 STUB(FF973684) 63 STUB(FF973980) 64 STUB(FF973AE0) 65 STUB(FF973DDC) 66 STUB(FF973F04) 67 STUB(FF973FC8) 68 STUB(FF974080) 69 STUB(FF974130) 70 STUB(FF97430C) 71 STUB(FF97462C) 72 STUB(FF974778) 73 STUB(FF974A24) 74 STUB(FF974BE0) 75 STUB(FF974DC8) 76 STUB(FF974F0C) 77 STUB(FF9751D8) 78 STUB(FF9752C8) 79 STUB(FF976578) 80 STUB(FF9768DC) 81 STUB(FF976948) 82 STUB(FF9769A4) 83 STUB(FF976A00) 84 STUB(FF9C2BB0) 85 STUB(FF9DE41C) 38 86 STUB(FFA4226C) 39 87 STUB(FFA42780) … … 52 100 STUB(FFAA2294) 53 101 STUB(FFAB5944) 102 STUB(FFAE28F8) 54 103 STUB(FFAF185C) 55 104 STUB(FFAF1CA4) … … 93 142 STUB(FFB115D4) 94 143 STUB(FFB17EE8) 144 STUB(FFB21C80) 95 145 STUB(FFB21C90) 96 146 STUB(FFB21E2C) -
trunk/platform/ixus950_sd850/sub/100c/stubs_entry_2.S
r681 r734 63 63 NHSTUB(DoAFLock, 0xffb09200) 64 64 NHSTUB(UnlockAF, 0xffb09280) 65 NHSTUB(apex2us,0xFF93CE88);
Note: See TracChangeset
for help on using the changeset viewer.