| version 1.1, 2004/08/01 05:31:31 | version 1.10, 2004/08/10 08:28:49 | 
| Line 5 | Line 5 | 
 | #include        "scrnmng.h" | #include        "scrnmng.h" | 
 | #include        "sysmng.h" | #include        "sysmng.h" | 
 | #include        "pccore.h" | #include        "pccore.h" | 
 | #include        "x1_io.h" |  | 
 | #include        "x1_fdc.h" |  | 
 | #include        "ini.h" | #include        "ini.h" | 
 | #include        "menu.h" | #include        "menu.h" | 
 | #include        "draw.h" |  | 
 | #include        "palettes.h" | #include        "palettes.h" | 
 |  | #include        "makescrn.h" | 
 | #include        "fdd_mtr.h" | #include        "fdd_mtr.h" | 
 | #include        "fdd_ini.h" | #include        "fdd_ini.h" | 
 |  |  | 
| Line 106  void sysmenu_setbgsound(UINT8 value) { | Line 104  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; | HMENU   hmenu; | 
 |  |  | 
| Line 115  void xmenu_disablewindow(void) { | Line 144  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 126  void xmenu_setiplrom(UINT8 num) { | Line 155  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; | 
 |  |  | 
 | hmenu = GetMenu(hWndMain); | hmenu = GetMenu(hWndMain); | 
| value &= DIP_BOOTMEDIA; | value &= DIPSW_BOOTMEDIA; | 
| xmilcfg.DIP_SW &= (~DIP_BOOTMEDIA); | xmilcfg.DIP_SW &= ~DIPSW_BOOTMEDIA; | 
 | xmilcfg.DIP_SW |= value; | xmilcfg.DIP_SW |= value; | 
 | CheckMenuItem(hmenu, IDM_BOOT2D, MFCHECK(!value)); | CheckMenuItem(hmenu, IDM_BOOT2D, MFCHECK(!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 &= DIP_RESOLUTE; | CheckMenuItem(hmenu, IDM_WIDTH80, MFCHECK(!value)); | 
| xmilcfg.DIP_SW &= (~DIP_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; | 
| xmilcfg.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; | 
 |  |  | 
 | hmenu = GetMenu(hWndMain); | hmenu = GetMenu(hWndMain); | 
| xmilcfg.DRAW_SKIP = value; | xmiloscfg.DRAW_SKIP = value; | 
| CheckMenuItem(hmenu, IDM_RASTER, MFCHECK(!value)); | CheckMenuItem(hmenu, IDM_AUTOFPS, MFCHECK(!value)); | 
 | CheckMenuItem(hmenu, IDM_60FPS, MFCHECK(value == 1)); | CheckMenuItem(hmenu, IDM_60FPS, MFCHECK(value == 1)); | 
 | CheckMenuItem(hmenu, IDM_30FPS, MFCHECK(value == 2)); | CheckMenuItem(hmenu, IDM_30FPS, MFCHECK(value == 2)); | 
 | CheckMenuItem(hmenu, IDM_20FPS, MFCHECK(value == 3)); | CheckMenuItem(hmenu, IDM_20FPS, MFCHECK(value == 3)); | 
 | 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 200  void xmenu_setkey(UINT8 value) { | Line 236  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 221  void xmenu_setjoystick(UINT8 value) { | Line 257  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_setcpuspeed(UINT8 value) { | 
 |  |  | 
 | value &= 1; | value &= 1; | 
 | xmilcfg.CPU8MHz = value; | xmilcfg.CPU8MHz = value; | 
 | CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); | CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); | 
 | } | } | 
 |  |  | 
| void xmenu_setmotorflg(UINT8 value) { | void menu_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 260  void xmenu_setdispclk(UINT8 value) { | Line 296  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(); |  | 
| palandply = 1; |  | 
| } |  | 
 |  |  | 
| void xmenu_setbtnmode(UINT8 value) { | value &= 1; | 
|  | xmilcfg.BTN_MODE = value; | 
| xmilcfg.BTN_MODE = value & 1; | CheckMenuItem(GetMenu(hWndMain), IDM_JOYX, MFCHECK(value)); | 
| CheckMenuItem(GetMenu(hWndMain), IDM_JOYX, MFCHECK(xmilcfg.BTN_MODE)); |  | 
 | } | } | 
 |  |  | 
| 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); |  | 
| } |  | 
 | } | } | 
 |  |  |