Changeset 1331


Ignore:
Timestamp:
09/10/11 22:42:19 (21 months ago)
Author:
philmoz
Message:

SX230HS update from taliesin - http://chdk.setepontos.com/index.php?topic=650.msg73025#msg73025

Location:
trunk
Files:
13 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r1327 r1331  
    247247        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    248248        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsub 
     249        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsub 
    249250        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 
    250251        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub 
     
    353354        mv $(topdir)bin/$(VER)-sx230hs-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx230hs-100c-$(BUILD_NUMBER)_BETA.zip 
    354355        mv $(topdir)bin/$(VER)-sx230hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx230hs-101a-$(BUILD_NUMBER)_BETA.zip 
     356        mv $(topdir)bin/$(VER)-sx230hs-101b-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx230hs-101b-$(BUILD_NUMBER)_BETA.zip 
    355357        mv $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER)_BETA.zip 
    356358        mv $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER)_BETA.zip 
     
    465467        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete      
    466468        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101a NO_INC_BUILD=1 firzipsubcomplete 
     469        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101b NO_INC_BUILD=1 firzipsubcomplete      
    467470        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 
    468471        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete 
     
    633636        mv $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)-full_BETA.zip 
    634637        mv $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER).zip $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)_BETA.zip 
     638        mv $(topdir)bin/sx230hs-101b-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx230hs-101b-$(BUILD_NUMBER)-full_BETA.zip 
     639        mv $(topdir)bin/sx230hs-101b-$(BUILD_NUMBER).zip $(topdir)bin/sx230hs-101b-$(BUILD_NUMBER)_BETA.zip 
    635640        mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full_BETA.zip 
    636641        mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)_BETA.zip 
     
    744749        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    745750        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101a NO_INC_BUILD=1 clean 
     751        $(MAKE) -s --no-print-directory PLATFORM=sx230hs  PLATFORMSUB=101b NO_INC_BUILD=1 clean 
    746752        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100c NO_INC_BUILD=1 clean 
    747753        $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790  PLATFORMSUB=100d NO_INC_BUILD=1 clean 
  • trunk/makefile.inc

    r1327 r1331  
    392392#PLATFORMSUB=101a 
    393393 
     394#PLATFORM=sx230hs 
     395#PLATFORMSUB=101b 
    394396 
    395397MEMISOSIZE="(&_end-&_start)" 
  • trunk/platform/sx230hs/kbd.c

    r1328 r1331  
    120120// no stack manipulation needed here, since we create the task directly 
    121121void __attribute__((naked,noinline)) mykbd_task() { 
    122         /* 
    123         register int i; 
    124         register long *newstack; 
    125  
    126  
    127 #ifndef MALLOCD_STACK 
    128         newstack = (void*)kbd_stack; 
    129 #else 
    130         newstack = malloc(NEW_SS); 
    131 #endif 
    132  
    133         for (i=0;i<NEW_SS/4;i++) 
    134                 newstack[i]=0xdededede; 
    135  
    136         asm volatile ( 
    137                 "MOV    SP, %0" 
    138                 :: "r"(((char*)newstack)+NEW_SS) 
    139                 : "memory" 
    140         ); 
    141         */ 
    142122        mykbd_task_proceed();  
    143123 
     
    405385    asm volatile ("STMFD SP!, {R0-R11,LR}\n");   // store R0-R11 and LR in stack 
    406386 
    407     // debug_led(1); 
     387    debug_led(1); 
    408388    tick = get_tick_count(); 
    409389    tick2 = tick; 
     
    435415                                prev_usb_power=cur_usb_power; 
    436416                            } else { 
    437                                 if((int)get_tick_count()-tick2>1000) {/*debug_led(0);*/} 
     417                                if((int)get_tick_count()-tick2>1000) {debug_led(0);} 
    438418                            } 
    439419                        } else { 
     
    488468    } 
    489469 
    490     // debug_led(0); 
     470    debug_led(0); 
    491471    asm volatile ("LDMFD SP!, {R0-R11,LR}\n");   // restore R0-R11 and LR from stack 
    492472} 
  • trunk/platform/sx230hs/lib.c

    r1328 r1331  
    4040 
    4141void camera_set_led(int led, int state, int bright) { 
    42  //TODO REMOVE static char led_table[5]={4,5,7,8,9}; 
    4342 static char led_table[2]={0,9}; 
    4443 _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state); 
  • trunk/platform/sx230hs/main.c

    r1328 r1331  
    3131#define NUM_FL 126              // 0 - 125, entries in firmware (3 words each entry, first is FL) 
    3232extern int focus_len_table[NUM_FL*3]; 
    33 /* 
    34 //zoom position is get_parameter_data(87) 
    35 //TODO 
    36 static const struct { 
    37         int zp, fl; 
    38 } fl_tbl[] = { 
    39   {   0,   5000}, 
    40   {  16,   6800}, 
    41   {  32,   9100}, 
    42   {  62,  16200}, 
    43   {  78,  22300}, 
    44   { 102,  35900}, 
    45   { 125,  60000}, 
    46 }; 
    47 #define NUM_FL (sizeof(fl_tbl)/sizeof(fl_tbl[0])) 
    48 */ 
    4933 
    5034// Focal length range is 5.0 - 70,0 mm, 28 - 392 in 35-mm equivalent. 
     
    5236// divide by 10 to avoid overflow in get_effective_focal_length() 
    5337#define CF_EFL  5600 
    54 //TODO 
    5538const int zoom_points = 126; 
    5639 
  • trunk/platform/sx230hs/shooting.c

    r1328 r1331  
    7676}; 
    7777 
    78 //sx220 
    79 /* 
    8078const ISOTable iso_table[] = { 
    81         { -1, 1,   "HI", -1}, 
    82         {  0, 0, "Auto", -1}, 
    83         {  2, 10,  "10", -1}, 
    84         {  3, 12,  "12", -1}, 
    85         {  4, 16,  "16", -1}, 
    86         {  5, 25,  "25", -1}, 
    87         {  6, 32,  "32", -1}, 
    88         {  7, 40,  "40", -1}, 
    89         {  8, 50,  "50", -1}, 
    90         {  9, 80,  "80", -1}, 
    91         {  10, 100,  "100", -1}, 
    92         {  11, 125,  "125", -1}, 
    93         {  12, 200,  "200", -1}, 
    94         {  13, 250,  "250", -1}, 
    95         {  14, 320,  "320", -1}, 
    96         {  15, 400,  "400", -1}, 
    97         {  16, 640,  "640", -1}, 
    98         {  17, 800,  "800", -1}, 
    99         {  18, 1000,  "1000", -1}, 
    100         {  19, 1600,  "1600", -1}, 
    101         {  20, 2000,  "2000", -1}, 
    102         {  21, 2500,  "2500", -1}, 
    103         {  22, 3200,  "3200", -1}, 
    104         {  23, 5000,  "5000", -1}, 
    105         {  24, 6400,  "6400", -1}, 
    106         {  25, 8000,  "8000", -1}, 
    107         {  26, 12800,  "12800", -1}, 
    108 }; 
    109 */ 
    110 const ISOTable iso_table[] = { 
    111         { -1,   -1, "Auto", -1}, 
    11279        {  0,    0, "Auto", -1}, 
    11380        {  1,  100,  "100", -1}, 
     
    213180        extern void _GetImageFolder(char*,int,int,int); 
    214181        _GetImageFolder(out,get_file_next_counter(),0x400,time(NULL)); 
    215         //getting the dir name directly from ram  
    216         //LDR     R0, =0xBF220   @FF15D460 
    217  
    218 /*      char str[14]; 
    219         strncpy(str, (char*)((int*)(0xBF220)), 14); 
    220         sprintf(out, "A%s", str); 
    221          
    222         */ 
    223         //Dosnt seem to work in SX210 Dont know why? 
    224 /*      extern void _GetImageFolder(char*,int,int,int); 
    225         out[0] = 'A'; 
    226         _GetImageFolder(out+1,get_file_next_counter(),0x400,time(NULL));*/ 
    227 /*      int month; 
    228         struct tm *ttm; 
    229         unsigned long t; 
    230         t = time(NULL); 
    231         ttm = localtime(&t); 
    232         month = ttm->tm_mon + 1; 
    233         sprintf(out, "A/DCIM/%03d___%02d", get_target_dir_num(), month); 
    234 */ 
    235182} 
    236183 
  • trunk/platform/sx230hs/sub/100c/stubs_auto.S

    r1328 r1331  
    7474STUB(FF057D1C) 
    7575STUB(FF057D38) 
    76 STUB(FF05D068) 
    7776STUB(FF076164) 
    7877STUB(FF0768BC) 
     
    108107STUB(FF083C60) 
    109108STUB(FF083C94) 
    110 STUB(FF086824) 
    111109STUB(FF08BF58) 
    112 STUB(FF08C390) 
    113110STUB(FF08C794) 
    114111STUB(FF08C7C0) 
     
    160157STUB(FF0C7684) 
    161158STUB(FF0C7744) 
    162 STUB(FF0DA84C) 
    163159STUB(FF106D80) 
    164160STUB(FF114DA0) 
     
    202198STUB(FF193CB4) 
    203199STUB(FF193CEC) 
    204 STUB(FF2B0840) 
    205 STUB(FF2B50D4) 
    206200STUB(FF2B5700) 
    207201STUB(FF2B57AC) 
    208202STUB(FF2B57F8) 
    209 STUB(FF2B581C) 
    210 STUB(FF2B6938) 
    211203STUB(FF2B6D98) 
    212204STUB(FF2B6E0C) 
    213205STUB(FF2B6E34) 
    214206STUB(FF2B6E4C) 
    215 STUB(FF2B6E60) 
    216 STUB(FF2B6EF0) 
    217 STUB(FF3032C0) 
    218207STUB(FF30340C) 
    219 STUB(FF305594) 
    220 STUB(FF3059A0) 
    221 STUB(FF306AA0) 
    222208STUB(FF306C24) 
    223209STUB(FF306D4C) 
  • trunk/platform/sx230hs/sub/100c/stubs_entry_2.S

    r1328 r1331  
    3838STUB(FF18D0EC) 
    3939STUB(FF18C658) 
     40 
     41//added 
     42STUB(FF08C390) 
     43STUB(FF086824) 
     44STUB(FF2B0840) 
     45STUB(FF3059A0) 
     46STUB(FF3032C0) 
     47STUB(FF2B6938) 
     48STUB(FF2B6E60) 
     49STUB(FF2B6EF0) 
     50STUB(FF2B50D4) 
     51STUB(FF2B581C) 
     52STUB(FF306AA0) 
     53STUB(FF05D068) 
     54STUB(FF0DA84C) 
  • trunk/platform/sx230hs/sub/101a/boot.c

    r1328 r1331  
    131131 
    132132//SX230:101a @ FF000358 
    133 void __attribute__((naked,noinline)) sub_FF000358_my() { // ASM1989 -> In sx200 was:  sub_FF8101A0_my 
     133void __attribute__((naked,noinline)) sub_FF000358_my() { 
    134134    
    135135   *(int*)0x1938=(int)taskHook; 
    136    *(int*)0x193C=(int)taskHook;   //SX220 funnel 
     136   *(int*)0x193C=(int)taskHook;  
    137137 
    138138//Power-on FF00FCCC+FF056DB4  
    139  
    140139if ((*(int*) 0xC022012C) & 1)                                   // look at play switch 
    141140                *(int*)(0x25E4) = 0x200000;                                     // not pressed - start in rec mode 
     
    187186"loc_FF8103D0:\n" 
    188187                 "NOP\n" 
    189                  "LDR     PC, =0xFF00061C\n" 
    190    
     188                 "LDR     PC, =0xFF00061C\n"   
    191189                                ); 
    192190} 
     
    259257      
    260258         asm volatile ( 
    261  
    262259                "STMFD   SP!, {R4,LR}\n" 
    263260                                "BL      sub_FF000B28\n"  
     
    297294}; 
    298295 
    299 //inserted for SX230 
    300 //TEST 
    301296//SX230 @ FF00FD54 
    302 void __attribute__((naked,noinline)) sub_FF00FD54_my() 
    303 { 
    304 //TEST 
     297void __attribute__((naked,noinline)) sub_FF00FD54_my(){ 
    305298        asm volatile ( 
    306299                "STMFD   SP!, {R3,LR}\n" 
     
    323316 
    324317//Added dSX230  from FF00FC6C  
    325 //TEST 
    326318void __attribute__((naked,noinline)) taskcreate_Startup_my() { 
    327319        asm volatile ( 
     
    494486//PATCH BEGIN //TODO 
    495487                        "BL      sub_FF08C7B8\n" 
    496 //                      "BL      sub_FF08C7B8_my\n" 
    497488                        "BL              core_spytask_can_start\n" 
    498489//PATCH END 
     
    678669            "LDR     R0, [R7,R4,LSL#2]\n" 
    679670            "BL      sub_FF02C130\n" 
    680 //PATCH BEGIN 
    681 //            "LDR     R2, =sub_FF057904\n" 
    682671                        "LDR     R2, =0xFF057904\n" 
    683 //PATCH END 
    684672            "ORR     R3, R4, #0x300\n" 
    685673            "ADD     R1, R2, #0\n" 
  • trunk/platform/sx230hs/sub/101a/capt_seq.c

    r1328 r1331  
    3737                "ADDCC  PC, PC, R1,LSL#2\n" 
    3838                "B      loc_FF078EAC\n" 
    39 "loc_FF078C40:\n" 
     39 
     40//"loc_FF078C40:\n" 
    4041                "B      loc_FF078CDC\n" 
    41 "loc_FF078C44:\n" 
     42//"loc_FF078C44:\n" 
    4243                "B      loc_FF078CF4\n" 
    43 "loc_FF078C48:\n" 
     44//"loc_FF078C48:\n" 
    4445                "B      loc_FF078D2C\n" 
    45 "loc_FF078C4C:\n" 
     46//"loc_FF078C4C:\n" 
    4647                "B      loc_FF078D40\n" 
    47 "loc_FF078C50:\n" 
     48//"loc_FF078C50:\n" 
    4849                "B      loc_FF078D38\n" 
    49 "loc_FF078C54:\n" 
     50//"loc_FF078C54:\n" 
    5051                "B      loc_FF078D4C\n" 
    51 "loc_FF078C58:\n" 
     52//"loc_FF078C58:\n" 
    5253                "B      loc_FF078D54\n" 
    53 "loc_FF078C5C:\n" 
     54//"loc_FF078C5C:\n" 
    5455                "B      loc_FF078D5C\n" 
    55 "loc_FF078C60:\n" 
     56//"loc_FF078C60:\n" 
    5657                "B      loc_FF078D78\n" 
    57 "loc_FF078C64:\n" 
     58//"loc_FF078C64:\n" 
    5859                "B      loc_FF078DB8\n" 
    59 "loc_FF078C68:\n" 
     60//"loc_FF078C68:\n" 
    6061                "B      loc_FF078D84\n" 
    61 "loc_FF078C6C:\n" 
     62//"loc_FF078C6C:\n" 
    6263                "B      loc_FF078D90\n" 
    63 "loc_FF078C70:\n" 
     64//"loc_FF078C70:\n" 
    6465                "B      loc_FF078D98\n" 
    65 "loc_FF078C74:\n" 
     66//"loc_FF078C74:\n" 
    6667                "B      loc_FF078DA0\n" 
    67 "loc_FF078C78:\n" 
     68//"loc_FF078C78:\n" 
    6869                "B      loc_FF078DA8\n" 
    69 "loc_FF078C7C:\n" 
     70//"loc_FF078C7C:\n" 
    7071                "B      loc_FF078DB0\n" 
    71 "loc_FF078C80:\n" 
     72//"loc_FF078C80:\n" 
    7273                "B      loc_FF078DC0\n" 
    73 "loc_FF078C84:\n" 
     74//"loc_FF078C84:\n" 
    7475                "B      loc_FF078DC8\n" 
    75 "loc_FF078C88:\n" 
     76//"loc_FF078C88:\n" 
    7677                "B      loc_FF078DD0\n" 
    77 "loc_FF078C8C:\n" 
     78//"loc_FF078C8C:\n" 
    7879                "B      loc_FF078DD8\n" 
    79 "loc_FF078C90:\n" 
     80//"loc_FF078C90:\n" 
    8081                "B      loc_FF078DE0\n" 
    81 "loc_FF078C94:\n" 
     82//"loc_FF078C94:\n" 
    8283                "B      loc_FF078DE8\n" 
    83 "loc_FF078C98:\n" 
     84//"loc_FF078C98:\n" 
    8485                "B      loc_FF078DF0\n" 
    85 "loc_FF078C9C:\n" 
     86//"loc_FF078C9C:\n" 
    8687                "B      loc_FF078DF8\n" 
    87 "loc_FF078CA0:\n" 
     88//"loc_FF078CA0:\n" 
    8889                "B      loc_FF078E00\n" 
    89 "loc_FF078CA4:\n" 
     90//"loc_FF078CA4:\n" 
    9091                "B      loc_FF078E08\n" 
    91 "loc_FF078CA8:\n" 
     92//"loc_FF078CA8:\n" 
    9293                "B      loc_FF078E14\n" 
    93 "loc_FF078CAC:\n" 
     94//"loc_FF078CAC:\n" 
    9495                "B      loc_FF078E1C\n" 
    95 "loc_FF078CB0:\n" 
     96//"loc_FF078CB0:\n" 
    9697                "B      loc_FF078E28\n" 
    97 "loc_FF078CB4:\n" 
     98//"loc_FF078CB4:\n" 
    9899                "B      loc_FF078E30\n" 
    99 "loc_FF078CB8:\n" 
     100//"loc_FF078CB8:\n" 
    100101                "B      loc_FF078E38\n" 
    101 "loc_FF078CBC:\n" 
     102//"loc_FF078CBC:\n" 
    102103                "B      loc_FF078E40\n" 
    103 "loc_FF078CC0:\n" 
     104//"loc_FF078CC0:\n" 
    104105                "B      loc_FF078E48\n" 
    105 "loc_FF078CC4:\n" 
     106//"loc_FF078CC4:\n" 
    106107                "B      loc_FF078E50\n" 
    107 "loc_FF078CC8:\n" 
     108//"loc_FF078CC8:\n" 
    108109                "B      loc_FF078E58\n" 
    109 "loc_FF078CCC:\n" 
     110//"loc_FF078CCC:\n" 
    110111                "B      loc_FF078E60\n" 
    111 "loc_FF078CD0:\n" 
     112//"loc_FF078CD0:\n" 
    112113                "B      loc_FF078E68\n" 
    113 "loc_FF078CD4:\n" 
     114//"loc_FF078CD4:\n" 
    114115                "B      loc_FF078E74\n" 
    115 "loc_FF078CD8:\n" 
     116//"loc_FF078CD8:\n" 
    116117                "B      loc_FF078EB8\n" 
    117118"loc_FF078CDC:\n" 
    118  
    119                         "BL      shooting_expo_iso_override\n" 
     119//PATCH BEGIN 
     120                "BL      shooting_expo_iso_override\n" 
     121//PATCH END 
    120122                        "BL              sub_FF0794CC\n" 
    121  
    122 //SX230 PATCH BEGIN 
    123 //Commented area copied from sx210 
    124 // TESTING DOSNT DO BAD NEITHER GOOD  LIKE IN SD1200 but seems to dont work too!!! 
    125 /* 
    126 "    STMFD   SP!, {R1-R12,LR}\n" 
    127 "    BL      captseq_hack_override_active\n" // returns 1 if tv or sv override in effect 
    128 "    LDMFD   SP!, {R1-R12,LR}\n" 
    129 "    STR     R0,[SP,#-4]!\n" // push return value 
    130 "    BL      shooting_expo_param_override\n" // saves all regs 
    131  
    132 "                BL      sub_FF87C4C0\n" 
    133  
    134 "    LDR     R0,[SP],#4\n" // pop override hack 
    135 "    CMP     R0, #1\n" 
    136 "    MOVEQ   R0, #0\n" 
    137 "    STREQ   R0, [R4,#0x24]\n"  // fixes overrides behavior at short shutter press 
    138 */       
    139                                  "BL      shooting_expo_param_override\n"  // + patched         
     123//PATCH BEGIN 
     124                "BL      shooting_expo_param_override\n"        
    140125//PATCH END              
    141126                                 "BL    sub_FF07618C\n" 
    142127//PATCH BEGIN 
    143  //  copied over from SX10 don't know if we need it yet 
    144  //  this code added to avoid some incorrect behavior if overrides are used. 
    145  //  but it can cause some unexpected side effects. In this case, remove this code! 
    146 /*              "LDR    R0, [R5,#0x28]\n" 
    147                 "CMP    R0, #0\n" 
    148                 "BLNE   sub_FF19309C\n" 
    149 */ 
     128//              "LDR    R0, [R5,#0x28]\n" 
     129//              "CMP    R0, #0\n" 
     130//              "BLNE   sub_FF19309C\n" 
    150131                "MOV     R0, #0\n" 
    151132        "STR     R0, [R5,#0x28]\n"  // fixes overrides  behavior at short shutter press 
    152  //PATCH END 
     133//PATCH END 
    153134                "B      loc_FF078EB8\n"                  
    154135"loc_FF078CF4:\n" 
     
    158139//              "BL             sub_FF192E78\n" 
    159140                "BL             sub_FF192E78_my\n" 
    160                 "BL     capt_seq_hook_raw_here\n"      // + sx220 this works 
     141                "BL     capt_seq_hook_raw_here\n"    
    161142//PATCH END 
    162143                "MOV    R4, R0\n" 
     
    326307                "B              loc_FF078C00\n" 
    327308 //  End of function sub_FF078BF0 
    328         ); 
    329          
     309        );       
    330310}                
    331311 
    332312//SX230 @FF192E78 
    333 void __attribute__((naked,noinline)) sub_FF192E78_my() 
    334 { 
     313void __attribute__((naked,noinline)) sub_FF192E78_my(){ 
    335314        asm volatile( 
    336         //"//sub_FF192E78                               \n"// "CODE XREF: sub_FF078BF0+10Cp\n" 
     315        //"//sub_FF192E78                               \n" 
    337316                "STMFD  SP!, {R3-R7,LR}\n" 
    338317                "LDR    R5, =0x3EFA4\n" 
     
    435414                "LDMNEFD        SP!, {R3-R7,PC}\n" 
    436415                "MOV    R0, R4\n" 
    437                 "BL     sub_FF192B50\n"         //loc to sub 
    438                 "BL     sub_FF1936A4\n" 
     416                "BL             sub_FF192B50\n"  
     417                "BL             sub_FF1936A4\n" 
    439418                "LDR    R0, [R5,#0xC4]\n" 
    440419                "CMP    R0, #1\n" 
     
    467446                "TST    R0, #1\n" 
    468447                "MOVNE  R1, #0xBC\n" 
    469                 "LDRNE  R0, =0xFF1931A0 \n"//" \n"""SsCaptureSeq.c\n" 
    470                 "BLNE   sub_FF00EC88            \n"// "assert\n" 
     448                "LDRNE  R0, =0xFF1931A0\n" 
     449                "BLNE   sub_FF00EC88\n" 
    471450                "LDRH   R0, [SP]\n" 
    472451                "CMP    R0, #1\n" 
     
    494473                "LDMFD  SP!, {R3-R7,PC}\n" 
    495474// "End of function sub_FF192E78\n" 
    496         ); 
    497          
     475        );       
    498476} 
    499477 
     
    514492                "MOV    R2, #0\n" 
    515493                "ADD    R1, SP, #0x20\n" 
    516                 "BL     sub_FF02B184\n" 
     494                "BL             sub_FF02B184\n" 
    517495                "LDR    R0, [SP,#0x10]\n" 
    518496                "CMP    R0, #1\n" 
     
    733711                "ADDCC  PC, PC, R1,LSL#2\n" 
    734712                "B      loc_FF0C63D0\n" 
    735 "loc_FF0C61EC:\n" 
     713//"loc_FF0C61EC:\n" 
    736714                "B      loc_FF0C6288\n" 
    737 "loc_FF0C61F0:\n" 
     715//"loc_FF0C61F0:\n" 
    738716                "B      loc_FF0C6288\n" 
    739 "loc_FF0C61F4:\n" 
     717//"loc_FF0C61F4:\n" 
    740718                "B      loc_FF0C6290\n" 
    741 "loc_FF0C61F8:\n" 
     719//"loc_FF0C61F8:\n" 
    742720                "B      loc_FF0C6298\n" 
    743 "loc_FF0C61FC:\n" 
     721//"loc_FF0C61FC:\n" 
    744722                "B      loc_FF0C6298\n" 
    745 "loc_FF0C6200:\n" 
     723//"loc_FF0C6200:\n" 
    746724                "B      loc_FF0C6298\n" 
    747 "loc_FF0C6204:\n" 
     725//"loc_FF0C6204:\n" 
    748726                "B      loc_FF0C6288\n" 
    749 "loc_FF0C6208:\n" 
     727//"loc_FF0C6208:\n" 
    750728                "B      loc_FF0C6290\n" 
    751 "loc_FF0C620C:\n" 
     729//"loc_FF0C620C:\n" 
    752730                "B      loc_FF0C6298\n" 
    753 "loc_FF0C6210:\n" 
     731//"loc_FF0C6210:\n" 
    754732                "B      loc_FF0C6298\n" 
    755 "loc_FF0C6214:\n" 
     733//"loc_FF0C6214:\n" 
    756734                "B      loc_FF0C62B0\n" 
    757 "loc_FF0C6218:\n" 
     735//"loc_FF0C6218:\n" 
    758736                "B      loc_FF0C62B0\n" 
    759 "loc_FF0C621C:\n" 
     737//"loc_FF0C621C:\n" 
    760738                "B      loc_FF0C63BC\n" 
    761 "loc_FF0C6220:\n" 
     739//"loc_FF0C6220:\n" 
    762740                "B      loc_FF0C63C4\n" 
    763 "loc_FF0C6224:\n" 
     741//"loc_FF0C6224:\n" 
    764742                "B      loc_FF0C63C4\n" 
    765 "loc_FF0C6228:\n" 
     743//"loc_FF0C6228:\n" 
    766744                "B      loc_FF0C63C4\n" 
    767 "loc_FF0C622C:\n" 
     745//"loc_FF0C622C:\n" 
    768746                "B      loc_FF0C63C4\n" 
    769 "loc_FF0C6230:\n" 
     747//"loc_FF0C6230:\n" 
    770748                "B      loc_FF0C63CC\n" 
    771 "loc_FF0C6234:\n" 
    772                 "B      loc_FF0C63D0\n" 
    773 "loc_FF0C6238:\n" 
    774                 "B      loc_FF0C63D0\n" 
    775 "loc_FF0C623C:\n" 
    776                 "B      loc_FF0C63D0\n" 
    777 "loc_FF0C6240:\n" 
    778                 "B      loc_FF0C63D0\n" 
    779 "loc_FF0C6244:\n" 
    780                 "B      loc_FF0C63D0\n" 
    781 "loc_FF0C6248:\n" 
    782                 "B      loc_FF0C63D0\n" 
    783 "loc_FF0C624C:\n" 
     749//"loc_FF0C6234:\n" 
     750                "B      loc_FF0C63D0\n" 
     751//"loc_FF0C6238:\n" 
     752                "B      loc_FF0C63D0\n" 
     753//"loc_FF0C623C:\n" 
     754                "B      loc_FF0C63D0\n" 
     755//"loc_FF0C6240:\n" 
     756                "B      loc_FF0C63D0\n" 
     757//"loc_FF0C6244:\n" 
     758                "B      loc_FF0C63D0\n" 
     759//"loc_FF0C6248:\n" 
     760                "B      loc_FF0C63D0\n" 
     761//"loc_FF0C624C:\n" 
    784762                "B      loc_FF0C62A0\n" 
    785 "loc_FF0C6250:\n" 
     763//"loc_FF0C6250:\n" 
    786764                "B      loc_FF0C62A8\n" 
    787 "loc_FF0C6254:\n" 
     765//"loc_FF0C6254:\n" 
    788766                "B      loc_FF0C62A8\n" 
    789 "loc_FF0C6258:\n" 
     767//"loc_FF0C6258:\n" 
    790768                "B      loc_FF0C62BC\n" 
    791 "loc_FF0C625C:\n" 
     769//"loc_FF0C625C:\n" 
    792770                "B      loc_FF0C62BC\n" 
    793 "loc_FF0C6260:\n" 
     771//"loc_FF0C6260:\n" 
    794772                "B      loc_FF0C62C4\n" 
    795 "loc_FF0C6264:\n" 
     773//"loc_FF0C6264:\n" 
    796774                "B      loc_FF0C62FC\n" 
    797 "loc_FF0C6268:\n" 
     775//"loc_FF0C6268:\n" 
    798776                "B      loc_FF0C6334\n" 
    799 "loc_FF0C626C:\n" 
     777//"loc_FF0C626C:\n" 
    800778                "B      loc_FF0C636C\n" 
    801 "loc_FF0C6270:\n" 
     779//"loc_FF0C6270:\n" 
    802780                "B      loc_FF0C63A4\n" 
    803 "loc_FF0C6274:\n" 
     781//"loc_FF0C6274:\n" 
    804782                "B      loc_FF0C63A4\n" 
    805 "loc_FF0C6278:\n" 
    806                 "B      loc_FF0C63D0\n" 
    807 "loc_FF0C627C:\n" 
    808                 "B      loc_FF0C63D0\n" 
    809 "loc_FF0C6280:\n" 
     783//"loc_FF0C6278:\n" 
     784                "B      loc_FF0C63D0\n" 
     785//"loc_FF0C627C:\n" 
     786                "B      loc_FF0C63D0\n" 
     787//"loc_FF0C6280:\n" 
    810788                "B      loc_FF0C63AC\n" 
    811 "loc_FF0C6284:\n" 
     789//"loc_FF0C6284:\n" 
    812790                "B      loc_FF0C63B4\n" 
    813791"loc_FF0C6288:\n" 
     
    10811059                "TST    R0, #1\n" 
    10821060                "LDRNE  R1, =0x7E3\n" 
    1083                 "LDRNE  R0, =0xFF0C18EC \n"//" \n"""ExpDrv.c\n"" 
     1061                "LDRNE  R0, =0xFF0C18EC\n"  //" \n"""ExpDrv.c\n"" 
    10841062                "BLNE   sub_FF00EC88\n" //assert 
    10851063"loc_FF0C2720:\n" 
     
    10941072                "LDMFD  SP!, {R4-R8,LR}\n" 
    10951073                "LDR    R1, =0x7E8\n" 
    1096                 "LDR    R0, =0xFF0C18EC \n"//" \n"""ExpDrv.c\n"" 
     1074                "LDR    R0, =0xFF0C18EC\n"  //" \n"""ExpDrv.c\n"" 
    10971075                "B              sub_FF00EC88\n" //assert 
    10981076// "End of function sub_FF0C2608\n"      
     
    11101088                "CMP    R0, #1\n" 
    11111089                "LDRNE  R1, =0x146\n" 
    1112                 "LDRNE  R0, =0xFF0B2604 \n" // "Shutter.c" 
     1090                "LDRNE  R0, =0xFF0B2604\n" // "Shutter.c" 
    11131091                "BLNE   sub_FF00EC88\n"         //ASSERT 
    11141092                "CMN    R4, #0xC00\n" 
     
    11161094                "CMN    R4, #0xC00\n" 
    11171095                "MOVEQ  R1, #0x14C\n" 
    1118                 "LDREQ  R0, =0xFF0B2604 \n" //"Shutter.c" 
     1096                "LDREQ  R0, =0xFF0B2604\n" //"Shutter.c" 
    11191097                "STRH   R4, [R5,#2]\n" 
    11201098                "BLEQ   sub_FF00EC88\n"         //ASSERT 
     
    11321110                "LDMFD  SP!, {R4-R6,LR}\n" 
    11331111                "LDR    R1, =0x151\n" 
    1134                 "LDR    R0, =0xFF0B2604 \n"//  "Shutter.c" 
     1112                "LDR    R0, =0xFF0B2604\n"//  "Shutter.c" 
    11351113                "B              sub_FF00EC88\n"         //ASSERT 
    11361114// "End of function sub_FF0B27CC\n" 
  • trunk/platform/sx230hs/sub/101a/makefile.inc

    r1328 r1331  
    1212 
    1313ifdef OPT_CHDK_IN_EXMEM 
    14 #MEMISOSTART=0x075867E0 
    15 #MEMISOSTART=0x78E67E0 
    16 MEMISOSTART= 0x079067E0         #0x80000   0x679800 
    17 #MEMISOSTART=(MAXRAMADDR+1-EXMEM_HEAP_SKIP-EXMEM_BUFFER_SIZE-0x20) 
     14#MEMISOSTART=0x78E67E0 # MAXRAMADDR+1 - EXMEM_HEAP_SKIP - EXMEM_BUFFER_SIZE - 32(0x20) (exmem allocates 64 bytes extra, 32 before and 32 after block allocated) 
     15MEMISOSTART=0x78E67E0  # MAXRAMADDR+1 - EXMEM_HEAP_SKIP - EXMEM_BUFFER_SIZE - 32(0x20) (exmem allocates 64 bytes extra, 32 before and 32 after block allocated) 
    1816else 
    1917MEMISOSTART=0x18A7FC    #Found at FF00014C  
     
    2321 
    2422MAXRAMADDR=0x07FFFFFF   # @FF086CE0 48000000 - 1 
    25  
    26  
    27 #EXMEM_BUFFER_SIZE=0xA0000  # now 256KB, 80000=512KB, C0000=768KB, 100000=1MB 
    28 EXMEM_BUFFER_SIZE=0x80000  # now 256KB, 80000=512KB, C0000=768KB, 100000=1MB 
     23EXMEM_BUFFER_SIZE=0xA0000  # now 256KB, 80000=512KB, A0000 =654KB, C0000=768KB, 100000=1MB 
    2924EXMEM_HEAP_SKIP=0x679800  # 0x48000000 - 0x47986800  @FF086CE0 - @FF086CE4 
    3025 
     
    3328 
    3429NEED_ENCODED_DISKBOOT=6 
    35 #KEYSYS=d4a 
    3630KEYSYS=d4c 
    3731 
  • trunk/platform/sx230hs/sub/101a/movie_rec.c

    r1328 r1331  
    1212//@sub_FF18D9CC 
    1313void __attribute__((naked,noinline)) movie_record_task(){ 
    14          
    1514        asm volatile(    
    1615//"sub_FF18D9CC" 
    1716                "STMFD  SP!, {R2-R10,LR}\n" 
    18                 "LDR    R6, =0xFF18C73C \n"// "nullsub_257\n" 
     17                "LDR    R6, =0xFF18C73C \n" // "nullsub_257\n" 
    1918//PATCH BEGIN 
    2019//              "LDR    R7, =sub_FF18D424\n" 
     
    4443                "ADDCC  PC, PC, R1,LSL#2\n" 
    4544                "B      loc_FF18DB28\n" 
    46 "loc_FF18DA30:" 
     45//"loc_FF18DA30:" 
    4746                "B      loc_FF18DAC8\n" 
    48 "loc_FF18DA34:" 
     47//"loc_FF18DA34:" 
    4948                "B      loc_FF18DAEC\n" 
    50 "loc_FF18DA38:\n" 
     49//"loc_FF18DA38:\n" 
    5150                "B      loc_FF18DAFC\n" 
    52 "loc_FF18DA3C:\n" 
     51//"loc_FF18DA3C:\n" 
    5352                "B      loc_FF18DB04\n" 
    54 "loc_FF18DA40:\n" 
     53//"loc_FF18DA40:\n" 
    5554                "B      loc_FF18DB0C\n" 
    56 "loc_FF18DA44:\n" 
     55//"loc_FF18DA44:\n" 
    5756                "B      loc_FF18DB14\n" 
    58 "loc_FF18DA48:\n" 
     57//"loc_FF18DA48:\n" 
    5958                "B      loc_FF18DAD0\n" 
    60 "loc_FF18DA4C:\n" 
     59//"loc_FF18DA4C:\n" 
    6160                "B      loc_FF18DB1C\n" 
    62 "loc_FF18DA50:\n" 
     61//"loc_FF18DA50:\n" 
    6362                "B      loc_FF18DADC\n" 
    64 "loc_FF18DA54:\n" 
    65                 "B      loc_FF18DB28\n" 
    66 "loc_FF18DA58:\n" 
     63//"loc_FF18DA54:\n" 
     64                "B      loc_FF18DB28\n" 
     65//"loc_FF18DA58:\n" 
    6766                "B      loc_FF18DB24\n" 
    68 "loc_FF18DA5C:\n" 
     67//"loc_FF18DA5C:\n" 
    6968                "B      loc_FF18DA94\n" 
    70 "loc_FF18DA60:" 
     69//"loc_FF18DA60:\n" 
    7170                "B      loc_FF18DA64\n" 
    72 "loc_FF18DA64:" 
     71"loc_FF18DA64:\n" 
    7372                "STR    R5, [R4,#0x40]\n" 
    7473                "STR    R5, [R4,#0x30]\n" 
     
    9392                "STR    R8, [R4,#0x44]\n" 
    9493"loc_FF18DAB4:\n" 
    95 //PATCH BEGIN 
    96 //              "LDR    R2, =sub_FF18BD78\n" 
    9794                "LDR    R2, =0xFF18BD78\n" 
    98 //PATCH END 
    9995                "LDR    R1, =0xC6A08\n" 
    100 //PATCH BEGIN 
    101 //              "LDR    R0, =sub_FF18BE8C\n" 
    10296                "LDR    R0, =0xFF18BE8C\n" 
    103 //PATCH END 
    10497                "BL     sub_FF0453E0\n" 
    10598                "B      loc_FF18DB28\n" 
     
    141134"loc_FF18DB24:\n" 
    142135                "BL     sub_FF18E078\n" 
    143  
    144136"loc_FF18DB28:\n" 
    145137                "LDR    R1, [SP,#4]\n" 
    146                 "LDR    R3, =0xFF18B7F0 \n"// " \n"""MovieRecorder.c\n"" 
     138                "LDR    R3, =0xFF18B7F0 \n" // " \n"""MovieRecorder.c\n"" 
    147139                "STR    R5, [R1]\n" 
    148140                "STR    R9, [SP]\n" 
     
    157149void __attribute__((naked,noinline)) sub_FF18D424_my(){ 
    158150        asm volatile(    
    159 //"sub_FF18D424                         \n"// "DATA XREF: sub_FF18D9CC+8o\n" 
     151//"sub_FF18D424                         \n" 
    160152                "STMFD  SP!, {R4-R11,LR}\n" 
    161153                "SUB    SP, SP, #0x64\n" 
     
    187179                "BEQ    loc_FF18D4CC\n" 
    188180"loc_FF18D494:\n" 
    189 //PATCH BEGIN 
    190 //              "LDR    R2, =sub_FF18D2F8\n" 
    191 //              "LDR    R1, =sub_FF18D35C\n" 
    192 //              "LDR    R0, =sub_FF18D3C0\n" 
    193181                "LDR    R2, =0xFF18D2F8\n" 
    194182                "LDR    R1, =0xFF18D35C\n" 
    195183                "LDR    R0, =0xFF18D3C0\n" 
    196 //PATCH END 
    197184                "MOV    R6, #1\n" 
    198185                "ADD    R3, SP, #0x34\n" 
     
    234221                "LDR    R0, [R8,#0x18]\n" 
    235222                "MOV    R1, #0x3E8\n" 
    236                 "BL     sub_FF02B5A0    \n"// "TakeSemaphore\n" 
     223                "BL     sub_FF02B5A0 \n" // "TakeSemaphore\n" 
    237224                "CMP    R0, #9\n" 
    238225                "BNE    loc_FF18D948\n" 
     
    277264                "LDR    R1, [R8,#0x84]\n" 
    278265                "LDR    R2, [R8,#0x88]\n" 
    279 //PATCH BEGIN TODO 
    280                 //"MOV  R3, #0xFFFFFFFE\n" 
    281                 "MVN    R3, #0x1\n" 
    282 //PATCH END 
     266                "MVN    R3, #1\n" 
    283267                "ADD    R0, SP, #0x60\n" 
    284268                "STMEA  SP, {R0-R3}\n" 
     
    293277                "B      loc_FF18D8D8\n"  
    294278"loc_FF18D5F4:\n" 
    295                 "BL             sub_FF18E150\n"   //loc to sub 
     279                "BL             sub_FF18E150\n" 
    296280                "LDR    R2, [R8,#0x64]\n" 
    297281                "ADD    R3, SP, #0x5C\n" 
    298 //PATCH BEGIN TODO 
    299                 //"MOV  R1, #0xFFFFFFFE\n" 
    300                 "MVN    R1, #0x1\n" 
    301 //PATCH END 
     282                "MVN    R1, #1\n" 
    302283                "MOV    R0, #0\n" 
    303284                "ADD    R5, SP, #0x1C\n" 
     
    321302                "LDR    R0, [R8,#0x18]\n" 
    322303                "LDR    R1, [R8,#0x60]\n" 
    323                 "BL     sub_FF02B5A0    \n"// "TakeSemaphore\n" 
     304                "BL     sub_FF02B5A0 \n"// "TakeSemaphore\n" 
    324305                "CMP    R0, #9\n" 
    325306                "BEQ    loc_FF18D5EC\n" 
     
    342323                "BL     sub_FF046408\n" 
    343324                "STR    R4, [R8,#0x44]\n" 
    344                 "BL             sub_FF18E150\n" //loc to sub 
     325                "BL             sub_FF18E150\n"  
    345326                "BL     sub_FF046464\n" 
    346327                "STR    R10, [R8,#0x44]\n" 
     
    378359                "LDR    R1, [R8,#0x84]\n" 
    379360                "LDR    R2, [R8,#0x88]\n" 
    380 //PATCH BEGINE TODO 
    381 //              "MOV    R3, #0xFFFFFFFF\n" 
    382361                "MVN     R3, #0\n" 
    383 //PATCH END 
    384362                "ADD    R0, SP, #0x60\n" 
    385363                "STMEA  SP, {R0-R3}\n" 
     
    394372                "CMP    R0, #9\n" 
    395373                "BEQ    loc_FF18D5EC\n" 
    396 //PATCH BEGIN TODO 
    397                 //"LDR  R0, =sub_FF18C818\n" 
    398374                "LDR    R0, =0xFF18C818\n" 
    399 //PATCH END 
    400375                "MOV    R1, #0\n" 
    401376                "BL     sub_FF2B6FD4\n" 
     
    405380                "LDR    R2, [R8,#0x64]\n" 
    406381                "ADD    R3, SP, #0x5C\n" 
    407 //PATCH BEGIN TODO 
    408                 //"MOV  R1, #0xFFFFFFFF\n" 
    409                 "MVN    R1, #0x0\n" 
    410 //PATCH END 
     382                "MVN    R1, #0\n" 
    411383                "ADD    R9, SP, #0x1C\n" 
    412384                "STMIA  R9, {R0-R3}\n" 
     
    431403                "CMP    R0, #9\n" 
    432404                "BEQ    loc_FF18D5EC\n" 
    433 "loc_FF18D7D0:                          \n"// "CODE XREF: sub_FF18D424+340j\n" 
     405"loc_FF18D7D0:\n" 
    434406                "LDR    R0, [SP,#0x5C]\n" 
    435407                "CMP    R0, #0\n" 
     
    530502                "BL     sub_FF307138\n" 
    531503                "LDR    R0, [R8,#0x68]\n" 
    532                 "LDR    R3, =0x8668\n"  //0x8668 - 0x4 
     504                "LDR    R3, =0x8668 \n" //0x8668 - 0x4 
    533505                "ADD    R1, R0, #1\n" 
    534506                "STR    R1, [R8,#0x68]\n" 
     
    536508                "SUB    R2, R3, #4\n" 
    537509                "BL     sub_FF303544\n" 
    538 //PATCH BEGIN TODO REMOVE?? 
     510//PATCH BEGIN 
    539511                "LDR    R0, =0x8664\n" 
    540512                "BL             set_quality\n" 
  • trunk/platform/sx230hs/sub/101a/stubs_auto.S

    r1328 r1331  
    220220STUB(FF3B60A8) 
    221221STUB(FF3B62E0) 
    222 STUB(FF87C4C0) 
  • trunk/platform/sx230hs/sub/101a/stubs_entry_2.S

    r1328 r1331  
    1919NHSTUB(MakeAFScan,                                      0xff191018 )  
    2020NHSTUB(MakeDirectory,                           0xff026e44 )  
    21 NHSTUB(ReadSDCard,                                      0xff171f04 ) 
     21NHSTUB(ReadSDCard,                                      0xff171d08) //0xff171f04 ) 
    2222NHSTUB(UnlockAndRefresh,                        0xff0ad2f8 ) 
    2323NHSTUB(UpdateMBROnFlash,                        0xff06c264 ) 
Note: See TracChangeset for help on using the changeset viewer.