PCem
changeset 65:1a5a5f832cf3
Memory configuration changed from drop-down list to up/down control.
| author | TomW |
|---|---|
| date | Wed Jan 01 21:09:30 2014 +0000 |
| parents | 4bde4cf3074b |
| children | ef06e812e4f2 |
| files | src/pc.rc src/resources.h src/win.c |
| diffstat | 3 files changed, 20 insertions(+), 40 deletions(-) [+] |
line diff
1.1 --- a/src/pc.rc Sun Dec 29 16:05:24 2013 +0000 1.2 +++ b/src/pc.rc Wed Jan 01 21:09:30 2014 +0000 1.3 @@ -61,7 +61,9 @@ 1.4 COMBOBOX IDC_COMBOCHC,62,96,107,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP 1.5 COMBOBOX IDC_COMBOSPD,62,116,107,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP 1.6 COMBOBOX IDC_COMBOSND,62,136,107,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP 1.7 - COMBOBOX IDC_COMBOMEM,62,152,107,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP 1.8 + EDITTEXT IDC_MEMTEXT, 62, 152, 36, 14, ES_AUTOHSCROLL | ES_NUMBER 1.9 + CONTROL "", IDC_MEMSPIN, UPDOWN_CLASS, UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_SETBUDDYINT, 98, 152, 12, 14 1.10 + LTEXT "MB", IDC_STATIC, 98, 152, 40, 10 1.11 CONTROL "CMS / Game Blaster",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,172,118,10 1.12 CONTROL "Gravis Ultrasound",IDC_CHECKGUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,188,118,10 1.13 CONTROL "Composite CGA",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,204,118,10
2.1 --- a/src/resources.h Sun Dec 29 16:05:24 2013 +0000 2.2 +++ b/src/resources.h Wed Jan 01 21:09:30 2014 +0000 2.3 @@ -29,7 +29,6 @@ 2.4 #define IDC_COMBO486 1006 2.5 #define IDC_COMBOSND 1007 2.6 #define IDC_COMBOCHC 1008 2.7 -#define IDC_COMBOMEM 1009 2.8 #define IDC_COMBOCPUM 1060 2.9 #define IDC_COMBOSPD 1061 2.10 #define IDC_CHECK1 1010 2.11 @@ -52,7 +51,8 @@ 2.12 #define IDC_EDITD 1053 2.13 #define IDC_DFILE 1054 2.14 #define IDC_DNEW 1055 2.15 - 2.16 +#define IDC_MEMSPIN 1070 2.17 +#define IDC_MEMTEXT 1071 2.18 #define IDC_STEXT1 1100 2.19 #define IDC_STEXT2 1101 2.20 #define IDC_STEXT3 1102
3.1 --- a/src/win.c Sun Dec 29 16:05:24 2013 +0000 3.2 +++ b/src/win.c Wed Jan 01 21:09:30 2014 +0000 3.3 @@ -3,6 +3,7 @@ 3.4 #include <windowsx.h> 3.5 #undef BITMAP 3.6 3.7 +#include <commctrl.h> 3.8 #include <commdlg.h> 3.9 3.10 #include <process.h> 3.11 @@ -596,16 +597,6 @@ 3.12 int romstolist[26], listtomodel[26], romstomodel[26], modeltolist[26]; 3.13 static int settings_sound_to_list[20], settings_list_to_sound[20]; 3.14 3.15 -int mem_list_to_size[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,32,48,64,256}; 3.16 -int mem_size_to_list[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16, 3.17 - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18, 3.18 - 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 3.19 - 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 3.20 - 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 3.21 - 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 3.22 - 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 3.23 - 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 19}; 3.24 - 3.25 BOOL CALLBACK configdlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) 3.26 { 3.27 char temp_str[256]; 3.28 @@ -734,36 +725,26 @@ 3.29 SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"Fast VLB/PCI"); 3.30 SendMessage(h,CB_SETCURSEL,video_speed,0); 3.31 3.32 - h=GetDlgItem(hdlg,IDC_COMBOMEM); 3.33 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"1 MB"); 3.34 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"2 MB"); 3.35 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"3 MB"); 3.36 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"4 MB"); 3.37 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"5 MB"); 3.38 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"6 MB"); 3.39 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"7 MB"); 3.40 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"8 MB"); 3.41 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"9 MB"); 3.42 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"10 MB"); 3.43 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"11 MB"); 3.44 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"12 MB"); 3.45 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"13 MB"); 3.46 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"14 MB"); 3.47 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"15 MB"); 3.48 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"16 MB"); 3.49 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"32 MB"); 3.50 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"48 MB"); 3.51 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"64 MB"); 3.52 - SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"256 MB"); 3.53 - SendMessage(h,CB_SETCURSEL,mem_size_to_list[mem_size-1],0); 3.54 + h = GetDlgItem(hdlg, IDC_MEMSPIN); 3.55 + SendMessage(h, UDM_SETBUDDY, (WPARAM)GetDlgItem(hdlg, IDC_MEMTEXT), 0); 3.56 + SendMessage(h, UDM_SETRANGE, 0, (1 << 16) | 256); 3.57 + SendMessage(h, UDM_SETPOS, 0, mem_size); 3.58 3.59 - pclog("Init cpuspeed %i\n",cpuspeed); 3.60 - 3.61 return TRUE; 3.62 case WM_COMMAND: 3.63 switch (LOWORD(wParam)) 3.64 { 3.65 case IDOK: 3.66 + h = GetDlgItem(hdlg, IDC_MEMTEXT); 3.67 + SendMessage(h, WM_GETTEXT, 255, (LPARAM)temp_str); 3.68 + sscanf(temp_str, "%i", &mem); 3.69 + if (mem < 1 || mem > 256) 3.70 + { 3.71 + MessageBox(NULL, "Invalid memory size\nMemory must be between 1 and 256 MB", "PCem", MB_OK); 3.72 + break; 3.73 + } 3.74 + 3.75 + 3.76 h=GetDlgItem(hdlg,IDC_COMBO1); 3.77 temp_model = listtomodel[SendMessage(h,CB_GETCURSEL,0,0)]; 3.78 3.79 @@ -771,9 +752,6 @@ 3.80 SendMessage(h, CB_GETLBTEXT, SendMessage(h,CB_GETCURSEL,0,0), (LPARAM)temp_str); 3.81 gfx = video_new_to_old(video_card_getid(temp_str)); 3.82 3.83 - h=GetDlgItem(hdlg,IDC_COMBOMEM); 3.84 - mem=mem_list_to_size[SendMessage(h,CB_GETCURSEL,0,0)]; 3.85 - 3.86 h = GetDlgItem(hdlg, IDC_COMBOCPUM); 3.87 temp_cpu_m = SendMessage(h, CB_GETCURSEL, 0, 0); 3.88 h = GetDlgItem(hdlg, IDC_COMBO3);
