diff --git a/src/ui/lang/VARCem-BY.str b/src/ui/lang/VARCem-BY.str index 9e033a7..376b33d 100644 Binary files a/src/ui/lang/VARCem-BY.str and b/src/ui/lang/VARCem-BY.str differ diff --git a/src/ui/lang/VARCem-CZ.str b/src/ui/lang/VARCem-CZ.str index c66cf5d..3a35970 100644 Binary files a/src/ui/lang/VARCem-CZ.str and b/src/ui/lang/VARCem-CZ.str differ diff --git a/src/ui/lang/VARCem-DE.str b/src/ui/lang/VARCem-DE.str index 97ece2c..1841f0c 100644 Binary files a/src/ui/lang/VARCem-DE.str and b/src/ui/lang/VARCem-DE.str differ diff --git a/src/ui/lang/VARCem-DK.str b/src/ui/lang/VARCem-DK.str index 2ebe9ea..742efb5 100644 Binary files a/src/ui/lang/VARCem-DK.str and b/src/ui/lang/VARCem-DK.str differ diff --git a/src/ui/lang/VARCem-DU.str b/src/ui/lang/VARCem-DU.str index 5fc1075..63c6530 100644 Binary files a/src/ui/lang/VARCem-DU.str and b/src/ui/lang/VARCem-DU.str differ diff --git a/src/ui/lang/VARCem-ES.str b/src/ui/lang/VARCem-ES.str index 4b7eb40..8df2c10 100644 Binary files a/src/ui/lang/VARCem-ES.str and b/src/ui/lang/VARCem-ES.str differ diff --git a/src/ui/lang/VARCem-FI.str b/src/ui/lang/VARCem-FI.str index 618e8fa..63f1480 100644 Binary files a/src/ui/lang/VARCem-FI.str and b/src/ui/lang/VARCem-FI.str differ diff --git a/src/ui/lang/VARCem-FR.str b/src/ui/lang/VARCem-FR.str index e7a8f71..e77ebc2 100644 Binary files a/src/ui/lang/VARCem-FR.str and b/src/ui/lang/VARCem-FR.str differ diff --git a/src/ui/lang/VARCem-IT.str b/src/ui/lang/VARCem-IT.str index e7f0bbd..ac8eadf 100644 Binary files a/src/ui/lang/VARCem-IT.str and b/src/ui/lang/VARCem-IT.str differ diff --git a/src/ui/lang/VARCem-JP.str b/src/ui/lang/VARCem-JP.str index 429c5b0..326cc10 100644 Binary files a/src/ui/lang/VARCem-JP.str and b/src/ui/lang/VARCem-JP.str differ diff --git a/src/ui/lang/VARCem-KR.str b/src/ui/lang/VARCem-KR.str index e24318c..faa6ada 100644 Binary files a/src/ui/lang/VARCem-KR.str and b/src/ui/lang/VARCem-KR.str differ diff --git a/src/ui/lang/VARCem-KZ.str b/src/ui/lang/VARCem-KZ.str index 61314a8..43fbbbf 100644 Binary files a/src/ui/lang/VARCem-KZ.str and b/src/ui/lang/VARCem-KZ.str differ diff --git a/src/ui/lang/VARCem-LT.str b/src/ui/lang/VARCem-LT.str index c6b2fd8..a35f6f6 100644 Binary files a/src/ui/lang/VARCem-LT.str and b/src/ui/lang/VARCem-LT.str differ diff --git a/src/ui/lang/VARCem-NO.str b/src/ui/lang/VARCem-NO.str index fc678e5..a67f657 100644 Binary files a/src/ui/lang/VARCem-NO.str and b/src/ui/lang/VARCem-NO.str differ diff --git a/src/ui/lang/VARCem-PL.str b/src/ui/lang/VARCem-PL.str index 178e6bc..e774c29 100644 Binary files a/src/ui/lang/VARCem-PL.str and b/src/ui/lang/VARCem-PL.str differ diff --git a/src/ui/lang/VARCem-PT.str b/src/ui/lang/VARCem-PT.str index d881b7c..118e396 100644 Binary files a/src/ui/lang/VARCem-PT.str and b/src/ui/lang/VARCem-PT.str differ diff --git a/src/ui/lang/VARCem-RU.str b/src/ui/lang/VARCem-RU.str index a7c8c7a..5eadd67 100644 Binary files a/src/ui/lang/VARCem-RU.str and b/src/ui/lang/VARCem-RU.str differ diff --git a/src/ui/lang/VARCem-SL.str b/src/ui/lang/VARCem-SL.str index 29736e7..bf4ac5a 100644 Binary files a/src/ui/lang/VARCem-SL.str and b/src/ui/lang/VARCem-SL.str differ diff --git a/src/ui/lang/VARCem-UA.str b/src/ui/lang/VARCem-UA.str index 9d8f7ab..fb30510 100644 Binary files a/src/ui/lang/VARCem-UA.str and b/src/ui/lang/VARCem-UA.str differ diff --git a/src/ui/lang/VARCem.def b/src/ui/lang/VARCem.def index 4d32cc9..8f597a3 100644 --- a/src/ui/lang/VARCem.def +++ b/src/ui/lang/VARCem.def @@ -309,6 +309,9 @@ STRTBL( IDS_3951, STR_3951 ) STRTBL( IDS_3952, STR_3952 ) STRTBL( IDS_3960, STR_3960 ) STRTBL( IDS_3970, STR_3970 ) +STRTBL( IDS_3980, STR_3980 ) +STRTBL( IDS_3981, STR_3981 ) +STRTBL( IDS_3982, STR_3982 ) /* UI menu: Action (4000.) */ STRTBL( IDS_ACTION, STR_ACTION ) @@ -379,6 +382,13 @@ STRTBL( IDS_4088, STR_4088 ) /* UI menu: Help (4090.) */ STRTBL( IDS_HELP, STR_HELP ) STRTBL( IDS_4091, STR_4091 ) + +/* Status bar for magneto-optical (4100.) */ +STRTBL ( IDS_4100, STR_4100 ) +STRTBL ( IDS_4101, STR_4101 ) +STRTBL ( IDS_4102, STR_4102 ) +STRTBL ( IDS_4103, STR_4103 ) +STRTBL ( IDS_4104, STR_4104 ) /* End of table. */ diff --git a/src/ui/lang/VARCem.str b/src/ui/lang/VARCem.str index 401bd31..0a1abb6 100644 --- a/src/ui/lang/VARCem.str +++ b/src/ui/lang/VARCem.str @@ -406,5 +406,11 @@ #define STR_HELP "&Help" #define STR_4091 "&About VARCem" +/* Status bar for magneto-optical (4100.) */ +#define STR_4100 "3.5\x22 128Mb M.O. (ISO 10090)" +#define STR_4101 "3.5\x22 230Mb M.O. (ISO 13963)" +#define STR_4102 "3.5\x22 640Mb M.O. (ISO 15498)" +#define STR_4103 "3.5\x22 1.3Gb M.O. (GigaMO)" +#define STR_4104 "3.5\x22 2.3Gb M.O. (GigaMO 2)" /* End of file. */ diff --git a/src/ui/ui.h b/src/ui/ui.h index 95d6739..9c0db4a 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -192,7 +192,7 @@ extern void sb_menu_set_item(int part, int idm, int val); extern void dlg_about(void); extern void dlg_localize(void); extern int dlg_settings(int ask); -extern void dlg_new_image(int drive, int part, int is_zip); +extern void dlg_new_image(int drive, int part, int is_zip, int is_mo); extern void dlg_sound_gain(void); extern int dlg_file(const wchar_t *filt, const wchar_t *ifn, wchar_t *fn, int save); diff --git a/src/ui/ui_resource.h b/src/ui/ui_resource.h index 7747775..ae3cd80 100644 --- a/src/ui/ui_resource.h +++ b/src/ui/ui_resource.h @@ -598,8 +598,15 @@ #define IDS_HELP 4090 /* "&Help" */ #define IDS_4091 4091 /* "&About VARCem" */ +/* UI dialog: New Image for M.O. (4100.) */ +#define IDS_4100 4100 /* "3.5\x22 128Mb M.O. (ISO 10090)" */ +#define IDS_4101 4101 /* "3.5\x22 230Mb M.O. (ISO 13963)" */ +#define IDS_4102 4102 /* "3.5\x22 640Mb M.O. (ISO 15498)" */ +#define IDS_4103 4103 /* "3.5\x22 1.3Gb M.O. (GigaMO)" */ +#define IDS_4104 4104 /* "3.5\x22 2.3Gb M.O. (GigaMO 2)" */ -#define IDS_END 4100 /* end of string IDs */ + +#define IDS_END 4200 /* end of string IDs */ #endif /*EMU_UI_RESOURCE_H*/ diff --git a/src/ui/ui_stbar.c b/src/ui/ui_stbar.c index ef05b2d..bc11717 100644 --- a/src/ui/ui_stbar.c +++ b/src/ui/ui_stbar.c @@ -865,7 +865,7 @@ ui_sb_menu_command(int idm, uint8_t tag) part = find_tag(SB_FLOPPY | drive); if (part == -1) break; - dlg_new_image(drive, part, 0); + dlg_new_image(drive, part, 0, 0); break; case IDM_FLOPPY_IMAGE_EXIST: @@ -1050,7 +1050,7 @@ ui_sb_menu_command(int idm, uint8_t tag) part = find_tag(SB_ZIP | drive); if (part == -1) break; - dlg_new_image(drive, part, 1); + dlg_new_image(drive, part, 1, 0); break; case IDM_ZIP_IMAGE_EXIST: @@ -1081,7 +1081,7 @@ ui_sb_menu_command(int idm, uint8_t tag) part = find_tag(SB_MO | drive); if (part == -1) break; - dlg_new_image(drive, part, 0); + dlg_new_image(drive, part, 0, 1); break; case IDM_MO_IMAGE_EXIST: @@ -1119,7 +1119,7 @@ ui_sb_menu_command(int idm, uint8_t tag) part = find_tag(SB_DISK | drive); if (part == -1) break; - dlg_new_image(drive, part, 1); + dlg_new_image(drive, part, 1, 0); break; case IDM_DISK_IMAGE_EXIST: diff --git a/src/win/VARCem-common.rc b/src/win/VARCem-common.rc index bc9bd9b..63c4ebf 100644 --- a/src/win/VARCem-common.rc +++ b/src/win/VARCem-common.rc @@ -238,7 +238,7 @@ BEGIN PUSHBUTTON STR_BROWSE,IDC_CFILE,160,19,60,14 LTEXT STR_3276,IDT_1750,7,38,70,12,SS_CENTERIMAGE - COMBOBOX IDC_COMBO_DISK_SIZE,7,52,90,120, + COMBOBOX IDC_COMBO_DISK_SIZE,7,52,100,120, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_3277,IDT_1751,110,38,70,12,SS_CENTERIMAGE diff --git a/src/win/win_new_image.c b/src/win/win_new_image.c index 600f7a8..ef3f909 100644 --- a/src/win/win_new_image.c +++ b/src/win/win_new_image.c @@ -55,6 +55,7 @@ static wchar_t fd_file_name[512]; static int is_zip; +static int is_mo; static int drive_id, sb_part; static int file_type = 0; /* 0 = IMG, 1 = Japanese FDI, 2 = 86F */ @@ -82,12 +83,18 @@ dlg_init(HWND hdlg) { int i, zip_types; HWND h; + // TODO: MO types as a list in mo.c + int mo_types = 5; h = GetDlgItem(hdlg, IDC_COMBO_DISK_SIZE); if (is_zip) { zip_types = zip_drives[drive_id].is_250 ? 2 : 1; for (i = 0; i < zip_types; i++) SendMessage(h, CB_ADDSTRING, 0, win_string(IDS_3282 + 12 + i)); + } + else if (is_mo) { + for (i = 0; i < mo_types; i++) + SendMessage(h, CB_ADDSTRING, 0, win_string(IDS_4100 + i)); } else { for (i = 0; i < 12; i++) SendMessage(h, CB_ADDSTRING, 0, win_string(IDS_3282 + i)); @@ -158,12 +165,16 @@ dlg_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) } else { if (is_zip) ret = zip_create_image(fd_file_name, disk_size, file_type); + //else if (is_mo) + // ret = mo_create_image(fd_file_name, disk_size); else ret = floppy_create_image(fd_file_name, disk_size, file_type); } if (ret) { if (is_zip) ui_zip_mount(drive_id, sb_part, 0, fd_file_name); + else if (is_mo) + ui_mo_mount(drive_id, sb_part, 0, fd_file_name); else ui_floppy_mount(drive_id, sb_part, 0, fd_file_name); } else { @@ -178,12 +189,12 @@ dlg_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) return TRUE; case IDC_CFILE: - if (dlg_file_ex(hdlg, get_string(is_zip ? IDS_3952 : IDS_3912), NULL, temp_path, DLG_FILE_SAVE)) { + if (dlg_file_ex(hdlg, get_string(is_zip ? IDS_3952 : is_mo ? IDS_3982 : IDS_3912), NULL, temp_path, DLG_FILE_SAVE)) { if (! wcschr(temp_path, L'.')) { if (wcslen(temp_path) && (wcslen(temp_path) <= 256)) { twcs = &temp_path[wcslen(temp_path)]; twcs[0] = L'.'; - if (is_zip) { + if (is_zip || is_mo) { twcs[1] = L'i'; twcs[2] = L'm'; twcs[3] = L'g'; @@ -221,7 +232,9 @@ dlg_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) file_type = 1; else file_type = 0; - } else { + } + else if (is_mo) file_type = 0; + else { if (((wcs_len >= 4) && !wcsicmp(ext, L".FDI"))) file_type = 1; else if ((((wcs_len >= 4) && !wcsicmp(ext, L".86F")) || (filterindex == 3))) @@ -263,9 +276,10 @@ break; void -dlg_new_image(int drive, int part, int zip) +dlg_new_image(int drive, int part, int zip, int mo) { is_zip = zip; + is_mo = mo; drive_id = drive; sb_part = part;