Added the ASUS ISA-486C.

This commit is contained in:
OBattler
2025-05-07 07:20:54 +02:00
parent a48f9bc7ba
commit 20d04c7c08
6 changed files with 76 additions and 0 deletions

View File

@@ -39,6 +39,7 @@ add_library(chipset OBJECT
intel_i450kx.c
intel_sio.c
intel_piix.c
isa486c.c
../ioapic.c
neat.c
opti283.c

View File

@@ -158,6 +158,8 @@ postcard_init(UNUSED(const device_t *info))
postcard_port = 0x84; /* ISA Compaq machines */
else if (strstr(machines[machine].name, "Olivetti"))
postcard_port = 0x378; /* Olivetti machines */
else if (!strcmp(machines[machine].internal_name, "isa486c"))
postcard_port = 0x5080; /* ASUS ISA-486C */
else
postcard_port = 0x80; /* AT and clone machines */
postcard_log("POST card initializing on port %04Xh\n", postcard_port);

View File

@@ -37,6 +37,9 @@ extern const device_t ali6117d_device;
/* AMD */
extern const device_t amd640_device;
/* ASUS */
extern const device_t isa486c_device;
/* Compaq */
extern const device_t compaq_386_device;
extern const device_t compaq_genoa_device;

View File

@@ -508,6 +508,7 @@ extern int machine_at_pc916sx_init(const machine_t *);
sure this appear here (and in the .c file) in the order and position
in which they appear in the machine table. */
extern int machine_at_dataexpert386wb_init(const machine_t *);
extern int machine_at_isa486c_init(const machine_t *);
extern int machine_at_genoa486_init(const machine_t *);
extern int machine_at_ga486l_init(const machine_t *);
extern int machine_at_cougar_init(const machine_t *);

View File

@@ -2445,6 +2445,35 @@ machine_at_dataexpert386wb_init(const machine_t *model)
return ret;
}
int
machine_at_isa486c_init(const machine_t *model)
{
int ret;
#if 0
ret = bios_load_linear("roms/machines/isa486c/asus-isa-486c-401a0-040591-657e2c17a0218417632602.bin",
0x000f0000, 65536, 0);
#else
ret = bios_load_linear("roms/machines/isa486c/128k.bin",
0x000e0000, 131072, 0);
#endif
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&isa486c_device);
device_add(&port_92_key_device);
device_add(&keyboard_at_ami_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
int
machine_at_genoa486_init(const machine_t *model)
{

View File

@@ -5998,6 +5998,46 @@ const machine_t machines[] = {
},
/* 486 machines - Socket 1 */
/* Has Award KBC firmware. */
{
.name = "[ZyMOS Poach] ASUS ISA-486C",
.internal_name = "isa486c",
.type = MACHINE_TYPE_486,
.chipset = MACHINE_CHIPSET_ZYMOS_POACH,
.init = machine_at_isa486c_init,
.p1_handler = NULL,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_SOCKET1,
.block = CPU_BLOCK_NONE,
.min_bus = 0,
.max_bus = 0,
.min_voltage = 0,
.max_voltage = 0,
.min_multi = 0,
.max_multi = 0
},
.bus_flags = MACHINE_AT,
.flags = MACHINE_APM,
.ram = {
.min = 1024,
.max = 16384,
.step = 1024
},
.nvrmask = 127,
.kbc_device = NULL,
.kbc_p1 = 0xff,
.gpio = 0xffffffff,
.gpio_acpi = 0xffffffff,
.device = NULL,
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = NULL,
.snd_device = NULL,
.net_device = NULL
},
/* Has AMI KF KBC firmware. */
{
.name = "[ZyMOS Poach] Genoa Unknown 486",