Changeset 1331
- Timestamp:
- 09/10/11 22:42:19 (21 months ago)
- Location:
- trunk
- Files:
-
- 13 added
- 14 edited
-
Makefile (modified) (5 diffs)
-
makefile.inc (modified) (1 diff)
-
platform/sx230hs/kbd.c (modified) (4 diffs)
-
platform/sx230hs/lib.c (modified) (1 diff)
-
platform/sx230hs/main.c (modified) (2 diffs)
-
platform/sx230hs/shooting.c (modified) (2 diffs)
-
platform/sx230hs/sub/100c/stubs_auto.S (modified) (4 diffs)
-
platform/sx230hs/sub/100c/stubs_entry_2.S (modified) (1 diff)
-
platform/sx230hs/sub/101a/boot.c (modified) (7 diffs)
-
platform/sx230hs/sub/101a/capt_seq.c (modified) (13 diffs)
-
platform/sx230hs/sub/101a/makefile.inc (modified) (3 diffs)
-
platform/sx230hs/sub/101a/movie_rec.c (modified) (17 diffs)
-
platform/sx230hs/sub/101a/stubs_auto.S (modified) (1 diff)
-
platform/sx230hs/sub/101a/stubs_entry_2.S (modified) (1 diff)
-
platform/sx230hs/sub/101b (added)
-
platform/sx230hs/sub/101b/Makefile (added)
-
platform/sx230hs/sub/101b/boot.c (added)
-
platform/sx230hs/sub/101b/capt_seq.c (added)
-
platform/sx230hs/sub/101b/kbd.c (added)
-
platform/sx230hs/sub/101b/lib.c (added)
-
platform/sx230hs/sub/101b/makefile.inc (added)
-
platform/sx230hs/sub/101b/movie_rec.c (added)
-
platform/sx230hs/sub/101b/stubs_asm.h (added)
-
platform/sx230hs/sub/101b/stubs_auto.S (added)
-
platform/sx230hs/sub/101b/stubs_entry.S (added)
-
platform/sx230hs/sub/101b/stubs_entry_2.S (added)
-
platform/sx230hs/sub/101b/stubs_min.S (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
r1327 r1331 247 247 $(MAKE) -s --no-print-directory PLATFORM=sx230hs PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 248 248 $(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 249 250 $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsub 250 251 $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsub … … 353 354 mv $(topdir)bin/$(VER)-sx230hs-100c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx230hs-100c-$(BUILD_NUMBER)_BETA.zip 354 355 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 355 357 mv $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101c-$(BUILD_NUMBER)_BETA.zip 356 358 mv $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER).zip $(topdir)bin/$(VER)-sx130is-101d-$(BUILD_NUMBER)_BETA.zip … … 465 467 $(MAKE) -s --no-print-directory PLATFORM=sx230hs PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 466 468 $(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 467 470 $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790 PLATFORMSUB=100c NO_INC_BUILD=1 firzipsubcomplete 468 471 $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790 PLATFORMSUB=100d NO_INC_BUILD=1 firzipsubcomplete … … 633 636 mv $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx230hs-101a-$(BUILD_NUMBER)-full_BETA.zip 634 637 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 635 640 mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full.zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)-full_BETA.zip 636 641 mv $(topdir)bin/sx130is-101c-$(BUILD_NUMBER).zip $(topdir)bin/sx130is-101c-$(BUILD_NUMBER)_BETA.zip … … 744 749 $(MAKE) -s --no-print-directory PLATFORM=sx230hs PLATFORMSUB=100c NO_INC_BUILD=1 clean 745 750 $(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 746 752 $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790 PLATFORMSUB=100c NO_INC_BUILD=1 clean 747 753 $(MAKE) -s --no-print-directory PLATFORM=ixus90_sd790 PLATFORMSUB=100d NO_INC_BUILD=1 clean -
trunk/makefile.inc
r1327 r1331 392 392 #PLATFORMSUB=101a 393 393 394 #PLATFORM=sx230hs 395 #PLATFORMSUB=101b 394 396 395 397 MEMISOSIZE="(&_end-&_start)" -
trunk/platform/sx230hs/kbd.c
r1328 r1331 120 120 // no stack manipulation needed here, since we create the task directly 121 121 void __attribute__((naked,noinline)) mykbd_task() { 122 /*123 register int i;124 register long *newstack;125 126 127 #ifndef MALLOCD_STACK128 newstack = (void*)kbd_stack;129 #else130 newstack = malloc(NEW_SS);131 #endif132 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 */142 122 mykbd_task_proceed(); 143 123 … … 405 385 asm volatile ("STMFD SP!, {R0-R11,LR}\n"); // store R0-R11 and LR in stack 406 386 407 //debug_led(1);387 debug_led(1); 408 388 tick = get_tick_count(); 409 389 tick2 = tick; … … 435 415 prev_usb_power=cur_usb_power; 436 416 } else { 437 if((int)get_tick_count()-tick2>1000) { /*debug_led(0);*/}417 if((int)get_tick_count()-tick2>1000) {debug_led(0);} 438 418 } 439 419 } else { … … 488 468 } 489 469 490 //debug_led(0);470 debug_led(0); 491 471 asm volatile ("LDMFD SP!, {R0-R11,LR}\n"); // restore R0-R11 and LR from stack 492 472 } -
trunk/platform/sx230hs/lib.c
r1328 r1331 40 40 41 41 void camera_set_led(int led, int state, int bright) { 42 //TODO REMOVE static char led_table[5]={4,5,7,8,9};43 42 static char led_table[2]={0,9}; 44 43 _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state); -
trunk/platform/sx230hs/main.c
r1328 r1331 31 31 #define NUM_FL 126 // 0 - 125, entries in firmware (3 words each entry, first is FL) 32 32 extern int focus_len_table[NUM_FL*3]; 33 /*34 //zoom position is get_parameter_data(87)35 //TODO36 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 */49 33 50 34 // Focal length range is 5.0 - 70,0 mm, 28 - 392 in 35-mm equivalent. … … 52 36 // divide by 10 to avoid overflow in get_effective_focal_length() 53 37 #define CF_EFL 5600 54 //TODO55 38 const int zoom_points = 126; 56 39 -
trunk/platform/sx230hs/shooting.c
r1328 r1331 76 76 }; 77 77 78 //sx22079 /*80 78 const 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},112 79 { 0, 0, "Auto", -1}, 113 80 { 1, 100, "100", -1}, … … 213 180 extern void _GetImageFolder(char*,int,int,int); 214 181 _GetImageFolder(out,get_file_next_counter(),0x400,time(NULL)); 215 //getting the dir name directly from ram216 //LDR R0, =0xBF220 @FF15D460217 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 */235 182 } 236 183 -
trunk/platform/sx230hs/sub/100c/stubs_auto.S
r1328 r1331 74 74 STUB(FF057D1C) 75 75 STUB(FF057D38) 76 STUB(FF05D068)77 76 STUB(FF076164) 78 77 STUB(FF0768BC) … … 108 107 STUB(FF083C60) 109 108 STUB(FF083C94) 110 STUB(FF086824)111 109 STUB(FF08BF58) 112 STUB(FF08C390)113 110 STUB(FF08C794) 114 111 STUB(FF08C7C0) … … 160 157 STUB(FF0C7684) 161 158 STUB(FF0C7744) 162 STUB(FF0DA84C)163 159 STUB(FF106D80) 164 160 STUB(FF114DA0) … … 202 198 STUB(FF193CB4) 203 199 STUB(FF193CEC) 204 STUB(FF2B0840)205 STUB(FF2B50D4)206 200 STUB(FF2B5700) 207 201 STUB(FF2B57AC) 208 202 STUB(FF2B57F8) 209 STUB(FF2B581C)210 STUB(FF2B6938)211 203 STUB(FF2B6D98) 212 204 STUB(FF2B6E0C) 213 205 STUB(FF2B6E34) 214 206 STUB(FF2B6E4C) 215 STUB(FF2B6E60)216 STUB(FF2B6EF0)217 STUB(FF3032C0)218 207 STUB(FF30340C) 219 STUB(FF305594)220 STUB(FF3059A0)221 STUB(FF306AA0)222 208 STUB(FF306C24) 223 209 STUB(FF306D4C) -
trunk/platform/sx230hs/sub/100c/stubs_entry_2.S
r1328 r1331 38 38 STUB(FF18D0EC) 39 39 STUB(FF18C658) 40 41 //added 42 STUB(FF08C390) 43 STUB(FF086824) 44 STUB(FF2B0840) 45 STUB(FF3059A0) 46 STUB(FF3032C0) 47 STUB(FF2B6938) 48 STUB(FF2B6E60) 49 STUB(FF2B6EF0) 50 STUB(FF2B50D4) 51 STUB(FF2B581C) 52 STUB(FF306AA0) 53 STUB(FF05D068) 54 STUB(FF0DA84C) -
trunk/platform/sx230hs/sub/101a/boot.c
r1328 r1331 131 131 132 132 //SX230:101a @ FF000358 133 void __attribute__((naked,noinline)) sub_FF000358_my() { // ASM1989 -> In sx200 was: sub_FF8101A0_my133 void __attribute__((naked,noinline)) sub_FF000358_my() { 134 134 135 135 *(int*)0x1938=(int)taskHook; 136 *(int*)0x193C=(int)taskHook; //SX220 funnel136 *(int*)0x193C=(int)taskHook; 137 137 138 138 //Power-on FF00FCCC+FF056DB4 139 140 139 if ((*(int*) 0xC022012C) & 1) // look at play switch 141 140 *(int*)(0x25E4) = 0x200000; // not pressed - start in rec mode … … 187 186 "loc_FF8103D0:\n" 188 187 "NOP\n" 189 "LDR PC, =0xFF00061C\n" 190 188 "LDR PC, =0xFF00061C\n" 191 189 ); 192 190 } … … 259 257 260 258 asm volatile ( 261 262 259 "STMFD SP!, {R4,LR}\n" 263 260 "BL sub_FF000B28\n" … … 297 294 }; 298 295 299 //inserted for SX230300 //TEST301 296 //SX230 @ FF00FD54 302 void __attribute__((naked,noinline)) sub_FF00FD54_my() 303 { 304 //TEST 297 void __attribute__((naked,noinline)) sub_FF00FD54_my(){ 305 298 asm volatile ( 306 299 "STMFD SP!, {R3,LR}\n" … … 323 316 324 317 //Added dSX230 from FF00FC6C 325 //TEST326 318 void __attribute__((naked,noinline)) taskcreate_Startup_my() { 327 319 asm volatile ( … … 494 486 //PATCH BEGIN //TODO 495 487 "BL sub_FF08C7B8\n" 496 // "BL sub_FF08C7B8_my\n"497 488 "BL core_spytask_can_start\n" 498 489 //PATCH END … … 678 669 "LDR R0, [R7,R4,LSL#2]\n" 679 670 "BL sub_FF02C130\n" 680 //PATCH BEGIN681 // "LDR R2, =sub_FF057904\n"682 671 "LDR R2, =0xFF057904\n" 683 //PATCH END684 672 "ORR R3, R4, #0x300\n" 685 673 "ADD R1, R2, #0\n" -
trunk/platform/sx230hs/sub/101a/capt_seq.c
r1328 r1331 37 37 "ADDCC PC, PC, R1,LSL#2\n" 38 38 "B loc_FF078EAC\n" 39 "loc_FF078C40:\n" 39 40 //"loc_FF078C40:\n" 40 41 "B loc_FF078CDC\n" 41 "loc_FF078C44:\n"42 //"loc_FF078C44:\n" 42 43 "B loc_FF078CF4\n" 43 "loc_FF078C48:\n"44 //"loc_FF078C48:\n" 44 45 "B loc_FF078D2C\n" 45 "loc_FF078C4C:\n"46 //"loc_FF078C4C:\n" 46 47 "B loc_FF078D40\n" 47 "loc_FF078C50:\n"48 //"loc_FF078C50:\n" 48 49 "B loc_FF078D38\n" 49 "loc_FF078C54:\n"50 //"loc_FF078C54:\n" 50 51 "B loc_FF078D4C\n" 51 "loc_FF078C58:\n"52 //"loc_FF078C58:\n" 52 53 "B loc_FF078D54\n" 53 "loc_FF078C5C:\n"54 //"loc_FF078C5C:\n" 54 55 "B loc_FF078D5C\n" 55 "loc_FF078C60:\n"56 //"loc_FF078C60:\n" 56 57 "B loc_FF078D78\n" 57 "loc_FF078C64:\n"58 //"loc_FF078C64:\n" 58 59 "B loc_FF078DB8\n" 59 "loc_FF078C68:\n"60 //"loc_FF078C68:\n" 60 61 "B loc_FF078D84\n" 61 "loc_FF078C6C:\n"62 //"loc_FF078C6C:\n" 62 63 "B loc_FF078D90\n" 63 "loc_FF078C70:\n"64 //"loc_FF078C70:\n" 64 65 "B loc_FF078D98\n" 65 "loc_FF078C74:\n"66 //"loc_FF078C74:\n" 66 67 "B loc_FF078DA0\n" 67 "loc_FF078C78:\n"68 //"loc_FF078C78:\n" 68 69 "B loc_FF078DA8\n" 69 "loc_FF078C7C:\n"70 //"loc_FF078C7C:\n" 70 71 "B loc_FF078DB0\n" 71 "loc_FF078C80:\n"72 //"loc_FF078C80:\n" 72 73 "B loc_FF078DC0\n" 73 "loc_FF078C84:\n"74 //"loc_FF078C84:\n" 74 75 "B loc_FF078DC8\n" 75 "loc_FF078C88:\n"76 //"loc_FF078C88:\n" 76 77 "B loc_FF078DD0\n" 77 "loc_FF078C8C:\n"78 //"loc_FF078C8C:\n" 78 79 "B loc_FF078DD8\n" 79 "loc_FF078C90:\n"80 //"loc_FF078C90:\n" 80 81 "B loc_FF078DE0\n" 81 "loc_FF078C94:\n"82 //"loc_FF078C94:\n" 82 83 "B loc_FF078DE8\n" 83 "loc_FF078C98:\n"84 //"loc_FF078C98:\n" 84 85 "B loc_FF078DF0\n" 85 "loc_FF078C9C:\n"86 //"loc_FF078C9C:\n" 86 87 "B loc_FF078DF8\n" 87 "loc_FF078CA0:\n"88 //"loc_FF078CA0:\n" 88 89 "B loc_FF078E00\n" 89 "loc_FF078CA4:\n"90 //"loc_FF078CA4:\n" 90 91 "B loc_FF078E08\n" 91 "loc_FF078CA8:\n"92 //"loc_FF078CA8:\n" 92 93 "B loc_FF078E14\n" 93 "loc_FF078CAC:\n"94 //"loc_FF078CAC:\n" 94 95 "B loc_FF078E1C\n" 95 "loc_FF078CB0:\n"96 //"loc_FF078CB0:\n" 96 97 "B loc_FF078E28\n" 97 "loc_FF078CB4:\n"98 //"loc_FF078CB4:\n" 98 99 "B loc_FF078E30\n" 99 "loc_FF078CB8:\n"100 //"loc_FF078CB8:\n" 100 101 "B loc_FF078E38\n" 101 "loc_FF078CBC:\n"102 //"loc_FF078CBC:\n" 102 103 "B loc_FF078E40\n" 103 "loc_FF078CC0:\n"104 //"loc_FF078CC0:\n" 104 105 "B loc_FF078E48\n" 105 "loc_FF078CC4:\n"106 //"loc_FF078CC4:\n" 106 107 "B loc_FF078E50\n" 107 "loc_FF078CC8:\n"108 //"loc_FF078CC8:\n" 108 109 "B loc_FF078E58\n" 109 "loc_FF078CCC:\n"110 //"loc_FF078CCC:\n" 110 111 "B loc_FF078E60\n" 111 "loc_FF078CD0:\n"112 //"loc_FF078CD0:\n" 112 113 "B loc_FF078E68\n" 113 "loc_FF078CD4:\n"114 //"loc_FF078CD4:\n" 114 115 "B loc_FF078E74\n" 115 "loc_FF078CD8:\n"116 //"loc_FF078CD8:\n" 116 117 "B loc_FF078EB8\n" 117 118 "loc_FF078CDC:\n" 118 119 "BL shooting_expo_iso_override\n" 119 //PATCH BEGIN 120 "BL shooting_expo_iso_override\n" 121 //PATCH END 120 122 "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" 140 125 //PATCH END 141 126 "BL sub_FF07618C\n" 142 127 //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" 150 131 "MOV R0, #0\n" 151 132 "STR R0, [R5,#0x28]\n" // fixes overrides behavior at short shutter press 152 //PATCH END133 //PATCH END 153 134 "B loc_FF078EB8\n" 154 135 "loc_FF078CF4:\n" … … 158 139 // "BL sub_FF192E78\n" 159 140 "BL sub_FF192E78_my\n" 160 "BL capt_seq_hook_raw_here\n" // + sx220 this works141 "BL capt_seq_hook_raw_here\n" 161 142 //PATCH END 162 143 "MOV R4, R0\n" … … 326 307 "B loc_FF078C00\n" 327 308 // End of function sub_FF078BF0 328 ); 329 309 ); 330 310 } 331 311 332 312 //SX230 @FF192E78 333 void __attribute__((naked,noinline)) sub_FF192E78_my() 334 { 313 void __attribute__((naked,noinline)) sub_FF192E78_my(){ 335 314 asm volatile( 336 //"//sub_FF192E78 \n" // "CODE XREF: sub_FF078BF0+10Cp\n"315 //"//sub_FF192E78 \n" 337 316 "STMFD SP!, {R3-R7,LR}\n" 338 317 "LDR R5, =0x3EFA4\n" … … 435 414 "LDMNEFD SP!, {R3-R7,PC}\n" 436 415 "MOV R0, R4\n" 437 "BL sub_FF192B50\n" //loc to sub438 "BL sub_FF1936A4\n"416 "BL sub_FF192B50\n" 417 "BL sub_FF1936A4\n" 439 418 "LDR R0, [R5,#0xC4]\n" 440 419 "CMP R0, #1\n" … … 467 446 "TST R0, #1\n" 468 447 "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" 471 450 "LDRH R0, [SP]\n" 472 451 "CMP R0, #1\n" … … 494 473 "LDMFD SP!, {R3-R7,PC}\n" 495 474 // "End of function sub_FF192E78\n" 496 ); 497 475 ); 498 476 } 499 477 … … 514 492 "MOV R2, #0\n" 515 493 "ADD R1, SP, #0x20\n" 516 "BL sub_FF02B184\n"494 "BL sub_FF02B184\n" 517 495 "LDR R0, [SP,#0x10]\n" 518 496 "CMP R0, #1\n" … … 733 711 "ADDCC PC, PC, R1,LSL#2\n" 734 712 "B loc_FF0C63D0\n" 735 "loc_FF0C61EC:\n"713 //"loc_FF0C61EC:\n" 736 714 "B loc_FF0C6288\n" 737 "loc_FF0C61F0:\n"715 //"loc_FF0C61F0:\n" 738 716 "B loc_FF0C6288\n" 739 "loc_FF0C61F4:\n"717 //"loc_FF0C61F4:\n" 740 718 "B loc_FF0C6290\n" 741 "loc_FF0C61F8:\n"719 //"loc_FF0C61F8:\n" 742 720 "B loc_FF0C6298\n" 743 "loc_FF0C61FC:\n"721 //"loc_FF0C61FC:\n" 744 722 "B loc_FF0C6298\n" 745 "loc_FF0C6200:\n"723 //"loc_FF0C6200:\n" 746 724 "B loc_FF0C6298\n" 747 "loc_FF0C6204:\n"725 //"loc_FF0C6204:\n" 748 726 "B loc_FF0C6288\n" 749 "loc_FF0C6208:\n"727 //"loc_FF0C6208:\n" 750 728 "B loc_FF0C6290\n" 751 "loc_FF0C620C:\n"729 //"loc_FF0C620C:\n" 752 730 "B loc_FF0C6298\n" 753 "loc_FF0C6210:\n"731 //"loc_FF0C6210:\n" 754 732 "B loc_FF0C6298\n" 755 "loc_FF0C6214:\n"733 //"loc_FF0C6214:\n" 756 734 "B loc_FF0C62B0\n" 757 "loc_FF0C6218:\n"735 //"loc_FF0C6218:\n" 758 736 "B loc_FF0C62B0\n" 759 "loc_FF0C621C:\n"737 //"loc_FF0C621C:\n" 760 738 "B loc_FF0C63BC\n" 761 "loc_FF0C6220:\n"739 //"loc_FF0C6220:\n" 762 740 "B loc_FF0C63C4\n" 763 "loc_FF0C6224:\n"741 //"loc_FF0C6224:\n" 764 742 "B loc_FF0C63C4\n" 765 "loc_FF0C6228:\n"743 //"loc_FF0C6228:\n" 766 744 "B loc_FF0C63C4\n" 767 "loc_FF0C622C:\n"745 //"loc_FF0C622C:\n" 768 746 "B loc_FF0C63C4\n" 769 "loc_FF0C6230:\n"747 //"loc_FF0C6230:\n" 770 748 "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" 784 762 "B loc_FF0C62A0\n" 785 "loc_FF0C6250:\n"763 //"loc_FF0C6250:\n" 786 764 "B loc_FF0C62A8\n" 787 "loc_FF0C6254:\n"765 //"loc_FF0C6254:\n" 788 766 "B loc_FF0C62A8\n" 789 "loc_FF0C6258:\n"767 //"loc_FF0C6258:\n" 790 768 "B loc_FF0C62BC\n" 791 "loc_FF0C625C:\n"769 //"loc_FF0C625C:\n" 792 770 "B loc_FF0C62BC\n" 793 "loc_FF0C6260:\n"771 //"loc_FF0C6260:\n" 794 772 "B loc_FF0C62C4\n" 795 "loc_FF0C6264:\n"773 //"loc_FF0C6264:\n" 796 774 "B loc_FF0C62FC\n" 797 "loc_FF0C6268:\n"775 //"loc_FF0C6268:\n" 798 776 "B loc_FF0C6334\n" 799 "loc_FF0C626C:\n"777 //"loc_FF0C626C:\n" 800 778 "B loc_FF0C636C\n" 801 "loc_FF0C6270:\n"779 //"loc_FF0C6270:\n" 802 780 "B loc_FF0C63A4\n" 803 "loc_FF0C6274:\n"781 //"loc_FF0C6274:\n" 804 782 "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" 810 788 "B loc_FF0C63AC\n" 811 "loc_FF0C6284:\n"789 //"loc_FF0C6284:\n" 812 790 "B loc_FF0C63B4\n" 813 791 "loc_FF0C6288:\n" … … 1081 1059 "TST R0, #1\n" 1082 1060 "LDRNE R1, =0x7E3\n" 1083 "LDRNE R0, =0xFF0C18EC \n"//" \n"""ExpDrv.c\n""1061 "LDRNE R0, =0xFF0C18EC\n" //" \n"""ExpDrv.c\n"" 1084 1062 "BLNE sub_FF00EC88\n" //assert 1085 1063 "loc_FF0C2720:\n" … … 1094 1072 "LDMFD SP!, {R4-R8,LR}\n" 1095 1073 "LDR R1, =0x7E8\n" 1096 "LDR R0, =0xFF0C18EC \n"//" \n"""ExpDrv.c\n""1074 "LDR R0, =0xFF0C18EC\n" //" \n"""ExpDrv.c\n"" 1097 1075 "B sub_FF00EC88\n" //assert 1098 1076 // "End of function sub_FF0C2608\n" … … 1110 1088 "CMP R0, #1\n" 1111 1089 "LDRNE R1, =0x146\n" 1112 "LDRNE R0, =0xFF0B2604 \n" // "Shutter.c"1090 "LDRNE R0, =0xFF0B2604\n" // "Shutter.c" 1113 1091 "BLNE sub_FF00EC88\n" //ASSERT 1114 1092 "CMN R4, #0xC00\n" … … 1116 1094 "CMN R4, #0xC00\n" 1117 1095 "MOVEQ R1, #0x14C\n" 1118 "LDREQ R0, =0xFF0B2604 \n" //"Shutter.c"1096 "LDREQ R0, =0xFF0B2604\n" //"Shutter.c" 1119 1097 "STRH R4, [R5,#2]\n" 1120 1098 "BLEQ sub_FF00EC88\n" //ASSERT … … 1132 1110 "LDMFD SP!, {R4-R6,LR}\n" 1133 1111 "LDR R1, =0x151\n" 1134 "LDR R0, =0xFF0B2604 \n"// "Shutter.c"1112 "LDR R0, =0xFF0B2604\n"// "Shutter.c" 1135 1113 "B sub_FF00EC88\n" //ASSERT 1136 1114 // "End of function sub_FF0B27CC\n" -
trunk/platform/sx230hs/sub/101a/makefile.inc
r1328 r1331 12 12 13 13 ifdef 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) 15 MEMISOSTART=0x78E67E0 # MAXRAMADDR+1 - EXMEM_HEAP_SKIP - EXMEM_BUFFER_SIZE - 32(0x20) (exmem allocates 64 bytes extra, 32 before and 32 after block allocated) 18 16 else 19 17 MEMISOSTART=0x18A7FC #Found at FF00014C … … 23 21 24 22 MAXRAMADDR=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 23 EXMEM_BUFFER_SIZE=0xA0000 # now 256KB, 80000=512KB, A0000 =654KB, C0000=768KB, 100000=1MB 29 24 EXMEM_HEAP_SKIP=0x679800 # 0x48000000 - 0x47986800 @FF086CE0 - @FF086CE4 30 25 … … 33 28 34 29 NEED_ENCODED_DISKBOOT=6 35 #KEYSYS=d4a36 30 KEYSYS=d4c 37 31 -
trunk/platform/sx230hs/sub/101a/movie_rec.c
r1328 r1331 12 12 //@sub_FF18D9CC 13 13 void __attribute__((naked,noinline)) movie_record_task(){ 14 15 14 asm volatile( 16 15 //"sub_FF18D9CC" 17 16 "STMFD SP!, {R2-R10,LR}\n" 18 "LDR R6, =0xFF18C73C \n" // "nullsub_257\n"17 "LDR R6, =0xFF18C73C \n" // "nullsub_257\n" 19 18 //PATCH BEGIN 20 19 // "LDR R7, =sub_FF18D424\n" … … 44 43 "ADDCC PC, PC, R1,LSL#2\n" 45 44 "B loc_FF18DB28\n" 46 "loc_FF18DA30:"45 //"loc_FF18DA30:" 47 46 "B loc_FF18DAC8\n" 48 "loc_FF18DA34:"47 //"loc_FF18DA34:" 49 48 "B loc_FF18DAEC\n" 50 "loc_FF18DA38:\n"49 //"loc_FF18DA38:\n" 51 50 "B loc_FF18DAFC\n" 52 "loc_FF18DA3C:\n"51 //"loc_FF18DA3C:\n" 53 52 "B loc_FF18DB04\n" 54 "loc_FF18DA40:\n"53 //"loc_FF18DA40:\n" 55 54 "B loc_FF18DB0C\n" 56 "loc_FF18DA44:\n"55 //"loc_FF18DA44:\n" 57 56 "B loc_FF18DB14\n" 58 "loc_FF18DA48:\n"57 //"loc_FF18DA48:\n" 59 58 "B loc_FF18DAD0\n" 60 "loc_FF18DA4C:\n"59 //"loc_FF18DA4C:\n" 61 60 "B loc_FF18DB1C\n" 62 "loc_FF18DA50:\n"61 //"loc_FF18DA50:\n" 63 62 "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" 67 66 "B loc_FF18DB24\n" 68 "loc_FF18DA5C:\n"67 //"loc_FF18DA5C:\n" 69 68 "B loc_FF18DA94\n" 70 "loc_FF18DA60:"69 //"loc_FF18DA60:\n" 71 70 "B loc_FF18DA64\n" 72 "loc_FF18DA64: "71 "loc_FF18DA64:\n" 73 72 "STR R5, [R4,#0x40]\n" 74 73 "STR R5, [R4,#0x30]\n" … … 93 92 "STR R8, [R4,#0x44]\n" 94 93 "loc_FF18DAB4:\n" 95 //PATCH BEGIN96 // "LDR R2, =sub_FF18BD78\n"97 94 "LDR R2, =0xFF18BD78\n" 98 //PATCH END99 95 "LDR R1, =0xC6A08\n" 100 //PATCH BEGIN101 // "LDR R0, =sub_FF18BE8C\n"102 96 "LDR R0, =0xFF18BE8C\n" 103 //PATCH END104 97 "BL sub_FF0453E0\n" 105 98 "B loc_FF18DB28\n" … … 141 134 "loc_FF18DB24:\n" 142 135 "BL sub_FF18E078\n" 143 144 136 "loc_FF18DB28:\n" 145 137 "LDR R1, [SP,#4]\n" 146 "LDR R3, =0xFF18B7F0 \n" // " \n"""MovieRecorder.c\n""138 "LDR R3, =0xFF18B7F0 \n" // " \n"""MovieRecorder.c\n"" 147 139 "STR R5, [R1]\n" 148 140 "STR R9, [SP]\n" … … 157 149 void __attribute__((naked,noinline)) sub_FF18D424_my(){ 158 150 asm volatile( 159 //"sub_FF18D424 \n" // "DATA XREF: sub_FF18D9CC+8o\n"151 //"sub_FF18D424 \n" 160 152 "STMFD SP!, {R4-R11,LR}\n" 161 153 "SUB SP, SP, #0x64\n" … … 187 179 "BEQ loc_FF18D4CC\n" 188 180 "loc_FF18D494:\n" 189 //PATCH BEGIN190 // "LDR R2, =sub_FF18D2F8\n"191 // "LDR R1, =sub_FF18D35C\n"192 // "LDR R0, =sub_FF18D3C0\n"193 181 "LDR R2, =0xFF18D2F8\n" 194 182 "LDR R1, =0xFF18D35C\n" 195 183 "LDR R0, =0xFF18D3C0\n" 196 //PATCH END197 184 "MOV R6, #1\n" 198 185 "ADD R3, SP, #0x34\n" … … 234 221 "LDR R0, [R8,#0x18]\n" 235 222 "MOV R1, #0x3E8\n" 236 "BL sub_FF02B5A0 \n"// "TakeSemaphore\n"223 "BL sub_FF02B5A0 \n" // "TakeSemaphore\n" 237 224 "CMP R0, #9\n" 238 225 "BNE loc_FF18D948\n" … … 277 264 "LDR R1, [R8,#0x84]\n" 278 265 "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" 283 267 "ADD R0, SP, #0x60\n" 284 268 "STMEA SP, {R0-R3}\n" … … 293 277 "B loc_FF18D8D8\n" 294 278 "loc_FF18D5F4:\n" 295 "BL sub_FF18E150\n" //loc to sub279 "BL sub_FF18E150\n" 296 280 "LDR R2, [R8,#0x64]\n" 297 281 "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" 302 283 "MOV R0, #0\n" 303 284 "ADD R5, SP, #0x1C\n" … … 321 302 "LDR R0, [R8,#0x18]\n" 322 303 "LDR R1, [R8,#0x60]\n" 323 "BL sub_FF02B5A0 \n"// "TakeSemaphore\n"304 "BL sub_FF02B5A0 \n"// "TakeSemaphore\n" 324 305 "CMP R0, #9\n" 325 306 "BEQ loc_FF18D5EC\n" … … 342 323 "BL sub_FF046408\n" 343 324 "STR R4, [R8,#0x44]\n" 344 "BL sub_FF18E150\n" //loc to sub325 "BL sub_FF18E150\n" 345 326 "BL sub_FF046464\n" 346 327 "STR R10, [R8,#0x44]\n" … … 378 359 "LDR R1, [R8,#0x84]\n" 379 360 "LDR R2, [R8,#0x88]\n" 380 //PATCH BEGINE TODO381 // "MOV R3, #0xFFFFFFFF\n"382 361 "MVN R3, #0\n" 383 //PATCH END384 362 "ADD R0, SP, #0x60\n" 385 363 "STMEA SP, {R0-R3}\n" … … 394 372 "CMP R0, #9\n" 395 373 "BEQ loc_FF18D5EC\n" 396 //PATCH BEGIN TODO397 //"LDR R0, =sub_FF18C818\n"398 374 "LDR R0, =0xFF18C818\n" 399 //PATCH END400 375 "MOV R1, #0\n" 401 376 "BL sub_FF2B6FD4\n" … … 405 380 "LDR R2, [R8,#0x64]\n" 406 381 "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" 411 383 "ADD R9, SP, #0x1C\n" 412 384 "STMIA R9, {R0-R3}\n" … … 431 403 "CMP R0, #9\n" 432 404 "BEQ loc_FF18D5EC\n" 433 "loc_FF18D7D0: \n"// "CODE XREF: sub_FF18D424+340j\n"405 "loc_FF18D7D0:\n" 434 406 "LDR R0, [SP,#0x5C]\n" 435 407 "CMP R0, #0\n" … … 530 502 "BL sub_FF307138\n" 531 503 "LDR R0, [R8,#0x68]\n" 532 "LDR R3, =0x8668 \n" //0x8668 - 0x4504 "LDR R3, =0x8668 \n" //0x8668 - 0x4 533 505 "ADD R1, R0, #1\n" 534 506 "STR R1, [R8,#0x68]\n" … … 536 508 "SUB R2, R3, #4\n" 537 509 "BL sub_FF303544\n" 538 //PATCH BEGIN TODO REMOVE??510 //PATCH BEGIN 539 511 "LDR R0, =0x8664\n" 540 512 "BL set_quality\n" -
trunk/platform/sx230hs/sub/101a/stubs_auto.S
r1328 r1331 220 220 STUB(FF3B60A8) 221 221 STUB(FF3B62E0) 222 STUB(FF87C4C0) -
trunk/platform/sx230hs/sub/101a/stubs_entry_2.S
r1328 r1331 19 19 NHSTUB(MakeAFScan, 0xff191018 ) 20 20 NHSTUB(MakeDirectory, 0xff026e44 ) 21 NHSTUB(ReadSDCard, 0xff171 f04 )21 NHSTUB(ReadSDCard, 0xff171d08) //0xff171f04 ) 22 22 NHSTUB(UnlockAndRefresh, 0xff0ad2f8 ) 23 23 NHSTUB(UpdateMBROnFlash, 0xff06c264 )
Note: See TracChangeset
for help on using the changeset viewer.