Changeset 974
- Timestamp:
- 11/15/10 18:44:04 (3 years ago)
- Location:
- trunk/platform/ixus900_sd900
- Files:
-
- 9 edited
-
kbd.c (modified) (23 diffs)
-
lib.c (modified) (4 diffs)
-
main.c (modified) (1 diff)
-
shooting.c (modified) (4 diffs)
-
sub/100c/boot.c (modified) (8 diffs)
-
sub/100c/capt_seq.c (modified) (3 diffs)
-
sub/100c/lib.c (modified) (3 diffs)
-
sub/100c/movie_rec.c (modified) (4 diffs)
-
sub/100c/stubs_min.S (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/platform/ixus900_sd900/kbd.c
r959 r974 38 38 39 39 static void __attribute__((noinline)) mykbd_task_proceed() { 40 while (physw_run) {41 _SleepTask(10);42 if (wrap_kbd_p1_f() == 1) {// Readout key state via camera function43 _kbd_p2_f();44 }40 while(physw_run) { 41 _SleepTask(10); 42 if(wrap_kbd_p1_f() == 1) { // Readout key state via camera function 43 _kbd_p2_f(); 44 } 45 45 } 46 46 } … … 65 65 #endif 66 66 67 for (i=0;i<NEW_SS/4;i++)67 for(i=0; i<NEW_SS/4; i++) 68 68 newstack[i]=0xdededede; 69 69 70 asm volatile (70 asm volatile( 71 71 "MOV SP, %0\n" 72 72 :: "r"(((char*)newstack)+NEW_SS) … … 119 119 #endif 120 120 121 if (kbd_process() == 0) {121 if(kbd_process() == 0) { 122 122 // nothing to override 123 123 #if CAM_FEATURE_FEATHER … … 139 139 140 140 remote_key = (physw_status[2] & USB_MASK)==USB_MASK; 141 if (remote_key)141 if(remote_key) 142 142 remote_count += 1; 143 else if (remote_count) {143 else if(remote_count) { 144 144 usb_power = remote_count; 145 145 remote_count = 0; 146 146 } 147 147 148 if (conf.remote_enable) {148 if(conf.remote_enable) { 149 149 physw_status[2] = physw_status[2] & ~(SD_READONLY_FLAG | USB_MASK); // override USB and SD-Card Readonly Bits 150 } 151 else 150 } else 152 151 physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG; // override SD-Card Readonly Bit 153 152 } … … 156 155 int x; 157 156 158 if (edge) return remote_key;157 if(edge) return remote_key; 159 158 x = usb_power; 160 159 usb_power = 0; … … 164 163 void kbd_key_press(long key) { 165 164 int i; 166 for (i=0;keymap[i].hackkey;i++) {167 if (keymap[i].hackkey == key) {165 for(i=0; keymap[i].hackkey; i++) { 166 if(keymap[i].hackkey == key) { 168 167 //kbd_mod_state &= ~keymap[i].canonkey; 169 168 kbd_mod_state[keymap[i].grp] &= ~keymap[i].canonkey; … … 175 174 void kbd_key_release(long key) { 176 175 int i; 177 for (i=0;keymap[i].hackkey;i++) {178 if (keymap[i].hackkey == key) {176 for(i=0; keymap[i].hackkey; i++) { 177 if(keymap[i].hackkey == key) { 179 178 //kbd_mod_state |= keymap[i].canonkey; 180 179 kbd_mod_state[keymap[i].grp] |= keymap[i].canonkey; … … 192 191 long kbd_is_key_pressed(long key) { 193 192 int i; 194 for (i=0;keymap[i].hackkey;i++) {195 if (keymap[i].hackkey == key) {193 for(i=0; keymap[i].hackkey; i++) { 194 if(keymap[i].hackkey == key) { 196 195 return ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0) ? 1:0; 197 196 } … … 202 201 long kbd_is_key_clicked(long key) { 203 202 int i; 204 for (i=0;keymap[i].hackkey;i++) {205 if (keymap[i].hackkey == key) {203 for(i=0; keymap[i].hackkey; i++) { 204 if(keymap[i].hackkey == key) { 206 205 return ((kbd_prev_state[keymap[i].grp] & keymap[i].canonkey) != 0) && ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0); 207 206 } … … 212 211 long kbd_get_pressed_key() { 213 212 int i; 214 for (i=0;keymap[i].hackkey;i++) {215 if ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0) {213 for(i=0; keymap[i].hackkey; i++) { 214 if((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0) { 216 215 return keymap[i].hackkey; 217 216 } … … 222 221 long kbd_get_clicked_key() { 223 222 int i; 224 for (i=0;keymap[i].hackkey;i++) {225 if (((kbd_prev_state[keymap[i].grp] & keymap[i].canonkey) != 0) && ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0)) {223 for(i=0; keymap[i].hackkey; i++) { 224 if(((kbd_prev_state[keymap[i].grp] & keymap[i].canonkey) != 0) && ((kbd_new_state[keymap[i].grp] & keymap[i].canonkey) == 0)) { 226 225 return keymap[i].hackkey; 227 226 } … … 239 238 240 239 key=kbd_get_clicked_key(); 241 if (key) {240 if(key) { 242 241 last_kbd_key = key; 243 242 press_count = 0; … … 245 244 return key; 246 245 } else { 247 if (last_kbd_key && kbd_is_key_pressed(last_kbd_key)) {246 if(last_kbd_key && kbd_is_key_pressed(last_kbd_key)) { 248 247 t = get_tick_count(); 249 if (t-last_kbd_time>((press_count)?175:500)) {248 if(t-last_kbd_time>((press_count)?175:500)) { 250 249 ++press_count; 251 250 last_kbd_time = t; … … 265 264 static long zoom_key_pressed = 0; 266 265 267 if (kbd_is_key_pressed(KEY_ZOOM_IN) && (mode_get()&MODE_MASK) == MODE_REC) {266 if(kbd_is_key_pressed(KEY_ZOOM_IN) && (mode_get()&MODE_MASK) == MODE_REC) { 268 267 get_property_case(PROPCASE_FOCUS_MODE, &v, 4); 269 if (v) {268 if(v) { 270 269 kbd_key_release_all(); 271 270 kbd_key_press(KEY_RIGHT); … … 274 273 } 275 274 } else { 276 if (zoom_key_pressed==KEY_ZOOM_IN) {275 if(zoom_key_pressed==KEY_ZOOM_IN) { 277 276 kbd_key_release(KEY_RIGHT); 278 277 zoom_key_pressed = 0; … … 280 279 } 281 280 } 282 if (kbd_is_key_pressed(KEY_ZOOM_OUT) && (mode_get()&MODE_MASK) == MODE_REC) {281 if(kbd_is_key_pressed(KEY_ZOOM_OUT) && (mode_get()&MODE_MASK) == MODE_REC) { 283 282 get_property_case(PROPCASE_FOCUS_MODE, &v, 4); 284 if (v) {283 if(v) { 285 284 kbd_key_release_all(); 286 285 kbd_key_press(KEY_LEFT); … … 289 288 } 290 289 } else { 291 if (zoom_key_pressed==KEY_ZOOM_OUT) {290 if(zoom_key_pressed==KEY_ZOOM_OUT) { 292 291 kbd_key_release(KEY_LEFT); 293 292 zoom_key_pressed = 0; … … 327 326 static int nMode; 328 327 329 asm volatile ("STMFD SP!, {R0-R11,LR}\n");// store R0-R11 and LR in stack328 asm volatile("STMFD SP!, {R0-R11,LR}\n"); // store R0-R11 and LR in stack 330 329 331 330 //debug_led(1); … … 333 332 tick2 = tick; 334 333 static long usb_physw[3]; 335 if (conf.synch_enable && conf.ricoh_ca1_mode && conf.remote_enable && (!shooting_get_drive_mode()|| (shooting_get_drive_mode()==1) || ((shooting_get_drive_mode()==2) && state_shooting_progress != SHOOTING_PROGRESS_PROCESSING)))336 //if (conf.synch_enable && conf.ricoh_ca1_mode && conf.remote_enable && (!shooting_get_drive_mode()|| ((shooting_get_drive_mode()==2) && state_shooting_progress != SHOOTING_PROGRESS_PROCESSING))) // synch mode enable so wait for USB to disconnect334 if(conf.synch_enable && conf.ricoh_ca1_mode && conf.remote_enable && (!shooting_get_drive_mode()|| (shooting_get_drive_mode()==1) || ((shooting_get_drive_mode()==2) && state_shooting_progress != SHOOTING_PROGRESS_PROCESSING))) 335 //if(conf.synch_enable && conf.ricoh_ca1_mode && conf.remote_enable && (!shooting_get_drive_mode()|| ((shooting_get_drive_mode()==2) && state_shooting_progress != SHOOTING_PROGRESS_PROCESSING))) // synch mode enable so wait for USB to disconnect 337 336 { 338 337 nMode = 0; … … 357 356 prev_usb_power=cur_usb_power; 358 357 } else { 359 if((int)get_tick_count()-tick2>1000) {debug_led(0);} 358 if((int)get_tick_count()-tick2>1000) { 359 debug_led(0); 360 } 360 361 } 361 362 } else { … … 364 365 if(nSW==10) { 365 366 if(tick3>50) shutter_int=1; 366 nSW=20;367 nSW=20; 367 368 } 368 369 if(nSW==0 && tick3>0) { 369 370 if(tick3<50) { 370 nSW=10;371 nSW=10; 371 372 } else { 372 373 if(tick3>1000) shutter_int=1; 373 nSW=20;374 nSW=20; 374 375 } 375 376 } … … 377 378 } 378 379 } 379 if((int)get_tick_count()-tick >= DELAY_TIMEOUT) { nSW=20;shutter_int=2; } 380 } 381 while(nSW<20); 380 if((int)get_tick_count()-tick >= DELAY_TIMEOUT) { 381 nSW=20; 382 shutter_int=2; 383 } 384 } while(nSW<20); 382 385 } 383 386 } // continuous-shooting mode … … 392 395 } 393 396 //while(((usb_physw[2] & USB_MASK)==USB_MASK) && ((int)get_tick_count()-tick < DELAY_TIMEOUT)); 394 while (((((usb_physw[2] & USB_MASK)!=USB_MASK) && (nMode==0)) || (((usb_physw[2] & USB_MASK)==USB_MASK) && (nMode==1))) && ((int)get_tick_count()-tick < DELAY_TIMEOUT));397 while(((((usb_physw[2] & USB_MASK)!=USB_MASK) && (nMode==0)) || (((usb_physw[2] & USB_MASK)==USB_MASK) && (nMode==1))) && ((int)get_tick_count()-tick < DELAY_TIMEOUT)); 395 398 } 396 399 } else { 397 400 do { 398 401 usb_physw[2] = 0; // makes sure USB bit is cleared. 399 _kbd_read_keys_r2(usb_physw); 402 _kbd_read_keys_r2(usb_physw); 403 } while((usb_physw[2]&USB_MASK) && ((int)get_tick_count()-tick < DELAY_TIMEOUT)); 404 } 405 } 406 407 if(conf.synch_delay_enable && conf.synch_delay_value>0) { // if delay is switched on and greater than 0 408 for(count1=0; count1<conf.synch_delay_value+(conf.synch_delay_coarse_value*1000); count1++) { // wait delay_value * 0.1ms 409 for(count2=0; count2<1400; count2++) { // delay approx. 0.1ms 400 410 } 401 while ((usb_physw[2]&USB_MASK) && ((int)get_tick_count()-tick < DELAY_TIMEOUT));402 }403 }404 405 if (conf.synch_delay_enable && conf.synch_delay_value>0) { // if delay is switched on and greater than 0406 for (count1=0;count1<conf.synch_delay_value+(conf.synch_delay_coarse_value*1000);count1++) { // wait delay_value * 0.1ms407 for (count2=0;count2<1400;count2++) { // delay approx. 0.1ms408 }409 411 } 410 412 } 411 413 412 414 //debug_led(0); 413 asm volatile ("LDMFD SP!, {R0-R11,LR}\n");// restore R0-R11 and LR from stack414 } 415 asm volatile("LDMFD SP!, {R0-R11,LR}\n"); // restore R0-R11 and LR from stack 416 } -
trunk/platform/ixus900_sd900/lib.c
r959 r974 12 12 void shutdown() { 13 13 volatile long *p = (void*)0xc02200a0; 14 asm (14 asm( 15 15 "MRS R1, CPSR\n" 16 16 "AND R0, R1, #0x80\n" … … 33 33 void debug_led(int state) { 34 34 volatile long *p=(void*)LED_PR; 35 if (state)35 if(state) 36 36 p[0]=0x46; 37 37 else … … 43 43 void ubasic_set_led(int led, int state, int bright) { 44 44 int leds[] = {12,16,4,8,4,0,4}; 45 if (led < 4 || led > 10 || led == 6) return;46 volatile long *p=(void*)LED_BASE + leds[led-4];47 if (state)45 if(led < 4 || led > 10 || led == 6) return; 46 volatile long *p=(void*)LED_BASE + leds[led-4]; 47 if(state) 48 48 p[0]=0x46; 49 49 else … … 52 52 53 53 #ifdef CAM_CONSOLE_LOG_ENABLED 54 void save_rom_log() {55 asm volatile(56 "MOV R0, #0\n"57 "MOV R1, #1\n"58 "STMDB SP!, {R0, R1, LR}\n"59 "MOV R0, SP\n"60 "MOV LR, PC\n" // ToDo: required ?61 "BL _GetLogToFile\n"62 "LDMIA SP!, {R0, R1, LR}\n"63 );64 }54 void save_rom_log() { 55 asm volatile( 56 "MOV R0, #0\n" 57 "MOV R1, #1\n" 58 "STMDB SP!, {R0, R1, LR}\n" 59 "MOV R0, SP\n" 60 "MOV LR, PC\n" // ToDo: required ? 61 "BL _GetLogToFile\n" 62 "LDMIA SP!, {R0, R1, LR}\n" 63 ); 64 } 65 65 #endif -
trunk/platform/ixus900_sd900/main.c
r959 r974 20 20 21 21 int get_focal_length(int zp) { 22 if (zp<0) return fl_tbl[0];23 else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1];22 if(zp<0) return fl_tbl[0]; 23 else if(zp>NUM_FL-1) return fl_tbl[NUM_FL-1]; 24 24 else return fl_tbl[zp]; 25 25 } 26 26 27 27 int get_zoom_x(int zp) { 28 if (zp<1) return 10;29 else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1]*10/fl_tbl[0];28 if(zp<1) return 10; 29 else if(zp>NUM_FL-1) return fl_tbl[NUM_FL-1]*10/fl_tbl[0]; 30 30 else return fl_tbl[zp]*10/fl_tbl[0]; 31 31 } -
trunk/platform/ixus900_sd900/shooting.c
r959 r974 1 #define PARAM_FILE_COUNTER 0x34 // ??? 0x34 , 0x37 count of available camera parameter 2 //#define PARAM_FILE_COUNTER 0x6D // 109, count of available camera parameter 1 #include "platform.h" 3 2 4 #include "platform.h" 3 // Camera Parameter of Image Filenumber 4 // wrong PARAM_FILE_COUNTER cause camera shutdown if RAW is enabled or wrong number in RAW filename (for example always CRW_0001.CRW) 5 // use "Debug Paramenters -> Debug data display -> Params" to verify 6 // 0x6D = 109, count of available Camera Parameter 7 #define PARAM_FILE_COUNTER 0x34 5 8 6 9 // PROPCASE_AV (68) … … 156 159 long i; 157 160 _GetPropertyCase(PROPCASE_TV, &tvv, sizeof(tvv)); 158 for (i=0;i<SS_SIZE;i++) {159 if (shutter_speeds_table[i].prop_id >= tvv)161 for(i=0; i<SS_SIZE; i++) { 162 if(shutter_speeds_table[i].prop_id >= tvv) 160 163 return (char*)shutter_speeds_table[i].name; 161 164 } … … 168 171 long i; 169 172 _GetPropertyCase(PROPCASE_AV, &avv, sizeof(avv)); 170 for (i=0;i<AS_SIZE;i++) {171 if (aperture_sizes_table[i].prop_id == avv)173 for(i=0; i<AS_SIZE; i++) { 174 if(aperture_sizes_table[i].prop_id == avv) 172 175 return (char*)aperture_sizes_table[i].name; 173 176 } … … 180 183 long i; 181 184 _GetPropertyCase(PROPCASE_ISO_MODE, &isov, sizeof(isov)); 182 for (i=0;i<ISO_SIZE;i++) {183 if (iso_table[i].prop_id == isov)185 for(i=0; i<ISO_SIZE; i++) { 186 if(iso_table[i].prop_id == isov) 184 187 return (char*)iso_table[i].name; 185 188 } -
trunk/platform/ixus900_sd900/sub/100c/boot.c
r959 r974 5 5 const char * const new_sa = &_end; 6 6 7 / * Ours stuff */7 // Ours stuff 8 8 extern long wrs_kernel_bss_start; 9 9 extern long wrs_kernel_bss_end; 10 extern void createHook (void *pNewTcb);11 extern void deleteHook (void *pTcb);10 extern void createHook(void *pNewTcb); 11 extern void deleteHook(void *pTcb); 12 12 13 13 void boot(); 14 14 15 / * "relocated" functions */15 // "relocated" functions 16 16 void __attribute__((naked,noinline)) h_usrInit(); 17 17 void __attribute__((naked,noinline)) h_usrKernelInit(); … … 30 30 31 31 // ROM:FF8100E4 , same as SD800, SD750 and other VxWorks 32 asm volatile (32 asm volatile( 33 33 "MRC p15, 0, R0,c1,c0\n" 34 34 "ORR R0, R0, #0x1000\n" … … 39 39 ); 40 40 41 for(i=0; i<canon_data_len/4;i++)41 for(i=0; i<canon_data_len/4; i++) 42 42 canon_data_dst[i]=canon_data_src[i]; 43 43 44 for(i=0; i<canon_bss_len/4;i++)44 for(i=0; i<canon_bss_len/4; i++) 45 45 canon_bss_start[i]=0; 46 46 47 47 // ROM:FF81015C , same as SD800, SD750 and other VxWorks 48 asm volatile (48 asm volatile( 49 49 "MRC p15, 0, R0,c1,c0\n" 50 50 "ORR R0, R0, #0x1000\n" … … 60 60 // ROM:FF81198C 61 61 void h_usrInit() { 62 asm volatile (62 asm volatile( 63 63 "STR LR, [SP,#-4]!\n" 64 64 "BL sub_FF811968\n" … … 76 76 // ROM:FF811744 # 77 77 void h_usrKernelInit() { 78 asm volatile (78 asm volatile( 79 79 "STMFD SP!, {R4,LR}\n" 80 80 "SUB SP, SP, #8\n" … … 114 114 void h_usrRoot() { 115 115 // ROM:FF811A60 116 asm volatile (116 asm volatile( 117 117 "STMFD SP!, {R4,R5,LR}\n" 118 118 "MOV R5, R0\n" 119 119 "MOV R4, R1\n" 120 "BL sub_FF8119D0\n" // lib_Init() ###120 "BL sub_FF8119D0\n" // lib_Init() 121 121 "MOV R1, R4\n" 122 122 "MOV R0, R5\n" 123 "BL sub_FFB59718\n" // memInit() ###123 "BL sub_FFB59718\n" // memInit() 124 124 "MOV R1, R4\n" 125 125 "MOV R0, R5\n" 126 "BL sub_FFB5A190\n" // memPartLibInit() ###127 "BL sub_FF8117E8\n" // nullsub_1() , required ? ###126 "BL sub_FFB5A190\n" // memPartLibInit() 127 //"BL sub_FF8117E8\n" // nullsub_1() 128 128 "BL sub_FF811704\n" 129 129 "BL sub_FF811A0C\n" // tty_Init() (console log) … … 131 131 "BL sub_FF8119F0\n" // env_Init() 132 132 "BL sub_FF811A38\n" // stdlog_Init() (logInit) 133 134 133 "BL sub_FF8119C4\n" // show_Init() 135 134 ); … … 140 139 drv_self_hide(); 141 140 142 // ROM:FF811AA0 , s earch for "B taskcreate_Startup" , same as SD800, SD750143 asm volatile (141 // ROM:FF811AA0 , same as SD800, SD750 142 asm volatile( 144 143 "LDMFD SP!, {R4,R5,LR}\n" 145 144 "B sub_FF81136C\n" // startup_Init() -
trunk/platform/ixus900_sd900/sub/100c/capt_seq.c
r959 r974 11 11 // ROM:FF992B24 task_CaptSeqTask() (SD800: ROM:FF998E1C) 12 12 void __attribute__((naked,noinline)) capt_seq_task() { 13 asm volatile (13 asm volatile( 14 14 "STMFD SP!, {R4,LR}\n" 15 15 "SUB SP, SP, #4\n" … … 187 187 // ROM:FF9925E4 188 188 void __attribute__((naked,noinline)) sub_FF9925E4_my(long p) { 189 asm volatile (189 asm volatile( 190 190 "STMFD SP!, {R4,LR}\n" 191 191 "LDR R4, [R0,#0xC]\n" … … 328 328 // ROM:FF995A50 329 329 void __attribute__((naked,noinline)) sub_FF995A50_my(long p) { 330 asm volatile (330 asm volatile( 331 331 "STMFD SP!, {R4,R5,LR}\n" 332 332 "MOV R4, R0\n" -
trunk/platform/ixus900_sd900/sub/100c/lib.c
r959 r974 49 49 char *hook_raw_image_addr() { 50 50 // return (char*)(0x1082C320); // 0x1082C000 + 0x320 does not work 51 return (char*) (*(int*)0x6BC4 ? 0x11BE3880 : 0x1082C320);// looks like SD900 has volatile RAW buffer like G7 / G9 / A65051 return (char*)(*(int*)0x6BC4 ? 0x11BE3880 : 0x1082C320); // looks like SD900 has volatile RAW buffer like G7 / G9 / A650 52 52 } 53 53 … … 124 124 void **fb = (void **)0x55BC; 125 125 unsigned char buff = *((unsigned char*)0x55D4); 126 if (buff == 0) {126 if(buff == 0) { 127 127 buff = 2; 128 } 129 else { 128 } else { 130 129 buff--; 131 130 } … … 203 202 } 204 203 205 long vid_get_bitmap_buffer_width() { return 360; } 206 207 long vid_get_bitmap_buffer_height() { return 240; } 204 long vid_get_bitmap_buffer_width() { 205 return 360; 206 } 207 208 long vid_get_bitmap_buffer_height() { 209 return 240; 210 } -
trunk/platform/ixus900_sd900/sub/100c/movie_rec.c
r959 r974 4 4 int *video_mode = &conf.video_mode; 5 5 6 long def_table1[9]= {0x2000,0x38D,0x788,0x5800,0x9C5,0x14B8,0x10000,0x1C6A,0x3C45};// ???7 long def_table2[9]= {0x1CCD,-0x2E1,-0x579,0x4F33,-0x7EB,-0xF0C,0xE666,-0x170A,-0x2BC6};// ???6 long def_table1[9]= {0x2000,0x38D,0x788,0x5800,0x9C5,0x14B8,0x10000,0x1C6A,0x3C45}; // ??? 7 long def_table2[9]= {0x1CCD,-0x2E1,-0x579,0x4F33,-0x7EB,-0xF0C,0xE666,-0x170A,-0x2BC6}; // ??? 8 8 9 9 long table1[9], table2[9]; … … 11 11 void change_video_tables(int a, int b) { 12 12 int i; 13 for (i=0;i<9;i++) { table1[i]=(def_table1[i]*a)/b; table2[i]=(def_table2[i]*a)/b; } 13 for(i=0; i<9; i++) { 14 table1[i]=(def_table1[i]*a)/b; 15 table2[i]=(def_table2[i]*a)/b; 16 } 14 17 } 15 18 16 19 //long CompressionRateTable[]={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1}; // from SD800 17 long CompressionRateTable[]= {0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1};// ??? ROM:FF98631820 long CompressionRateTable[]= {0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1}; // ??? ROM:FF986318 18 21 19 22 // ROM:FF984E84 task_MovieRecord() … … 106 109 // ROM:FF98565C 107 110 void __attribute__((naked,noinline)) sub_FF98565C_my() { 108 asm volatile(111 asm volatile( 109 112 "STMFD SP!, {R4-R11,LR}\n" 110 113 "LDR R5, =0x76410\n" … … 261 264 } 262 265 263 void __attribute__((naked,noinline)) sub_FF98650C_my() {266 void __attribute__((naked,noinline)) sub_FF98650C_my() { 264 267 asm volatile( 265 268 "CMP R2, #1\n" -
trunk/platform/ixus900_sd900/sub/100c/stubs_min.S
r959 r974 206 206 207 207 208 //DEF(zoom_status, 0x7DB0) // from SD800 ROM:FF9EAADC ? 209 DEF(zoom_status, 0x7F70) 210 211 212 //DEF(movie_status, 0x8BC00) // from SD800 ROM:FF98BE98 ? 213 DEF(movie_status, 0x76410) 214 208 DEF(zoom_status, 0x7F70) // OK 209 210 DEF(movie_status, 0x76410) // ROM:FF985994, OK 215 211 216 212 //DEF(some_flag_for_af_scan, 0x6AE0) // from SD800 ROM:FF99923C or ROM:FF99B358 ? 217 213 DEF(some_flag_for_af_scan, 0x6B8C) // ??? ROM:FF992F68 or ROM:FF99524C 218 219 214 220 215 // DEF(some_f_for_dng, 0x9A68) // ??? from SD800 ROM:FFAB182C ?
Note: See TracChangeset
for help on using the changeset viewer.