|
|
| version 1.10, 2004/08/10 08:28:49 | version 1.14, 2004/08/18 10:44:48 |
|---|---|
| Line 104 void sysmenu_setbgsound(UINT8 value) { | Line 104 void sysmenu_setbgsound(UINT8 value) { |
| // ---- | // ---- |
| 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) { | void menu_initialize(void) { |
| HMENU hMenu; | HMENU hMenu; |
| #if defined(SUPPORT_WAVEREC) || defined(SUPPORT_TURBOZ) | |
| HMENU hSubMenu; | HMENU hSubMenu; |
| // UINT i; | #endif |
| UINT i; | |
| hMenu = GetMenu(hWndMain); | 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) | #if defined(SUPPORT_WAVEREC) |
| hSubMenu = GetSubMenu(hMenu, 7); | hSubMenu = GetSubMenu(hMenu, 5); |
| insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, | insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, |
| IDM_WAVEREC, IDS_WAVEREC); | IDM_WAVEREC, IDS_WAVEREC); |
| #endif | #endif |
| // for (i=4; i--;) { | if (xmiloscfg.Z80SAVE) { |
| // if (np2cfg.fddequip & (1 << i)) { | insertsubmenu(hMenu, 5, &dbgmenu); |
| // insdiskmenu(hMenu, 1, fddmenu + i); | } |
| // } | |
| // } | #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 defined(SUPPORT_STATSAVE) |
| if (np2oscfg.statsave) { | if (xmiloscfg.statsave) { |
| addstatsavemenu(hMenu, 1); | addstatsavemenu(hMenu, 1); |
| } | } |
| #endif | #endif |
| Line 264 void menu_setmouse(UINT8 value) { | Line 342 void menu_setmouse(UINT8 value) { |
| CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); | CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); |
| } | } |
| void menu_setcpuspeed(UINT8 value) { | |
| value &= 1; | |
| xmilcfg.CPU8MHz = value; | |
| CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); | |
| } | |
| void menu_setmotorflg(UINT8 value) { | void menu_setmotorflg(UINT8 value) { |
| value &= 1; | value &= 1; |