diff --git a/src/ibm.h b/src/ibm.h index 6a65a2e..a869a2c 100644 --- a/src/ibm.h +++ b/src/ibm.h @@ -286,7 +286,7 @@ int driveempty[2]; #define ET4000 (gfxcard==GFX_ET4000 && VGA) #define ET4000W32 (gfxcard==GFX_ET4000W32 && VGA) #define AT (romset>=ROM_IBMAT) -#define PCI (romset >= ROM_PCI486) +#define PCI (romset >= ROM_PCI486 && romset < ROM_IBMPS1_2011) #define PCJR (romset == ROM_IBMPCJR) #define AMIBIOS (romset==ROM_AMI386 || romset==ROM_AMI486 || romset == ROM_WIN486) @@ -326,6 +326,7 @@ enum ROM_REVENGE, ROM_IBMPS1_2011, ROM_DESKPRO_386, + ROM_AMIXT, /*XT Clone with AMI BIOS*/ ROM_MAX }; diff --git a/src/mem.c b/src/mem.c index f588012..b20af86 100644 --- a/src/mem.c +++ b/src/mem.c @@ -506,6 +506,14 @@ int loadbios() biosmask = 0x7fff; mem_load_atide_bios(); return 1; + + case ROM_AMIXT: + f = romfopen("roms/amixt/AMI_8088_BIOS_31JAN89.BIN", "rb"); + if (!f) break; + fread(rom + 0xE000, 8192, 1, f); + fclose(f); + mem_load_xtide_bios(); + return 1; } printf("Failed to load ROM!\n"); if (f) fclose(f); diff --git a/src/model.c b/src/model.c index a5132ab..c197623 100644 --- a/src/model.c +++ b/src/model.c @@ -73,6 +73,7 @@ MODEL models[] = {"IBM XT", ROM_IBMXT, { "", cpus_8088, "", NULL, "", NULL}, 0, xt_init}, {"IBM PCjr", ROM_IBMPCJR, { "", cpus_pcjr, "", NULL, "", NULL}, 1, pcjr_init}, {"Generic XT clone", ROM_GENXT, { "", cpus_8088, "", NULL, "", NULL}, 0, xt_init}, + {"AMI XT clone", ROM_AMIXT, { "", cpus_8088, "", NULL, "", NULL}, 0, xt_init}, {"DTK XT clone", ROM_DTKXT, { "", cpus_8088, "", NULL, "", NULL}, 0, xt_init}, {"Tandy 1000", ROM_TANDY, { "", cpus_8088, "", NULL, "", NULL}, 1, tandy1k_init}, {"Amstrad PC1512", ROM_PC1512, { "", cpus_pc1512, "", NULL, "", NULL}, 1, ams_init},