static void sys_cmd(MENUID id) { int val; BOOL r; switch(id) { #ifdef SUPPORT_FULLSCREEN case MID_SCREEN: scrnmng_fullscreen(!gamecore.gamecfg.fullscreen); break; #endif case MID_CONFIG: cfgdlg_open(); break; case MID_SKIP: val = !menusys_getcheck(MID_SKIP); gamecfg_setskip(val); break; case MID_READSKIP: val = !menusys_getcheck(MID_READSKIP); gamecfg_setreadskip(val); break; case MID_AUTO: gamecore.gamecfg.autoclick = !gamecore.gamecfg.autoclick; break; case MID_LOAD: r = scr_scriptcall("LOADSYS"); if (r == SUCCESS) { gamecore.event = GAMEEV_SUCCESS; // 要調整 } else { dlgsave_load(); } break; case MID_SAVE: r = scr_scriptcall("SAVESYS"); if (r == SUCCESS) { gamecore.event = GAMEEV_SUCCESS; // 要調整 } else { dlgsave_save(); } break; case MID_TITLE: if (menumbox((char *)str_titler, gamecore.suf.key, MBOX_YESNO | MBOX_ICONQUESTION) == DID_YES) { if (scr_restart("TITLE") != SUCCESS) { scr_restart("MAIN"); // プライベートナース } } break; case MID_EXIT: TRACEOUT(("title: %s", gamecore.suf.key)); if (menumbox((char *)str_exitr, gamecore.suf.key, MBOX_YESNO | MBOX_ICONQUESTION) == DID_YES) { taskmng_exit(); } break; #if defined(MENU_TASKMINIMIZE) case SID_MINIMIZE: taskmng_minimize(); break; #endif case SID_CLOSE: taskmng_exit(); break; } }
static void sys_cmd(MENUID id) { UINT update; update = 0; switch(id) { case MID_RESET: pccore_cfgupdate(); pccore_reset(); break; case MID_CONFIG: menudlg_create(DLGCFG_WIDTH, DLGCFG_HEIGHT, (char *)mstr_cfg, dlgcfg_cmd); break; case MID_FDD1OPEN: filesel_fdd(0); break; case MID_FDD1EJECT: diskdrv_setfdd(0, NULL, 0); break; case MID_FDD2OPEN: filesel_fdd(1); break; case MID_FDD2EJECT: diskdrv_setfdd(1, NULL, 0); break; case MID_SASI1OPEN: filesel_hdd(0x00); break; case MID_SASI1EJECT: diskdrv_sethdd(0x00, NULL); break; case MID_SASI2OPEN: filesel_hdd(0x01); break; case MID_SASI2EJECT: diskdrv_sethdd(0x01, NULL); break; #if defined(SUPPORT_SCSI) case MID_SCSI0OPEN: filesel_hdd(0x20); break; case MID_SCSI0EJECT: diskdrv_sethdd(0x20, NULL); break; case MID_SCSI1OPEN: filesel_hdd(0x21); break; case MID_SCSI1EJECT: diskdrv_sethdd(0x21, NULL); break; case MID_SCSI2OPEN: filesel_hdd(0x22); break; case MID_SCSI2EJECT: diskdrv_sethdd(0x22, NULL); break; case MID_SCSI3OPEN: filesel_hdd(0x23); break; case MID_SCSI3EJECT: diskdrv_sethdd(0x23, NULL); break; #endif case MID_DISPSYNC: np2cfg.DISPSYNC ^= 1; update |= SYS_UPDATECFG; break; case MID_RASTER: np2cfg.RASTER ^= 1; update |= SYS_UPDATECFG; break; case MID_NOWAIT: np2oscfg.NOWAIT ^= 1; update |= SYS_UPDATECFG; break; case MID_AUTOFPS: np2oscfg.DRAW_SKIP = 0; update |= SYS_UPDATECFG; break; case MID_60FPS: np2oscfg.DRAW_SKIP = 1; update |= SYS_UPDATECFG; break; case MID_30FPS: np2oscfg.DRAW_SKIP = 2; update |= SYS_UPDATECFG; break; case MID_20FPS: np2oscfg.DRAW_SKIP = 3; update |= SYS_UPDATECFG; break; case MID_15FPS: np2oscfg.DRAW_SKIP = 4; update |= SYS_UPDATECFG; break; case MID_SCREENOPT: menudlg_create(DLGSCR_WIDTH, DLGSCR_HEIGHT, (char *)mstr_scropt, dlgscr_cmd); break; case MID_KEY: np2cfg.KEY_MODE = 0; keystat_resetjoykey(); update |= SYS_UPDATECFG; break; case MID_JOY1: np2cfg.KEY_MODE = 1; keystat_resetjoykey(); update |= SYS_UPDATECFG; break; case MID_JOY2: np2cfg.KEY_MODE = 2; keystat_resetjoykey(); update |= SYS_UPDATECFG; break; case MID_MOUSEKEY: np2cfg.KEY_MODE = 3; keystat_resetjoykey(); update |= SYS_UPDATECFG; break; case MID_XSHIFT: np2cfg.XSHIFT ^= 1; keystat_forcerelease(0x70); update |= SYS_UPDATECFG; break; case MID_XCTRL: np2cfg.XSHIFT ^= 2; keystat_forcerelease(0x74); update |= SYS_UPDATECFG; break; case MID_XGRPH: np2cfg.XSHIFT ^= 4; keystat_forcerelease(0x73); update |= SYS_UPDATECFG; break; case MID_F12MOUSE: np2oscfg.F12KEY = 0; sdlkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case MID_F12COPY: np2oscfg.F12KEY = 1; sdlkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case MID_F12STOP: np2oscfg.F12KEY = 2; sdlkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case MID_F12EQU: np2oscfg.F12KEY = 3; sdlkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case MID_F12COMMA: np2oscfg.F12KEY = 4; sdlkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case MID_BEEPOFF: np2cfg.BEEP_VOL = 0; beep_setvol(0); update |= SYS_UPDATECFG; break; case MID_BEEPLOW: np2cfg.BEEP_VOL = 1; beep_setvol(1); update |= SYS_UPDATECFG; break; case MID_BEEPMID: np2cfg.BEEP_VOL = 2; beep_setvol(2); update |= SYS_UPDATECFG; break; case MID_BEEPHIGH: np2cfg.BEEP_VOL = 3; beep_setvol(3); update |= SYS_UPDATECFG; break; case MID_NOSOUND: np2cfg.SOUND_SW = 0x00; update |= SYS_UPDATECFG; break; case MID_PC9801_14: np2cfg.SOUND_SW = 0x01; update |= SYS_UPDATECFG; break; case MID_PC9801_26K: np2cfg.SOUND_SW = 0x02; update |= SYS_UPDATECFG; break; case MID_PC9801_86: np2cfg.SOUND_SW = 0x04; update |= SYS_UPDATECFG; break; case MID_PC9801_26_86: np2cfg.SOUND_SW = 0x06; update |= SYS_UPDATECFG; break; case MID_PC9801_86_CB: np2cfg.SOUND_SW = 0x14; update |= SYS_UPDATECFG; break; case MID_PC9801_118: np2cfg.SOUND_SW = 0x08; update |= SYS_UPDATECFG; break; case MID_SPEAKBOARD: np2cfg.SOUND_SW = 0x20; update |= SYS_UPDATECFG; break; case MID_SPARKBOARD: np2cfg.SOUND_SW = 0x40; update |= SYS_UPDATECFG; break; case MID_AMD98: np2cfg.SOUND_SW = 0x80; update |= SYS_UPDATECFG; break; case MID_JASTSND: np2oscfg.jastsnd ^= 1; update |= SYS_UPDATEOSCFG; break; case MID_SEEKSND: np2cfg.MOTOR ^= 1; update |= SYS_UPDATECFG; break; #if 0 case IDM_SNDOPT: winuienter(); dialog_sndopt(hWnd); winuileave(); break; #endif case MID_MEM640: np2cfg.EXTMEM = 0; update |= SYS_UPDATECFG; break; case MID_MEM16: np2cfg.EXTMEM = 1; update |= SYS_UPDATECFG; break; case MID_MEM36: np2cfg.EXTMEM = 3; update |= SYS_UPDATECFG; break; case MID_MEM76: np2cfg.EXTMEM = 7; update |= SYS_UPDATECFG; break; #if 0 case IDM_MOUSE: mousemng_toggle(MOUSEPROC_SYSTEM); xmenu_setmouse(np2oscfg.MOUSE_SW ^ 1); update |= SYS_UPDATECFG; break; case IDM_SERIAL1: winuienter(); dialog_serial(hWnd); winuileave(); break; case IDM_MPUPC98: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_MPUPC98), hWnd, (DLGPROC)MidiDialogProc); winuileave(); break; #endif case MID_MIDIPANIC: rs232c_midipanic(); mpu98ii_midipanic(); pc9861k_midipanic(); break; #if 0 case IDM_BMPSAVE: winuienter(); dialog_writebmp(hWnd); winuileave(); break; case IDM_S98LOGGING: winuienter(); dialog_s98(hWnd); winuileave(); break; case IDM_DISPCLOCK: xmenu_setdispclk(np2oscfg.DISPCLK ^ 1); update |= SYS_UPDATECFG; break; case IDM_DISPFRAME: xmenu_setdispclk(np2oscfg.DISPCLK ^ 2); update |= SYS_UPDATECFG; break; case IDM_CALENDAR: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_CALENDAR), hWnd, (DLGPROC)ClndDialogProc); winuileave(); break; case IDM_ALTENTER: xmenu_setshortcut(np2oscfg.shortcut ^ 1); update |= SYS_UPDATECFG; break; case IDM_ALTF4: xmenu_setshortcut(np2oscfg.shortcut ^ 2); update |= SYS_UPDATECFG; break; #endif case MID_JOYX: np2cfg.BTN_MODE ^= 1; update |= SYS_UPDATECFG; break; case MID_RAPID: np2cfg.BTN_RAPID ^= 1; update |= SYS_UPDATECFG; break; case MID_MSRAPID: np2cfg.MOUSERAPID ^= 1; update |= SYS_UPDATECFG; break; case MID_ABOUT: menudlg_create(DLGABOUT_WIDTH, DLGABOUT_HEIGHT, (char *)mstr_about, dlgabout_cmd); break; #if defined(MENU_TASKMINIMIZE) case SID_MINIMIZE: taskmng_minimize(); break; #endif case MID_EXIT: case SID_CLOSE: taskmng_exit(); break; } sysmng_update(update); }