| version 1.1, 2003/11/28 08:01:32 | version 1.11, 2004/06/21 03:18:04 | 
| Line 20  enum { | Line 20  enum { | 
 | DID_FILTER | DID_FILTER | 
 | }; | }; | 
 |  |  | 
| static const BYTE str_dirname[] = {             // ファイルの場所 | #if !defined(RESOURCE_US) && (!defined(CHARSET_OEM) || defined(OSLANG_SJIS)) | 
| 0xcc,0xa7,0xb2,0xd9,0x82,0xcc,0x8f,0xea,0x8f,0x8a,0}; | static const char str_dirname[] =                               // ファイルの場所 | 
| static const BYTE str_filename[] = {    // ファイル名 | "\203\164\203\100\203\103\203\213\202\314\217\352\217\212"; | 
| 0xcc,0xa7,0xb2,0xd9,0x96,0xbc,0}; | static const char str_filename[] =                              // ファイル名 | 
| static const BYTE str_filetype[] = {    // ファイルの種類 | "\203\164\203\100\203\103\203\213\226\274"; | 
| 0xcc,0xa7,0xb2,0xd9,0x82,0xcc,0x8e,0xed,0x97,0xde,0}; | static const char str_filetype[] =                              // ファイルの種類 | 
| static const BYTE str_open[] = {                // 開く | "\203\164\203\100\203\103\203\213\202\314\216\355\227\336"; | 
| 0x8a,0x4a,0x82,0xad,0}; | static const char str_open[] =                                  // 開く | 
|  | "\212\112\202\255"; | 
|  | #elif defined(OSLANG_EUC) | 
|  | static const char str_dirname[] =                               // ファイルの場所 | 
|  | "\245\325\245\241\245\244\245\353\244\316\276\354\275\352"; | 
|  | static const char str_filename[] =                              // ファイル名 | 
|  | "\245\325\245\241\245\244\245\353\314\276"; | 
|  | static const char str_filetype[] =                              // ファイルの種類 | 
|  | "\245\325\245\241\245\244\245\353\244\316\274\357\316\340"; | 
|  | static const char str_open[] =                                  // 開く | 
|  | "\263\253\244\257"; | 
|  | #elif defined(OSLANG_UTF8) && !defined(RESOURCE_US) | 
|  | static const char str_dirname[] =                               // ファイルの場所 | 
|  | "\343\203\225\343\202\241\343\202\244\343\203\253\343\201\256" \ | 
|  | "\345\240\264\346\211\200"; | 
|  | static const char str_filename[] =                              // ファイル名 | 
|  | "\343\203\225\343\202\241\343\202\244\343\203\253\345\220\215"; | 
|  | static const char str_filetype[] =                              // ファイルの種類 | 
|  | "\343\203\225\343\202\241\343\202\244\343\203\253\343\201\256" \ | 
|  | "\347\250\256\351\241\236"; | 
|  | static const char str_open[] =                                  // 開く | 
|  | "\351\226\213\343\201\217"; | 
|  | #else | 
|  | static const char str_dirname[] = "Look in"; | 
|  | static const char str_filename[] = "File name"; | 
|  | static const char str_filetype[] = "Files of type"; | 
|  | static const char str_open[] = "Open"; | 
|  | #endif | 
 |  |  | 
 | #if defined(SIZE_QVGA) | #if defined(SIZE_QVGA) | 
 | enum { | enum { | 
| Line 129  static FLIST getflist(int pos) { | Line 155  static FLIST getflist(int pos) { | 
 | return(ret); | return(ret); | 
 | } | } | 
 |  |  | 
| static BOOL fappend(LISTARRAY flist, FILEFINDT *fft) { | static BOOL fappend(LISTARRAY flist, FLINFO *fli) { | 
 |  |  | 
 | FLIST   fl; | FLIST   fl; | 
 | FLIST   *st; | FLIST   *st; | 
| Line 139  static BOOL fappend(LISTARRAY flist, FIL | Line 165  static BOOL fappend(LISTARRAY flist, FIL | 
 | if (fl == NULL) { | if (fl == NULL) { | 
 | return(FAILURE); | return(FAILURE); | 
 | } | } | 
| fl->isdir = (fft->attr & 0x10)?1:0; | fl->isdir = (fli->attr & 0x10)?1:0; | 
| file_cpyname(fl->name, fft->path, sizeof(fl->name)); | file_cpyname(fl->name, fli->path, sizeof(fl->name)); | 
 | st = &filesel.fbase; | st = &filesel.fbase; | 
 | while(1) { | while(1) { | 
 | cur = *st; | cur = *st; | 
| Line 181  const char *p; | Line 207  const char *p; | 
 | static void dlgsetlist(void) { | static void dlgsetlist(void) { | 
 |  |  | 
 | LISTARRAY       flist; | LISTARRAY       flist; | 
| FILEFINDH       ffh; | FLISTH          flh; | 
| FILEFINDT       fft; | FLINFO          fli; | 
 | BOOL            append; | BOOL            append; | 
 | FLIST           fl; | FLIST           fl; | 
 | ITEMEXPRM       prm; | ITEMEXPRM       prm; | 
| #if defined(OSLANG_EUC) | #if defined(OSLANG_EUC) || defined(OSLANG_UTF8) | 
 | char            sjis[MAX_PATH]; | char            sjis[MAX_PATH]; | 
 | #endif | #endif | 
 |  |  | 
| Line 196  static void dlgsetlist(void) { | Line 222  static void dlgsetlist(void) { | 
 | codecnv_euc2sjis(sjis, sizeof(sjis), | codecnv_euc2sjis(sjis, sizeof(sjis), | 
 | file_getname(filesel.path), (UINT)-1); | file_getname(filesel.path), (UINT)-1); | 
 | menudlg_settext(DID_FOLDER, sjis); | menudlg_settext(DID_FOLDER, sjis); | 
 |  | #elif defined(OSLANG_UTF8) | 
 |  | oemtext_oem2sjis(sjis, sizeof(sjis), | 
 |  | file_getname(filesel.path), (UINT)-1); | 
 |  | menudlg_settext(DID_FOLDER, sjis); | 
 | #else | #else | 
 | menudlg_settext(DID_FOLDER, file_getname(filesel.path)); | menudlg_settext(DID_FOLDER, file_getname(filesel.path)); | 
 | #endif | #endif | 
| Line 203  static void dlgsetlist(void) { | Line 233  static void dlgsetlist(void) { | 
 | flist = listarray_new(sizeof(_FLIST), 64); | flist = listarray_new(sizeof(_FLIST), 64); | 
 | filesel.flist = flist; | filesel.flist = flist; | 
 | filesel.fbase = NULL; | filesel.fbase = NULL; | 
| ffh = file_find1st(filesel.path, &fft); | flh = file_list1st(filesel.path, &fli); | 
| if (ffh != FILEFINDH_INVALID) { | if (flh != FLISTH_INVALID) { | 
 | do { | do { | 
 | append = FALSE; | append = FALSE; | 
| if (fft.attr & 0x10) { | if (fli.attr & 0x10) { | 
| #if defined(WIN32) && !defined(_WIN32_WCE) |  | 
| if ((file_cmpname(fft.path, ".")) && |  | 
| (file_cmpname(fft.path, ".."))) { |  | 
| append = TRUE; |  | 
| } |  | 
| #else |  | 
 | append = TRUE; | append = TRUE; | 
 | #endif |  | 
 | } | } | 
| else if (!(fft.attr & 0x08)) { | else if (!(fli.attr & 0x08)) { | 
| append = checkext(fft.path, filesel.ext); | append = checkext(fli.path, filesel.ext); | 
 | } | } | 
 | if (append) { | if (append) { | 
| if (fappend(flist, &fft) != SUCCESS) { | if (fappend(flist, &fli) != SUCCESS) { | 
 | break; | break; | 
 | } | } | 
 | } | } | 
| } while(file_findnext(ffh, &fft) == SUCCESS); | } while(file_listnext(flh, &fli) == SUCCESS); | 
| file_findclose(ffh); | file_listclose(flh); | 
 | } | } | 
 | prm.pos = 0; | prm.pos = 0; | 
 | fl = filesel.fbase; | fl = filesel.fbase; | 
| Line 236  static void dlgsetlist(void) { | Line 259  static void dlgsetlist(void) { | 
 | #if defined(OSLANG_EUC) | #if defined(OSLANG_EUC) | 
 | codecnv_euc2sjis(sjis, sizeof(sjis), fl->name, (UINT)-1); | codecnv_euc2sjis(sjis, sizeof(sjis), fl->name, (UINT)-1); | 
 | prm.str = sjis; | prm.str = sjis; | 
 |  | #elif defined(OSLANG_UTF8) | 
 |  | oemtext_oem2sjis(sjis, sizeof(sjis), fl->name, (UINT)-1); | 
 |  | prm.str = sjis; | 
 | #else | #else | 
 | prm.str = fl->name; | prm.str = fl->name; | 
 | #endif | #endif | 
| Line 247  static void dlgsetlist(void) { | Line 273  static void dlgsetlist(void) { | 
 |  |  | 
 | static void dlginit(void) { | static void dlginit(void) { | 
 |  |  | 
| #if defined(OSLANG_EUC) | #if defined(OSLANG_EUC) || defined(OSLANG_UTF8) | 
 | char    sjis[MAX_PATH]; | char    sjis[MAX_PATH]; | 
 | #endif | #endif | 
 |  |  | 
| Line 257  static void dlginit(void) { | Line 283  static void dlginit(void) { | 
 | codecnv_euc2sjis(sjis, sizeof(sjis), | codecnv_euc2sjis(sjis, sizeof(sjis), | 
 | file_getname(filesel.path), (UINT)-1); | file_getname(filesel.path), (UINT)-1); | 
 | menudlg_settext(DID_FILE, sjis); | menudlg_settext(DID_FILE, sjis); | 
 |  | #elif defined(OSLANG_UTF8) | 
 |  | oemtext_oem2sjis(sjis, sizeof(sjis), | 
 |  | file_getname(filesel.path), (UINT)-1); | 
 |  | menudlg_settext(DID_FILE, sjis); | 
 | #else | #else | 
 | menudlg_settext(DID_FILE, file_getname(filesel.path)); | menudlg_settext(DID_FILE, file_getname(filesel.path)); | 
 | #endif | #endif | 
| Line 290  static BOOL dlgupdate(void) { | Line 320  static BOOL dlgupdate(void) { | 
 | static void dlgflist(void) { | static void dlgflist(void) { | 
 |  |  | 
 | FLIST   fl; | FLIST   fl; | 
| #if defined(OSLANG_EUC) | #if defined(OSLANG_EUC) || defined(OSLANG_UTF8) | 
 | char    sjis[MAX_PATH]; | char    sjis[MAX_PATH]; | 
 | #endif | #endif | 
 |  |  | 
| Line 299  static void dlgflist(void) { | Line 329  static void dlgflist(void) { | 
 | #if defined(OSLANG_EUC) | #if defined(OSLANG_EUC) | 
 | codecnv_euc2sjis(sjis, sizeof(sjis), fl->name, (UINT)-1); | codecnv_euc2sjis(sjis, sizeof(sjis), fl->name, (UINT)-1); | 
 | menudlg_settext(DID_FILE, sjis); | menudlg_settext(DID_FILE, sjis); | 
 |  | #elif defined(OSLANG_UTF8) | 
 |  | oemtext_oem2sjis(sjis, sizeof(sjis), fl->name, (UINT)-1); | 
 |  | menudlg_settext(DID_FILE, sjis); | 
 | #else | #else | 
 | menudlg_settext(DID_FILE, fl->name); | menudlg_settext(DID_FILE, fl->name); | 
 | #endif | #endif | 
| Line 386  const char *title; | Line 419  const char *title; | 
 |  |  | 
 | // ---- | // ---- | 
 |  |  | 
| static const char diskfilter[] = "All supported Files"; | static const char diskfilter[] = "All supported files"; | 
 | static const char fddtitle[] = "Select floppy image"; | static const char fddtitle[] = "Select floppy image"; | 
| static const char fddext[] = "d88\088d\0d98\098d\0xdf\0hdm\0dup\02hd\0tfd\0"; | static const char fddext[] = "d88\088d\0d98\098d\0fdi\0" \ | 
|  | "xdf\0hdm\0dup\02hd\0tfd\0"; | 
 | static const char hddtitle[] = "Select HDD image"; | static const char hddtitle[] = "Select HDD image"; | 
| static const char hddext[] = "thd\0hdi\0"; | static const char sasiext[] = "thd\0nhd\0hdi\0"; | 
 |  |  | 
 | static const FSELPRM fddprm = {fddtitle, diskfilter, fddext}; | static const FSELPRM fddprm = {fddtitle, diskfilter, fddext}; | 
| static const FSELPRM hddprm = {hddtitle, diskfilter, hddext}; | static const FSELPRM sasiprm = {hddtitle, diskfilter, sasiext}; | 
|  |  | 
|  | #if defined(SUPPORT_SCSI) | 
|  | static const char scsiext[] = "hdd\0"; | 
|  | static const FSELPRM scsiprm = {hddtitle, diskfilter, scsiext}; | 
|  | #endif | 
|  |  | 
 |  |  | 
| void filesel_fdd(BYTE drv) { | void filesel_fdd(REG8 drv) { | 
 |  |  | 
 | char    path[MAX_PATH]; | char    path[MAX_PATH]; | 
 |  |  | 
| Line 406  void filesel_fdd(BYTE drv) { | Line 446  void filesel_fdd(BYTE drv) { | 
 | } | } | 
 | } | } | 
 |  |  | 
| void filesel_sasi(BYTE drv) { | void filesel_hdd(REG8 drv) { | 
 |  |  | 
| char    path[MAX_PATH]; | UINT            num; | 
|  | char            *p; | 
|  | const FSELPRM   *prm; | 
|  | char            path[MAX_PATH]; | 
 |  |  | 
| if (drv < 2) { | num = drv & 0x0f; | 
| if (selectfile(&hddprm, path, sizeof(path), np2cfg.hddfile[drv])) { | p = NULL; | 
| diskdrv_sethdd(drv, path); | prm = NULL; | 
|  | if (!(drv & 0x20)) {            // SASI/IDE | 
|  | if (num < 2) { | 
|  | p = np2cfg.sasihdd[num]; | 
|  | prm = &sasiprm; | 
|  | } | 
|  | } | 
|  | #if defined(SUPPORT_SCSI) | 
|  | else {                                          // SCSI | 
|  | if (num < 4) { | 
|  | p = np2cfg.scsihdd[num]; | 
|  | prm = &scsiprm; | 
 | } | } | 
 | } | } | 
 |  | #endif | 
 |  | if ((prm) && (selectfile(prm, path, sizeof(path), p))) { | 
 |  | diskdrv_sethdd(drv, path); | 
 |  | } | 
 | } | } | 
 |  |  |