|
|
| version 1.4, 2004/08/07 07:19:56 | version 1.14, 2004/08/18 10:44:48 |
|---|---|
| Line 104 void sysmenu_setbgsound(UINT8 value) { | Line 104 void sysmenu_setbgsound(UINT8 value) { |
| // ---- | // ---- |
| void xmenu_disablewindow(void) { | typedef struct { |
| UINT16 title; | |
| UINT16 items; | |
| const MENUITEMS *item; | |
| } SUBMENUI; | |
| static const MENUITEMS fddsitem[4][3] = { | |
| { {IDM_FDD0OPEN, IDS_OPEN}, | |
| {0, 0}, | |
| {IDM_FDD0EJECT, IDS_EJECT}}, | |
| { {IDM_FDD1OPEN, IDS_OPEN}, | |
| {0, 0}, | |
| {IDM_FDD1EJECT, IDS_EJECT}}, | |
| { {IDM_FDD2OPEN, IDS_OPEN}, | |
| {0, 0}, | |
| {IDM_FDD2EJECT, IDS_EJECT}}, | |
| { {IDM_FDD3OPEN, IDS_OPEN}, | |
| {0, 0}, | |
| {IDM_FDD3EJECT, IDS_EJECT}}}; | |
| static const SUBMENUI fddmenu[4] = { | |
| {IDS_FDD0, 3, fddsitem[0]}, | |
| {IDS_FDD1, 3, fddsitem[1]}, | |
| {IDS_FDD2, 3, fddsitem[2]}, | |
| {IDS_FDD3, 3, fddsitem[3]}}; | |
| static const MENUITEMS dbgsitem[4] = { | |
| {IDM_WIDTH40, IDS_WIDTH40}, | |
| {IDM_WIDTH80, IDS_WIDTH80}, | |
| {0, 0}, | |
| {IDM_Z80SAVE, IDS_Z80SAVE}}; | |
| static const SUBMENUI dbgmenu = {IDS_DEBUG, 4, dbgsitem}; | |
| static void insertsubmenu(HMENU hMenu, UINT pos, const SUBMENUI *sm) { | |
| HMENU hSubMenu; | |
| hSubMenu = CreatePopupMenu(); | |
| insertresmenus(hSubMenu, 0, sm->item, sm->items); | |
| insertresmenu(hMenu, pos, MF_BYPOSITION | MF_POPUP, | |
| (UINT)hSubMenu, sm->title); | |
| } | |
| #if defined(SUPPORT_STATSAVE) | |
| static const OEMCHAR xmenu_stat[] = OEMTEXT("S&tat"); | |
| static const OEMCHAR xmenu_statsave[] = OEMTEXT("Save %u"); | |
| static const OEMCHAR xmenu_statload[] = OEMTEXT("Load %u"); | |
| static void addstatsavemenu(HMENU hMenu, UINT pos) { | |
| HMENU hSubMenu; | |
| UINT i; | |
| OEMCHAR buf[16]; | |
| hSubMenu = CreatePopupMenu(); | |
| for (i=0; i<SUPPORT_STATSAVE; i++) { | |
| OEMSPRINTF(buf, xmenu_statsave, i); | |
| AppendMenu(hSubMenu, MF_STRING, IDM_FLAGSAVE + i, buf); | |
| } | |
| AppendMenu(hSubMenu, MF_MENUBARBREAK, 0, NULL); | |
| for (i=0; i<SUPPORT_STATSAVE; i++) { | |
| OEMSPRINTF(buf, xmenu_statload, i); | |
| AppendMenu(hSubMenu, MF_STRING, IDM_FLAGLOAD + i, buf); | |
| } | |
| InsertMenu(hMenu, pos, MF_BYPOSITION | MF_POPUP, | |
| (UINT32)hSubMenu, xmenu_stat); | |
| } | |
| #endif | |
| void menu_initialize(void) { | |
| HMENU hMenu; | |
| #if defined(SUPPORT_WAVEREC) || defined(SUPPORT_TURBOZ) | |
| HMENU hSubMenu; | |
| #endif | |
| UINT i; | |
| hMenu = GetMenu(hWndMain); | |
| #if defined(SUPPORT_WAVEREC) | |
| hSubMenu = GetSubMenu(hMenu, 5); | |
| insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, | |
| IDM_WAVEREC, IDS_WAVEREC); | |
| #endif | |
| if (xmiloscfg.Z80SAVE) { | |
| insertsubmenu(hMenu, 5, &dbgmenu); | |
| } | |
| #if defined(SUPPORT_TURBOZ) | |
| hSubMenu = GetSubMenu(hMenu, 1); | |
| insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, | |
| IDM_TURBOZ, IDS_TURBOZ); | |
| #endif | |
| for (i=4; i--;) { | |
| if (xmilcfg.fddequip & (1 << i)) { | |
| insertsubmenu(hMenu, 1, fddmenu + i); | |
| } | |
| } | |
| #if defined(SUPPORT_STATSAVE) | |
| if (xmiloscfg.statsave) { | |
| addstatsavemenu(hMenu, 1); | |
| } | |
| #endif | |
| } | |
| void menu_disablewindow(void) { | |
| HMENU hmenu; | HMENU hmenu; |
| Line 113 void xmenu_disablewindow(void) { | Line 222 void xmenu_disablewindow(void) { |
| EnableMenuItem(hmenu, IDM_FULLSCREEN, MF_GRAYED); | EnableMenuItem(hmenu, IDM_FULLSCREEN, MF_GRAYED); |
| } | } |
| void xmenu_setiplrom(UINT8 num) { | void menu_setiplrom(UINT8 num) { |
| HMENU hmenu; | HMENU hmenu; |
| Line 124 void xmenu_setiplrom(UINT8 num) { | Line 233 void xmenu_setiplrom(UINT8 num) { |
| CheckMenuItem(hmenu, IDM_X1ROM, MFCHECK(num == 1)); | CheckMenuItem(hmenu, IDM_X1ROM, MFCHECK(num == 1)); |
| } | } |
| void xmenu_setbootmedia(UINT8 value) { | void menu_setbootmedia(UINT8 value) { |
| HMENU hmenu; | HMENU hmenu; |
| Line 136 void xmenu_setbootmedia(UINT8 value) { | Line 245 void xmenu_setbootmedia(UINT8 value) { |
| CheckMenuItem(hmenu, IDM_BOOT2HD, MFCHECK(value)); | CheckMenuItem(hmenu, IDM_BOOT2HD, MFCHECK(value)); |
| } | } |
| void xmenu_setwidth(UINT8 value) { | void menu_setresolute(UINT8 value) { |
| HMENU hmenu; | HMENU hmenu; |
| hmenu = GetMenu(hWndMain); | hmenu = GetMenu(hWndMain); |
| CheckMenuItem(hmenu, IDM_WIDTH80, MFCHECK(!value)); | value &= DIPSW_RESOLUTE; |
| CheckMenuItem(hmenu, IDM_WIDTH40, MFCHECK(value)); | 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 hmenu; |
| hmenu = GetMenu(hWndMain); | hmenu = GetMenu(hWndMain); |
| value &= DIPSW_RESOLUTE; | CheckMenuItem(hmenu, IDM_WIDTH80, MFCHECK(!value)); |
| xmilcfg.DIP_SW &= ~DIPSW_RESOLUTE; | CheckMenuItem(hmenu, IDM_WIDTH40, MFCHECK(value)); |
| xmilcfg.DIP_SW |= value; | |
| CheckMenuItem(hmenu, IDM_HIGHRES, MFCHECK(!value)); | |
| CheckMenuItem(hmenu, IDM_LOWRES, MFCHECK(value)); | |
| } | } |
| void xmenu_setdispmode(UINT8 value) { | void menu_setdispmode(UINT8 value) { |
| value &= 1; | value &= 1; |
| xmilcfg.DISPSYNC = value; | xmilcfg.DISPSYNC = value; |
| CheckMenuItem(GetMenu(hWndMain), IDM_DISPSYNC, MFCHECK(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; | value &= 1; |
| xmiloscfg.NOWAIT = value; | xmiloscfg.NOWAIT = value; |
| CheckMenuItem(GetMenu(hWndMain), IDM_NOWAIT, MFCHECK(value)); | CheckMenuItem(GetMenu(hWndMain), IDM_NOWAIT, MFCHECK(value)); |
| } | } |
| void xmenu_setframe(UINT8 value) { | void menu_setframe(UINT8 value) { |
| HMENU hmenu; | HMENU hmenu; |
| Line 184 void xmenu_setframe(UINT8 value) { | Line 300 void xmenu_setframe(UINT8 value) { |
| CheckMenuItem(hmenu, IDM_15FPS, MFCHECK(value == 4)); | CheckMenuItem(hmenu, IDM_15FPS, MFCHECK(value == 4)); |
| } | } |
| void xmenu_setkey(UINT8 value) { | void menu_setkey(UINT8 value) { |
| HMENU hmenu; | HMENU hmenu; |
| Line 198 void xmenu_setkey(UINT8 value) { | Line 314 void xmenu_setkey(UINT8 value) { |
| CheckMenuItem(hmenu, IDM_JOY2, MFCHECK(value == 2)); | CheckMenuItem(hmenu, IDM_JOY2, MFCHECK(value == 2)); |
| } | } |
| void xmenu_setsound(UINT8 value) { | void menu_setsound(UINT8 value) { |
| xmilcfg.SOUND_SW = value; | xmilcfg.SOUND_SW = value; |
| CheckMenuItem(GetMenu(hWndMain), IDM_FMBOARD, MFCHECK(value)); | CheckMenuItem(GetMenu(hWndMain), IDM_FMBOARD, MFCHECK(value)); |
| } | } |
| void xmenu_setjoystick(UINT8 value) { | void menu_setjoystick(UINT8 value) { |
| HMENU hmenu; | HMENU hmenu; |
| Line 219 void xmenu_setjoystick(UINT8 value) { | Line 335 void xmenu_setjoystick(UINT8 value) { |
| } | } |
| } | } |
| void xmenu_setmouse(UINT8 value) { | void menu_setmouse(UINT8 value) { |
| value &= 1; | value &= 1; |
| xmilcfg.MOUSE_SW = value; | xmilcfg.MOUSE_SW = value; |
| CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); | CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); |
| } | } |
| void xmenu_setcpuspeed(UINT8 value) { | void menu_setmotorflg(UINT8 value) { |
| value &= 1; | |
| xmilcfg.CPU8MHz = value; | |
| CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); | |
| } | |
| void xmenu_setmotorflg(UINT8 value) { | |
| value &= 1; | value &= 1; |
| xmilcfg.MOTOR = value; | xmilcfg.MOTOR = value; |
| CheckMenuItem(GetMenu(hWndMain), IDM_SEEKSND, MFCHECK(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)); | CheckMenuItem(GetMenu(hWndMain), IDM_OPMLOG, MFCHECK(value)); |
| } | } |
| void xmenu_setdispclk(UINT8 value) { | void menu_setdispclk(UINT8 value) { |
| HMENU hmenu; | HMENU hmenu; |
| Line 258 void xmenu_setdispclk(UINT8 value) { | Line 367 void xmenu_setdispclk(UINT8 value) { |
| sysmng_updatecaption(3); | sysmng_updatecaption(3); |
| } | } |
| void xmenu_setskipline(UINT8 value) { | void menu_setbtnmode(UINT8 value) { |
| xmilcfg.SKIP_LINE = value & 1; | |
| CheckMenuItem(GetMenu(hWndMain), IDM_SKIPLINE, MFCHECK(xmilcfg.SKIP_LINE)); | |
| reflesh_palette(); | |
| makescrn.palandply = 1; | |
| } | |
| void xmenu_setbtnmode(UINT8 value) { | |
| xmilcfg.BTN_MODE = value & 1; | value &= 1; |
| CheckMenuItem(GetMenu(hWndMain), IDM_JOYX, MFCHECK(xmilcfg.BTN_MODE)); | 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; | xmilcfg.BTN_RAPID = value; |
| CheckMenuItem(GetMenu(hWndMain), IDM_RAPID, MFCHECK(xmilcfg.BTN_RAPID)); | CheckMenuItem(GetMenu(hWndMain), IDM_RAPID, MFCHECK(value)); |
| } | |
| void xmenu_setz80save(UINT8 value) { | |
| if (!value) { | |
| EnableMenuItem(GetMenu(hWndMain), IDM_Z80SAVE, MF_GRAYED); | |
| } | |
| } | } |