From d9e2f8ab326d9dfdec9e7f2c7663324b94dae055 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 29 Mar 2020 04:41:21 +0100 Subject: [PATCH] Add dialog to create new magneto-optical image. --- src/ui/lang/VARCem-BY.str | Bin 30326 -> 30924 bytes src/ui/lang/VARCem-CZ.str | Bin 30368 -> 30966 bytes src/ui/lang/VARCem-DE.str | Bin 31338 -> 31936 bytes src/ui/lang/VARCem-DK.str | Bin 29692 -> 30290 bytes src/ui/lang/VARCem-DU.str | Bin 30610 -> 31208 bytes src/ui/lang/VARCem-ES.str | Bin 31194 -> 31792 bytes src/ui/lang/VARCem-FI.str | Bin 30114 -> 30712 bytes src/ui/lang/VARCem-FR.str | Bin 30860 -> 31458 bytes src/ui/lang/VARCem-IT.str | Bin 31012 -> 31610 bytes src/ui/lang/VARCem-JP.str | Bin 26474 -> 27072 bytes src/ui/lang/VARCem-KR.str | Bin 26502 -> 27100 bytes src/ui/lang/VARCem-KZ.str | Bin 30590 -> 31188 bytes src/ui/lang/VARCem-LT.str | Bin 31016 -> 31614 bytes src/ui/lang/VARCem-NO.str | Bin 30156 -> 30754 bytes src/ui/lang/VARCem-PL.str | Bin 31082 -> 31680 bytes src/ui/lang/VARCem-PT.str | Bin 30504 -> 31102 bytes src/ui/lang/VARCem-RU.str | Bin 30428 -> 31026 bytes src/ui/lang/VARCem-SL.str | Bin 30372 -> 30970 bytes src/ui/lang/VARCem-UA.str | Bin 30352 -> 30950 bytes src/ui/lang/VARCem.def | 10 ++++++++++ src/ui/lang/VARCem.str | 6 ++++++ src/ui/ui.h | 2 +- src/ui/ui_resource.h | 9 ++++++++- src/ui/ui_stbar.c | 8 ++++---- src/win/VARCem-common.rc | 2 +- src/win/win_new_image.c | 22 ++++++++++++++++++---- 26 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/ui/lang/VARCem-BY.str b/src/ui/lang/VARCem-BY.str index 9e033a7f017ac6095be7da1a51086caad7448620..376b33daec07c879a4cffc86ed1afb713b6a587a 100644 GIT binary patch delta 419 zcmezNhVjft#tk85^1%!x42cXS45bXk3cXFeZJhKLa$>fbH zx~?V+h71M_1`M1GN({yfdJLuvF$@(9Mhr#_3Jit}Mhq4Vz6?nW3JkssdJO&ydJGB- z8VsHc!3_Rjd5}&^27}3h$%;^u46&MI#9+)|fY&5r21^Dr24f_XjIf$y#$ZCgBvS?x z21^DDkV*Cs-x*^y$&f*h!I;4v!*}isnGER+i449B{vb2lA!e9hHN%Lo84L;xMhuz^ JN|Rm73;_<$JX`<( delta 13 VcmX@}k@4Fb#tk85lUG$J0RT242J-*_ diff --git a/src/ui/lang/VARCem-CZ.str b/src/ui/lang/VARCem-CZ.str index c66cf5d8c9ed158ec6188475341798559b5b1f79..3a359701c19d247f60bde4a7a051ed85845d6faf 100644 GIT binary patch delta 429 zcmZ4Rmhsz1#tn64^1%!x42cXS45bXk3ck;q;c~%Vu69&V{ zjk4PACJcrQ1`GxaoD50~#teE4rVKF*6%0lUMhprJh73jw77V@&Nel`Mz6^Q{{tS8y z3Je+yo(#bZ{$P2KPD=&@2F=Nd;_^_l46&MJ#9+)|fY&Tz21^Dr24fVnjIf$z#$ZCg zEK>#(21^DDh*^#hKN@2-%aB2j!I;4v!;kI^nGER+i449B{t#23zB9pUiV+c}C@>f? MXfh~G&Mz|r03gaeZ~y=R delta 13 VcmezNk#WIW#tn64ldn`L0RT2@2OIzZ diff --git a/src/ui/lang/VARCem-DE.str b/src/ui/lang/VARCem-DE.str index 97ece2ca07d92e5b820f9eb9ee35ce196fbbb3aa..1841f0c90847db57a8b3b34a8f9a4b697190d773 100644 GIT binary patch delta 419 zcmaF$h4H{o#tj}-^1%!x42cXS45bXk3cXF()JhKLa$>e%r zT~`wZLk0r|0|rh8B?e;#JqA;T7={W4BL*V|1qMR~BL)iwUxp+G1qNRRJqCXUJq85^ z4F*q!UV{gTZ9R6h){>hFDE9VlZYfz-y8*gC&C*gE5jxMp#WUV=y6Lk|~1; zgC&Cn$RvA+?~JjUWXPb$V9el-;X8MROonuZLXX;I2n`}j2ZM8Oc`PrDj19yj2ILc3>l0VEEs$lk{A>id>Ql@{2BBZ z6c{uZJQ;!+{K4`dot6v+lN03>p(Yt(HOYvYg3>F}h>><80#%huwgC2u1gFA-r+!-<%(isvNd>Q;fX1GJlFu`hu5n(eJ6c~&c MG#Qj8pD)%004F&;k^lez delta 13 VcmccghVjpH#trw1C!3VX0RT7#2LJ#7 diff --git a/src/ui/lang/VARCem-DU.str b/src/ui/lang/VARCem-DU.str index 5fc1075b77878969bb176006ecb8864e70c24982..63c653081db1167c0ead6ca61e18c7f4208077db 100644 GIT binary patch delta 421 zcmbRAp7F(J#tjAK^1%!x42cXS45bXk3cXGV7JgWwS34`I} zLM3fi69z*D0|o;IP6j0gV+K72Q-&CZ3I-zvBL)QqLk1%T3kF|?BnAZrUj{t}e+E4U z1qKZUPljLyf3Q4ArzL~IWWz*7s7Z!cO)_FIW-!2Ok}-oNgBgP{l1WBbO)_IJAz+dz zg9(Erg9XSWdx-Chv6^JapvPd$;Ev%tcZN)cbcRF*Uj~1W8SW4>Ot6|^MA!@l1qLGq LO$MdOiRFd>_bNP@ delta 13 VcmaFynQ_v4#tjAKlaEy@0RS}I2I>F+ diff --git a/src/ui/lang/VARCem-ES.str b/src/ui/lang/VARCem-ES.str index 4b7eb40d015f816fddcb592c50d02f2c68e5ecb7..8df2c1098dc128b4f11e2a9d49624a8fe3ac68ca 100644 GIT binary patch delta 447 zcmcchnQ_Ap#tl0vor4)l7!nyu7)lw6859_j7!nzZ7!(-N81lh%E<++iIzt{qDnkiF zK7%epK0^UR2}34BGD9Lm4ub-N27?KM;pBr7+O8%Hh71M_1`M1GN({yfdJLuvF$@(9 zMhr#_3Jit}Mhq4Vz6?nW3JkssdJO&ydSJbt48aWkV0n;EO9q3<3#}BPCK+Ni$%w(2 z!2qvG#tfDWW(>wiCK+Kh$&A5-fJvqdCJdGg79f-CA-*%lYLX#?9)mH1JBIJv88R8t j84?+M8T>(JI77@Z!D@yPVKW#M7>p(hItWkRQKcXFbYJhKLa$>c;8 zT~`wZLk0r|0|rh8B?e;#JqA;T7={W4BL*V|1qMR~BL)iwUxp+G1qNRRJqCXUJq85^ z4F*q!UV{gTdrNZ^_9EggKz58Dcffh{2e_0IzAr43-RL48~}t8DTZejKPF} zX{HP&43-QQFw^WIJ~hT_njwQ8gE50UhELrYG8xht5*d6M{9)#}L(DP3YK{?Ma~KpD Oj2JW-lqMIJ8Ug@dP(n`t delta 13 VcmezIo^jD@#tjXnldqL40RT372OaXX;I2n`}j2ZM8Oc`PrDj19yj2ILc3>l0VEEs$lk{A>id>Ql@ z{2BBZ6c{uZJQ;!+{K4`dot6v+lPAh4LQOKnYLXFyF@phKlZ+WG8O#`rkxVkeYLXd) z2?3K#8B7=~87x31*+YD1jMXGV20aF226qhKxie%kq%$Nk_%ir|%y5U8VS?2RBf@4d QC@>f?Xfh~Gj;=5S09VOA`2YX_ delta 13 UcmaF#m9gg|cXGLnJgWwS34`I} zjUw8vCJcrQ1`GxaoD50~#teE4rVKF*6%0lUMhprJh73jw77V@&Nel`Mz6^Q{{tS8y z3Je+yo(#bZ{$P2KPD=)Z$&96vlMe`SKut5mYMK#)F@phK(~KD`8O#`r(M&VKYML2? z2?5hg8B7=~87yF?*+YD4jMX$l20aF226qgfx-(=lq%$Nk_%isz%yEa9V}jKjBf{n| QC@>f?Xfh~G{#;=Q03xbFSpWb4 delta 13 UcmezMjd95*#tlrBlOw8?05a(YJOBUy diff --git a/src/ui/lang/VARCem-JP.str b/src/ui/lang/VARCem-JP.str index 429c5b02b67b70207a8d776c95eb74e19732d6b4..326cc10bc501e61159969e4711518b29f1dd75bc 100644 GIT binary patch delta 421 zcmaELj`6@{#tk0n^1%!x42cXS45bXk3ce1>ZJgWwS34`I} ziL%Yg3>F}h>><80#%huwgC2u1gFA-r+!-<%(isvNd>Q;fX1GJlFu`hu5n(eJ6c~&c MG#Qj8Tc#TV06#rFP5=M^ delta 13 VcmX?bneo**#tk0nljmhB0RS<>25A5Q diff --git a/src/ui/lang/VARCem-KR.str b/src/ui/lang/VARCem-KR.str index e24318c1f2348865fe20cdba5889d6efc726e388..faa6adaa52f880b905ffde82654dd645b0b645f8 100644 GIT binary patch delta 421 zcmZoW&v@rDc_1 zU1t*pLk0r|0|rh8B?e;#JqA;T7={W4BL*V|1qMR~BL)iwUxp+G1qNRRJqCXUJq85^ z4F*q!UYIckXX;I2n`}j2ZM8Oc`PrDj19yj2ILc3>l0VEEs$lk{A>id>Ql@{2BBZ z6c{uZJQ;!+{K4`dot6v+lOIMXLQOKnYLXFyF@phKlZ+WG8O#`rkxVkeYLXd)2?3K# z8B7=~87x31*+YD1jMXGV20aF226qhKxie%kq%$Nk_%ir|%y5U8VS?2RBf@4dC@>f? MXfh~G_ANIA0O~?OfB*mh delta 13 VcmccenepE{#tkv$lQ&f=0RT5s2N?hW diff --git a/src/ui/lang/VARCem-LT.str b/src/ui/lang/VARCem-LT.str index c6b2fd8e4b560c809b5fa4f87f4d09c7205119c5..a35f6f6fbefaed05470a8ba5b767ef9531c0aa74 100644 GIT binary patch delta 419 zcmZ4SiSgez#tm$h^1%!x42cXS45bXk3ck;{#d1eg;lga;u zbX`pt3>gd<3>Y{Wlo*T|^cYMTVi+nIj2Mg<6c`K{j2J8!d>N7$6c~IN^cegZ^cWNv zG#ES?f*Jh5@*tg-3gd<3>Y{Wlo*T|^cYMTVi+nIj2Mg<6c`K{j2J8!d>N7$6c~IN^cegZ^cWNv zG#ES?f*Jh5@*tg-3pU*F?{OIkjaqFkjUW6;14s$9b%3NR&$I9o5P^M OV8o!wpfq`QsUZM!Lqy>K delta 12 UcmZ4Vf$_|1#to}VCsil`04$dVM*si- diff --git a/src/ui/lang/VARCem-PL.str b/src/ui/lang/VARCem-PL.str index 178e6bc9f7d008388c5cf718f17efe62d2f3cd15..e774c29ecba551690efa1fdb8e23053e76698d25 100644 GIT binary patch delta 427 zcmaF$iSfX9#tj~o^1%!x42cXS45bXk3cXDT>JhKLa$>c_1 zU3U`(Lk0r|0|rh8B?e;#JqA;T7={W4BL*V|1qMR~BL)iwUxp+G1qNRRJqCXUJq85^ z4F*q!UV{g8_r)WJ4i&s9AcQSi~JhKLa$z(%e zT~`wZLk0r|0|rh8B?e;#JqA;T7={W4BL*V|1qMR~BL)iwUxp+G1qNRRJqCXUJq85^ z4F*q!UV{gTZ9RNJXeghFDE9VlZYfz-y8*gC&C*gE5jxMp#WUV=y6Lk|~1; zgC&Cn$RvA+?~JjUWXPb$V9el-;X8MROonuZL64gA#)=gC2t^LkvR&gAs!fg93vggAs!TgD*o8g93vugC2uFgC2td zg9d{qLokCsSl)oafWeZ%fI)L|p^!Y(EJLhj88H|$7~nO_n8A|4jKLViEF-LDnK76U zFw2y|gu#-*0%DdU#E-^U%`#-rV=!iL$MB;&LncEyLn4DOgFnO+sP9a$nqowRDGCfm N44Mo|lUJ7+0sy{EJ{AA~ delta 13 Vcmdn=iSf=`#tpm5CJR(50RS|4295v# diff --git a/src/ui/lang/VARCem-SL.str b/src/ui/lang/VARCem-SL.str index 29736e7a13a35c7513b947cb55bc6582e9bf8743..bf4ac5afa6ee72524236a0e423b2d6593d4db0ea 100644 GIT binary patch delta 421 zcmZ4Tmhsm|#tltn^1%!x42cXS45bXk3ck)duc~%Vu69&V{ zflAu0CJcrQ1`GxaoD50~#teE4rVKF*6%0lUMhprJh73jw77V@&Nel`Mz6^Q{{tS8y z3Je+yo(#bZ{$P2KPD=)Z$&PZ0P?HR?nqQW;L65=?sYsz6|~#Gu$C&m|!)-h_D$93JgXJ LnhZ*li^~iFIi5Ud delta 13 VcmezMk#Wge#tltnlW$Zg0RT4Z2P^;p diff --git a/src/ui/lang/VARCem-UA.str b/src/ui/lang/VARCem-UA.str index 9d8f7ab827c29948d43a67c4fdbf1f54d5043f65..fb30510bdc304a96672ee9551193e0b524dfb58b 100644 GIT binary patch delta 429 zcmbR6mhss~#tnI8^1%!x42cXS45bXk3ck+2lc~%Vu69&V{ z{vz7$CJcrQ1`GxaoD50~#teE4rVKF*6%0lUMhprJh73jw77V@&Nel`Mz6^Q{{tS8y z3Je+yo(#bZ{$P2KPD=&@2F=L}#pI!88Dcfdh{2e_0Iylb43-RL48|yC8DTZcjKPF} zS*8po43-QQ5VIU1el*5vmLY>4gE50Uh9BJ-G8xht5*d6M{2``5eP@Ez6eA)`QD87) M&}2}W9A9P#087w50RR91 delta 13 VcmaF%k#WLX#tnI8laEv=0RS{>2HXGu 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;