|
|
| 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; |
| } | } |
| } | } |