This commit is contained in:
OBattler
2022-10-27 21:55:08 +02:00
72 changed files with 325 additions and 183 deletions

View File

@@ -254,10 +254,14 @@ machine_at_micronics386_init(const machine_t *model)
}
static void
machine_at_scat_init(const machine_t *model, int is_v4)
machine_at_scat_init(const machine_t *model, int is_v4, int is_ami)
{
machine_at_common_init(model);
device_add(&keyboard_at_ami_device);
if (is_ami)
device_add(&keyboard_at_ami_device);
else
device_add(&keyboard_at_device);
if (is_v4)
device_add(&scat_4_device);
@@ -289,7 +293,7 @@ machine_at_award286_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0);
machine_at_scat_init(model, 0, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -308,7 +312,7 @@ machine_at_gdc212m_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0);
machine_at_scat_init(model, 0, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -331,10 +335,7 @@ machine_at_gw286ct_init(const machine_t *model)
device_add(&f82c710_device);
machine_at_common_init(model);
device_add(&keyboard_at_device);
device_add(&scat_4_device);
machine_at_scat_init(model, 1, 0);
device_add(&ide_isa_device);
@@ -352,7 +353,7 @@ machine_at_super286tr_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0);
machine_at_scat_init(model, 0, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -371,7 +372,7 @@ machine_at_spc4200p_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0);
machine_at_scat_init(model, 0, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -391,7 +392,7 @@ machine_at_spc4216p_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 1);
machine_at_scat_init(model, 1, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -414,7 +415,7 @@ machine_at_spc4620p_init(const machine_t *model)
if (gfxcard == VID_INTERNAL)
device_add(&ati28800k_spc4620p_device);
machine_at_scat_init(model, 1);
machine_at_scat_init(model, 1, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -449,7 +450,7 @@ machine_at_deskmaster286_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0);
machine_at_scat_init(model, 0, 1);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -720,11 +721,10 @@ machine_at_mr1217_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_ide_init(model);
device_add(&ali1217_device);
device_add(&fdc_at_device);
device_add(&ide_isa_device);
device_add(&keyboard_ps2_device);
return ret;

View File

@@ -581,3 +581,19 @@ machine_xt_bw230_init(const machine_t *model)
return ret;
}
int
machine_xt_v20xt_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/v20xt/V20XTBios.bin",
0x000fe000, 8192, 0);
if (bios_only || !ret)
return ret;
machine_xt_clone_init(model);
return ret;
}

View File

@@ -1646,6 +1646,42 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
{
.name = "[V20] PC-XT",
.internal_name = "v20xt",
.type = MACHINE_TYPE_8088,
.chipset = MACHINE_CHIPSET_DISCRETE,
.init = machine_xt_v20xt_init,
.pad = 0,
.pad0 = 0,
.pad1 = MACHINE_AVAILABLE,
.pad2 = 0,
.cpu = {
.package = CPU_PKG_8088,
.block = CPU_BLOCK(CPU_8088),
.min_bus = 0,
.max_bus = 0,
.min_voltage = 0,
.max_voltage = 0,
.min_multi = 0,
.max_multi = 0
},
.bus_flags = MACHINE_PC,
.flags = MACHINE_FLAGS_NONE,
.ram = {
.min = 64,
.max = 640,
.step = 64
},
.nvrmask = 0,
.kbc = KBC_IBM_PC_XT,
.kbc_p1 = 0xff00,
.gpio = 0xffffffff,
.device = NULL,
.vid_device = NULL,
.snd_device = NULL,
.net_device = NULL
},
/* 8086 Machines */
{