Changeset 97


Ignore:
Timestamp:
04/11/07 19:14:18 (7 years ago)
Author:
GrAnd
Message:

Merged with trunk r96
+ Use zoom buttons for reader
+ Display button as back for menu

  • Sokoban redraw if solved
  • Minimal scrollbar size
Location:
branches/grand
Files:
30 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/grand/Makefile

    r67 r97  
    2323             $(topdir)/bin/main.bin\ 
    2424            $(PLATFORMID) 
    25         rm $(topdir)/bin/main.bin 
     25        mv $(topdir)/bin/main.bin $(topdir)/bin/DISKBOOT.BIN 
    2626        @echo "**** Firmware creation completed successfully" 
    2727 
     
    4040        LANG=C echo -e "hdk-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:`date -R`" | \ 
    4141            zip -9jc $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB).zip $(topdir)bin/PS.FIR > $(DEVNULL) 
     42        zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL) 
    4243        rm -f $(topdir)bin/PS.FIR 
     44        rm -f $(topdir)bin/DISKBOOT.BIN 
    4345 
    4446batch-zip: 
  • branches/grand/core/entry.S

    r1 r97  
    44 
    55_start: 
    6  
     6        MOV     R0, #2 
    77        TEQ     R0, #2 
    88        LDR     SP, =0x1900 
  • branches/grand/core/gui.c

    r94 r97  
    4444static void gui_load_script(int arg); 
    4545static void gui_draw_read(int arg); 
     46static void gui_menuproc_mkbootdisk(int arg); 
    4647#ifndef OPTIONS_AUTOSAVE 
    4748static void gui_menuproc_save(int arg); 
     
    109110    {"Memory browser",              MENUITEM_PROC,                      (int*)gui_draw_debug }, 
    110111    {"Dump RAM on ALT +/- press",   MENUITEM_BOOL,                      &conf.ns_enable_memdump }, 
     112    {"Make card bootable...",       MENUITEM_PROC,                      (int*)gui_menuproc_mkbootdisk }, 
    111113    {"<- Back",                     MENUITEM_UP }, 
    112114    {0} 
     
    830832 
    831833//------------------------------------------------------------------- 
     834void gui_menuproc_mkbootdisk(int arg) { 
     835    mark_filesystem_bootable(); 
     836} 
     837 
     838//------------------------------------------------------------------- 
  • branches/grand/core/gui_fselect.c

    r87 r97  
    271271            i=NUM_LINES*FONT_HEIGHT-1 -1; 
    272272            j=i*NUM_LINES/count; 
     273            if (j<20) j=20; 
    273274            i=(i-j)*selected->n/(count-1); 
    274275            draw_filled_rect(x+(1+NAME_SIZE+SPACING+SIZE_SIZE+SPACING+TIME_SIZE+1)*FONT_WIDTH+2, y+FONT_HEIGHT+4+1,  
  • branches/grand/core/gui_menu.c

    r74 r97  
    250250            } 
    251251            break; 
     252        case KEY_DISPLAY: 
     253            if (gui_menu_stack_ptr > 0){ 
     254                gui_menu_stack_ptr--; 
     255                gui_menu_set_curr_menu(gui_menu_stack[gui_menu_stack_ptr].menu, gui_menu_stack[gui_menu_stack_ptr].toppos, gui_menu_stack[gui_menu_stack_ptr].curpos); 
     256                gui_menu_redraw=2; 
     257                draw_restore(); 
     258                gui_force_restore(); 
     259            } 
     260            break; 
    252261    } 
    253262} 
     
    339348            i=NUM_LINES*FONT_HEIGHT-1 -1;           // full height 
    340349            j=i*NUM_LINES/count;                    // bar height 
     350            if (j<20) j=20; 
    341351            i=(i-j)*((gui_menu_curr_item<0)?0:gui_menu_curr_item)/(count-1);   // top pos 
    342352            draw_filled_rect((x+w)*FONT_WIDTH+2, y*FONT_HEIGHT+1,  
  • branches/grand/core/gui_read.c

    r91 r97  
    9898                i=h*FONT_HEIGHT-1 -1;           // full height 
    9999                j=i*s/read_file_size;           // bar height 
     100                if (j<20) j=20; 
    100101                i=(i-j)*conf.reader_pos/read_file_size;   // top pos 
    101102                draw_filled_rect((x+w)*FONT_WIDTH+2, y*FONT_HEIGHT+1,  
     
    118119void gui_read_kbd_process() { 
    119120    switch (kbd_get_clicked_key()) { 
     121        case KEY_ZOOM_OUT: 
    120122        case KEY_UP: 
    121123            if (conf.reader_pos>0) { 
     
    125127            } 
    126128            break; 
     129        case KEY_ZOOM_IN: 
    127130        case KEY_DOWN: 
    128131            if ((conf.reader_pos+read_on_screen)<read_file_size) { 
  • branches/grand/core/gui_sokoban.c

    r91 r97  
    174174            break; 
    175175    } 
    176     if (sokoban_finished()) { 
    177         gui_mbox_init("*** Finished ***", "YES!\n  You did it!  ", MBOX_TEXT_CENTER, NULL); 
    178         sokoban_next_level(); 
    179     } 
    180176} 
    181177 
     
    228224        draw_filled_rect(cell_size*FIELD_WIDTH+2, 8+FONT_HEIGHT*2, screen_width-1, screen_height-1, MAKE_COLOR(SCREEN_COLOR, SCREEN_COLOR)); 
    229225 
    230     } 
    231 } 
    232  
     226        if (sokoban_finished()) { 
     227            gui_mbox_init("*** Finished ***", "YES!\n  You did it!  ", MBOX_TEXT_CENTER, NULL); 
     228            sokoban_next_level(); 
     229        } 
     230    } 
     231} 
     232 
  • branches/grand/core/main.c

    r87 r97  
    7171} 
    7272 
     73 
    7374void core_spytask() 
    7475{ 
  • branches/grand/include/platform.h

    r88 r97  
    6868/******************************************************************/ 
    6969 
     70long get_tick_count(); 
     71 
     72void remount_filesystem(); 
     73void mark_filesystem_bootable(); 
     74 
     75/******************************************************************/ 
     76 
    7077long get_parameter_data(long id, void *buf, long bufsize); 
    7178long set_parameter_data(long id, void *buf, long bufsize); 
    7279long get_file_counter(); 
    7380long get_file_next_counter(); 
    74  
    75 long get_tick_count(); 
    7681 
    7782/******************************************************************/ 
  • branches/grand/loader/a610/entry.S

    r1 r97  
    44 
    55_start: 
     6 
     7// LED on (debug indicator) 
     8        LDR     R3, =0xc0220084 
     9        MOV     R2, #0x46 
     10        STR     R2, [R3] 
     11 
     12 
     13// Turn OFF SD Card power 
     14// to support autostart 
     15 
     16        LDR     R3, =0xC02200BC 
     17        MOV     R2, #0x44 
     18        STR     R2, [R3] 
     19 
     20 
     21// looks like idle cycle is required for proper shutdown 
     22        MOV     R3, #0x8000 
     23wait1: 
     24        SUB     R3, R3, #1 
     25        CMP     R3, #0 
     26        BNE     wait1 
     27 
     28// LED off 
     29        LDR     R3, =0xc0220084 
     30        MOV     R2, #0x44 
     31        STR     R2, [R3] 
     32 
    633        MOV     SP, #0x1900 
    734        MOV     R11, #0 
  • branches/grand/loader/a620/entry.S

    r1 r97  
    44 
    55_start: 
     6 
     7// LED on (debug indicator) 
     8        LDR     R3, =0xc0220084 
     9        MOV     R2, #0x46 
     10        STR     R2, [R3] 
     11 
     12 
     13// Turn OFF SD Card power 
     14// to support autostart 
     15 
     16        LDR     R3, =0xC02200BC 
     17        MOV     R2, #0x44 
     18        STR     R2, [R3] 
     19 
     20 
     21// looks like idle cycle is required for proper shutdown 
     22        MOV     R3, #0x8000 
     23wait1: 
     24        SUB     R3, R3, #1 
     25        CMP     R3, #0 
     26        BNE     wait1 
     27 
     28// LED off 
     29        LDR     R3, =0xc0220084 
     30        MOV     R2, #0x44 
     31        STR     R2, [R3] 
     32 
    633        MOV     SP, #0x1900 
    734        MOV     R11, #0 
  • branches/grand/loader/a630/entry.S

    r36 r97  
    44 
    55_start: 
     6 
     7// LED on (debug indicator) 
     8        LDR     R3, =0xc0220084 
     9        MOV     R2, #0x46 
     10        STR     R2, [R3] 
     11 
     12 
     13// Turn OFF SD Card power 
     14// to support autostart 
     15 
     16        LDR     R3, =0xC02200BC 
     17        MOV     R2, #0x44 
     18        STR     R2, [R3] 
     19 
     20 
     21// looks like idle cycle is required for proper shutdown 
     22        MOV     R3, #0x8000 
     23wait1: 
     24        SUB     R3, R3, #1 
     25        CMP     R3, #0 
     26        BNE     wait1 
     27 
     28// LED off 
     29        LDR     R3, =0xc0220084 
     30        MOV     R2, #0x44 
     31        STR     R2, [R3] 
     32 
    633        MOV     SP, #0x1900 
    734        MOV     R11, #0 
  • branches/grand/loader/a640/entry.S

    r67 r97  
    44 
    55_start: 
     6 
     7// LED on (debug indicator) 
     8        LDR     R3, =0xc0220084 
     9        MOV     R2, #0x46 
     10        STR     R2, [R3] 
     11 
     12 
     13// Turn OFF SD Card power 
     14// to support autostart 
     15 
     16        LDR     R3, =0xC02200BC 
     17        MOV     R2, #0x44 
     18        STR     R2, [R3] 
     19 
     20 
     21// looks like idle cycle is required for proper shutdown 
     22        MOV     R3, #0x8000 
     23wait1: 
     24        SUB     R3, R3, #1 
     25        CMP     R3, #0 
     26        BNE     wait1 
     27 
     28// LED off 
     29        LDR     R3, =0xc0220084 
     30        MOV     R2, #0x44 
     31        STR     R2, [R3] 
     32 
    633        MOV     SP, #0x1900 
    734        MOV     R11, #0 
  • branches/grand/loader/a710/entry.S

    r6 r97  
    44 
    55_start: 
     6 
     7// LED on (debug indicator) 
     8        LDR     R3, =0xc0220084 
     9        MOV     R2, #0x46 
     10        STR     R2, [R3] 
     11 
     12 
     13// Turn OFF SD Card power 
     14// to support autostart 
     15 
     16        LDR     R3, =0xC022009C 
     17        MOV     R2, #0x44 
     18        STR     R2, [R3] 
     19 
     20 
     21// looks like idle cycle is required for proper shutdown 
     22        MOV     R3, #0x8000 
     23wait1: 
     24        SUB     R3, R3, #1 
     25        CMP     R3, #0 
     26        BNE     wait1 
     27 
     28// LED off 
     29        LDR     R3, =0xc0220084 
     30        MOV     R2, #0x44 
     31        STR     R2, [R3] 
     32 
    633        MOV     SP, #0x1900 
    734        MOV     R11, #0 
  • branches/grand/makefile.inc

    r67 r97  
    1 VER=test4-pre9 
     1VER=test1-pre10_boot 
    22 
    33PLATFORM=a610 
  • branches/grand/platform/a610/main.c

    r88 r97  
    2828extern void RefreshPhysicalScreen(long f); 
    2929extern long IsStrobeChargeCompleted(); 
    30  
     30extern void Unmount_FileSystem(); 
     31extern void Mount_FileSystem(); 
     32 
     33/* Canon stuff with nonoriginal naming */ 
    3134extern long GetParameterData(long id, void *buf, long size); 
    3235extern long SetParameterData(long id, void *buf, long size); 
     36extern void UpdateMBROnFlash(int driveno, long offset, char *str); 
    3337 
    3438/* Ours stuff */ 
     
    3842extern void boot(); 
    3943extern void *get_parameter_data_magic_pointer(); 
     44 
     45#define SD_READONLY_FLAG (0x20000) 
    4046 
    4147/* 
     
    7278    taskprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
    7379} 
     80 
     81static void (*taskfsprev)( 
     82    long p0,    long p1,    long p2,    long p3,    long p4, 
     83    long p5,    long p6,    long p7,    long p8,    long p9); 
     84 
     85 
     86static void task_fs( 
     87    long p0,    long p1,    long p2,    long p3,    long p4, 
     88    long p5,    long p6,    long p7,    long p8,    long p9) 
     89{ 
     90 
     91    remount_filesystem(); 
     92 
     93    taskfsprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
     94} 
     95 
    7496 
    7597int my_ncmp(const char *s1, const char *s2, long len) 
     
    111133            *entry = (long)task_empty; 
    112134        }*/ 
     135 
     136        if (my_ncmp(name, "tInitFileM", 10) == 0){ 
     137            taskfsprev = (void*)(*entry); 
     138            *entry = (long)task_fs; 
     139        } 
     140 
    113141        core_hook_task_create(pNewTcb); 
    114142    } 
     
    290318#endif 
    291319 
     320 
    292321    if (kbd_process() == 0){ 
    293322        // leave it alone... 
     
    295324        physw_status[1] = kbd_new_state[1]; 
    296325        physw_status[2] = kbd_new_state[2]; 
    297 #if 1 
     326#if 0 
    298327        kbd_mod_state = kbd_new_state[2]; 
    299328#endif 
    300329    } else { 
    301330        // override keys 
    302 #if 1 
     331#if 0 
    303332        physw_status[2] = kbd_mod_state; 
    304333#else 
     
    310339    } 
    311340 
    312     kbd_read_keys_r2(physw_status); // have no idea what's that 
    313      
     341    kbd_read_keys_r2(physw_status); 
     342    physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG; 
     343 
    314344    kbd_pwr_off(); 
     345 
    315346} 
    316347 
     
    707738    int mode, i, t=0xFF; 
    708739 
    709     mode  = (kbd_mod_state & 0x00002000)?MODE_REC:MODE_PLAY; 
    710     mode |= (kbd_mod_state & 0x00008000)?0:MODE_SCREEN_OPENED; 
    711     mode |= (kbd_mod_state & 0x00004000)?0:MODE_SCREEN_ROTATED; 
     740    mode  = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY; 
     741    mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED; 
     742    mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED; 
    712743     
    713744    GetPropertyCase(0, &t, 4); 
     
    756787    return ((get_file_counter()>>4)+1)<<4; 
    757788} 
     789 
     790/* stub */ 
     791void remount_filesystem() 
     792{ 
     793    Unmount_FileSystem(); 
     794    Mount_FileSystem(); 
     795} 
     796 
     797void mark_filesystem_bootable() 
     798{ 
     799    UpdateMBROnFlash(0, 0x40, "BOOTDISK"); 
     800} 
  • branches/grand/platform/a610/sub/100e/boot.c

    r67 r97  
    77extern int taskCreateHookAdd (void *createHook); 
    88extern int taskDeleteHookAdd (void *deleteHook); 
     9extern long iosDevAdd(void*,void*,int); 
     10extern long iosDrvInstall(void*,void*,void*,void*,void*,void*,void*); 
    911 
    1012/* Ours stuff */ 
     
    112114} 
    113115 
     116static long drv_struct[16]; 
     117 
     118long dh_err() 
     119{ 
     120    return -1; 
     121} 
     122 
     123void drv_self_hide() 
     124{ 
     125    long drvnum; 
     126     
     127    drvnum = iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 
     128    if (drvnum >= 0) 
     129        iosDevAdd(drv_struct, "A/DISKBOOT.BIN", drvnum); 
     130} 
    114131 
    115132void  h_usrRoot() 
     
    140157    taskDeleteHookAdd(deleteHook); 
    141158 
     159    drv_self_hide(); 
     160 
    142161    asm volatile ( 
    143162        "LDMFD   SP!, {R4,R5,LR}\n" 
     
    146165} 
    147166 
    148  
  • branches/grand/platform/a610/sub/100e/stubs_entry.S

    r87 r97  
    3232NSTUB(IsStrobeChargeCompleted, 0xffcebe00) 
    3333NSTUB(MakeDirectory, 0xffc5c9b0) 
     34NSTUB(Mount_FileSystem, 0xffc5b9c0) 
    3435NSTUB(Open, 0xffc5c6e4) 
    3536NSTUB(PhySw_testgpio, 0xffc17658) 
     
    4142NSTUB(SleepTask, 0xffc11164) 
    4243NSTUB(TakeSemaphore, 0xffc10c60) 
     44NSTUB(Unmount_FileSystem, 0xffc5bac8) 
     45NSTUB(UpdateMBROnFlash, 0xffc5bc20) 
    4346NSTUB(VbattGet, 0xffc1b4cc) 
    4447NSTUB(Write, 0xffc5c7ac) 
     
    5962NSTUB(ints_enable, 0xffc0d5f8) 
    6063NSTUB(ioctl, 0xffebbf9c) 
     64NSTUB(iosDevAdd, 0xffebd07c) 
     65NSTUB(iosDrvInstall, 0xffebd340) 
    6166NSTUB(isalpha, 0xffeb1d70) 
    6267// ALT: NSTUB(isalpha, 0xffeb1d70) // 4/0 
  • branches/grand/platform/a610/sub/100f/boot.c

    r67 r97  
    77extern int taskCreateHookAdd (void *createHook); 
    88extern int taskDeleteHookAdd (void *deleteHook); 
     9extern long iosDevAdd(void*,void*,int); 
     10extern long iosDrvInstall(void*,void*,void*,void*,void*,void*,void*); 
    911 
    1012/* Ours stuff */ 
     
    112114} 
    113115 
     116static long drv_struct[16]; 
     117  
     118long dh_err() 
     119{ 
     120    return -1; 
     121} 
     122 
     123void drv_self_hide() 
     124{ 
     125    long drvnum; 
     126     
     127    drvnum = iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 
     128    if (drvnum >= 0) 
     129        iosDevAdd(drv_struct, "A/DISKBOOT.BIN", drvnum); 
     130} 
     131 
    114132 
    115133void  h_usrRoot() 
     
    139157    taskDeleteHookAdd(deleteHook); 
    140158 
     159    drv_self_hide(); 
     160 
    141161    asm volatile ( 
    142162        "LDMFD   SP!, {R4,R5,LR}\n" 
  • branches/grand/platform/a620/main.c

    r88 r97  
    2828extern void RefreshPhysicalScreen(long f); 
    2929extern long IsStrobeChargeCompleted(); 
     30extern void Unmount_FileSystem(); 
     31extern void Mount_FileSystem(); 
    3032 
    3133extern long GetParameterData(long id, void *buf, long size); 
    3234extern long SetParameterData(long id, void *buf, long size); 
     35extern void UpdateMBROnFlash(int driveno, long offset, char *str); 
    3336 
    3437/* Ours stuff */ 
     
    3841extern void boot(); 
    3942 
     43#define SD_READONLY_FLAG (0x20000) 
    4044 
    4145/* 
     
    7175 
    7276    taskprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
     77} 
     78 
     79static void (*taskfsprev)( 
     80    long p0,    long p1,    long p2,    long p3,    long p4, 
     81    long p5,    long p6,    long p7,    long p8,    long p9); 
     82 
     83 
     84static void task_fs( 
     85    long p0,    long p1,    long p2,    long p3,    long p4, 
     86    long p5,    long p6,    long p7,    long p8,    long p9) 
     87{ 
     88 
     89    remount_filesystem(); 
     90 
     91    taskfsprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
    7392} 
    7493 
     
    99118            *entry = (long)mykbd_task; 
    100119        } 
     120 
     121        if (my_ncmp(name, "tInitFileM", 10) == 0){ 
     122            taskfsprev = (void*)(*entry); 
     123            *entry = (long)task_fs; 
     124        } 
     125 
    101126        core_hook_task_create(pNewTcb); 
    102127    } 
     
    283308        physw_status[1] = kbd_new_state[1]; 
    284309        physw_status[2] = kbd_new_state[2]; 
    285 #if 1 
     310#if 0 
    286311        kbd_mod_state = kbd_new_state[2]; 
    287312#endif 
    288313    } else { 
    289314        // override keys 
    290 #if 1 
     315#if 0 
    291316        physw_status[2] = kbd_mod_state; 
    292317#else 
     
    298323    } 
    299324 
    300     kbd_read_keys_r2(physw_status); // have no idea what's that 
     325    kbd_read_keys_r2(physw_status); 
     326    physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG; 
    301327     
    302328    kbd_pwr_off(); 
     
    733759    return ((get_file_counter()>>4)+1)<<4; 
    734760} 
     761 
     762/* stub */ 
     763void remount_filesystem() 
     764{ 
     765    Unmount_FileSystem(); 
     766    Mount_FileSystem(); 
     767} 
     768 
     769void mark_filesystem_bootable() 
     770{ 
     771    UpdateMBROnFlash(0, 0x40, "BOOTDISK"); 
     772} 
  • branches/grand/platform/a620/sub/100f/boot.c

    r67 r97  
    77extern int taskCreateHookAdd (void *createHook); 
    88extern int taskDeleteHookAdd (void *deleteHook); 
     9extern long iosDevAdd(void*,void*,int); 
     10extern long iosDrvInstall(void*,void*,void*,void*,void*,void*,void*); 
    911 
    1012/* Ours stuff */ 
     
    112114} 
    113115 
     116static long drv_struct[16]; 
     117  
     118long dh_err() 
     119{ 
     120    return -1; 
     121} 
     122 
     123void drv_self_hide() 
     124{ 
     125    long drvnum; 
     126     
     127    drvnum = iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 
     128    if (drvnum >= 0) 
     129        iosDevAdd(drv_struct, "A/DISKBOOT.BIN", drvnum); 
     130} 
     131 
    114132 
    115133void  h_usrRoot() 
     
    139157    taskDeleteHookAdd(deleteHook); 
    140158 
     159    drv_self_hide(); 
     160 
    141161    asm volatile ( 
    142162        "LDMFD   SP!, {R4,R5,LR}\n" 
  • branches/grand/platform/a630/main.c

    r89 r97  
    2828extern void RefreshPhysicalScreen(long f); 
    2929extern long IsStrobeChargeCompleted(); 
     30extern void Unmount_FileSystem(); 
     31extern void Mount_FileSystem(); 
    3032 
    3133extern long GetParameterData(long id, void *buf, long size); 
    3234extern long SetParameterData(long id, void *buf, long size); 
     35extern void UpdateMBROnFlash(int driveno, long offset, char *str); 
    3336 
    3437/* Ours stuff */ 
     
    3841extern void boot(); 
    3942 
     43#define SD_READONLY_FLAG (0x20000) 
    4044 
    4145/* 
     
    7175 
    7276    taskprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
     77} 
     78 
     79static void (*taskfsprev)( 
     80    long p0,    long p1,    long p2,    long p3,    long p4, 
     81    long p5,    long p6,    long p7,    long p8,    long p9); 
     82 
     83 
     84static void task_fs( 
     85    long p0,    long p1,    long p2,    long p3,    long p4, 
     86    long p5,    long p6,    long p7,    long p8,    long p9) 
     87{ 
     88 
     89    remount_filesystem(); 
     90 
     91    taskfsprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
    7392} 
    7493 
     
    99118            *entry = (long)mykbd_task; 
    100119        } 
     120 
     121        if (my_ncmp(name, "tInitFileM", 10) == 0){ 
     122            taskfsprev = (void*)(*entry); 
     123            *entry = (long)task_fs; 
     124        } 
     125 
    101126        core_hook_task_create(pNewTcb); 
    102127    } 
     
    283308        physw_status[1] = kbd_new_state[1]; 
    284309        physw_status[2] = kbd_new_state[2]; 
    285 #if 1 
     310#if 0 
    286311        kbd_mod_state = kbd_new_state[2]; 
    287312#endif 
    288313    } else { 
    289314        // override keys 
    290 #if 1 
     315#if 0 
    291316        physw_status[2] = kbd_mod_state; 
    292317#else 
     
    298323    } 
    299324 
    300     kbd_read_keys_r2(physw_status); // have no idea what's that 
     325    kbd_read_keys_r2(physw_status); 
     326    physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG; 
    301327     
    302328    kbd_pwr_off(); 
     
    733759    return get_file_counter(); 
    734760} 
     761 
     762/* stub */ 
     763void remount_filesystem() 
     764{ 
     765    Unmount_FileSystem(); 
     766    Mount_FileSystem(); 
     767} 
     768 
     769void mark_filesystem_bootable() 
     770{ 
     771    UpdateMBROnFlash(0, 0x40, "BOOTDISK"); 
     772} 
  • branches/grand/platform/a630/sub/100c/boot.c

    r67 r97  
    77extern int taskCreateHookAdd (void *createHook); 
    88extern int taskDeleteHookAdd (void *deleteHook); 
     9extern long iosDevAdd(void*,void*,int); 
     10extern long iosDrvInstall(void*,void*,void*,void*,void*,void*,void*); 
    911 
    1012/* Ours stuff */ 
     
    112114} 
    113115 
     116static long drv_struct[16]; 
     117  
     118long dh_err() 
     119{ 
     120    return -1; 
     121} 
     122 
     123void drv_self_hide() 
     124{ 
     125    long drvnum; 
     126     
     127    drvnum = iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 
     128    if (drvnum >= 0) 
     129        iosDevAdd(drv_struct, "A/DISKBOOT.BIN", drvnum); 
     130} 
     131 
    114132 
    115133void  h_usrRoot() 
     
    136154    taskDeleteHookAdd(deleteHook); 
    137155 
     156    drv_self_hide(); 
     157 
    138158    asm volatile ( 
    139159        "LDMFD   SP!, {R4,R5,LR}\n" 
  • branches/grand/platform/a640/main.c

    r89 r97  
    2828extern void RefreshPhysicalScreen(long f); 
    2929extern long IsStrobeChargeCompleted(); 
     30extern void Unmount_FileSystem(); 
     31extern void Mount_FileSystem(); 
    3032 
    3133extern long GetParameterData(long id, void *buf, long size); 
    3234extern long SetParameterData(long id, void *buf, long size); 
     35extern void UpdateMBROnFlash(int driveno, long offset, char *str); 
    3336 
    3437/* Ours stuff */ 
     
    3841extern void boot(); 
    3942 
     43#define SD_READONLY_FLAG (0x20000) 
    4044 
    4145/* 
     
    7175 
    7276    taskprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
     77} 
     78 
     79static void (*taskfsprev)( 
     80    long p0,    long p1,    long p2,    long p3,    long p4, 
     81    long p5,    long p6,    long p7,    long p8,    long p9); 
     82 
     83 
     84static void task_fs( 
     85    long p0,    long p1,    long p2,    long p3,    long p4, 
     86    long p5,    long p6,    long p7,    long p8,    long p9) 
     87{ 
     88 
     89    remount_filesystem(); 
     90 
     91    taskfsprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
    7392} 
    7493 
     
    99118            *entry = (long)mykbd_task; 
    100119        } 
     120 
     121        if (my_ncmp(name, "tInitFileM", 10) == 0){ 
     122            taskfsprev = (void*)(*entry); 
     123            *entry = (long)task_fs; 
     124        } 
     125 
    101126        core_hook_task_create(pNewTcb); 
    102127    } 
     
    283308        physw_status[1] = kbd_new_state[1]; 
    284309        physw_status[2] = kbd_new_state[2]; 
    285 #if 1 
     310#if 0 
    286311        kbd_mod_state = kbd_new_state[2]; 
    287312#endif 
    288313    } else { 
    289314        // override keys 
    290 #if 1 
     315#if 0 
    291316        physw_status[2] = kbd_mod_state; 
    292317#else 
     
    298323    } 
    299324 
    300     kbd_read_keys_r2(physw_status); // have no idea what's that 
     325    kbd_read_keys_r2(physw_status); 
     326    physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG; 
    301327     
    302328    kbd_pwr_off(); 
     
    733759    return get_file_counter(); 
    734760} 
     761 
     762/* stub */ 
     763void remount_filesystem() 
     764{ 
     765    Unmount_FileSystem(); 
     766    Mount_FileSystem(); 
     767} 
     768 
     769void mark_filesystem_bootable() 
     770{ 
     771    UpdateMBROnFlash(0, 0x40, "BOOTDISK"); 
     772} 
  • branches/grand/platform/a640/sub/100b/boot.c

    r67 r97  
    77extern int taskCreateHookAdd (void *createHook); 
    88extern int taskDeleteHookAdd (void *deleteHook); 
     9extern long iosDevAdd(void*,void*,int); 
     10extern long iosDrvInstall(void*,void*,void*,void*,void*,void*,void*); 
    911 
    1012/* Ours stuff */ 
     
    112114} 
    113115 
     116static long drv_struct[16]; 
     117  
     118long dh_err() 
     119{ 
     120    return -1; 
     121} 
     122 
     123void drv_self_hide() 
     124{ 
     125    long drvnum; 
     126     
     127    drvnum = iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 
     128    if (drvnum >= 0) 
     129        iosDevAdd(drv_struct, "A/DISKBOOT.BIN", drvnum); 
     130} 
     131 
    114132 
    115133void  h_usrRoot() 
     
    136154    taskDeleteHookAdd(deleteHook); 
    137155 
     156    drv_self_hide(); 
     157 
    138158    asm volatile ( 
    139159        "LDMFD   SP!, {R4,R5,LR}\n" 
  • branches/grand/platform/a710/main.c

    r88 r97  
    2828extern void RefreshPhysicalScreen(long f); 
    2929extern long IsStrobeChargeCompleted(); 
     30extern void Unmount_FileSystem(); 
     31extern void Mount_FileSystem(); 
    3032 
    3133extern long GetParameterData(long id, void *buf, long size); 
    3234extern long SetParameterData(long id, void *buf, long size); 
     35extern void UpdateMBROnFlash(int driveno, long offset, char *str); 
    3336 
    3437/* Ours stuff */ 
     
    3841extern void boot(); 
    3942 
     43#define SD_READONLY_FLAG (0x20000) 
    4044 
    4145/* 
     
    7175 
    7276    taskprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
     77} 
     78 
     79static void (*taskfsprev)( 
     80    long p0,    long p1,    long p2,    long p3,    long p4, 
     81    long p5,    long p6,    long p7,    long p8,    long p9); 
     82 
     83 
     84static void task_fs( 
     85    long p0,    long p1,    long p2,    long p3,    long p4, 
     86    long p5,    long p6,    long p7,    long p8,    long p9) 
     87{ 
     88 
     89    remount_filesystem(); 
     90 
     91    taskfsprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); 
    7392} 
    7493 
     
    99118            *entry = (long)mykbd_task; 
    100119        } 
     120 
     121        if (my_ncmp(name, "tInitFileM", 10) == 0){ 
     122            taskfsprev = (void*)(*entry); 
     123            *entry = (long)task_fs; 
     124        } 
     125 
    101126        core_hook_task_create(pNewTcb); 
    102127    } 
     
    283308        physw_status[1] = kbd_new_state[1]; 
    284309        physw_status[2] = kbd_new_state[2]; 
    285 #if 1 
     310#if 0 
    286311        kbd_mod_state = kbd_new_state[2]; 
    287312#endif 
    288313    } else { 
    289314        // override keys 
    290 #if 1 
     315#if 0 
    291316        physw_status[2] = kbd_mod_state; 
    292317#else 
     
    298323    } 
    299324 
    300     kbd_read_keys_r2(physw_status); // have no idea what's that 
     325    kbd_read_keys_r2(physw_status); 
     326    physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG; 
    301327     
    302328    kbd_pwr_off(); 
     
    739765    return get_file_counter(); 
    740766} 
     767 
     768/* stub */ 
     769void remount_filesystem() 
     770{ 
     771    Unmount_FileSystem(); 
     772    Mount_FileSystem(); 
     773} 
     774 
     775void mark_filesystem_bootable() 
     776{ 
     777    UpdateMBROnFlash(0, 0x40, "BOOTDISK"); 
     778} 
  • branches/grand/platform/a710/sub/100a/boot.c

    r67 r97  
    77extern int taskCreateHookAdd (void *createHook); 
    88extern int taskDeleteHookAdd (void *deleteHook); 
     9extern long iosDevAdd(void*,void*,int); 
     10extern long iosDrvInstall(void*,void*,void*,void*,void*,void*,void*); 
    911 
    1012/* Ours stuff */ 
     
    112114} 
    113115 
     116static long drv_struct[16]; 
     117  
     118long dh_err() 
     119{ 
     120    return -1; 
     121} 
     122 
     123void drv_self_hide() 
     124{ 
     125    long drvnum; 
     126     
     127    drvnum = iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 
     128    if (drvnum >= 0) 
     129        iosDevAdd(drv_struct, "A/DISKBOOT.BIN", drvnum); 
     130} 
     131 
    114132 
    115133void  h_usrRoot() 
     
    136154    taskDeleteHookAdd(deleteHook); 
    137155 
     156    drv_self_hide(); 
     157 
    138158    asm volatile ( 
    139159        "LDMFD   SP!, {R4,R5,LR}\n" 
  • branches/grand/tools/sig_ref_1.txt

    r87 r97  
    9797Feof_Fut 0xFFC55D80 
    9898DeleteFile_Fut 0xFFC55A2C 
     99iosDevAdd 0xFFEBD07C 
     100iosDrvInstall 0xFFEBD340 
     101Unmount_FileSystem 0xFFC5BAC8 
     102Mount_FileSystem 0xFFC5B9C0 
     103UpdateMBROnFlash 0xFFC5BC20 
  • branches/grand/tools/sig_ref_2.txt

    r87 r97  
    3737Feof_Fut 0xFFC5A1C8 
    3838DeleteFile_Fut 0xFFC59E74 
     39Mount_FileSystem 0xffc602ec 
  • branches/grand/tools/signatures.h

    r87 r97  
    26752675}; 
    26762676 
     2677static FuncSig func_sig_iosDevAdd_1[] = { 
     2678        {   1, 0xe1a0a000, 0xfdffffff }, // mov:6:0xE1A0A000 
     2679        {   2, 0xe1a0b001, 0xfdffffff }, // mov:6:0xE1A0B001 
     2680        {   3, 0xe1a09002, 0xfdffffff }, // mov:6:0xE1A09002 
     2681        {   4, 0xe1a00001, 0xfdffffff }, // mov:6:0xE1A00001 
     2682        {   5, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFFC3 
     2683        {   6, 0xe1b01000, 0xfdffffff }, // mov:6:0xE1B01000 
     2684        {   7, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000008 
     2685        {   8, 0xe590000c, 0xfdffffff }, // ldr:4:0xE590000C 
     2686        {   9, 0xe1a0100b, 0xfdffffff }, // mov:6:0xE1A0100B 
     2687        {  10, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFE292 
     2688        {  11, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 
     2689        {  12, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000003 
     2690        {  13, 0xe59f036c, 0xfdffffff }, // ldr:4:0xE59F036C 
     2691        {  14, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFED51 
     2692        {  16, 0xea000000, 0xff000000 }, // b, bl:3:0xEA000011 
     2693        {  17, 0xe1a0000b, 0xfdffffff }, // mov:6:0xE1A0000B 
     2694        {  18, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFE348 
     2695        {  19, 0xe0800001, 0xfdffffff }, // add:6:0xE2800001 
     2696        {  20, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB000772 
     2697        {  21, 0xe1b01000, 0xfdffffff }, // mov:6:0xE1B01000 
     2698        {  23, 0xe58a100c, 0xfdffffff }, // str:4:0xE58A100C 
     2699        {  25, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000008 
     2700        {  26, 0xe1a00001, 0xfdffffff }, // mov:6:0xE1A00001 
     2701        {  27, 0xe1a0100b, 0xfdffffff }, // mov:6:0xE1A0100B 
     2702        {  28, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFE2E5 
     2703        {  29, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF6B 
     2704        {  30, 0xe59f02f8, 0xfdffffff }, // ldr:4:0xE59F02F8 
     2705        {  31, 0xe1a0100a, 0xfdffffff }, // mov:6:0xE1A0100A 
     2706        { -1, -1, -1 }, 
     2707        /* 28/32 */ 
     2708}; 
     2709 
     2710static FuncSig func_sig_iosDrvInstall_1[] = { 
     2711        {   1, 0xe59d8024, 0xfdffffff }, // ldr:4:0xE59D8024 
     2712        {   2, 0xe59d9028, 0xfdffffff }, // ldr:4:0xE59D9028 
     2713        {   3, 0xe1a0b000, 0xfdffffff }, // mov:6:0xE3A0B000 
     2714        {   4, 0xe1a07000, 0xfdffffff }, // mov:6:0xE1A07000 
     2715        {   5, 0xe1a06001, 0xfdffffff }, // mov:6:0xE1A06001 
     2716        {   6, 0xe1a05002, 0xfdffffff }, // mov:6:0xE1A05002 
     2717        {   7, 0xe1a04003, 0xfdffffff }, // mov:6:0xE1A04003 
     2718        {   8, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFECF 
     2719        {   9, 0xe59f00bc, 0xfdffffff }, // ldr:4:0xE59F00BC 
     2720        {  10, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 
     2721        {  11, 0xe1500001, 0xfdffffff }, // cmp:7:0xE3500001 
     2722        {  12, 0xda000000, 0xff000000 }, // b, bl:3:0xDA00000D 
     2723        {  13, 0xe59fc08c, 0xfdffffff }, // ldr:4:0xE59FC08C 
     2724        {  14, 0xe040a001, 0xfdffffff }, // sub:6:0xE240A001 
     2725        {  15, 0xe59cc000, 0xfdffffff }, // ldr:4:0xE59CC000 
     2726        {  16, 0xe08c1020, 0xfdffffff }, // add:6:0xE28C1020 
     2727        {  17, 0xe591c01c, 0xfdffffff }, // ldr:4:0xE591C01C 
     2728        {  18, 0xe15c0000, 0xfdffffff }, // cmp:7:0xE35C0000 
     2729        {  19, 0x01a0b001, 0xfdffffff }, // mov:6:0x01A0B001 
     2730        {  20, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000002 
     2731        {  21, 0xe05aa001, 0xfdffffff }, // sub:6:0xE25AA001 
     2732        {  22, 0xe0811020, 0xfdffffff }, // add:6:0xE2811020 
     2733        {  23, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFF8 
     2734        {  24, 0xe15b0000, 0xfdffffff }, // cmp:7:0xE35B0000 
     2735        {  25, 0xe040a00a, 0xfdffffff }, // sub:6:0xE040A00A 
     2736        {  26, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000004 
     2737        {  27, 0xe59f008c, 0xfdffffff }, // ldr:4:0xE59F008C 
     2738        {  28, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFEC92 
     2739        {  29, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFEBD 
     2740        {  31, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00000B 
     2741        { -1, -1, -1 }, 
     2742        /* 30/32 */ 
     2743}; 
     2744 
     2745static FuncSig func_sig_Unmount_FileSystem_1[] = { 
     2746        {   1, 0xe04dd004, 0xfdffffff }, // sub:6:0xE24DD004 
     2747        {   2, 0xe1a0600d, 0xfdffffff }, // mov:6:0xE1A0600D 
     2748        {   3, 0xe59f1044, 0xfdffffff }, // ldr:4:0xE59F1044 
     2749        {   4, 0xe1a02002, 0xfdffffff }, // mov:6:0xE3A02002 
     2750        {   5, 0xe1a00006, 0xfdffffff }, // mov:6:0xE1A00006 
     2751        {   6, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0967C9 
     2752        {   7, 0xe59fc038, 0xfdffffff }, // ldr:4:0xE59FC038 
     2753        {   8, 0xe59fe038, 0xfdffffff }, // ldr:4:0xE59FE038 
     2754        {   9, 0xe1a03000, 0xfdffffff }, // mov:6:0xE3A03000 
     2755        {  10, 0xe59f4034, 0xfdffffff }, // ldr:4:0xE59F4034 
     2756        {  11, 0xe58e3000, 0xfdffffff }, // str:4:0xE58E3000 
     2757        {  12, 0xe0835041, 0xfdffffff }, // add:6:0xE2835041 
     2758        {  13, 0xe08c1054, 0xfdffffff }, // add:6:0xE28C1054 
     2759        {  15, 0xe1a00006, 0xfdffffff }, // mov:6:0xE1A00006 
     2760        {  16, 0xe5843000, 0xfdffffff }, // str:4:0xE5843000 
     2761        {  18, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB0006AD 
     2762        {  19, 0xe08dd004, 0xfdffffff }, // add:6:0xE28DD004 
     2763        {  21, 0xe1a0f00e, 0xfdffffff }, // mov:6:0xE1A0F00E    /* RET found, stopping... */ 
     2764        { -1, -1, -1 }, 
     2765        /* 18/32 */ 
     2766}; 
     2767 
     2768static FuncSig func_sig_Mount_FileSystem_1[] = { 
     2769        {   1, 0xe1a05000, 0xfdffffff }, // mov:6:0xE3A05000 
     2770        {   2, 0xe59f6064, 0xfdffffff }, // ldr:4:0xE59F6064 
     2771        {   3, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     2772        {   4, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFE88 
     2773        {   5, 0xe5960038, 0xfdffffff }, // ldr:4:0xE5960038 
     2774        {   6, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFC42 
     2775        {   7, 0xe0501000, 0xfdffffff }, // sub:6:0xE2501000 
     2776        {   8, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     2777        {   9, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000005 
     2778        {  10, 0xe59f3048, 0xfdffffff }, // ldr:4:0xE59F3048 
     2779        {  11, 0xe59f2048, 0xfdffffff }, // ldr:4:0xE59F2048 
     2780        {  12, 0xe5831000, 0xfdffffff }, // str:4:0xE5831000 
     2781        {  13, 0xe59f3044, 0xfdffffff }, // ldr:4:0xE59F3044 
     2782        {  14, 0xe5821000, 0xfdffffff }, // str:4:0xE5821000 
     2783        {  15, 0xe5831000, 0xfdffffff }, // str:4:0xE5831000 
     2784        {  16, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFE90 
     2785        {  17, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     2786        {  18, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF58 
     2787        {  19, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 
     2788        {  20, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     2789        {  21, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF77 
     2790        {  22, 0xe0044000, 0xfdffffff }, // and:6:0xE0044000 
     2791        {  23, 0xe1a02004, 0xfdffffff }, // mov:6:0xE1A02004 
     2792        {  24, 0xe1a00006, 0xfdffffff }, // mov:6:0xE1A00006 
     2793        {  25, 0xe596103c, 0xfdffffff }, // ldr:4:0xE596103C 
     2794        {  26, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFFD0 
     2795        {  27, 0xe5860040, 0xfdffffff }, // str:4:0xE5860040 
     2796        {  29, 0x0002e008, 0xfdffffff }, // and:6:0x0002E008 
     2797        {  30, 0x00002830, 0xfdffffff }, // and:6:0x00002830 
     2798        {  31, 0x00002828, 0xfdffffff }, // and:6:0x00002828 
     2799        { -1, -1, -1 }, 
     2800        /* 30/32 */ 
     2801}; 
     2802 
     2803static FuncSig func_sig_UpdateMBROnFlash_1[] = { 
     2804        {   1, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 
     2805        {   2, 0xe1a09002, 0xfdffffff }, // mov:6:0xE1A09002 
     2806        {   3, 0xe1a07001, 0xfdffffff }, // mov:6:0xE1A07001 
     2807        {   4, 0xe1a02000, 0xfdffffff }, // mov:6:0xE3A02000 
     2808        {   5, 0xe1a01c02, 0xfdffffff }, // mov:6:0xE3A01C02 
     2809        {   6, 0xe1a00003, 0xfdffffff }, // mov:6:0xE3A00003 
     2810        {   7, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFE9AFB 
     2811        {   8, 0xe59f5074, 0xfdffffff }, // ldr:4:0xE59F5074 
     2812        {   9, 0xe0843084, 0xfdffffff }, // add:6:0xE0843084 
     2813        {  10, 0xe0644183, 0xfdffffff }, // rsb:6:0xE0644183 
     2814        {  11, 0xe1a04104, 0xfdffffff }, // mov:6:0xE1A04104 
     2815        {  12, 0xe1a06000, 0xfdffffff }, // mov:6:0xE1A06000 
     2816        {  13, 0xe0858038, 0xfdffffff }, // add:6:0xE2858038 
     2817        {  14, 0xe085a044, 0xfdffffff }, // add:6:0xE285A044 
     2818        {  15, 0xe085c04c, 0xfdffffff }, // add:6:0xE285C04C 
     2819        {  16, 0xe1a03006, 0xfdffffff }, // mov:6:0xE1A03006 
     2820        {  17, 0xe59a1004, 0xfdffffff }, // ldr:4:0xE79A1004 
     2821        {  18, 0xe1a02001, 0xfdffffff }, // mov:6:0xE3A02001 
     2822        {  19, 0xe5980004, 0xfdffffff }, // ldr:4:0xE7980004 
     2823        {  20, 0xe1a0e00f, 0xfdffffff }, // mov:6:0xE1A0E00F 
     2824        {  21, 0xe59cf004, 0xfdffffff }, // ldr:4:0xE79CF004 
     2825        {  22, 0xe1a00009, 0xfdffffff }, // mov:6:0xE1A00009 
     2826        {  23, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB09685A 
     2827        {  24, 0xe0867007, 0xfdffffff }, // add:6:0xE0867007 
     2828        {  25, 0xe1a02000, 0xfdffffff }, // mov:6:0xE1A02000 
     2829        {  26, 0xe1a01009, 0xfdffffff }, // mov:6:0xE1A01009 
     2830        {  27, 0xe1a00007, 0xfdffffff }, // mov:6:0xE1A00007 
     2831        {  28, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB09687F 
     2832        {  29, 0xe0855050, 0xfdffffff }, // add:6:0xE2855050 
     2833        {  30, 0xe5980004, 0xfdffffff }, // ldr:4:0xE7980004 
     2834        {  31, 0xe59a1004, 0xfdffffff }, // ldr:4:0xE79A1004 
     2835        { -1, -1, -1 }, 
     2836        /* 31/32 */ 
     2837}; 
     2838 
    26772839static FuncSig func_sig_GetSystemTime_2[] = { 
    26782840        {   1, 0xe59f6030, 0xfdffffff }, // ldr:4:0xE59F6030 
     
    37143876        { -1, -1, -1 }, 
    37153877        /* 27/32 */ 
     3878}; 
     3879 
     3880static FuncSig func_sig_Mount_FileSystem_2[] = { 
     3881        {   1, 0xe1a05000, 0xfdffffff }, // mov:6:0xE3A05000 
     3882        {   2, 0xe59f6064, 0xfdffffff }, // ldr:4:0xE59F6064 
     3883        {   3, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     3884        {   4, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFE74 
     3885        {   5, 0xe5960038, 0xfdffffff }, // ldr:4:0xE5960038 
     3886        {   6, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFC22 
     3887        {   7, 0xe0501000, 0xfdffffff }, // sub:6:0xE2501000 
     3888        {   8, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     3889        {   9, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000005 
     3890        {  10, 0xe59f3048, 0xfdffffff }, // ldr:4:0xE59F3048 
     3891        {  11, 0xe59f2048, 0xfdffffff }, // ldr:4:0xE59F2048 
     3892        {  12, 0xe5831000, 0xfdffffff }, // str:4:0xE5831000 
     3893        {  13, 0xe59f3044, 0xfdffffff }, // ldr:4:0xE59F3044 
     3894        {  14, 0xe5821000, 0xfdffffff }, // str:4:0xE5821000 
     3895        {  15, 0xe5831000, 0xfdffffff }, // str:4:0xE5831000 
     3896        {  16, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFE7C 
     3897        {  17, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     3898        {  18, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF44 
     3899        {  19, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 
     3900        {  20, 0xe1a00005, 0xfdffffff }, // mov:6:0xE1A00005 
     3901        {  21, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF63 
     3902        {  22, 0xe0044000, 0xfdffffff }, // and:6:0xE0044000 
     3903        {  23, 0xe1a02004, 0xfdffffff }, // mov:6:0xE1A02004 
     3904        {  24, 0xe1a00006, 0xfdffffff }, // mov:6:0xE1A00006 
     3905        {  25, 0xe596103c, 0xfdffffff }, // ldr:4:0xE596103C 
     3906        {  26, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFFD0 
     3907        {  27, 0xe5860040, 0xfdffffff }, // str:4:0xE5860040 
     3908        {  29, 0x0002c4a8, 0xfdffffff }, // and:6:0x0002C4A8 
     3909        {  30, 0x00002750, 0xfdffffff }, // and:6:0x00002750 
     3910        {  31, 0x00002748, 0xfdffffff }, // and:6:0x00002748 
     3911        { -1, -1, -1 }, 
     3912        /* 30/32 */ 
    37163913}; 
    37173914 
     
    37583955        { "IsStrobeChargeCompleted", func_sig_IsStrobeChargeCompleted_2 }, 
    37593956        { "MakeDirectory", func_sig_MakeDirectory_1 }, 
     3957        { "Mount_FileSystem", func_sig_Mount_FileSystem_1 }, 
     3958        { "Mount_FileSystem", func_sig_Mount_FileSystem_2 }, 
    37603959        { "Open", func_sig_Open_1 }, 
    37613960        { "PhySw_testgpio", func_sig_PhySw_testgpio_1 }, 
     
    37713970        { "SleepTask", func_sig_SleepTask_1 }, 
    37723971        { "TakeSemaphore", func_sig_TakeSemaphore_1 }, 
     3972        { "Unmount_FileSystem", func_sig_Unmount_FileSystem_1 }, 
     3973        { "UpdateMBROnFlash", func_sig_UpdateMBROnFlash_1 }, 
    37733974        { "VbattGet", func_sig_VbattGet_1 }, 
    37743975        { "VbattGet", func_sig_VbattGet_2 }, 
     
    37913992        { "ints_enable", func_sig_ints_enable_1 }, 
    37923993        { "ioctl", func_sig_ioctl_1 }, 
     3994        { "iosDevAdd", func_sig_iosDevAdd_1 }, 
     3995        { "iosDrvInstall", func_sig_iosDrvInstall_1 }, 
    37933996        { "isalpha", func_sig_isalpha_1 }, 
    37943997        { "isalpha", func_sig_isalpha_2 }, 
Note: See TracChangeset for help on using the changeset viewer.