Added the IBM Aptiva CM (Japanese PC 330).

This commit is contained in:
OBattler
2024-03-09 13:43:59 +01:00
parent cb8b6b68a7
commit 567d66b788
3 changed files with 74 additions and 11 deletions

View File

@@ -521,6 +521,7 @@ extern int machine_at_403tg_d_init(const machine_t *);
extern int machine_at_403tg_d_mr_init(const machine_t *);
extern int machine_at_pb450_init(const machine_t *);
extern int machine_at_pb450_init(const machine_t *);
extern int machine_at_aptiva_cm_init(const machine_t *);
extern int machine_at_pc330_6573_init(const machine_t *);
extern int machine_at_mvi486_init(const machine_t *);

View File

@@ -693,17 +693,9 @@ machine_at_pb450_init(const machine_t *model)
return ret;
}
int
machine_at_pc330_6573_init(const machine_t *model) /* doesn't like every CPU other than the iDX4 and the Intel OverDrive, hangs without a PS/2 mouse */
static void
machine_at_pc330_6573_common_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/pc330_6573/$IMAGES.USF",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init_ex(model, 2);
device_add(&ide_vlb_2ch_device);
@@ -718,7 +710,7 @@ machine_at_pc330_6573_init(const machine_t *model) /* doesn't like every CPU oth
pci_register_slot(0x0E, PCI_CARD_VIDEO, 13, 14, 15, 16);
if (gfxcard[0] == VID_INTERNAL)
device_add(&gd5430_onboard_vlb_device);
device_add(machine_get_vid_device(machine));
device_add(&opti602_device);
device_add(&opti802g_device);
@@ -727,6 +719,36 @@ machine_at_pc330_6573_init(const machine_t *model) /* doesn't like every CPU oth
device_add(&fdc37c665_ide_device);
device_add(&ide_opti611_vlb_device);
device_add(&intel_flash_bxt_device);
}
int
machine_at_aptiva_cm_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/aptiva_cm/$IMAGES.USF",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_pc330_6573_common_init(model);
return ret;
}
int
machine_at_pc330_6573_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/pc330_6573/$IMAGES.USF",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_pc330_6573_common_init(model);
return ret;
}

View File

@@ -7185,6 +7185,46 @@ const machine_t machines[] = {
.net_device = NULL
},
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[OPTi 802G] IBM Aptiva CM",
.internal_name = "aptiva_cm",
.type = MACHINE_TYPE_486_S3,
.chipset = MACHINE_CHIPSET_OPTI_895_802G,
.init = machine_at_aptiva_cm_init,
.p1_handler = NULL,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_SOCKET3_PC330,
.block = CPU_BLOCK_NONE,
.min_bus = 25000000,
.max_bus = 33333333,
.min_voltage = 0,
.max_voltage = 0,
.min_multi = 2.0,
.max_multi = 3.0
},
.bus_flags = MACHINE_PS2_PCI,
.flags = MACHINE_IDE | MACHINE_VIDEO | MACHINE_APM,
.ram = {
.min = 1024,
.max = 65536,
.step = 1024
},
.nvrmask = 255,
.kbc_device = NULL,
.kbc_p1 = 0xff,
.gpio = 0xffffffff,
.gpio_acpi = 0xffffffff,
.device = NULL,
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &gd5430_onboard_pci_device,
.snd_device = NULL,
.net_device = NULL
},
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[OPTi 802G] IBM PC 330 (type 6573)",
.internal_name = "pc330_6573",