Diff for /np2/win9xc/dialog/d_config.cpp between versions 1.1 and 1.2

version 1.1, 2003/10/16 17:59:24 version 1.2, 2003/12/27 02:29:45
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";
 static const char str_2mhz[] = "1.9968MHz";  static const char str_2mhz[] = "1.9968MHz";
 static const char *basecstr[2] = {str_2halfmhz, str_2mhz};  static const char *basecstr[2] = {str_2mhz, str_2halfmhz};
 static const UINT32 mulval[10] = {1, 2, 4, 5, 6, 8, 10, 12, 16, 20};  static const UINT32 mulval[10] = {1, 2, 4, 5, 6, 8, 10, 12, 16, 20};
 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) {
   
           UINT32  clock;
           char    work[32];
   
           GetDlgItemText(hWnd, IDC_BASECLOCK, work, sizeof(work));
           if (work[0] == '1') {
                   clock = PCBASECLOCK20 / 100;
           }
           else {
                   clock = PCBASECLOCK25 / 100;
           }
           if (multiple == 0) {
                   GetDlgItemText(hWnd, IDC_MULTIPLE, work, sizeof(work));
                   multiple = (UINT)milstr_solveINT(work);
           }
           if (multiple < 1) {
                   multiple = 1;
           }
           else if (multiple > 32) {
                   multiple = 32;
           }
           clock *= multiple;
           wsprintf(work, str_clockfmt, clock / 10000, clock % 10000);
           SetDlgItemText(hWnd, IDC_CLOCKMSG, work);
   }
   
   static void cfgcreate(HWND hWnd) {
   
           char    work[32];
           UINT    val;
   
           SETLISTSTR(hWnd, IDC_BASECLOCK, basecstr);
           if (np2cfg.baseclock < AVE(PCBASECLOCK25, PCBASECLOCK20)) {
                   val = 0;
           }
           else {
                   val = 1;
           }
           SendDlgItemMessage(hWnd, IDC_BASECLOCK, CB_SETCURSEL, val, 0);
           SETLISTUINT32(hWnd, IDC_MULTIPLE, mulval);
           wsprintf(work, str_u, np2cfg.multiple);
           SetDlgItemText(hWnd, IDC_MULTIPLE, work);
   
           if (!milstr_cmp(np2cfg.model, str_VM)) {
                   val = IDC_MODELVM;
           }
           else if (!milstr_cmp(np2cfg.model, str_EPSON)) {
                   val = IDC_MODELEPSON;
           }
           else {
                   val = IDC_MODELVX;
           }
           SetDlgItemCheck(hWnd, val, TRUE);
   
           if (np2cfg.samplingrate < AVE(11025, 22050)) {
                   val = IDC_RATE11;
           }
           else if (np2cfg.samplingrate < AVE(22050, 44100)) {
                   val = IDC_RATE22;
           }
           else {
                   val = IDC_RATE44;
           }
           SetDlgItemCheck(hWnd, val, TRUE);
           wsprintf(work, str_u, np2cfg.delayms);
           SetDlgItemText(hWnd, IDC_SOUNDBUF, work);
   
           setclock(hWnd, 0);
           SetFocus(GetDlgItem(hWnd, IDC_BASECLOCK));
   }
   
         DWORD   dval;  static void cfgupdate(HWND hWnd) {
   
           UINT    update;
         char    work[32];          char    work[32];
         int             val;          UINT    val;
   const char      *str;
   
           update = 0;
         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;                  val = PCBASECLOCK20;
         }          }
         else {          else {
                 dval = PCBASECLOCK25 / 100;                  val = PCBASECLOCK25;
           }
           if (np2cfg.baseclock != val) {
                   np2cfg.baseclock = val;
                   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;
         }          }
         dval *= val;          if (np2cfg.multiple != val) {
         wsprintf(work, str_clockfmt, dval / 10000, dval % 10000);                  np2cfg.multiple = val;
         SetDlgItemText(hWnd, IDC_CLOCKMSG, work);                  update |= SYS_UPDATECFG | SYS_UPDATECLOCK;
 }          }
   
           if (GetDlgItemCheck(hWnd, IDC_MODELVM)) {
                   str = str_VM;
           }
           else if (GetDlgItemCheck(hWnd, IDC_MODELEPSON)) {
                   str = str_EPSON;
           }
           else {
                   str = str_VX;
           }
           if (milstr_cmp(np2cfg.model, str)) {
                   milstr_ncpy(np2cfg.model, str, sizeof(np2cfg.model));
                   update |= SYS_UPDATECFG;
           }
   
 LRESULT CALLBACK CfgDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {          if (GetDlgItemCheck(hWnd, IDC_RATE11)) {
                   val = 11025;
           }
           else if (GetDlgItemCheck(hWnd, IDC_RATE22)) {
                   val = 22050;
           }
           else {
                   val = 44100;
           }
           if (np2cfg.samplingrate != (UINT16)val) {
                   np2cfg.samplingrate = (UINT16)val;
                   update |= SYS_UPDATECFG | SYS_UPDATERATE;
                   soundrenewal = 1;
           }
   
         char    work[128];          GetDlgItemText(hWnd, IDC_SOUNDBUF, work, sizeof(work));
         WORD    wval;          val = (UINT)milstr_solveINT(work);
         DWORD   dval;          if (val < 40) {
         int             val;                  val = 40;
         UINT    update;          }
           else if (val > 1000) {
                   val = 1000;
           }
           if (np2cfg.delayms != (UINT16)val) {
                   np2cfg.delayms = (UINT16)val;
                   update |= SYS_UPDATECFG | SYS_UPDATESBUF;
                   soundrenewal = 1;
           }
   
         switch (msg) {          sysmng_update(update);
                 case WM_INITDIALOG:  }
                         SETLISTSTR(hWnd, IDC_BASECLOCK, basecstr);  
                         if (np2cfg.baseclock >= AVE(PCBASECLOCK25, PCBASECLOCK20)) {  
                                 val = 0;  
                         }  
                         else {  
                                 val = 1;  
                         }  
                         SendDlgItemMessage(hWnd, IDC_BASECLOCK, CB_SETCURSEL, val, 0);  
                         SETLISTUINT32(hWnd, IDC_MULTIPLE, mulval);  
                         wsprintf(work, str_u, np2cfg.multiple);  
                         SetDlgItemText(hWnd, IDC_MULTIPLE, work);  
   
                         if (np2cfg.samplingrate < AVE(11025, 22050)) {  LRESULT CALLBACK CfgDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
                                 wval = IDC_RATE11;  
                         }  
                         else if (np2cfg.samplingrate < AVE(22050, 44100)) {  
                                 wval = IDC_RATE22;  
                         }  
                         else {  
                                 wval = IDC_RATE44;  
                         }  
                         SetDlgItemCheck(hWnd, wval, TRUE);  
                         wsprintf(work, str_u, np2cfg.delayms);  
                         SetDlgItemText(hWnd, IDC_SOUNDBUF, work);  
   
                         SetClock(hWnd);          switch (msg) {
                         SetFocus(GetDlgItem(hWnd, IDC_BASECLOCK));                  case WM_INITDIALOG:
                           cfgcreate(hWnd);
                         return(FALSE);                          return(FALSE);
   
                 case WM_COMMAND:                  case WM_COMMAND:
                         switch (LOWORD(wp)) {                          switch (LOWORD(wp)) {
                                 case IDOK:                                  case IDOK:
                                         update = 0;                                          cfgupdate(hWnd);
                                         GetDlgItemText(hWnd, IDC_BASECLOCK, work, sizeof(work));  
                                         if (work[0] == '1') {  
                                                 dval = PCBASECLOCK20;  
                                         }  
                                         else {  
                                                 dval = PCBASECLOCK25;  
                                         }  
                                         if (dval != np2cfg.baseclock) {  
                                                 np2cfg.baseclock = dval;  
                                                 update |= SYS_UPDATECFG | SYS_UPDATECLOCK;  
                                         }  
   
                                         GetDlgItemText(hWnd, IDC_MULTIPLE, work, sizeof(work));  
                                         val = milstr_solveINT(work);  
                                         if (val < 1) {  
                                                 val = 1;  
                                         }  
                                         else if (val > 32) {  
                                                 val = 32;  
                                         }  
                                         if (np2cfg.multiple != (DWORD)val) {  
                                                 np2cfg.multiple = val;  
                                                 update |= SYS_UPDATECFG | SYS_UPDATECLOCK;  
                                         }  
   
                                         if (GetDlgItemCheck(hWnd, IDC_RATE11)) {  
                                                 wval = 11025;  
                                         }  
                                         else if (GetDlgItemCheck(hWnd, IDC_RATE22)) {  
                                                 wval = 22050;  
                                         }  
                                         else {  
                                                 wval = 44100;  
                                         }  
                                         if (np2cfg.samplingrate != wval) {  
                                                 np2cfg.samplingrate = wval;  
                                                 update |= SYS_UPDATECFG | SYS_UPDATERATE;  
                                                 soundrenewal = 1;  
                                         }  
   
                                         GetDlgItemText(hWnd, IDC_SOUNDBUF, work, sizeof(work));  
                                         val = milstr_solveINT(work);  
                                         if (val < 100) {  
                                                 val = 100;  
                                         }  
                                         else if (val > 1000) {  
                                                 val = 1000;  
                                         }  
                                         if (np2cfg.delayms != (WORD)val) {  
                                                 soundrenewal = 1;  
                                                 np2cfg.delayms = (WORD)val;  
                                                 update |= SYS_UPDATECFG | SYS_UPDATESBUF;  
                                         }  
                                         sysmng_update(update);  
                                         EndDialog(hWnd, IDOK);                                          EndDialog(hWnd, IDOK);
                                         break;                                          break;
   
Line 148  LRESULT CALLBACK CfgDialogProc(HWND hWnd Line 186  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) {
                                                   UINT val;
                                                   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.2


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