PCem
changeset 63:91fb7c44ae30
Fixed ROM autoselection.
Video card menu now only lists cards for which ROMs are present again.
| author | TomW |
|---|---|
| date | Sun Dec 29 15:33:29 2013 +0000 |
| parents | bc605850281a |
| children | 4bde4cf3074b |
| files | src/model.c src/model.h src/win.c |
| diffstat | 3 files changed, 24 insertions(+), 7 deletions(-) [+] |
line diff
1.1 --- a/src/model.c Sun Dec 29 14:12:43 2013 +0000 1.2 +++ b/src/model.c Sun Dec 29 15:33:29 2013 +0000 1.3 @@ -86,6 +86,20 @@ 1.4 return models[model].id; 1.5 } 1.6 1.7 +int model_getmodel(int romset) 1.8 +{ 1.9 + int c = 0; 1.10 + 1.11 + while (models[c].id != -1) 1.12 + { 1.13 + if (models[c].id == romset) 1.14 + return c; 1.15 + c++; 1.16 + } 1.17 + 1.18 + return 0; 1.19 +} 1.20 + 1.21 char *model_getname() 1.22 { 1.23 return models[model].name;
2.1 --- a/src/model.h Sun Dec 29 14:12:43 2013 +0000 2.2 +++ b/src/model.h Sun Dec 29 15:33:29 2013 +0000 2.3 @@ -16,5 +16,6 @@ 2.4 extern int model; 2.5 2.6 int model_getromset(); 2.7 +int model_getmodel(int romset); 2.8 char *model_getname(); 2.9 void model_init();
3.1 --- a/src/win.c Sun Dec 29 14:12:43 2013 +0000 3.2 +++ b/src/win.c Sun Dec 29 15:33:29 2013 +0000 3.3 @@ -14,7 +14,9 @@ 3.4 #include "ibm.h" 3.5 #include "video.h" 3.6 #include "resources.h" 3.7 +#include "cpu.h" 3.8 #include "ide.h" 3.9 +#include "model.h" 3.10 #include "nvr.h" 3.11 #include "sound.h" 3.12 3.13 @@ -374,8 +376,10 @@ 3.14 { 3.15 if (romspresent[c]) 3.16 { 3.17 - romset=c; 3.18 - loadbios(); 3.19 + romset = c; 3.20 + model = model_getmodel(romset); 3.21 + saveconfig(); 3.22 + resetpchard(); 3.23 break; 3.24 } 3.25 } 3.26 @@ -397,7 +401,8 @@ 3.27 if (gfx_present[c]) 3.28 { 3.29 gfxcard = c; 3.30 - mem_load_video_bios(); 3.31 + saveconfig(); 3.32 + resetpchard(); 3.33 break; 3.34 } 3.35 } 3.36 @@ -601,9 +606,6 @@ 3.37 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.38 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.39 3.40 -#include "cpu.h" 3.41 -#include "model.h" 3.42 - 3.43 BOOL CALLBACK configdlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) 3.44 { 3.45 char temp_str[256]; 3.46 @@ -645,7 +647,7 @@ 3.47 if (!s[0]) 3.48 break; 3.49 3.50 - if (video_card_available(c)) 3.51 + if (video_card_available(c) && gfx_present[video_new_to_old(c)]) 3.52 { 3.53 SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)s); 3.54 if (video_new_to_old(c) == gfxcard)
