Changeset 1612


Ignore:
Timestamp:
01/26/12 04:42:01 (17 months ago)
Author:
philmoz
Message:

Updates for development trunk:

  • directory delete fix for DryOS R39 and higher (from release-1.0 changeset 1611)
  • cleanup and optimise gui_osd.c code
  • optimise common calls to time & localtime
  • (hopefully) fix occasional crash in file select module when refreshing directory
  • fix sprintf format strings in gui_space.c (thx BlueChip?)
Location:
trunk
Files:
130 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/core/dng.c

    r1569 r1612  
    401401{ 
    402402 short short_prop_val; 
    403  unsigned long datetime; 
     403 time_t datetime; 
    404404 struct tm *ttm; 
    405405 extern volatile long shutter_open_time; // defined in platform/generic/capt_seq.c 
  • trunk/core/games/gui_mastermind.c

    r1594 r1612  
    229229//------------------------------------------------------------------- 
    230230void gui_mastermind_draw(int enforce_redraw) { 
    231         unsigned long t; 
    232231    static struct tm *ttm; 
    233232 
    234233    draw_txt_string(camera_screen.ts_button_border/FONT_WIDTH+15, 0, lang_str(LANG_MENU_GAMES_MASTERMIND), MAKE_COLOR(COLOR_GREY, COLOR_WHITE)); 
    235234 
    236     t = time(NULL); 
    237     ttm = localtime(&t); 
     235    ttm = get_localtime(); 
    238236    sprintf(buf, "Time: %2u:%02u  Batt:%3d%%", ttm->tm_hour, ttm->tm_min, get_batt_perc()); 
    239237    draw_txt_string((camera_screen.width-camera_screen.ts_button_border)/FONT_WIDTH-2-1-1-9-2-5-4, camera_screen.height/FONT_HEIGHT-1, buf, TEXT_COLOR); 
  • trunk/core/games/gui_tetris.c

    r1594 r1612  
    216216    /* output game info */ 
    217217    char str_buf[100]; 
    218     unsigned long t; 
    219218    static struct tm *ttm; 
    220       sprintf(str_buf,"High:    %5d",game->stats.high); 
    221       draw_string(camera_screen.ts_button_border+150,35,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    222       sprintf(str_buf,"Points:  %5d",game->stats.score); 
    223       draw_string(camera_screen.ts_button_border+150,55,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    224       sprintf(str_buf,"Lines:   %5d",game->stats.lines); 
    225       draw_string(camera_screen.ts_button_border+150,75,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    226       sprintf(str_buf,"Level:   %5d",game->stats.level); 
    227       draw_string(camera_screen.ts_button_border+150,95,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    228      sprintf(str_buf,"UP  -> Pause"); 
    229      draw_string(camera_screen.ts_button_border+150,135,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    230      sprintf(str_buf,"SET -> Rotate"); 
    231      draw_string(camera_screen.ts_button_border+150,155,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    232      t = time(NULL); 
    233       ttm = localtime(&t); 
    234       sprintf(str_buf,"Time:    %2u:%02u", ttm->tm_hour, ttm->tm_min); 
    235      draw_string(camera_screen.ts_button_border+150,195,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    236      sprintf(str_buf,"Batt:     %3d%%", get_batt_perc()); 
    237      draw_string(camera_screen.ts_button_border+150,215,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     219    sprintf(str_buf,"High:    %5d",game->stats.high); 
     220    draw_string(camera_screen.ts_button_border+150,35,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     221    sprintf(str_buf,"Points:  %5d",game->stats.score); 
     222    draw_string(camera_screen.ts_button_border+150,55,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     223    sprintf(str_buf,"Lines:   %5d",game->stats.lines); 
     224    draw_string(camera_screen.ts_button_border+150,75,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     225    sprintf(str_buf,"Level:   %5d",game->stats.level); 
     226    draw_string(camera_screen.ts_button_border+150,95,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     227    sprintf(str_buf,"UP  -> Pause"); 
     228    draw_string(camera_screen.ts_button_border+150,135,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     229    sprintf(str_buf,"SET -> Rotate"); 
     230    draw_string(camera_screen.ts_button_border+150,155,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     231    ttm = get_localtime(); 
     232    sprintf(str_buf,"Time:    %2u:%02u", ttm->tm_hour, ttm->tm_min); 
     233    draw_string(camera_screen.ts_button_border+150,195,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
     234    sprintf(str_buf,"Batt:     %3d%%", get_batt_perc()); 
     235    draw_string(camera_screen.ts_button_border+150,215,str_buf, MAKE_COLOR(TETRIS_COLOR_BG, COLOR_BLACK)); 
    238236} 
    239237 
  • trunk/core/gui_calendar.c

    r1569 r1612  
    3636//------------------------------------------------------------------- 
    3737static void calendar_goto_today() { 
    38     unsigned long t; 
    3938    struct tm *ttm; 
    4039 
    41     t = time(NULL); 
    42     ttm = localtime(&t); 
     40    ttm = get_localtime(); 
    4341    cal_year = 1900+ttm->tm_year; 
    4442    cal_month = ttm->tm_mon; 
     
    136134    static char str[32]; 
    137135    int w, d, i; 
    138     unsigned long t; 
    139136    static struct tm *ttm; 
    140137 
    141     t = time(NULL); 
    142     ttm = localtime(&t); 
     138    ttm = get_localtime(); 
    143139    sprintf(str, " %2u %s %04u  %2u:%02u:%02u   ", ttm->tm_mday, lang_str(months[ttm->tm_mon]), 1900+ttm->tm_year, ttm->tm_hour, ttm->tm_min, ttm->tm_sec); 
    144140    draw_txt_string((camera_screen.ts_button_border/FONT_WIDTH)+8, 0, str, MAKE_COLOR(SCREEN_COLOR, COLOR_WHITE)); 
  • trunk/core/gui_fselect.c

    r1574 r1612  
    9393 
    9494static int gui_fselect_redraw;  // flag request fselect redraw: 0-no, 1-only filelist, 2-whole_redraw(incl.border) 
     95static int gui_fselect_readdir; // flag to force re-read of current directory 
    9596static char *fselect_title;     // Title of fselect window (could be different: Choose Text, Choose Script, etc) 
    9697 
     
    396397    max_dir_len = NAME_SIZE + SIZE_SIZE + SPACING; 
    397398    gui_fselect_read_dir(current_dir); 
    398     top = selected = head; 
    399399 
    400400    // Find selected file if it exists in list 
     
    417417    marked_operation = MARKED_OP_NONE; 
    418418    gui_fselect_redraw = 2; 
     419    gui_fselect_readdir = 0; 
    419420    gui_fselect_mode_old = gui_set_mode(&GUI_MODE_FSELECT_MODULE); 
    420421    gui_fselect_set_key_redraw(0); 
     
    444445    color cl_markered = ((mode_get()&MODE_MASK) == MODE_REC)?COLOR_YELLOW:0x66; 
    445446    color cl_marked, cl_selected; 
     447 
     448    if (gui_fselect_readdir) 
     449    { 
     450        gui_fselect_readdir = 0; 
     451        gui_fselect_read_dir(current_dir); 
     452    } 
    446453 
    447454        if ( enforce_redraw ) 
     
    582589        finished(); 
    583590        selected_file[0]=0; 
    584         gui_fselect_read_dir(current_dir); 
     591        gui_fselect_readdir = 1; 
    585592    } 
    586593    gui_fselect_redraw = 2; 
    587594} 
    588595 
    589 static void fselect_purge_cb(unsigned int btn) { 
    590  
    591    STD_DIR             *d,  *d2,  *d3,  *d4; 
    592    struct STD_dirent   *de, *de2, *de3, *de4; 
    593    struct fitem    *ptr, *ptr2; 
    594    char            sub_dir[20], sub_dir_search[20]; 
    595    char            selected_item[256]; 
    596    int             i, found=0; 
    597  
    598    if (btn==MBOX_BTN_YES) { 
    599        //If selected folder is DCIM (this is to purge all RAW files in any Canon folder) 
    600        if (selected->name[0] == 'D' && selected->name[1] == 'C' && selected->name[2] == 'I' && selected->name[3] == 'M') { 
    601            sprintf(current_dir+strlen(current_dir), "/%s", selected->name); 
    602            d=safe_opendir(current_dir); 
    603            while ((de=safe_readdir(d)) != NULL) {//Loop to find all Canon folders 
    604                if (de->d_name[0] != '.' && de->d_name[1] != '.') {//If item is not UpDir 
    605                    sprintf(sub_dir, "%s/%s", current_dir, de->d_name); 
    606                    d2=safe_opendir(sub_dir); 
    607                    while ((de2=safe_readdir(d2)) != NULL) {//Loop to find all the RAW files inside a Canon folder 
    608                        if (de2->d_name[0] == 'C' || de2->d_name[9] == 'C') {//If file is RAW (Either CRW/CR2 prefix or file extension) 
    609                            d3=safe_opendir(current_dir); 
    610                            while ((de3=safe_readdir(d3)) != NULL) {//Loop to find all Canon folders 
    611                                if (de3->d_name[0] != '.' && de3->d_name[1] != '.') {//If item is not UpDir 
    612                                    sprintf(sub_dir_search, "%s/%s", current_dir, de3->d_name); 
    613                                    d4=safe_opendir(sub_dir_search); 
    614                                    while ((de4=safe_readdir(d4)) != NULL) {//Loop to find a corresponding JPG file inside a Canon folder 
    615                                        if (de2->d_name[4] == de4->d_name[4] && de2->d_name[5] == de4->d_name[5] &&//If the four digits of the Canon number are the same 
    616                                            de2->d_name[6] == de4->d_name[6] && de2->d_name[7] == de4->d_name[7] && 
    617                                            de4->d_name[9] == 'J' && !(de4->d_name[0] == 'C' || de4->d_name[9] == 'C' || de4->d_name[0] == 0xE5)) {//If file is JPG, is not CRW/CR2 and is not a deleted item 
    618                                            started(); 
    619                                            found=1;//A JPG file with the same Canon number was found 
    620                                        }                                  
    621                                    } 
    622                                    safe_closedir(d4);                  
    623                                 
    624                            } 
    625                            safe_closedir(d3); 
    626                            //If no JPG found, delete RAW file 
    627                            if (found == 0) { 
    628                                sprintf(selected_item, "%s/%s", sub_dir, de2->d_name); 
    629                                remove(selected_item); 
    630                                finished(); 
    631                            } 
    632                            else { 
    633                                found=0; 
    634                                finished(); 
    635                            }                              
    636                        } 
    637                    } 
    638                    safe_closedir(d2); 
    639                } 
    640            } 
    641            safe_closedir(d); 
    642            i=strlen(current_dir); 
    643            while (current_dir[--i] != '/'); 
    644            current_dir[i]=0; 
    645        } 
    646        //If item is a Canon folder (this is to purge all RAW files inside a single Canon folder) 
    647        else if (selected->name[3] == 'C') { 
    648            sprintf(current_dir+strlen(current_dir), "/%s", selected->name); 
    649            d=safe_opendir(current_dir); 
    650            while ((de=safe_readdir(d)) != NULL) {//Loop to find all the RAW files inside the Canon folder  
    651                if (de->d_name[0] == 'C' || de->d_name[9] == 'C') {//If file is RAW (Either CRW/CR2 prefix or file extension) 
    652                    d2=safe_opendir(current_dir); 
    653                    while ((de2=safe_readdir(d2)) != NULL) {//Loop to find a corresponding JPG file inside the Canon folder 
    654                        if (de->d_name[4] == de2->d_name[4] && de->d_name[5] == de2->d_name[5] &&//If the four digits of the Canon number are the same 
    655                            de->d_name[6] == de2->d_name[6] && de->d_name[7] == de2->d_name[7] && 
    656                            de2->d_name[9] == 'J' && !(de2->d_name[0] == 'C' || de2->d_name[9] == 'C' || de2->d_name[0] == 0xE5)) {//If file is JPG and is not CRW/CR2 and is not a deleted item 
    657                            started(); 
    658                            found=1;//A JPG file with the same Canon number was found 
    659                        }                                  
    660                    } 
    661                    safe_closedir(d2);  
    662                    //If no JPG found, delete RAW file                 
    663                    if (found == 0) { 
    664                        sprintf(selected_item, "%s/%s", current_dir, de->d_name); 
    665                        remove(selected_item); 
    666                        finished(); 
    667                    } 
    668                    else { 
    669                        found=0; 
    670                        finished(); 
    671                    } 
    672                } 
    673            } 
    674            safe_closedir(d); 
    675            i=strlen(current_dir); 
    676            while (current_dir[--i] != '/'); 
    677            current_dir[i]=0; 
    678        } 
    679        else { 
    680            //If inside a Canon folder (files list) 
    681            for (ptr=head; ptr; ptr=ptr->next) {//Loop to find all the RAW files in the list 
    682                if ((ptr->name[0] == 'C' || ptr->name[9] == 'C') && !(ptr->marked)) {//If file is RAW (Either CRW/CR2 prefix or file extension) and is not marked 
    683                    for (ptr2=head; ptr2; ptr2=ptr2->next) {//Loop to find a corresponding JPG file in the list 
    684                        if (ptr->name[4] == ptr2->name[4] && ptr->name[5] == ptr2->name[5] &&//If the four digits of the Canon number are the same 
    685                            ptr->name[6] == ptr2->name[6] && ptr->name[7] == ptr2->name[7] && 
    686                            ptr2->name[9] == 'J' && !(ptr2->name[0] == 'C' || ptr2->name[9] == 'C')) {//If file is JPG and is not CRW/CR2 
    687                            started(); 
    688                            found=1; 
    689                        } 
    690                    } 
    691                    //If no JPG found, delete RAW file            
    692                    if (found == 0) { 
    693                        sprintf(selected_file, "%s/%s", current_dir, ptr->name); 
    694                        remove(selected_file); 
    695                        finished(); 
    696                    } 
    697                    else { 
    698                        found=0; 
    699                        finished(); 
    700                    } 
    701                } 
    702            } 
    703        } 
    704        gui_fselect_read_dir(current_dir); 
    705    } 
    706    gui_fselect_redraw = 2; 
     596static void fselect_purge_cb(unsigned int btn) 
     597{ 
     598    STD_DIR             *d,  *d2,  *d3,  *d4; 
     599    struct STD_dirent   *de, *de2, *de3, *de4; 
     600    struct fitem    *ptr, *ptr2; 
     601    char            sub_dir[20], sub_dir_search[20]; 
     602    char            selected_item[256]; 
     603    int             i, found=0; 
     604 
     605    if (btn==MBOX_BTN_YES) { 
     606        //If selected folder is DCIM (this is to purge all RAW files in any Canon folder) 
     607        if (selected->name[0] == 'D' && selected->name[1] == 'C' && selected->name[2] == 'I' && selected->name[3] == 'M') { 
     608            sprintf(current_dir+strlen(current_dir), "/%s", selected->name); 
     609            d=safe_opendir(current_dir); 
     610            while ((de=safe_readdir(d)) != NULL) {//Loop to find all Canon folders 
     611                if (de->d_name[0] != '.' && de->d_name[1] != '.') {//If item is not UpDir 
     612                    sprintf(sub_dir, "%s/%s", current_dir, de->d_name); 
     613                    d2=safe_opendir(sub_dir); 
     614                    while ((de2=safe_readdir(d2)) != NULL) {//Loop to find all the RAW files inside a Canon folder 
     615                        if (de2->d_name[0] == 'C' || de2->d_name[9] == 'C') {//If file is RAW (Either CRW/CR2 prefix or file extension) 
     616                            d3=safe_opendir(current_dir); 
     617                            while ((de3=safe_readdir(d3)) != NULL) {//Loop to find all Canon folders 
     618                                if (de3->d_name[0] != '.' && de3->d_name[1] != '.') {//If item is not UpDir 
     619                                    sprintf(sub_dir_search, "%s/%s", current_dir, de3->d_name); 
     620                                    d4=safe_opendir(sub_dir_search); 
     621                                    while ((de4=safe_readdir(d4)) != NULL) {//Loop to find a corresponding JPG file inside a Canon folder 
     622                                        if (de2->d_name[4] == de4->d_name[4] && de2->d_name[5] == de4->d_name[5] &&//If the four digits of the Canon number are the same 
     623                                            de2->d_name[6] == de4->d_name[6] && de2->d_name[7] == de4->d_name[7] && 
     624                                            de4->d_name[9] == 'J' && !(de4->d_name[0] == 'C' || de4->d_name[9] == 'C' || de4->d_name[0] == 0xE5)) {//If file is JPG, is not CRW/CR2 and is not a deleted item 
     625                                                started(); 
     626                                                found=1;//A JPG file with the same Canon number was found 
     627                                        }                                  
     628                                    } 
     629                                    safe_closedir(d4);                  
     630                                 
     631                            } 
     632                            safe_closedir(d3); 
     633                            //If no JPG found, delete RAW file 
     634                            if (found == 0) { 
     635                                sprintf(selected_item, "%s/%s", sub_dir, de2->d_name); 
     636                                remove(selected_item); 
     637                                finished(); 
     638                            } 
     639                            else { 
     640                                found=0; 
     641                                finished(); 
     642                            }                              
     643                        } 
     644                    } 
     645                    safe_closedir(d2); 
     646                } 
     647            } 
     648            safe_closedir(d); 
     649            i=strlen(current_dir); 
     650            while (current_dir[--i] != '/'); 
     651            current_dir[i]=0; 
     652        } 
     653        //If item is a Canon folder (this is to purge all RAW files inside a single Canon folder) 
     654        else if (selected->name[3] == 'C') { 
     655            sprintf(current_dir+strlen(current_dir), "/%s", selected->name); 
     656            d=safe_opendir(current_dir); 
     657            while ((de=safe_readdir(d)) != NULL) {//Loop to find all the RAW files inside the Canon folder  
     658                if (de->d_name[0] == 'C' || de->d_name[9] == 'C') {//If file is RAW (Either CRW/CR2 prefix or file extension) 
     659                    d2=safe_opendir(current_dir); 
     660                    while ((de2=safe_readdir(d2)) != NULL) {//Loop to find a corresponding JPG file inside the Canon folder 
     661                        if (de->d_name[4] == de2->d_name[4] && de->d_name[5] == de2->d_name[5] &&//If the four digits of the Canon number are the same 
     662                            de->d_name[6] == de2->d_name[6] && de->d_name[7] == de2->d_name[7] && 
     663                            de2->d_name[9] == 'J' && !(de2->d_name[0] == 'C' || de2->d_name[9] == 'C' || de2->d_name[0] == 0xE5)) {//If file is JPG and is not CRW/CR2 and is not a deleted item 
     664                                started(); 
     665                                found=1;//A JPG file with the same Canon number was found 
     666                        }                                  
     667                    } 
     668                    safe_closedir(d2);  
     669                    //If no JPG found, delete RAW file                 
     670                    if (found == 0) { 
     671                        sprintf(selected_item, "%s/%s", current_dir, de->d_name); 
     672                        remove(selected_item); 
     673                        finished(); 
     674                    } 
     675                    else { 
     676                        found=0; 
     677                        finished(); 
     678                    } 
     679                } 
     680            } 
     681            safe_closedir(d); 
     682            i=strlen(current_dir); 
     683            while (current_dir[--i] != '/'); 
     684            current_dir[i]=0; 
     685        } 
     686        else { 
     687            //If inside a Canon folder (files list) 
     688            for (ptr=head; ptr; ptr=ptr->next) {//Loop to find all the RAW files in the list 
     689                if ((ptr->name[0] == 'C' || ptr->name[9] == 'C') && !(ptr->marked)) {//If file is RAW (Either CRW/CR2 prefix or file extension) and is not marked 
     690                    for (ptr2=head; ptr2; ptr2=ptr2->next) {//Loop to find a corresponding JPG file in the list 
     691                        if (ptr->name[4] == ptr2->name[4] && ptr->name[5] == ptr2->name[5] &&//If the four digits of the Canon number are the same 
     692                            ptr->name[6] == ptr2->name[6] && ptr->name[7] == ptr2->name[7] && 
     693                            ptr2->name[9] == 'J' && !(ptr2->name[0] == 'C' || ptr2->name[9] == 'C')) {//If file is JPG and is not CRW/CR2 
     694                                started(); 
     695                                found=1; 
     696                        } 
     697                    } 
     698                    //If no JPG found, delete RAW file            
     699                    if (found == 0) { 
     700                        sprintf(selected_file, "%s/%s", current_dir, ptr->name); 
     701                        remove(selected_file); 
     702                        finished(); 
     703                    } 
     704                    else { 
     705                        found=0; 
     706                        finished(); 
     707                    } 
     708                } 
     709            } 
     710        } 
     711        gui_fselect_readdir = 1; 
     712    } 
     713    gui_fselect_redraw = 2; 
    707714} 
    708715 
     
    737744        current_dir[i]=0; 
    738745        selected_file[0]=0; 
    739         gui_fselect_read_dir(current_dir); 
     746        gui_fselect_readdir = 1; 
    740747    } 
    741748    gui_fselect_redraw = 2; 
     749} 
     750 
     751static void confirm_delete_directory() 
     752{ 
     753    if (selected->attr & DOS_ATTR_DIRECTORY) 
     754        if (selected->name[0] != '.' || selected->name[1] != '.' || selected->name[2]!=0) 
     755            gui_mbox_init(LANG_BROWSER_ERASE_DIR_TITLE, LANG_BROWSER_ERASE_DIR_TEXT, 
     756                          MBOX_TEXT_CENTER|MBOX_BTN_YES_NO|MBOX_DEF_BTN2, fselect_delete_folder_cb); 
    742757} 
    743758 
     
    871886            } 
    872887        } 
    873         gui_fselect_read_dir(current_dir); 
     888        gui_fselect_readdir = 1; 
    874889    } 
    875890    gui_fselect_redraw = 2; 
     
    927942        selected_file[0]=0; 
    928943    } 
    929     gui_fselect_read_dir(current_dir); 
     944    gui_fselect_readdir = 1; 
    930945    gui_fselect_redraw = 2; 
    931946} 
     
    9901005      } 
    9911006  librawop_p->raw_merge_end(); 
    992   gui_fselect_read_dir(current_dir); 
     1007  gui_fselect_readdir = 1; 
    9931008 } 
    9941009} 
     
    10271042    } 
    10281043    free(raw_subtract_from); 
    1029     gui_fselect_read_dir(current_dir); 
     1044    gui_fselect_readdir = 1; 
    10301045    gui_fselect_redraw = 2; 
    10311046} 
     
    10761091   module_convert_dng_to_chdk_raw(selected_file); 
    10771092 } 
    1078   gui_fselect_read_dir(current_dir); 
     1093  gui_fselect_readdir = 1; 
    10791094} 
    10801095 
     
    11101125                sprintf(selected_file,"%s/%s",current_dir,name); 
    11111126                mkdir(selected_file);            
    1112                 gui_fselect_read_dir(current_dir); 
     1127        gui_fselect_readdir = 1; 
    11131128            gui_fselect_redraw = 2; 
    11141129        } 
     
    11221137                sprintf(newname,"%s/%s",current_dir,name); 
    11231138                rename(selected_file,newname); 
    1124                 gui_fselect_read_dir(current_dir); 
     1139        gui_fselect_readdir = 1; 
    11251140            gui_fselect_redraw = 2; 
    11261141        } 
     
    11341149            break; 
    11351150        case MPOPUP_RMDIR: 
    1136                          gui_mbox_init( LANG_ERROR, (int)"Not implemented yet", MBOX_FUNC_RESTORE|MBOX_TEXT_LEFT, NULL); 
     1151            confirm_delete_directory(); 
    11371152            break; 
    11381153        case MPOPUP_RENAME: 
     
    13461361                        sprintf(current_dir+i, "/%s", selected->name); 
    13471362                    } 
    1348                     gui_fselect_read_dir(current_dir); 
     1363                    gui_fselect_readdir = 1; 
    13491364                    gui_fselect_redraw = 1; 
    13501365                } else  { 
     
    13681383        case KEY_ERASE: 
    13691384        case KEY_DISPLAY: 
    1370             if (selected && selected->attr != 0xFF) { 
    1371                 if (selected->attr & DOS_ATTR_DIRECTORY) { 
    1372                     if (selected->name[0]!='.' || selected->name[1]!='.' || selected->name[2]!=0) 
    1373                         gui_mbox_init(LANG_BROWSER_ERASE_DIR_TITLE, LANG_BROWSER_ERASE_DIR_TEXT, 
    1374                                       MBOX_TEXT_CENTER|MBOX_BTN_YES_NO|MBOX_DEF_BTN2, fselect_delete_folder_cb); 
    1375                 } else { 
     1385            if (selected && selected->attr != 0xFF) 
     1386            { 
     1387                if (selected->attr & DOS_ATTR_DIRECTORY) 
     1388                { 
     1389                    confirm_delete_directory(); 
     1390                } else 
     1391                { 
    13761392                    gui_mbox_init(LANG_BROWSER_DELETE_FILE_TITLE, LANG_BROWSER_DELETE_FILE_TEXT, 
    13771393                                  MBOX_TEXT_CENTER|MBOX_BTN_YES_NO|MBOX_DEF_BTN2, fselect_delete_file_cb); 
  • trunk/core/gui_osd.c

    r1602 r1612  
    2121void gui_osd_draw(int enforce_redraw); 
    2222 
    23 gui_handler layoutGuiHandler =  { GUI_MODE_OSD,     gui_osd_draw,   gui_osd_kbd_process,    gui_default_kbd_process_menu_btn, 0,                                    GUI_MODE_MAGICNUM };    // THIS IS OSD LAYOUT EDITOR 
     23gui_handler layoutGuiHandler =  { GUI_MODE_OSD, gui_osd_draw, gui_osd_kbd_process, gui_default_kbd_process_menu_btn, 0, GUI_MODE_MAGICNUM };    // THIS IS OSD LAYOUT EDITOR 
    2424 
    2525//------------------------------------------------------------------- 
     
    3333    {LANG_OSD_LAYOUT_EDITOR_HISTO,      &conf.histo_pos,        {HISTO_WIDTH+2, HISTO_HEIGHT}   }, 
    3434    {LANG_OSD_LAYOUT_EDITOR_DOF_CALC,   &conf.dof_pos,          {23*FONT_WIDTH, 2*FONT_HEIGHT}  }, 
    35     {LANG_OSD_LAYOUT_EDITOR_STATES,     &conf.mode_state_pos,   {12*FONT_WIDTH, 4*FONT_HEIGHT}   }, 
    36     {LANG_OSD_LAYOUT_EDITOR_RAW,     &conf.mode_raw_pos,   {7*FONT_WIDTH, FONT_HEIGHT}   }, 
     35    {LANG_OSD_LAYOUT_EDITOR_STATES,     &conf.mode_state_pos,   {12*FONT_WIDTH, 4*FONT_HEIGHT}  }, 
     36    {LANG_OSD_LAYOUT_EDITOR_RAW,        &conf.mode_raw_pos,     {7*FONT_WIDTH, FONT_HEIGHT}     }, 
    3737    {LANG_OSD_LAYOUT_EDITOR_MISC,       &conf.values_pos,       {9*FONT_WIDTH, 9*FONT_HEIGHT}   }, 
    3838    {LANG_OSD_LAYOUT_EDITOR_BAT_ICON,   &conf.batt_icon_pos,    {28, 12}                        }, 
    39     {LANG_OSD_LAYOUT_EDITOR_SPACE_ICON,   &conf.space_icon_pos,    {23, 15}                        }, 
    40     {LANG_OSD_LAYOUT_EDITOR_SPACE_ICON,   &conf.space_ver_pos,    {3, 50}                        }, 
    41     {LANG_OSD_LAYOUT_EDITOR_SPACE_ICON,   &conf.space_hor_pos,    {50, 3}                        }, 
     39    {LANG_OSD_LAYOUT_EDITOR_SPACE_ICON, &conf.space_icon_pos,   {23, 15}                        }, 
     40    {LANG_OSD_LAYOUT_EDITOR_SPACE_ICON, &conf.space_ver_pos,    {3, 50}                         }, 
     41    {LANG_OSD_LAYOUT_EDITOR_SPACE_ICON, &conf.space_hor_pos,    {50, 3}                         }, 
    4242    {LANG_OSD_LAYOUT_EDITOR_BAT_TEXT,   &conf.batt_txt_pos,     {5*FONT_WIDTH, FONT_HEIGHT}     }, 
    43     {LANG_OSD_LAYOUT_EDITOR_SPACE_TEXT,   &conf.space_txt_pos,     {5*FONT_WIDTH, FONT_HEIGHT}     }, 
     43    {LANG_OSD_LAYOUT_EDITOR_SPACE_TEXT, &conf.space_txt_pos,    {5*FONT_WIDTH, FONT_HEIGHT}     }, 
    4444    {LANG_OSD_LAYOUT_EDITOR_CLOCK,      &conf.clock_pos,        {5*FONT_WIDTH, FONT_HEIGHT}     }, 
    45     {LANG_OSD_LAYOUT_EDITOR_TEMP,      &conf.temp_pos,        {9*FONT_WIDTH, FONT_HEIGHT}     }, 
    46     {LANG_OSD_LAYOUT_EDITOR_VIDEO,     &conf.mode_video_pos,   {9*FONT_WIDTH, 4*FONT_HEIGHT}   }, 
    47     {LANG_OSD_LAYOUT_EDITOR_EV,     &conf.mode_ev_pos,   {12*FONT_WIDTH, FONT_HEIGHT}   }, 
     45    {LANG_OSD_LAYOUT_EDITOR_TEMP,       &conf.temp_pos,         {9*FONT_WIDTH, FONT_HEIGHT}     }, 
     46    {LANG_OSD_LAYOUT_EDITOR_VIDEO,      &conf.mode_video_pos,   {9*FONT_WIDTH, 4*FONT_HEIGHT}   }, 
     47    {LANG_OSD_LAYOUT_EDITOR_EV,         &conf.mode_ev_pos,      {12*FONT_WIDTH, FONT_HEIGHT}    }, 
    4848#if CAM_EV_IN_VIDEO 
    49     {LANG_OSD_LAYOUT_EDITOR_EV_VIDEO,         &conf.ev_video_pos,     {70,24}}, 
     49    {LANG_OSD_LAYOUT_EDITOR_EV_VIDEO,   &conf.ev_video_pos,     {70, 24}}, 
    5050#endif 
    51     {LANG_OSD_LAYOUT_EDITOR_USB_INFO,   &conf.usb_info_pos,    {31, 14}},   
     51    {LANG_OSD_LAYOUT_EDITOR_USB_INFO,   &conf.usb_info_pos,     {31, 14}},   
    5252    {0} 
    5353}; 
     
    5555static int curr_item; 
    5656static char osd_buf[64]; 
    57 static char osd_buf2[10]; 
    58 static char osd_buf3[10]; 
    59 static char osd_buf4[10]; 
    6057 
    6158static int step; 
     
    6764#define OSD_MISC     1 
    6865 
    69 unsigned char clip8(signed short x){ if (x<0) x=0; else if (x>255) x=255; return x; } 
    70  
    71 //------------------------------------------------------------------- 
    72 void gui_osd_init() { 
     66unsigned char clip8(signed short x) { if (x<0) x=0; else if (x>255) x=255; return x; } 
     67 
     68//------------------------------------------------------------------- 
     69void gui_osd_init() 
     70{ 
    7371    osd_to_draw = 1; 
    7472    curr_item = 0; 
     
    7876 
    7977//------------------------------------------------------------------- 
    80 void gui_draw_osd_le(int arg) { 
     78void gui_draw_osd_le(int arg) 
     79{ 
    8180    gui_set_mode(&layoutGuiHandler); 
    8281    gui_osd_init(); 
     
    8483 
    8584//------------------------------------------------------------------- 
    86 void gui_osd_draw(int enforce_redraw) { 
    87     if (osd_to_draw) { 
     85void gui_osd_draw(int enforce_redraw) 
     86{ 
     87    if (osd_to_draw) 
     88    { 
    8889        int i; 
    8990        draw_restore(); 
     
    9495        gui_osd_draw_state(); 
    9596        gui_osd_draw_raw_info(); 
    96         gui_osd_draw_values(); 
     97        gui_osd_draw_values(2); 
    9798        gui_osd_draw_clock(0,0,0); 
    9899        gui_osd_draw_temp(); 
     
    101102      #endif 
    102103        gui_usb_draw_osd(); 
    103         for (i=1; i<=2; ++i) { 
     104        for (i=1; i<=2; ++i) 
     105        { 
    104106            draw_rect((osd[curr_item].pos->x>=i)?osd[curr_item].pos->x-i:0, (osd[curr_item].pos->y>=i)?osd[curr_item].pos->y-i:0,  
    105107                      osd[curr_item].pos->x+osd[curr_item].size.x+i-1, osd[curr_item].pos->y+osd[curr_item].size.y+i-1, 
     
    114116 
    115117//------------------------------------------------------------------- 
    116 void gui_osd_kbd_process() { 
    117     switch (kbd_get_autoclicked_key()) { 
     118void gui_osd_kbd_process() 
     119{ 
     120    switch (kbd_get_autoclicked_key()) 
     121    { 
    118122    case KEY_LEFT: 
    119         if (osd[curr_item].pos->x > 0) { 
     123        if (osd[curr_item].pos->x > 0) 
     124        { 
    120125            osd[curr_item].pos->x-=(osd[curr_item].pos->x>=step)?step:osd[curr_item].pos->x; 
    121126            osd_to_draw = 1; 
     
    123128        break; 
    124129    case KEY_RIGHT: 
    125         if (osd[curr_item].pos->x < camera_screen.width-osd[curr_item].size.x) { 
     130        if (osd[curr_item].pos->x < camera_screen.width-osd[curr_item].size.x) 
     131        { 
    126132            osd[curr_item].pos->x+=(camera_screen.width-osd[curr_item].size.x-osd[curr_item].pos->x>step)?step:camera_screen.width-osd[curr_item].size.x-osd[curr_item].pos->x; 
    127133            osd_to_draw = 1; 
     
    130136        break; 
    131137    case KEY_UP: 
    132         if (osd[curr_item].pos->y > 0) { 
     138        if (osd[curr_item].pos->y > 0) 
     139        { 
    133140            osd[curr_item].pos->y-=(osd[curr_item].pos->y>=step)?step:osd[curr_item].pos->y; 
    134141            osd_to_draw = 1; 
     
    136143        break; 
    137144    case KEY_DOWN: 
    138         if (osd[curr_item].pos->y < camera_screen.height-osd[curr_item].size.y) { 
     145        if (osd[curr_item].pos->y < camera_screen.height-osd[curr_item].size.y) 
     146        { 
    139147            osd[curr_item].pos->y+=(camera_screen.height-osd[curr_item].size.y-osd[curr_item].pos->y>step)?step:camera_screen.height-osd[curr_item].size.y-osd[curr_item].pos->y; 
    140148            osd_to_draw = 1; 
     
    156164 
    157165//------------------------------------------------------------------- 
    158 static void sprintf_dist(char *buf, float dist) { 
    159 // length of printed string is always 4 
    160     if (dist<=0 || dist>=MAX_DIST) { 
     166static void print_dist(char *buf, float dist, int max_dist) 
     167{ 
     168    // length of printed string is always 4 
     169    if (dist<=0 || dist>=max_dist) { 
    161170        sprintf(buf, " inf"); 
    162171    } else if (dist<1000) { 
     
    171180} 
    172181 
    173 static void sprintf_dist_hyp(char *buf, float dist) { 
    174 // length of printed string is always 4 
    175     if (dist<=0 || dist>MAX_DIST_HYPER_FOCAL) { 
    176         sprintf(buf, " inf"); 
    177     } else if (dist<1000) { 
    178         sprintf(buf, ".%03d", (int)dist); 
    179     } else if (dist<10000) { 
    180         sprintf(buf, "%d.%02d", (int)(dist/1000), (int)(dist/10)%100); 
    181     } else if (dist<100000) { 
    182         sprintf(buf, "%02d.%d", (int)(dist/1000), (int)(dist/100)%10); 
    183     } else { 
    184         sprintf(buf, "%4d", (int)(dist/1000)); 
    185     } 
     182static void sprintf_dist(char *buf, float dist) 
     183{ 
     184    print_dist(buf, dist, MAX_DIST); 
     185} 
     186 
     187static void sprintf_dist_hyp(char *buf, float dist) 
     188{ 
     189    print_dist(buf, dist, MAX_DIST_HYPER_FOCAL); 
    186190} 
    187191 
    188192static void sprintf_canon_values(char *buf, short dist)  
    189193{ 
    190 short v=((dist<0)?-dist:dist);   
    191 sprintf(buf, "%s%d.%02d", ((dist<0)?"-":""), v/96, v%96); 
    192 } 
    193  
    194  
    195 //------------------------------------------------------------------- 
    196  
    197 void gui_osd_calc_dof() { 
    198      
     194    short v=((dist<0)?-dist:dist);       
     195    sprintf(buf, "%s%d.%02d", ((dist<0)?"-":""), v/96, v%96); 
     196} 
     197 
     198 
     199//------------------------------------------------------------------- 
     200void gui_osd_calc_dof() 
     201{ 
    199202    float av, av_min, c_of_c, fl, v, v1, m; 
    200203    //long lfpfl=lens_get_focus_pos_fl(); 
     
    254257} 
    255258 
    256 void gui_osd_calc_expo_param() { 
    257       
     259void gui_osd_calc_expo_param() 
     260{ 
    258261    expo.av96=shooting_get_av96(); 
    259262    expo.tv96=shooting_get_tv96(); 
     
    271274} 
    272275 
    273 void gui_osd_draw_dof() { 
    274  
     276void gui_osd_draw_dof() 
     277{ 
    275278    //gui_osd_calc_dof(); 
    276279    //strcpy(osd_buf, ""); 
     
    291294    sprintf_dist_hyp(osd_buf+j+1, dof.hyperfocal_distance); 
    292295    draw_string(conf.dof_pos.x+8*FONT_WIDTH, conf.dof_pos.y+FONT_HEIGHT, osd_buf, conf.osd_color); 
    293     
    294296} 
    295297 
    296298static short n, m; //string number 
    297299 
    298 void gui_print_osd_state_string_int(const char * title, int value) { 
    299   strcpy(osd_buf, title); 
    300   sprintf(osd_buf+strlen(osd_buf), "%d", value); 
    301   sprintf(osd_buf+strlen(osd_buf), "%12s", ""); 
    302   osd_buf[12]=0; 
    303   draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, osd_buf, conf.osd_color_override); 
    304   n+=FONT_HEIGHT; 
    305 } 
    306  
    307 void gui_print_osd_state_string_chr(const char *title, const char *value) { 
    308   strcpy(osd_buf, title); 
    309   sprintf(osd_buf+strlen(osd_buf), "%s", value); 
    310   sprintf(osd_buf+strlen(osd_buf), "%12s", ""); 
    311   osd_buf[12]=0;         
    312   draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, osd_buf, conf.osd_color_override); 
    313   n+=FONT_HEIGHT; 
    314 } 
    315  
    316 void gui_print_osd_state_string_float(const char * title, const char * fmt, int divisor, int value) { 
    317   strcpy(osd_buf, title); 
    318   sprintf(osd_buf+strlen(osd_buf), fmt, (int)(value/divisor), (int)(value%divisor)); 
    319   sprintf(osd_buf+strlen(osd_buf), "%12s", ""); 
    320   osd_buf[12]=0;         
    321   draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, osd_buf, conf.osd_color_override); 
    322   n+=FONT_HEIGHT; 
    323 } 
    324  
    325 void gui_print_osd_misc_string_int(const char * title, int value) { 
    326   strcpy(osd_buf, title); 
    327   sprintf(osd_buf+strlen(osd_buf), "%d", value); 
    328   sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
    329   osd_buf[9]=0; 
    330   draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
    331   m+=FONT_HEIGHT; 
     300void gui_print_osd_state_string_int(const char * title, int value) 
     301{ 
     302    sprintf(osd_buf, "%s%-12d", title, value); 
     303    osd_buf[12]=0;  // limit length to 12 max 
     304    draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, osd_buf, conf.osd_color_override); 
     305    n+=FONT_HEIGHT; 
     306} 
     307 
     308void gui_print_osd_state_string_chr(const char *title, const char *value) 
     309{ 
     310    sprintf(osd_buf, "%s%-12s", title, value); 
     311    osd_buf[12]=0;  // limit length to 12 max 
     312    draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, osd_buf, conf.osd_color_override); 
     313    n+=FONT_HEIGHT; 
     314} 
     315 
     316void gui_print_osd_state_string_float(const char * title, const char * fmt, int divisor, int value) 
     317{ 
     318    strcpy(osd_buf, title); 
     319    sprintf(osd_buf+strlen(osd_buf), fmt, (int)(value/divisor), (int)(value%divisor)); 
     320    sprintf(osd_buf+strlen(osd_buf), "%12s", ""); 
     321    osd_buf[12]=0;  // limit length to 12 max 
     322    draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, osd_buf, conf.osd_color_override); 
     323    n+=FONT_HEIGHT; 
     324} 
     325 
     326void gui_print_osd_misc_string_int(const char * title, int value) 
     327{ 
     328    sprintf(osd_buf, "%s%-9d", title, value); 
     329    osd_buf[9]=0;  // limit length to 9 max 
     330    draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
     331    m+=FONT_HEIGHT; 
    332332} 
    333333 
    334334/* 
    335 void gui_print_osd_misc_string_float(const char * title, const char * fmt, int divisor, int value) { 
    336   char s[16];    
    337   strcpy(osd_buf, title); 
    338   sprintf(s, fmt, (int)(value/divisor), (int)(value%divisor)); 
    339   sprintf(osd_buf+strlen(osd_buf), "%6s", s); 
    340   //osd_buf[8]=0;        
    341   draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
    342   m+=FONT_HEIGHT; 
     335void gui_print_osd_misc_string_float(const char * title, const char * fmt, int divisor, int value) 
     336{ 
     337char s[16];      
     338strcpy(osd_buf, title); 
     339sprintf(s, fmt, (int)(value/divisor), (int)(value%divisor)); 
     340sprintf(osd_buf+strlen(osd_buf), "%6s", s); 
     341//osd_buf[8]=0;          
     342draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
     343m+=FONT_HEIGHT; 
    343344} 
    344345*/ 
    345346 
    346 void gui_print_osd_misc_string_float(const char * title, const char * fmt, int divisor, int value) { 
    347   strcpy(osd_buf, title); 
    348   sprintf(osd_buf+strlen(osd_buf), fmt, (int)(value/divisor), (int)(value%divisor)); 
    349   sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
    350   osd_buf[9]=0; 
    351   draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
    352   m+=FONT_HEIGHT; 
    353 } 
    354  
    355  
    356 void gui_print_osd_misc_string_dist(const char * title, int value) { 
    357   strcpy(osd_buf, title); 
    358   sprintf_dist(osd_buf+strlen(osd_buf), (float)value); 
    359   sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
    360   osd_buf[9]=0; 
    361   draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
    362   m+=FONT_HEIGHT; 
    363 } 
    364  
    365 void gui_print_osd_misc_string_canon_values(const char * title, short value) { 
    366   strcpy(osd_buf, title); 
    367   sprintf_canon_values(osd_buf+strlen(osd_buf), value); 
    368   sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
    369   osd_buf[9]=0; 
    370   draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
    371   m+=FONT_HEIGHT; 
     347void gui_print_osd_misc_string_float(const char * title, const char * fmt, int divisor, int value) 
     348{ 
     349    strcpy(osd_buf, title); 
     350    sprintf(osd_buf+strlen(osd_buf), fmt, (int)(value/divisor), (int)(value%divisor)); 
     351    sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
     352    osd_buf[9]=0;  // limit length to 9 max 
     353    draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
     354    m+=FONT_HEIGHT; 
     355} 
     356 
     357 
     358void gui_print_osd_misc_string_dist(const char * title, int value) 
     359{ 
     360    strcpy(osd_buf, title); 
     361    sprintf_dist(osd_buf+strlen(osd_buf), (float)value); 
     362    sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
     363    osd_buf[9]=0;  // limit length to 9 max 
     364    draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
     365    m+=FONT_HEIGHT; 
     366} 
     367 
     368void gui_print_osd_misc_string_canon_values(const char * title, short value) 
     369{ 
     370    strcpy(osd_buf, title); 
     371    sprintf_canon_values(osd_buf+strlen(osd_buf), value); 
     372    sprintf(osd_buf+strlen(osd_buf), "%9s", ""); 
     373    osd_buf[9]=0;  // limit length to 9 max 
     374    draw_string(conf.values_pos.x, conf.values_pos.y+m, osd_buf, conf.osd_color); 
     375    m+=FONT_HEIGHT; 
    372376} 
    373377 
    374378//------------------------------------------------------------------- 
    375379void gui_osd_draw_raw_info()  
    376     { 
     380{ 
    377381    static int b; 
    378382    if (is_raw_enabled()) 
     
    380384        if (conf.show_remaining_raw)  
    381385        { 
    382             int raw_count=GetRawCount();   
    383             if (raw_count>conf.remaining_raw_treshold) 
    384             { 
    385                 sprintf(osd_buf, "%s:%3d", (conf.dng_raw)?"DNG":"RAW", raw_count); 
    386                 draw_string(conf.mode_raw_pos.x, conf.mode_raw_pos.y, osd_buf, conf.osd_color); 
    387             } 
    388             else 
    389             { 
    390                 sprintf(osd_buf, "%s:%3d", (conf.dng_raw)?"DNG":"RAW", raw_count); 
    391                  
    392                 if (b > 6) 
    393                     { 
    394                     draw_string(conf.mode_raw_pos.x, conf.mode_raw_pos.y, osd_buf, conf.osd_color_warn);  
    395                     b = (b>12) ? 0 : b+1; 
    396                     } 
    397                 else 
    398                     { 
    399                     draw_string(conf.mode_raw_pos.x, conf.mode_raw_pos.y, osd_buf, conf.osd_color);  
    400                     b = b+1; 
    401                     }  
    402                 } 
     386            int raw_count = GetRawCount();   
     387            sprintf(osd_buf, "%s:%3d", (conf.dng_raw)?"DNG":"RAW", raw_count); 
     388            draw_string(conf.mode_raw_pos.x, conf.mode_raw_pos.y, osd_buf, ((raw_count > conf.remaining_raw_treshold) || (b <= 6)) ? conf.osd_color : conf.osd_color_warn); 
     389            if (++b > 12) b = 0; 
    403390        } 
    404391        else 
     
    410397        } 
    411398} 
    412 //------------------------------------------------------------------- 
    413 void gui_osd_draw_state() { 
     399 
     400//------------------------------------------------------------------- 
     401void gui_osd_draw_state() 
     402{ 
    414403    int a,  gui_mode=gui_get_mode(), m=(mode_get()&MODE_SHOOTING_MASK);  
    415404    long t;  
    416      
     405 
    417406    n=0; 
    418    /////////////////////////// 
    419    //sprintf(osd_buf,"%s",get_debug()); 
    420    //draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+6*FONT_HEIGHT, osd_buf, conf.osd_color); 
    421    ////////////////////////////   
    422  
    423        
    424     if ((((conf.tv_enum_type) || (conf.tv_override_value)) && (conf.tv_override_koef)  && !(conf.override_disable==1)) || gui_mode==GUI_MODE_OSD){ 
    425         if(kbd_is_key_pressed(KEY_SHOOT_HALF))  
    426                 {  
    427                   t=(int)(shooting_get_shutter_speed_from_tv96(shooting_get_tv96())*100000);     
    428           gui_print_osd_state_string_float("TV:", "%d.%05d ", 100000, t); 
    429          } 
    430         else  
    431                 { 
    432         if (conf.tv_enum_type)  
    433                    gui_print_osd_state_string_chr("TV:",shooting_get_tv_override_value());  
    434          else   
    435           { 
    436                   t=(int)(shooting_get_shutter_speed_override_value()*100000); 
    437           gui_print_osd_state_string_float("TV:", "%d.%05d ", 100000, t); 
    438           } 
    439        } 
     407    /////////////////////////// 
     408    //sprintf(osd_buf,"%s",get_debug()); 
     409    //draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+6*FONT_HEIGHT, osd_buf, conf.osd_color); 
     410    ////////////////////////////   
     411 
     412    if ((((conf.tv_enum_type) || (conf.tv_override_value)) && (conf.tv_override_koef)  && !(conf.override_disable==1)) || gui_mode==GUI_MODE_OSD) 
     413    { 
     414        if(kbd_is_key_pressed(KEY_SHOOT_HALF))  
     415        {  
     416            t=(int)(shooting_get_shutter_speed_from_tv96(shooting_get_tv96())*100000);   
     417            gui_print_osd_state_string_float("TV:", "%d.%05d ", 100000, t); 
     418        } 
     419        else  
     420        { 
     421            if (conf.tv_enum_type)  
     422                gui_print_osd_state_string_chr("TV:",shooting_get_tv_override_value());  
     423            else   
     424            { 
     425                t=(int)(shooting_get_shutter_speed_override_value()*100000); 
     426                gui_print_osd_state_string_float("TV:", "%d.%05d ", 100000, t); 
     427            } 
     428        } 
    440429    } 
    441430    if ((conf.av_override_value && !(conf.override_disable==1))|| gui_mode==GUI_MODE_OSD)   
    442            gui_print_osd_state_string_float("AV:", "%d.%02d ", 100, shooting_get_aperture_from_av96(shooting_get_av96_override_value())); 
     431        gui_print_osd_state_string_float("AV:", "%d.%02d ", 100, shooting_get_aperture_from_av96(shooting_get_av96_override_value())); 
    443432#if CAM_HAS_ND_FILTER 
    444433    if ((conf.nd_filter_state && !(conf.override_disable==1))|| gui_mode==GUI_MODE_OSD)  
    445            gui_print_osd_state_string_chr("NDFILTER:", ((conf.nd_filter_state==1)?"IN":"OUT")); 
     434        gui_print_osd_state_string_chr("NDFILTER:", ((conf.nd_filter_state==1)?"IN":"OUT")); 
    446435#endif     
    447436    if ((conf.autoiso_enable && shooting_get_iso_mode()<=0 && !(m==MODE_M || m==MODE_TV) && shooting_get_flash_mode() && (!(conf.override_disable==1 && conf.override_disable_all))) || gui_mode==GUI_MODE_OSD)   
    448             gui_print_osd_state_string_chr("AUTOISO:", ((conf.autoiso_enable==1)?"ON":"OFF")); 
     437        gui_print_osd_state_string_chr("AUTOISO:", ((conf.autoiso_enable==1)?"ON":"OFF")); 
    449438    if ((conf.subj_dist_override_value && conf.subj_dist_override_koef && shooting_can_focus() && !(conf.override_disable==1)) || ((gui_get_mode()==GUI_MODE_ALT) && shooting_get_common_focus_mode())  || gui_mode==GUI_MODE_OSD)   { 
    450439        extern const char* gui_subj_dist_override_value_enum(int change, int arg); 
    451440        extern const char* gui_subj_dist_override_koef_enum(int change, int arg); 
    452         gui_print_osd_state_string_chr("SD:",gui_subj_dist_override_value_enum(0,0)); 
     441        gui_print_osd_state_string_chr("SD:",gui_subj_dist_override_value_enum(0,0)); 
    453442        if (gui_mode==GUI_MODE_ALT)   
    454                   gui_print_osd_state_string_chr("FACTOR:",gui_subj_dist_override_koef_enum(0,0)); 
    455       } 
     443            gui_print_osd_state_string_chr("FACTOR:",gui_subj_dist_override_koef_enum(0,0)); 
     444    } 
    456445    if ((conf.iso_override_value && conf.iso_override_koef && !(conf.override_disable==1))       || gui_mode==GUI_MODE_OSD) 
    457         gui_print_osd_state_string_int("ISO:", shooting_get_iso_override_value()); 
     446        gui_print_osd_state_string_int("ISO:", shooting_get_iso_override_value()); 
    458447    if ((gui_mode==GUI_MODE_OSD) || (shooting_get_drive_mode())) { 
    459     if ((conf.tv_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) || (conf.av_bracket_value && !(conf.override_disable==1 && conf.override_disable_all))  || (conf.iso_bracket_value && conf.iso_bracket_koef && !(conf.override_disable==1 && conf.override_disable_all)) || ((conf.subj_dist_bracket_value) && (conf.subj_dist_bracket_koef) && (shooting_can_focus() && !(conf.override_disable==1 && conf.override_disable_all))))   
    460         gui_print_osd_state_string_chr("BRACKET:", shooting_get_bracket_type()); 
    461       if (conf.tv_bracket_value && !(conf.override_disable==1 && conf.override_disable_all))   
    462             gui_print_osd_state_string_chr("TV:", shooting_get_tv_bracket_value()); 
    463       else if  (conf.av_bracket_value && !(conf.override_disable==1 && conf.override_disable_all))  
    464             gui_print_osd_state_string_chr("AV:", shooting_get_av_bracket_value()); 
    465       else if  (conf.iso_bracket_value && conf.iso_bracket_koef   && !(conf.override_disable==1 && conf.override_disable_all))  
    466             gui_print_osd_state_string_int("ISO:", shooting_get_iso_bracket_value()); 
    467       else if  ((conf.subj_dist_bracket_value  && !(conf.override_disable==1 && conf.override_disable_all)) && (conf.subj_dist_bracket_koef) && (shooting_can_focus())) 
    468         gui_print_osd_state_string_int("SD:",shooting_get_subject_distance_bracket_value()); 
    469      } 
     448        if ((conf.tv_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) || (conf.av_bracket_value && !(conf.override_disable==1 && conf.override_disable_all))  || (conf.iso_bracket_value && conf.iso_bracket_koef && !(conf.override_disable==1 && conf.override_disable_all)) || ((conf.subj_dist_bracket_value) && (conf.subj_dist_bracket_koef) && (shooting_can_focus() && !(conf.override_disable==1 && conf.override_disable_all))))   
     449            gui_print_osd_state_string_chr("BRACKET:", shooting_get_bracket_type()); 
     450        if (conf.tv_bracket_value && !(conf.override_disable==1 && conf.override_disable_all))   
     451            gui_print_osd_state_string_chr("TV:", shooting_get_tv_bracket_value()); 
     452        else if  (conf.av_bracket_value && !(conf.override_disable==1 && conf.override_disable_all))  
     453            gui_print_osd_state_string_chr("AV:", shooting_get_av_bracket_value()); 
     454        else if  (conf.iso_bracket_value && conf.iso_bracket_koef   && !(conf.override_disable==1 && conf.override_disable_all))  
     455            gui_print_osd_state_string_int("ISO:", shooting_get_iso_bracket_value()); 
     456        else if  ((conf.subj_dist_bracket_value  && !(conf.override_disable==1 && conf.override_disable_all)) && (conf.subj_dist_bracket_koef) && (shooting_can_focus())) 
     457            gui_print_osd_state_string_int("SD:",shooting_get_subject_distance_bracket_value()); 
     458    } 
    470459#ifdef OPT_CURVES 
    471         if (conf.curve_enable || gui_mode==GUI_MODE_OSD) { 
     460    if (conf.curve_enable || gui_mode==GUI_MODE_OSD) { 
    472461        if (conf.curve_enable==1) gui_print_osd_state_string_chr("CURVES:", "CSTM"); 
    473462        else if (conf.curve_enable==4) gui_print_osd_state_string_chr("CURVES:", "AUTO"); 
     
    478467    if (conf.override_disable == 1) gui_print_osd_state_string_chr("NO ", "OVERRIDES"); 
    479468    if (conf.flash_manual_override) gui_print_osd_state_string_chr("Flash:", "Manual Override"); 
    480 /* 
    481  draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, get_debug(), conf.osd_color); 
    482         n+=FONT_HEIGHT;*/ 
    483 } 
    484  
    485 //------------------------------------------------------------------- 
    486 void gui_osd_draw_values(int showtype) { 
     469    /* 
     470    draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, get_debug(), conf.osd_color); 
     471    n+=FONT_HEIGHT; 
     472    */ 
     473} 
     474 
     475//------------------------------------------------------------------- 
     476void gui_osd_draw_values(int showtype) 
     477{ 
    487478    int iso_mode=shooting_get_iso_mode(); 
    488479    float s=-1.0f; 
    489      
     480 
    490481    m=0; 
    491      
     482 
    492483    //gui_osd_calc_expo_param(); 
    493      
    494     if (conf.values_show_zoom) { 
    495      int fl, zp=lens_get_zoom_point(), fl1=get_focal_length(zp);      
    496      switch (conf.zoom_value) { 
     484 
     485    if (conf.values_show_zoom) 
     486    { 
     487        int fl, zp=lens_get_zoom_point(), fl1=get_focal_length(zp);      
     488        switch (conf.zoom_value) 
     489        { 
    497490         case ZOOM_SHOW_FL: 
    498491             sprintf(osd_buf, "Z:%d.%dmm%8s", fl1/1000, fl1%1000/100, ""); 
     
    507500         default: 
    508501             fl=get_zoom_x(zp); 
    509              sprintf(osd_buf, "Z:%ld/%d.%dx%8s", zp, fl/10, fl%10, ""); 
     502             sprintf(osd_buf, "Z:%d/%d.%dx%8s", zp, fl/10, fl%10, ""); 
    510503             break; 
    511      } 
    512      osd_buf[9]=0; 
    513      draw_string(conf.values_pos.x, conf.values_pos.y, osd_buf, conf.osd_color); 
    514      m+=FONT_HEIGHT; 
    515     } 
    516      
    517      
     504        } 
     505        osd_buf[9]=0; 
     506        draw_string(conf.values_pos.x, conf.values_pos.y, osd_buf, conf.osd_color); 
     507        m+=FONT_HEIGHT; 
     508    } 
     509 
    518510    if ((conf.values_show_real_aperture) && (showtype==1))  
    519              gui_print_osd_misc_string_float("Av :", "%d.%02d ", 100, shooting_get_real_aperture()); 
    520     if ((conf.show_dof==DOF_SHOW_IN_MISC) && (showtype)) {  
    521          //if (kbd_is_key_pressed(KEY_SHOOT_HALF) && (mode_photo || (m&MODE_SHOOTING_MASK)==MODE_STITCH))        
    522          //gui_osd_calc_dof(); 
    523          if (conf.dof_subj_dist_in_misc) gui_print_osd_misc_string_dist("SD :", dof.subject_distance); 
    524          if (conf.dof_near_limit_in_misc) gui_print_osd_misc_string_dist("NL :", dof.near_limit); 
    525          if (conf.dof_far_limit_in_misc) gui_print_osd_misc_string_dist("FL :", dof.far_limit); 
    526          if (conf.dof_depth_in_misc) gui_print_osd_misc_string_dist("DOF:", dof.depth_of_field); 
    527          if (conf.dof_hyperfocal_in_misc) gui_print_osd_misc_string_dist("HYP:", dof.hyperfocal_distance); 
    528     } 
    529     if (showtype==1) { 
    530       if ((iso_mode <= 0) || !(conf.values_show_iso_only_in_autoiso_mode)) { 
    531           if (conf.values_show_real_iso) gui_print_osd_misc_string_int("I-R:", expo.iso); 
    532           if (conf.values_show_market_iso) gui_print_osd_misc_string_int("I-M:", expo.iso_market); 
    533       } 
    534       if (conf.values_show_bv_measured) gui_print_osd_misc_string_canon_values("Bvm:", expo.bv96_measured       ); 
    535       if (conf.values_show_bv_seted) gui_print_osd_misc_string_canon_values("Bvs:", expo.bv96_seted     ); 
    536       if (conf.values_show_ev_measured) gui_print_osd_misc_string_canon_values("Evm:", expo.ev96_measured); 
    537       if (conf.values_show_ev_seted     ) gui_print_osd_misc_string_canon_values("Evs:", expo.ev96_seted        ); 
    538       if (conf.values_show_overexposure) gui_print_osd_misc_string_canon_values("dE :", expo.dev96); 
    539       if (conf.values_show_canon_overexposure   ) gui_print_osd_misc_string_canon_values("dEc:", expo.dev96_canon); 
    540       if (conf.values_show_luminance) gui_print_osd_misc_string_float("B  :", "%d.%02d ", 100, expo.b); 
    541            
    542     } 
    543      
    544 } 
    545  
     511        gui_print_osd_misc_string_float("Av :", "%d.%02d ", 100, shooting_get_real_aperture()); 
     512    if ((conf.show_dof==DOF_SHOW_IN_MISC) && (showtype)) 
     513    {  
     514        //if (kbd_is_key_pressed(KEY_SHOOT_HALF) && (mode_photo || (m&MODE_SHOOTING_MASK)==MODE_STITCH))         
     515        //gui_osd_calc_dof(); 
     516        if (conf.dof_subj_dist_in_misc) gui_print_osd_misc_string_dist("SD :", dof.subject_distance); 
     517        if (conf.dof_near_limit_in_misc) gui_print_osd_misc_string_dist("NL :", dof.near_limit); 
     518        if (conf.dof_far_limit_in_misc) gui_print_osd_misc_string_dist("FL :", dof.far_limit); 
     519        if (conf.dof_depth_in_misc) gui_print_osd_misc_string_dist("DOF:", dof.depth_of_field); 
     520        if (conf.dof_hyperfocal_in_misc) gui_print_osd_misc_string_dist("HYP:", dof.hyperfocal_distance); 
     521    } 
     522    if (showtype==1) 
     523    { 
     524        if ((iso_mode <= 0) || !(conf.values_show_iso_only_in_autoiso_mode)) 
     525        { 
     526            if (conf.values_show_real_iso) gui_print_osd_misc_string_int("I-R:", expo.iso); 
     527            if (conf.values_show_market_iso) gui_print_osd_misc_string_int("I-M:", expo.iso_market); 
     528        } 
     529        if (conf.values_show_bv_measured) gui_print_osd_misc_string_canon_values("Bvm:", expo.bv96_measured     ); 
     530        if (conf.values_show_bv_seted) gui_print_osd_misc_string_canon_values("Bvs:", expo.bv96_seted   ); 
     531        if (conf.values_show_ev_measured) gui_print_osd_misc_string_canon_values("Evm:", expo.ev96_measured); 
     532        if (conf.values_show_ev_seted   ) gui_print_osd_misc_string_canon_values("Evs:", expo.ev96_seted        ); 
     533        if (conf.values_show_overexposure) gui_print_osd_misc_string_canon_values("dE :", expo.dev96); 
     534        if (conf.values_show_canon_overexposure ) gui_print_osd_misc_string_canon_values("dEc:", expo.dev96_canon); 
     535        if (conf.values_show_luminance) gui_print_osd_misc_string_float("B  :", "%d.%02d ", 100, expo.b); 
     536    } 
     537} 
     538 
     539//------------------------------------------------------------------- 
    546540#define CLOCK_FORMAT_24 0 
    547541#define CLOCK_FORMAT_12 1 
     
    549543#define CLOCK_WITH_SEC 2 
    550544 
    551 //------------------------------------------------------------------- 
    552 void gui_osd_draw_clock(int x, int y, color cl) { 
    553     unsigned long t; 
     545void gui_osd_draw_clock(int x, int y, color cl) 
     546{ 
     547    static char *ampm[2][3] = { { " AM", "A", " "}, { " PM", "P", "." } }; 
     548    struct tm *ttm; 
     549    int w; 
     550    char *ampm_ind; 
     551 
     552    ttm = get_localtime(); 
     553    unsigned int hour=(ttm->tm_hour); 
     554 
     555    ampm_ind = "";  // AM / PM indicator 
     556    w = 0;          // Extra with from AM/PM indicator and seconds (if displayed) 
     557 
     558    if (conf.clock_format == CLOCK_FORMAT_12) 
     559    { 
     560        ampm_ind = ampm[hour/12][conf.clock_indicator]; //(hour >= 12) ? pm : am;  
     561        w = strlen(ampm_ind); 
     562        if (hour == 0) 
     563            hour = 12; 
     564        else if (hour > 12) 
     565            hour =hour - 12; 
     566    } 
     567 
     568    switch(conf.show_clock) 
     569    { 
     570    case CLOCK_WITHOUT_SEC: 
     571        sprintf(osd_buf, "%2u:%02u%s", hour, ttm->tm_min, ampm_ind); 
     572        break;   
     573    case CLOCK_WITH_SEC: 
     574    default: 
     575        sprintf(osd_buf, "%2u:%02u:%02u%s", hour, ttm->tm_min, ttm->tm_sec, ampm_ind); 
     576        w += 3; 
     577        break;   
     578    } 
     579 
     580    draw_string(((x)?x:conf.clock_pos.x)-w*FONT_WIDTH, (y)?y:conf.clock_pos.y, osd_buf, (cl)?cl:conf.osd_color); 
     581} 
     582 
     583void gui_osd_draw_seconds() 
     584{ 
    554585    static struct tm *ttm; 
    555     int w = 0; 
    556     int z; 
    557     static char am[4]; 
    558     static char pm[4]; 
    559     static char curr[4]; 
    560     t = time(NULL); 
    561     ttm = localtime(&t); 
    562     unsigned int hour=(ttm->tm_hour); 
    563     if (conf.clock_format == CLOCK_FORMAT_12) { 
    564      switch(conf.clock_indicator) 
    565       { 
    566         case 1: 
    567             sprintf(pm, "P"); 
    568             sprintf(am, "A"); 
    569             w = 1; 
    570                 break; 
    571         case 2: 
    572             sprintf(pm, "."); 
    573             sprintf(am, " "); 
    574             w = 1; 
    575                 break; 
    576         default: 
    577             sprintf(pm, " PM"); 
    578             sprintf(am, " AM"); 
    579             w = 3; 
    580                 break; 
    581       } 
    582      sprintf(curr,((hour>=12)?pm:am));  
    583      if ((ttm->tm_hour)==00)  hour=12; 
    584      else if ((ttm->tm_hour)>12)  hour=hour-12; 
    585     } 
    586     switch(conf.show_clock) 
    587     { 
    588       case CLOCK_WITHOUT_SEC: 
    589         if (conf.clock_format == CLOCK_FORMAT_24)  
    590                   sprintf(osd_buf, "%2u:%02u", hour, ttm->tm_min); 
    591         else  
    592                   sprintf(osd_buf, "%2u:%02u%s", hour, ttm->tm_min,curr); 
    593             z=0; 
    594         break;   
    595       case CLOCK_WITH_SEC: 
    596       default: 
    597          if (conf.clock_format == CLOCK_FORMAT_24)   
    598                    sprintf(osd_buf, "%2u:%02u:%02u", hour, ttm->tm_min,ttm->tm_sec); 
    599          else   
    600                    sprintf(osd_buf, "%2u:%02u:%02u%s", hour, ttm->tm_min,ttm->tm_sec,curr); 
    601          z=3; 
    602          break;   
    603     } 
    604     if ((conf.show_clock==CLOCK_WITH_SEC || (conf.clock_format==CLOCK_FORMAT_12)) && (conf.clock_pos.x>=(z+w)*FONT_WIDTH) )  
    605        draw_string((x)?x-(z+w)*FONT_WIDTH:conf.clock_pos.x-(z+w)*FONT_WIDTH, (y)?y:conf.clock_pos.y, osd_buf, (cl)?cl:conf.osd_color); 
    606         else  
    607            draw_string((x)?x:conf.clock_pos.x, (y)?y:conf.clock_pos.y, osd_buf, (cl)?cl:conf.osd_color); 
    608 } 
    609  
    610  
    611 void gui_osd_draw_seconds() { 
    612     unsigned long t; 
    613     static struct tm *ttm; 
    614   
    615     t = time(NULL); 
    616     ttm = localtime(&t); 
     586 
     587    ttm = get_localtime(); 
    617588    sprintf(osd_buf, "%02u", ttm->tm_sec); 
    618     if (conf.clock_pos.x<4*FONT_WIDTH){ 
    619     draw_string(conf.clock_pos.x, conf.clock_pos.y, osd_buf, conf.osd_color); 
     589    if (conf.clock_pos.x<4*FONT_WIDTH) 
     590    { 
     591        draw_string(conf.clock_pos.x, conf.clock_pos.y, osd_buf, conf.osd_color); 
    620592    } 
    621593    else 
    622594    { 
    623     draw_string(conf.clock_pos.x+(3*FONT_WIDTH), conf.clock_pos.y, osd_buf, conf.osd_color); 
    624     } 
    625      
    626  
    627 } 
    628  
    629 void gui_osd_draw_movie_time_left()  { 
    630   
    631 static int card_used, init_space, elapsed, avg_use, time_left; 
    632 static long init_time; 
    633 static int record_running = 0; 
    634 static int init = 0; 
    635 static unsigned int skipcalls = 1; 
    636 unsigned int hour=0, min=0, sec=0; 
    637 int mode_video = MODE_IS_VIDEO(m);  
    638  
     595        draw_string(conf.clock_pos.x+(3*FONT_WIDTH), conf.clock_pos.y, osd_buf, conf.osd_color); 
     596    } 
     597} 
     598 
     599void gui_osd_draw_movie_time_left() 
     600{ 
     601    static int card_used, init_space, elapsed, avg_use, time_left; 
     602    static long init_time; 
     603    static int record_running = 0; 
     604    static int init = 0; 
     605    static unsigned int skipcalls = 1; 
     606    unsigned int hour=0, min=0, sec=0; 
     607    int mode_video = MODE_IS_VIDEO(m);  
    639608 
    640609#if CAM_CHDK_HAS_EXT_VIDEO_MENU 
    641 if (mode_video || movie_status > 1) { 
    642     // if manual adjust, show the field item to be adjusted 
    643    // if any value overriden, show the override value 
     610    if (mode_video || movie_status > 1) 
     611    { 
     612        // if manual adjust, show the field item to be adjusted 
     613        // if any value overriden, show the override value 
    644614#if !CAM_VIDEO_QUALITY_ONLY 
    645    if ((conf.video_mode == 0 && conf.fast_movie_quality_control==1) || conf.video_bitrate != VIDEO_DEFAULT_BITRATE) { 
    646        // gui_print_osd_state_string_chr("Bitrate: ",video_bitrate_strings[conf.video_bitrate]); 
    647        sprintf(osd_buf3, "Bit:%5s",video_bitrate_strings[conf.video_bitrate]); 
    648        draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y+2*FONT_HEIGHT, osd_buf3, conf.osd_color); 
    649    } 
     615        if ((conf.video_mode == 0 && conf.fast_movie_quality_control==1) || conf.video_bitrate != VIDEO_DEFAULT_BITRATE) 
     616        { 
     617            // gui_print_osd_state_string_chr("Bitrate: ",video_bitrate_strings[conf.video_bitrate]); 
     618            sprintf(osd_buf, "Bit:%5s",video_bitrate_strings[conf.video_bitrate]); 
     619            draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y+2*FONT_HEIGHT, osd_buf, conf.osd_color); 
     620        } 
    650621#endif 
    651    if ((conf.video_mode == 1 && conf.fast_movie_quality_control==1) || conf.video_quality != VIDEO_DEFAULT_QUALITY) { 
    652        // gui_print_osd_state_string_int("Quality: ",conf.video_quality); 
    653                          sprintf(osd_buf4, "Qual:%2i",conf.video_quality); 
    654        draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y+3*FONT_HEIGHT, osd_buf4, conf.osd_color); 
    655    } 
    656    // everything else is for stills 
    657          if(mode_video) 
    658          return; 
     622        if ((conf.video_mode == 1 && conf.fast_movie_quality_control==1) || conf.video_quality != VIDEO_DEFAULT_QUALITY) 
     623        { 
     624            // gui_print_osd_state_string_int("Quality: ",conf.video_quality); 
     625            sprintf(osd_buf, "Qual:%2i",conf.video_quality); 
     626            draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y+3*FONT_HEIGHT, osd_buf, conf.osd_color); 
     627        } 
     628        // everything else is for stills 
     629        if (mode_video) 
     630            return; 
    659631    } 
    660632#endif 
    661633 
    662 if (movie_reset == 1) 
    663         { 
    664                 init = 0; 
    665                 movie_reset = 0; 
    666         } 
    667     if (movie_status > 1) record_running = 1; 
     634    if (movie_reset == 1) 
     635    { 
     636        init = 0; 
     637        movie_reset = 0; 
     638    } 
     639 
     640    if (movie_status > 1) 
     641        record_running = 1; 
    668642    else  
    669     {record_running = 0; 
    670     init = 0; 
    671     } 
    672      
     643    { 
     644        record_running = 0; 
     645        init = 0; 
     646    } 
     647 
    673648    if (record_running == 1 && init == 0) 
    674649    { 
    675     init = 1; 
    676     init_space = GetFreeCardSpaceKb(); 
    677     init_time  = get_tick_count(); 
    678     } 
     650        init = 1; 
     651        init_space = GetFreeCardSpaceKb(); 
     652        init_time  = get_tick_count(); 
     653    } 
     654 
    679655    if (init == 1) 
    680656    { 
    681    
    682     card_used = init_space - GetFreeCardSpaceKb(); 
    683     elapsed = (int) ( get_tick_count() - init_time ) / 1000; 
    684     avg_use = card_used / elapsed;  // running average Kb/sec 
    685     time_left = (GetFreeCardSpaceKb() / avg_use); 
    686     hour = time_left / 3600; 
    687     min = (time_left % 3600) / 60; 
    688     sec = (time_left % 3600) % 60; 
    689  
    690        if (elapsed<1) 
    691    { 
    692   sprintf(osd_buf, "Calc..."); 
    693    draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
    694     } 
    695      
    696    if (--skipcalls ==0) {  
    697     if (elapsed>1) 
    698      { 
    699      if (conf.show_movie_time == 3){ 
    700       sprintf(osd_buf, "%04d KB/s", avg_use); 
    701       draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
    702       sprintf(osd_buf2, "-%02d:%02d:%02d", hour, min, sec); 
    703       draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y+FONT_HEIGHT, osd_buf2, conf.osd_color); 
    704     } 
    705      if (conf.show_movie_time == 2) 
    706       {sprintf(osd_buf, "%04d KB/s", avg_use); 
    707       draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
    708     } 
    709       if (conf.show_movie_time == 1) 
    710        { 
    711         sprintf(osd_buf, "-%02d:%02d:%02d", hour, min, sec); 
    712         draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
    713                                 } 
    714       } 
    715  
    716      skipcalls = conf.show_movie_refresh*5; 
    717     } 
    718     } 
    719         } 
    720  
    721 void gui_osd_draw_ev() { 
     657        card_used = init_space - GetFreeCardSpaceKb(); 
     658        elapsed = (int) ( get_tick_count() - init_time ) / 1000; 
     659        avg_use = card_used / elapsed;  // running average Kb/sec 
     660        time_left = (GetFreeCardSpaceKb() / avg_use); 
     661        hour = time_left / 3600; 
     662        min = (time_left % 3600) / 60; 
     663        sec = (time_left % 3600) % 60; 
     664 
     665        if (elapsed < 1) 
     666        { 
     667            sprintf(osd_buf, "Calc..."); 
     668            draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
     669        } 
     670 
     671        if (--skipcalls ==0) 
     672        { 
     673            if (elapsed > 1) 
     674            { 
     675                if (conf.show_movie_time == 3) 
     676                { 
     677                    sprintf(osd_buf, "%04d KB/s", avg_use); 
     678                    draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
     679                    sprintf(osd_buf, "-%02d:%02d:%02d", hour, min, sec); 
     680                    draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y+FONT_HEIGHT, osd_buf, conf.osd_color); 
     681                } 
     682                if (conf.show_movie_time == 2) 
     683                { 
     684                    sprintf(osd_buf, "%04d KB/s", avg_use); 
     685                    draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
     686                } 
     687                if (conf.show_movie_time == 1) 
     688                { 
     689                    sprintf(osd_buf, "-%02d:%02d:%02d", hour, min, sec); 
     690                    draw_string( conf.mode_video_pos.x, conf.mode_video_pos.y, osd_buf, conf.osd_color); 
     691                } 
     692            } 
     693 
     694            skipcalls = conf.show_movie_refresh*5; 
     695        } 
     696    } 
     697} 
     698 
     699void gui_osd_draw_ev() 
     700{ 
    722701    static char *s[6]={"   ", "1/6", "1/3", "1/2", "2/3", "5/6"}; 
    723702    short ev=shooting_get_prop(PROPCASE_EV_CORRECTION_1); 
     
    726705    if (ev>0) osd_buf[4]='+'; else if (ev<0) osd_buf[4]='-'; 
    727706    draw_string(conf.mode_ev_pos.x, conf.mode_ev_pos.y, osd_buf, conf.osd_color); 
    728  
    729 } 
    730  
     707} 
     708 
     709//------------------------------------------------------------------- 
     710static void draw_temp(char *lbl, int val, int yofst) 
     711{ 
     712    if (conf.temperature_unit != 0) 
     713        val = (val*18+320)/10; 
     714    sprintf(osd_buf,"%s: %i°",lbl, val); 
     715    draw_string(conf.temp_pos.x, conf.temp_pos.y+yofst*FONT_HEIGHT, osd_buf, conf.osd_color); 
     716} 
    731717 
    732718void gui_osd_draw_temp() { 
    733                 if (conf.show_temp == 1) 
    734                         { 
    735                                 if (conf.temperature_unit == 0) 
    736                                                 { 
    737                                                         sprintf(osd_buf," opt: %i°",get_optical_temp()); 
    738                                                 } 
    739                                 else 
    740                                                 { 
    741                                                         sprintf(osd_buf,"opt: %i°",(get_optical_temp()*18+320)/10); 
    742                                                 } 
    743                                 draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
    744                         } 
    745                 if (conf.show_temp==2) 
    746                         { 
    747                                 if (conf.temperature_unit == 0) 
    748                                                 { 
    749                                                         sprintf(osd_buf," ccd: %i°",get_ccd_temp()); 
    750                                                 } 
    751                                 else 
    752                                                 { 
    753                                                         sprintf(osd_buf,"ccd: %i°",(get_ccd_temp()*18+320)/10); 
    754                                                 } 
    755                                 draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
    756                         } 
    757                 if (conf.show_temp==3) 
    758                         { 
    759                                 if (conf.temperature_unit == 0) 
    760                                                 { 
    761                                                         sprintf(osd_buf," batt:%i°",get_battery_temp()); 
    762                                                 } 
    763                                 else 
    764                                                 { 
    765                                                         sprintf(osd_buf,"batt:%i°",(get_battery_temp()*18+320)/10); 
    766                                                 } 
    767                                 draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
    768                         } 
    769                 if (conf.show_temp==4) 
    770                         { 
    771                                 if (conf.temperature_unit == 0) 
    772                                         {                                
    773                                                 sprintf(osd_buf," opt: %i°",get_optical_temp()); 
    774                                                 draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
    775                                                 sprintf(osd_buf," ccd: %i°",get_ccd_temp()); 
    776                                                 draw_string(conf.temp_pos.x, conf.temp_pos.y+FONT_HEIGHT, osd_buf, conf.osd_color); 
    777                                                 sprintf(osd_buf," batt:%i°",get_battery_temp()); 
    778                                                 draw_string(conf.temp_pos.x, conf.temp_pos.y+2*FONT_HEIGHT, osd_buf, conf.osd_color); 
    779                                         }        
    780                 else 
    781                                         { 
    782                                                 sprintf(osd_buf,"opt: %i°",(get_optical_temp()*18+320)/10); 
    783                                                 draw_string(conf.temp_pos.x, conf.temp_pos.y, osd_buf, conf.osd_color); 
    784                                                 sprintf(osd_buf,"ccd: %i°",(get_ccd_temp()*18+320)/10); 
    785                                                 draw_string(conf.temp_pos.x, conf.temp_pos.y+FONT_HEIGHT, osd_buf, conf.osd_color); 
    786                                                 sprintf(osd_buf,"batt:%i°",(get_battery_temp()*18+320)/10); 
    787                                                 draw_string(conf.temp_pos.x, conf.temp_pos.y+2*FONT_HEIGHT, osd_buf, conf.osd_color); 
    788                                         }                        
    789     } 
    790 } 
    791  
    792  
     719    switch (conf.show_temp) 
     720    { 
     721    case 2: 
     722        draw_temp("ccd", get_ccd_temp(), 0); 
     723        break; 
     724    case 3: 
     725        draw_temp("bat", get_battery_temp(), 0); 
     726        break; 
     727    case 4: 
     728        draw_temp("bat", get_battery_temp(), 2); 
     729        draw_temp("ccd", get_ccd_temp(), 1); 
     730    case 1: 
     731        draw_temp("opt", get_optical_temp(), 0); 
     732        break; 
     733    } 
     734} 
    793735 
    794736//------------------------------------------------------------------- 
    795737#if CAM_EV_IN_VIDEO 
    796 void gui_osd_draw_ev_video(int visible){ 
    797  int x0=conf.ev_video_pos.x, y0=conf.ev_video_pos.y; 
    798  int i, deltax; 
    799  
    800  draw_filled_rect(x0,y0,x0+70,y0+24, visible? MAKE_COLOR(BG_COLOR(conf.osd_color),BG_COLOR(conf.osd_color)): COLOR_TRANSPARENT); 
    801  
    802  if (!visible) { return; } 
    803  
    804  for (i=0;i<9;i++) draw_line(x0+2+i*8,   y0+12, x0+2+i*8,   y0+12-(i&1 ? 5 : 10), conf.osd_color); 
    805  for (i=0;i<9;i++) draw_line(x0+2+i*8+1, y0+12, x0+2+i*8+1, y0+12-(i&1 ? 5 : 10), conf.osd_color); 
    806  
    807  deltax=8*get_ev_video(); 
    808  
    809  x0+=deltax; 
    810  
    811  draw_line(x0+34,y0+16,x0+34,y0+22,conf.osd_color); 
    812  draw_line(x0+35,y0+16,x0+35,y0+22,conf.osd_color); 
    813  
    814  draw_line(x0+32,y0+19,x0+32,y0+22,conf.osd_color); 
    815  draw_line(x0+33,y0+18,x0+33,y0+22,conf.osd_color); 
    816  draw_line(x0+36,y0+18,x0+36,y0+22,conf.osd_color); 
    817  draw_line(x0+37,y0+19,x0+37,y0+22,conf.osd_color); 
    818  
     738void gui_osd_draw_ev_video(int visible) 
     739{ 
     740    int x0=conf.ev_video_pos.x, y0=conf.ev_video_pos.y; 
     741    int i, deltax; 
     742 
     743    draw_filled_rect(x0,y0,x0+70,y0+24, visible? MAKE_COLOR(BG_COLOR(conf.osd_color),BG_COLOR(conf.osd_color)): COLOR_TRANSPARENT); 
     744 
     745    if (!visible) { return; } 
     746 
     747    for (i=0;i<9;i++) draw_line(x0+2+i*8,   y0+12, x0+2+i*8,  y0+12-(i&1 ? 5 : 10), conf.osd_color); 
     748    for (i=0;i<9;i++) draw_line(x0+2+i*8+1, y0+12, x0+2+i*8+1, y0+12-(i&1 ? 5 : 10), conf.osd_color); 
     749 
     750    deltax=8*get_ev_video(); 
     751 
     752    x0+=deltax; 
     753 
     754    draw_line(x0+34,y0+16,x0+34,y0+22,conf.osd_color); 
     755    draw_line(x0+35,y0+16,x0+35,y0+22,conf.osd_color); 
     756 
     757    draw_line(x0+32,y0+19,x0+32,y0+22,conf.osd_color); 
     758    draw_line(x0+33,y0+18,x0+33,y0+22,conf.osd_color); 
     759    draw_line(x0+36,y0+18,x0+36,y0+22,conf.osd_color); 
     760    draw_line(x0+37,y0+19,x0+37,y0+22,conf.osd_color); 
    819761} 
    820762#endif 
  • trunk/core/gui_osd.h

    r1602 r1612  
    2525extern void gui_osd_draw_state(); 
    2626extern void gui_osd_draw_raw_info(); 
    27 extern void gui_osd_draw_values(); 
     27extern void gui_osd_draw_values(int showtype); 
    2828extern void gui_osd_draw_clock(int x, int y, color cl); 
    2929extern void gui_osd_draw_temp(); 
  • trunk/core/gui_read.c

    r1610 r1612  
    7575//------------------------------------------------------------------- 
    7676static void gui_read_draw_clock() { 
    77     unsigned long t; 
    7877    static struct tm *ttm; 
    7978 
    80     t = time(NULL); 
    81     ttm = localtime(&t); 
     79    ttm = get_localtime(); 
    8280    sprintf(buffer, "%2u:%02u", ttm->tm_hour, ttm->tm_min); 
    8381    draw_txt_string((camera_screen.width-camera_screen.ts_button_border)/FONT_WIDTH-2-1-1-9-2-5, 0, buffer, MAKE_COLOR(COLOR_BLACK, COLOR_WHITE)); 
  • trunk/core/gui_space.c

    r1527 r1612  
    187187    space_color(); 
    188188    unsigned int freemb=GetFreeCardSpaceKb()/1024; 
    189     if (freemb < 10000) sprintf(osd_buf, "%3d%M",freemb); 
    190     else sprintf(osd_buf, "%3d%G",freemb/1024);   // if 10 GiB or more free, print in GiB instead of MiB 
     189    if (freemb < 10000) sprintf(osd_buf, "%4dM",freemb); 
     190    else sprintf(osd_buf, "%4dG",freemb/1024);   // if 10 GiB or more free, print in GiB instead of MiB 
    191191    osd_buf[5]=0; 
    192192    draw_string(conf.space_txt_pos.x, conf.space_txt_pos.y, osd_buf, cl); 
  • trunk/core/luascript.c

    r1595 r1612  
    11971197{ 
    11981198  int r = -1; 
    1199   unsigned long t2 = time(NULL); 
    12001199  static struct tm *ttm; 
    1201   ttm = localtime(&t2); 
     1200  ttm = get_localtime(); 
    12021201  const char *t = luaL_checkstring( L, 1 ); 
    12031202  if (strncmp("s", t, 1)==0) r = ( L, ttm->tm_sec ); 
  • trunk/core/module_exportlist.c

    r1610 r1612  
    140140                        time, 
    141141            utime, 
    142                         localtime, 
     142            localtime, 
     143                        get_localtime, 
    143144            rand, 
    144145                        srand, 
  • trunk/core/motion_detector.c

    r1569 r1612  
    257257        int big_ln; 
    258258        int calls,i, ln, fd; 
    259   static struct utimbuf t; 
    260     unsigned long t2; 
     259    static struct utimbuf t; 
    261260    static struct tm *ttm; 
    262261 
     
    272271                console_add_line("Writing info file..."); 
    273272                lseek(fd,0,SEEK_END); 
    274     t2 = time(NULL); 
    275     ttm = localtime(&t2); 
    276     big_ln=sprintf(big,  
     273            ttm = get_localtime(); 
     274        big_ln=sprintf(big,  
    277275                                "\r\n--- %04u-%02u-%02u  %02u:%02u:%02u\r\n" 
    278276                                "CHDK Ver: %s [ #%s ]\r\nBuild Date: %s %s\r\nCamera:  %s [ %s ]\r\n" 
  • trunk/core/zebra.c

    r1602 r1612  
    246246                    } 
    247247                    if (conf.show_values) { 
    248                         gui_osd_draw_values(); 
     248                        gui_osd_draw_values(2); 
    249249                    } 
    250250                } 
  • trunk/include/lolevel.h

    r1338 r1612  
    5050extern long _IsStrobeChargeCompleted(); 
    5151 
    52 long _SetEventFlag(void *flag, long what); 
    53 long _CheckAnyEventFlag(void *flag, long mask, long *res); 
    54 long _GetEventFlagValue(void *flag, long *res); 
    55  
    56 long _ReceiveMessageQueue(void *msgq, long *dst, long unk1 /* maybe size? */); 
     52extern long _SetEventFlag(void *flag, long what); 
     53extern long _CheckAnyEventFlag(void *flag, long mask, long *res); 
     54extern long _GetEventFlagValue(void *flag, long *res); 
     55 
     56extern long _ReceiveMessageQueue(void *msgq, long *dst, long unk1 /* maybe size? */); 
    5757 
    5858/* Canon stuff with nonoriginal naming */ 
     
    9393extern long _DeleteFile_Fut(const char *name); 
    9494extern long _MakeDirectory_Fut(const char *name,int unk); 
     95extern long _DeleteDirectory_Fut(const char *name); 
    9596 
    9697extern int _rename(const char *oldname, const char *newname); 
     
    157158extern long physw_status[3], physw_copy[3]; 
    158159 
    159 void __attribute__((naked,noinline)) mykbd_task(); 
     160extern void __attribute__((naked,noinline)) mykbd_task(); 
    160161extern void capt_seq_task(); 
    161162extern void movie_record_task(); 
     
    187188struct led_control {int led_num; int action; int brightness; int blink_count;}; 
    188189extern int _PostLEDMessage(struct led_control *); 
    189 int _LEDDrive(int led, int action); 
     190extern int _LEDDrive(int led, int action); 
    190191 
    191192extern long _LockMainPower(); 
     
    226227/* time */ 
    227228extern int _utime(const char *file, void *newTimes); 
    228 extern unsigned long _time(unsigned long *timer); 
    229 extern void *_localtime(const unsigned long *_tod); 
    230 extern void *_LocalTime(const unsigned long *_tod, void * t_m); // DRYOS 
     229extern unsigned long _time(/*time_t*/ unsigned long *timer); 
     230extern void *_localtime(const /*time_t*/ unsigned long *_tod); 
     231extern void *_LocalTime(const /*time_t*/ unsigned long *_tod, void * t_m); // DRYOS 
    231232extern long _strftime(char *s, unsigned long maxsize, const char *format, const /*struct tm*/ void *timp); 
    232233extern /*time_t*/ long _mktime(/*struct tm*/ void *timp); // VXWORKS 
     
    234235 
    235236#ifdef CAM_DRYOS_2_3_R39 
    236 int _SetFileTimeStamp(const char *file_path, int time1, int time2); 
     237extern int _SetFileTimeStamp(const char *file_path, int time1, int time2); 
    237238#else 
    238239extern int _SetFileTimeStamp(int fd, int time1, int time2); 
     
    250251extern unsigned long _GetDrive_FreeClusters(int drive); 
    251252extern int _WriteSDCard(unsigned int drive, unsigned int start_sect, unsigned int num_sect, void *buf); 
     253 
    252254extern void _UnsetZoomForMovie(void); 
    253 void _TurnOffMic(void); 
    254 void _TurnOnMic(void); 
     255extern void _TurnOffMic(void); 
     256extern void _TurnOnMic(void); 
    255257 
    256258extern void _MakeAFScan(int*, int); 
     
    285287// 7 calls functions and sets some MMIOs, but doesn't disable caches and actually restart 
    286288// 3 skips one function call on some cameras, but does restart 
    287 void _Restart(unsigned option); 
     289extern void _Restart(unsigned option); 
    288290 
    289291// boot an fir/fi2 file 
    290 void _reboot_fw_update(const char* bootfile); 
     292extern void _reboot_fw_update(const char* bootfile); 
    291293#ifdef CAM_CHDK_PTP 
    292294extern int _add_ptp_handler(int, void*, int); 
  • trunk/include/stdlib.h

    r1505 r1612  
    270270typedef unsigned long time_t; 
    271271 
    272 extern struct tm * localtime(const unsigned long *_tod); 
     272extern struct tm * localtime(const time_t *_tod); 
     273extern struct tm * get_localtime(); 
    273274 
    274275struct utimbuf { 
  • trunk/lib/ubasic/ubasic.c

    r1596 r1612  
    520520    break; 
    521521  case TOKENIZER_GET_TIME: { 
    522     accept(TOKENIZER_GET_TIME); 
    523          unsigned long t2 = time(NULL); 
    524     int tmode = expr(); 
    525      static struct tm *ttm; 
    526      ttm = localtime(&t2); 
    527     if (tmode==0) r = ttm->tm_sec; 
    528     else if (tmode==1) r = ttm->tm_min; 
    529     else if (tmode==2) r = ttm->tm_hour; 
    530     else if (tmode==3) r = ttm->tm_mday; 
    531     else if (tmode==4) r = ttm->tm_mon+1; 
    532     else if (tmode==5) r = 1900+ttm->tm_year; 
    533  break; 
     522      accept(TOKENIZER_GET_TIME); 
     523      int tmode = expr(); 
     524      static struct tm *ttm; 
     525      ttm = get_localtime(); 
     526      if (tmode==0) r = ttm->tm_sec; 
     527      else if (tmode==1) r = ttm->tm_min; 
     528      else if (tmode==2) r = ttm->tm_hour; 
     529      else if (tmode==3) r = ttm->tm_mday; 
     530      else if (tmode==4) r = ttm->tm_mon+1; 
     531      else if (tmode==5) r = 1900+ttm->tm_year; 
     532      break; 
    534533 } 
    535534 case TOKENIZER_GET_RAW: 
  • trunk/platform/a1100/sub/100c/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xffc0afac) //101 
    9191NSTUB(DebugAssert                             ,0xffc0b284) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xffc13270) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xffc1318c) //112 
    9394//NSTUB(DoAFLock                              ,0xffc14f40) //102            == 0xffc14f40 
  • trunk/platform/a2000/sub/100c/stubs_entry.S

    r1448 r1612  
    9494//NSTUB(CreateTask                            ,0xffc0b8c0) //101            == 0xffc0b8c0 
    9595NSTUB(DebugAssert                             ,0xffc0bd98) //111 
     96NSTUB(DeleteDirectory_Fut                     ,0xffc12cd4) //  1 
    9697//NSTUB(DeleteFile_Fut                        ,0xffc12bf0) //112            == 0xffc12bf0 
    9798//NSTUB(DoAFLock                              ,0xffc14d9c) //102            == 0xffc14d9c 
  • trunk/platform/a3000/sub/100b/stubs_entry.S

    r1448 r1612  
    9999NSTUB(CreateTask                              ,0xffc0f110) //101 
    100100NSTUB(DebugAssert                             ,0xffc0f5e8) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xffc25d14) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xffc25c30) //112 
    102103//NSTUB(EnterToCompensationEVF                ,0xffc277f4) //104            == 0xffc277f4 
  • trunk/platform/a3000/sub/100c/stubs_entry.S

    r1448 r1612  
    100100NSTUB(CreateTask                              ,0xffc0f110) //101 
    101101NSTUB(DebugAssert                             ,0xffc0f5e8) //111 
     102NSTUB(DeleteDirectory_Fut                     ,0xffc25d14) //  1 
    102103NSTUB(DeleteFile_Fut                          ,0xffc25c30) //112 
    103104//NSTUB(EnterToCompensationEVF                ,0xffc277f4) //104            == 0xffc277f4 
  • trunk/platform/a3000/sub/100d/stubs_entry.S

    r1448 r1612  
    9999NSTUB(CreateTask                              ,0xffc0f110) //101 
    100100NSTUB(DebugAssert                             ,0xffc0f5e8) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xffc25d14) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xffc25c30) //112 
    102103//NSTUB(EnterToCompensationEVF                ,0xffc277f4) //104            == 0xffc277f4 
  • trunk/platform/a470/sub/100e/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xffc0b8e0) //101 
    8686NSTUB(DebugAssert                             ,0xffc0bdb8) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xffc134ec) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xffc13408) //112 
    8889//NSTUB(DoAFLock                              ,0xffc157a0) //102            == 0xffc157a0 
  • trunk/platform/a470/sub/101b/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xffc0b8e0) //101 
    8686NSTUB(DebugAssert                             ,0xffc0bdb8) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xffc134ec) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xffc13408) //112 
    8889//NSTUB(DoAFLock                              ,0xffc157a0) //102            == 0xffc157a0 
  • trunk/platform/a470/sub/102c/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xffc0b8e0) //101 
    8686NSTUB(DebugAssert                             ,0xffc0bdb8) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xffc134ec) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xffc13408) //112 
    8889//NSTUB(DoAFLock                              ,0xffc157a0) //102            == 0xffc157a0 
  • trunk/platform/a480/sub/100b/stubs_entry.S

    r1448 r1612  
    9494NSTUB(CreateTask                              ,0xffc0b9c4) //101 
    9595NSTUB(DebugAssert                             ,0xffc0be9c) //111 
     96NSTUB(DeleteDirectory_Fut                     ,0xffc12bbc) //  1 
    9697NSTUB(DeleteFile_Fut                          ,0xffc12ad8) //112 
    9798//NSTUB(DoAFLock                              ,0xffc14830) //102            == 0xffc14830 
  • trunk/platform/a490/sub/100d/stubs_entry.S

    r1482 r1612  
    9999NSTUB(CreateTask                              ,0xffc0f1a8) //101 
    100100NSTUB(DebugAssert                             ,0xffc0f680) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xffc25b68) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xffc25a84) //112 
    102103//NSTUB(DoAFLock                              ,0xffc27558) //102            == 0xffc27558 
  • trunk/platform/a490/sub/100f/stubs_entry.S

    r1482 r1612  
    9999NSTUB(CreateTask                              ,0xffc0f1a8) //101 
    100100NSTUB(DebugAssert                             ,0xffc0f680) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xffc25b68) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xffc25a84) //112 
    102103//NSTUB(DoAFLock                              ,0xffc27558) //102            == 0xffc27558 
  • trunk/platform/a495/sub/100d/stubs_entry.S

    r1448 r1612  
    104104NSTUB(CreateTask                              ,0xffc0f1a8) //101 
    105105NSTUB(DebugAssert                             ,0xffc0f680) //111 
     106NSTUB(DeleteDirectory_Fut                     ,0xffc25b64) //  1 
    106107NSTUB(DeleteFile_Fut                          ,0xffc25a80) //112 
    107108//NSTUB(DoAFLock                              ,0xffc27554) //102            == 0xffc27554 
  • trunk/platform/a495/sub/100e/stubs_entry.S

    r1448 r1612  
    104104NSTUB(CreateTask                              ,0xffc0f1a8) //101 
    105105NSTUB(DebugAssert                             ,0xffc0f680) //111 
     106NSTUB(DeleteDirectory_Fut                     ,0xffc25b64) //  1 
    106107NSTUB(DeleteFile_Fut                          ,0xffc25a80) //112 
    107108//NSTUB(DoAFLock                              ,0xffc27554) //102            == 0xffc27554 
  • trunk/platform/a495/sub/100f/stubs_entry.S

    r1448 r1612  
    104104NSTUB(CreateTask                              ,0xffc0f1a8) //101 
    105105NSTUB(DebugAssert                             ,0xffc0f680) //111 
     106NSTUB(DeleteDirectory_Fut                     ,0xffc25b64) //  1 
    106107NSTUB(DeleteFile_Fut                          ,0xffc25a80) //112 
    107108//NSTUB(DoAFLock                              ,0xffc27554) //102            == 0xffc27554 
  • trunk/platform/a580/sub/101b/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xffc0b8e0) //101 
    8989NSTUB(DebugAssert                             ,0xffc0bdb8) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xffc1350c) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xffc13428) //112 
    9192NSTUB(DoAFLock                                ,0xffc157b4) //102 
  • trunk/platform/a590/sub/100e/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xffc0b8e0) //101 
    9191NSTUB(DebugAssert                             ,0xffc0bdb8) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xffc13518) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xffc13434) //112 
    9394//NSTUB(DoAFLock                              ,0xffc15b04) //102            == 0xffc15b04 
  • trunk/platform/a590/sub/101b/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xffc0b8e0) //101 
    9191NSTUB(DebugAssert                             ,0xffc0bdb8) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xffc13518) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xffc13434) //112 
    9394//NSTUB(DoAFLock                              ,0xffc15b04) //102            == 0xffc15b04 
  • trunk/platform/a650/sub/100d/stubs_entry.S

    r1448 r1612  
    8585//NSTUB(CreateTask                            ,0xffc0baf0) //101            == 0xffc0baf0 
    8686NSTUB(DebugAssert                             ,0xffc0bfc8) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xffc1486c) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xffc14788) //112 
    8889//NSTUB(DoAFLock                              ,0xffc16d94) //103            == 0xffc16d94 
  • trunk/platform/a720/sub/100c/stubs_entry.S

    r1448 r1612  
    9090//NSTUB(CreateTask                            ,0xffc0bbc0) //101            == 0xffc0bbc0 
    9191NSTUB(DebugAssert                             ,0xffc0c098) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xffc14978) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xffc14894) //112 
    9394//NSTUB(DoAFLock                              ,0xffc16d2c) //103            == 0xffc16d2c 
  • trunk/platform/d10/sub/100a/stubs_entry.S

    r1448 r1612  
    9494NSTUB(CreateTask                              ,0xff81afac) //101 
    9595NSTUB(DebugAssert                             ,0xff81b284) //111 
     96NSTUB(DeleteDirectory_Fut                     ,0xff823640) //  1 
    9697NSTUB(DeleteFile_Fut                          ,0xff82355c) //112 
    9798NSTUB(ExecuteEventProcedure                   ,0xff86df60) //  1 
  • trunk/platform/g10/sub/102a/stubs_entry.S

    r1453 r1612  
    8888NSTUB(CreateTask                              ,0xff81aef4) //101 
    8989NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff823a18) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff823934) //112 
    9192NSTUB(DoAFLock                                ,0xff825e48) //102 
  • trunk/platform/g10/sub/103b/stubs_entry.S

    r1453 r1612  
    8888NSTUB(CreateTask                              ,0xff81aef4) //101 
    8989NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff823a18) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff823934) //112 
    9192NSTUB(DoAFLock                                ,0xff825e48) //102 
  • trunk/platform/g10/sub/104a/stubs_entry.S

    r1453 r1612  
    8888NSTUB(CreateTask                              ,0xff81aef4) //101 
    8989NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff823a18) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff823934) //112 
    9192NSTUB(DoAFLock                                ,0xff825e48) //102 
  • trunk/platform/g11/sub/100f/stubs_entry.S

    r1448 r1612  
    9393NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9494NSTUB(DebugAssert                             ,0xff81e88c) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff8353f0) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff83530c) //112 
    9697//NSTUB(DoAFLock                              ,0xff837128) //102            == 0xff837128 
  • trunk/platform/g11/sub/100j/stubs_entry.S

    r1448 r1612  
    9393NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9494NSTUB(DebugAssert                             ,0xff81e88c) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff835420) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff83533c) //112 
    9697//NSTUB(DoAFLock                              ,0xff837158) //102            == 0xff837158 
  • trunk/platform/g11/sub/100l/stubs_entry.S

    r1448 r1612  
    9494NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9595NSTUB(DebugAssert                             ,0xff81e88c) //111 
     96NSTUB(DeleteDirectory_Fut                     ,0xff835420) //  1 
    9697NSTUB(DeleteFile_Fut                          ,0xff83533c) //112 
    9798//NSTUB(DoAFLock                              ,0xff837158) //102            == 0xff837158 
  • trunk/platform/g12/sub/100c/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836b3c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff836a58) //112 
    9394NSTUB(DoAFLock                                ,0xff838940) //102 
  • trunk/platform/g12/sub/100e/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836b3c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff836a58) //112 
    9394NSTUB(DoAFLock                                ,0xff838940) //102 
  • trunk/platform/g12/sub/100f/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836b3c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff836a58) //112 
    9394NSTUB(DoAFLock                                ,0xff838940) //102 
  • trunk/platform/g12/sub/100g/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836b3c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff836a58) //112 
    9394NSTUB(DoAFLock                                ,0xff838940) //102 
  • trunk/platform/g9/sub/100d/stubs_entry.S

    r1448 r1612  
    9393//NSTUB(CreateTask                            ,0xff81baf0) //101            == 0xff81baf0 
    9494NSTUB(DebugAssert                             ,0xff81bfc8) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff824e78) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff824d94) //112 
    9697//NSTUB(DoAFLock                              ,0xff8275cc) //103            == 0xff8275cc 
  • trunk/platform/g9/sub/100g/stubs_entry.S

    r1448 r1612  
    9393//NSTUB(CreateTask                            ,0xff81baf0) //101            == 0xff81baf0 
    9494NSTUB(DebugAssert                             ,0xff81bfc8) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff824e78) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff824d94) //112 
    9697//NSTUB(DoAFLock                              ,0xff8275cc) //103            == 0xff8275cc 
  • trunk/platform/g9/sub/100i/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81baf0) //101 
    8989NSTUB(DebugAssert                             ,0xff81bfc8) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff824e78) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff824d94) //112 
    9192//NSTUB(DoAFLock                              ,0xff8275cc) //103            == 0xff8275cc 
  • trunk/platform/generic/shooting.c

    r1570 r1612  
    836836int shooting_get_day_seconds() 
    837837{ 
    838     unsigned long t; 
    839838    struct tm *ttm; 
    840     t = time(NULL); 
    841     ttm = localtime(&t); 
     839    ttm = get_localtime(); 
    842840    return ttm->tm_hour * 3600 + ttm->tm_min * 60 + ttm->tm_sec; 
    843841} 
  • trunk/platform/generic/wrappers.c

    r1570 r1612  
    323323} 
    324324 
    325 int remove(const char *name) { 
    326         return _DeleteFile_Fut(name); 
     325int remove(const char *name) 
     326{ 
     327#ifdef CAM_DRYOS_2_3_R39 
     328    // For DryOS R39 and later need to check if 'name' is a file or directory 
     329    // and call appropriate delete function. 
     330    struct stat st; 
     331    if (stat(name,&st) == 0) 
     332    { 
     333        if (st.st_attrib & DOS_ATTR_DIRECTORY) 
     334                return _DeleteDirectory_Fut(name); 
     335        else 
     336                return _DeleteFile_Fut(name); 
     337    } 
     338    return -1;  // return fail - file / directory does not exist 
     339#else 
     340    return _DeleteFile_Fut(name); 
     341#endif 
    327342} 
    328343 
     
    543558int utime(const char *file, struct utimbuf *newTimes) { 
    544559#if !CAM_DRYOS 
    545   return _utime(file, newTimes); 
    546 #else 
    547  int res=0; 
    548  int fd; 
    549  fd = _open(file, 0, 0); 
     560    return _utime(file, newTimes); 
     561#else 
     562    int res=0; 
     563    int fd; 
     564    fd = _open(file, 0, 0); 
    550565 
    551566#ifdef CAM_DRYOS_2_3_R39 
    552    if (fd>=0) { 
    553        _close(fd); 
    554        res=_SetFileTimeStamp(file, ((int*)newTimes)[0] , ((int*)newTimes)[1]); 
    555    } 
    556 #else 
    557      if (fd>=0) { 
    558       res=_SetFileTimeStamp(fd, ((int*)newTimes)[0] , ((int*)newTimes)[1]); 
    559       _close(fd); 
    560      } 
    561      // return value compatibe with utime: ok=0 fail=-1 
    562 #endif 
    563   return (res)?0:-1; 
    564 #endif 
    565 } 
    566  
    567 struct tm *localtime(const unsigned long *_tod) { 
     567    if (fd>=0) { 
     568        _close(fd); 
     569        res=_SetFileTimeStamp(file, newTimes->actime , newTimes->modtime); 
     570    } 
     571#else 
     572    if (fd>=0) { 
     573        res=_SetFileTimeStamp(fd, newTimes->actime , newTimes->modtime); 
     574        _close(fd); 
     575    } 
     576    // return value compatibe with utime: ok=0 fail=-1 
     577#endif 
     578    return (res)?0:-1; 
     579#endif 
     580} 
     581 
     582struct tm *localtime(const time_t *_tod) { 
    568583#if !CAM_DRYOS 
    569584    return _localtime(_tod); 
    570585#else 
    571 // for DRYOS cameras do something with this!  - sizeof(x[]) must be >= sizeof(struct tm) :  'static int x[9];' 
    572   static int x[9]; 
    573   return _LocalTime(_tod, &x); 
    574 #endif 
     586    // for DRYOS cameras do something with this!  - sizeof(x[]) must be >= sizeof(struct tm) :  'static int x[9];' 
     587    static int x[9]; 
     588    return _LocalTime(_tod, &x); 
     589#endif 
     590} 
     591 
     592struct tm *get_localtime() 
     593{ 
     594    time_t t = time(NULL); 
     595    return localtime(&t); 
    575596} 
    576597 
  • trunk/platform/ixus100_sd780/sub/100b/stubs_entry.S

    r1448 r1612  
    101101//NSTUB(CreateTask                            ,0xff81afac) //101            == 0xff81afac 
    102102//NSTUB(DebugAssert                           ,0xff81b284) //111            == 0xff81b284 
     103NSTUB(DeleteDirectory_Fut                     ,0xff823628) //  1 
    103104//NSTUB(DeleteFile_Fut                        ,0xff823544) //112            == 0xff823544 
    104105//NSTUB(DoAFLock                              ,0xff825334) //102            == 0xff825334 
  • trunk/platform/ixus100_sd780/sub/100c/stubs_entry.S

    r1448 r1612  
    101101//NSTUB(CreateTask                            ,0xff81afac) //101            == 0xff81afac 
    102102//NSTUB(DebugAssert                           ,0xff81b284) //111            == 0xff81b284 
     103NSTUB(DeleteDirectory_Fut                     ,0xff823628) //  1 
    103104//NSTUB(DeleteFile_Fut                        ,0xff823544) //112            == 0xff823544 
    104105//NSTUB(DoAFLock                              ,0xff825334) //102            == 0xff825334 
  • trunk/platform/ixus120_sd940/sub/100e/stubs_entry.S

    r1453 r1612  
    9090NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9191NSTUB(DebugAssert                             ,0xff81e88c) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff834e24) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff834d40) //112 
    9394//NSTUB(DoAFLock                              ,0xff83687c) //102            == 0xff83687c 
  • trunk/platform/ixus120_sd940/sub/101a/stubs_entry.S

    r1453 r1612  
    9090NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9191NSTUB(DebugAssert                             ,0xff81e88c) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff834e24) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff834d40) //112 
    9394//NSTUB(DoAFLock                              ,0xff83687c) //102            == 0xff83687c 
  • trunk/platform/ixus120_sd940/sub/102c/stubs_entry.S

    r1453 r1612  
    9090NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9191NSTUB(DebugAssert                             ,0xff81e88c) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff834e24) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff834d40) //112 
    9394//NSTUB(DoAFLock                              ,0xff83687c) //102            == 0xff83687c 
  • trunk/platform/ixus120_sd940/sub/103b/stubs_entry.S

    r1453 r1612  
    9090NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9191NSTUB(DebugAssert                             ,0xff81e88c) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff834e24) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff834d40) //112 
    9394//NSTUB(DoAFLock                              ,0xff83687c) //102            == 0xff83687c 
  • trunk/platform/ixus120_sd940/sub/103c/stubs_entry.S

    r1453 r1612  
    9090NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9191NSTUB(DebugAssert                             ,0xff81e88c) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff834e24) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff834d40) //112 
    9394//NSTUB(DoAFLock                              ,0xff83687c) //102            == 0xff83687c 
  • trunk/platform/ixus200_sd980/sub/101c/stubs_entry.S

    r1448 r1612  
    117117NSTUB(CreateTask                              ,0xff81e5b4) //101 
    118118NSTUB(DebugAssert                             ,0xff81e88c) //111 
     119NSTUB(DeleteDirectory_Fut                     ,0xff834e78) //  1 
    119120NSTUB(DeleteFile_Fut                          ,0xff834d94) //112 
    120121//NSTUB(DoAFLock                              ,0xff8368f0) //102            == 0xff8368f0 
  • trunk/platform/ixus200_sd980/sub/101d/stubs_entry.S

    r1448 r1612  
    116116NSTUB(CreateTask                              ,0xff81e5b4) //101 
    117117NSTUB(DebugAssert                             ,0xff81e88c) //111 
     118NSTUB(DeleteDirectory_Fut                     ,0xff834e78) //  1 
    118119NSTUB(DeleteFile_Fut                          ,0xff834d94) //112 
    119120//NSTUB(DoAFLock                              ,0xff8368f0) //102            == 0xff8368f0 
  • trunk/platform/ixus220_elph300hs/sub/100c/stubs_entry.S

    r1527 r1612  
    8686NSTUB(CreateTask                              ,0xff81e9b0) //101 
    8787NSTUB(DebugAssert                             ,0xff81ec88) //111 
     88NSTUB(DeleteDirectory_Fut                     ,0xff837de4) //  1 
    8889NSTUB(DeleteFile_Fut                          ,0xff837d00) //112 
    8990NSTUB(DoAFLock                                ,0xff839c28) //102 
  • trunk/platform/ixus220_elph300hs/sub/101a/stubs_entry.S

    r1527 r1612  
    8686NSTUB(CreateTask                              ,0xff81e9b0) //101 
    8787NSTUB(DebugAssert                             ,0xff81ec88) //111 
     88NSTUB(DeleteDirectory_Fut                     ,0xff837de4) //  1 
    8889NSTUB(DeleteFile_Fut                          ,0xff837d00) //112 
    8990NSTUB(DoAFLock                                ,0xff839c28) //102 
  • trunk/platform/ixus220_elph300hs/sub/101c/stubs_entry.S

    r1527 r1612  
    8686NSTUB(CreateTask                              ,0xff81e9b0) //101 
    8787NSTUB(DebugAssert                             ,0xff81ec88) //111 
     88NSTUB(DeleteDirectory_Fut                     ,0xff837de4) //  1 
    8889NSTUB(DeleteFile_Fut                          ,0xff837d00) //112 
    8990NSTUB(DoAFLock                                ,0xff839c28) //102 
  • trunk/platform/ixus220_elph300hs/sub/101g/stubs_entry.S

    r1550 r1612  
    8686NSTUB(CreateTask                              ,0xff81e9b0) //101 
    8787NSTUB(DebugAssert                             ,0xff81ec88) //111 
     88NSTUB(DeleteDirectory_Fut                     ,0xff837de4) //  1 
    8889NSTUB(DeleteFile_Fut                          ,0xff837d00) //112 
    8990NSTUB(DoAFLock                                ,0xff839c28) //102 
  • trunk/platform/ixus300_sd4000/sub/100d/stubs_entry.S

    r1448 r1612  
    102102NSTUB(CreateTask                              ,0xff81e83c) //101 
    103103NSTUB(DebugAssert                             ,0xff81eb14) //111 
     104NSTUB(DeleteDirectory_Fut                     ,0xff836814) //  1 
    104105NSTUB(DeleteFile_Fut                          ,0xff836730) //112 
    105106NSTUB(DoAFLock                                ,0xff8382e4) //102 
  • trunk/platform/ixus310_elph500hs/sub/100a/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff00e9b0) //101 
    8686NSTUB(DebugAssert                             ,0xff00ec88) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff02708c) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff026fa8) //112 
    8889NSTUB(DoAFLock                                ,0xff028edc) //102 
  • trunk/platform/ixus310_elph500hs/sub/101a/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff00e9b0) //101 
    8686NSTUB(DebugAssert                             ,0xff00ec88) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff02708c) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff026fa8) //112 
    8889NSTUB(DoAFLock                                ,0xff028edc) //102 
  • trunk/platform/ixus310_elph500hs/sub/101c/stubs_entry.S

    r1449 r1612  
    8585NSTUB(CreateTask                              ,0xff00e9b0) //101 
    8686NSTUB(DebugAssert                             ,0xff00ec88) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff02708c) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff026fa8) //112 
    8889NSTUB(DoAFLock                                ,0xff028edc) //102 
  • trunk/platform/ixus80_sd1100/sub/100c/stubs_entry.S

    r1448 r1612  
    8686NSTUB(CreateTask                              ,0xff81b8e0) //101 
    8787NSTUB(DebugAssert                             ,0xff81bdb8) //111 
     88NSTUB(DeleteDirectory_Fut                     ,0xff8237e4) //  1 
    8889NSTUB(DeleteFile_Fut                          ,0xff823700) //112 
    8990//NSTUB(DoAFLock                              ,0xff825c4c) //102            == 0xff825c4c 
  • trunk/platform/ixus80_sd1100/sub/101a/stubs_entry.S

    r1448 r1612  
    9393NSTUB(CreateTask                              ,0xff81b8e0) //101 
    9494NSTUB(DebugAssert                             ,0xff81bdb8) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff8237e4) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff823700) //112 
    9697//NSTUB(DoAFLock                              ,0xff825c4c) //102            == 0xff825c4c 
  • trunk/platform/ixus85_sd770/sub/100a/stubs_entry.S

    r1448 r1612  
    9595NSTUB(Close                                   ,0xff823d8c) //101 
    9696NSTUB(CreateTask                              ,0xff81b818) //101 
     97NSTUB(DeleteDirectory_Fut                     ,0xff82371c) //  1 
    9798NSTUB(DeleteFile_Fut                          ,0xff823638) //112 
    9899//NSTUB(DoAFLock                              ,0xff825b84) //102            == 0xff825b84 
  • trunk/platform/ixus860_sd870/sub/100c/stubs_entry.S

    r1448 r1612  
    9191NSTUB(CreateTask                              ,0xff81bbb8) //101 
    9292//NSTUB(DebugAssert                           ,0xff81c090) //111            == 0xff81c090 
     93NSTUB(DeleteDirectory_Fut                     ,0xff824978) //  1 
    9394NSTUB(DeleteFile_Fut                          ,0xff824894) //112 
    9495//NSTUB(DoAFLock                              ,0xff826bb8) //103            == 0xff826bb8 
  • trunk/platform/ixus870_sd880/sub/100e/stubs_entry.S

    r1448 r1612  
    8686NSTUB(CreateTask                              ,0xff81aef4) //101 
    8787NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     88NSTUB(DeleteDirectory_Fut                     ,0xff823484) //  1 
    8889NSTUB(DeleteFile_Fut                          ,0xff8233a0) //112 
    8990//NSTUB(DoAFLock                              ,0xff8255d8) //102            == 0xff8255d8 
  • trunk/platform/ixus870_sd880/sub/101a/stubs_entry.S

    r1448 r1612  
    8787NSTUB(CreateTask                              ,0xff81aef4) //101 
    8888NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     89NSTUB(DeleteDirectory_Fut                     ,0xff823484) //  1 
    8990NSTUB(DeleteFile_Fut                          ,0xff8233a0) //112 
    9091//NSTUB(DoAFLock                              ,0xff8255d8) //102            == 0xff8255d8 
  • trunk/platform/ixus870_sd880/sub/102b/stubs_entry.S

    r1448 r1612  
    8787NSTUB(CreateTask                              ,0xff81aef4) //101 
    8888NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     89NSTUB(DeleteDirectory_Fut                     ,0xff823484) //  1 
    8990NSTUB(DeleteFile_Fut                          ,0xff8233a0) //112 
    9091//NSTUB(DoAFLock                              ,0xff8255d8) //102            == 0xff8255d8 
  • trunk/platform/ixus90_sd790/sub/100c/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff81b818) //101 
    8686//NSTUB(DebugAssert                           ,0xff81bcf0) //111            == 0xff81bcf0 
     87NSTUB(DeleteDirectory_Fut                     ,0xff823730) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff82364c) //112 
    8889//NSTUB(DoAFLock                              ,0xff825b98) //102            == 0xff825b98 
  • trunk/platform/ixus90_sd790/sub/100d/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff81b818) //101 
    8686//NSTUB(DebugAssert                           ,0xff81bcf0) //111            == 0xff81bcf0 
     87NSTUB(DeleteDirectory_Fut                     ,0xff823730) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff82364c) //112 
    8889//NSTUB(DoAFLock                              ,0xff825b98) //102            == 0xff825b98 
  • trunk/platform/ixus95_sd1200/sub/100c/stubs_entry.S

    r1448 r1612  
    104104NSTUB(CreateTask                              ,0xffc0afac) //101 
    105105NSTUB(DebugAssert                             ,0xffc0b284) //111 
     106NSTUB(DeleteDirectory_Fut                     ,0xffc135cc) //  1 
    106107NSTUB(DeleteFile_Fut                          ,0xffc134e8) //112 
    107108//NSTUB(EnterToCompensationEVF                ,0xffc15348) //104            == 0xffc15348 
  • trunk/platform/ixus960_sd950/sub/100d/stubs_entry.S

    r1448 r1612  
    9292NSTUB(CreateTask                              ,0xff81baf0) //101 
    9393NSTUB(DebugAssert                             ,0xff81bfc8) //111 
     94NSTUB(DeleteDirectory_Fut                     ,0xff824914) //  1 
    9495NSTUB(DeleteFile_Fut                          ,0xff824830) //112 
    9596//NSTUB(DoAFLock                              ,0xff826b54) //103            == 0xff826b54 
  • trunk/platform/ixus970_sd890/sub/100b/stubs_entry.S

    r1448 r1612  
    9090NSTUB(Close                                   ,0xff823d90) //101 
    9191NSTUB(CreateTask                              ,0xff81b818) //101 
     92NSTUB(DeleteDirectory_Fut                     ,0xff823720) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff82363c) //112 
    9394//NSTUB(DoAFLock                              ,0xff825b88) //102            == 0xff825b88 
  • trunk/platform/ixus970_sd890/sub/100c/stubs_entry.S

    r1448 r1612  
    9090NSTUB(Close                                   ,0xff823d90) //101 
    9191NSTUB(CreateTask                              ,0xff81b818) //101 
     92NSTUB(DeleteDirectory_Fut                     ,0xff823720) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff82363c) //112 
    9394//NSTUB(DoAFLock                              ,0xff825b88) //102            == 0xff825b88 
  • trunk/platform/ixus970_sd890/sub/100f/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81b818) //101 
    9191//NSTUB(DebugAssert                           ,0xff81bcf0) //111            == 0xff81bcf0 
     92NSTUB(DeleteDirectory_Fut                     ,0xff823720) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff82363c) //112 
    9394//NSTUB(DoAFLock                              ,0xff825b84) //102            == 0xff825b84 
  • trunk/platform/ixus980_sd990/sub/100e/stubs_entry.S

    r1448 r1612  
    9292NSTUB(CreateTask                              ,0xff81aef4) //101 
    9393NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     94NSTUB(DeleteDirectory_Fut                     ,0xff823504) //  1 
    9495NSTUB(DeleteFile_Fut                          ,0xff823420) //112 
    9596//NSTUB(EnterToCompensationEVF                ,0xff825b7c) //104            == 0xff825b7c 
  • trunk/platform/ixus980_sd990/sub/101b/stubs_entry.S

    r1448 r1612  
    9292NSTUB(CreateTask                              ,0xff81aef4) //101 
    9393NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     94NSTUB(DeleteDirectory_Fut                     ,0xff823504) //  1 
    9495NSTUB(DeleteFile_Fut                          ,0xff823420) //112 
    9596//NSTUB(EnterToCompensationEVF                ,0xff825b7c) //104            == 0xff825b7c 
  • trunk/platform/s5is/sub/101a/stubs_entry.S

    r1448 r1612  
    9090//NSTUB(CreateTask                            ,0xff81b9c4) //101            == 0xff81b9c4 
    9191NSTUB(DebugAssert                             ,0xff81bd94) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff8256d8) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff8255f4) //112 
    9394//NSTUB(DoAFLock                              ,0xff827c90) //103            == 0xff827c90 
  • trunk/platform/s5is/sub/101b/stubs_entry.S

    r1448 r1612  
    9090//NSTUB(CreateTask                            ,0xff81b8fc) //101            == 0xff81b8fc 
    9191NSTUB(DebugAssert                             ,0xff81bccc) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff825610) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff82552c) //112 
    9394//NSTUB(DoAFLock                              ,0xff827bc8) //103            == 0xff827bc8 
  • trunk/platform/s90/sub/100c/stubs_entry.S

    r1448 r1612  
    9292NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9393NSTUB(DebugAssert                             ,0xff81e88c) //111 
     94NSTUB(DeleteDirectory_Fut                     ,0xff834e84) //  1 
    9495NSTUB(DeleteFile_Fut                          ,0xff834da0) //112 
    9596//NSTUB(DoAFLock                              ,0xff836b98) //  4            == 0xff836b98 
  • trunk/platform/s90/sub/101a/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e5b4) //101 
    8989NSTUB(DebugAssert                             ,0xff81e88c) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff834e84) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff834da0) //112 
    9192//NSTUB(DoAFLock                              ,0xff836b98) //102            == 0xff836b98 
  • trunk/platform/s90/sub/101c/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e5b4) //101 
    8989NSTUB(DebugAssert                             ,0xff81e88c) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff834e84) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff834da0) //112 
    9192//NSTUB(DoAFLock                              ,0xff836b98) //102            == 0xff836b98 
  • trunk/platform/s95/sub/100e/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836a8c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff8369a8) //112 
    9394//NSTUB(DoAFLock                              ,0xff8388a0) //102            == 0xff8388a0 
  • trunk/platform/s95/sub/100h/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836a8c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff8369a8) //112 
    9394//NSTUB(DoAFLock                              ,0xff8388a0) //102            == 0xff8388a0 
  • trunk/platform/s95/sub/100i/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836a8c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff8369a8) //112 
    9394//NSTUB(DoAFLock                              ,0xff8388a0) //102            == 0xff8388a0 
  • trunk/platform/s95/sub/100k/stubs_entry.S

    r1448 r1612  
    9090NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9191NSTUB(DebugAssert                             ,0xff81eb78) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff836a8c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff8369a8) //112 
    9394//NSTUB(DoAFLock                              ,0xff8388a0) //102            == 0xff8388a0 
  • trunk/platform/sx1/sub/200h/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff81aef4) //101 
    8686NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff8233d4) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff8232f0) //112 
    8889//NSTUB(DoAFLock                              ,0xff825898) //102            == 0xff825898 
  • trunk/platform/sx1/sub/201a/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff81aef4) //101 
    8686NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff8233d4) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff8232f0) //112 
    8889//NSTUB(DoAFLock                              ,0xff825898) //102            == 0xff825898 
  • trunk/platform/sx10/sub/100c/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff81aef4) //101 
    8686NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff8233f4) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff823310) //112 
    8889//NSTUB(DoAFLock                              ,0xff825864) //102            == 0xff825864 
  • trunk/platform/sx10/sub/101a/stubs_entry.S

    r1448 r1612  
    8484NSTUB(CreateTask                              ,0xff81aef4) //101 
    8585NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     86NSTUB(DeleteDirectory_Fut                     ,0xff8233f4) //  1 
    8687NSTUB(DeleteFile_Fut                          ,0xff823310) //112 
    8788//NSTUB(DoAFLock                              ,0xff825864) //102            == 0xff825864 
  • trunk/platform/sx10/sub/101b/stubs_entry.S

    r1448 r1612  
    8484NSTUB(CreateTask                              ,0xff81aef4) //101 
    8585NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     86NSTUB(DeleteDirectory_Fut                     ,0xff8233f4) //  1 
    8687NSTUB(DeleteFile_Fut                          ,0xff823310) //112 
    8788//NSTUB(DoAFLock                              ,0xff825864) //102            == 0xff825864 
  • trunk/platform/sx10/sub/102b/stubs_entry.S

    r1448 r1612  
    8484NSTUB(CreateTask                              ,0xff81aef4) //101 
    8585NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     86NSTUB(DeleteDirectory_Fut                     ,0xff8233f4) //  1 
    8687NSTUB(DeleteFile_Fut                          ,0xff823310) //112 
    8788//NSTUB(DoAFLock                              ,0xff825864) //102            == 0xff825864 
  • trunk/platform/sx10/sub/103a/stubs_entry.S

    r1448 r1612  
    8484NSTUB(CreateTask                              ,0xff81aef4) //101 
    8585NSTUB(DebugAssert                             ,0xff81b1cc) //111 
     86NSTUB(DeleteDirectory_Fut                     ,0xff8233f4) //  1 
    8687NSTUB(DeleteFile_Fut                          ,0xff823310) //112 
    8788//NSTUB(DoAFLock                              ,0xff825864) //102            == 0xff825864 
  • trunk/platform/sx100is/sub/100b/stubs_entry.S

    r1448 r1612  
    9393NSTUB(CreateTask                              ,0xffc0bbb8) //101 
    9494NSTUB(DebugAssert                             ,0xffc0c090) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xffc14998) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xffc148b4) //112 
    9697//NSTUB(DoAFLock                              ,0xffc16f5c) //103            == 0xffc16f5c 
  • trunk/platform/sx100is/sub/100c/stubs_entry.S

    r1448 r1612  
    9494NSTUB(CreateTask                              ,0xffc0bbb8) //101 
    9595NSTUB(DebugAssert                             ,0xffc0c090) //111 
     96NSTUB(DeleteDirectory_Fut                     ,0xffc14998) //  1 
    9697NSTUB(DeleteFile_Fut                          ,0xffc148b4) //112 
    9798//NSTUB(DoAFLock                              ,0xffc16f5c) //103            == 0xffc16f5c 
  • trunk/platform/sx110is/sub/100b/stubs_entry.S

    r1448 r1612  
    9191NSTUB(CreateTask                              ,0xffc0b8c0) //101 
    9292NSTUB(DebugAssert                             ,0xffc0bd98) //111 
     93NSTUB(DeleteDirectory_Fut                     ,0xffc12cd8) //  1 
    9394NSTUB(DeleteFile_Fut                          ,0xffc12bf4) //112 
    9495//NSTUB(DoAFLock                              ,0xffc15048) //102            == 0xffc15048 
  • trunk/platform/sx120is/sub/100b/stubs_entry.S

    r1527 r1612  
    9898NSTUB(CreateTask                              ,0xffc0ad70) //101 
    9999NSTUB(DebugAssert                             ,0xffc0b048) //111 
     100NSTUB(DeleteDirectory_Fut                     ,0xffc13220) //  1 
    100101NSTUB(DeleteFile_Fut                          ,0xffc1313c) //112 
    101102NSTUB(DoAFLock                                ,0xffc1516c) //102 
  • trunk/platform/sx130is/sub/101c/stubs_entry.S

    r1448 r1612  
    9595NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9696//NSTUB(DebugAssert                           ,0xff81eb78) //111            == 0xff81eb78 
     97NSTUB(DeleteDirectory_Fut                     ,0xff836758) //  1 
    9798NSTUB(DeleteFile_Fut                          ,0xff836674) //112 
    9899//NSTUB(EnterToCompensationEVF                ,0xff838628) //104            == 0xff838628 
  • trunk/platform/sx130is/sub/101d/stubs_entry.S

    r1448 r1612  
    9595NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9696//NSTUB(DebugAssert                           ,0xff81eb78) //111            == 0xff81eb78 
     97NSTUB(DeleteDirectory_Fut                     ,0xff836758) //  1 
    9798NSTUB(DeleteFile_Fut                          ,0xff836674) //112 
    9899//NSTUB(EnterToCompensationEVF                ,0xff838628) //104            == 0xff838628 
  • trunk/platform/sx130is/sub/101f/stubs_entry.S

    r1448 r1612  
    9292NSTUB(CreateTask                              ,0xff81e8a0) //101 
    9393//NSTUB(DebugAssert                           ,0xff81eb78) //111            == 0xff81eb78 
     94NSTUB(DeleteDirectory_Fut                     ,0xff836758) //  1 
    9495NSTUB(DeleteFile_Fut                          ,0xff836674) //112 
    9596//NSTUB(DoAFLock                              ,0xff8384d8) //102            == 0xff8384d8 
  • trunk/platform/sx150is/sub/100a/stubs_entry.S

    r1598 r1612  
    9090NSTUB(CreateTask                              ,0xff81eae4) //101 
    9191NSTUB(DebugAssert                             ,0xff81edbc) //111 
     92NSTUB(DeleteDirectory_Fut                     ,0xff83678c) //  1 
    9293NSTUB(DeleteFile_Fut                          ,0xff8366a8) //112 
    9394NSTUB(DoAFLock                                ,0xff838934) //102 
  • trunk/platform/sx20/sub/100f/stubs_entry.S

    r1448 r1612  
    9191NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9292NSTUB(DebugAssert                             ,0xff81e88c) //111 
     93NSTUB(DeleteDirectory_Fut                     ,0xff834cec) //  1 
    9394NSTUB(DeleteFile_Fut                          ,0xff834c08) //112 
    9495NSTUB(EnterToCompensationEVF                  ,0xff836d84) //104 
  • trunk/platform/sx20/sub/102b/stubs_entry.S

    r1448 r1612  
    9393NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9494NSTUB(DebugAssert                             ,0xff81e88c) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff834cec) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff834c08) //112 
    9697//NSTUB(EnterToCompensationEVF                ,0xff836d84) //104            == 0xff836d84 
  • trunk/platform/sx20/sub/102d/stubs_entry.S

    r1448 r1612  
    9393NSTUB(CreateTask                              ,0xff81e5b4) //101 
    9494NSTUB(DebugAssert                             ,0xff81e88c) //111 
     95NSTUB(DeleteDirectory_Fut                     ,0xff834cec) //  1 
    9596NSTUB(DeleteFile_Fut                          ,0xff834c08) //112 
    9697//NSTUB(EnterToCompensationEVF                ,0xff836d84) //104            == 0xff836d84 
  • trunk/platform/sx200is/sub/100c/stubs_entry.S

    r1448 r1612  
    8585NSTUB(CreateTask                              ,0xff81afac) //101 
    8686NSTUB(DebugAssert                             ,0xff81b284) //111 
     87NSTUB(DeleteDirectory_Fut                     ,0xff823680) //  1 
    8788NSTUB(DeleteFile_Fut                          ,0xff82359c) //112 
    8889//NSTUB(DoAFLock                              ,0xff82560c) //102            == 0xff82560c 
  • trunk/platform/sx220hs/sub/100a/stubs_entry.S

    r1448 r1612  
    9797//NSTUB(CreateTask                            ,0xff00e9b0) //101            == 0xff00e9b0 
    9898//NSTUB(DebugAssert                           ,0xff00ec88) //111            == 0xff00ec88 
     99NSTUB(DeleteDirectory_Fut                     ,0xff026a80) //  1 
    99100//NSTUB(DeleteFile_Fut                        ,0xff02699c) //112            == 0xff02699c 
    100101//NSTUB(DoAFLock                              ,0xff028bd8) //102            == 0xff028bd8 
  • trunk/platform/sx220hs/sub/101a/stubs_entry.S

    r1448 r1612  
    9797//NSTUB(CreateTask                            ,0xff00e9b0) //101            == 0xff00e9b0 
    9898//NSTUB(DebugAssert                           ,0xff00ec88) //111            == 0xff00ec88 
     99NSTUB(DeleteDirectory_Fut                     ,0xff026a80) //  1 
    99100//NSTUB(DeleteFile_Fut                        ,0xff02699c) //112            == 0xff02699c 
    100101//NSTUB(DoAFLock                              ,0xff028bd8) //102            == 0xff028bd8 
  • trunk/platform/sx220hs/sub/101b/stubs_entry.S

    r1448 r1612  
    9797//NSTUB(CreateTask                            ,0xff00e9b0) //101            == 0xff00e9b0 
    9898//NSTUB(DebugAssert                           ,0xff00ec88) //111            == 0xff00ec88 
     99NSTUB(DeleteDirectory_Fut                     ,0xff026a80) //  1 
    99100//NSTUB(DeleteFile_Fut                        ,0xff02699c) //112            == 0xff02699c 
    100101//NSTUB(DoAFLock                              ,0xff028bd8) //102            == 0xff028bd8 
  • trunk/platform/sx230hs/sub/100c/stubs_entry.S

    r1448 r1612  
    9999NSTUB(CreateTask                              ,0xff00e9a8) //101 
    100100NSTUB(DebugAssert                             ,0xff00ec80) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xff026e50) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xff026d6c) //112 
    102103NSTUB(DoAFLock                                ,0xff029004) //102 
  • trunk/platform/sx230hs/sub/101a/stubs_entry.S

    r1448 r1612  
    9999NSTUB(CreateTask                              ,0xff00e9b0) //101 
    100100NSTUB(DebugAssert                             ,0xff00ec88) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xff026eb4) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xff026dd0) //112 
    102103NSTUB(DoAFLock                                ,0xff02900c) //102 
  • trunk/platform/sx230hs/sub/101b/stubs_entry.S

    r1448 r1612  
    9999NSTUB(CreateTask                              ,0xff00e9b0) //101 
    100100NSTUB(DebugAssert                             ,0xff00ec88) //111 
     101NSTUB(DeleteDirectory_Fut                     ,0xff026eb4) //  1 
    101102NSTUB(DeleteFile_Fut                          ,0xff026dd0) //112 
    102103NSTUB(DoAFLock                                ,0xff02900c) //102 
  • trunk/platform/sx30/sub/100e/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e8a0) //101 
    8989NSTUB(DebugAssert                             ,0xff81eb78) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff836b38) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff836a54) //112 
    9192NSTUB(DoAFLock                                ,0xff838ab8) //102 
  • trunk/platform/sx30/sub/100h/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e8a0) //101 
    8989NSTUB(DebugAssert                             ,0xff81eb78) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff836b38) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff836a54) //112 
    9192NSTUB(DoAFLock                                ,0xff838ab8) //102 
  • trunk/platform/sx30/sub/100l/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e8a0) //101 
    8989NSTUB(DebugAssert                             ,0xff81eb78) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff836b38) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff836a54) //112 
    9192NSTUB(DoAFLock                                ,0xff838ab8) //102 
  • trunk/platform/sx30/sub/100n/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e8a0) //101 
    8989NSTUB(DebugAssert                             ,0xff81eb78) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff836b38) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff836a54) //112 
    9192NSTUB(DoAFLock                                ,0xff838ab8) //102 
  • trunk/platform/sx30/sub/100p/stubs_entry.S

    r1448 r1612  
    8888NSTUB(CreateTask                              ,0xff81e8a0) //101 
    8989NSTUB(DebugAssert                             ,0xff81eb78) //111 
     90NSTUB(DeleteDirectory_Fut                     ,0xff836b38) //  1 
    9091NSTUB(DeleteFile_Fut                          ,0xff836a54) //112 
    9192NSTUB(DoAFLock                                ,0xff838ab8) //102 
  • trunk/platform/sx40hs/sub/100d/stubs_entry.S

    r1448 r1612  
    8989NSTUB(CreateTask                              ,0xff00eaf0) //101 
    9090NSTUB(DebugAssert                             ,0xff00edc8) //111 
     91NSTUB(DeleteDirectory_Fut                     ,0xff026fe0) //  1 
    9192NSTUB(DeleteFile_Fut                          ,0xff026efc) //112 
    9293NSTUB(DoAFLock                                ,0xff029330) //102 
  • trunk/platform/sx40hs/sub/100f/stubs_entry.S

    r1448 r1612  
    8989NSTUB(CreateTask                              ,0xff00eaf0) //101 
    9090NSTUB(DebugAssert                             ,0xff00edc8) //111 
     91NSTUB(DeleteDirectory_Fut                     ,0xff026fe0) //  1 
    9192NSTUB(DeleteFile_Fut                          ,0xff026efc) //112 
    9293NSTUB(DoAFLock                                ,0xff029330) //102 
  • trunk/platform/sx40hs/sub/100g/stubs_entry.S

    r1448 r1612  
    8989NSTUB(CreateTask                              ,0xff00eaf0) //101 
    9090NSTUB(DebugAssert                             ,0xff00edc8) //111 
     91NSTUB(DeleteDirectory_Fut                     ,0xff026fe0) //  1 
    9192NSTUB(DeleteFile_Fut                          ,0xff026efc) //112 
    9293NSTUB(DoAFLock                                ,0xff029330) //102 
  • trunk/platform/sx40hs/sub/100i/stubs_entry.S

    r1449 r1612  
    8989NSTUB(CreateTask                              ,0xff00eaf0) //101 
    9090NSTUB(DebugAssert                             ,0xff00edc8) //111 
     91NSTUB(DeleteDirectory_Fut                     ,0xff026fe0) //  1 
    9192NSTUB(DeleteFile_Fut                          ,0xff026efc) //112 
    9293NSTUB(DoAFLock                                ,0xff029330) //102 
  • trunk/tools/sig_ref_dryos_1.txt

    r1291 r1612  
    9494rename 0xFFC14840 17 
    9595MakeDirectory_Fut 0xFFC14908 28 
     96DeleteDirectory_Fut 0xFFC14978 19 
    9697SetFileTimeStamp 0xFFC15308 20 
    9798TurnOnBackLight 0xffc676dc 
  • trunk/tools/signatures_dryos.h

    r1291 r1612  
    29612961}; 
    29622962 
     2963static FuncSig func_sig_DeleteDirectory_Fut_1[] = { 
     2964        {   0, 0xe92d0000, 0xffff0000 }, // stm:5:0xE92D4070 
     2965        {   1, 0xe1a04000, 0xfdfff000 }, // mov:6:0xE1A04000 
     2966        {   2, 0xe1a01000, 0xfdfff000 }, // mov:6:0xE3A01001 
     2967        {   3, 0x0b000000, 0x0f000000 }, // b, bl:3:0xEB0000CA 
     2968        {   4, 0xe1a05000, 0xfdfff000 }, // mov:6:0xE1A05000 
     2969        {   5, 0xe1a00000, 0xfdfff000 }, // mov:6:0xE1A00004 
     2970        {   6, 0x0b000000, 0x0f000000 }, // b, bl:3:0xEB0000E8 
     2971        {   7, 0xe1a00000, 0xfdfff000 }, // mov:6:0xE1A00004 
     2972        {   8, 0x0b000000, 0x0f000000 }, // b, bl:3:0xEB0002B4 
     2973        {   9, 0xe1500000, 0xfdfff000 }, // cmp:7:0xE3500000 
     2974        {  10, 0x11a04000, 0xfdfff000 }, // mov:6:0x13A04000 
     2975        {  11, 0x0a000000, 0x0f000000 }, // b, bl:3:0x1A000002 
     2976        {  12, 0xe1a00000, 0xfdfff000 }, // mov:6:0xE1A00004 
     2977        {  13, 0x0b000000, 0x0f000000 }, // b, bl:3:0xEBFFFDD5 
     2978        {  14, 0xe00f4000, 0xf00ff000 }, // ldr:8:0xE59F44DC 
     2979        {  15, 0xe1a00000, 0xfdfff000 }, // mov:6:0xE1A00005 
     2980        {  16, 0x0b000000, 0x0f000000 }, // b, bl:3:0xEB0000C7 
     2981        {  17, 0xe1a00000, 0xfdfff000 }, // mov:6:0xE1A00004 
     2982        {  18, 0xe8bd0000, 0xffff0000 }, // ldm:5:0xE8BD8070 
     2983        /* 19/19 */ 
     2984        { -1, -1, -1 }, 
     2985}; 
     2986 
    29632987static FuncSig func_sig_SetFileTimeStamp_1[] = { 
    29642988        {   0, 0xe92d0000, 0xffff0000 }, // stm:5:0xE92D401C 
     
    77967820        { "CreateTask", func_sig_CreateTask_1, 1 }, 
    77977821        { "DebugAssert", func_sig_DebugAssert_4, 4 }, 
     7822        { "DeleteDirectory_Fut", func_sig_DeleteDirectory_Fut_1, 1 }, 
    77987823        { "DeleteFile_Fut", func_sig_DeleteFile_Fut_1, 1 }, 
    77997824        { "DoAFLock", func_sig_DoAFLock_4, 4 }, 
Note: See TracChangeset for help on using the changeset viewer.