Fixed multiple bugs.
This commit is contained in:
@@ -793,7 +793,7 @@ void create_floppy_tip(int part)
|
||||
}
|
||||
else
|
||||
{
|
||||
_swprintf(tempTip, win_language_get_string_from_id(2179), drive + 1, wtext, discfns[drive]);
|
||||
_swprintf(tempTip, win_language_get_string_from_id(IDS_2158), drive + 1, wtext, discfns[drive]);
|
||||
}
|
||||
|
||||
if (sbTips[part] != NULL)
|
||||
|
||||
@@ -2500,7 +2500,6 @@ static BOOL CALLBACK win_settings_hard_disks_add_proc(HWND hdlg, UINT message, W
|
||||
char *big_buf;
|
||||
int b = 0;
|
||||
uint64_t r = 0;
|
||||
int j = 0;
|
||||
|
||||
switch (message)
|
||||
{
|
||||
@@ -2828,7 +2827,7 @@ hdd_add_file_open_error:
|
||||
}
|
||||
else
|
||||
{
|
||||
for (j = 0; j < 16; j++)
|
||||
for (i = 5; i < 16; i++)
|
||||
{
|
||||
if (((size % (i << 9)) == 0) && (size <= ((i * 17) << 19)))
|
||||
{
|
||||
@@ -3777,21 +3776,21 @@ static void cdrom_add_locations(HWND hdlg)
|
||||
h = GetDlgItem(hdlg, IDC_COMBO_CD_ID);
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
wsprintf(lptsTemp, win_language_get_string_from_id(2088), i);
|
||||
wsprintf(lptsTemp, win_language_get_string_from_id(IDS_4098), i);
|
||||
SendMessage(h, CB_ADDSTRING, 0, (LPARAM) lptsTemp);
|
||||
}
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_COMBO_CD_LUN);
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
wsprintf(lptsTemp, win_language_get_string_from_id(2088), i);
|
||||
wsprintf(lptsTemp, win_language_get_string_from_id(IDS_4098), i);
|
||||
SendMessage(h, CB_ADDSTRING, 0, (LPARAM) lptsTemp);
|
||||
}
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_COMBO_CD_CHANNEL_IDE);
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
wsprintf(lptsTemp, win_language_get_string_from_id(2169), i >> 1, i & 1);
|
||||
wsprintf(lptsTemp, win_language_get_string_from_id(IDS_4097), i >> 1, i & 1);
|
||||
SendMessage(h, CB_ADDSTRING, 0, (LPARAM) lptsTemp);
|
||||
}
|
||||
|
||||
|
||||
@@ -3390,6 +3390,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
{
|
||||
/* File is WAY too small, abort. */
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -3399,6 +3400,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
/* File is not of the valid format, abort. */
|
||||
d86f_log("86F: Unrecognized magic bytes: %08X\n", magic);
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -3421,6 +3423,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
d86f_log("86F: Unrecognized file version: %i.%02i\n", d86f[drive].version >> 8, d86f[drive].version & 0xFF);
|
||||
}
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
update_status_bar_icon_state(drive, 1);
|
||||
return;
|
||||
}
|
||||
@@ -3437,6 +3440,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
{
|
||||
/* File too small, abort. */
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -3459,6 +3463,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
{
|
||||
d86f_log("86F: CRC64 error\n");
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -3470,6 +3475,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
memcpy(d86f[drive].original_file_name, fn, (wcslen(fn) << 1) + 2);
|
||||
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
|
||||
d86f[drive].f = _wfopen(temp_file_name, L"wb");
|
||||
if (!d86f[drive].f)
|
||||
@@ -3500,6 +3506,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
|
||||
fclose(tf);
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
|
||||
if (!temp)
|
||||
{
|
||||
@@ -3517,6 +3524,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
/* Zoned disk. */
|
||||
d86f_log("86F: Disk is zoned (Apple or Sony)\n");
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
if (d86f[drive].is_compressed)
|
||||
{
|
||||
_wremove(temp_file_name);
|
||||
@@ -3530,6 +3538,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
/* Zone type is not 0 but the disk is fixed-RPM. */
|
||||
d86f_log("86F: Disk is fixed-RPM but zone type is not 0\n");
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
if (d86f[drive].is_compressed)
|
||||
{
|
||||
_wremove(temp_file_name);
|
||||
@@ -3547,6 +3556,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
if (writeprot[drive])
|
||||
{
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
|
||||
if (d86f[drive].is_compressed)
|
||||
{
|
||||
@@ -3567,6 +3577,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
/* File has no track 0 side 0, abort. */
|
||||
d86f_log("86F: No Track 0 side 0\n");
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -3576,6 +3587,7 @@ void d86f_load(int drive, wchar_t *fn)
|
||||
/* File is 2-sided but has no track 0 side 1, abort. */
|
||||
d86f_log("86F: No Track 0 side 1\n");
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -3657,7 +3669,10 @@ void d86f_close(int drive)
|
||||
memcpy(temp_file_name, drive ? nvr_concat(L"TEMP$$$1.$$$") : nvr_concat(L"TEMP$$$0.$$$"), 26);
|
||||
|
||||
if (d86f[drive].f)
|
||||
{
|
||||
fclose(d86f[drive].f);
|
||||
d86f[drive].f = NULL;
|
||||
}
|
||||
if (d86f[drive].is_compressed)
|
||||
_wremove(temp_file_name);
|
||||
}
|
||||
|
||||
@@ -280,6 +280,7 @@ void fdi_load(int drive, wchar_t *fn)
|
||||
/* This is a Japanese FDI file. */
|
||||
pclog("fdi_load(): Japanese FDI file detected, redirecting to IMG loader\n");
|
||||
fclose(fdi[drive].f);
|
||||
fdi[drive].f = NULL;
|
||||
img_load(drive, fn);
|
||||
return;
|
||||
}
|
||||
@@ -303,7 +304,10 @@ void fdi_close(int drive)
|
||||
if (fdi[drive].h)
|
||||
fdi2raw_header_free(fdi[drive].h);
|
||||
if (fdi[drive].f)
|
||||
{
|
||||
fclose(fdi[drive].f);
|
||||
fdi[drive].f = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void fdi_seek(int drive, int track)
|
||||
|
||||
@@ -110,6 +110,7 @@ void imd_load(int drive, wchar_t *fn)
|
||||
{
|
||||
pclog("IMD: Not a valid ImageDisk image\n");
|
||||
fclose(imd[drive].f);
|
||||
imd[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -131,6 +132,7 @@ void imd_load(int drive, wchar_t *fn)
|
||||
{
|
||||
pclog("IMD: No ASCII EOF character\n");
|
||||
fclose(imd[drive].f);
|
||||
imd[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -144,6 +146,7 @@ void imd_load(int drive, wchar_t *fn)
|
||||
{
|
||||
pclog("IMD: File ends after ASCII EOF character\n");
|
||||
fclose(imd[drive].f);
|
||||
imd[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -263,6 +266,7 @@ void imd_load(int drive, wchar_t *fn)
|
||||
/* If we can't fit the sectors with a reasonable minimum gap even at 2% slower RPM, abort. */
|
||||
pclog("IMD: Unable to fit the %i sectors in a track\n", track_spt);
|
||||
fclose(imd[drive].f);
|
||||
imd[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -301,6 +305,7 @@ void imd_close(int drive)
|
||||
memset(&(imd[drive].tracks[i][1]), 0, sizeof(imd_track_t));
|
||||
}
|
||||
fclose(imd[drive].f);
|
||||
imd[drive].f = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -358,6 +358,7 @@ void img_load(int drive, wchar_t *fn)
|
||||
}
|
||||
writeprot[drive] = 1;
|
||||
}
|
||||
pclog("Floppy %i file pointer: %08X\n", drive, img[drive].f);
|
||||
if (ui_writeprot[drive])
|
||||
{
|
||||
writeprot[drive] = 1;
|
||||
@@ -752,6 +753,7 @@ jump_if_fdf:
|
||||
{
|
||||
pclog("Image is bigger than can fit on an ED floppy, ejecting...\n");
|
||||
fclose(img[drive].f);
|
||||
img[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -814,6 +816,7 @@ jump_if_fdf:
|
||||
{
|
||||
pclog("Image is bigger than can fit on an ED floppy, ejecting...\n");
|
||||
fclose(img[drive].f);
|
||||
img[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -831,6 +834,7 @@ jump_if_fdf:
|
||||
{
|
||||
pclog("ERROR: Floppy image of unknown format was inserted into drive %c:!\n", drive + 0x41);
|
||||
fclose(img[drive].f);
|
||||
img[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -863,7 +867,10 @@ void img_close(int drive)
|
||||
{
|
||||
d86f_unregister(drive);
|
||||
if (img[drive].f)
|
||||
{
|
||||
fclose(img[drive].f);
|
||||
img[drive].f = NULL;
|
||||
}
|
||||
if (img[drive].disk_data)
|
||||
free(img[drive].disk_data);
|
||||
}
|
||||
|
||||
@@ -545,6 +545,7 @@ void td0_load(int drive, wchar_t *fn)
|
||||
{
|
||||
pclog("TD0: Not a valid Teledisk image\n");
|
||||
fclose(td0[drive].f);
|
||||
td0[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -560,6 +561,7 @@ void td0_load(int drive, wchar_t *fn)
|
||||
{
|
||||
pclog("TD0: Failed to initialize\n");
|
||||
fclose(td0[drive].f);
|
||||
td0[drive].f = NULL;
|
||||
memset(discfns[drive], 0, sizeof(discfns[drive]));
|
||||
return;
|
||||
}
|
||||
@@ -607,7 +609,10 @@ void td0_close(int drive)
|
||||
}
|
||||
|
||||
if (td0[drive].f)
|
||||
{
|
||||
fclose(td0[drive].f);
|
||||
td0[drive].f = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t td0_get_raw_tsize(int side_flags, int slower_rpm)
|
||||
|
||||
Reference in New Issue
Block a user