| version 1.14, 2005/03/24 01:42:47 | version 1.19, 2007/11/11 07:11:28 | 
| Line 13 | Line 13 | 
 | #include        "fddfile.h" | #include        "fddfile.h" | 
 | #include        "newdisk.h" | #include        "newdisk.h" | 
 |  |  | 
|  | static const FSPARAM fpFDD = | 
| static const TCHAR fddui_title[] = _T("Select floppy image"); | { | 
| static const TCHAR fddui_filter[] =                                                                             \ | MAKEINTRESOURCE(IDS_FDDTITLE), | 
| _T("D88 image files (*.D88;*.D98)\0")                                   \ | MAKEINTRESOURCE(IDS_FDDEXT), | 
| _T("*.d88;*.88d;*.d98;*.98d\0")                 \ | MAKEINTRESOURCE(IDS_FDDFILTER), | 
| _T("Floppy disk images (*.XDF;*.HDM;*.DUP;*.2HD)\0")    \ | 3 | 
| _T("*.xdf;*.hdm;*.dup;*.2hd;*.tfd\0")   \ | }; | 
| _T("All supported Files\0")                                                             \ |  | 
| _T("*.d88;*.88d;*.d98;*.98d;*.fdi;")    \ |  | 
| _T("*.xdf;*.hdm;*.dup;*.2hd;*.tfd\0")   \ |  | 
| _T("All files (*.*)\0*.*\0"); |  | 
| static const FILESEL fddui = {fddui_title, tchar_d88, fddui_filter, 3}; |  | 
 |  |  | 
 | #if defined(SUPPORT_SASI) | #if defined(SUPPORT_SASI) | 
| static const TCHAR sasiui_title[] = _T("Select SASI/IDE HDD image"); | static const FSPARAM fpSASI = | 
| #else | { | 
| static const TCHAR sasiui_title[] = _T("Select HDD image"); | MAKEINTRESOURCE(IDS_SASITITLE), | 
| #endif | MAKEINTRESOURCE(IDS_HDDEXT), | 
| static const TCHAR sasiui_filter[] =                                                                    \ | MAKEINTRESOURCE(IDS_HDDFILTER), | 
| _T("Anex86 harddisk image files (*.HDI)\0")                             \ | 4 | 
| _T("*.hdi\0")                                                   \ | }; | 
| _T("T98 harddisk image files (*.THD)\0")                                \ | #else   // defined(SUPPORT_SASI) | 
| _T("*.thd\0")                                                   \ | static const FSPARAM fpSASI = | 
| _T("T98-Next harddisk image files (*.NHD)\0")                   \ | { | 
| _T("*.nhd\0")                                                   \ | MAKEINTRESOURCE(IDS_HDDTITLE), | 
| _T("All supported Files\0")                                                             \ | MAKEINTRESOURCE(IDS_HDDEXT), | 
| _T("*.thd;*.nhd;*.hdi\0"); | MAKEINTRESOURCE(IDS_HDDFILTER), | 
| static const FILESEL sasiui = {sasiui_title, tchar_thd, sasiui_filter, 4}; | 4 | 
|  | }; | 
|  | #endif  // defined(SUPPORT_SASI) | 
 |  |  | 
 | #if defined(SUPPORT_IDEIO) | #if defined(SUPPORT_IDEIO) | 
| static const TCHAR isoui_title[] = _T("Select ISO-9660 image"); | static const FSPARAM fpISO = | 
| static const TCHAR tchar_iso[] = _T("iso"); | { | 
| static const TCHAR isoui_filter[] =                                                                             \ | MAKEINTRESOURCE(IDS_ISOTITLE), | 
| _T("ISO-9660 image files\0")                                                    \ | MAKEINTRESOURCE(IDS_ISOEXT), | 
| _T("*.iso;*.img\0")                                             \ | MAKEINTRESOURCE(IDS_ISOFILTER), | 
| _T("All Files\0")                                                                               \ | 3 | 
| _T("*.*\0"); | }; | 
| static const FILESEL isoui = {isoui_title, tchar_iso, isoui_filter, 1}; | #endif  // defined(SUPPORT_IDEIO) | 
| #endif |  | 
 |  |  | 
 | #if defined(SUPPORT_SCSI) | #if defined(SUPPORT_SCSI) | 
| static const TCHAR scsiui_title[] = _T("Select SCSI HDD image"); | static const FSPARAM fpSCSI = | 
| static const TCHAR scsiui_filter[] =                                                                    \ | { | 
| _T("Virtual98 harddisk image files (*.HDD)\0")                  \ | MAKEINTRESOURCE(IDS_SCSITITLE), | 
| _T("*.hdd\0"); | MAKEINTRESOURCE(IDS_SCSIEXT), | 
| static const FILESEL scsiui = {scsiui_title, tchar_hdd, scsiui_filter, 1}; | MAKEINTRESOURCE(IDS_SCSIFILTER), | 
| #endif | 1 | 
|  | }; | 
|  | #endif  // defined(SUPPORT_SCSI) | 
 |  |  | 
 | static const TCHAR newdisk_title[] = _T("Create disk image"); |  | 
 | #if defined(SUPPORT_SCSI) | #if defined(SUPPORT_SCSI) | 
| static const TCHAR newdisk_filter[] =                                                                   \ | static const FSPARAM fpNewDisk = | 
| _T("D88 image files (*.D88;*.88D)\0")                                   \ | { | 
| _T("*.d88;*.88d;*.d98;*.98d\0")                 \ | MAKEINTRESOURCE(IDS_NEWDISKTITLE), | 
| _T("Anex86 harddisk image files (*.HDI)\0")                             \ | MAKEINTRESOURCE(IDS_NEWDISKEXT), | 
| _T("*.hdi\0")                                                   \ | MAKEINTRESOURCE(IDS_NEWDISKFILTER), | 
| _T("T98 harddisk image files (*.THD)\0")                                \ | 1 | 
| _T("*.thd\0")                                                   \ | }; | 
| _T("T98-Next harddisk image files (*.NHD)\0")                   \ | #else   // defined(SUPPORT_SCSI) | 
| _T("*.nhd\0")                                                   \ | static const FSPARAM fpNewDisk = | 
| _T("Virtual98 harddisk image files (*.HDD)\0")                  \ | { | 
| _T("*.hdd\0"); | MAKEINTRESOURCE(IDS_NEWDISKTITLE), | 
| #else | MAKEINTRESOURCE(IDS_NEWDISKEXT), | 
| static const TCHAR newdisk_filter[] =                                                                   \ | MAKEINTRESOURCE(IDS_NEWDISKFILTER2), | 
| _T("D88 image files (*.D88;*.88D)\0")                                   \ | 1 | 
| _T("*.d88;*.88d;*.d98;*.98d\0")                 \ | }; | 
| _T("Anex86 harddisk image files (*.HDI)\0")                             \ | #endif  // defined(SUPPORT_SCSI) | 
| _T("*.hdi\0")                                                   \ |  | 
| _T("T98 harddisk image files (*.THD)\0")                                \ |  | 
| _T("*.thd\0")                                                   \ |  | 
| _T("T98-Next harddisk image files (*.NHD)\0")                   \ |  | 
| _T("*.nhd\0"); |  | 
| #endif |  | 
| static const FILESEL newdiskui = {newdisk_title, tchar_d88, newdisk_filter, 1}; |  | 
 |  |  | 
 |  |  | 
 | // ---- | // ---- | 
| Line 102  const OEMCHAR *p; | Line 92  const OEMCHAR *p; | 
 | p = fddfolder; | p = fddfolder; | 
 | } | } | 
 | file_cpyname(path, p, NELEMENTS(path)); | file_cpyname(path, p, NELEMENTS(path)); | 
| if (dlgs_selectfile(hWnd, &fddui, path, NELEMENTS(path), &readonly)) { | if (dlgs_openfile(hWnd, &fpFDD, path, NELEMENTS(path), &readonly)) | 
|  | { | 
 | file_cpyname(fddfolder, path, NELEMENTS(fddfolder)); | file_cpyname(fddfolder, path, NELEMENTS(fddfolder)); | 
 | sysmng_update(SYS_UPDATEOSCFG); | sysmng_update(SYS_UPDATEOSCFG); | 
 | diskdrv_setfdd(drv, path, readonly); | diskdrv_setfdd(drv, path, readonly); | 
| Line 115  void dialog_changehdd(HWND hWnd, REG8 dr | Line 106  void dialog_changehdd(HWND hWnd, REG8 dr | 
 |  |  | 
 | UINT            num; | UINT            num; | 
 | const OEMCHAR   *p; | const OEMCHAR   *p; | 
| const FILESEL   *hddui; | PCFSPARAM       pfp; | 
 | OEMCHAR         path[MAX_PATH]; | OEMCHAR         path[MAX_PATH]; | 
 |  |  | 
 | p = diskdrv_getsxsi(drv); | p = diskdrv_getsxsi(drv); | 
 | num = drv & 0x0f; | num = drv & 0x0f; | 
| hddui = NULL; | pfp = NULL; | 
| if (!(drv & 0x20)) {            // SASI/IDE | if (!(drv & 0x20))                      // SASI/IDE | 
| if (num < 2) { | { | 
| hddui = &sasiui; | if (num < 2) | 
|  | { | 
|  | pfp = &fpSASI; | 
 | } | } | 
 | #if defined(SUPPORT_IDEIO) | #if defined(SUPPORT_IDEIO) | 
| else if (num == 2) { | else if (num == 2) | 
| hddui = &isoui; | { | 
|  | pfp = &fpISO; | 
 | } | } | 
 | #endif | #endif | 
 | } | } | 
 | #if defined(SUPPORT_SCSI) | #if defined(SUPPORT_SCSI) | 
| else {                                          // SCSI | else                                            // SCSI | 
| if (num < 4) { | { | 
| hddui = &scsiui; | if (num < 4) | 
|  | { | 
|  | pfp = &fpSCSI; | 
 | } | } | 
 | } | } | 
 | #endif | #endif | 
| if (hddui == NULL) { | if (pfp == NULL) | 
|  | { | 
 | return; | return; | 
 | } | } | 
| if ((p == NULL) || (p[0] == '\0')) { | if ((p == NULL) || (p[0] == '\0')) | 
|  | { | 
 | p = hddfolder; | p = hddfolder; | 
 | } | } | 
 | file_cpyname(path, p, NELEMENTS(path)); | file_cpyname(path, p, NELEMENTS(path)); | 
| if (dlgs_selectfile(hWnd, hddui, path, NELEMENTS(path), NULL)) { | if (dlgs_openfile(hWnd, pfp, path, NELEMENTS(path), NULL)) | 
|  | { | 
 | file_cpyname(hddfolder, path, NELEMENTS(hddfolder)); | file_cpyname(hddfolder, path, NELEMENTS(hddfolder)); | 
 | sysmng_update(SYS_UPDATEOSCFG); | sysmng_update(SYS_UPDATEOSCFG); | 
 | diskdrv_sethdd(drv, path); | diskdrv_sethdd(drv, path); | 
| Line 344  const OEMCHAR *ext; | Line 343  const OEMCHAR *ext; | 
 | file_cutname(path); | file_cutname(path); | 
 | file_catname(path, str_newdisk, NELEMENTS(path)); | file_catname(path, str_newdisk, NELEMENTS(path)); | 
 |  |  | 
| if (!dlgs_selectwritefile(hWnd, &newdiskui, path, NELEMENTS(path))) { | if (!dlgs_createfile(hWnd, &fpNewDisk, path, NELEMENTS(path))) | 
|  | { | 
 | return; | return; | 
 | } | } | 
| hinst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE); | hinst = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); | 
 | ext = file_getext(path); | ext = file_getext(path); | 
 | if (!file_cmpname(ext, str_thd)) { | if (!file_cmpname(ext, str_thd)) { | 
 | hddsize = 0; | hddsize = 0; |