Fixed CGA, Hercules, and MDA for the second time, per suggestion and code from basic2004;

Added IBM PS/2 Model 30 emulation per mainline PCem patch from dns2kv2;
Commented out the Chips & Technologies VGA 451 as it needs further work;
Added the ability to disable XTIDE;
Prepared the icon that will be used for stable builds.
This commit is contained in:
OBattler
2017-02-20 00:16:42 +01:00
parent 7dccffbb0d
commit df4b4410e6
23 changed files with 346 additions and 66 deletions

View File

@@ -55,6 +55,7 @@
#include "piix.h"
#include "pit.h"
#include "ps1.h"
#include "ps2.h"
#include "scat.h"
#include "serial.h"
#include "sis496.h"
@@ -84,6 +85,7 @@ void at_init();
void deskpro386_init();
void ps1_m2011_init();
void ps1_m2121_init();
void ps2_m30_286_init();
void at_neat_init();
void at_scat_init();
void at_acer386sx_init();
@@ -152,6 +154,7 @@ MODEL models[] =
{"IBM PS/1 model 2011", ROM_IBMPS1_2011, { "", cpus_ps1_m2011,"", NULL, "", NULL}, 1, MODEL_AT|MODEL_PS2, 1, 16, 1, ps1_m2011_init, NULL},
{"IBM PS/1 model 2121", ROM_IBMPS1_2121, { "Intel", cpus_i386SX, "AMD", cpus_Am386SX, "Cyrix", cpus_486SLC}, 1, MODEL_AT|MODEL_PS2, 1, 16, 1, ps1_m2121_init, NULL},
{"IBM PS/1 m.2121+ISA", ROM_IBMPS1_2121_ISA, { "Intel", cpus_i386DX, "AMD", cpus_Am386DX, "Cyrix", cpus_486DLC}, 1, MODEL_AT|MODEL_PS2, 1, 16, 1, ps1_m2121_init, NULL},
{"IBM PS/2 Model 30-286", ROM_IBMPS2_M30_286, { "", cpus_ps2_m30_286, "", NULL, "", NULL}, 0, MODEL_AT|MODEL_PS2, 1, 16, 1, ps2_m30_286_init, NULL},
{"Compaq Deskpro 386", ROM_DESKPRO_386, { "Intel", cpus_i386DX, "AMD", cpus_Am386DX, "Cyrix", cpus_486DLC}, 0, MODEL_AT, 1, 15, 1, deskpro386_init, NULL},
{"Acer 386SX25/N", ROM_ACER386, { "Intel", cpus_acer, "", NULL, "", NULL}, 1, MODEL_AT|MODEL_PS2, 1, 16, 1, at_acer386sx_init, NULL},
{"DTK 386SX clone", ROM_DTK386, { "Intel", cpus_i386SX, "AMD", cpus_Am386SX, "Cyrix", cpus_486SLC}, 0, MODEL_AT, 1, 16, 1, at_neat_init, NULL},
@@ -379,6 +382,22 @@ void ps1_m2121_init()
fdc_set_ps1();
}
void ps2_m30_286_init()
{
AT = 1;
common_init();
mem_add_bios();
pit_set_out_func(1, pit_refresh_timer_at);
dma16_init();
ide_init();
keyboard_at_init();
mouse_ps2_init();
nvr_init();
pic2_init();
ps2board_init();
fdc_set_dskchg_activelow();
}
void at_neat_init()
{
at_init();