diff --git a/ALGEBRA.G1A b/ALGEBRA.G1A index d3132e9..14e6ec7 100644 Binary files a/ALGEBRA.G1A and b/ALGEBRA.G1A differ diff --git a/INIT/CasioRAM.mem b/INIT/CasioRAM.mem index 44f9da7..a8ebc89 100644 Binary files a/INIT/CasioRAM.mem and b/INIT/CasioRAM.mem differ diff --git a/INIT/CasioUserROM.mem b/INIT/CasioUserROM.mem index 0585b92..ff84453 100644 Binary files a/INIT/CasioUserROM.mem and b/INIT/CasioUserROM.mem differ diff --git a/console.c b/console.c index 6c53aeb..9f1b939 100644 --- a/console.c +++ b/console.c @@ -546,29 +546,30 @@ int Console_GetKey() int Console_FMenu(int key) { - unsigned char *entries[MAX_MENU_ITEMS] = {NULL}; - if(key == KEY_CTRL_F1) { - /*entries[0] = (unsigned char *)Console_Make_Entry((const unsigned char *)"sqrt("); + //unsigned char *entries[MAX_MENU_ITEMS] = {NULL}; + return Console_Draw_FMenu(key, &FMenu_entries[key-KEY_CTRL_F1]); + /*/if(key == KEY_CTRL_F1) { + entries[0] = (unsigned char *)Console_Make_Entry((const unsigned char *)"sqrt("); entries[1] = (unsigned char *)Console_Make_Entry((const unsigned char *)"cos("); entries[2] = (unsigned char *)Console_Make_Entry((const unsigned char *)"root("); - return Console_Draw_FMenu(key, entries);*/ - return Console_Draw_FMenu(key, /*entries*/&FMenu_entries[0]); + //return Console_Draw_FMenu(key, entries); + return Console_Draw_FMenu(key, &FMenu_entries[0]); } if(key == KEY_CTRL_F2) { - return Console_Draw_FMenu(key, /*entries*/&FMenu_entries[1]); + return Console_Draw_FMenu(key, &FMenu_entries[1]); } if(key == KEY_CTRL_F3) { - return Console_Draw_FMenu(key, /*entries*/&FMenu_entries[2]); + return Console_Draw_FMenu(key, &FMenu_entries[2]); } if(key == KEY_CTRL_F4) { - return Console_Draw_FMenu(key, /*entries*/&FMenu_entries[3]); + return Console_Draw_FMenu(key, &FMenu_entries[3]); } if(key == KEY_CTRL_F5) { - return Console_Draw_FMenu(key, /*entries*/&FMenu_entries[4]); + return Console_Draw_FMenu(key, &FMenu_entries[4]); } if(key == KEY_CTRL_F6) { - return Console_Draw_FMenu(key, /*entries*/&FMenu_entries[5]); - } + return Console_Draw_FMenu(key, &FMenu_entries[5]); + }*/ return 0; } @@ -669,13 +670,26 @@ int Console_Init() void Console_FMenu_Init() { //ToDo : handle when there's no file ... - int i, number=0, key; + int i, number=0, key, handle; //unsigned char debug[40] = {'\0'}; unsigned char* tmp_realloc = NULL; unsigned char temp[20] = {'\0'}; unsigned char* original_cfg; unsigned char* cfg = memory_load("\\\\fls0\\FMENU.cfg"); + + // Does the file exists ? + // Todo : check the error codes... + if(!cfg) { + unsigned char conf_standard[] = {"F2\ncos(\nsin(\ntan(\nF1\ntest(\ntest(\nF4\nje(\nsuis(\nvivant(\nF5\nabdibol(\ngeorges(\ngali(\npom(\npom(\nde(\natol(\nF6\nreturn(\nsolve(\nF3solve(\nfactor(\nsimplify(\nmatrix(\nd("}; + memory_createfile("\\\\fls0\\FMENU.cfg", strlen(conf_standard)+1); + handle = memory_openfile("\\\\fls0\\FMENU.cfg", _OPENMODE_READWRITE); + memory_writefile(handle, conf_standard, strlen(conf_standard)+1); + memory_closefile(handle); + + cfg = memory_load("\\\\fls0\\FMENU.cfg"); + } + original_cfg = cfg; while(*cfg) {