Added Atari PC3 emulation. Patch from dns2k.

This commit is contained in:
SarahW 2017-09-09 11:45:02 +01:00
commit 9283d0e1b0
4 changed files with 20 additions and 0 deletions

View file

@ -428,6 +428,7 @@ enum
ROM_IBMPS2_M50,
ROM_IBMPS2_M55SX,
ROM_IBMPS2_M80,
ROM_ATARIPC3,
ROM_MAX
};

View file

@ -116,6 +116,10 @@ uint8_t keyboard_xt_read(uint16_t port, void *priv)
else
temp = 0x6D;
}
else if ((romset == ROM_ATARIPC3) && (keyboard_xt.pb & 0x80))
{
temp = 0x7f;
}
else
{
temp = keyboard_xt.pa;
@ -144,6 +148,13 @@ uint8_t keyboard_xt_read(uint16_t port, void *priv)
else
temp = ((mem_size-64) / 32) >> 4;
}
else if (romset == ROM_ATARIPC3)
{
if (keyboard_xt.pb & 0x04)
temp = 0xf;
else
temp = 4;
}
else
{
if (keyboard_xt.pb & 0x08)

View file

@ -669,6 +669,13 @@ int loadbios()
fclose(f);
biosmask = 0x1ffff;
return 1;
case ROM_ATARIPC3:
f=romfopen("ataripc3/AWARD_ATARI_PC_BIOS_3.08.BIN","rb");
if (!f) break;
fread(rom+0x8000,32768,1,f);
fclose(f);
return 1;
}
printf("Failed to load ROM!\n");
if (f) fclose(f);

View file

@ -96,6 +96,7 @@ int AMSTRAD, AT, PCI, TANDY;
MODEL models[] =
{
{"[8088] AMI XT clone", ROM_AMIXT, "amixt", { {"", cpus_8088}, {"", NULL}, {"", NULL}}, 0, 0, 64, 640, 64, xt_init, NULL},
{"[8088] Atari PC3", ROM_ATARIPC3, "ataripc3", { {"", cpus_8088}, {"", NULL}, {"", NULL}}, 0, 0, 64, 640, 64, xt_init, NULL},
{"[8088] DTK XT clone", ROM_DTKXT, "dtk", { {"", cpus_8088}, {"", NULL}, {"", NULL}}, 0, 0, 64, 640, 64, xt_init, NULL},
{"[8088] Generic XT clone", ROM_GENXT, "genxt", { {"", cpus_8088}, {"", NULL}, {"", NULL}}, 0, 0, 64, 640, 64, xt_init, NULL},
{"[8088] IBM PC", ROM_IBMPC, "ibmpc", { {"", cpus_8088}, {"", NULL}, {"", NULL}}, 0, 0, 64, 640, 32, xt_init, NULL},