| version 1.1, 2004/03/12 18:19:59 | version 1.2, 2004/03/12 18:44:12 | 
| Line 1 | Line 1 | 
 | #include        "compiler.h" | #include        "compiler.h" | 
 | #include        "resource.h" | #include        "resource.h" | 
 |  | #include        "sysmng.h" | 
 | #include        "dialog.h" | #include        "dialog.h" | 
 | #include        "dialogs.h" | #include        "dialogs.h" | 
 |  | #include        "pccore.h" | 
 |  |  | 
 |  |  | 
 | void MPU98DialogProc(void) { | void MPU98DialogProc(void) { | 
 |  |  | 
| DialogPtr       hDlg; | DialogPtr               hDlg; | 
| int                     done; | int                             done; | 
| short           item; | short                   item; | 
|  | ControlHandle   lst[2]; | 
|  | UINT8                   mpu; | 
|  | short                   value; | 
 |  |  | 
 | hDlg = GetNewDialog(IDD_MPU98II, NULL, (WindowPtr)-1); | hDlg = GetNewDialog(IDD_MPU98II, NULL, (WindowPtr)-1); | 
 | if (!hDlg) { | if (!hDlg) { | 
 | return; | return; | 
 | } | } | 
 |  | lst[0] = (ControlHandle)GetDlgItem(hDlg, IDC_MPUPORT); | 
 |  | lst[1] = (ControlHandle)GetDlgItem(hDlg, IDC_MPUIRQ); | 
 |  |  | 
 |  | mpu = np2cfg.mpuopt; | 
 |  | SetControlValue(lst[0], ((mpu >> 4) & 15) + 1); | 
 |  | SetControlValue(lst[1], (mpu & 3) + 1); | 
 |  |  | 
 | SetDialogDefaultItem(hDlg, IDOK); | SetDialogDefaultItem(hDlg, IDOK); | 
 |  |  | 
 | done = 0; | done = 0; | 
| Line 21  void MPU98DialogProc(void) { | Line 33  void MPU98DialogProc(void) { | 
 | ModalDialog(NULL, &item); | ModalDialog(NULL, &item); | 
 | switch(item) { | switch(item) { | 
 | case IDOK: | case IDOK: | 
| done = 1; | mpu = np2cfg.mpuopt; | 
|  | value = GetControlValue(lst[0]); | 
|  | if (value) { | 
|  | mpu &= ~0xf0; | 
|  | mpu |= (UINT8)((value - 1) << 4); | 
|  | } | 
|  | value = GetControlValue(lst[1]); | 
|  | if (value) { | 
|  | mpu &= ~0x03; | 
|  | mpu |= (UINT8)((value - 1) & 3); | 
|  | } | 
|  | if (np2cfg.mpuopt != mpu) { | 
|  | np2cfg.mpuopt = mpu; | 
|  | sysmng_update(SYS_UPDATEOSCFG); | 
|  | } | 
|  | done = IDOK; | 
|  | break; | 
|  |  | 
|  | case IDCANCEL: | 
|  | done = IDCANCEL; | 
|  | break; | 
|  |  | 
|  | case IDC_MPUDEF: | 
|  | SetControlValue(lst[0], ((0x82 >> 4) & 15) + 1); | 
|  | SetControlValue(lst[1], (0x82 & 3) + 1); | 
 | break; | break; | 
 | } | } | 
 | } | } |