Applied all mainline PCem commits;
Added experimental NVidia Riva TNT2 emulation (patch from MoochMcGee); ASUS P/I-P54TP4XE, ASUS P/I-P55T2P4, and ASUS P/I-P55TVP4 are back; National Semiconductor PC87306 Super I/O chip now correctly reenables devices after a chip power cycle; Several FDC improvements and the behavior is now a bit closer to real hardware (based on actual tests); Added MR Intel Advanced/ATX with Microid Research BIOS with support for 4 floppy drives and up to 4 IDE controllers; Added floppy drives 3 and 4, bringing the maximum to 4; You can now connect hard disks to the tertiary IDE controller; Correct undocumented behavior of the LEA instruction with register is back on 286 and later CPU's; Pentium-rea models with Intel chipsets now have port 92 (with alternate reset and alternate A20 toggle); Overhauled DMA channel read and write routines and fixed cascading; Improved IMG detection of a bad BPB (or complete lack of a BPB); Added preliminary emulation of PS/2 1.44 MB and PC-98 1.25 MB 3-mode drives (both have an inverted DENSEL pin); Removed the incorrect Amstrad mouse patch from TheCollector1995; Fixed ATAPI CD-ROM disk change detection; Windows IOCTL CD-ROM handler now tries to use direct SCSI passthrough for more things, including obtaining CD-ROM capacity; The Diamond Stealth32 (ET4000/W32p) now also works correctly on the two Award SiS 496/497 boxes; The (S)VGA handler now converts 6-bit RAMDAC RGB channels to standard 8-bit RGB using a lookup table generated at emulator start, calculated using the correct intensity conversion method and treating intensity 64 as equivalent to 63; Moved a few options from the Configuration dialog box to the menu; SIO, PIIX, and PIIX3 now have the reset control register on port CF9 as they should; Several bugfixes.
This commit is contained in:
296
src/win-hdconf.c
296
src/win-hdconf.c
@@ -39,8 +39,12 @@ static void update_hdd_cdrom(HWND hdlg)
|
||||
SendMessage(h, BM_SETCHECK, (new_cdrom_channel == 3) ? 0 : 1, 0);
|
||||
h = GetDlgItem(hdlg, IDC_FCDROM);
|
||||
SendMessage(h, BM_SETCHECK, (new_cdrom_channel == 3) ? 1 : 0, 0);
|
||||
h = GetDlgItem(hdlg, IDC_GHDD);
|
||||
SendMessage(h, BM_SETCHECK, (new_cdrom_channel == 4) ? 0 : 1, 0);
|
||||
h = GetDlgItem(hdlg, IDC_GCDROM);
|
||||
SendMessage(h, BM_SETCHECK, (new_cdrom_channel == 4) ? 1 : 0, 0);
|
||||
h = GetDlgItem(hdlg, IDC_HHDD);
|
||||
SendMessage(h, BM_SETCHECK, (new_cdrom_channel == 5) ? 0 : 1, 0);
|
||||
h = GetDlgItem(hdlg, IDC_HCDROM);
|
||||
SendMessage(h, BM_SETCHECK, (new_cdrom_channel == 5) ? 1 : 0, 0);
|
||||
}
|
||||
@@ -408,7 +412,7 @@ BOOL CALLBACK hdsize_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lPar
|
||||
static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND h;
|
||||
hard_disk_t hd[4];
|
||||
hard_disk_t hd[6];
|
||||
FILE *f;
|
||||
off64_t sz;
|
||||
int ret;
|
||||
@@ -422,6 +426,8 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
hd[1] = hdc[1];
|
||||
hd[2] = hdc[2];
|
||||
hd[3] = hdc[3];
|
||||
hd[4] = hdc[4];
|
||||
hd[5] = hdc[5];
|
||||
hd_changed = 0;
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_C_SPT);
|
||||
@@ -472,6 +478,30 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
h= GetDlgItem(hdlg, IDC_EDIT_F_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)ide_fn[3]);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_SPT);
|
||||
sprintf(s, "%" PRIu64, hdc[4].spt);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_HPC);
|
||||
sprintf(s, "%" PRIu64, hdc[4].hpc);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_CYL);
|
||||
sprintf(s, "%" PRIu64, hdc[4].tracks);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h= GetDlgItem(hdlg, IDC_EDIT_G_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)ide_fn[4]);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_SPT);
|
||||
sprintf(s, "%" PRIu64, hdc[5].spt);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_HPC);
|
||||
sprintf(s, "%" PRIu64, hdc[5].hpc);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_CYL);
|
||||
sprintf(s, "%" PRIu64, hdc[5].tracks);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h= GetDlgItem(hdlg, IDC_EDIT_H_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)ide_fn[5]);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_C_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd[0].tracks*hd[0].hpc*hd[0].spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
@@ -488,6 +518,14 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd[3].tracks*hd[3].hpc*hd[3].spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_G_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd[4].tracks*hd[4].hpc*hd[4].spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_H_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd[5].tracks*hd[5].hpc*hd[5].spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
new_cdrom_channel = atapi_cdrom_channel;
|
||||
|
||||
update_hdd_cdrom(hdlg);
|
||||
@@ -549,10 +587,36 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_F_FN);
|
||||
SendMessage(h, WM_GETTEXT, 511, (LPARAM)ide_fn[3]);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_SPT);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[4].spt);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_HPC);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[4].hpc);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_CYL);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[4].tracks);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_FN);
|
||||
SendMessage(h, WM_GETTEXT, 511, (LPARAM)ide_fn[4]);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_SPT);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[5].spt);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_HPC);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[5].hpc);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_CYL);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[5].tracks);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_FN);
|
||||
SendMessage(h, WM_GETTEXT, 511, (LPARAM)ide_fn[5]);
|
||||
|
||||
hdc[0] = hd[0];
|
||||
hdc[1] = hd[1];
|
||||
hdc[2] = hd[2];
|
||||
hdc[3] = hd[3];
|
||||
hdc[4] = hd[4];
|
||||
hdc[5] = hd[5];
|
||||
|
||||
atapi_cdrom_channel = new_cdrom_channel;
|
||||
|
||||
@@ -610,6 +674,28 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
SetDlgItemText(hdlg, IDC_EDIT_F_FN, "");
|
||||
hd_changed = 1;
|
||||
return TRUE;
|
||||
case IDC_EJECTG:
|
||||
hd[4].spt = 0;
|
||||
hd[4].hpc = 0;
|
||||
hd[4].tracks = 0;
|
||||
ide_fn[4][0] = 0;
|
||||
SetDlgItemText(hdlg, IDC_EDIT_G_SPT, "0");
|
||||
SetDlgItemText(hdlg, IDC_EDIT_G_HPC, "0");
|
||||
SetDlgItemText(hdlg, IDC_EDIT_G_CYL, "0");
|
||||
SetDlgItemText(hdlg, IDC_EDIT_G_FN, "");
|
||||
hd_changed = 1;
|
||||
return TRUE;
|
||||
case IDC_EJECTH:
|
||||
hd[5].spt = 0;
|
||||
hd[5].hpc = 0;
|
||||
hd[5].tracks = 0;
|
||||
ide_fn[5][0] = 0;
|
||||
SetDlgItemText(hdlg, IDC_EDIT_H_SPT, "0");
|
||||
SetDlgItemText(hdlg, IDC_EDIT_H_HPC, "0");
|
||||
SetDlgItemText(hdlg, IDC_EDIT_H_CYL, "0");
|
||||
SetDlgItemText(hdlg, IDC_EDIT_H_FN, "");
|
||||
hd_changed = 1;
|
||||
return TRUE;
|
||||
|
||||
case IDC_CNEW:
|
||||
if (DialogBox(hinstance, TEXT("HdNewDlg"), hdlg, hdnew_dlgproc) == 1)
|
||||
@@ -943,6 +1029,172 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_GNEW:
|
||||
if (DialogBox(hinstance, TEXT("HdNewDlg"), hdlg, hdnew_dlgproc) == 1)
|
||||
{
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_SPT);
|
||||
sprintf(s, "%" PRIu64, hd_new_spt);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_HPC);
|
||||
sprintf(s, "%" PRIu64, hd_new_hpc);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_CYL);
|
||||
sprintf(s, "%" PRIu64, hd_new_cyl);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)hd_new_name);
|
||||
|
||||
h= GetDlgItem(hdlg, IDC_TEXT_G_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd_new_cyl*hd_new_hpc*hd_new_spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
hd_changed = 1;
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_GFILE:
|
||||
if (!getfile(hdlg, "Hard disc image (*.HDI;*.IMA;*.IMG;*.VHD)\0*.HDI;*.IMA;*.IMG;*.VHD\0All files (*.*)\0*.*\0", ""))
|
||||
{
|
||||
f = fopen64(openfilestring, "rb");
|
||||
if (!f)
|
||||
{
|
||||
MessageBox(ghwnd,"Can't open file for read","86Box error",MB_OK);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (image_is_hdi(openfilestring))
|
||||
{
|
||||
fseeko64(f, 0x10, SEEK_END);
|
||||
fread(§or_size, 1, 4, f);
|
||||
if (sector_size != 512)
|
||||
{
|
||||
MessageBox(ghwnd,"HDI image with a sector size that is not 512","86Box error",MB_OK);
|
||||
fclose(f);
|
||||
return TRUE;
|
||||
}
|
||||
fread(&hd_new_spt, 1, 4, f);
|
||||
fread(&hd_new_hpc, 1, 4, f);
|
||||
fread(&hd_new_cyl, 1, 4, f);
|
||||
|
||||
ret = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
fseeko64(f, -1, SEEK_END);
|
||||
sz = ftello64(f) + 1;
|
||||
fclose(f);
|
||||
hd_new_spt = 63;
|
||||
hd_new_hpc = 16;
|
||||
hd_new_cyl = ((sz / 512) / 16) / 63;
|
||||
|
||||
ret = DialogBox(hinstance, TEXT("HdSizeDlg"), hdlg, hdsize_dlgproc);
|
||||
}
|
||||
if (ret == 1)
|
||||
{
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_SPT);
|
||||
sprintf(s, "%" PRIu64, hd_new_spt);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_HPC);
|
||||
sprintf(s, "%" PRIu64, hd_new_hpc);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_CYL);
|
||||
sprintf(s, "%" PRIu64, hd_new_cyl);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)openfilestring);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_G_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd_new_cyl*hd_new_hpc*hd_new_spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
hd_changed = 1;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_HNEW:
|
||||
if (DialogBox(hinstance, TEXT("HdNewDlg"), hdlg, hdnew_dlgproc) == 1)
|
||||
{
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_SPT);
|
||||
sprintf(s, "%" PRIu64, hd_new_spt);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_HPC);
|
||||
sprintf(s, "%" PRIu64, hd_new_hpc);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_CYL);
|
||||
sprintf(s, "%" PRIu64, hd_new_cyl);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)hd_new_name);
|
||||
|
||||
h= GetDlgItem(hdlg, IDC_TEXT_H_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd_new_cyl*hd_new_hpc*hd_new_spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
hd_changed = 1;
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_HFILE:
|
||||
if (!getfile(hdlg, "Hard disc image (*.HDI;*.IMA;*.IMG;*.VHD)\0*.HDI;*.IMA;*.IMG;*.VHD\0All files (*.*)\0*.*\0", ""))
|
||||
{
|
||||
f = fopen64(openfilestring, "rb");
|
||||
if (!f)
|
||||
{
|
||||
MessageBox(ghwnd,"Can't open file for read","86Box error",MB_OK);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (image_is_hdi(openfilestring))
|
||||
{
|
||||
fseeko64(f, 0x10, SEEK_END);
|
||||
fread(§or_size, 1, 4, f);
|
||||
if (sector_size != 512)
|
||||
{
|
||||
MessageBox(ghwnd,"HDI image with a sector size that is not 512","86Box error",MB_OK);
|
||||
fclose(f);
|
||||
return TRUE;
|
||||
}
|
||||
fread(&hd_new_spt, 1, 4, f);
|
||||
fread(&hd_new_hpc, 1, 4, f);
|
||||
fread(&hd_new_cyl, 1, 4, f);
|
||||
|
||||
ret = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
fseeko64(f, -1, SEEK_END);
|
||||
sz = ftello64(f) + 1;
|
||||
fclose(f);
|
||||
hd_new_spt = 63;
|
||||
hd_new_hpc = 16;
|
||||
hd_new_cyl = ((sz / 512) / 16) / 63;
|
||||
|
||||
ret = DialogBox(hinstance, TEXT("HdSizeDlg"), hdlg, hdsize_dlgproc);
|
||||
}
|
||||
if (ret == 1)
|
||||
{
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_SPT);
|
||||
sprintf(s, "%" PRIu64, hd_new_spt);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_HPC);
|
||||
sprintf(s, "%" PRIu64, hd_new_hpc);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_CYL);
|
||||
sprintf(s, "%" PRIu64, hd_new_cyl);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_FN);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)openfilestring);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_H_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd_new_cyl*hd_new_hpc*hd_new_spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
|
||||
hd_changed = 1;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_EDIT_C_SPT: case IDC_EDIT_C_HPC: case IDC_EDIT_C_CYL:
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_C_SPT);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
@@ -1007,6 +1259,38 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
return TRUE;
|
||||
|
||||
case IDC_EDIT_G_SPT: case IDC_EDIT_G_HPC: case IDC_EDIT_G_CYL:
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_SPT);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[4].spt);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_HPC);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[4].hpc);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_G_CYL);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[4].tracks);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_G_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd[4].tracks*hd[4].hpc*hd[4].spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
return TRUE;
|
||||
|
||||
case IDC_EDIT_H_SPT: case IDC_EDIT_H_HPC: case IDC_EDIT_H_CYL:
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_SPT);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[5].spt);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_HPC);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[5].hpc);
|
||||
h = GetDlgItem(hdlg, IDC_EDIT_H_CYL);
|
||||
SendMessage(h, WM_GETTEXT, 255, (LPARAM)s);
|
||||
sscanf(s, "%" PRIu64, &hd[5].tracks);
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_TEXT_H_SIZE);
|
||||
sprintf(s, "Size: %" PRIu64 " MB", (hd[5].tracks*hd[5].hpc*hd[5].spt) >> 11);
|
||||
SendMessage(h, WM_SETTEXT, 0, (LPARAM)s);
|
||||
return TRUE;
|
||||
|
||||
case IDC_CHDD:
|
||||
if (new_cdrom_channel == 0)
|
||||
new_cdrom_channel = -1;
|
||||
@@ -1027,6 +1311,16 @@ static BOOL CALLBACK hdconf_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||
new_cdrom_channel = -1;
|
||||
update_hdd_cdrom(hdlg);
|
||||
return TRUE;
|
||||
case IDC_GHDD:
|
||||
if (new_cdrom_channel == 4)
|
||||
new_cdrom_channel = -1;
|
||||
update_hdd_cdrom(hdlg);
|
||||
return TRUE;
|
||||
case IDC_HHDD:
|
||||
if (new_cdrom_channel == 5)
|
||||
new_cdrom_channel = -1;
|
||||
update_hdd_cdrom(hdlg);
|
||||
return TRUE;
|
||||
|
||||
case IDC_CCDROM:
|
||||
new_cdrom_channel = 0;
|
||||
|
||||
Reference in New Issue
Block a user