void initsave(void) { TCHAR path[MAX_PATH]; milstr_ncpy(path, file_getcd(inifile), NELEMENTS(path)); ini_write(path, ini_title, iniitem, NELEMENTS(iniitem)); }
/** * 初期化 */ void CTraceWnd::Initialize() { WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = ::DefWindowProc; wc.hInstance = GetInstanceHandle(); wc.hCursor = ::LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = static_cast<HBRUSH>(::GetStockObject(WHITE_BRUSH)); wc.lpszClassName = s_szClassName; if (!::RegisterClass(&wc)) { return; } #if 1 m_nFlags = 4; #else m_nFlags = 1; m_tfh = textfile_create(OEMTEXT("traceout.txt"), 0x800); #endif tracecfg.posx = CW_USEDEFAULT; tracecfg.posy = CW_USEDEFAULT; tracecfg.width = CW_USEDEFAULT; tracecfg.height = CW_USEDEFAULT; ini_read(file_getcd(np2trace), inititle, initbl, NELEMENTS(initbl)); if (!CreateEx(WS_EX_CONTROLPARENT, s_szClassName, s_szTitle, WS_OVERLAPPEDWINDOW, tracecfg.posx, tracecfg.posy, tracecfg.width, tracecfg.height, NULL, NULL)) { return; } ShowWindow(SW_SHOW); UpdateWindow(); }
void initsave(void) { char path[MAX_PATH]; file_cpyname(path, file_getcd(inifile), NELEMENTS(path)); ini_write(path, ini_title, iniitem, NELEMENTS(iniitem)); }
void initsave(void) { char path[MAX_PATH]; file_cpyname(path, file_getcd(inifile), sizeof(path)); ini_write(path, ini_title, iniitem, INIITEMS, TRUE); }
static BOOL selectfile(const FSELPRM *prm, OEMCHAR *path, int size, const OEMCHAR *def) { const OEMCHAR *title; soundmng_stop(); ZeroMemory(&filesel, sizeof(filesel)); if ((def) && (def[0])) { file_cpyname(filesel.path, def, NELEMENTS(filesel.path)); } else { file_cpyname(filesel.path, file_getcd(str_null), NELEMENTS(filesel.path)); file_cutname(filesel.path); } title = NULL; if (prm) { title = prm->title; filesel.filter = prm->filter; filesel.ext = prm->ext; } menudlg_create(DLGFS_WIDTH, DLGFS_HEIGHT, title, dlgcmd); menubase_modalproc(); soundmng_play(); if (filesel.result) { file_cpyname(path, filesel.path, size); return(TRUE); } else { return(FALSE); } }
void initsave(void) { OEMCHAR path[MAX_PATH]; milstr_ncpy(path, file_getcd(inifile), NELEMENTS(path)); profile_iniwrite(path, ini_title, iniitem, NELEMENTS(iniitem), NULL); }
void initload(void) { char path[MAX_PATH]; file_cpyname(path, file_getcd(inifile), sizeof(path)); ini_read(path, ini_title, iniitem, INIITEMS); }
void debugsub_status(void) { static int filenum = 0; TEXTFILEH tfh; OEMCHAR work[512]; const OEMCHAR *p; OEMSPRINTF(work, file_i286reg, filenum); tfh = textfile_create(file_getcd(work), 0); if (tfh != NULL) { p = debugsub_regs(); textfile_write(tfh, p); OEMSPRINTF(work, str_picstat, pic.pi[0].imr, pic.pi[0].irr, pic.pi[0].isr, pic.pi[1].imr, pic.pi[1].irr, pic.pi[1].isr, mouseif.upd8255.portc, sysport.c); textfile_write(tfh, work); textfile_close(tfh); } OEMSPRINTF(work, file_i286cs, filenum); writeseg(work, CS_BASE, 0xffff); OEMSPRINTF(work, file_i286ds, filenum); writeseg(work, DS_BASE, 0xffff); OEMSPRINTF(work, file_i286es, filenum); writeseg(work, ES_BASE, 0xffff); OEMSPRINTF(work, file_i286ss, filenum); writeseg(work, SS_BASE, 0xffff); filenum++; }
void initsave(void) { char path[MAX_PATH]; milstr_ncpy(path, file_getcd(inifile), sizeof(path)); ini_write(path, ini_title, iniitem, INIITEMS); }
void initload(void) { OEMCHAR path[MAX_PATH]; icon.loadIcon(xmil_icon); //for dialog milstr_ncpy(path, file_getcd(inifile), NELEMENTS(path)); profile_iniread(path, ini_title, iniitem, NELEMENTS(iniitem), NULL); }
void trace_term(void) { if (tracewin.fh != FILEH_INVALID) { trfh_close(); } if (tracewin.hwnd) { DestroyWindow(tracewin.hwnd); tracewin.hwnd = NULL; ini_write(file_getcd(np2trace), inititle, initbl, 4); } }
/** * 解放 */ void CTraceWnd::Deinitialize() { if (m_tfh != NULL) { textfile_close(m_tfh); m_tfh = NULL; } DestroyWindow(); ini_write(file_getcd(np2trace), inititle, initbl, NELEMENTS(initbl)); }
void trace_term(void) { if (tracewin.tf != NULL) { textfile_close(tracewin.tf); tracewin.tf = NULL; } if (tracewin.hwnd) { DestroyWindow(tracewin.hwnd); tracewin.hwnd = NULL; ini_write(file_getcd(np2trace), inititle, initbl, NELEMENTS(initbl)); } }
static void VERMOUTHCL pathaddex(MIDIMOD mod, const OEMCHAR *path) { OEMCHAR _path[MAX_PATH]; if (milstr_memcmp(path, str_basedir)) { pathadd(mod, path); } else { file_cpyname(_path, file_getcd(str_null), NELEMENTS(_path)); file_cutseparator(_path); file_catname(_path, path + 10, NELEMENTS(_path)); pathadd(mod, _path); } }
void trace_init(void) { HWND hwnd; ZeroMemory(&tracewin, sizeof(tracewin)); if (!hPrev) { WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = traceproc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInst; wc.hIcon = NULL; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = (LPCTSTR)ClassName; if (!RegisterClass(&wc)) { return; } } #if 1 tracewin.en = 4; #else tracewin.en = 0; #endif tracewin.fh = FILEH_INVALID; tracecfg.posx = CW_USEDEFAULT; tracecfg.posy = CW_USEDEFAULT; tracecfg.width = CW_USEDEFAULT; tracecfg.height = CW_USEDEFAULT; ini_read(file_getcd(np2trace), inititle, initbl, 4); hwnd = CreateWindowEx(WS_EX_CONTROLPARENT, ClassName, ProgTitle, WS_OVERLAPPEDWINDOW, tracecfg.posx, tracecfg.posy, tracecfg.width, tracecfg.height, NULL, NULL, hInst, NULL); tracewin.hwnd = hwnd; if (hwnd == NULL) { return; } ShowWindow(hwnd, SW_SHOW); UpdateWindow(hwnd); }
void trace_init(void) { HWND hwnd; ZeroMemory(&tracewin, sizeof(tracewin)); WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = traceproc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = g_hInstance; wc.hIcon = NULL; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = ClassName; if (!RegisterClass(&wc)) { return; } #if 1 tracewin.en = 4; #else tracewin.en = 1; tracewin.tf = textfile_create(OEMTEXT("traceout.txt"), 0x800); #endif tracecfg.posx = CW_USEDEFAULT; tracecfg.posy = CW_USEDEFAULT; tracecfg.width = CW_USEDEFAULT; tracecfg.height = CW_USEDEFAULT; ini_read(file_getcd(np2trace), inititle, initbl, NELEMENTS(initbl)); hwnd = CreateWindowEx(WS_EX_CONTROLPARENT, ClassName, ProgTitle, WS_OVERLAPPEDWINDOW, tracecfg.posx, tracecfg.posy, tracecfg.width, tracecfg.height, NULL, NULL, g_hInstance, NULL); tracewin.hwnd = hwnd; if (hwnd == NULL) { return; } ShowWindow(hwnd, SW_SHOW); UpdateWindow(hwnd); }
VEXTERN MIDIMOD VEXPORT midimod_create(UINT samprate) { UINT size; MIDIMOD ret; BRESULT r; size = sizeof(_MIDIMOD); size += sizeof(INSTRUMENT) * 128 * 2; size += sizeof(_TONECFG) * 128 * 2; ret = (MIDIMOD)_MALLOC(size, "MIDIMOD"); if (ret == NULL) { goto mmcre_err1; } ZeroMemory(ret, size); ret->samprate = samprate; ret->tone[0] = (INSTRUMENT *)(ret + 1); ret->tone[1] = ret->tone[0] + 128; ret->tonecfg[0] = (TONECFG)(ret->tone[1] + 128); ret->tonecfg[1] = ret->tonecfg[0] + 128; ret->pathtbl = listarray_new(sizeof(_PATHLIST), 16); pathadd(ret, NULL); pathadd(ret, file_getcd(str_null)); ret->namelist = listarray_new(MAX_NAME, 128); r = cfgfile_load(ret, file_timiditycfg, 0); #if defined(TIMIDITY_CFGFILE) if (r != SUCCESS) { r = cfgfile_load(ret, TIMIDITY_CFGFILE, 0); } #endif if (r != SUCCESS) { goto mmcre_err2; } midimod_lock(ret); return(ret); mmcre_err2: listarray_destroy(ret->namelist); listarray_destroy(ret->pathtbl); _MFREE(ret); mmcre_err1: return(NULL); }
/** * カレント ファイルの属性を得る * @param[in] lpFilename ファイル名 * @return ファイル属性 */ short DOSIOCALL file_attr_c(const OEMCHAR* lpFilename) { return file_attr(file_getcd(lpFilename)); }
/** * カレント ファイルの削除 * @param[in] lpFilename ファイル名 * @retval 0 成功 * @retval -1 失敗 */ short DOSIOCALL file_delete_c(const OEMCHAR* lpFilename) { return file_delete(file_getcd(lpFilename)); }
/** * カレント ファイルを作成します * @param[in] lpFilename ファイル名 * @return ファイル ハンドル */ FILEH DOSIOCALL file_create_c(const OEMCHAR* lpFilename) { return file_create(file_getcd(lpFilename)); }
FILEH DOSIOCALL file_open_rb_c(const OEMCHAR* lpFilename) { return file_open_rb(file_getcd(lpFilename)); }
/** * Loads font files * @param[in] filename The name of the font file * @param[in] force If this parameter is TRUE, load file always * If this parameter is FALSE, load when font is not ready * @return font type */ UINT8 font_load(const OEMCHAR *filename, BOOL force) { UINT i; const UINT8 *p; UINT8 *q; UINT j; OEMCHAR fname[MAX_PATH]; UINT8 type; UINT8 loading; if (filename) { file_cpyname(fname, filename, NELEMENTS(fname)); } else { fname[0] = '\0'; } type = fonttypecheck(fname); if ((!type) && (!force)) { return(0); } // 外字: font[??560-??57f], font[??d60-??d7f] は削らないように… for (i=0; i<0x80; i++) { q = fontrom + (i << 12); ZeroMemory(q + 0x000, 0x0560 - 0x000); ZeroMemory(q + 0x580, 0x0d60 - 0x580); ZeroMemory(q + 0xd80, 0x1000 - 0xd80); } fontdata_ank8store(fontdata_8, 0, 256); p = fontdata_8; q = fontrom + 0x80000; for (i=0; i<256; i++) { for (j=0; j<8; j++) { q[0] = p[0]; q[1] = p[0]; p += 1; q += 2; } } loading = 0xff; switch(type) { case FONTTYPE_PC98: loading = fontpc98_read(fname, loading); break; case FONTTYPE_V98: loading = fontv98_read(fname, loading); break; case FONTTYPE_PC88: loading = fontpc88_read(fname, loading); break; case FONTTYPE_FM7: loading = fontfm7_read(fname, loading); break; case FONTTYPE_X1: loading = fontx1_read(fname, loading); break; case FONTTYPE_X68: loading = fontx68k_read(fname, loading); break; } loading = fontpc98_read(file_getcd(pc98fontname), loading); loading = fontv98_read(file_getcd(v98fontname), loading); loading = fontpc88_read(file_getcd(pc88ankname), loading); if (loading & FONTLOAD_16) { file_cpyname(fname, file_getcd(fonttmpname), NELEMENTS(fname)); if (file_attr(fname) == -1) { makepc98bmp(fname); } loading = fontpc98_read(fname, loading); } return(type); }
/* * main */ int main(int argc, char *argv[]) { struct stat sb; BOOL result; int rv = 1; int ch; int i, drvmax; progname = argv[0]; toolkit_initialize(); toolkit_arginit(&argc, &argv); while ((ch = getopt_long(argc, argv, "c:C:t:vh", longopts, NULL)) != -1) { switch (ch) { case 'c': if (stat(optarg, &sb) < 0 || !S_ISREG(sb.st_mode)) { fprintf(stderr, "Can't access %s.\n", optarg); exit(1); } milstr_ncpy(modulefile, optarg, sizeof(modulefile)); /* resume/statsave dir */ file_cpyname(statpath, modulefile, sizeof(statpath)); file_cutname(statpath); break; case 'C': if (stat(optarg, &sb) < 0 || !S_ISREG(sb.st_mode)) { fprintf(stderr, "Can't access %s.\n", optarg); exit(1); } milstr_ncpy(timidity_cfgfile_path, optarg, sizeof(timidity_cfgfile_path)); break; case 't': if (stat(optarg, &sb) < 0 || !S_ISREG(sb.st_mode)) { fprintf(stderr, "Can't access %s.\n", optarg); exit(1); } milstr_ncpy(fontfilename, optarg, sizeof(fontfilename)); break; case 'v': verbose = 1; break; case 'h': case '?': default: usage(); break; } } argc -= optind; argv += optind; if (modulefile[0] == '\0') { char *env = getenv("HOME"); if (env) { /* base dir */ snprintf(modulefile, sizeof(modulefile), "%s/.np2", env); if (stat(modulefile, &sb) < 0) { if (mkdir(modulefile, 0700) < 0) { perror(modulefile); exit(1); } } else if (!S_ISDIR(sb.st_mode)) { fprintf(stderr, "%s isn't directory.\n", modulefile); exit(1); } /* font file */ snprintf(np2cfg.fontfile, sizeof(np2cfg.fontfile), "%s/font.bmp", modulefile); /* resume/statsave dir */ file_cpyname(statpath, modulefile, sizeof(statpath)); file_catname(statpath, "/sav/", sizeof(statpath)); if (stat(statpath, &sb) < 0) { if (mkdir(statpath, 0700) < 0) { perror(statpath); exit(1); } } else if (!S_ISDIR(sb.st_mode)) { fprintf(stderr, "%s isn't directory.\n", statpath); exit(1); } /* config file */ milstr_ncat(modulefile, "/np2rc", sizeof(modulefile)); if ((stat(modulefile, &sb) >= 0) && !S_ISREG(sb.st_mode)) { fprintf(stderr, "%s isn't regular file.\n", modulefile); } } } if (timidity_cfgfile_path[0] == '\0') { file_cpyname(timidity_cfgfile_path, modulefile, sizeof(timidity_cfgfile_path)); file_cutname(timidity_cfgfile_path); file_catname(timidity_cfgfile_path, "timidity.cfg", sizeof(timidity_cfgfile_path)); } dosio_init(); file_setcd(modulefile); initload(); toolwin_readini(); kdispwin_readini(); skbdwin_readini(); rand_setseed((SINT32)time(NULL)); #if defined(GCC_CPU_ARCH_IA32) mmxflag = havemmx() ? 0 : MMXFLAG_NOTSUPPORT; mmxflag += np2oscfg.disablemmx ? MMXFLAG_DISABLE : 0; #endif TRACEINIT(); if (fontmng_init() != SUCCESS) goto fontmng_failure; kdispwin_initialize(); viewer_init(); skbdwin_initialize(); toolkit_widget_create(); scrnmng_initialize(); kbdmng_init(); inputmng_init(); keystat_initialize(); scrnmode = 0; if (np2cfg.RASTER) { scrnmode |= SCRNMODE_HIGHCOLOR; } if (sysmenu_create() != SUCCESS) goto sysmenu_failure; if (scrnmng_create(scrnmode) != SUCCESS) goto scrnmng_failure; if (soundmng_initialize() == SUCCESS) { result = soundmng_pcmload(SOUND_PCMSEEK, file_getcd("fddseek.wav")); if (!result) { result = soundmng_pcmload(SOUND_PCMSEEK, SYSRESPATH "/fddseek.wav"); } if (result) { soundmng_pcmvolume(SOUND_PCMSEEK, np2cfg.MOTORVOL); } result = soundmng_pcmload(SOUND_PCMSEEK1, file_getcd("fddseek1.wav")); if (!result) { result = soundmng_pcmload(SOUND_PCMSEEK1, SYSRESPATH "/fddseek1.wav"); } if (result) { soundmng_pcmvolume(SOUND_PCMSEEK1, np2cfg.MOTORVOL); } } joymng_initialize(); mousemng_initialize(); if (np2oscfg.MOUSE_SW) { mouse_running(MOUSE_ON); } commng_initialize(); sysmng_initialize(); taskmng_initialize(); pccore_init(); S98_init(); toolkit_widget_show(); scrndraw_redraw(); pccore_reset(); if (!(scrnmode & SCRNMODE_FULLSCREEN)) { if (np2oscfg.toolwin) { toolwin_create(); } if (np2oscfg.keydisp) { kdispwin_create(); } if (np2oscfg.softkbd) { skbdwin_create(); } } #if !defined(CPUCORE_IA32) if (np2oscfg.resume) { flagload(np2resumeext, "Resume", FALSE); } #endif sysmng_workclockreset(); drvmax = (argc < 4) ? argc : 4; for (i = 0; i < drvmax; i++) { diskdrv_readyfdd(i, argv[i], 0); } setup_signal(SIGINT, sighandler); setup_signal(SIGTERM, sighandler); toolkit_widget_mainloop(); rv = 0; kdispwin_destroy(); toolwin_destroy(); skbdwin_destroy(); pccore_cfgupdate(); mouse_running(MOUSE_OFF); joymng_deinitialize(); S98_trash(); #if !defined(CPUCORE_IA32) if (np2oscfg.resume) { flagsave(np2resumeext); } else { flagdelete(np2resumeext); } #endif pccore_term(); debugwin_destroy(); soundmng_deinitialize(); scrnmng_destroy(); scrnmng_failure: sysmenu_destroy(); sysmenu_failure: fontmng_terminate(); fontmng_failure: if (sys_updates & (SYS_UPDATECFG|SYS_UPDATEOSCFG)) { initsave(); toolwin_writeini(); kdispwin_writeini(); skbdwin_writeini(); } skbdwin_deinitialize(); TRACETERM(); dosio_term(); viewer_term(); toolkit_terminate(); return rv; }
static void np2cmd(HWND hWnd, UINT16 cmd) { UINT update; update = 0; switch(cmd) { case IDM_RESET: pccore_cfgupdate(); pccore_reset(); break; case IDM_CONFIG: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_CONFIG), hWnd, (DLGPROC)CfgDialogProc); winuileave(); break; case IDM_NEWDISK: winuienter(); dialog_newdisk(hWnd); winuileave(); break; case IDM_CHANGEFONT: winuienter(); dialog_font(hWnd); winuileave(); break; case IDM_EXIT: SendMessage(hWnd, WM_CLOSE, 0, 0L); break; case IDM_FDD1OPEN: winuienter(); dialog_changefdd(hWnd, 0); winuileave(); break; case IDM_FDD1EJECT: diskdrv_setfdd(0, NULL, 0); break; case IDM_FDD2OPEN: winuienter(); dialog_changefdd(hWnd, 1); winuileave(); break; case IDM_FDD2EJECT: diskdrv_setfdd(1, NULL, 0); break; case IDM_SASI1OPEN: winuienter(); dialog_changehdd(hWnd, 0); winuileave(); break; case IDM_SASI1EJECT: diskdrv_sethdd(0, NULL); break; case IDM_SASI2OPEN: winuienter(); dialog_changehdd(hWnd, 1); winuileave(); break; case IDM_SASI2EJECT: diskdrv_sethdd(1, NULL); break; case IDM_WINDOW: changescreen(scrnmode & (~SCRNMODE_FULLSCREEN)); break; case IDM_FULLSCREEN: changescreen(scrnmode | SCRNMODE_FULLSCREEN); break; case IDM_ROLNORMAL: xmenu_setroltate(0); changescreen(scrnmode & (~SCRNMODE_ROTATEMASK)); break; case IDM_ROLLEFT: xmenu_setroltate(1); changescreen((scrnmode & (~SCRNMODE_ROTATEMASK)) | SCRNMODE_ROTATELEFT); break; case IDM_ROLRIGHT: xmenu_setroltate(2); changescreen((scrnmode & (~SCRNMODE_ROTATEMASK)) | SCRNMODE_ROTATERIGHT); break; case IDM_DISPSYNC: xmenu_setdispmode(np2cfg.DISPSYNC ^ 1); update |= SYS_UPDATECFG; break; case IDM_RASTER: xmenu_setraster(np2cfg.RASTER ^ 1); if (np2cfg.RASTER) { changescreen(scrnmode | SCRNMODE_HIGHCOLOR); } else { changescreen(scrnmode & (~SCRNMODE_HIGHCOLOR)); } update |= SYS_UPDATECFG; break; case IDM_NOWAIT: xmenu_setwaitflg(np2oscfg.NOWAIT ^ 1); update |= SYS_UPDATECFG; break; case IDM_AUTOFPS: xmenu_setframe(0); update |= SYS_UPDATECFG; break; case IDM_60FPS: xmenu_setframe(1); update |= SYS_UPDATECFG; break; case IDM_30FPS: xmenu_setframe(2); update |= SYS_UPDATECFG; break; case IDM_20FPS: xmenu_setframe(3); update |= SYS_UPDATECFG; break; case IDM_15FPS: xmenu_setframe(4); update |= SYS_UPDATECFG; break; case IDM_SCREENOPT: winuienter(); dialog_scropt(hWnd); winuileave(); break; case IDM_KEY: xmenu_setkey(0); update |= SYS_UPDATECFG; break; case IDM_JOY1: xmenu_setkey(1); update |= SYS_UPDATECFG; break; case IDM_JOY2: xmenu_setkey(2); update |= SYS_UPDATECFG; break; case IDM_XSHIFT: xmenu_setxshift(np2cfg.XSHIFT ^ 1); keystat_forcerelease(0x70); update |= SYS_UPDATECFG; break; case IDM_XCTRL: xmenu_setxshift(np2cfg.XSHIFT ^ 2); keystat_forcerelease(0x74); update |= SYS_UPDATECFG; break; case IDM_XGRPH: xmenu_setxshift(np2cfg.XSHIFT ^ 4); keystat_forcerelease(0x73); update |= SYS_UPDATECFG; break; case IDM_F12MOUSE: xmenu_setf12copy(0); winkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case IDM_F12COPY: xmenu_setf12copy(1); winkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case IDM_F12STOP: xmenu_setf12copy(2); winkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case IDM_F12EQU: xmenu_setf12copy(3); winkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case IDM_F12COMMA: xmenu_setf12copy(4); winkbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case IDM_BEEPOFF: xmenu_setbeepvol(0); beep_setvol(0); update |= SYS_UPDATECFG; break; case IDM_BEEPLOW: xmenu_setbeepvol(1); beep_setvol(1); update |= SYS_UPDATECFG; break; case IDM_BEEPMID: xmenu_setbeepvol(2); beep_setvol(2); update |= SYS_UPDATECFG; break; case IDM_BEEPHIGH: xmenu_setbeepvol(3); beep_setvol(3); update |= SYS_UPDATECFG; break; case IDM_NOSOUND: xmenu_setsound(0x00); update |= SYS_UPDATECFG; break; case IDM_PC9801_14: xmenu_setsound(0x01); update |= SYS_UPDATECFG; break; case IDM_PC9801_26K: xmenu_setsound(0x02); update |= SYS_UPDATECFG; break; case IDM_PC9801_86: xmenu_setsound(0x04); update |= SYS_UPDATECFG; break; case IDM_PC9801_26_86: xmenu_setsound(0x06); update |= SYS_UPDATECFG; break; case IDM_PC9801_86_CB: xmenu_setsound(0x14); update |= SYS_UPDATECFG; break; case IDM_PC9801_118: xmenu_setsound(0x08); update |= SYS_UPDATECFG; break; case IDM_SPEAKBOARD: xmenu_setsound(0x20); update |= SYS_UPDATECFG; break; case IDM_SPARKBOARD: xmenu_setsound(0x40); update |= SYS_UPDATECFG; break; case IDM_AMD98: xmenu_setsound(0x80); update |= SYS_UPDATECFG; break; case IDM_JASTSOUND: xmenu_setjastsound(np2oscfg.jastsnd ^ 1); update |= SYS_UPDATEOSCFG; break; case IDM_SEEKSND: xmenu_setmotorflg(np2cfg.MOTOR ^ 1); update |= SYS_UPDATECFG; break; case IDM_MEM640: xmenu_setextmem(0); update |= SYS_UPDATECFG; break; case IDM_MEM16: xmenu_setextmem(1); update |= SYS_UPDATECFG; break; case IDM_MEM36: xmenu_setextmem(3); update |= SYS_UPDATECFG; break; case IDM_MEM76: xmenu_setextmem(7); update |= SYS_UPDATECFG; break; case IDM_MEM116: xmenu_setextmem(11); update |= SYS_UPDATECFG; break; case IDM_MEM136: xmenu_setextmem(13); update |= SYS_UPDATECFG; break; case IDM_MOUSE: mousemng_toggle(MOUSEPROC_SYSTEM); xmenu_setmouse(np2oscfg.MOUSE_SW ^ 1); update |= SYS_UPDATECFG; break; case IDM_MPUPC98: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_MPUPC98), hWnd, (DLGPROC)MidiDialogProc); winuileave(); break; case IDM_MIDIPANIC: // ver0.29 rs232c_midipanic(); mpu98ii_midipanic(); pc9861k_midipanic(); break; case IDM_SNDOPT: winuienter(); dialog_sndopt(hWnd); winuileave(); break; case IDM_BMPSAVE: winuienter(); dialog_writebmp(hWnd); winuileave(); break; #if defined(SUPPPORT_S98) case IDM_S98LOGGING: winuienter(); dialog_s98(hWnd); winuileave(); break; #endif #if defined(SUPPORT_WAVEREC) case IDM_WAVEREC: winuienter(); dialog_waverec(hWnd); winuileave(); break; #endif case IDM_CALENDAR: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_CALENDAR), hWnd, (DLGPROC)ClndDialogProc); winuileave(); break; case IDM_JOYX: xmenu_setbtnmode(np2cfg.BTN_MODE ^ 1); update |= SYS_UPDATECFG; break; case IDM_RAPID: xmenu_setbtnrapid(np2cfg.BTN_RAPID ^ 1); update |= SYS_UPDATECFG; break; case IDM_MSRAPID: xmenu_setmsrapid(np2cfg.MOUSERAPID ^ 1); update |= SYS_UPDATECFG; break; case IDM_I286SAVE: debugsub_status(); break; case IDM_HELP: ShellExecute(hWnd, NULL, file_getcd(np2help), NULL, NULL, SW_SHOWNORMAL); break; case IDM_ABOUT: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), hWnd, (DLGPROC)AboutDialogProc); winuileave(); break; } sysmng_update(update); }
static void getstatfilename(char *path, const char *ext, UINT size) { file_cpyname(path, file_getcd(np2app), size); file_catname(path, ext, size); }