Vastly overhauled the UI, there's now a completely new Settings dialog as well as a status bar with disk activity icons and removable drive menus;

Thoroughly clean up the code to vastly reduce the number of compiler warnings and found and fixed several bugs in the process;
Applied all mainline PCem commits;
Added SCSI hard disk emulation;
Commented out all unfinished machines and graphics cards;
Added the AOpen AP53 and ASUS P/I-P55T2 machines as well as another Tyan 440FX machine, all three with AMI WinBIOS (patch from TheCollector1995);
Added the Diamond Stealth 3D 3000 (S3 ViRGE/VX) graphics card (patch from TheCollector1995);
Added the PS/2 XT IDE (AccuLogic) HDD Controller (patch from TheCollector1995);
Added Microsoft/Logitech Bus Mouse emulation (patch from waltje);
Overhauled the makefiles (patch from waltje);
Added the Adaptec AHA-1542CF SCSI controller (patch from waltje);
Added preliminary (but still unfinished) Adaptec AHA-154x SCSI controller BIOS support (patch from waltje);
Added an ISABugger debugging device (patch from waltje);
Added sanity checks to the Direct3D code.
This commit is contained in:
OBattler
2017-05-05 01:49:42 +02:00
parent d07d53962c
commit f6ef1f833c
346 changed files with 24292 additions and 18058 deletions

View File

@@ -102,13 +102,9 @@ void disc_load(int drive, char *fn)
int c = 0, size;
char *p;
FILE *f;
// pclog("disc_load %i %s\n", drive, fn);
// setejecttext(drive, "");
if (!fn) return;
p = get_extension(fn);
if (!p) return;
// setejecttext(drive, fn);
// pclog("Loading :%i %s %s\n", drive, fn,p);
f = fopen(fn, "rb");
if (!f) return;
fseek(f, -1, SEEK_END);
@@ -118,12 +114,10 @@ void disc_load(int drive, char *fn)
{
if (!strcasecmp(p, loaders[c].ext) && (size == loaders[c].size || loaders[c].size == -1))
{
// pclog("Loading as %s (UI write protected = %s)\n", p, ui_writeprot[drive] ? "yes" : "no");
driveloaders[drive] = c;
loaders[c].load(drive, fn);
drive_empty[drive] = 0;
strcpy(discfns[drive], fn);
// fdd_set_head(real_drive(drive), 0);
fdd_forced_seek(real_drive(drive), 0);
disc_changed[drive] = 1;
return;
@@ -138,7 +132,6 @@ void disc_load(int drive, char *fn)
void disc_close(int drive)
{
// pclog("disc_close %i\n", drive);
if (loaders[driveloaders[drive]].close) loaders[driveloaders[drive]].close(drive);
drive_empty[drive] = 1;
fdd_set_head(real_drive(drive), 0);
@@ -210,8 +203,7 @@ void disc_poll(int drive)
{
if (drive >= FDD_NUM)
{
disc_poll_time[drive] += (int) (((romset == ROM_MRTHOR) ? 8.0 : 32.0) * TIMER_USEC);
return;
fatal("Attempting to poll floppy drive %i that is not supposed to be there\n", drive);
}
disc_poll_time[drive] += (int) disc_real_period(drive);
@@ -249,7 +241,7 @@ void disc_poll_3()
int disc_get_bitcell_period(int rate)
{
int bit_rate;
int bit_rate = 250;
switch (rate)
{
@@ -312,7 +304,6 @@ void disc_reset()
void disc_init()
{
// pclog("disc_init %p\n", drives);
drives[0].poll = drives[1].poll = drives[2].poll = drives[3].poll = 0;
drives[0].seek = drives[1].seek = drives[2].seek = drives[3].seek = 0;
drives[0].readsector = drives[1].readsector = drives[2].readsector = drives[3].readsector = 0;
@@ -322,13 +313,8 @@ void disc_init()
int oldtrack[FDD_NUM] = {0, 0, 0, 0};
void disc_seek(int drive, int track)
{
// pclog("disc_seek: drive=%i track=%i\n", drive, track);
if (drives[drive].seek)
drives[drive].seek(drive, track);
// if (track != oldtrack[drive])
// fdc_discchange_clear(drive);
// ddnoise_seek(track - oldtrack[drive]);
// oldtrack[drive] = track;
}
void disc_readsector(int drive, int sector, int track, int side, int density, int sector_size)