Added the IBM 5161 ISA expansion for PC and XT;

Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g  / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
This commit is contained in:
OBattler
2019-09-20 14:02:30 +02:00
parent b06296bbf6
commit 552a87ea3d
524 changed files with 129555 additions and 21862 deletions

View File

@@ -8,13 +8,13 @@
*
* Windows 86Box Settings dialog handler.
*
* Version: @(#)win_settings.c 1.0.54 2019/02/11
* Version: @(#)win_settings.c 1.0.55 2019/03/03
*
* Authors: Miran Grca, <mgrca8@gmail.com>
* David Hrdlička, <hrdlickadavid@outlook.com>
*
* Copyright 2016-2018 Miran Grca.
* Copyright 2018 David Hrdlička.
* Copyright 2016-2019 Miran Grca.
* Copyright 2018,2019 David Hrdlička.
*/
#define UNICODE
#define BITMAP WINDOWS_BITMAP
@@ -36,6 +36,7 @@
#include "../mem.h"
#include "../rom.h"
#include "../device.h"
#include "../timer.h"
#include "../nvr.h"
#include "../machine/machine.h"
#include "../game/gameport.h"
@@ -92,8 +93,8 @@ static int temp_net_type, temp_net_card;
static char temp_pcap_dev[522];
/* Ports category */
static char temp_lpt_device_names[3][16];
static int temp_serial[2], temp_lpt;
static int temp_lpt_devices[3];
static int temp_serial[2], temp_lpt[3];
/* Other peripherals category */
static int temp_hdc, temp_scsi_card, temp_ide_ter, temp_ide_qua;
@@ -120,7 +121,7 @@ static HWND hwndParentDialog, hwndChildDialog;
static uint32_t displayed_category = 0;
extern int is486;
static int romstolist[ROM_MAX], listtomachine[ROM_MAX], romstomachine[ROM_MAX], machinetolist[ROM_MAX];
static int listtomachine[256], machinetolist[256];
static int settings_device_to_list[2][20], settings_list_to_device[2][20];
static int settings_midi_to_list[20], settings_list_to_midi[20];
@@ -235,18 +236,12 @@ win_settings_init(void)
temp_net_card = network_card;
/* Ports category */
#ifdef ENABLE_SETTINGS_LOG
assert(sizeof(temp_lpt_device_names) == sizeof(lpt_device_names));
#endif
for (i = 0; i < 3; i++) {
#ifdef ENABLE_SETTINGS_LOG
assert(sizeof(temp_lpt_device_names[i]) == sizeof(lpt_device_names[i]));
#endif
memcpy(temp_lpt_device_names[i], lpt_device_names[i], sizeof(lpt_device_names[i]));
temp_lpt_devices[i] = lpt_ports[i].device;
temp_lpt[i] = lpt_ports[i].enabled;
}
temp_serial[0] = serial_enabled[0];
temp_serial[1] = serial_enabled[1];
temp_lpt = lpt_enabled;
for (i = 0; i < 2; i++)
temp_serial[i] = serial_enabled[i];
/* Other peripherals category */
temp_scsi_card = scsi_card_current;
@@ -291,7 +286,7 @@ win_settings_init(void)
for (i = 0; i < CDROM_NUM; i++) {
if (cdrom[i].bus_type == CDROM_BUS_ATAPI)
ide_tracking |= (2 << (cdrom[i].ide_channel << 3));
else if (cdrom[i].bus_type == CDROM_BUS_SCSI)
else if (cdrom[i].bus_type == CDROM_BUS_SCSI || cdrom[i].bus_type == CDROM_BUS_SCSI_CHINON)
scsi_tracking[cdrom[i].scsi_device_id >> 3] |= (1 << ((cdrom[i].scsi_device_id & 0x07) << 3));
}
memcpy(temp_zip_drives, zip_drives, ZIP_NUM * sizeof(zip_drive_t));
@@ -349,11 +344,12 @@ win_settings_changed(void)
i = i || (network_card != temp_net_card);
/* Ports category */
for (j = 0; j < 3; j++)
i = i || strncmp(temp_lpt_device_names[j], lpt_device_names[j], sizeof(temp_lpt_device_names[j]) - 1);
i = i || (temp_serial[0] != serial_enabled[0]);
i = i || (temp_serial[1] != serial_enabled[1]);
i = i || (temp_lpt != lpt_enabled);
for (j = 0; j < 3; j++) {
i = i || (temp_lpt_devices[j] != lpt_ports[j].device);
i = i || (temp_lpt[j] != lpt_ports[j].enabled);
}
for (j = 0; j < 2; j++)
i = i || (temp_serial[j] != serial_enabled[j]);
/* Peripherals category */
i = i || (scsi_card_current != temp_scsi_card);
@@ -417,7 +413,6 @@ win_settings_save(void)
/* Machine category */
machine = temp_machine;
romset = machine_getromset();
cpu_manufacturer = temp_cpu_m;
cpu_waitstates = temp_wait_states;
cpu = temp_cpu;
@@ -453,11 +448,12 @@ win_settings_save(void)
network_card = temp_net_card;
/* Ports category */
for (i = 0; i < 3; i++)
memcpy(lpt_device_names[i], temp_lpt_device_names[i], sizeof(temp_lpt_device_names[i]));
serial_enabled[0] = temp_serial[0];
serial_enabled[1] = temp_serial[1];
lpt_enabled = temp_lpt;
for (i = 0; i < 3; i++) {
lpt_ports[i].device = temp_lpt_devices[i];
lpt_ports[i].enabled = temp_lpt[i];
}
for (i = 0; i < 2; i++)
serial_enabled[i] = temp_serial[i];
/* Peripherals category */
scsi_card_current = temp_scsi_card;
@@ -512,15 +508,13 @@ static void
win_settings_machine_recalc_cpu(HWND hdlg)
{
HWND h;
int cpu_type, temp_romset;
int cpu_type;
#ifdef USE_DYNAREC
int cpu_flags;
#endif
temp_romset = machine_getromset_ex(temp_machine);
h = GetDlgItem(hdlg, IDC_COMBO_WS);
cpu_type = machines[romstomachine[temp_romset]].cpu[temp_cpu_m].cpus[temp_cpu].cpu_type;
cpu_type = machines[temp_machine].cpu[temp_cpu_m].cpus[temp_cpu].cpu_type;
if ((cpu_type >= CPU_286) && (cpu_type <= CPU_386DX))
EnableWindow(h, TRUE);
else
@@ -528,7 +522,7 @@ win_settings_machine_recalc_cpu(HWND hdlg)
#ifdef USE_DYNAREC
h=GetDlgItem(hdlg, IDC_CHECK_DYNAREC);
cpu_flags = machines[romstomachine[temp_romset]].cpu[temp_cpu_m].cpus[temp_cpu].cpu_flags;
cpu_flags = machines[temp_machine].cpu[temp_cpu_m].cpus[temp_cpu].cpu_flags;
if (!(cpu_flags & CPU_SUPPORTS_DYNAREC) && (cpu_flags & CPU_REQUIRES_DYNAREC))
fatal("Attempting to select a CPU that requires the recompiler and does not support it at the same time\n");
if (!(cpu_flags & CPU_SUPPORTS_DYNAREC) || (cpu_flags & CPU_REQUIRES_DYNAREC)) {
@@ -543,8 +537,9 @@ win_settings_machine_recalc_cpu(HWND hdlg)
#endif
h = GetDlgItem(hdlg, IDC_CHECK_FPU);
cpu_type = machines[romstomachine[temp_romset]].cpu[temp_cpu_m].cpus[temp_cpu].cpu_type;
if ((cpu_type < CPU_i486DX) && (cpu_type >= CPU_286))
cpu_type = machines[temp_machine].cpu[temp_cpu_m].cpus[temp_cpu].cpu_type;
// if ((cpu_type < CPU_i486DX) && (cpu_type >= CPU_286))
if (cpu_type < CPU_i486DX)
EnableWindow(h, TRUE);
else if (cpu_type < CPU_286) {
temp_fpu = 0;
@@ -561,18 +556,17 @@ static void
win_settings_machine_recalc_cpu_m(HWND hdlg)
{
HWND h;
int c, temp_romset;
int c;
LPTSTR lptsTemp;
char *stransi;
temp_romset = machine_getromset_ex(temp_machine);
lptsTemp = (LPTSTR) malloc(512 * sizeof(WCHAR));
h = GetDlgItem(hdlg, IDC_COMBO_CPU);
SendMessage(h, CB_RESETCONTENT, 0, 0);
c = 0;
while (machines[romstomachine[temp_romset]].cpu[temp_cpu_m].cpus[c].cpu_type != -1) {
stransi = (char *) machines[romstomachine[temp_romset]].cpu[temp_cpu_m].cpus[c].name;
while (machines[temp_machine].cpu[temp_cpu_m].cpus[c].cpu_type != -1) {
stransi = (char *) machines[temp_machine].cpu[temp_cpu_m].cpus[c].name;
mbstowcs(lptsTemp, stransi, strlen(stransi) + 1);
SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)lptsTemp);
c++;
@@ -592,13 +586,12 @@ static void
win_settings_machine_recalc_machine(HWND hdlg)
{
HWND h;
int c, temp_romset;
int c;
LPTSTR lptsTemp;
const char *stransi;
UDACCEL accel;
device_t *d;
temp_romset = machine_getromset_ex(temp_machine);
lptsTemp = (LPTSTR) malloc(512 * sizeof(WCHAR));
h = GetDlgItem(hdlg, IDC_CONFIGURE_MACHINE);
@@ -611,8 +604,8 @@ win_settings_machine_recalc_machine(HWND hdlg)
h = GetDlgItem(hdlg, IDC_COMBO_CPU_TYPE);
SendMessage(h, CB_RESETCONTENT, 0, 0);
c = 0;
while (machines[romstomachine[temp_romset]].cpu[c].cpus != NULL && c < 4) {
stransi = machines[romstomachine[temp_romset]].cpu[c].name;
while (machines[temp_machine].cpu[c].cpus != NULL && c < 4) {
stransi = machines[temp_machine].cpu[c].name;
mbstowcs(lptsTemp, stransi, strlen(stransi) + 1);
SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)lptsTemp);
c++;
@@ -626,11 +619,11 @@ win_settings_machine_recalc_machine(HWND hdlg)
win_settings_machine_recalc_cpu_m(hdlg);
h = GetDlgItem(hdlg, IDC_MEMSPIN);
SendMessage(h, UDM_SETRANGE, 0, (machines[romstomachine[temp_romset]].min_ram << 16) | machines[romstomachine[temp_romset]].max_ram);
SendMessage(h, UDM_SETRANGE, 0, (machines[temp_machine].min_ram << 16) | machines[temp_machine].max_ram);
accel.nSec = 0;
accel.nInc = machines[romstomachine[temp_romset]].ram_granularity;
accel.nInc = machines[temp_machine].ram_granularity;
SendMessage(h, UDM_SETACCEL, 1, (LPARAM)&accel);
if (!(machines[romstomachine[temp_romset]].flags & MACHINE_AT) || (machines[romstomachine[temp_romset]].ram_granularity >= 128)) {
if (!(machines[temp_machine].flags & MACHINE_AT) || (machines[temp_machine].ram_granularity >= 128)) {
SendMessage(h, UDM_SETPOS, 0, temp_mem_size);
h = GetDlgItem(hdlg, IDC_TEXT_MB);
SendMessage(h, WM_SETTEXT, 0, win_get_string(IDS_2094));
@@ -661,18 +654,14 @@ win_settings_machine_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
lptsTemp = (LPTSTR) malloc(512 * sizeof(WCHAR));
h = GetDlgItem(hdlg, IDC_COMBO_MACHINE);
for (c = 0; c < ROM_MAX; c++)
romstolist[c] = 0;
c = d = 0;
while (machines[c].id != -1) {
if (romspresent[machines[c].id]) {
while (machine_get_internal_name_ex(c) != NULL) {
if (machine_available(c)) {
stransi = (char *)machines[c].name;
mbstowcs(lptsTemp, stransi, strlen(stransi) + 1);
SendMessage(h, CB_ADDSTRING, 0, (LPARAM) lptsTemp);
machinetolist[c] = d;
listtomachine[d] = c;
romstolist[machines[c].id] = d;
romstomachine[machines[c].id] = c;
d++;
}
c++;
@@ -848,7 +837,7 @@ recalc_vid_list(HWND hdlg)
}
if (!found_card)
SendMessage(h, CB_SETCURSEL, 0, 0);
EnableWindow(h, machines[temp_machine].fixed_gfxcard ? FALSE : TRUE);
EnableWindow(h, (machines[temp_machine].flags & MACHINE_VIDEO_FIXED) ? FALSE : TRUE);
h = GetDlgItem(hdlg, IDC_CHECK_VOODOO);
EnableWindow(h, (machines[temp_machine].flags & MACHINE_PCI) ? TRUE : FALSE);
@@ -1343,7 +1332,7 @@ static BOOL CALLBACK
win_settings_ports_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND h;
int c, d, i;
int c, i;
char *s;
LPTSTR lptsTemp;
@@ -1353,7 +1342,7 @@ win_settings_ports_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
for (i = 0; i < 3; i++) {
h = GetDlgItem(hdlg, IDC_COMBO_LPT1 + i);
c = d = 0;
c = 0;
while (1) {
s = lpt_device_get_name(c);
@@ -1367,22 +1356,18 @@ win_settings_ports_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
SendMessage(h, CB_ADDSTRING, 0, (LPARAM) lptsTemp);
}
if (!strcmp(temp_lpt_device_names[i], lpt_device_get_internal_name(c)))
d = c;
c++;
}
SendMessage(h, CB_SETCURSEL, d, 0);
SendMessage(h, CB_SETCURSEL, temp_lpt_devices[i], 0);
h=GetDlgItem(hdlg, IDC_CHECK_PARALLEL1 + i);
SendMessage(h, BM_SETCHECK, temp_lpt[i], 0);
}
h=GetDlgItem(hdlg, IDC_CHECK_SERIAL1);
SendMessage(h, BM_SETCHECK, temp_serial[0], 0);
h=GetDlgItem(hdlg, IDC_CHECK_SERIAL2);
SendMessage(h, BM_SETCHECK, temp_serial[1], 0);
h=GetDlgItem(hdlg, IDC_CHECK_PARALLEL);
SendMessage(h, BM_SETCHECK, temp_lpt, 0);
for (i = 0; i < 2; i++) {
h=GetDlgItem(hdlg, IDC_CHECK_SERIAL1 + i);
SendMessage(h, BM_SETCHECK, temp_serial[i], 0);
}
free(lptsTemp);
@@ -1391,18 +1376,16 @@ win_settings_ports_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
case WM_SAVESETTINGS:
for (i = 0; i < 3; i++) {
h = GetDlgItem(hdlg, IDC_COMBO_LPT1 + i);
c = SendMessage(h, CB_GETCURSEL, 0, 0);
strcpy(temp_lpt_device_names[i], lpt_device_get_internal_name(c));
temp_lpt_devices[i] = SendMessage(h, CB_GETCURSEL, 0, 0);
h = GetDlgItem(hdlg, IDC_CHECK_PARALLEL1 + i);
temp_lpt[i] = SendMessage(h, BM_GETCHECK, 0, 0);
}
h = GetDlgItem(hdlg, IDC_CHECK_SERIAL1);
temp_serial[0] = SendMessage(h, BM_GETCHECK, 0, 0);
h = GetDlgItem(hdlg, IDC_CHECK_SERIAL2);
temp_serial[1] = SendMessage(h, BM_GETCHECK, 0, 0);
h = GetDlgItem(hdlg, IDC_CHECK_PARALLEL);
temp_lpt = SendMessage(h, BM_GETCHECK, 0, 0);
for (i = 0; i < 2; i++) {
h = GetDlgItem(hdlg, IDC_CHECK_SERIAL1 + i);
temp_serial[i] = SendMessage(h, BM_GETCHECK, 0, 0);
}
default:
return FALSE;
@@ -3068,11 +3051,15 @@ hdd_add_file_open_error:
max_spt = max_hpc = max_tracks = 0;
break;
case HDD_BUS_MFM:
max_spt = 17;
max_spt = 26; /* 17 for MFM, 26 for RLL. */
max_hpc = 15;
max_tracks = 1023;
break;
case HDD_BUS_ESDI:
max_spt = 43; /* ESDI drives usually had 32 to 43 sectors per track. */
max_hpc = 16;
max_tracks = 1023;
break;
case HDD_BUS_XTA:
max_spt = 63;
max_hpc = 16;
@@ -3470,6 +3457,7 @@ win_settings_cdrom_drives_recalc_list(HWND hwndList)
lvI.iImage = 1;
break;
case CDROM_BUS_SCSI:
case CDROM_BUS_SCSI_CHINON:
wsprintf(szText, plat_get_string(fsid), temp_cdrom[i].scsi_device_id);
lvI.pszText = szText;
lvI.iImage = 1;
@@ -3732,6 +3720,7 @@ win_settings_cdrom_drives_update_item(HWND hwndList, int i)
lvI.iImage = 1;
break;
case CDROM_BUS_SCSI:
case CDROM_BUS_SCSI_CHINON:
wsprintf(szText, plat_get_string(fsid), temp_cdrom[i].scsi_device_id);
lvI.pszText = szText;
lvI.iImage = 1;
@@ -3812,7 +3801,7 @@ cdrom_add_locations(HWND hdlg)
lptsTemp = (LPTSTR) malloc(512 * sizeof(WCHAR));
h = GetDlgItem(hdlg, IDC_COMBO_CD_BUS);
for (i = CDROM_BUS_DISABLED; i <= CDROM_BUS_SCSI; i++) {
for (i = CDROM_BUS_DISABLED; i <= CDROM_BUS_SCSI_CHINON; i++) {
if ((i == CDROM_BUS_DISABLED) || (i >= CDROM_BUS_ATAPI))
SendMessage(h, CB_ADDSTRING, 0, win_get_string(combo_id_to_string_id(i)));
}
@@ -3894,6 +3883,7 @@ static void cdrom_recalc_location_controls(HWND hdlg, int assign_id)
SendMessage(h, CB_SETCURSEL, temp_cdrom[lv1_current_sel].ide_channel, 0);
break;
case CDROM_BUS_SCSI: /* SCSI */
case CDROM_BUS_SCSI_CHINON:
h = GetDlgItem(hdlg, IDT_1741);
ShowWindow(h, SW_SHOW);
EnableWindow(h, TRUE);
@@ -4009,7 +3999,7 @@ cdrom_track(uint8_t id)
{
if (temp_cdrom[id].bus_type == CDROM_BUS_ATAPI)
ide_tracking |= (2 << (temp_cdrom[id].ide_channel << 3));
else if (temp_cdrom[id].bus_type == CDROM_BUS_SCSI)
else if (temp_cdrom[id].bus_type == CDROM_BUS_SCSI || temp_cdrom[id].bus_type == CDROM_BUS_SCSI_CHINON)
scsi_tracking[temp_cdrom[id].scsi_device_id >> 3] |= (1 << (temp_cdrom[id].scsi_device_id & 0x07));
}
@@ -4019,7 +4009,7 @@ cdrom_untrack(uint8_t id)
{
if (temp_cdrom[id].bus_type == CDROM_BUS_ATAPI)
ide_tracking &= ~(2 << (temp_cdrom[id].ide_channel << 3));
else if (temp_cdrom[id].bus_type == CDROM_BUS_SCSI)
else if (temp_cdrom[id].bus_type == CDROM_BUS_SCSI || temp_cdrom[id].bus_type == CDROM_BUS_SCSI_CHINON)
scsi_tracking[temp_cdrom[id].scsi_device_id >> 3] &= ~(1 << (temp_cdrom[id].scsi_device_id & 0x07));
}
@@ -4188,6 +4178,9 @@ win_settings_other_removable_devices_proc(HWND hdlg, UINT message, WPARAM wParam
case CDROM_BUS_SCSI:
b = 2;
break;
case CDROM_BUS_SCSI_CHINON:
b = 3;
break;
}
SendMessage(h, CB_SETCURSEL, b, 0);
@@ -4255,6 +4248,9 @@ win_settings_other_removable_devices_proc(HWND hdlg, UINT message, WPARAM wParam
case CDROM_BUS_SCSI:
b = 2;
break;
case CDROM_BUS_SCSI_CHINON:
b = 3;
break;
}
SendMessage(h, CB_SETCURSEL, b, 0);
@@ -4317,6 +4313,9 @@ win_settings_other_removable_devices_proc(HWND hdlg, UINT message, WPARAM wParam
case 2:
b2 = CDROM_BUS_SCSI;
break;
case 3:
b2 = CDROM_BUS_SCSI_CHINON;
break;
}
if (b2 == temp_cdrom[lv1_current_sel].bus_type)
break;