Machine mergers and added the Olivetti PCS 44/C.
This commit is contained in:
@@ -140,6 +140,46 @@ machine_at_p65up5_cp55t2d_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t cu430hx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "cu430hx",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel CU430HX (Cumberland)", .internal_name = "cu430hx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/cu430hx/1006DK0_.BIO", "roms/machines/cu430hx/1006DK0_.BI1",
|
||||
"roms/machines/cu430hx/1006DK0_.BI2", "roms/machines/cu430hx/1006DK0_.BI3",
|
||||
"roms/machines/cu430hx/1006DK0_.RCV", "" } },
|
||||
{ .name = "Toshiba Equium 5200D", .internal_name = "equium5200", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/cu430hx/1003DK08.BIO", "roms/machines/cu430hx/1003DK08.BI1",
|
||||
"roms/machines/cu430hx/1003DK08.BI2", "roms/machines/cu430hx/1003DK08.BI3",
|
||||
"roms/machines/cu430hx/1003DK08.RCV", "" } },
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t cu430hx_device = {
|
||||
.name = "Intel CU430HX (Cumberland)",
|
||||
.internal_name = "cu430hx_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = cu430hx_config
|
||||
};
|
||||
|
||||
static void
|
||||
machine_at_cu430hx_gpio_init(void)
|
||||
{
|
||||
@@ -171,9 +211,22 @@ machine_at_cu430hx_gpio_init(void)
|
||||
machine_set_gpio_default(gpio);
|
||||
}
|
||||
|
||||
static void
|
||||
machine_at_cu430hx_common_init(const machine_t *model)
|
||||
int
|
||||
machine_at_cu430hx_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn[5];
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
for (int i = 0; i < 5; i++)
|
||||
fn[i] = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), i);
|
||||
ret = bios_load_linear_combined2(fn[0], fn[1], fn[2], fn[3], fn[4], 0x3a000, 128);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
machine_at_cu430hx_gpio_init();
|
||||
|
||||
@@ -194,28 +247,50 @@ machine_at_cu430hx_common_init(const machine_t *model)
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_cu430hx_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear_combined2("roms/machines/cu430hx/1006DK0_.BIO",
|
||||
"roms/machines/cu430hx/1006DK0_.BI1",
|
||||
"roms/machines/cu430hx/1006DK0_.BI2",
|
||||
"roms/machines/cu430hx/1006DK0_.BI3",
|
||||
"roms/machines/cu430hx/1006DK0_.RCV",
|
||||
0x3a000, 128);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_cu430hx_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t tc430hx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "tc430hx",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel TC430HX (Tucson)", .internal_name = "tc430hx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/tc430hx/1007DH0_.BIO", "roms/machines/tc430hx/1007DH0_.BI1",
|
||||
"roms/machines/tc430hx/1007DH0_.BI2", "roms/machines/tc430hx/1007DH0_.BI3",
|
||||
"roms/machines/tc430hx/1007DH0_.RCV", "" } },
|
||||
{ .name = "Toshiba Infinia 7201", .internal_name = "infinia7200", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/tc430hx/1008DH08.BIO", "roms/machines/tc430hx/1008DH08.BI1",
|
||||
"roms/machines/tc430hx/1008DH08.BI2", "roms/machines/tc430hx/1008DH08.BI3",
|
||||
"roms/machines/tc430hx/1008DH08.RCV", "" } },
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t tc430hx_device = {
|
||||
.name = "Intel TC430HX (Tucson)",
|
||||
.internal_name = "tc430hx_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = tc430hx_config
|
||||
};
|
||||
|
||||
static void
|
||||
machine_at_tc430hx_gpio_init(void)
|
||||
{
|
||||
@@ -247,18 +322,19 @@ machine_at_tc430hx_gpio_init(void)
|
||||
int
|
||||
machine_at_tc430hx_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char* fn[5];
|
||||
|
||||
ret = bios_load_linear_combined2("roms/machines/tc430hx/1007DH0_.BIO",
|
||||
"roms/machines/tc430hx/1007DH0_.BI1",
|
||||
"roms/machines/tc430hx/1007DH0_.BI2",
|
||||
"roms/machines/tc430hx/1007DH0_.BI3",
|
||||
"roms/machines/tc430hx/1007DH0_.RCV",
|
||||
0x3a000, 128);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
for (int i = 0; i < 5; i++)
|
||||
fn[i] = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), i);
|
||||
ret = bios_load_linear_combined2(fn[0], fn[1], fn[2], fn[3], fn[4], 0x3a000, 128);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
machine_at_tc430hx_gpio_init();
|
||||
|
||||
@@ -407,64 +483,6 @@ machine_at_p55t2s_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_equium5200_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear_combined2("roms/machines/equium5200/1003DK08.BIO",
|
||||
"roms/machines/equium5200/1003DK08.BI1",
|
||||
"roms/machines/equium5200/1003DK08.BI2",
|
||||
"roms/machines/equium5200/1003DK08.BI3",
|
||||
"roms/machines/equium5200/1003DK08.RCV",
|
||||
0x3a000, 128);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_cu430hx_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_infinia7200_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear_combined2("roms/machines/infinia7200/1008DH08.BIO",
|
||||
"roms/machines/infinia7200/1008DH08.BI1",
|
||||
"roms/machines/infinia7200/1008DH08.BI2",
|
||||
"roms/machines/infinia7200/1008DH08.BI3",
|
||||
"roms/machines/infinia7200/1008DH08.RCV",
|
||||
0x3a000, 128);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
machine_at_tc430hx_gpio_init();
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* i430VX */
|
||||
int
|
||||
machine_at_ap5vm_init(const machine_t *model)
|
||||
|
||||
Reference in New Issue
Block a user