PCem
changeset 31:08a942c94a1d
New 'available' function in device API, to determine whether required ROMs are available. Currently used when building soundcard menu, to remove AWE32 when required ROM dump is not present.
| author | TomW |
|---|---|
| date | Mon Nov 04 18:23:15 2013 +0000 |
| parents | 3afc5d31f5dc |
| children | f50409fd5bac |
| files | src/device.h src/mem.c src/sis496.c src/sound.c src/sound.h src/sound_adlib.c src/sound_adlibgold.c src/sound_cms.c src/sound_gus.c src/sound_pas16.c src/sound_sb.c src/sound_sn76489.c src/sound_wss.c src/vid_ati18800.c src/vid_ati28800.c src/vid_ati_mach64.c src/vid_cga.c src/vid_cl5429.c src/vid_ega.c src/vid_et4000.c src/vid_et4000w32.c src/vid_hercules.c src/vid_mda.c src/vid_olivetti_m24.c src/vid_oti067.c src/vid_paradise.c src/vid_pc1512.c src/vid_pc1640.c src/vid_pc200.c src/vid_s3.c src/vid_s3_virge.c src/vid_tandy.c src/vid_tvga.c src/vid_vga.c src/win.c |
| diffstat | 35 files changed, 92 insertions(+), 39 deletions(-) [+] |
line diff
1.1 --- a/src/device.h Sat Nov 02 19:38:59 2013 +0000 1.2 +++ b/src/device.h Mon Nov 04 18:23:15 2013 +0000 1.3 @@ -3,6 +3,7 @@ 1.4 char name[50]; 1.5 void *(*init)(); 1.6 void (*close)(void *p); 1.7 + int (*available)(); 1.8 void (*speed_changed)(void *p); 1.9 void (*force_redraw)(void *p); 1.10 int (*add_status_info)(char *s, int max_len, void *p);
2.1 --- a/src/mem.c Sat Nov 02 19:38:59 2013 +0000 2.2 +++ b/src/mem.c Mon Nov 04 18:23:15 2013 +0000 2.3 @@ -14,6 +14,7 @@ 2.4 #include "video.h" 2.5 #include "x86.h" 2.6 #include "cpu.h" 2.7 +#include "rom.h" 2.8 2.9 static uint8_t (*_mem_read_b[0x40000])(uint32_t addr, void *priv); 2.10 static uint16_t (*_mem_read_w[0x40000])(uint32_t addr, void *priv); 2.11 @@ -44,20 +45,6 @@ 2.12 uint8_t *ram,*rom,*vram,*vrom; 2.13 uint8_t romext[32768]; 2.14 2.15 -FILE *romfopen(char *fn, char *mode) 2.16 -{ 2.17 - char s[512]; 2.18 -// pclog("romfopen %s\n", fn); 2.19 - strcpy(s,pcempath); 2.20 -// pclog("s = %s\n", s); 2.21 - put_backslash(s); 2.22 -// pclog("s = %s\n", s); 2.23 -// pclog("strcat %s %s\n", s, fn); 2.24 - strcat(s,fn); 2.25 -// pclog("s = %s\n", s); 2.26 - return fopen(s,mode); 2.27 -} 2.28 - 2.29 static void mem_load_xtide_bios() 2.30 { 2.31 FILE *f;
3.1 --- a/src/sis496.c Sat Nov 02 19:38:59 2013 +0000 3.2 +++ b/src/sis496.c Mon Nov 04 18:23:15 2013 +0000 3.3 @@ -134,5 +134,6 @@ 3.4 sis496_close, 3.5 NULL, 3.6 NULL, 3.7 + NULL, 3.8 NULL 3.9 };
4.1 --- a/src/sound.c Sat Nov 02 19:38:59 2013 +0000 4.2 +++ b/src/sound.c Mon Nov 04 18:23:15 2013 +0000 4.3 @@ -43,6 +43,16 @@ 4.4 {"", NULL} 4.5 }; 4.6 4.7 +int sound_card_available(int card) 4.8 +{ 4.9 + if (sound_cards[card].device) 4.10 + { 4.11 + if (sound_cards[card].device->available) 4.12 + return sound_cards[card].device->available(); 4.13 + } 4.14 + return 1; 4.15 +} 4.16 + 4.17 char *sound_card_getname(int card) 4.18 { 4.19 return sound_cards[card].name;
5.1 --- a/src/sound.h Sat Nov 02 19:38:59 2013 +0000 5.2 +++ b/src/sound.h Mon Nov 04 18:23:15 2013 +0000 5.3 @@ -5,5 +5,6 @@ 5.4 5.5 extern int sound_card_current; 5.6 5.7 +int sound_card_available(int card); 5.8 char *sound_card_getname(int card); 5.9 void sound_card_init();
6.1 --- a/src/sound_adlib.c Sat Nov 02 19:38:59 2013 +0000 6.2 +++ b/src/sound_adlib.c Mon Nov 04 18:23:15 2013 +0000 6.3 @@ -60,5 +60,6 @@ 6.4 adlib_close, 6.5 NULL, 6.6 NULL, 6.7 + NULL, 6.8 NULL 6.9 };
7.1 --- a/src/sound_adlibgold.c Sat Nov 02 19:38:59 2013 +0000 7.2 +++ b/src/sound_adlibgold.c Mon Nov 04 18:23:15 2013 +0000 7.3 @@ -595,5 +595,6 @@ 7.4 adgold_close, 7.5 NULL, 7.6 NULL, 7.7 + NULL, 7.8 NULL 7.9 };
8.1 --- a/src/sound_cms.c Sat Nov 02 19:38:59 2013 +0000 8.2 +++ b/src/sound_cms.c Mon Nov 04 18:23:15 2013 +0000 8.3 @@ -177,5 +177,6 @@ 8.4 cms_close, 8.5 NULL, 8.6 NULL, 8.7 + NULL, 8.8 NULL 8.9 };
9.1 --- a/src/sound_gus.c Sat Nov 02 19:38:59 2013 +0000 9.2 +++ b/src/sound_gus.c Mon Nov 04 18:23:15 2013 +0000 9.3 @@ -1105,6 +1105,7 @@ 9.4 "Gravis UltraSound", 9.5 gus_init, 9.6 gus_close, 9.7 + NULL, 9.8 gus_speed_changed, 9.9 NULL, 9.10 NULL
10.1 --- a/src/sound_pas16.c Sat Nov 02 19:38:59 2013 +0000 10.2 +++ b/src/sound_pas16.c Mon Nov 04 18:23:15 2013 +0000 10.3 @@ -751,5 +751,6 @@ 10.4 pas16_close, 10.5 NULL, 10.6 NULL, 10.7 + NULL, 10.8 NULL 10.9 };
11.1 --- a/src/sound_sb.c Sat Nov 02 19:38:59 2013 +0000 11.2 +++ b/src/sound_sb.c Mon Nov 04 18:23:15 2013 +0000 11.3 @@ -376,6 +376,11 @@ 11.4 return sb; 11.5 } 11.6 11.7 +int sb_awe32_available() 11.8 +{ 11.9 + return rom_present("roms/awe32.raw"); 11.10 +} 11.11 + 11.12 void *sb_awe32_init() 11.13 { 11.14 sb_t *sb = malloc(sizeof(sb_t)); 11.15 @@ -429,6 +434,7 @@ 11.16 "Sound Blaster v1.0", 11.17 sb_1_init, 11.18 sb_close, 11.19 + NULL, 11.20 sb_speed_changed, 11.21 NULL, 11.22 NULL 11.23 @@ -438,6 +444,7 @@ 11.24 "Sound Blaster v1.5", 11.25 sb_15_init, 11.26 sb_close, 11.27 + NULL, 11.28 sb_speed_changed, 11.29 NULL, 11.30 NULL 11.31 @@ -447,6 +454,7 @@ 11.32 "Sound Blaster v2.0", 11.33 sb_2_init, 11.34 sb_close, 11.35 + NULL, 11.36 sb_speed_changed, 11.37 NULL, 11.38 NULL 11.39 @@ -456,6 +464,7 @@ 11.40 "Sound Blaster Pro v1", 11.41 sb_pro_v1_init, 11.42 sb_close, 11.43 + NULL, 11.44 sb_speed_changed, 11.45 NULL, 11.46 NULL 11.47 @@ -465,6 +474,7 @@ 11.48 "Sound Blaster Pro v2", 11.49 sb_pro_v2_init, 11.50 sb_close, 11.51 + NULL, 11.52 sb_speed_changed, 11.53 NULL, 11.54 NULL 11.55 @@ -474,6 +484,7 @@ 11.56 "Sound Blaster 16", 11.57 sb_16_init, 11.58 sb_close, 11.59 + NULL, 11.60 sb_speed_changed, 11.61 NULL, 11.62 NULL 11.63 @@ -483,6 +494,7 @@ 11.64 "Sound Blaster AWE32", 11.65 sb_awe32_init, 11.66 sb_close, 11.67 + sb_awe32_available, 11.68 sb_speed_changed, 11.69 NULL, 11.70 NULL
12.1 --- a/src/sound_sn76489.c Sat Nov 02 19:38:59 2013 +0000 12.2 +++ b/src/sound_sn76489.c Mon Nov 04 18:23:15 2013 +0000 12.3 @@ -196,5 +196,6 @@ 12.4 sn76489_close, 12.5 NULL, 12.6 NULL, 12.7 + NULL, 12.8 NULL 12.9 };
13.1 --- a/src/sound_wss.c Sat Nov 02 19:38:59 2013 +0000 13.2 +++ b/src/sound_wss.c Mon Nov 04 18:23:15 2013 +0000 13.3 @@ -305,5 +305,6 @@ 13.4 wss_close, 13.5 NULL, 13.6 NULL, 13.7 + NULL, 13.8 NULL 13.9 };
14.1 --- a/src/vid_ati18800.c Sat Nov 02 19:38:59 2013 +0000 14.2 +++ b/src/vid_ati18800.c Mon Nov 04 18:23:15 2013 +0000 14.3 @@ -165,6 +165,7 @@ 14.4 "ATI-18800", 14.5 ati18800_init, 14.6 ati18800_close, 14.7 + NULL, 14.8 ati18800_speed_changed, 14.9 ati18800_force_redraw, 14.10 svga_add_status_info
15.1 --- a/src/vid_ati28800.c Sat Nov 02 19:38:59 2013 +0000 15.2 +++ b/src/vid_ati28800.c Mon Nov 04 18:23:15 2013 +0000 15.3 @@ -186,6 +186,7 @@ 15.4 "ATI-28800", 15.5 ati28800_init, 15.6 ati28800_close, 15.7 + NULL, 15.8 ati28800_speed_changed, 15.9 ati28800_force_redraw, 15.10 svga_add_status_info
16.1 --- a/src/vid_ati_mach64.c Sat Nov 02 19:38:59 2013 +0000 16.2 +++ b/src/vid_ati_mach64.c Mon Nov 04 18:23:15 2013 +0000 16.3 @@ -2084,6 +2084,7 @@ 16.4 "ATI Mach64GX", 16.5 mach64gx_init, 16.6 mach64_close, 16.7 + NULL, 16.8 mach64_speed_changed, 16.9 mach64_force_redraw, 16.10 svga_add_status_info
17.1 --- a/src/vid_cga.c Sat Nov 02 19:38:59 2013 +0000 17.2 +++ b/src/vid_cga.c Mon Nov 04 18:23:15 2013 +0000 17.3 @@ -522,6 +522,7 @@ 17.4 "CGA", 17.5 cga_standalone_init, 17.6 cga_close, 17.7 + NULL, 17.8 cga_speed_changed, 17.9 NULL, 17.10 NULL
18.1 --- a/src/vid_cl5429.c Sat Nov 02 19:38:59 2013 +0000 18.2 +++ b/src/vid_cl5429.c Mon Nov 04 18:23:15 2013 +0000 18.3 @@ -855,6 +855,7 @@ 18.4 "Cirrus Logic GD5429", 18.5 gd5429_init, 18.6 gd5429_close, 18.7 + NULL, 18.8 gd5429_speed_changed, 18.9 gd5429_force_redraw, 18.10 svga_add_status_info
19.1 --- a/src/vid_ega.c Sat Nov 02 19:38:59 2013 +0000 19.2 +++ b/src/vid_ega.c Mon Nov 04 18:23:15 2013 +0000 19.3 @@ -839,6 +839,7 @@ 19.4 "EGA", 19.5 ega_standalone_init, 19.6 ega_close, 19.7 + NULL, 19.8 ega_speed_changed, 19.9 NULL, 19.10 NULL
20.1 --- a/src/vid_et4000.c Sat Nov 02 19:38:59 2013 +0000 20.2 +++ b/src/vid_et4000.c Mon Nov 04 18:23:15 2013 +0000 20.3 @@ -159,6 +159,7 @@ 20.4 "Tseng Labs ET4000AX", 20.5 et4000_init, 20.6 et4000_close, 20.7 + NULL, 20.8 et4000_speed_changed, 20.9 et4000_force_redraw, 20.10 svga_add_status_info
21.1 --- a/src/vid_et4000w32.c Sat Nov 02 19:38:59 2013 +0000 21.2 +++ b/src/vid_et4000w32.c Mon Nov 04 18:23:15 2013 +0000 21.3 @@ -988,6 +988,7 @@ 21.4 "Tseng Labs ET4000/w32p", 21.5 et4000w32p_init, 21.6 et4000w32p_close, 21.7 + NULL, 21.8 et4000w32p_speed_changed, 21.9 et4000w32p_force_redraw, 21.10 svga_add_status_info
22.1 --- a/src/vid_hercules.c Sat Nov 02 19:38:59 2013 +0000 22.2 +++ b/src/vid_hercules.c Mon Nov 04 18:23:15 2013 +0000 22.3 @@ -356,6 +356,7 @@ 22.4 "Hercules", 22.5 hercules_init, 22.6 hercules_close, 22.7 + NULL, 22.8 hercules_speed_changed, 22.9 NULL, 22.10 NULL
23.1 --- a/src/vid_mda.c Sat Nov 02 19:38:59 2013 +0000 23.2 +++ b/src/vid_mda.c Mon Nov 04 18:23:15 2013 +0000 23.3 @@ -313,6 +313,7 @@ 23.4 "MDA", 23.5 mda_init, 23.6 mda_close, 23.7 + NULL, 23.8 mda_speed_changed, 23.9 NULL, 23.10 NULL
24.1 --- a/src/vid_olivetti_m24.c Sat Nov 02 19:38:59 2013 +0000 24.2 +++ b/src/vid_olivetti_m24.c Mon Nov 04 18:23:15 2013 +0000 24.3 @@ -484,6 +484,7 @@ 24.4 "Olivetti M24 (video)", 24.5 m24_init, 24.6 m24_close, 24.7 + NULL, 24.8 m24_speed_changed, 24.9 NULL, 24.10 NULL
25.1 --- a/src/vid_oti067.c Sat Nov 02 19:38:59 2013 +0000 25.2 +++ b/src/vid_oti067.c Mon Nov 04 18:23:15 2013 +0000 25.3 @@ -154,6 +154,7 @@ 25.4 "Oak OTI-067", 25.5 oti067_init, 25.6 oti067_close, 25.7 + NULL, 25.8 oti067_speed_changed, 25.9 oti067_force_redraw, 25.10 svga_add_status_info
26.1 --- a/src/vid_paradise.c Sat Nov 02 19:38:59 2013 +0000 26.2 +++ b/src/vid_paradise.c Mon Nov 04 18:23:15 2013 +0000 26.3 @@ -336,6 +336,7 @@ 26.4 "Paradise PVGA1A", 26.5 paradise_pvga1a_init, 26.6 paradise_close, 26.7 + NULL, 26.8 paradise_speed_changed, 26.9 paradise_force_redraw, 26.10 svga_add_status_info 26.11 @@ -345,6 +346,7 @@ 26.12 "Paradise WD90C11", 26.13 paradise_wd90c11_init, 26.14 paradise_close, 26.15 + NULL, 26.16 paradise_speed_changed, 26.17 paradise_force_redraw, 26.18 svga_add_status_info
27.1 --- a/src/vid_pc1512.c Sat Nov 02 19:38:59 2013 +0000 27.2 +++ b/src/vid_pc1512.c Mon Nov 04 18:23:15 2013 +0000 27.3 @@ -483,6 +483,7 @@ 27.4 "Amstrad PC1512 (video)", 27.5 pc1512_init, 27.6 pc1512_close, 27.7 + NULL, 27.8 pc1512_speed_changed, 27.9 NULL, 27.10 NULL
28.1 --- a/src/vid_pc1640.c Sat Nov 02 19:38:59 2013 +0000 28.2 +++ b/src/vid_pc1640.c Mon Nov 04 18:23:15 2013 +0000 28.3 @@ -146,6 +146,7 @@ 28.4 "Amstrad PC1640 (video)", 28.5 pc1640_init, 28.6 pc1640_close, 28.7 + NULL, 28.8 pc1640_speed_changed, 28.9 NULL, 28.10 NULL
29.1 --- a/src/vid_pc200.c Sat Nov 02 19:38:59 2013 +0000 29.2 +++ b/src/vid_pc200.c Mon Nov 04 18:23:15 2013 +0000 29.3 @@ -136,6 +136,7 @@ 29.4 "Amstrad PC200 (video)", 29.5 pc200_init, 29.6 pc200_close, 29.7 + NULL, 29.8 pc200_speed_changed, 29.9 NULL, 29.10 NULL
30.1 --- a/src/vid_s3.c Sat Nov 02 19:38:59 2013 +0000 30.2 +++ b/src/vid_s3.c Mon Nov 04 18:23:15 2013 +0000 30.3 @@ -1629,6 +1629,7 @@ 30.4 "Paradise Bahamas 64 (S3 Vision864)", 30.5 s3_bahamas64_init, 30.6 s3_close, 30.7 + NULL, 30.8 s3_speed_changed, 30.9 s3_force_redraw, 30.10 svga_add_status_info 30.11 @@ -1639,6 +1640,7 @@ 30.12 "Number 9 9FX (S3 Trio64)", 30.13 s3_9fx_init, 30.14 s3_close, 30.15 + NULL, 30.16 s3_speed_changed, 30.17 s3_force_redraw, 30.18 svga_add_status_info
31.1 --- a/src/vid_s3_virge.c Sat Nov 02 19:38:59 2013 +0000 31.2 +++ b/src/vid_s3_virge.c Mon Nov 04 18:23:15 2013 +0000 31.3 @@ -508,6 +508,7 @@ 31.4 "Diamond Stealth 3D 2000 (S3 VIRGE)", 31.5 s3_virge_init, 31.6 s3_virge_close, 31.7 + NULL, 31.8 s3_virge_speed_changed, 31.9 s3_virge_force_redraw, 31.10 svga_add_status_info
32.1 --- a/src/vid_tandy.c Sat Nov 02 19:38:59 2013 +0000 32.2 +++ b/src/vid_tandy.c Mon Nov 04 18:23:15 2013 +0000 32.3 @@ -693,6 +693,7 @@ 32.4 "Tandy 1000 (video)", 32.5 tandy_init, 32.6 tandy_close, 32.7 + NULL, 32.8 tandy_speed_changed, 32.9 NULL, 32.10 NULL
33.1 --- a/src/vid_tvga.c Sat Nov 02 19:38:59 2013 +0000 33.2 +++ b/src/vid_tvga.c Mon Nov 04 18:23:15 2013 +0000 33.3 @@ -513,25 +513,6 @@ 33.4 tvga->svga.fullchange = changeframecount; 33.5 } 33.6 33.7 -device_t tvga8900d_device = 33.8 -{ 33.9 - "Trident TVGA 8900D", 33.10 - tvga8900d_init, 33.11 - tvga_close, 33.12 - tvga_speed_changed, 33.13 - tvga_force_redraw, 33.14 - svga_add_status_info 33.15 -}; 33.16 -device_t tgui9440_device = 33.17 -{ 33.18 - "Trident TGUI 9440", 33.19 - tgui9440_init, 33.20 - tvga_close, 33.21 - tvga_speed_changed, 33.22 - tvga_force_redraw, 33.23 - svga_add_status_info 33.24 -}; 33.25 - 33.26 enum 33.27 { 33.28 TGUI_BITBLT = 1 33.29 @@ -1119,3 +1100,25 @@ 33.30 // pclog("tvga_accel_write_fb_l %08X %08X\n", addr, val); 33.31 tvga_accel_command(32, ((val & 0xff000000) >> 24) | ((val & 0x00ff0000) >> 8) | ((val & 0x0000ff00) << 8) | ((val & 0x000000ff) << 24), tvga); 33.32 } 33.33 + 33.34 +device_t tvga8900d_device = 33.35 +{ 33.36 + "Trident TVGA 8900D", 33.37 + tvga8900d_init, 33.38 + tvga_close, 33.39 + NULL, 33.40 + tvga_speed_changed, 33.41 + tvga_force_redraw, 33.42 + svga_add_status_info 33.43 +}; 33.44 + 33.45 +device_t tgui9440_device = 33.46 +{ 33.47 + "Trident TGUI 9440", 33.48 + tgui9440_init, 33.49 + tvga_close, 33.50 + NULL, 33.51 + tvga_speed_changed, 33.52 + tvga_force_redraw, 33.53 + svga_add_status_info 33.54 +};
34.1 --- a/src/vid_vga.c Sat Nov 02 19:38:59 2013 +0000 34.2 +++ b/src/vid_vga.c Mon Nov 04 18:23:15 2013 +0000 34.3 @@ -119,6 +119,7 @@ 34.4 "VGA", 34.5 vga_init, 34.6 vga_close, 34.7 + NULL, 34.8 vga_speed_changed, 34.9 vga_force_redraw, 34.10 svga_add_status_info
35.1 --- a/src/win.c Sat Nov 02 19:38:59 2013 +0000 35.2 +++ b/src/win.c Mon Nov 04 18:23:15 2013 +0000 35.3 @@ -561,6 +561,7 @@ 35.4 extern int is486; 35.5 int romstolist[26], listtomodel[26], romstomodel[26], modeltolist[26]; 35.6 int vidtolist[20],listtovid[20]; 35.7 +static int settings_sound_to_list[20], settings_list_to_sound[20]; 35.8 35.9 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}; 35.10 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, 35.11 @@ -607,7 +608,7 @@ 35.12 SendMessage(h, CB_SETCURSEL, modeltolist[model], 0); 35.13 35.14 h=GetDlgItem(hdlg,IDC_COMBO2); 35.15 - for (c=0;c<6;c++) vidtolist[c]=0; 35.16 + memset(vidtolist, 0, sizeof(vidtolist)); 35.17 c=4; 35.18 SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"CGA"); vidtolist[GFX_CGA]=0; listtovid[0]=0; 35.19 SendMessage(h,CB_ADDSTRING,0,(LPARAM)(LPCSTR)"MDA"); vidtolist[GFX_MDA]=1; listtovid[1]=1; 35.20 @@ -652,18 +653,26 @@ 35.21 SendMessage(h, CB_SETCURSEL, cpu, 0); 35.22 35.23 h=GetDlgItem(hdlg,IDC_COMBOSND); 35.24 - c = 0; 35.25 + c = d = 0; 35.26 while (1) 35.27 { 35.28 char *s = sound_card_getname(c); 35.29 35.30 if (!s[0]) 35.31 break; 35.32 - 35.33 - SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)s); 35.34 + 35.35 + settings_sound_to_list[c] = d; 35.36 + 35.37 + if (sound_card_available(c)) 35.38 + { 35.39 + SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)s); 35.40 + settings_list_to_sound[d] = c; 35.41 + d++; 35.42 + } 35.43 + 35.44 c++; 35.45 } 35.46 - SendMessage(h, CB_SETCURSEL, sound_card_current, 0); 35.47 + SendMessage(h, CB_SETCURSEL, settings_sound_to_list[sound_card_current], 0); 35.48 35.49 h=GetDlgItem(hdlg, IDC_CHECK3); 35.50 SendMessage(h, BM_SETCHECK, GAMEBLASTER, 0); 35.51 @@ -747,7 +756,7 @@ 35.52 temp_GUS = SendMessage(h, BM_GETCHECK, 0, 0); 35.53 35.54 h = GetDlgItem(hdlg, IDC_COMBOSND); 35.55 - temp_sound_card_current = SendMessage(h, CB_GETCURSEL, 0, 0); 35.56 + temp_sound_card_current = settings_list_to_sound[SendMessage(h, CB_GETCURSEL, 0, 0)]; 35.57 35.58 if (temp_model != model || gfx != gfxcard || mem != mem_size || fpu != hasfpu || temp_GAMEBLASTER != GAMEBLASTER || temp_GUS != GUS || temp_sound_card_current != sound_card_current) 35.59 {
