Added Intel Premiere/PCI (Batman's Revenge) and Advanced/EV (Endeavor) motherboards.

Added emulation of i430LX and i430FX chipsets.
Added support for PCI configuration type 2, used by i430LX.
Added AT disable keyboard command, and fixed enable keyboard command.
Added emulation of Intel 28F001BXT flash ROM, used by Advanced/EV.
Fixed a bug in REP when using multiple 66/67 prefixes.
This commit is contained in:
TomW 2014-11-23 20:27:41 +00:00
commit 84ac04d2df
24 changed files with 835 additions and 137 deletions

View file

@ -37,7 +37,7 @@ static mem_mapping_t base_mapping;
static mem_mapping_t ram_low_mapping;
static mem_mapping_t ram_high_mapping;
static mem_mapping_t ram_mid_mapping;
static mem_mapping_t bios_mapping[8];
mem_mapping_t bios_mapping[8];
static mem_mapping_t bios_high_mapping[8];
static mem_mapping_t romext_mapping;
@ -90,6 +90,7 @@ int loadbios()
biosmask = 0xffff;
memset(romext,0x63,0x4000);
memset(rom, 0xff, 0x20000);
pclog("Starting with romset %i\n", romset);
@ -419,6 +420,35 @@ int loadbios()
biosmask = 0x1ffff;
//is486=1;
return 1;
case ROM_REVENGE:
f = romfopen("roms/revenge/1009AF2_.BIO", "rb");
if (!f) break;
fseek(f, 0x80, SEEK_SET);
fread(rom + 0x10000, 0x10000, 1, f);
fclose(f);
f = romfopen("roms/revenge/1009AF2_.BI1", "rb");
if (!f) break;
fseek(f, 0x80, SEEK_SET);
fread(rom, 0xc000, 1, f);
fclose(f);
biosmask = 0x1ffff;
//is486=1;
return 1;
case ROM_ENDEAVOR:
f = romfopen("roms/endeavor/1006CB0_.BIO", "rb");
if (!f) break;
fseek(f, 0x80, SEEK_SET);
fread(rom + 0x10000, 0x10000, 1, f);
fclose(f);
f = romfopen("roms/endeavor/1006CB0_.BI1", "rb");
if (!f) break;
fseek(f, 0x80, SEEK_SET);
fread(rom, 0xc000, 1, f);
fclose(f);
biosmask = 0x1ffff;
//is486=1;
return 1;
}
printf("Failed to load ROM!\n");
if (f) fclose(f);