Diff for /np2/win9x/np2.cpp between versions 1.35 and 1.36

version 1.35, 2004/01/22 01:10:05 version 1.36, 2004/01/24 18:20:06
Line 53 Line 53
 #define         OPENING_WAIT            1500  #define         OPENING_WAIT            1500
 #endif  #endif
   
 #define STATSAVEMAX             10  
   
 static  char            szClassName[] = "NP2-MainWindow";  static  char            szClassName[] = "NP2-MainWindow";
                 HWND            hWndMain;                  HWND            hWndMain;
                 HINSTANCE       hInst;                  HINSTANCE       hInst;
Line 320  static void np2popup(HWND hWnd, LPARAM l Line 318  static void np2popup(HWND hWnd, LPARAM l
   
 // extern "C" void iptrace_out(void);  // extern "C" void iptrace_out(void);
   
   static void np2cmd(HWND hWnd, UINT16 cmd) {
   
           UINT    update;
           BOOL    b;
   
           update = 0;
           switch(cmd) {
                   case IDM_RESET:
                           b = FALSE;
                           if (!np2oscfg.comfirm) {
                                   b = TRUE;
                           }
                           else if (sstpconfirm_reset()) {
                                   winuienter();
                                   if (MessageBox(hWnd, "Sure?", "Reset",
                                                                           MB_ICONQUESTION | MB_YESNO) == IDYES) {
                                           b = TRUE;
                                   }
                                   winuileave();
                           }
                           if (b) {
                                   sstpmsg_reset();
                                   pccore_cfgupdate();
                                   pccore_reset();
                           }
                           break;
   
                   case IDM_CONFIG:
                           winuienter();
                           sstpmsg_config();
                           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);
                           toolwin_setfdd(0, NULL);
                           break;
   
                   case IDM_FDD2OPEN:
                           winuienter();
                           dialog_changefdd(hWnd, 1);
                           winuileave();
                           break;
   
                   case IDM_FDD2EJECT:
                           diskdrv_setfdd(1, NULL, 0);
                           toolwin_setfdd(1, NULL);
                           break;
   
                   case IDM_SASI1OPEN:
                           winuienter();
                           dialog_changehdd(hWnd, 0x00);
                           winuileave();
                           break;
   
                   case IDM_SASI1EJECT:
                           diskdrv_sethdd(0x00, NULL);
                           break;
   
                   case IDM_SASI2OPEN:
                           winuienter();
                           dialog_changehdd(hWnd, 0x01);
                           winuileave();
                           break;
   
                   case IDM_SASI2EJECT:
                           diskdrv_sethdd(0x01, NULL);
                           break;
   #if defined(SUPPORT_SCSI)
                   case IDM_SCSI0OPEN:
                           winuienter();
                           dialog_changehdd(hWnd, 0x20);
                           winuileave();
                           break;
   
                   case IDM_SCSI0EJECT:
                           diskdrv_sethdd(0x20, NULL);
                           break;
   
                   case IDM_SCSI1OPEN:
                           winuienter();
                           dialog_changehdd(hWnd, 0x21);
                           winuileave();
                           break;
   
                   case IDM_SCSI1EJECT:
                           diskdrv_sethdd(0x21, NULL);
                           break;
   
                   case IDM_SCSI2OPEN:
                           winuienter();
                           dialog_changehdd(hWnd, 0x22);
                           winuileave();
                           break;
   
                   case IDM_SCSI2EJECT:
                           diskdrv_sethdd(0x22, NULL);
                           break;
   
                   case IDM_SCSI3OPEN:
                           winuienter();
                           dialog_changehdd(hWnd, 0x23);
                           winuileave();
                           break;
   
                   case IDM_SCSI3EJECT:
                           diskdrv_sethdd(0x23, NULL);
                           break;
   #endif
                   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);
                           keystat_resetjoykey();
                           update |= SYS_UPDATECFG;
                           break;
   
                   case IDM_JOY1:
                           xmenu_setkey(1);
                           keystat_resetjoykey();
                           update |= SYS_UPDATECFG;
                           break;
   
                   case IDM_JOY2:
                           xmenu_setkey(2);
                           keystat_resetjoykey();
                           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_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;
   
                   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;
   
                   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;
   
                   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_SSTP:
                           xmenu_setsstp(np2oscfg.sstp ^ 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:
                           sstpmsg_about();
                           if (sstp_result() != SSTP_SENDING) {
                                   winuienter();
                                   DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT),
                                                                   hWnd, (DLGPROC)AboutDialogProc);
                                   winuileave();
                           }
                           break;
   
                   default:
                           if ((cmd >= IDM_FLAGSAVE) &&
                                   (cmd < (IDM_FLAGSAVE + STATSAVEMAX))) {
                                   char ext[4];
                                   wsprintf(ext, np2flagext, cmd - IDM_FLAGSAVE);
                                   flagsave(ext);
                           }
                           if ((cmd >= IDM_FLAGLOAD) &&
                                   (cmd < (IDM_FLAGLOAD + STATSAVEMAX))) {
                                   char ext[4];
                                   wsprintf(ext, np2flagext, cmd - IDM_FLAGLOAD);
                                   flagload(ext, "Status Load", TRUE);
                           }
                           break;
           }
           sysmng_update(update);
   }
   
 LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {  LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
   
         PAINTSTRUCT     ps;          PAINTSTRUCT     ps;
Line 435  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 940  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                         break;                          break;
   
                 case WM_COMMAND:                  case WM_COMMAND:
                         update = 0;                          np2cmd(hWnd, LOWORD(wParam));
                         switch(LOWORD(wParam)) {  
                                 case IDM_RESET:  
                                         b = FALSE;  
                                         if (!np2oscfg.comfirm) {  
                                                 b = TRUE;  
                                         }  
                                         else if (sstpconfirm_reset()) {  
                                                 winuienter();  
                                                 if (MessageBox(hWnd, "Sure?", "Reset",  
                                                                         MB_ICONQUESTION | MB_YESNO) == IDYES) {  
                                                         b = TRUE;  
                                                 }  
                                                 winuileave();  
                                         }  
                                         if (b) {  
                                                 sstpmsg_reset();  
                                                 pccore_cfgupdate();  
                                                 pccore_reset();  
                                         }  
                                         break;  
   
                                 case IDM_CONFIG:  
                                         winuienter();  
                                         sstpmsg_config();  
                                         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);  
                                         toolwin_setfdd(0, NULL);  
                                         break;  
   
                                 case IDM_FDD2OPEN:  
                                         winuienter();  
                                         dialog_changefdd(hWnd, 1);  
                                         winuileave();  
                                         break;  
   
                                 case IDM_FDD2EJECT:  
                                         diskdrv_setfdd(1, NULL, 0);  
                                         toolwin_setfdd(1, NULL);  
                                         break;  
   
                                 case IDM_SASI1OPEN:  
                                         winuienter();  
                                         dialog_changehdd(hWnd, 0x00);  
                                         winuileave();  
                                         break;  
   
                                 case IDM_SASI1EJECT:  
                                         diskdrv_sethdd(0x00, NULL);  
                                         break;  
   
                                 case IDM_SASI2OPEN:  
                                         winuienter();  
                                         dialog_changehdd(hWnd, 0x01);  
                                         winuileave();  
                                         break;  
   
                                 case IDM_SASI2EJECT:  
                                         diskdrv_sethdd(0x01, 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);  
                                         keystat_resetjoykey();  
                                         update |= SYS_UPDATECFG;  
                                         break;  
   
                                 case IDM_JOY1:  
                                         xmenu_setkey(1);  
                                         keystat_resetjoykey();  
                                         update |= SYS_UPDATECFG;  
                                         break;  
   
                                 case IDM_JOY2:  
                                         xmenu_setkey(2);  
                                         keystat_resetjoykey();  
                                         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_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;  
   
                                 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;  
   
                                 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;  
   
                                 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_SSTP:  
                                         xmenu_setsstp(np2oscfg.sstp ^ 1);  
                                         update |= SYS_UPDATECFG;  
                                         break;  
   
                                 case IDM_I286SAVE:  
                                         debugsub_status();  
 // iptrace_out();  
                                         break;  
   
                                 case IDM_HELP:  
                                         ShellExecute(hWnd, NULL, file_getcd(np2help),  
                                                                                         NULL, NULL, SW_SHOWNORMAL);  
                                         break;  
   
                                 case IDM_ABOUT:  
                                         sstpmsg_about();  
                                         if (sstp_result() != SSTP_SENDING) {  
                                                 winuienter();  
                                                 DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT),  
                                                                                 hWnd, (DLGPROC)AboutDialogProc);  
                                                 winuileave();  
                                         }  
                                         break;  
   
                                 default:  
                                         if ((LOWORD(wParam) >= IDM_FLAGSAVE) &&  
                                                 (LOWORD(wParam) < IDM_FLAGSAVE + STATSAVEMAX)) {  
                                                 char ext[4];  
                                                 wsprintf(ext, np2flagext,  
                                                                         (LOWORD(wParam) - IDM_FLAGSAVE) % 100);  
                                                 flagsave(ext);  
                                         }  
                                         if ((LOWORD(wParam) >= IDM_FLAGLOAD) &&  
                                                 (LOWORD(wParam) < IDM_FLAGLOAD + STATSAVEMAX)) {  
                                                 char ext[4];  
                                                 wsprintf(ext, np2flagext,  
                                                                         (LOWORD(wParam) - IDM_FLAGLOAD) % 100);  
                                                 flagload(ext, "Status Load", TRUE);  
                                         }  
                                         break;  
                         }  
                         sysmng_update(update);  
                         break;                          break;
   
                 case WM_ACTIVATE:                  case WM_ACTIVATE:
Line 1241  int WINAPI WinMain(HINSTANCE hInstance,  Line 1284  int WINAPI WinMain(HINSTANCE hInstance, 
                                                                                 LPSTR lpszCmdLine, int nCmdShow) {                                                                                  LPSTR lpszCmdLine, int nCmdShow) {
         WNDCLASS        wc;          WNDCLASS        wc;
         MSG                     msg;          MSG                     msg;
         HMENU           hMenu;  
         HWND            hWnd;          HWND            hWnd;
         UINT            i;          UINT            i;
 #ifdef OPENING_WAIT  #ifdef OPENING_WAIT
Line 1359  int WINAPI WinMain(HINSTANCE hInstance,  Line 1401  int WINAPI WinMain(HINSTANCE hInstance, 
         tick = GetTickCount();          tick = GetTickCount();
 #endif  #endif
   
         // めにゅー追加  
         if (np2oscfg.statsave) {  
                 char buf[16];  
                 hMenu = GetMenu(hWnd);  
                 hStat = CreatePopupMenu();  
                 for (i=0; i<STATSAVEMAX; i++) {  
                         wsprintf(buf, "Save %d", i);  
                         AppendMenu(hStat, MF_STRING, IDM_FLAGSAVE + i, buf);  
                 }  
                 AppendMenu(hStat, MF_MENUBARBREAK, 0, NULL);  
                 for (i=0; i<STATSAVEMAX; i++) {  
                         wsprintf(buf, "Load %d", i);  
                         AppendMenu(hStat, MF_STRING, IDM_FLAGLOAD + i, buf);  
                 }  
                 InsertMenu(hMenu, 1, MF_BYPOSITION | MF_POPUP, (UINT)hStat, "S&tat");  
         }  
         sysmenu_initialize();          sysmenu_initialize();
           xmenu_initialize();
         DrawMenuBar(hWnd);          DrawMenuBar(hWnd);
   
         // ver0.30          // ver0.30

Removed from v.1.35  
changed lines
  Added in v.1.36


RetroPC.NET-CVS <cvs@retropc.net>