--- xmil/win9x/menu.cpp 2004/08/01 05:31:31 1.1 +++ xmil/win9x/menu.cpp 2004/08/10 08:28:49 1.10 @@ -5,12 +5,10 @@ #include "scrnmng.h" #include "sysmng.h" #include "pccore.h" -#include "x1_io.h" -#include "x1_fdc.h" #include "ini.h" #include "menu.h" -#include "draw.h" #include "palettes.h" +#include "makescrn.h" #include "fdd_mtr.h" #include "fdd_ini.h" @@ -106,7 +104,38 @@ void sysmenu_setbgsound(UINT8 value) { // ---- -void xmenu_disablewindow(void) { +void menu_initialize(void) { + + HMENU hMenu; + HMENU hSubMenu; +// UINT i; + + hMenu = GetMenu(hWndMain); + if (xmiloscfg.Z80SAVE) { + hSubMenu = GetSubMenu(hMenu, 7); + insertresmenu(hSubMenu, 6, MF_BYPOSITION | MF_STRING, + IDM_Z80SAVE, IDS_Z80SAVE); + } +#if defined(SUPPORT_WAVEREC) + hSubMenu = GetSubMenu(hMenu, 7); + insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, + IDM_WAVEREC, IDS_WAVEREC); +#endif + +// for (i=4; i--;) { +// if (np2cfg.fddequip & (1 << i)) { +// insdiskmenu(hMenu, 1, fddmenu + i); +// } +// } + +#if defined(SUPPORT_STATSAVE) + if (np2oscfg.statsave) { + addstatsavemenu(hMenu, 1); + } +#endif +} + +void menu_disablewindow(void) { HMENU hmenu; @@ -115,7 +144,7 @@ void xmenu_disablewindow(void) { EnableMenuItem(hmenu, IDM_FULLSCREEN, MF_GRAYED); } -void xmenu_setiplrom(UINT8 num) { +void menu_setiplrom(UINT8 num) { HMENU hmenu; @@ -126,67 +155,74 @@ void xmenu_setiplrom(UINT8 num) { CheckMenuItem(hmenu, IDM_X1ROM, MFCHECK(num == 1)); } -void xmenu_setbootmedia(UINT8 value) { +void menu_setbootmedia(UINT8 value) { HMENU hmenu; hmenu = GetMenu(hWndMain); - value &= DIP_BOOTMEDIA; - xmilcfg.DIP_SW &= (~DIP_BOOTMEDIA); + value &= DIPSW_BOOTMEDIA; + xmilcfg.DIP_SW &= ~DIPSW_BOOTMEDIA; xmilcfg.DIP_SW |= value; CheckMenuItem(hmenu, IDM_BOOT2D, MFCHECK(!value)); CheckMenuItem(hmenu, IDM_BOOT2HD, MFCHECK(value)); } -void xmenu_setwidth(UINT8 value) { +void menu_setresolute(UINT8 value) { HMENU hmenu; hmenu = GetMenu(hWndMain); - CheckMenuItem(hmenu, IDM_WIDTH80, MFCHECK(!value)); - CheckMenuItem(hmenu, IDM_WIDTH40, MFCHECK(value)); + value &= DIPSW_RESOLUTE; + xmilcfg.DIP_SW &= ~DIPSW_RESOLUTE; + xmilcfg.DIP_SW |= value; + CheckMenuItem(hmenu, IDM_HIGHRES, MFCHECK(!value)); + CheckMenuItem(hmenu, IDM_LOWRES, MFCHECK(value)); } -void xmenu_setresolute(UINT8 value) { +void menu_setwidth(UINT8 value) { HMENU hmenu; hmenu = GetMenu(hWndMain); - value &= DIP_RESOLUTE; - xmilcfg.DIP_SW &= (~DIP_RESOLUTE); - xmilcfg.DIP_SW |= value; - CheckMenuItem(hmenu, IDM_HIGHRES, MFCHECK(!value)); - CheckMenuItem(hmenu, IDM_LOWRES, MFCHECK(value)); + CheckMenuItem(hmenu, IDM_WIDTH80, MFCHECK(!value)); + CheckMenuItem(hmenu, IDM_WIDTH40, MFCHECK(value)); } -void xmenu_setdispmode(UINT8 value) { +void menu_setdispmode(UINT8 value) { value &= 1; xmilcfg.DISPSYNC = value; CheckMenuItem(GetMenu(hWndMain), IDM_DISPSYNC, MFCHECK(value)); } -void xmenu_setwaitflg(UINT8 value) { +void menu_setraster(UINT8 value) { + + value &= 1; + xmilcfg.RASTER = value; + CheckMenuItem(GetMenu(hWndMain), IDM_RASTER, MFCHECK(value)); +} + +void menu_setwaitflg(UINT8 value) { value &= 1; - xmilcfg.NOWAIT = value; + xmiloscfg.NOWAIT = value; CheckMenuItem(GetMenu(hWndMain), IDM_NOWAIT, MFCHECK(value)); } -void xmenu_setframe(UINT8 value) { +void menu_setframe(UINT8 value) { HMENU hmenu; hmenu = GetMenu(hWndMain); - xmilcfg.DRAW_SKIP = value; - CheckMenuItem(hmenu, IDM_RASTER, MFCHECK(!value)); + xmiloscfg.DRAW_SKIP = value; + CheckMenuItem(hmenu, IDM_AUTOFPS, MFCHECK(!value)); CheckMenuItem(hmenu, IDM_60FPS, MFCHECK(value == 1)); CheckMenuItem(hmenu, IDM_30FPS, MFCHECK(value == 2)); CheckMenuItem(hmenu, IDM_20FPS, MFCHECK(value == 3)); CheckMenuItem(hmenu, IDM_15FPS, MFCHECK(value == 4)); } -void xmenu_setkey(UINT8 value) { +void menu_setkey(UINT8 value) { HMENU hmenu; @@ -200,13 +236,13 @@ void xmenu_setkey(UINT8 value) { CheckMenuItem(hmenu, IDM_JOY2, MFCHECK(value == 2)); } -void xmenu_setsound(UINT8 value) { +void menu_setsound(UINT8 value) { xmilcfg.SOUND_SW = value; CheckMenuItem(GetMenu(hWndMain), IDM_FMBOARD, MFCHECK(value)); } -void xmenu_setjoystick(UINT8 value) { +void menu_setjoystick(UINT8 value) { HMENU hmenu; @@ -221,33 +257,33 @@ void xmenu_setjoystick(UINT8 value) { } } -void xmenu_setmouse(UINT8 value) { +void menu_setmouse(UINT8 value) { value &= 1; xmilcfg.MOUSE_SW = value; CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); } -void xmenu_setcpuspeed(UINT8 value) { +void menu_setcpuspeed(UINT8 value) { value &= 1; xmilcfg.CPU8MHz = value; CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); } -void xmenu_setmotorflg(UINT8 value) { +void menu_setmotorflg(UINT8 value) { value &= 1; xmilcfg.MOTOR = value; CheckMenuItem(GetMenu(hWndMain), IDM_SEEKSND, MFCHECK(value)); } -void xmenu_opmlog(UINT8 value) { +void menu_opmlog(UINT8 value) { CheckMenuItem(GetMenu(hWndMain), IDM_OPMLOG, MFCHECK(value)); } -void xmenu_setdispclk(UINT8 value) { +void menu_setdispclk(UINT8 value) { HMENU hmenu; @@ -260,30 +296,17 @@ void xmenu_setdispclk(UINT8 value) { sysmng_updatecaption(3); } -void xmenu_setskipline(UINT8 value) { - - xmilcfg.SKIP_LINE = value & 1; - CheckMenuItem(GetMenu(hWndMain), IDM_SKIPLINE, MFCHECK(xmilcfg.SKIP_LINE)); - reflesh_palette(); - palandply = 1; -} +void menu_setbtnmode(UINT8 value) { -void xmenu_setbtnmode(UINT8 value) { - - xmilcfg.BTN_MODE = value & 1; - CheckMenuItem(GetMenu(hWndMain), IDM_JOYX, MFCHECK(xmilcfg.BTN_MODE)); + value &= 1; + xmilcfg.BTN_MODE = value; + CheckMenuItem(GetMenu(hWndMain), IDM_JOYX, MFCHECK(value)); } -void xmenu_setbtnrapid(UINT8 value) { +void menu_setbtnrapid(UINT8 value) { + value &= 1; xmilcfg.BTN_RAPID = value; - CheckMenuItem(GetMenu(hWndMain), IDM_RAPID, MFCHECK(xmilcfg.BTN_RAPID)); -} - -void xmenu_setz80save(UINT8 value) { - - if (!value) { - EnableMenuItem(GetMenu(hWndMain), IDM_Z80SAVE, MF_GRAYED); - } + CheckMenuItem(GetMenu(hWndMain), IDM_RAPID, MFCHECK(value)); }