Now up to date with current dev version.

Changes since v0.7 :
- Major CPU reorganisation. This has possibly broken some stuff, though I fixed all the regressions I could find
- Lazy flags. This brought 10% speed improvement at one point, but that's probably been lost now
- 430 VX chipset emulation
- IDT Winchip emulation (currently sans MMX). Timing is probably wrong
- Fixed a few FPU bugs
- Timer reorganisation
- Sound reorganisation
- Other general reorganisation
- AdLib Gold emulation
- Windows Sound System emulation
- Pro Audio Spectrum 16 emulation. This currently works with most DOS stuff, but not in Windows
- Major improvements to GUS emulation. Has the downside that it now conflicts with SB emulation, so probably best to not enable both simultaneously
- New graphics cards :
  - ATI-18800 (VGA Edge-16)
  - ATI-28800 (VGA Charger)
  - ATI Mach64GX (Graphics Pro Turbo). Quite a few features missing, but Windows doesn't seem to use half the features of this card
  - Cirrus Logic CL-GD5429. Blitter is a bit broken
  - Oak OTI-067
  - S3 Trio64 (Number Nine 9FX)
  - S3 Virge. Only framebuffer stuff at the minute, Windows won't recognise the card
  - Trident TGUI-9440
  - VGA. Doesn't work yet
- Beginnings of 3DFX emulation, however this is in extremely early stages and doesn't do anything useful
- Fixed DMA bug stopping floppy drives working in Windows 3.x
- Fixed some other stuff probably
- Broke some other stuff probably as well
This commit is contained in:
TomW 2013-05-27 17:46:42 +01:00
commit 9312de19ac
87 changed files with 4528 additions and 9373 deletions

View file

@ -26,7 +26,7 @@ int get_config_int(char *head, char *name, int def)
if (!f)
return def;
pclog("Searching for %s\n", name);
// pclog("Searching for %s\n", name);
while (1)
{
@ -46,9 +46,9 @@ int get_config_int(char *head, char *name, int def)
if (!buffer[c]) continue;
name2[d] = 0;
pclog("Comparing %s and %s\n", name, name2);
// pclog("Comparing %s and %s\n", name, name2);
if (strcmp(name, name2)) continue;
pclog("Found!\n");
// pclog("Found!\n");
while ((buffer[c] == '=' || buffer[c] == ' ') && buffer[c])
c++;
@ -56,7 +56,7 @@ int get_config_int(char *head, char *name, int def)
if (!buffer[c]) continue;
sscanf(&buffer[c], "%i", &res);
pclog("Reading value - %i\n", res);
// pclog("Reading value - %i\n", res);
break;
}
@ -78,7 +78,7 @@ char *get_config_string(char *head, char *name, char *def)
if (!f)
return config_return_string;
pclog("Searching for %s\n", name);
// pclog("Searching for %s\n", name);
while (1)
{
@ -98,9 +98,9 @@ char *get_config_string(char *head, char *name, char *def)
if (!buffer[c]) continue;
name2[d] = 0;
pclog("Comparing %s and %s\n", name, name2);
// pclog("Comparing %s and %s\n", name, name2);
if (strcmp(name, name2)) continue;
pclog("Found!\n");
// pclog("Found!\n");
while ((buffer[c] == '=' || buffer[c] == ' ') && buffer[c])
c++;
@ -110,11 +110,11 @@ char *get_config_string(char *head, char *name, char *def)
strcpy(config_return_string, &buffer[c]);
c = strlen(config_return_string) - 1;
pclog("string len %i\n", c);
// pclog("string len %i\n", c);
while (config_return_string[c] <= 32 && config_return_string[c])
config_return_string[c--] = 0;
pclog("Reading value - %s\n", config_return_string);
// pclog("Reading value - %s\n", config_return_string);
break;
}
@ -125,19 +125,19 @@ char *get_config_string(char *head, char *name, char *def)
void set_config_int(char *head, char *name, int val)
{
FILE *f = fopen(config_file, "at");
if (!f) pclog("set_config_int - !f\n");
// if (!f) pclog("set_config_int - !f\n");
fprintf(f, "%s = %i\n", name, val);
pclog("Write %s = %i\n", name, val);
// pclog("Write %s = %i\n", name, val);
fclose(f);
pclog("fclose\n");
// pclog("fclose\n");
}
void set_config_string(char *head, char *name, char *val)
{
FILE *f = fopen(config_file, "at");
if (!f) pclog("set_config_string - !f\n");
// if (!f) pclog("set_config_string - !f\n");
fprintf(f, "%s = %s\n", name, val);
pclog("Write %s = %s\n", name, val);
// pclog("Write %s = %s\n", name, val);
fclose(f);
}