--- np2/embed/menu/filesel.c 2004/01/10 20:15:43 1.2 +++ np2/embed/menu/filesel.c 2004/06/18 16:58:11 1.7 @@ -20,15 +20,23 @@ enum { DID_FILTER }; -static const BYTE str_dirname[] = { // ファイルの場所 - 0xcc,0xa7,0xb2,0xd9,0x82,0xcc,0x8f,0xea,0x8f,0x8a,0}; -static const BYTE str_filename[] = { // ファイル名 - 0xcc,0xa7,0xb2,0xd9,0x96,0xbc,0}; -static const BYTE str_filetype[] = { // ファイルの種類 - 0xcc,0xa7,0xb2,0xd9,0x82,0xcc,0x8e,0xed,0x97,0xde,0}; -static const BYTE str_open[] = { // 開く - 0x8a,0x4a,0x82,0xad,0}; - +#if 1 + // ファイルの場所 +static const char str_dirname[] = + "\203\164\203\100\203\103\203\213\202\314\217\352\217\212"; + // ファイル名 +static const char str_filename[] = "\203\164\203\100\203\103\203\213\226\274"; + // ファイルの種類 +static const char str_filetype[] = + "\203\164\203\100\203\103\203\213\202\314\216\355\227\336"; + // 開く +static const char str_open[] = "\212\112\202\255"; +#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) enum { @@ -208,14 +216,7 @@ static void dlgsetlist(void) { do { append = FALSE; if (fli.attr & 0x10) { -#if defined(WIN32) && !defined(_WIN32_WCE) - if ((file_cmpname(fli.path, ".")) && - (file_cmpname(fli.path, ".."))) { - append = TRUE; - } -#else append = TRUE; -#endif } else if (!(fli.attr & 0x08)) { append = checkext(fli.path, filesel.ext); @@ -386,16 +387,23 @@ 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 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 hddext[] = "thd\0hdi\0"; +static const char sasiext[] = "thd\0nhd\0hdi\0"; 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]; @@ -406,14 +414,32 @@ 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) { - if (selectfile(&hddprm, path, sizeof(path), np2cfg.hddfile[drv])) { - diskdrv_sethdd(drv, path); + num = drv & 0x0f; + p = NULL; + 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); + } }