CD-ROM images are now working correctly again;

Fixed all the reported bugs regarding the Settings dialog;
MIDI out device is now no longer reset to 0 after hard reset;
Removed all vestiges of the old disk activity flash;
The configuration file is no longer saved when it shouldn't be;
Redone the status bar icon updating so it is only done in win.c;
Made sure all variables in ibm.h are extern;
A lot of other bugfixes;
Added Mouse Systems Mouse emulation (patch from TheCollector1995);
Added IBM PS/1 Model 2133 (486) emulation (patch from TheCollector1995);
Tweaked the CPU dynamic recompiler cycle periods - 486SX 33 and 486DX 33 now work;
Increased compatibility with configuration files from before the previous commit.
This commit is contained in:
OBattler
2017-05-29 01:18:32 +02:00
parent 84480b7347
commit fc2a293536
54 changed files with 740 additions and 372 deletions

View File

@@ -3041,7 +3041,7 @@ void d86f_load(int drive, wchar_t *fn)
d86f[drive].f = _wfopen(fn, L"rb");
if (!d86f[drive].f)
{
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
writeprot[drive] = 1;
@@ -3062,7 +3062,7 @@ void d86f_load(int drive, wchar_t *fn)
{
/* File is WAY too small, abort. */
fclose(d86f[drive].f);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3071,7 +3071,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);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3109,7 +3109,7 @@ void d86f_load(int drive, wchar_t *fn)
{
/* File too small, abort. */
fclose(d86f[drive].f);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3131,7 +3131,7 @@ void d86f_load(int drive, wchar_t *fn)
{
d86f_log("86F: CRC64 error\n");
fclose(d86f[drive].f);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
#endif
@@ -3147,7 +3147,7 @@ void d86f_load(int drive, wchar_t *fn)
if (!d86f[drive].f)
{
d86f_log("86F: Unable to create temporary decompressed file\n");
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3177,7 +3177,7 @@ void d86f_load(int drive, wchar_t *fn)
{
d86f_log("86F: Error decompressing file\n");
_wremove(temp_file_name);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3193,7 +3193,7 @@ void d86f_load(int drive, wchar_t *fn)
{
_wremove(temp_file_name);
}
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3206,7 +3206,7 @@ void d86f_load(int drive, wchar_t *fn)
{
_wremove(temp_file_name);
}
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
@@ -3239,16 +3239,16 @@ 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);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}
if ((d86f_get_sides(drive) == 2) && !(d86f[drive].track_offset[1]))
{
/* File is 2-sided but has no track 0 side 1, abort. */
d86f_log("86F: No Track 0 side 0\n");
d86f_log("86F: No Track 0 side 1\n");
fclose(d86f[drive].f);
update_status_bar_icon_state(drive, 1);
memset(discfns[drive], 0, sizeof(discfns[drive]));
return;
}