Diff for /np2/win9x/dialog/d_config.cpp between versions 1.1 and 1.4

version 1.1, 2003/10/16 17:58:58 version 1.4, 2003/10/30 12:45:38
Line 4 Line 4
 #include        "np2.h"  #include        "np2.h"
 #include        "dosio.h"  #include        "dosio.h"
 #include        "sysmng.h"  #include        "sysmng.h"
 #include        "pccore.h"  
 #include        "dialog.h"  #include        "dialog.h"
 #include        "dialogs.h"  #include        "dialogs.h"
   #include        "pccore.h"
   
   
 static const char str_2halfmhz[] = "2.4576MHz";  static const char str_2halfmhz[] = "2.4576MHz";
Line 16  static const UINT32 mulval[10] = {1, 2,  Line 16  static const UINT32 mulval[10] = {1, 2, 
 static const char str_clockfmt[] = "%2u.%.4u";  static const char str_clockfmt[] = "%2u.%.4u";
   
   
 static void SetClock(HWND hWnd) {  static void setclock(HWND hWnd, UINT multiple) {
   
         DWORD   dval;          UINT32  clock;
         char    work[32];          char    work[32];
         int             val;  
   
         GetDlgItemText(hWnd, IDC_BASECLOCK, work, sizeof(work));          GetDlgItemText(hWnd, IDC_BASECLOCK, work, sizeof(work));
         if (work[0] == '1') {          if (work[0] == '1') {
                 dval = PCBASECLOCK20 / 100;                  clock = PCBASECLOCK20 / 100;
         }          }
         else {          else {
                 dval = PCBASECLOCK25 / 100;                  clock = PCBASECLOCK25 / 100;
         }          }
         GetDlgItemText(hWnd, IDC_MULTIPLE, work, sizeof(work));          if (multiple == 0) {
         val = milstr_solveINT(work);                  GetDlgItemText(hWnd, IDC_MULTIPLE, work, sizeof(work));
         if (val < 1) {                  multiple = (UINT)milstr_solveINT(work);
                 val = 1;  
         }          }
         else if (val > 32) {          if (multiple < 1) {
                 val = 32;                  multiple = 1;
         }          }
         dval *= val;          else if (multiple > 32) {
         wsprintf(work, str_clockfmt, dval / 10000, dval % 10000);                  multiple = 32;
           }
           clock *= multiple;
           wsprintf(work, str_clockfmt, clock / 10000, clock % 10000);
         SetDlgItemText(hWnd, IDC_CLOCKMSG, work);          SetDlgItemText(hWnd, IDC_CLOCKMSG, work);
 }  }
   
   
 LRESULT CALLBACK CfgDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {  LRESULT CALLBACK CfgDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
   
         char    work[128];          char    work[128];
         BYTE    bval;          BYTE    bval;
         WORD    wval;          WORD    wval;
         DWORD   dval;          UINT32  dval;
         int             val;          UINT    val;
         UINT    update;          UINT    update;
   
         switch (msg) {          switch (msg) {
Line 79  LRESULT CALLBACK CfgDialogProc(HWND hWnd Line 79  LRESULT CALLBACK CfgDialogProc(HWND hWnd
                         wsprintf(work, str_u, np2cfg.delayms);                          wsprintf(work, str_u, np2cfg.delayms);
                         SetDlgItemText(hWnd, IDC_SOUNDBUF, work);                          SetDlgItemText(hWnd, IDC_SOUNDBUF, work);
   
                           if (mmxflag & MMXFLAG_NOTSUPPORT) {
                                   EnableWindow(GetDlgItem(hWnd, IDC_DISABLEMMX), FALSE);
                                   SetDlgItemCheck(hWnd, IDC_DISABLEMMX, TRUE);
                           }
                           else {
                                   SetDlgItemCheck(hWnd, IDC_DISABLEMMX, np2oscfg.disablemmx);
                           }
                         SetDlgItemCheck(hWnd, IDC_COMFIRM, np2oscfg.comfirm);                          SetDlgItemCheck(hWnd, IDC_COMFIRM, np2oscfg.comfirm);
                         SetDlgItemCheck(hWnd, IDC_RESUME, np2oscfg.resume);                          SetDlgItemCheck(hWnd, IDC_RESUME, np2oscfg.resume);
                         SetClock(hWnd);                          setclock(hWnd, 0);
                         SetFocus(GetDlgItem(hWnd, IDC_BASECLOCK));                          SetFocus(GetDlgItem(hWnd, IDC_BASECLOCK));
                         return(FALSE);                          return(FALSE);
   
Line 96  LRESULT CALLBACK CfgDialogProc(HWND hWnd Line 103  LRESULT CALLBACK CfgDialogProc(HWND hWnd
                                         else {                                          else {
                                                 dval = PCBASECLOCK25;                                                  dval = PCBASECLOCK25;
                                         }                                          }
                                         if (dval != np2cfg.baseclock) {                                          if (np2cfg.baseclock != dval) {
                                                 np2cfg.baseclock = dval;                                                  np2cfg.baseclock = dval;
                                                 update |= SYS_UPDATECFG | SYS_UPDATECLOCK;                                                  update |= SYS_UPDATECFG | SYS_UPDATECLOCK;
                                         }                                          }
   
                                         GetDlgItemText(hWnd, IDC_MULTIPLE, work, sizeof(work));                                          GetDlgItemText(hWnd, IDC_MULTIPLE, work, sizeof(work));
                                         val = milstr_solveINT(work);                                          val = (UINT)milstr_solveINT(work);
                                         if (val < 1) {                                          if (val < 1) {
                                                 val = 1;                                                  val = 1;
                                         }                                          }
                                         else if (val > 32) {                                          else if (val > 32) {
                                                 val = 32;                                                  val = 32;
                                         }                                          }
                                         if (np2cfg.multiple != (DWORD)val) {                                          if (np2cfg.multiple != val) {
                                                 np2cfg.multiple = val;                                                  np2cfg.multiple = val;
                                                 update |= SYS_UPDATECFG | SYS_UPDATECLOCK;                                                  update |= SYS_UPDATECFG | SYS_UPDATECLOCK;
                                         }                                          }
Line 130  LRESULT CALLBACK CfgDialogProc(HWND hWnd Line 137  LRESULT CALLBACK CfgDialogProc(HWND hWnd
                                         }                                          }
   
                                         GetDlgItemText(hWnd, IDC_SOUNDBUF, work, sizeof(work));                                          GetDlgItemText(hWnd, IDC_SOUNDBUF, work, sizeof(work));
                                         val = milstr_solveINT(work);                                          val = (UINT)milstr_solveINT(work);
                                         if (val < 100) {                                          if (val < 100) {
                                                 val = 100;                                                  val = 100;
                                         }                                          }
                                         else if (val > 1000) {                                          else if (val > 1000) {
                                                 val = 1000;                                                  val = 1000;
                                         }                                          }
                                         if (np2cfg.delayms != (WORD)val) {                                          if (np2cfg.delayms != (UINT16)val) {
                                                 soundrenewal = 1;                                                  soundrenewal = 1;
                                                 np2cfg.delayms = (WORD)val;                                                  np2cfg.delayms = (UINT16)val;
                                                 update |= SYS_UPDATECFG | SYS_UPDATESBUF;                                                  update |= SYS_UPDATECFG | SYS_UPDATESBUF;
                                         }                                          }
   
                                           if (!(mmxflag & MMXFLAG_NOTSUPPORT)) {
                                                   bval = GetDlgItemCheck(hWnd, IDC_DISABLEMMX);
                                                   if (np2oscfg.disablemmx != bval) {
                                                           np2oscfg.disablemmx = bval;
                                                           mmxflag &= ~MMXFLAG_DISABLE;
                                                           mmxflag |= (bval)?MMXFLAG_DISABLE:0;
                                                           update |= SYS_UPDATEOSCFG;
                                                   }
                                           }
   
                                         bval = GetDlgItemCheck(hWnd, IDC_COMFIRM);                                          bval = GetDlgItemCheck(hWnd, IDC_COMFIRM);
                                         if (np2oscfg.comfirm != bval) {                                          if (np2oscfg.comfirm != bval) {
                                                 np2oscfg.comfirm = bval;                                                  np2oscfg.comfirm = bval;
Line 163  LRESULT CALLBACK CfgDialogProc(HWND hWnd Line 180  LRESULT CALLBACK CfgDialogProc(HWND hWnd
                                         break;                                          break;
   
                                 case IDC_BASECLOCK:                                  case IDC_BASECLOCK:
                                           setclock(hWnd, 0);
                                           return(FALSE);
   
                                 case IDC_MULTIPLE:                                  case IDC_MULTIPLE:
                                         SetClock(hWnd);                                          if (HIWORD(wp) == CBN_SELCHANGE) {
                                                   val = (UINT)SendDlgItemMessage(hWnd, IDC_MULTIPLE,
                                                                                                                   CB_GETCURSEL, 0, 0);
                                                   if (val < sizeof(mulval)/sizeof(UINT32)) {
                                                           setclock(hWnd, mulval[val]);
                                                   }
                                           }
                                           else {
                                                   setclock(hWnd, 0);
                                           }
                                         return(FALSE);                                          return(FALSE);
   
                                 default:                                  default:

Removed from v.1.1  
changed lines
  Added in v.1.4


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