diff --git a/src/acpi.c b/src/acpi.c index cbf7345c9..48ff9b510 100644 --- a/src/acpi.c +++ b/src/acpi.c @@ -35,6 +35,7 @@ #include <86box/pit.h> #include <86box/apm.h> #include <86box/acpi.h> +#include <86box/machine.h> #ifdef ENABLE_ACPI_LOG @@ -1156,8 +1157,14 @@ acpi_reset(void *priv) - Bit 11: ATX power (active high) - Bit 4: 80-conductor cable on primary IDE channel (active low) - Bit 3: 80-conductor cable on secondary IDE channel (active low) - - Bit 2: password cleared (active low) */ - dev->regs.gpi_val = 0xffffffe7; + - Bit 2: password cleared (active low) + AEWIN WCF-681: + - Bit 3: 80-conductor cable on primary IDE channel (active low) + - Bit 2: 80-conductor cable on secondary IDE channel (active low) + Acorp 6VIA85X: + - Bit 3: 80-conductor cable on secondary IDE channel (active low) + - Bit 1: 80-conductor cable on primary IDE channel (active low) */ + dev->regs.gpi_val = !strcmp(machines[machine].internal_name, "wcf681") ? 0xffffffe3 : 0xffffffe5; } } diff --git a/src/config.c b/src/config.c index f20e30c68..bf74de17f 100644 --- a/src/config.c +++ b/src/config.c @@ -511,12 +511,15 @@ load_machine(void) char *p; int c, i, speed, legacy_mfg, legacy_cpu; double multi; - cpu_family_t *legacy_family; p = config_get_string(cat, "machine", NULL); if (p != NULL) { - if (! strcmp(p, "8500ttc")) + if (! strcmp(p, "8500ttc")) /* fix typo */ machine = machine_get_machine_from_internal_name("8600ttc"); + else if (! strcmp(p, "president")) /* migrate removed machine */ + machine = machine_get_machine_from_internal_name("mb500n"); + else if (! strcmp(p, "j656vxd")) /* migrate removed machine */ + machine = machine_get_machine_from_internal_name("p55va"); else machine = machine_get_machine_from_internal_name(p); } else @@ -527,8 +530,7 @@ load_machine(void) /* This is for backwards compatibility. */ p = config_get_string(cat, "model", NULL); if (p != NULL) { - /* Detect the old model typos and fix them. */ - if (! strcmp(p, "p55r2p4")) + if (! strcmp(p, "p55r2p4")) /* fix typo */ machine = machine_get_machine_from_internal_name("p55t2p4"); else machine = machine_get_machine_from_internal_name(p); @@ -537,82 +539,92 @@ load_machine(void) if (machine >= machine_count()) machine = machine_count() - 1; - /* Backwards compatibility the previous CPU model system. */ - legacy_mfg = config_get_int(cat, "cpu_manufacturer", 0); - legacy_cpu = config_get_int(cat, "cpu", 0); - if (legacy_mfg || legacy_cpu) { - /* Look for a machine entry on the legacy table. */ - p = machine_get_internal_name(); - c = 0; - while (cpu_legacy_table[c].machine) { - if (!strcmp(p, cpu_legacy_table[c].machine)) - break; - c++; - } - if (cpu_legacy_table[c].machine) { - /* Look for a corresponding CPU entry. */ - i = -1; - cpu_legacy_table_t *legacy_table_entry; - do { - i++; - legacy_table_entry = (cpu_legacy_table_t *) &cpu_legacy_table[c].tables[legacy_mfg][i]; - if (legacy_cpu >= legacy_table_entry->old_offset) { - /* Found CPU entry. */ - if (!(legacy_family = cpu_get_family((char *) legacy_table_entry->family))) { - fatal("CPU family %s not found during legacy conversion\n", (char *) legacy_table_entry->family); - return; - } - config_set_string(cat, "cpu_family", (char *) legacy_family->internal_name); + cpu_f = NULL; + p = config_get_string(cat, "cpu_family", NULL); + if (p) { + cpu_f = cpu_get_family(p); - legacy_cpu -= legacy_table_entry->old_offset; - legacy_cpu += legacy_table_entry->new_offset; - config_set_int(cat, "cpu_speed", legacy_family->cpus[legacy_cpu].rspeed); - config_set_double(cat, "cpu_multi", legacy_family->cpus[legacy_cpu].multi); + if (cpu_f && !cpu_family_is_eligible(cpu_f, machine)) /* only honor eligible families */ + cpu_f = NULL; + } else { + /* Backwards compatibility with the previous CPU model system. */ + legacy_mfg = config_get_int(cat, "cpu_manufacturer", 0); + legacy_cpu = config_get_int(cat, "cpu", 0); + /* Check if either legacy ID is present, and if they are within bounds. */ + if (((legacy_mfg > 0) || (legacy_cpu > 0)) && (legacy_mfg >= 0) && (legacy_mfg < 4) && (legacy_cpu >= 0)) { + /* Look for a machine entry on the legacy table. */ + p = machine_get_internal_name(); + c = 0; + while (cpu_legacy_table[c].machine) { + if (!strcmp(p, cpu_legacy_table[c].machine)) break; + c++; + } + if (cpu_legacy_table[c].machine) { + /* Determine the amount of CPU entries on the table. */ + i = -1; + while (cpu_legacy_table[c].tables[legacy_mfg][++i].family); + + /* If the CPU ID is out of bounds, reset to the last known ID. */ + if (legacy_cpu >= i) + legacy_cpu = i - 1; + + const cpu_legacy_table_t *legacy_table_entry = &cpu_legacy_table[c].tables[legacy_mfg][legacy_cpu]; + + /* Check if the referenced family exists. */ + cpu_f = cpu_get_family(legacy_table_entry->family); + if (cpu_f) { + /* Save the new values. */ + config_set_string(cat, "cpu_family", (char *) legacy_table_entry->family); + config_set_int(cat, "cpu_speed", legacy_table_entry->rspeed); + config_set_double(cat, "cpu_multi", legacy_table_entry->multi); } - } while (cpu_legacy_table[c].tables[legacy_mfg][i].old_offset); + } } } - /* Current CPU model system. */ - cpu_f = NULL; - p = config_get_string(cat, "cpu_family", NULL); - if (p) - cpu_f = cpu_get_family(p); if (cpu_f) { speed = config_get_int(cat, "cpu_speed", 0); multi = config_get_double(cat, "cpu_multi", 0); + + /* Find the configured CPU. */ + cpu = 0; c = 0; - while (cpu_f->cpus[c].cpu_type != -1) { - if ((cpu_f->cpus[c].rspeed == speed) && (cpu_f->cpus[c].multi == multi)) - break; - c++; + i = 256; + while (cpu_f->cpus[cpu].cpu_type) { + if (cpu_is_eligible(cpu_f, cpu, machine)) { /* skip ineligible CPUs */ + if ((cpu_f->cpus[cpu].rspeed == speed) && (cpu_f->cpus[cpu].multi == multi)) /* exact speed/multiplier match */ + break; + else if ((cpu_f->cpus[cpu].rspeed >= speed) && (i == 256)) /* closest speed match */ + i = cpu; + c = cpu; /* store fastest eligible CPU */ + } + cpu++; } - if (cpu_f->cpus[c].cpu_type == -1) - c = 0; - cpu = c; - cpu_s = (CPU *) &cpu_f->cpus[cpu]; - } else { + if (!cpu_f->cpus[cpu].cpu_type) /* if no exact match was found, use closest matching faster CPU, or fastest eligible CPU */ + cpu = MIN(i, c); + } else { /* default */ + /* Find first eligible family. */ c = 0; while (!cpu_family_is_eligible(&cpu_families[c], machine)) { - if (cpu_families[c++].package == 0) { + if (cpu_families[c++].package == 0) { /* end of list */ fatal("No eligible CPU families for the selected machine\n"); return; } } - cpu_f = &cpu_families[c]; + cpu_f = (cpu_family_t *) &cpu_families[c]; - c = 0; - while (!cpu_is_eligible(cpu_f, c, machine)) { - if (cpu_f->cpus[c++].cpu_type == 0) { - fatal("No eligible CPUs for the default CPU family for the selected machine\n"); - return; + /* Find first eligible CPU in that family. */ + cpu = 0; + while (!cpu_is_eligible(cpu_f, cpu, machine)) { + if (cpu_f->cpus[cpu++].cpu_type == 0) { /* end of list */ + cpu = 0; + break; } } - cpu = c; - cpu_s = (CPU *) &cpu_f->cpus[cpu]; } + cpu_s = (CPU *) &cpu_f->cpus[cpu]; cpu_waitstates = config_get_int(cat, "cpu_waitstates", 0); @@ -1581,7 +1593,7 @@ config_load(void) memset(zip_drives, 0, sizeof(zip_drive_t)); if (! config_read(cfg_path)) { - cpu_f = &cpu_families[0]; + cpu_f = (cpu_family_t *) &cpu_families[0]; cpu = 0; #ifdef USE_LANGUAGE plat_langid = 0x0409; @@ -1766,16 +1778,68 @@ static void save_machine(void) { char *cat = "Machine"; + char *p; + int c, i = 0, legacy_mfg, legacy_cpu = -1, closest_legacy_cpu = -1; - config_set_string(cat, "machine", machine_get_internal_name()); + p = machine_get_internal_name(); + config_set_string(cat, "machine", p); config_set_string(cat, "cpu_family", (char *) cpu_f->internal_name); config_set_int(cat, "cpu_speed", cpu_f->cpus[cpu].rspeed); config_set_double(cat, "cpu_multi", cpu_f->cpus[cpu].multi); + /* Forwards compatibility with the previous CPU model system. */ config_delete_var(cat, "cpu_manufacturer"); config_delete_var(cat, "cpu"); + /* Look for a machine entry on the legacy table. */ + c = 0; + while (cpu_legacy_table[c].machine) { + if (!strcmp(p, cpu_legacy_table[c].machine)) + break; + c++; + } + if (cpu_legacy_table[c].machine) { + /* Look for a corresponding CPU entry. */ + cpu_legacy_table_t *legacy_table_entry; + for (legacy_mfg = 0; legacy_mfg < 4; legacy_mfg++) { + if (!cpu_legacy_table[c].tables[legacy_mfg]) + continue; + + i = 0; + do { + legacy_table_entry = (cpu_legacy_table_t *) &cpu_legacy_table[c].tables[legacy_mfg][i]; + + /* Match the family name, speed and multiplier. */ + if (!strcmp(cpu_f->internal_name, legacy_table_entry->family)) { + if ((legacy_table_entry->rspeed == cpu_f->cpus[cpu].rspeed) && + (legacy_table_entry->multi == cpu_f->cpus[cpu].multi)) { /* exact speed/multiplier match */ + legacy_cpu = i; + break; + } else if ((legacy_table_entry->rspeed >= cpu_f->cpus[cpu].rspeed) && + (closest_legacy_cpu == -1)) { /* closest speed match */ + closest_legacy_cpu = i; + } + } + } while (cpu_legacy_table[c].tables[legacy_mfg][++i].family); + + /* Use the closest speed match if no exact match was found. */ + if ((legacy_cpu == -1) && (closest_legacy_cpu > -1)) { + legacy_cpu = closest_legacy_cpu; + break; + } else if (legacy_cpu > -1) /* exact match found */ + break; + } + + /* Set legacy values if a match was found. */ + if (legacy_cpu > -1) { + if (legacy_mfg) + config_set_int(cat, "cpu_manufacturer", legacy_mfg); + if (legacy_cpu) + config_set_int(cat, "cpu", legacy_cpu); + } + } + if (cpu_waitstates == 0) config_delete_var(cat, "cpu_waitstates"); else diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index a74c91ca3..d434b4e29 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -315,12 +315,12 @@ cpu_set_edx(void) } cpu_family_t * -cpu_get_family(char *internal_name) +cpu_get_family(const char *internal_name) { int c = 0; while (cpu_families[c].package) { if (!strcmp(internal_name, cpu_families[c].internal_name)) - return &cpu_families[c]; + return (cpu_family_t *) &cpu_families[c]; c++; } @@ -329,7 +329,7 @@ cpu_get_family(char *internal_name) uint8_t -cpu_is_eligible(cpu_family_t *cpu_family, int cpu, int machine) +cpu_is_eligible(const cpu_family_t *cpu_family, int cpu, int machine) { /* Get machine. */ const machine_t *machine_s = &machines[machine]; @@ -357,19 +357,23 @@ cpu_is_eligible(cpu_family_t *cpu_family, int cpu, int machine) if (machine_s->cpu_max_bus && (bus_speed > (machine_s->cpu_max_bus + 840907))) /* maximum bus speed with ~0.84 MHz (for 8086) tolerance */ return 0; - if (machine_s->cpu_min_voltage && (cpu_s->voltage < (machine_s->cpu_min_voltage - 10))) /* minimum voltage with 10 mV tolerance */ + if (machine_s->cpu_min_voltage && (cpu_s->voltage < (machine_s->cpu_min_voltage - 100))) /* minimum voltage with 0.1V tolerance */ return 0; - if (machine_s->cpu_max_voltage && (cpu_s->voltage > (machine_s->cpu_max_voltage + 10))) /* maximum voltage with 10 mV tolerance */ + if (machine_s->cpu_max_voltage && (cpu_s->voltage > (machine_s->cpu_max_voltage + 100))) /* maximum voltage with 0.1V tolerance */ return 0; - /* Account for CPUs that use a different multiplier than specified by jumpers. */ + /* Account for CPUs that use a different internal multiplier than specified by jumpers. */ double multi = cpu_s->multi; - if (cpu_family->package & CPU_PKG_SOCKET5_7) { + if (cpu_s->cpu_flags & CPU_FIXED_MULTIPLIER) { + multi = machine_s->cpu_min_multi; + } else if (cpu_family->package & CPU_PKG_SOCKET5_7) { if (multi == 1.75) /* K5 */ multi = 2.5; else if ((multi == 2.0) && (cpu_s->cpu_type & CPU_5K86)) /* K5 */ multi = 3.0; + else if ((multi == 2.0) && (cpu_s->cpu_type & (CPU_K6_2P | CPU_K6_3P))) /* K6-2+ / K6-3+ */ + multi = 2.5; else if (multi == (7.0 / 3.0)) /* WinChip 2A */ multi = 5.0; else if (multi == (8.0 / 3.0)) /* WinChip 2A */ @@ -399,7 +403,7 @@ cpu_is_eligible(cpu_family_t *cpu_family, int cpu, int machine) uint8_t -cpu_family_is_eligible(cpu_family_t *cpu_family, int machine) +cpu_family_is_eligible(const cpu_family_t *cpu_family, int machine) { int c = 0; @@ -413,7 +417,7 @@ cpu_family_is_eligible(cpu_family_t *cpu_family, int machine) } -int fpu_get_type(cpu_family_t *cpu_family, int cpu, const char *internal_name) +int fpu_get_type(const cpu_family_t *cpu_family, int cpu, const char *internal_name) { const CPU *cpu_s = &cpu_family->cpus[cpu]; const FPU *fpus = cpu_s->fpus; @@ -430,7 +434,7 @@ int fpu_get_type(cpu_family_t *cpu_family, int cpu, const char *internal_name) return fpu_type; } -const char *fpu_get_internal_name(cpu_family_t *cpu_family, int cpu, int type) +const char *fpu_get_internal_name(const cpu_family_t *cpu_family, int cpu, int type) { const CPU *cpu_s = &cpu_family->cpus[cpu]; const FPU *fpus = cpu_s->fpus; @@ -446,7 +450,7 @@ const char *fpu_get_internal_name(cpu_family_t *cpu_family, int cpu, int type) return fpus[0].internal_name; } -const char *fpu_get_name_from_index(cpu_family_t *cpu_family, int cpu, int c) +const char *fpu_get_name_from_index(const cpu_family_t *cpu_family, int cpu, int c) { const CPU *cpu_s = &cpu_family->cpus[cpu]; const FPU *fpus = cpu_s->fpus; @@ -454,7 +458,7 @@ const char *fpu_get_name_from_index(cpu_family_t *cpu_family, int cpu, int c) return fpus[c].name; } -int fpu_get_type_from_index(cpu_family_t *cpu_family, int cpu, int c) +int fpu_get_type_from_index(const cpu_family_t *cpu_family, int cpu, int c) { const CPU *cpu_s = &cpu_family->cpus[cpu]; const FPU *fpus = cpu_s->fpus; diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index 2b8395be0..bb89d53ca 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -101,13 +101,14 @@ enum { CPU_PKG_486DLC = (1 << 11), CPU_PKG_SOCKET1 = (1 << 12), CPU_PKG_SOCKET3 = (1 << 13), - CPU_PKG_STPC = (1 << 14), - CPU_PKG_SOCKET4 = (1 << 15), - CPU_PKG_SOCKET5_7 = (1 << 16), - CPU_PKG_SOCKET8 = (1 << 17), - CPU_PKG_SLOT1 = (1 << 18), - CPU_PKG_SLOT2 = (1 << 19), - CPU_PKG_SOCKET370 = (1 << 20) + CPU_PKG_SOCKET3_PC330 = (1 << 14), + CPU_PKG_STPC = (1 << 15), + CPU_PKG_SOCKET4 = (1 << 16), + CPU_PKG_SOCKET5_7 = (1 << 17), + CPU_PKG_SOCKET8 = (1 << 18), + CPU_PKG_SLOT1 = (1 << 19), + CPU_PKG_SLOT2 = (1 << 20), + CPU_PKG_SOCKET370 = (1 << 21) }; @@ -120,6 +121,7 @@ enum { #define CPU_SUPPORTS_DYNAREC 1 #define CPU_REQUIRES_DYNAREC 2 #define CPU_ALTERNATE_XTAL 4 +#define CPU_FIXED_MULTIPLIER 8 #if (defined __amd64__ || defined _M_X64) #define LOOKUP_INV -1LL @@ -160,13 +162,13 @@ typedef struct { typedef struct { const char *family; - const int old_offset; - const int new_offset; + const int rspeed; + const double multi; } cpu_legacy_table_t; typedef struct { const char *machine; - const cpu_legacy_table_t *tables[5]; + const cpu_legacy_table_t **tables; } cpu_legacy_machine_t; @@ -369,8 +371,8 @@ COMPILE_TIME_ASSERT(sizeof(cpu_state_t) <= 128) /* Global variables. */ -extern cpu_family_t cpu_families[]; -extern cpu_legacy_machine_t cpu_legacy_table[]; +extern const cpu_family_t cpu_families[]; +extern const cpu_legacy_machine_t cpu_legacy_table[]; extern cpu_family_t *cpu_f; extern CPU *cpu_s; @@ -573,13 +575,13 @@ extern int sysexit(uint32_t fetchdat); extern int syscall(uint32_t fetchdat); extern int sysret(uint32_t fetchdat); -extern cpu_family_t *cpu_get_family(char *internal_name); -extern uint8_t cpu_is_eligible(cpu_family_t *cpu_family, int cpu, int machine); -extern uint8_t cpu_family_is_eligible(cpu_family_t *cpu_family, int machine); -extern int fpu_get_type(cpu_family_t *cpu_family, int cpu, const char *internal_name); -extern const char *fpu_get_internal_name(cpu_family_t *cpu_family, int cpu, int type); -extern const char *fpu_get_name_from_index(cpu_family_t *cpu_family, int cpu, int c); -extern int fpu_get_type_from_index(cpu_family_t *cpu_family, int cpu, int c); +extern cpu_family_t *cpu_get_family(const char *internal_name); +extern uint8_t cpu_is_eligible(const cpu_family_t *cpu_family, int cpu, int machine); +extern uint8_t cpu_family_is_eligible(const cpu_family_t *cpu_family, int machine); +extern int fpu_get_type(const cpu_family_t *cpu_family, int cpu, const char *internal_name); +extern const char *fpu_get_internal_name(const cpu_family_t *cpu_family, int cpu, int type); +extern const char *fpu_get_name_from_index(const cpu_family_t *cpu_family, int cpu, int c); +extern int fpu_get_type_from_index(const cpu_family_t *cpu_family, int cpu, int c); void cyrix_load_seg_descriptor(uint32_t addr, x86seg *seg); void cyrix_write_seg_descriptor(uint32_t addr, x86seg *seg); diff --git a/src/cpu/cpu_table.c b/src/cpu/cpu_table.c index 0cc536b95..92ceb1bb8 100644 --- a/src/cpu/cpu_table.c +++ b/src/cpu/cpu_table.c @@ -67,7 +67,7 @@ FPU fpus_internal[] = }; -cpu_family_t cpu_families[] = { +const cpu_family_t cpu_families[] = { { .package = CPU_PKG_8088, /* pcjr = only 4.77 */ .manufacturer = "Intel", @@ -205,7 +205,7 @@ cpu_family_t cpu_families[] = { .cpus = { {"16", CPU_IBM386SLC, fpus_80386, 16000000, 1, 5000, 0xA301, 0, 0, 0, 3,3,3,3, 2}, {"20", CPU_IBM386SLC, fpus_80386, 20000000, 1, 5000, 0xA301, 0, 0, 0, 4,4,3,3, 3}, - {"25", CPU_IBM386SLC, fpus_80386, 25000000, 1, 5000, 0xA301, 0, 0, 0, 4,4,3,3, 3}, + {"25", CPU_IBM386SLC, fpus_80386, 25000000, 1, 5000, 0xA301, 0, 0, 0, 4,4,3,3, 3}, {"", 0} } }, { @@ -258,14 +258,14 @@ cpu_family_t cpu_families[] = { .cpus = { {"60", CPU_IBM486SLC, fpus_80386, 60000000, 3, 5000, 0xA439, 0, 0, 0, 12,12,9,9, 7}, {"75", CPU_IBM486SLC, fpus_80386, 75000000, 3, 5000, 0xA439, 0, 0, 0, 12,12,9,9, 9}, - {"100", CPU_IBM486SLC, fpus_80386, 100000000, 3, 5000, 0xA439, 0, 0, 0, 18,18,9,9, 12}, + {"100", CPU_IBM486SLC, fpus_80386, 100000000, 3, 5000, 0xA439, 0, 0, 0, 18,18,9,9, 12}, {"", 0} } }, { .package = CPU_PKG_486BL, .manufacturer = "IBM", .name = "486BL2", - .internal_name = "486bl2", + .internal_name = "ibm486bl2", .cpus = { {"50", CPU_IBM486BL, fpus_80386, 50000000, 2, 5000, 0xA439, 0, 0, 0, 8,8,6,6, 6}, {"66", CPU_IBM486BL, fpus_80386, 66666666, 2, 5000, 0xA439, 0, 0, 0, 12,12,6,6, 8}, @@ -275,10 +275,10 @@ cpu_family_t cpu_families[] = { .package = CPU_PKG_486BL, .manufacturer = "IBM", .name = "486BL3", - .internal_name = "486bl3", + .internal_name = "ibm486bl3", .cpus = { {"75", CPU_IBM486BL, fpus_80386, 75000000, 3, 5000, 0xA439, 0, 0, 0, 12,12,9,9, 9}, - {"100", CPU_IBM486BL, fpus_80386, 100000000, 3, 5000, 0xA439, 0, 0, 0, 18,18,9,9, 12}, + {"100", CPU_IBM486BL, fpus_80386, 100000000, 3, 5000, 0xA439, 0, 0, 0, 18,18,9,9, 12}, {"", 0} } }, { @@ -349,13 +349,23 @@ cpu_family_t cpu_families[] = { {"", 0} } }, { - .package = CPU_PKG_SOCKET3, + .package = CPU_PKG_SOCKET3_PC330, + .manufacturer = "Intel", + .name = "i486DX2", + .internal_name = "i486dx2_pc330", + .cpus = { + {"50", CPU_i486DX2, fpus_internal, 50000000, 2, 5000, 0x470, 0x470, 0, CPU_SUPPORTS_DYNAREC, 8, 8,6,6, 6}, + {"66", CPU_i486DX2, fpus_internal, 66666666, 2, 5000, 0x470, 0x470, 0, CPU_SUPPORTS_DYNAREC, 12,12,6,6, 8}, + {"", 0} + } + }, { + .package = CPU_PKG_SOCKET3 | CPU_PKG_SOCKET3_PC330, .manufacturer = "Intel", .name = "iDX4", .internal_name = "idx4", .cpus = { - {"75", CPU_iDX4, fpus_internal, 75000000, 3.0, 5000, 0x480, 0x480, 0x0000, CPU_SUPPORTS_DYNAREC, 12,12, 9, 9, 9}, /*CPUID available on DX4, >= 75 MHz*/ - {"100", CPU_iDX4, fpus_internal, 100000000, 3.0, 5000, 0x483, 0x483, 0x0000, CPU_SUPPORTS_DYNAREC, 18,18, 9, 9, 12}, /*Is on some real Intel DX2s, limit here is pretty arbitary*/ + {"75", CPU_iDX4, fpus_internal, 75000000, 3.0, 5000, 0x480, 0x480, 0x0000, CPU_SUPPORTS_DYNAREC, 12,12, 9, 9, 9}, /*CPUID available on DX4, >= 75 MHz*/ + {"100", CPU_iDX4, fpus_internal, 100000000, 3.0, 5000, 0x483, 0x483, 0x0000, CPU_SUPPORTS_DYNAREC, 18,18, 9, 9, 12}, /*Is on some real Intel DX2s, limit here is pretty arbitary*/ {"", 0} } }, { @@ -369,10 +379,10 @@ cpu_family_t cpu_families[] = { {"", 0} } }, { - .package = CPU_PKG_SOCKET3, /* PC330 = only DX2/50, DX2/66, DX4/75, DX4/100, POD63 and POD83 */ + .package = CPU_PKG_SOCKET3 | CPU_PKG_SOCKET3_PC330, .manufacturer = "Intel", .name = "Pentium OverDrive", - .internal_name = "pentium_od_s3", + .internal_name = "pentium_p24t", .cpus = { {"63", CPU_P24T, fpus_internal, 62500000, 2.5, 5000, 0x1531, 0x1531, 0x0000, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 10,10,7,7, 15/2}, {"83", CPU_P24T, fpus_internal, 83333333, 2.5, 5000, 0x1532, 0x1532, 0x0000, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15,8,8, 10}, @@ -524,20 +534,20 @@ cpu_family_t cpu_families[] = { .name = "Pentium", .internal_name = "pentium_p5", .cpus = { - {"50 (Q0399)", CPU_PENTIUM, fpus_internal, 50000000, 1, 5000, 0x513, 0x513, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 4, 4,3,3, 6}, - {"60", CPU_PENTIUM, fpus_internal, 60000000, 1, 5000, 0x517, 0x517, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 6, 6,3,3, 7}, - {"66", CPU_PENTIUM, fpus_internal, 66666666, 1, 5000, 0x517, 0x517, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 6, 6,3,3, 8}, + {"50 (Q0399)", CPU_PENTIUM, fpus_internal, 50000000, 1, 5000, 0x513, 0x513, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 4, 4,3,3, 6}, + {"60", CPU_PENTIUM, fpus_internal, 60000000, 1, 5000, 0x517, 0x517, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 6, 6,3,3, 7}, + {"66", CPU_PENTIUM, fpus_internal, 66666666, 1, 5000, 0x517, 0x517, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 6, 6,3,3, 8}, {"", 0} } }, { .package = CPU_PKG_SOCKET4, .manufacturer = "Intel", .name = "Pentium OverDrive", - .internal_name = "pentium_od_s4", + .internal_name = "pentium_p54c_od5v", .cpus = { - {"100", CPU_PENTIUM, fpus_internal, 100000000, 2, 5000, 0x51A, 0x51A, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 8, 8,6,6, 12}, - {"120", CPU_PENTIUM, fpus_internal, 120000000, 2, 5000, 0x51A, 0x51A, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 12,12,6,6, 14}, - {"133", CPU_PENTIUM, fpus_internal, 133333333, 2, 5000, 0x51A, 0x51A, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 12,12,6,6, 16}, + {"100", CPU_PENTIUM, fpus_internal, 100000000, 2, 5000, 0x51A, 0x51A, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 8, 8,6,6, 12}, + {"120", CPU_PENTIUM, fpus_internal, 120000000, 2, 5000, 0x51A, 0x51A, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 12,12,6,6, 14}, + {"133", CPU_PENTIUM, fpus_internal, 133333333, 2, 5000, 0x51A, 0x51A, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 12,12,6,6, 16}, {"", 0} } }, { @@ -588,25 +598,25 @@ cpu_family_t cpu_families[] = { .package = CPU_PKG_SOCKET5_7, .manufacturer = "Intel", .name = "Pentium OverDrive", - .internal_name = "pentium_od_s5", + .internal_name = "pentium_p54c_od3v", .cpus = { - {"125", CPU_PENTIUM, fpus_internal, 125000000, 3.0, 3520, 0x52c, 0x52c, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 12,12,7,7, 16}, - {"150", CPU_PENTIUM, fpus_internal, 150000000, 2.5, 3520, 0x52c, 0x52c, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15,7,7, 35/2}, - {"166", CPU_PENTIUM, fpus_internal, 166666666, 2.5, 3520, 0x52c, 0x52c, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15,7,7, 40}, + {"125", CPU_PENTIUM, fpus_internal, 125000000, 3.0, 3520, 0x52c, 0x52c, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 12,12,7,7, 16}, + {"150", CPU_PENTIUM, fpus_internal, 150000000, 2.5, 3520, 0x52c, 0x52c, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 15,15,7,7, 35/2}, + {"166", CPU_PENTIUM, fpus_internal, 166666666, 2.5, 3520, 0x52c, 0x52c, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 15,15,7,7, 40}, {"", 0} } }, { .package = CPU_PKG_SOCKET5_7, .manufacturer = "Intel", .name = "Pentium OverDrive MMX", - .internal_name = "pentium_od_p55c", + .internal_name = "pentium_p55c_od", .cpus = { - {"75", CPU_PENTIUMMMX, fpus_internal, 75000000, 1.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 7, 7,4,4, 9}, - {"125", CPU_PENTIUMMMX, fpus_internal, 125000000, 2.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 12,12,7,7, 15}, - {"150/60", CPU_PENTIUMMMX, fpus_internal, 150000000, 2.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15,7,7, 35/2}, - {"166", CPU_PENTIUMMMX, fpus_internal, 166000000, 2.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15,7,7, 20}, - {"180", CPU_PENTIUMMMX, fpus_internal, 180000000, 3.0, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 18,18,9,9, 21}, - {"200", CPU_PENTIUMMMX, fpus_internal, 200000000, 3.0, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 18,18,9,9, 24}, + {"75", CPU_PENTIUMMMX, fpus_internal, 75000000, 1.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 7, 7,4,4, 9}, + {"125", CPU_PENTIUMMMX, fpus_internal, 125000000, 2.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 12,12,7,7, 15}, + {"150/60", CPU_PENTIUMMMX, fpus_internal, 150000000, 2.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 15,15,7,7, 35/2}, + {"166", CPU_PENTIUMMMX, fpus_internal, 166000000, 2.5, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 15,15,7,7, 20}, + {"180", CPU_PENTIUMMMX, fpus_internal, 180000000, 3.0, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 18,18,9,9, 21}, + {"200", CPU_PENTIUMMMX, fpus_internal, 200000000, 3.0, 3520, 0x1542, 0x1542, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 18,18,9,9, 24}, {"", 0} } }, { @@ -841,18 +851,18 @@ cpu_family_t cpu_families[] = { .name = "Pentium II OverDrive", .internal_name = "pentium2_od", .cpus = { - {"50", CPU_PENTIUM2D, fpus_internal, 50000000, 1.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 4, 4, 3, 3, 6}, - {"60", CPU_PENTIUM2D, fpus_internal, 60000000, 1.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 6, 6, 3, 3, 7}, - {"66", CPU_PENTIUM2D, fpus_internal, 66666666, 1.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 6, 6, 3, 3, 8}, - {"75", CPU_PENTIUM2D, fpus_internal, 75000000, 1.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 7, 7, 4, 4, 9}, - {"210", CPU_PENTIUM2D, fpus_internal, 210000000, 3.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 17,17, 7, 7, 25}, - {"233", CPU_PENTIUM2D, fpus_internal, 233333333, 3.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 21,21,10,10, 28}, - {"240", CPU_PENTIUM2D, fpus_internal, 240000000, 4.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 24,24,12,12, 29}, - {"266", CPU_PENTIUM2D, fpus_internal, 266666666, 4.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 24,24,12,12, 32}, - {"270", CPU_PENTIUM2D, fpus_internal, 270000000, 4.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 25,25,12,12, 33}, - {"300/66", CPU_PENTIUM2D, fpus_internal, 300000000, 4.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 25,25,12,12, 36}, - {"300/60", CPU_PENTIUM2D, fpus_internal, 300000000, 5.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 27,27,13,13, 36}, - {"333", CPU_PENTIUM2D, fpus_internal, 333333333, 5.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 27,27,13,13, 40}, + {"50", CPU_PENTIUM2D, fpus_internal, 50000000, 1.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 4, 4, 3, 3, 6}, + {"60", CPU_PENTIUM2D, fpus_internal, 60000000, 1.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 6, 6, 3, 3, 7}, + {"66", CPU_PENTIUM2D, fpus_internal, 66666666, 1.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 6, 6, 3, 3, 8}, + {"75", CPU_PENTIUM2D, fpus_internal, 75000000, 1.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 7, 7, 4, 4, 9}, + {"210", CPU_PENTIUM2D, fpus_internal, 210000000, 3.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 17,17, 7, 7, 25}, + {"233", CPU_PENTIUM2D, fpus_internal, 233333333, 3.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 21,21,10,10, 28}, + {"240", CPU_PENTIUM2D, fpus_internal, 240000000, 4.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 24,24,12,12, 29}, + {"266", CPU_PENTIUM2D, fpus_internal, 266666666, 4.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 24,24,12,12, 32}, + {"270", CPU_PENTIUM2D, fpus_internal, 270000000, 4.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 25,25,12,12, 33}, + {"300/66", CPU_PENTIUM2D, fpus_internal, 300000000, 4.5, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 25,25,12,12, 36}, + {"300/60", CPU_PENTIUM2D, fpus_internal, 300000000, 5.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 27,27,13,13, 36}, + {"333", CPU_PENTIUM2D, fpus_internal, 333333333, 5.0, 3300, 0x1632, 0x1632, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 27,27,13,13, 40}, {"", 0} } }, { @@ -908,18 +918,18 @@ cpu_family_t cpu_families[] = { .name = "Celeron (Mendocino)", .internal_name = "celeron_mendocino", .cpus = { - {"66", CPU_PENTIUM2D, fpus_internal, 66666666, 1.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 6, 6, 3, 3, 8}, - {"100", CPU_PENTIUM2D, fpus_internal, 100000000, 1.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 10,10, 6, 6, 12}, - {"133", CPU_PENTIUM2D, fpus_internal, 133333333, 2.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 12,12, 6, 6, 16}, - {"166", CPU_PENTIUM2D, fpus_internal, 166666666, 2.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15, 7, 7, 20}, - {"300/66", CPU_PENTIUM2D, fpus_internal, 300000000, 4.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 25,25,12,12, 36}, - {"333", CPU_PENTIUM2D, fpus_internal, 333333333, 5.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 27,27,13,13, 40}, - {"366", CPU_PENTIUM2D, fpus_internal, 366666666, 5.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 33,33,17,17, 44}, - {"400", CPU_PENTIUM2D, fpus_internal, 400000000, 6.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 36,36,12,12, 48}, - {"433", CPU_PENTIUM2D, fpus_internal, 433333333, 6.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 39,39,13,13, 51}, - {"466", CPU_PENTIUM2D, fpus_internal, 466666666, 7.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 42,42,14,14, 56}, - {"500", CPU_PENTIUM2D, fpus_internal, 500000000, 7.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 45,45,15,15, 60}, - {"533", CPU_PENTIUM2D, fpus_internal, 533333333, 8.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 48,48,17,17, 64}, + {"66", CPU_PENTIUM2D, fpus_internal, 66666666, 1.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 6, 6, 3, 3, 8}, + {"100", CPU_PENTIUM2D, fpus_internal, 100000000, 1.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 10,10, 6, 6, 12}, + {"133", CPU_PENTIUM2D, fpus_internal, 133333333, 2.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 12,12, 6, 6, 16}, + {"166", CPU_PENTIUM2D, fpus_internal, 166666666, 2.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 15,15, 7, 7, 20}, + {"300/66", CPU_PENTIUM2D, fpus_internal, 300000000, 4.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 25,25,12,12, 36}, + {"333", CPU_PENTIUM2D, fpus_internal, 333333333, 5.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 27,27,13,13, 40}, + {"366", CPU_PENTIUM2D, fpus_internal, 366666666, 5.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 33,33,17,17, 44}, + {"400", CPU_PENTIUM2D, fpus_internal, 400000000, 6.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 36,36,12,12, 48}, + {"433", CPU_PENTIUM2D, fpus_internal, 433333333, 6.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 39,39,13,13, 51}, + {"466", CPU_PENTIUM2D, fpus_internal, 466666666, 7.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 42,42,14,14, 56}, + {"500", CPU_PENTIUM2D, fpus_internal, 500000000, 7.5, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 45,45,15,15, 60}, + {"533", CPU_PENTIUM2D, fpus_internal, 533333333, 8.0, 2050, 0x665, 0x665, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC | CPU_FIXED_MULTIPLIER, 48,48,17,17, 64}, {"", 0} } }, { @@ -928,19 +938,19 @@ cpu_family_t cpu_families[] = { .name = "Cyrix III", .internal_name = "c3_samuel", .cpus = { - {"66", CPU_CYRIX3S, fpus_internal, 66666666, 1.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 6, 6, 3, 3, 8}, /*66 MHz version*/ - {"233", CPU_CYRIX3S, fpus_internal, 233333333, 3.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 21, 21, 9, 9, 28}, - {"266", CPU_CYRIX3S, fpus_internal, 266666666, 4.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 24, 24, 12, 12, 32}, - {"300", CPU_CYRIX3S, fpus_internal, 300000000, 4.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 27, 27, 13, 13, 36}, - {"333", CPU_CYRIX3S, fpus_internal, 333333333, 5.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 30, 30, 15, 15, 40}, - {"350", CPU_CYRIX3S, fpus_internal, 350000000, 3.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 32, 32, 11, 11, 42}, - {"400", CPU_CYRIX3S, fpus_internal, 400000000, 4.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 36, 36, 12, 12, 48}, - {"450", CPU_CYRIX3S, fpus_internal, 450000000, 4.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 41, 41, 14, 14, 54}, /*^ is lower P2 speeds to allow emulation below 466 mhz*/ - {"500", CPU_CYRIX3S, fpus_internal, 500000000, 5.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC, 45, 45, 15, 15, 60}, - {"550", CPU_CYRIX3S, fpus_internal, 550000000, 5.5, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC, 50, 50, 17, 17, 66}, - {"600", CPU_CYRIX3S, fpus_internal, 600000000, 6.0, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC, 54, 54, 18, 18, 72}, - {"650", CPU_CYRIX3S, fpus_internal, 650000000, 6.5, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC, 58, 58, 20, 20, 78}, - {"700", CPU_CYRIX3S, fpus_internal, 700000000, 7.0, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC, 62, 62, 21, 21, 84}, + {"66", CPU_CYRIX3S, fpus_internal, 66666666, 1.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 6, 6, 3, 3, 8}, /*66 MHz version*/ + {"233", CPU_CYRIX3S, fpus_internal, 233333333, 3.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 21, 21, 9, 9, 28}, + {"266", CPU_CYRIX3S, fpus_internal, 266666666, 4.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 24, 24, 12, 12, 32}, + {"300", CPU_CYRIX3S, fpus_internal, 300000000, 4.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 27, 27, 13, 13, 36}, + {"333", CPU_CYRIX3S, fpus_internal, 333333333, 5.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 30, 30, 15, 15, 40}, + {"350", CPU_CYRIX3S, fpus_internal, 350000000, 3.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 32, 32, 11, 11, 42}, + {"400", CPU_CYRIX3S, fpus_internal, 400000000, 4.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 36, 36, 12, 12, 48}, + {"450", CPU_CYRIX3S, fpus_internal, 450000000, 4.5, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 41, 41, 14, 14, 54}, /*^ is lower P2 speeds to allow emulation below 466 mhz*/ + {"500", CPU_CYRIX3S, fpus_internal, 500000000, 5.0, 2050, 0x660, 0x660, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 45, 45, 15, 15, 60}, + {"550", CPU_CYRIX3S, fpus_internal, 550000000, 5.5, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 50, 50, 17, 17, 66}, + {"600", CPU_CYRIX3S, fpus_internal, 600000000, 6.0, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 54, 54, 18, 18, 72}, + {"650", CPU_CYRIX3S, fpus_internal, 650000000, 6.5, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 58, 58, 20, 20, 78}, + {"700", CPU_CYRIX3S, fpus_internal, 700000000, 7.0, 2050, 0x662, 0x662, 0, CPU_SUPPORTS_DYNAREC | CPU_FIXED_MULTIPLIER, 62, 62, 21, 21, 84}, {"", 0} } }, { @@ -948,272 +958,905 @@ cpu_family_t cpu_families[] = { } }; -static cpu_legacy_table_t cpus_8088[] = {{"8088", 0, 0}}; -#define cpus_pcjr cpus_8088 -static cpu_legacy_table_t cpus_europc[] = {{"8088_europc", 0, 0}}; -static cpu_legacy_table_t cpus_8086[] = {{"8086", 0, 0}}; -static cpu_legacy_table_t cpus_pc1512[] = {{"8086", 0, 1}}; -static cpu_legacy_table_t cpus_286[] = {{"286", 0, 0}}; -#define cpus_ibmat cpus_286 -#define cpus_ibmxt286 cpus_286 -static cpu_legacy_table_t cpus_ps1_m2011[] = {{"286", 0, 2}}; -#define cpus_ps2_m30_286 cpus_ps1_m2011 -static cpu_legacy_table_t cpus_i386SX[] = {{"i386sx", 0, 0}}; -static cpu_legacy_table_t cpus_i386DX[] = {{"rapidcad", 5, 0}, {"i386dx", 0, 0}}; -static cpu_legacy_table_t cpus_Am386SX[] = {{"am386sx", 0, 0}}; -static cpu_legacy_table_t cpus_Am386DX[] = {{"am386dx", 0, 0}}; -static cpu_legacy_table_t cpus_ALiM6117[] = {{"m6117", 0, 0}}; -static cpu_legacy_table_t cpus_486SLC[] = {{"cx486srx2", 3, 0}, {"cx486slc", 0, 0}}; -static cpu_legacy_table_t cpus_IBM486SLC[] = {{"ibm486slc3", 4, 0}, {"ibm486slc2", 1, 0}, {"ibm386slc", 0, 0}}; -static cpu_legacy_table_t cpus_IBM486BL[] = {{"ibm486bl3", 2, 0}, {"ibm486bl2", 0, 0}}; -static cpu_legacy_table_t cpus_486DLC[] = {{"cx486drx2", 3, 0}, {"cx486dlc", 0, 0}}; -static cpu_legacy_table_t cpus_i486S1[] = {{"idx4_od", 12, 0}, {"i486dx2", 9, 0}, {"i486dx", 6, 0}, {"i486sx2", 4, 0}, {"i486sx", 0, 0}}; -static cpu_legacy_table_t cpus_Am486S1[] = {{"am486dx2", 6, 0}, {"am486dx", 4, 0}, {"am486sx2", 2, 0}, {"am486sx", 0, 0}}; -static cpu_legacy_table_t cpus_Cx486S1[] = {{"cx486dx2", 5, 0}, {"cx486dx", 3, 0}, {"cx486s", 0, 0}}; -static cpu_legacy_table_t cpus_i486[] = {{"pentium_od_s3", 16, 0}, {"idx4_od", 14, 0}, {"idx4", 12, 0}, {"i486dx2", 9, 0}, {"i486dx", 6, 0}, {"i486sx2", 4, 0}, {"i486sx", 0, 0}}; -static cpu_legacy_table_t cpus_i486_PC330[] = {{"pentium_od_s3", 4, 0}, {"idx4", 2, 0}, {"i486dx2", 0, 1}}; -static cpu_legacy_table_t cpus_Am486[] = {{"am5x86", 13, 0}, {"am486dx4", 9, 0}, {"am486dx2", 6, 0}, {"am486dx", 4, 0}, {"am486sx2", 2, 0}, {"am486sx", 0, 0}}; -static cpu_legacy_table_t cpus_Cx486[] = {{"cx5x86", 10, 0}, {"cx486dx4", 8, 0}, {"cx486dx2", 5, 0}, {"cx486dx", 3, 0}, {"cx486s", 0, 0}}; -static cpu_legacy_table_t cpus_STPCDX[] = {{"stpc_dx", 0, 0}}; -static cpu_legacy_table_t cpus_STPCDX2[] = {{"stpc_dx2", 0, 0}}; -static cpu_legacy_table_t cpus_6x863V[] = {{"cx6x86", 0, 0}}; -static cpu_legacy_table_t cpus_6x86[] = {{"mii", 14, 0}, {"cx6x86mx", 10, 0}, {"cx6x86l", 6, 0}, {"cx6x86", 0, 0}}; -#define cpus_6x86SS7 cpus_6x86 -static cpu_legacy_table_t cpus_WinChip[] = {{"winchip2a", 15, 0}, {"winchip2", 11, 0}, {"winchip", 0, 0}}; -#define cpus_WinChip_SS7 cpus_WinChip -static cpu_legacy_table_t cpus_Pentium5V[] = {{"pentium_od_s4", 2, 1}, {"pentium_p5", 0, 1}}; -static cpu_legacy_table_t cpus_PentiumS5[] = {{"pentium_od_p55c", 10, 1}, {"pentium_od_s5", 7, 0}, {"pentium_p54c", 2, 1}, {"pentium_od_p55c", 1, 0}, {"pentium_p54c", 0, 0}}; -static cpu_legacy_table_t cpus_Pentium3V[] = {{"pentium_od_p55c", 13, 1}, {"pentium_od_s5", 10, 0}, {"pentium_p54c", 2, 1}, {"pentium_od_p55c", 1, 0}, {"pentium_p54c", 0, 0}}; -static cpu_legacy_table_t cpus_Pentium[] = {{"pentium_od_p55c", 24, 1}, {"pentium_od_s5", 21, 0}, {"pentium_tillamook", 13, 0}, {"pentium_p55c", 10, 0}, {"pentium_p54c", 2, 1}, {"pentium_od_p55c", 1, 0}, {"pentium_p54c", 0, 0}}; -#define K5_ENTRIES {"k5_5k86", 6, 3}, {"k5_ssa5", 5, 2}, {"k5_5k86", 4, 2}, {"k5_ssa5", 3, 1}, {"k5_5k86", 2, 1}, {"k5_ssa5", 1, 0}, {"k5_5k86", 0, 0} -static cpu_legacy_table_t cpus_K5[] = {K5_ENTRIES}; -#define K56_ENTRIES {"k6_2", 18, 0}, {"k6_m7", 14, 0}, {"k6_m6", 11, 0}, K5_ENTRIES -static cpu_legacy_table_t cpus_K56[] = {K56_ENTRIES}; -static cpu_legacy_table_t cpus_K56_SS7[] = {{"k6_3p", 38, 0}, {"k6_3", 36, 0}, {"k6_2p", 31, 0}, K56_ENTRIES}; -static cpu_legacy_table_t cpus_PentiumPro[] = {{"pentium2_od", 8, 0}, {"pentiumpro", 0, 0}}; -static cpu_legacy_table_t cpus_PentiumII66[] = {{"pentium2_deschutes", 7, 0}, {"pentium2_klamath", 0, 0}}; -#define cpus_PentiumII cpus_PentiumII66 -static cpu_legacy_table_t cpus_Xeon[] = {{"pentium2_xeon", 0, 0}}; -static cpu_legacy_table_t cpus_Celeron[] = {{"celeron_mendocino", 0, 0}}; -static cpu_legacy_table_t cpus_PentiumIID[] = {{"pentium2_deschutes", 0, 0}}; -static cpu_legacy_table_t cpus_Cyrix3[] = {{"c3_samuel", 0, 0}}; +/* Legacy CPU tables for backwards compatibility. */ -cpu_legacy_machine_t cpu_legacy_table[] = { - {"ibmpc", {cpus_8088}}, - {"ibmpc82", {cpus_8088}}, - {"ibmpcjr", {cpus_pcjr}}, - {"ibmxt", {cpus_8088}}, - {"ibmxt86", {cpus_8088}}, - {"americxt", {cpus_8088}}, - {"amixt", {cpus_8088}}, - {"portable", {cpus_8088}}, - {"dtk", {cpus_8088}}, - {"genxt", {cpus_8088}}, - {"jukopc", {cpus_8088}}, - {"open_xt", {cpus_8088}}, - {"pxxt", {cpus_8088}}, - {"europc", {cpus_europc}}, - {"tandy", {cpus_europc}}, - {"tandy1000hx", {cpus_europc}}, - {"t1000", {cpus_8088}}, - {"ltxt", {cpus_8088}}, - {"xi8088", {cpus_8088}}, - {"zdsupers", {cpus_8088}}, - {"pc1512", {cpus_pc1512}}, - {"pc1640", {cpus_8086}}, - {"pc2086", {cpus_8086}}, - {"pc3086", {cpus_8086}}, - {"pc200", {cpus_8086}}, - {"ppc512", {cpus_8086}}, - {"deskpro", {cpus_8086}}, - {"olivetti_m24", {cpus_8086}}, - {"iskra3104", {cpus_8086}}, - {"tandy1000sl2", {cpus_8086}}, - {"t1200", {cpus_8086}}, - {"lxt3", {cpus_8086}}, - {"hed919", {cpus_286}}, - {"ibmat", {cpus_ibmat}}, - {"ibmps1es", {cpus_ps1_m2011}}, - {"ibmps2_m30_286", {cpus_ps2_m30_286, cpus_IBM486SLC}}, - {"ibmxt286", {cpus_ibmxt286}}, - {"ibmatami", {cpus_ibmat}}, - {"cmdpc30", {cpus_286}}, - {"portableii", {cpus_286}}, - {"portableiii", {cpus_286}}, - {"mr286", {cpus_286}}, - {"open_at", {cpus_286}}, - {"ibmatpx", {cpus_ibmat}}, - {"ibmatquadtel", {cpus_ibmat}}, - {"siemens", {cpus_286}}, - {"t3100e", {cpus_286}}, - {"quadt286", {cpus_286}}, - {"tg286m", {cpus_286}}, - {"ami286", {cpus_286}}, - {"px286", {cpus_286}}, - {"award286", {cpus_286}}, - {"gw286ct", {cpus_286}}, - {"gdc212m", {cpus_286}}, - {"super286tr", {cpus_286}}, - {"spc4200p", {cpus_286}}, - {"spc4216p", {cpus_286}}, - {"deskmaster286", {cpus_286}}, - {"ibmps2_m50", {cpus_ps2_m30_286, cpus_IBM486SLC}}, - {"ibmps1_2121", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"ibmps1_2121_isa", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"arb1375", {cpus_ALiM6117}}, - {"pja511m", {cpus_ALiM6117}}, - {"ama932j", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"adi386sx", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"shuttle386sx", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"dtk386", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"awardsx", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"cbm_sl386sx25", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"kmxc02", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"megapc", {cpus_i386SX, cpus_Am386SX, cpus_486SLC}}, - {"ibmps2_m55sx", {cpus_i386SX, cpus_Am386SX, cpus_486SLC, cpus_IBM486SLC}}, - {"acc386", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"ecs386", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"portableiii386", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"micronics386", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"asus386", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"ustechnologies386", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"award386dx", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"ami386dx", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"mr386dx", {cpus_i386DX, cpus_Am386DX, cpus_486DLC}}, - {"ibmps2_m70_type3", {cpus_i386DX, cpus_Am386DX, cpus_486DLC, cpus_IBM486BL}}, - {"ibmps2_m80", {cpus_i386DX, cpus_Am386DX, cpus_486DLC, cpus_IBM486BL}}, - {"pb410a", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"acera1g", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"win486", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"ali1429", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"cs4031", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"rycleopardlx", {cpus_IBM486SLC}}, - {"award486", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"ami486", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"mr486", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"pc330_6571", {cpus_i486_PC330}}, - {"403tg", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"sis401", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"valuepoint433", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"ami471", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"win471", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"vi15g", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"vli486sv2g", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"dtk486", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"px471", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"486vchd", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"ibmps1_2133", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"vect486vl", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"ibmps2_m70_type4", {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}}, - {"abpb4", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"486ap4", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"486sp3g", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"alfredo", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"ls486e", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"m4li", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"r418", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"4sa2", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"4dps", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"itoxstar", {cpus_STPCDX}}, - {"arb1479", {cpus_STPCDX2}}, - {"pcm9340", {cpus_STPCDX2}}, - {"pcm5330", {cpus_STPCDX2}}, - {"486vipio2", {cpus_i486, cpus_Am486, cpus_Cx486}}, - {"p5mp3", {cpus_Pentium5V}}, - {"dellxp60", {cpus_Pentium5V}}, - {"opti560l", {cpus_Pentium5V}}, - {"ambradp60", {cpus_Pentium5V}}, - {"valuepointp60", {cpus_Pentium5V}}, - {"revenge", {cpus_Pentium5V}}, - {"586mc1", {cpus_Pentium5V}}, - {"pb520r", {cpus_Pentium5V}}, - {"excalibur", {cpus_Pentium5V}}, - {"plato", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"ambradp90", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"430nx", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"acerv30", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"apollo", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"vectra54", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"zappa", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"powermate_v", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"mb500n", {cpus_PentiumS5, cpus_WinChip, cpus_K5}}, - {"p54tp4xe", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"mr586", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"gw2katx", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"thor", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"mrthor", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"endeavor", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"pb640", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"chariot", {cpus_Pentium3V, cpus_K5}}, - {"acerm3a", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"ap53", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"8500tuc", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"p55t2s", {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}}, - {"acerv35n", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"p55t2p4", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"m7shi", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"tc430hx", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"equium5200", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"pcv240", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"p65up5_cp55t2d", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"p55tvp4", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"8500tvxa", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"presario4500", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"p55va", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"gw2kte", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"brio80xx", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"pb680", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"430vx", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"nupro592", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"tx97", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"an430tx", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"ym430tx", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"mb540n", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"p5mms98", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"ficva502", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"ficpa2012", {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}}, - {"ax59pro", {cpus_Pentium, cpus_WinChip_SS7, cpus_K56_SS7, cpus_6x86SS7}}, - {"ficva503p", {cpus_Pentium, cpus_WinChip_SS7, cpus_K56_SS7, cpus_6x86SS7}}, - {"ficva503a", {cpus_Pentium, cpus_WinChip_SS7, cpus_K56_SS7, cpus_6x86SS7}}, - {"v60n", {cpus_PentiumPro}}, - {"p65up5_cp6nd", {cpus_PentiumPro}}, - {"8600ttc", {cpus_PentiumPro}}, - {"686nx", {cpus_PentiumPro}}, - {"ap440fx", {cpus_PentiumPro}}, - {"vs440fx", {cpus_PentiumPro}}, - {"m6mi", {cpus_PentiumPro}}, - {"mb600n", {cpus_PentiumPro}}, - {"p65up5_cpknd", {cpus_PentiumII66}}, - {"kn97", {cpus_PentiumII66}}, - {"lx6", {cpus_PentiumII66}}, - {"spitfire", {cpus_PentiumII66}}, - {"p6i440e2", {cpus_PentiumII66}}, - {"p2bls", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"p3bf", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"bf6", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"ax6bc", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"atc6310bxii", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"ga686bx", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"tsunamiatx", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"p6sba", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"ergox365", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"fw6400gx_s1", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"ficka6130", {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}}, - {"6gxu", {cpus_Xeon}}, - {"fw6400gx", {cpus_Xeon}}, - {"s2dge", {cpus_Xeon}}, - {"s370slm", {cpus_Celeron, cpus_Cyrix3}}, - {"awo671r", {cpus_Celeron, cpus_Cyrix3}}, - {"cubx", {cpus_Celeron, cpus_Cyrix3}}, - {"atc7020bxii", {cpus_Celeron, cpus_Cyrix3}}, - {"ambx133", {cpus_Celeron, cpus_Cyrix3}}, - {"trinity371", {cpus_Celeron}}, - {"63a", {cpus_Celeron, cpus_Cyrix3}}, - {"apas3", {cpus_Celeron, cpus_Cyrix3}}, - {"wcf681", {cpus_Celeron, cpus_Cyrix3}}, - {"6via85x", {cpus_Celeron, cpus_Cyrix3}}, - {"p6bap", {cpus_Celeron, cpus_Cyrix3}}, - {"603tcf", {cpus_Celeron, cpus_Cyrix3}}, - {"vpc2007", {cpus_PentiumIID, cpus_Celeron}}, - {NULL, {NULL}} +static const cpu_legacy_table_t cpus_8088[] = { + {"8088", 4772728, 1}, + {"8088", 7159092, 1}, + {"8088", 8000000, 1}, + {"8088", 10000000, 1}, + {"8088", 12000000, 1}, + {"8088", 16000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_pcjr[] = { + {"8088", 4772728, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_europc[] = { + {"8088", 4772728, 1}, + {"8088", 7159092, 1}, + {"8088", 9545456, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_8086[] = { + {"8086", 7159092, 1}, + {"8086", 8000000, 1}, + {"8086", 9545456, 1}, + {"8086", 10000000, 1}, + {"8086", 12000000, 1}, + {"8086", 16000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_pc1512[] = { + {"8086", 8000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_286[] = { + {"286", 6000000, 1}, + {"286", 8000000, 1}, + {"286", 10000000, 1}, + {"286", 12500000, 1}, + {"286", 16000000, 1}, + {"286", 20000000, 1}, + {"286", 25000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_ibmat[] = { + {"286", 6000000, 1}, + {"286", 8000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_ibmxt286[] = { + {"286", 6000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_ps1_m2011[] = { + {"286", 10000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_ps2_m30_286[] = { + {"286", 10000000, 1}, + {"286", 12500000, 1}, + {"286", 16000000, 1}, + {"286", 20000000, 1}, + {"286", 25000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_i386SX[] = { + {"i386sx", 16000000, 1}, + {"i386sx", 20000000, 1}, + {"i386sx", 25000000, 1}, + {"i386sx", 33333333, 1}, + {"i386sx", 40000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_i386DX[] = { + {"i386dx", 16000000, 1}, + {"i386dx", 20000000, 1}, + {"i386dx", 25000000, 1}, + {"i386dx", 33333333, 1}, + {"i386dx", 40000000, 1}, + {"rapidcad", 25000000, 1}, + {"rapidcad", 33333333, 1}, + {"rapidcad", 40000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Am386SX[] = { + {"am386sx", 16000000, 1}, + {"am386sx", 20000000, 1}, + {"am386sx", 25000000, 1}, + {"am386sx", 33333333, 1}, + {"am386sx", 40000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Am386DX[] = { + {"am386dx", 25000000, 1}, + {"am386dx", 33333333, 1}, + {"am386dx", 40000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_ALiM6117[] = { + {"m6117", 33333333, 1}, + {"m6117", 40000000, 1}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_486SLC[] = { + {"cx486slc", 20000000, 1}, + {"cx486slc", 25000000, 1}, + {"cx486slc", 33333333, 1}, + {"cx486srx2", 32000000, 2}, + {"cx486srx2", 40000000, 2}, + {"cx486srx2", 50000000, 2}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_IBM486SLC[] = { + {"ibm486slc", 33333333, 1}, + {"ibm486slc2", 40000000, 2}, + {"ibm486slc2", 50000000, 2}, + {"ibm486slc2", 66666666, 2}, + {"ibm486slc3", 60000000, 3}, + {"ibm486slc3", 75000000, 3}, + {"ibm486slc3", 100000000, 3}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_IBM486BL[] = { + {"ibm486bl2", 50000000, 2}, + {"ibm486bl2", 66666666, 2}, + {"ibm486bl3", 75000000, 3}, + {"ibm486bl3", 100000000, 3}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_486DLC[] = { + {"cx486dlc", 25000000, 1}, + {"cx486dlc", 33333333, 1}, + {"cx486dlc", 40000000, 1}, + {"cx486drx2", 32000000, 2}, + {"cx486drx2", 40000000, 2}, + {"cx486drx2", 50000000, 2}, + {"cx486drx2", 66666666, 2}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_i486S1[] = { + {"i486sx", 16000000, 1}, + {"i486sx", 20000000, 1}, + {"i486sx", 25000000, 1}, + {"i486sx", 33333333, 1}, + {"i486sx2", 50000000, 2}, + {"i486sx2", 66666666, 2}, + {"i486dx", 25000000, 1}, + {"i486dx", 33333333, 1}, + {"i486dx", 50000000, 1}, + {"i486dx2", 40000000, 2}, + {"i486dx2", 50000000, 2}, + {"i486dx2", 66666666, 2}, + {"idx4_od", 75000000, 3}, + {"idx4_od", 100000000, 3}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Am486S1[] = { + {"am486sx", 33333333, 1}, + {"am486sx", 40000000, 1}, + {"am486sx2", 50000000, 2}, + {"am486sx2", 66666666, 2}, + {"am486dx", 33333333, 1}, + {"am486dx", 40000000, 1}, + {"am486dx2", 50000000, 2}, + {"am486dx2", 66666666, 2}, + {"am486dx2", 80000000, 2}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Cx486S1[] = { + {"cx486s", 25000000, 1.0}, + {"cx486s", 33333333, 1.0}, + {"cx486s", 40000000, 1.0}, + {"cx486dx", 33333333, 1.0}, + {"cx486dx", 40000000, 1.0}, + {"cx486dx2", 50000000, 2.0}, + {"cx486dx2", 66666666, 2.0}, + {"cx486dx2", 80000000, 2.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_i486[] = { + {"i486sx", 16000000, 1.0}, + {"i486sx", 20000000, 1.0}, + {"i486sx", 25000000, 1.0}, + {"i486sx", 33333333, 1.0}, + {"i486sx2", 50000000, 2.0}, + {"i486sx2", 66666666, 2.0}, + {"i486dx", 25000000, 1.0}, + {"i486dx", 33333333, 1.0}, + {"i486dx", 50000000, 1.0}, + {"i486dx2", 40000000, 2.0}, + {"i486dx2", 50000000, 2.0}, + {"i486dx2", 66666666, 2.0}, + {"idx4", 75000000, 3.0}, + {"idx4", 100000000, 3.0}, + {"idx4_od", 75000000, 3.0}, + {"idx4_od", 100000000, 3.0}, + {"pentium_p24t", 62500000, 2.5}, + {"pentium_p24t", 83333333, 2.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_i486_PC330[] = { + {"i486dx2", 50000000, 2.0}, + {"i486dx2", 66666666, 2.0}, + {"idx4", 75000000, 3.0}, + {"idx4", 100000000, 3.0}, + {"pentium_p24t", 62500000, 2.5}, + {"pentium_p24t", 83333333, 2.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Am486[] = { + {"am486sx", 33333333, 1.0}, + {"am486sx", 40000000, 1.0}, + {"am486sx2", 50000000, 2.0}, + {"am486sx2", 66666666, 2.0}, + {"am486dx", 33333333, 1.0}, + {"am486dx", 40000000, 1.0}, + {"am486dx2", 50000000, 2.0}, + {"am486dx2", 66666666, 2.0}, + {"am486dx2", 80000000, 2.0}, + {"am486dx4", 75000000, 3.0}, + {"am486dx4", 90000000, 3.0}, + {"am486dx4", 100000000, 3.0}, + {"am486dx4", 120000000, 3.0}, + {"am5x86", 133333333, 4.0}, + {"am5x86", 150000000, 3.0}, + {"am5x86", 160000000, 4.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Cx486[] = { + {"cx486s", 25000000, 1.0}, + {"cx486s", 33333333, 1.0}, + {"cx486s", 40000000, 1.0}, + {"cx486dx", 33333333, 1.0}, + {"cx486dx", 40000000, 1.0}, + {"cx486dx2", 50000000, 2.0}, + {"cx486dx2", 66666666, 2.0}, + {"cx486dx2", 80000000, 2.0}, + {"cx486dx4", 75000000, 3.0}, + {"cx486dx4", 100000000, 3.0}, + {"cx5x86", 80000000, 2.0}, + {"cx5x86", 100000000, 3.0}, + {"cx5x86", 120000000, 3.0}, + {"cx5x86", 133333333, 4.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_STPCDX[] = { + {"stpc_dx", 66666666, 1.0}, + {"stpc_dx", 75000000, 1.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_STPCDX2[] = { + {"stpc_dx2", 133333333, 2.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_6x863V[] = { + {"cx6x86", 80000000, 2.0}, + {"cx6x86", 100000000, 2.0}, + {"cx6x86", 110000000, 2.0}, + {"cx6x86", 120000000, 2.0}, + {"cx6x86", 133333333, 2.0}, + {"cx6x86", 150000000, 2.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_6x86[] = { + {"cx6x86", 80000000, 2.0}, + {"cx6x86", 100000000, 2.0}, + {"cx6x86", 110000000, 2.0}, + {"cx6x86", 120000000, 2.0}, + {"cx6x86", 133333333, 2.0}, + {"cx6x86", 150000000, 2.0}, + {"cx6x86l", 110000000, 2.0}, + {"cx6x86l", 120000000, 2.0}, + {"cx6x86l", 133333333, 2.0}, + {"cx6x86l", 150000000, 2.0}, + {"cx6x86mx", 133333333, 2.0}, + {"cx6x86mx", 166666666, 2.5}, + {"cx6x86mx", 187500000, 2.5}, + {"cx6x86mx", 208333333, 2.5}, + {"mii", 233333333, 3.5}, + {"mii", 250000000, 3.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_6x86SS7[] = { + {"cx6x86", 80000000, 2.0}, + {"cx6x86", 100000000, 2.0}, + {"cx6x86", 110000000, 2.0}, + {"cx6x86", 120000000, 2.0}, + {"cx6x86", 133333333, 2.0}, + {"cx6x86", 150000000, 2.0}, + {"cx6x86l", 110000000, 2.0}, + {"cx6x86l", 120000000, 2.0}, + {"cx6x86l", 133333333, 2.0}, + {"cx6x86l", 150000000, 2.0}, + {"cx6x86mx", 133333333, 2.0}, + {"cx6x86mx", 166666666, 2.5}, + {"cx6x86mx", 187500000, 2.5}, + {"cx6x86mx", 208333333, 2.5}, + {"mii", 233333333, 3.5}, + {"mii", 250000000, 3.0}, + {"mii", 250000000, 2.5}, + {"mii", 285000000, 3.0}, + {"mii", 300000000, 3.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_WinChip[] = { + {"winchip", 75000000, 1.5}, + {"winchip", 90000000, 1.5}, + {"winchip", 100000000, 1.5}, + {"winchip", 120000000, 2.0}, + {"winchip", 133333333, 2.0}, + {"winchip", 150000000, 2.5}, + {"winchip", 166666666, 2.5}, + {"winchip", 180000000, 3.0}, + {"winchip", 200000000, 3.0}, + {"winchip", 225000000, 3.0}, + {"winchip", 240000000, 4.0}, + {"winchip2", 200000000, 3.0}, + {"winchip2", 225000000, 3.0}, + {"winchip2", 240000000, 4.0}, + {"winchip2", 250000000, 3.0}, + {"winchip2a", 200000000, 3.0}, + {"winchip2a", 233333333, 3.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_WinChip_SS7[] = { + {"winchip", 75000000, 1.5}, + {"winchip", 90000000, 1.5}, + {"winchip", 100000000, 1.5}, + {"winchip", 120000000, 2.0}, + {"winchip", 133333333, 2.0}, + {"winchip", 150000000, 2.5}, + {"winchip", 166666666, 2.5}, + {"winchip", 180000000, 3.0}, + {"winchip", 200000000, 3.0}, + {"winchip", 225000000, 3.0}, + {"winchip", 240000000, 4.0}, + {"winchip2", 200000000, 3.0}, + {"winchip2", 225000000, 3.0}, + {"winchip2", 240000000, 4.0}, + {"winchip2", 250000000, 3.0}, + {"winchip2a", 200000000, 3.0}, + {"winchip2a", 233333333, 3.5}, + {"winchip2a", 233333333, 7.0}, + {"winchip2a", 250000000, 2.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Pentium5V[] = { + {"pentium_p5", 60000000, 1}, + {"pentium_p5", 66666666, 1}, + {"pentium_p54c_od5v", 120000000, 2}, + {"pentium_p54c_od5v", 133333333, 2}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_PentiumS5[] = { + {"pentium_p54c", 75000000, 1.5}, + {"pentium_p55c_od", 75000000, 1.5}, + {"pentium_p54c", 90000000, 1.5}, + {"pentium_p54c", 100000000, 2.0}, + {"pentium_p54c", 100000000, 1.5}, + {"pentium_p54c", 120000000, 2.0}, + {"pentium_p54c", 133333333, 2.0}, + {"pentium_p54c_od3v", 125000000, 3.0}, + {"pentium_p54c_od3v", 150000000, 2.5}, + {"pentium_p54c_od3v", 166666666, 2.5}, + {"pentium_p55c_od", 125000000, 2.5}, + {"pentium_p55c_od", 150000000, 2.5}, + {"pentium_p55c_od", 166000000, 2.5}, + {"pentium_p55c_od", 180000000, 3.0}, + {"pentium_p55c_od", 200000000, 3.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Pentium3V[] = { + {"pentium_p54c", 75000000, 1.5}, + {"pentium_p55c_od", 75000000, 1.5}, + {"pentium_p54c", 90000000, 1.5}, + {"pentium_p54c", 100000000, 2.0}, + {"pentium_p54c", 100000000, 1.5}, + {"pentium_p54c", 120000000, 2.0}, + {"pentium_p54c", 133333333, 2.0}, + {"pentium_p54c", 150000000, 2.5}, + {"pentium_p54c", 166666666, 2.5}, + {"pentium_p54c", 200000000, 3.0}, + {"pentium_p54c_od3v", 125000000, 2.5}, + {"pentium_p54c_od3v", 150000000, 2.5}, + {"pentium_p54c_od3v", 166666666, 2.5}, + {"pentium_p55c_od", 125000000, 2.5}, + {"pentium_p55c_od", 150000000, 2.5}, + {"pentium_p55c_od", 166000000, 2.5}, + {"pentium_p55c_od", 180000000, 3.0}, + {"pentium_p55c_od", 200000000, 3.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Pentium[] = { + {"pentium_p54c", 75000000, 1.5}, + {"pentium_p55c_od", 75000000, 1.5}, + {"pentium_p54c", 90000000, 1.5}, + {"pentium_p54c", 100000000, 2.0}, + {"pentium_p54c", 100000000, 1.5}, + {"pentium_p54c", 120000000, 2.0}, + {"pentium_p54c", 133333333, 2.0}, + {"pentium_p54c", 150000000, 2.5}, + {"pentium_p54c", 166666666, 2.5}, + {"pentium_p54c", 200000000, 3.0}, + {"pentium_p55c", 166666666, 2.5}, + {"pentium_p55c", 200000000, 3.0}, + {"pentium_p55c", 233333333, 3.5}, + {"pentium_tillamook", 120000000, 2.0}, + {"pentium_tillamook", 133333333, 2.0}, + {"pentium_tillamook", 150000000, 2.5}, + {"pentium_tillamook", 166666666, 2.5}, + {"pentium_tillamook", 200000000, 3.0}, + {"pentium_tillamook", 233333333, 3.5}, + {"pentium_tillamook", 266666666, 4.0}, + {"pentium_tillamook", 300000000, 4.5}, + {"pentium_p54c_od3v", 125000000, 2.5}, + {"pentium_p54c_od3v", 150000000, 2.5}, + {"pentium_p54c_od3v", 166666666, 2.5}, + {"pentium_p55c_od", 125000000, 2.5}, + {"pentium_p55c_od", 150000000, 2.5}, + {"pentium_p55c_od", 166000000, 2.5}, + {"pentium_p55c_od", 180000000, 3.0}, + {"pentium_p55c_od", 200000000, 3.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_K5[] = { + {"k5_5k86", 75000000, 1.5}, + {"k5_ssa5", 75000000, 1.5}, + {"k5_5k86", 90000000, 1.5}, + {"k5_ssa5", 90000000, 1.5}, + {"k5_5k86", 100000000, 1.5}, + {"k5_ssa5", 100000000, 1.5}, + {"k5_5k86", 120000000, 2.0}, + {"k5_5k86", 133333333, 2.0}, + {"k5_5k86", 150000000, 2.5}, + {"k5_5k86", 166666666, 2.5}, + {"k5_5k86", 200000000, 3.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_K56[] = { + {"k6_m6", 166666666, 2.5}, + {"k6_m6", 200000000, 3.0}, + {"k6_m6", 233333333, 3.5}, + {"k6_m7", 200000000, 3.0}, + {"k6_m7", 233333333, 3.5}, + {"k6_m7", 266666666, 4.0}, + {"k6_m7", 300000000, 4.5}, + {"k6_2", 233333333, 3.5}, + {"k6_2", 266666666, 4.0}, + {"k6_2", 300000000, 4.5}, + {"k6_2", 366666666, 5.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_K56_SS7[] = { + {"k6_m6", 166666666, 2.5}, + {"k6_m6", 200000000, 3.0}, + {"k6_m6", 233333333, 3.5}, + {"k6_m7", 200000000, 3.0}, + {"k6_m7", 233333333, 3.5}, + {"k6_m7", 266666666, 4.0}, + {"k6_m7", 300000000, 4.5}, + {"k6_2", 233333333, 3.5}, + {"k6_2", 266666666, 4.0}, + {"k6_2", 300000000, 3.0}, + {"k6_2", 332500000, 3.5}, + {"k6_2", 350000000, 3.5}, + {"k6_2", 366666666, 5.5}, + {"k6_2", 380000000, 4.0}, + {"k6_2", 400000000, 4.0}, + {"k6_2", 450000000, 4.5}, + {"k6_2", 475000000, 5.0}, + {"k6_2", 500000000, 5.0}, + {"k6_2", 533333333, 5.5}, + {"k6_2", 550000000, 5.5}, + {"k6_2p", 450000000, 4.5}, + {"k6_2p", 475000000, 5.0}, + {"k6_2p", 500000000, 5.0}, + {"k6_2p", 533333333, 5.5}, + {"k6_2p", 550000000, 5.5}, + {"k6_3", 400000000, 4.0}, + {"k6_3", 450000000, 4.5}, + {"k6_3p", 75000000, 1.5}, + {"k6_3p", 400000000, 4.0}, + {"k6_3p", 450000000, 4.5}, + {"k6_3p", 475000000, 5.0}, + {"k6_3p", 500000000, 5.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_PentiumPro[] = { + {"pentiumpro", 50000000, 1.0}, + {"pentiumpro", 60000000, 1.0}, + {"pentiumpro", 66666666, 1.0}, + {"pentiumpro", 75000000, 1.5}, + {"pentiumpro", 150000000, 2.5}, + {"pentiumpro", 166666666, 2.5}, + {"pentiumpro", 180000000, 3.0}, + {"pentiumpro", 200000000, 3.0}, + {"pentium2_od", 50000000, 1.0}, + {"pentium2_od", 60000000, 1.0}, + {"pentium2_od", 66666666, 1.0}, + {"pentium2_od", 75000000, 1.5}, + {"pentium2_od", 210000000, 3.5}, + {"pentium2_od", 233333333, 3.5}, + {"pentium2_od", 240000000, 4.0}, + {"pentium2_od", 266666666, 4.0}, + {"pentium2_od", 270000000, 4.5}, + {"pentium2_od", 300000000, 4.5}, + {"pentium2_od", 300000000, 5.0}, + {"pentium2_od", 333333333, 5.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_PentiumII66[] = { + {"pentium2_klamath", 50000000, 1.0}, + {"pentium2_klamath", 60000000, 1.0}, + {"pentium2_klamath", 66666666, 1.0}, + {"pentium2_klamath", 75000000, 1.5}, + {"pentium2_klamath", 233333333, 3.5}, + {"pentium2_klamath", 266666666, 4.0}, + {"pentium2_klamath", 300000000, 4.5}, + {"pentium2_deschutes", 50000000, 1.0}, + {"pentium2_deschutes", 60000000, 1.0}, + {"pentium2_deschutes", 66666666, 1.0}, + {"pentium2_deschutes", 75000000, 1.5}, + {"pentium2_deschutes", 266666666, 4.0}, + {"pentium2_deschutes", 300000000, 4.5}, + {"pentium2_deschutes", 333333333, 5.0}, + {NULL, 0, 0} + +}; + +static const cpu_legacy_table_t cpus_PentiumII[] = { + {"pentium2_klamath", 50000000, 1.0}, + {"pentium2_klamath", 60000000, 1.0}, + {"pentium2_klamath", 66666666, 1.0}, + {"pentium2_klamath", 75000000, 1.5}, + {"pentium2_klamath", 233333333, 3.5}, + {"pentium2_klamath", 266666666, 4.0}, + {"pentium2_klamath", 300000000, 4.5}, + {"pentium2_deschutes", 50000000, 1.0}, + {"pentium2_deschutes", 60000000, 1.0}, + {"pentium2_deschutes", 66666666, 1.0}, + {"pentium2_deschutes", 75000000, 1.5}, + {"pentium2_deschutes", 266666666, 4.0}, + {"pentium2_deschutes", 300000000, 4.5}, + {"pentium2_deschutes", 333333333, 5.0}, + {"pentium2_deschutes", 350000000, 3.5}, + {"pentium2_deschutes", 400000000, 4.0}, + {"pentium2_deschutes", 450000000, 4.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Xeon[] = { + {"pentium2_xeon", 75000000, 1.5}, + {"pentium2_xeon", 100000000, 1.5}, + {"pentium2_xeon", 133333333, 2.0}, + {"pentium2_xeon", 166666666, 2.5}, + {"pentium2_xeon", 400000000, 4.0}, + {"pentium2_xeon", 450000000, 4.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Celeron[] = { + {"celeron_mendocino", 66666666, 1.0}, + {"celeron_mendocino", 100000000, 1.5}, + {"celeron_mendocino", 133333333, 2.0}, + {"celeron_mendocino", 166666666, 2.5}, + {"celeron_mendocino", 300000000, 4.5}, + {"celeron_mendocino", 333333333, 5.0}, + {"celeron_mendocino", 366666666, 5.5}, + {"celeron_mendocino", 400000000, 6.0}, + {"celeron_mendocino", 433333333, 6.5}, + {"celeron_mendocino", 466666666, 7.0}, + {"celeron_mendocino", 500000000, 7.5}, + {"celeron_mendocino", 533333333, 8.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_PentiumIID[] = { + {"pentium2_deschutes", 50000000, 1.0}, + {"pentium2_deschutes", 60000000, 1.0}, + {"pentium2_deschutes", 66666666, 1.0}, + {"pentium2_deschutes", 75000000, 1.5}, + {"pentium2_deschutes", 266666666, 4.0}, + {"pentium2_deschutes", 300000000, 4.5}, + {"pentium2_deschutes", 333333333, 5.0}, + {"pentium2_deschutes", 350000000, 3.5}, + {"pentium2_deschutes", 400000000, 4.0}, + {"pentium2_deschutes", 450000000, 4.5}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t cpus_Cyrix3[] = { + {"c3_samuel", 66666666, 1.0}, + {"c3_samuel", 233333333, 3.5}, + {"c3_samuel", 266666666, 4.0}, + {"c3_samuel", 300000000, 4.5}, + {"c3_samuel", 333333333, 5.0}, + {"c3_samuel", 350000000, 3.5}, + {"c3_samuel", 400000000, 4.0}, + {"c3_samuel", 450000000, 4.5}, + {"c3_samuel", 500000000, 5.0}, + {"c3_samuel", 550000000, 5.5}, + {"c3_samuel", 600000000, 6.0}, + {"c3_samuel", 650000000, 6.5}, + {"c3_samuel", 700000000, 7.0}, + {NULL, 0, 0} +}; + +static const cpu_legacy_table_t *cputables_8088[] = {cpus_8088}; +static const cpu_legacy_table_t *cputables_pcjr[] = {cpus_pcjr}; +static const cpu_legacy_table_t *cputables_europc[] = {cpus_europc}; +static const cpu_legacy_table_t *cputables_pc1512[] = {cpus_pc1512}; +static const cpu_legacy_table_t *cputables_8086[] = {cpus_8086}; +static const cpu_legacy_table_t *cputables_286[] = {cpus_286}; +static const cpu_legacy_table_t *cputables_ibmat[] = {cpus_ibmat}; +static const cpu_legacy_table_t *cputables_ps1_m2011[] = {cpus_ps1_m2011}; +static const cpu_legacy_table_t *cputables_ps2_m30_286_IBM486SLC[] = {cpus_ps2_m30_286, cpus_IBM486SLC}; +static const cpu_legacy_table_t *cputables_ibmxt286[] = {cpus_ibmxt286}; +static const cpu_legacy_table_t *cputables_i386SX_Am386SX_486SLC[] = {cpus_i386SX, cpus_Am386SX, cpus_486SLC}; +static const cpu_legacy_table_t *cputables_ALiM6117[] = {cpus_ALiM6117}; +static const cpu_legacy_table_t *cputables_i386SX_Am386SX_486SLC_IBM486SLC[] = {cpus_i386SX, cpus_Am386SX, cpus_486SLC, cpus_IBM486SLC}; +static const cpu_legacy_table_t *cputables_i386DX_Am386DX_486DLC[] = {cpus_i386DX, cpus_Am386DX, cpus_486DLC}; +static const cpu_legacy_table_t *cputables_i386DX_Am386DX_486DLC_IBM486BL[] = {cpus_i386DX, cpus_Am386DX, cpus_486DLC, cpus_IBM486BL}; +static const cpu_legacy_table_t *cputables_i486_Am486_Cx486[] = {cpus_i486, cpus_Am486, cpus_Cx486}; +static const cpu_legacy_table_t *cputables_i486S1_Am486S1_Cx486S1[] = {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1}; +static const cpu_legacy_table_t *cputables_IBM486SLC[] = {cpus_IBM486SLC}; +static const cpu_legacy_table_t *cputables_i486_PC330[] = {cpus_i486_PC330}; +static const cpu_legacy_table_t *cputables_STPCDX[] = {cpus_STPCDX}; +static const cpu_legacy_table_t *cputables_STPCDX2[] = {cpus_STPCDX2}; +static const cpu_legacy_table_t *cputables_Pentium5V[] = {cpus_Pentium5V}; +static const cpu_legacy_table_t *cputables_PentiumS5_WinChip_K5[] = {cpus_PentiumS5, cpus_WinChip, cpus_K5}; +static const cpu_legacy_table_t *cputables_Pentium3V_WinChip_K5_6x863V[] = {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V}; +static const cpu_legacy_table_t *cputables_Pentium3V_K5[] = {cpus_Pentium3V, cpus_K5}; +static const cpu_legacy_table_t *cputables_Pentium_WinChip_K56_6x86[] = {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86}; +static const cpu_legacy_table_t *cputables_Pentium_WinChip_SS7_K56_SS7_6x86SS7[] = {cpus_Pentium, cpus_WinChip_SS7, cpus_K56_SS7, cpus_6x86SS7}; +static const cpu_legacy_table_t *cputables_PentiumPro[] = {cpus_PentiumPro}; +static const cpu_legacy_table_t *cputables_PentiumII66[] = {cpus_PentiumII66}; +static const cpu_legacy_table_t *cputables_PentiumII_Celeron_Cyrix3[] = {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3}; +static const cpu_legacy_table_t *cputables_Xeon[] = {cpus_Xeon}; +static const cpu_legacy_table_t *cputables_Celeron_Cyrix3[] = {cpus_Celeron, cpus_Cyrix3}; +static const cpu_legacy_table_t *cputables_Celeron[] = {cpus_Celeron}; +static const cpu_legacy_table_t *cputables_PentiumIID_Celeron[] = {cpus_PentiumIID, cpus_Celeron}; + +const cpu_legacy_machine_t cpu_legacy_table[] = { + {"ibmpc", cputables_8088}, + {"ibmpc82", cputables_8088}, + {"ibmpcjr", cputables_pcjr}, + {"ibmxt", cputables_8088}, + {"ibmxt86", cputables_8088}, + {"americxt", cputables_8088}, + {"amixt", cputables_8088}, + {"portable", cputables_8088}, + {"dtk", cputables_8088}, + {"genxt", cputables_8088}, + {"jukopc", cputables_8088}, + {"open_xt", cputables_8088}, + {"pxxt", cputables_8088}, + {"europc", cputables_europc}, + {"tandy", cputables_europc}, + {"tandy1000hx", cputables_europc}, + {"t1000", cputables_8088}, + {"ltxt", cputables_8088}, + {"xi8088", cputables_8088}, + {"zdsupers", cputables_8088}, + {"pc1512", cputables_pc1512}, + {"pc1640", cputables_8086}, + {"pc2086", cputables_8086}, + {"pc3086", cputables_8086}, + {"pc200", cputables_8086}, + {"ppc512", cputables_8086}, + {"deskpro", cputables_8086}, + {"olivetti_m24", cputables_8086}, + {"iskra3104", cputables_8086}, + {"tandy1000sl2", cputables_8086}, + {"t1200", cputables_8086}, + {"lxt3", cputables_8086}, + {"hed919", cputables_286}, + {"ibmat", cputables_ibmat}, + {"ibmps1es", cputables_ps1_m2011}, + {"ibmps2_m30_286", cputables_ps2_m30_286_IBM486SLC}, + {"ibmxt286", cputables_ibmxt286}, + {"ibmatami", cputables_ibmat}, + {"cmdpc30", cputables_286}, + {"portableii", cputables_286}, + {"portableiii", cputables_286}, + {"mr286", cputables_286}, + {"open_at", cputables_286}, + {"ibmatpx", cputables_ibmat}, + {"ibmatquadtel", cputables_ibmat}, + {"siemens", cputables_286}, + {"t3100e", cputables_286}, + {"quadt286", cputables_286}, + {"tg286m", cputables_286}, + {"ami286", cputables_286}, + {"px286", cputables_286}, + {"award286", cputables_286}, + {"gw286ct", cputables_286}, + {"gdc212m", cputables_286}, + {"super286tr", cputables_286}, + {"spc4200p", cputables_286}, + {"spc4216p", cputables_286}, + {"deskmaster286", cputables_286}, + {"ibmps2_m50", cputables_ps2_m30_286_IBM486SLC}, + {"ibmps1_2121", cputables_i386SX_Am386SX_486SLC}, + {"ibmps1_2121_isa", cputables_i386SX_Am386SX_486SLC}, + {"arb1375", cputables_ALiM6117}, + {"pja511m", cputables_ALiM6117}, + {"ama932j", cputables_i386SX_Am386SX_486SLC}, + {"adi386sx", cputables_i386SX_Am386SX_486SLC}, + {"shuttle386sx", cputables_i386SX_Am386SX_486SLC}, + {"dtk386", cputables_i386SX_Am386SX_486SLC}, + {"awardsx", cputables_i386SX_Am386SX_486SLC}, + {"cbm_sl386sx25", cputables_i386SX_Am386SX_486SLC}, + {"kmxc02", cputables_i386SX_Am386SX_486SLC}, + {"megapc", cputables_i386SX_Am386SX_486SLC}, + {"ibmps2_m55sx", cputables_i386SX_Am386SX_486SLC_IBM486SLC}, + {"acc386", cputables_i386DX_Am386DX_486DLC}, + {"ecs386", cputables_i386DX_Am386DX_486DLC}, + {"portableiii386", cputables_i386DX_Am386DX_486DLC}, + {"micronics386", cputables_i386DX_Am386DX_486DLC}, + {"asus386", cputables_i386DX_Am386DX_486DLC}, + {"ustechnologies386", cputables_i386DX_Am386DX_486DLC}, + {"award386dx", cputables_i386DX_Am386DX_486DLC}, + {"ami386dx", cputables_i386DX_Am386DX_486DLC}, + {"mr386dx", cputables_i386DX_Am386DX_486DLC}, + {"ibmps2_m70_type3", cputables_i386DX_Am386DX_486DLC_IBM486BL}, + {"ibmps2_m80", cputables_i386DX_Am386DX_486DLC_IBM486BL}, + {"pb410a", cputables_i486_Am486_Cx486}, + {"acera1g", cputables_i486_Am486_Cx486}, + {"win486", cputables_i486_Am486_Cx486}, + {"ali1429", cputables_i486S1_Am486S1_Cx486S1}, + {"cs4031", cputables_i486S1_Am486S1_Cx486S1}, + {"rycleopardlx", cputables_IBM486SLC}, + {"award486", cputables_i486S1_Am486S1_Cx486S1}, + {"ami486", cputables_i486S1_Am486S1_Cx486S1}, + {"mr486", cputables_i486_Am486_Cx486}, + {"pc330_6571", cputables_i486_PC330}, + {"403tg", cputables_i486_Am486_Cx486}, + {"sis401", cputables_i486_Am486_Cx486}, + {"valuepoint433", cputables_i486_Am486_Cx486}, + {"ami471", cputables_i486_Am486_Cx486}, + {"win471", cputables_i486_Am486_Cx486}, + {"vi15g", cputables_i486_Am486_Cx486}, + {"vli486sv2g", cputables_i486_Am486_Cx486}, + {"dtk486", cputables_i486_Am486_Cx486}, + {"px471", cputables_i486_Am486_Cx486}, + {"486vchd", cputables_i486S1_Am486S1_Cx486S1}, + {"ibmps1_2133", cputables_i486S1_Am486S1_Cx486S1}, + {"vect486vl", cputables_i486S1_Am486S1_Cx486S1}, + {"ibmps2_m70_type4", cputables_i486S1_Am486S1_Cx486S1}, + {"abpb4", cputables_i486_Am486_Cx486}, + {"486ap4", cputables_i486_Am486_Cx486}, + {"486sp3g", cputables_i486_Am486_Cx486}, + {"alfredo", cputables_i486_Am486_Cx486}, + {"ls486e", cputables_i486_Am486_Cx486}, + {"m4li", cputables_i486_Am486_Cx486}, + {"r418", cputables_i486_Am486_Cx486}, + {"4sa2", cputables_i486_Am486_Cx486}, + {"4dps", cputables_i486_Am486_Cx486}, + {"itoxstar", cputables_STPCDX}, + {"arb1479", cputables_STPCDX2}, + {"pcm9340", cputables_STPCDX2}, + {"pcm5330", cputables_STPCDX2}, + {"486vipio2", cputables_i486_Am486_Cx486}, + {"p5mp3", cputables_Pentium5V}, + {"dellxp60", cputables_Pentium5V}, + {"opti560l", cputables_Pentium5V}, + {"ambradp60", cputables_Pentium5V}, + {"valuepointp60", cputables_Pentium5V}, + {"revenge", cputables_Pentium5V}, + {"586mc1", cputables_Pentium5V}, + {"pb520r", cputables_Pentium5V}, + {"excalibur", cputables_Pentium5V}, + {"plato", cputables_PentiumS5_WinChip_K5}, + {"ambradp90", cputables_PentiumS5_WinChip_K5}, + {"430nx", cputables_PentiumS5_WinChip_K5}, + {"acerv30", cputables_PentiumS5_WinChip_K5}, + {"apollo", cputables_PentiumS5_WinChip_K5}, + {"vectra54", cputables_PentiumS5_WinChip_K5}, + {"zappa", cputables_PentiumS5_WinChip_K5}, + {"powermate_v", cputables_PentiumS5_WinChip_K5}, + {"mb500n", cputables_PentiumS5_WinChip_K5}, + {"p54tp4xe", cputables_Pentium3V_WinChip_K5_6x863V}, + {"mr586", cputables_Pentium3V_WinChip_K5_6x863V}, + {"gw2katx", cputables_Pentium3V_WinChip_K5_6x863V}, + {"thor", cputables_Pentium3V_WinChip_K5_6x863V}, + {"mrthor", cputables_Pentium3V_WinChip_K5_6x863V}, + {"endeavor", cputables_Pentium3V_WinChip_K5_6x863V}, + {"pb640", cputables_Pentium3V_WinChip_K5_6x863V}, + {"chariot", cputables_Pentium3V_K5}, + {"acerm3a", cputables_Pentium3V_WinChip_K5_6x863V}, + {"ap53", cputables_Pentium3V_WinChip_K5_6x863V}, + {"8500tuc", cputables_Pentium3V_WinChip_K5_6x863V}, + {"p55t2s", cputables_Pentium3V_WinChip_K5_6x863V}, + {"acerv35n", cputables_Pentium_WinChip_K56_6x86}, + {"p55t2p4", cputables_Pentium_WinChip_K56_6x86}, + {"m7shi", cputables_Pentium_WinChip_K56_6x86}, + {"tc430hx", cputables_Pentium_WinChip_K56_6x86}, + {"equium5200", cputables_Pentium_WinChip_K56_6x86}, + {"pcv240", cputables_Pentium_WinChip_K56_6x86}, + {"p65up5_cp55t2d", cputables_Pentium_WinChip_K56_6x86}, + {"p55tvp4", cputables_Pentium_WinChip_K56_6x86}, + {"8500tvxa", cputables_Pentium_WinChip_K56_6x86}, + {"presario4500", cputables_Pentium_WinChip_K56_6x86}, + {"p55va", cputables_Pentium_WinChip_K56_6x86}, + {"gw2kte", cputables_Pentium_WinChip_K56_6x86}, + {"brio80xx", cputables_Pentium_WinChip_K56_6x86}, + {"pb680", cputables_Pentium_WinChip_K56_6x86}, + {"430vx", cputables_Pentium_WinChip_K56_6x86}, + {"nupro592", cputables_Pentium_WinChip_K56_6x86}, + {"tx97", cputables_Pentium_WinChip_K56_6x86}, + {"an430tx", cputables_Pentium_WinChip_K56_6x86}, + {"ym430tx", cputables_Pentium_WinChip_K56_6x86}, + {"mb540n", cputables_Pentium_WinChip_K56_6x86}, + {"p5mms98", cputables_Pentium_WinChip_K56_6x86}, + {"ficva502", cputables_Pentium_WinChip_K56_6x86}, + {"ficpa2012", cputables_Pentium_WinChip_K56_6x86}, + {"ax59pro", cputables_Pentium_WinChip_SS7_K56_SS7_6x86SS7}, + {"ficva503p", cputables_Pentium_WinChip_SS7_K56_SS7_6x86SS7}, + {"ficva503a", cputables_Pentium_WinChip_SS7_K56_SS7_6x86SS7}, + {"v60n", cputables_PentiumPro}, + {"p65up5_cp6nd", cputables_PentiumPro}, + {"8600ttc", cputables_PentiumPro}, + {"686nx", cputables_PentiumPro}, + {"ap440fx", cputables_PentiumPro}, + {"vs440fx", cputables_PentiumPro}, + {"m6mi", cputables_PentiumPro}, + {"mb600n", cputables_PentiumPro}, + {"p65up5_cpknd", cputables_PentiumII66}, + {"kn97", cputables_PentiumII66}, + {"lx6", cputables_PentiumII66}, + {"spitfire", cputables_PentiumII66}, + {"p6i440e2", cputables_PentiumII66}, + {"p2bls", cputables_PentiumII_Celeron_Cyrix3}, + {"p3bf", cputables_PentiumII_Celeron_Cyrix3}, + {"bf6", cputables_PentiumII_Celeron_Cyrix3}, + {"ax6bc", cputables_PentiumII_Celeron_Cyrix3}, + {"atc6310bxii", cputables_PentiumII_Celeron_Cyrix3}, + {"ga686bx", cputables_PentiumII_Celeron_Cyrix3}, + {"tsunamiatx", cputables_PentiumII_Celeron_Cyrix3}, + {"p6sba", cputables_PentiumII_Celeron_Cyrix3}, + {"ergox365", cputables_PentiumII_Celeron_Cyrix3}, + {"fw6400gx_s1", cputables_PentiumII_Celeron_Cyrix3}, + {"ficka6130", cputables_PentiumII_Celeron_Cyrix3}, + {"6gxu", cputables_Xeon}, + {"fw6400gx", cputables_Xeon}, + {"s2dge", cputables_Xeon}, + {"s370slm", cputables_Celeron_Cyrix3}, + {"awo671r", cputables_Celeron_Cyrix3}, + {"cubx", cputables_Celeron_Cyrix3}, + {"atc7020bxii", cputables_Celeron_Cyrix3}, + {"ambx133", cputables_Celeron_Cyrix3}, + {"trinity371", cputables_Celeron}, + {"63a", cputables_Celeron_Cyrix3}, + {"apas3", cputables_Celeron_Cyrix3}, + {"wcf681", cputables_Celeron_Cyrix3}, + {"6via85x", cputables_Celeron_Cyrix3}, + {"p6bap", cputables_Celeron_Cyrix3}, + {"603tcf", cputables_Celeron_Cyrix3}, + {"vpc2007", cputables_PentiumIID_Celeron}, + {NULL, NULL} }; diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 03e422001..9cb155f81 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -85,6 +85,8 @@ #define IS_ARCH(m, a) (machines[(m)].flags & (a)) ? 1 : 0; +#define MACHINE_MULTIPLIER_FIXED -1, -1 + enum { MACHINE_TYPE_NONE = 0, diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 75ac5ab46..9a3e5f3c4 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -125,8 +125,8 @@ machine_at_p6bap_init(const machine_t *model) pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4); pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1); pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4); - device_add(&via_apro133a_device); //Rebranded as ET82C693A - device_add(&via_vt82c596b_device); //Rebranded as ET82C696B + device_add(&via_apro133a_device); /* Rebranded as ET82C693A */ + device_add(&via_vt82c596b_device); /* Rebranded as ET82C696B */ device_add(&w83977ef_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); @@ -356,7 +356,13 @@ machine_at_wcf681_init(const machine_t *model) device_add(&w83977tf_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); - spd_register(SPD_TYPE_SDRAM, 0x7, 256); + spd_register(SPD_TYPE_SDRAM, 0x3, 512); + device_add(&w83781d_device); /* fans: CPU, unused, unused; temperatures: System, unused, CPU */ + hwm_values.voltages[1] = 2500; /* +2.5V */ + hwm_values.fans[1] = 0; /* unused */ + hwm_values.fans[2] = 0; /* unused */ + hwm_values.temperatures[1] = 0; /* unused */ + return ret; } @@ -387,8 +393,11 @@ machine_at_6via85x_init(const machine_t *model) device_add(&via_vt82c686_sio_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); - spd_register(SPD_TYPE_SDRAM, 0x7, 256); - device_add(&via_vt82c686_hwm_device); + spd_register(SPD_TYPE_SDRAM, 0x7, 512); + device_add(&via_vt82c686_hwm_device); /* fans: CPU1, CPU2; temperatures: CPU, System, unused */ + hwm_values.temperatures[0] += 2; /* CPU offset */ + hwm_values.temperatures[1] += 2; /* System offset */ + hwm_values.temperatures[2] = 0; /* unused */ return ret; } @@ -419,8 +428,11 @@ machine_at_603tcf_init(const machine_t *model) device_add(&via_vt82c686_sio_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 256); - device_add(&via_vt82c686_hwm_device); + spd_register(SPD_TYPE_SDRAM, 0x3, 512); + device_add(&via_vt82c686_hwm_device); /* fans: 1, 2; temperatures: CPU, System, unused */ + hwm_values.temperatures[0] += 2; /* CPU offset */ + hwm_values.temperatures[1] += 2; /* System offset */ + hwm_values.temperatures[2] = 0; /* unused */ return ret; } diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 92bf58822..588b0430b 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -181,7 +181,8 @@ const machine_t machines[] = { { "[OPTi 495] Award 486 clone", "award486", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1, 32, 1, 127, machine_at_opti495_init, NULL }, { "[OPTi 495] Dataexpert SX495 (486)", "ami486", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1, 32, 1, 127, machine_at_opti495_ami_init, NULL }, { "[OPTi 495] MR 486 clone", "mr486", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1, 32, 1, 127, machine_at_opti495_mr_init, NULL }, - { "[OPTi 802G] IBM PC 330 (type 6571)", "pc330_6571", MACHINE_TYPE_486, CPU_PKG_SOCKET3, CPU_i486SX2|CPU_Am486SX2|CPU_Am486DX2|CPU_Cx486DX2|CPU_Am486DX4|CPU_Am5x86|CPU_Cx486DX4|CPU_Cx5x86, 25000000, 0, 0, 0, 2.0, 0, MACHINE_VLB | MACHINE_BUS_PS2 | MACHINE_IDE, 1, 64, 1, 127, machine_at_pc330_6571_init, NULL }, { "[OPTi 895] Jetway J-403TG", "403tg", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1, 64, 1, 127, machine_at_403tg_init, NULL }, + { "[OPTi 802G] IBM PC 330 (type 6571)", "pc330_6571", MACHINE_TYPE_486, CPU_PKG_SOCKET3_PC330, 0, 25000000, 33333333, 0, 0, 2.0, 3.0, MACHINE_VLB | MACHINE_BUS_PS2 | MACHINE_IDE, 1, 64, 1, 127, machine_at_pc330_6571_init, NULL }, + { "[OPTi 895] Jetway J-403TG", "403tg", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1, 64, 1, 127, machine_at_403tg_init, NULL }, { "[SiS 401] AMI 486 Clone", "sis401", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 1, 64, 1, 127, machine_at_sis401_init, NULL }, { "[SiS 461] IBM PS/ValuePoint 433DX/Si", "valuepoint433", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1, 64, 1, 127, machine_at_valuepoint433_init, NULL }, { "[SiS 471] AMI 486 Clone", "ami471", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1, 64, 1, 127, machine_at_ami471_init, NULL }, @@ -214,10 +215,10 @@ const machine_t machines[] = { { "[SiS 496] Soyo 4SA2", "4sa2", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1, 255, 1, 255, machine_at_4sa2_init, NULL }, { "[SiS 496] Zida Tomato 4DP", "4dps", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1, 255, 1, 255, machine_at_4dps_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_STPC) - { "[STPC Client] ITOX STAR", "itoxstar", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 75000000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 255, machine_at_itoxstar_init, NULL }, - { "[STPC Consumer-II] Acrosser AR-B1479", "arb1479", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32, 160, 8, 255, machine_at_arb1479_init, NULL }, - { "[STPC Elite] Advantech PCM-9340", "pcm9340", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32, 96, 8, 255, machine_at_pcm9340_init, NULL }, - { "[STPC Atlas] AAEON PCM-5330", "pcm5330", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32, 128, 32, 255, machine_at_pcm5330_init, NULL }, + { "[STPC Client] ITOX STAR", "itoxstar", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 75000000, 0, 0, 1.0, 1.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 255, machine_at_itoxstar_init, NULL }, + { "[STPC Consumer-II] Acrosser AR-B1479", "arb1479", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 2.0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32, 160, 8, 255, machine_at_arb1479_init, NULL }, + { "[STPC Elite] Advantech PCM-9340", "pcm9340", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 2.0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32, 96, 8, 255, machine_at_pcm9340_init, NULL }, + { "[STPC Atlas] AAEON PCM-5330", "pcm5330", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 2.0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32, 128, 32, 255, machine_at_pcm5330_init, NULL }, #endif #if defined(DEV_BRANCH) && defined(NO_SIO) { "[VIA VT82C496G] FIC VIP-IO2", "486vipio2", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCIV | MACHINE_IDE_DUAL, 1, 128, 1, 255, machine_at_486vipio2_init, NULL }, @@ -225,159 +226,159 @@ const machine_t machines[] = { /* Socket 4 machines */ /* 430LX */ - { "[i430LX] ASUS P/I-P5MP3", "p5mp3", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2, 192, 2, 127, machine_at_p5mp3_init, NULL }, + { "[i430LX] ASUS P/I-P5MP3", "p5mp3", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2, 192, 2, 127, machine_at_p5mp3_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_DELLS4) - { "[i430LX] Dell Dimension XPS P60", "dellxp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2, 128, 2, 127, machine_at_dellxp60_init, NULL }, - { "[i430LX] Dell OptiPlex 560/L", "opti560l", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_opti560l_init, NULL }, + { "[i430LX] Dell Dimension XPS P60", "dellxp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2, 128, 2, 127, machine_at_dellxp60_init, NULL }, + { "[i430LX] Dell OptiPlex 560/L", "opti560l", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_opti560l_init, NULL }, #endif - { "[i430LX] IBM Ambra DP60 PCI", "ambradp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_ambradp60_init, NULL }, - { "[i430LX] IBM PS/ValuePoint P60", "valuepointp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_valuepointp60_init, NULL }, - { "[i430LX] Intel Premiere/PCI", "revenge", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_batman_init, NULL }, - { "[i430LX] Micro Star 586MC1", "586mc1", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_586mc1_init, NULL }, - { "[i430LX] Packard Bell PB520R", "pb520r", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 136, 2, 127, machine_at_pb520r_init, at_pb520r_get_device }, + { "[i430LX] IBM Ambra DP60 PCI", "ambradp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_ambradp60_init, NULL }, + { "[i430LX] IBM PS/ValuePoint P60", "valuepointp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_valuepointp60_init, NULL }, + { "[i430LX] Intel Premiere/PCI", "revenge", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_batman_init, NULL }, + { "[i430LX] Micro Star 586MC1", "586mc1", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_586mc1_init, NULL }, + { "[i430LX] Packard Bell PB520R", "pb520r", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 136, 2, 127, machine_at_pb520r_init, at_pb520r_get_device }, /* OPTi 596/597 */ - { "[OPTi 597] AMI Excalibur VLB", "excalibur", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 2, 64, 2, 127, machine_at_excalibur_init, NULL }, + { "[OPTi 597] AMI Excalibur VLB", "excalibur", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, 1.0, 1.0, MACHINE_VLB | MACHINE_IDE, 2, 64, 2, 127, machine_at_excalibur_init, NULL }, /* Socket 5 machines */ /* 430NX */ { "[i430NX] Intel Premiere/PCI II", "plato", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3520, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_plato_init, NULL }, - { "[i430NX] IBM Ambra DP90 PCI", "ambradp90", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_ambradp90_init, NULL }, - { "[i430NX] Gigabyte GA-586IP", "430nx", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 3380, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_430nx_init, NULL }, + { "[i430NX] IBM Ambra DP90 PCI", "ambradp90", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_ambradp90_init, NULL }, + { "[i430NX] Gigabyte GA-586IP", "430nx", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 3520, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_430nx_init, NULL }, /* 430FX */ - { "[i430FX] Acer V30", "acerv30", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_acerv30_init, NULL }, - { "[i430FX] AMI Apollo", "apollo", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_apollo_init, NULL }, - { "[i430FX] HP Vectra VL 5 Series 4", "vectra54", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 511, machine_at_vectra54_init, at_vectra54_get_device }, - { "[i430FX] Intel Advanced/ZP", "zappa", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_zappa_init, NULL }, - { "[i430FX] NEC PowerMate V", "powermate_v", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_powermate_v_init, NULL }, - { "[i430FX] PC Partner MB500N", "mb500n", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_mb500n_init, NULL }, + { "[i430FX] Acer V30", "acerv30", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_acerv30_init, NULL }, + { "[i430FX] AMI Apollo", "apollo", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_apollo_init, NULL }, + { "[i430FX] HP Vectra VL 5 Series 4", "vectra54", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 511, machine_at_vectra54_init, at_vectra54_get_device }, + { "[i430FX] Intel Advanced/ZP", "zappa", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_zappa_init, NULL }, + { "[i430FX] NEC PowerMate V", "powermate_v", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_powermate_v_init, NULL }, + { "[i430FX] PC Partner MB500N", "mb500n", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_mb500n_init, NULL }, /* Socket 7 machines */ /* 430FX */ - { "[i430FX] ASUS P/I-P54TP4XE", "p54tp4xe", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_p54tp4xe_init, NULL }, - { "[i430FX] ASUS P/I-P54TP4XE (MR BIOS)", "mr586", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_mr586_init, NULL }, - { "[i430FX] Gateway 2000 Thor", "gw2katx", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_gw2katx_init, NULL }, - { "[i430FX] Intel Advanced/ATX", "thor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_thor_init, NULL }, - { "[i430FX] Intel Advanced/ATX (MR BIOS)", "mrthor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_mrthor_init, NULL }, - { "[i430FX] Intel Advanced/EV", "endeavor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 0, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_endeavor_init, at_endeavor_get_device }, - { "[i430FX] Packard Bell PB640", "pb640", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_pb640_init, at_pb640_get_device }, - { "[i430FX] QDI Chariot", "chariot", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, CPU_WINCHIP|CPU_WINCHIP2|CPU_Cx6x86|CPU_Cx6x86L|CPU_Cx6x86MX, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_chariot_init, NULL }, + { "[i430FX] ASUS P/I-P54TP4XE", "p54tp4xe", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3600, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_p54tp4xe_init, NULL }, + { "[i430FX] ASUS P/I-P54TP4XE (MR BIOS)", "mr586", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3600, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_mr586_init, NULL }, + { "[i430FX] Gateway 2000 Thor", "gw2katx", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_gw2katx_init, NULL }, + { "[i430FX] Intel Advanced/ATX", "thor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_thor_init, NULL }, + { "[i430FX] Intel Advanced/ATX (MR BIOS)", "mrthor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_mrthor_init, NULL }, + { "[i430FX] Intel Advanced/EV", "endeavor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_endeavor_init, at_endeavor_get_device }, + { "[i430FX] Packard Bell PB640", "pb640", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_pb640_init, at_pb640_get_device }, + { "[i430FX] QDI Chariot", "chariot", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, CPU_WINCHIP|CPU_WINCHIP2|CPU_Cx6x86|CPU_Cx6x86L|CPU_Cx6x86MX, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_chariot_init, NULL }, /* 430HX */ - { "[i430HX] Acer M3A", "acerm3a", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_acerm3a_init, NULL }, + { "[i430HX] Acer M3A", "acerm3a", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3300, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_acerm3a_init, NULL }, { "[i430HX] AOpen AP53", "ap53", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3450, 3520, 1.5, 2.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_ap53_init, NULL }, - { "[i430HX] Biostar MB-8500TUC", "8500tuc", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_8500tuc_init, NULL }, - { "[i430HX] SuperMicro Super P55T2S", "p55t2s", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 3380, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 127, machine_at_p55t2s_init, NULL }, + { "[i430HX] Biostar MB-8500TUC", "8500tuc", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_8500tuc_init, NULL }, + { "[i430HX] SuperMicro Super P55T2S", "p55t2s", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3300, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 127, machine_at_p55t2s_init, NULL }, - { "[i430HX] Acer V35N", "acerv35n", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_acerv35n_init, NULL }, + { "[i430HX] Acer V35N", "acerv35n", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_acerv35n_init, NULL }, { "[i430HX] ASUS P/I-P55T2P4", "p55t2p4", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 75000000, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 127, machine_at_p55t2p4_init, NULL }, - { "[i430HX] Micronics M7S-Hi", "m7shi", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 511, machine_at_m7shi_init, NULL }, - { "[i430HX] Intel TC430HX", "tc430hx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 255, machine_at_tc430hx_init, NULL }, - { "[i430HX] Toshiba Equium 5200D", "equium5200", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_equium5200_init, NULL }, - { "[i430HX] Sony Vaio PCV-240", "pcv240", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_pcv240_init, NULL }, - { "[i430HX] ASUS P/I-P65UP5 (C-P55T2D)", "p65up5_cp55t2d", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_p65up5_cp55t2d_init, NULL }, + { "[i430HX] Micronics M7S-Hi", "m7shi", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 511, machine_at_m7shi_init, NULL }, + { "[i430HX] Intel TC430HX", "tc430hx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 255, machine_at_tc430hx_init, NULL }, + { "[i430HX] Toshiba Equium 5200D", "equium5200", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_equium5200_init, NULL }, + { "[i430HX] Sony Vaio PCV-240", "pcv240", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 192, 8, 127, machine_at_pcv240_init, NULL }, + { "[i430HX] ASUS P/I-P65UP5 (C-P55T2D)", "p65up5_cp55t2d", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_p65up5_cp55t2d_init, NULL }, /* 430VX */ - { "[i430VX] ASUS P/I-P55TVP4", "p55tvp4", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_p55tvp4_init, NULL }, - { "[i430VX] Biostar MB-8500TVX-A", "8500tvxa", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_8500tvxa_init, NULL }, - { "[i430VX] Compaq Presario 4500", "presario4500", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_presario4500_init, NULL }, - { "[i430VX] Epox P55-VA", "p55va", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_p55va_init, NULL }, - { "[i430VX] Gateway 2000 Tigereye", "gw2kte", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_gw2kte_init, NULL }, - { "[i430VX] HP Brio 80xx", "brio80xx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_brio80xx_init, NULL }, - { "[i430VX] Packard Bell PB680", "pb680", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_pb680_init, NULL }, - { "[i430VX] Shuttle HOT-557", "430vx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_i430vx_init, NULL }, + { "[i430VX] ASUS P/I-P55TVP4", "p55tvp4", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_p55tvp4_init, NULL }, + { "[i430VX] Biostar MB-8500TVX-A", "8500tvxa", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2600, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_8500tvxa_init, NULL }, + { "[i430VX] Compaq Presario 4500", "presario4500", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_presario4500_init, NULL }, + { "[i430VX] Epox P55-VA", "p55va", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_p55va_init, NULL }, + { "[i430VX] Gateway 2000 Tigereye", "gw2kte", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_gw2kte_init, NULL }, + { "[i430VX] HP Brio 80xx", "brio80xx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 66666667, 66666667, 2200, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_brio80xx_init, NULL }, + { "[i430VX] Packard Bell PB680", "pb680", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_pb680_init, NULL }, + { "[i430VX] Shuttle HOT-557", "430vx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_i430vx_init, NULL }, /* 430TX */ - { "[i430TX] ADLink NuPRO-592", "nupro592", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_nupro592_init, NULL }, - { "[i430TX] ASUS TX97", "tx97", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_tx97_init, NULL }, + { "[i430TX] ADLink NuPRO-592", "nupro592", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 66666667, 66666667, 1900, 2800, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_nupro592_init, NULL }, + { "[i430TX] ASUS TX97", "tx97", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 75000000, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_tx97_init, NULL }, #if defined(DEV_BRANCH) && defined(NO_SIO) - { "[i430TX] Intel AN430TX", "an430tx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_an430tx_init, NULL }, + { "[i430TX] Intel AN430TX", "an430tx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_an430tx_init, NULL }, #endif - { "[i430TX] Intel YM430TX", "ym430tx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_ym430tx_init, NULL }, - { "[i430TX] PC Partner MB540N", "mb540n", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_mb540n_init, NULL }, - { "[i430TX] SuperMicro Super P5MMS98", "p5mms98", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 0, 66666667, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_p5mms98_init, NULL }, + { "[i430TX] Intel YM430TX", "ym430tx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_ym430tx_init, NULL }, + { "[i430TX] PC Partner MB540N", "mb540n", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2700, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_mb540n_init, NULL }, + { "[i430TX] SuperMicro Super P5MMS98", "p5mms98", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2100, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 256, 8, 255, machine_at_p5mms98_init, NULL }, /* Apollo VPX */ - { "[VIA VPX] FIC VA-502", "ficva502", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 55000000, 75000000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_ficva502_init, NULL }, + { "[VIA VPX] FIC VA-502", "ficva502", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 75000000, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_ficva502_init, NULL }, /* Apollo VP3 */ - { "[VIA VP3] FIC PA-2012", "ficpa2012", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 55000000, 75000000, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_ficpa2012_init, NULL }, + { "[VIA VP3] FIC PA-2012", "ficpa2012", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 55000000, 75000000, 2100, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_ficpa2012_init, NULL }, /* Super Socket 7 machines */ /* Apollo MVP3 */ { "[VIA MVP3] AOpen AX59 Pro", "ax59pro", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_ax59pro_init, NULL }, - { "[VIA MVP3] FIC VA-503+", "ficva503p", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 100000000, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_mvp3_init, NULL }, - { "[VIA MVP3] FIC VA-503A", "ficva503a", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 100000000, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_ficva503a_init, NULL }, + { "[VIA MVP3] FIC VA-503+", "ficva503p", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 2000, 3200, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_mvp3_init, NULL }, + { "[VIA MVP3] FIC VA-503A", "ficva503a", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 1800, 3100, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_ficva503a_init, NULL }, /* Socket 8 machines */ /* 440FX */ - { "[i440FX] Acer V60N", "v60n", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_v60n_init, NULL }, - { "[i440FX] ASUS P/I-P65UP5 (C-P6ND)", "p65up5_cp6nd", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_p65up5_cp6nd_init, NULL }, - { "[i440FX] Biostar MB-8600TTC", "8600ttc", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_8500ttc_init, NULL }, - { "[i440FX] Gigabyte GA-686NX", "686nx", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_686nx_init, NULL }, - { "[i440FX] Intel AP440FX", "ap440fx", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_ap440fx_init, NULL }, - { "[i440FX] Intel VS440FX", "vs440fx", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_vs440fx_init, NULL }, - { "[i440FX] Micronics M6Mi", "m6mi", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 127, machine_at_m6mi_init, NULL }, - { "[i440FX] PC Partner MB600N", "mb600n", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 83600000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_mb600n_init, NULL }, + { "[i440FX] Acer V60N", "v60n", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2500, 3500, 2.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_v60n_init, NULL }, + { "[i440FX] ASUS P/I-P65UP5 (C-P6ND)", "p65up5_cp6nd", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2100, 3500, 2.0, 4.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_p65up5_cp6nd_init, NULL }, + { "[i440FX] Biostar MB-8600TTC", "8600ttc", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 50000000, 66666667, 2900, 3300, 2.0, 3.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_8500ttc_init, NULL }, + { "[i440FX] Gigabyte GA-686NX", "686nx", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2100, 3500, 2.5, 4.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_686nx_init, NULL }, + { "[i440FX] Intel AP440FX", "ap440fx", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2100, 3500, 2.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 128, 8, 127, machine_at_ap440fx_init, NULL }, + { "[i440FX] Intel VS440FX", "vs440fx", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2100, 3500, 2.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_vs440fx_init, NULL }, + { "[i440FX] Micronics M6Mi", "m6mi", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2900, 3300, 2.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 127, machine_at_m6mi_init, NULL }, + { "[i440FX] PC Partner MB600N", "mb600n", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2100, 3500, 2.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 127, machine_at_mb600n_init, NULL }, /* Slot 1 machines */ /* 440FX */ - { "[i440FX] ASUS P/I-P65UP5 (C-PKND)", "p65up5_cpknd", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 60000000, 83600001, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_p65up5_cpknd_init, NULL }, - { "[i440FX] ASUS KN97", "kn97", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 60000000, 83600001, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 127, machine_at_kn97_init, NULL }, + { "[i440FX] ASUS P/I-P65UP5 (C-PKND)", "p65up5_cpknd", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 50000000, 66666667, 1800, 3500, 2.0, 5.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 127, machine_at_p65up5_cpknd_init, NULL }, + { "[i440FX] ASUS KN97", "kn97", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 60000000, 83333333, 1800, 3500, 2.0, 5.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 127, machine_at_kn97_init, NULL }, /* 440LX */ - { "[i440LX] ABIT LX6", "lx6", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_lx6_init, NULL }, - { "[i440LX] Micronics Spitfire", "spitfire", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_spitfire_init, NULL }, + { "[i440LX] ABIT LX6", "lx6", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 60000000, 100000000, 1500, 3500, 2.0, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_lx6_init, NULL }, + { "[i440LX] Micronics Spitfire", "spitfire", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 66666667, 1800, 3500, 3.5, 6.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_spitfire_init, NULL }, /* 440EX */ - { "[i440EX] QDI EXCELLENT II", "p6i440e2", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_p6i440e2_init, NULL }, + { "[i440EX] QDI EXCELLENT II", "p6i440e2", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 83333333, 1800, 3500, 3.0, 8.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_p6i440e2_init, NULL }, /* 440BX */ - { "[i440BX] ASUS P2B-LS", "p2bls", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_p2bls_init, NULL }, - { "[i440BX] ASUS P3B-F", "p3bf", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_p3bf_init, NULL }, - { "[i440BX] ABIT BF6", "bf6", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_bf6_init, NULL }, - { "[i440BX] AOpen AX6BC", "ax6bc", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_ax6bc_init, NULL }, - { "[i440BX] A-Trend ATC6310BXII", "atc6310bxii", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_atc6310bxii_init, NULL }, - { "[i440BX] Gigabyte GA-686BX", "ga686bx", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_ga686bx_init, NULL }, - { "[i440BX] Tyan Tsunami ATX", "tsunamiatx", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_SOUND, 8, 1024, 8, 255, machine_at_tsunamiatx_init, at_tsunamiatx_get_device }, - { "[i440BX] SuperMicro Super P6SBA", "p6sba", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_p6sba_init, NULL }, + { "[i440BX] ASUS P2B-LS", "p2bls", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 50000000, 112121212, 1800, 3500, 2.0, 6.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_p2bls_init, NULL }, + { "[i440BX] ASUS P3B-F", "p3bf", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1800, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_p3bf_init, NULL }, + { "[i440BX] ABIT BF6", "bf6", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 1800, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_bf6_init, NULL }, + { "[i440BX] AOpen AX6BC", "ax6bc", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 112121212, 1800, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_ax6bc_init, NULL }, + { "[i440BX] A-Trend ATC6310BXII", "atc6310bxii", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_atc6310bxii_init, NULL }, + { "[i440BX] Gigabyte GA-686BX", "ga686bx", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.0, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_ga686bx_init, NULL }, + { "[i440BX] Tyan Tsunami ATX", "tsunamiatx", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 112121212, 1800, 3500, 3.5, 5.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_SOUND, 8, 1024, 8, 255, machine_at_tsunamiatx_init, at_tsunamiatx_get_device }, + { "[i440BX] SuperMicro Super P6SBA", "p6sba", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_p6sba_init, NULL }, #if defined(DEV_BRANCH) && defined(NO_SIO) - { "[i440BX] Fujitsu ErgoPro x365", "ergox365", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 384, 8, 511, machine_at_ergox365_init, NULL }, + { "[i440BX] Fujitsu ErgoPro x365", "ergox365", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.5, 5.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 384, 8, 511, machine_at_ergox365_init, NULL }, #endif /* 440GX */ - { "[i440GX] Freeway FW-6400GX", "fw6400gx_s1", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2032, 16, 511, machine_at_fw6400gx_init, NULL }, + { "[i440GX] Freeway FW-6400GX", "fw6400gx_s1", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 100000000, 150000000, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2032, 16, 511, machine_at_fw6400gx_init, NULL }, /* VIA Apollo Pro */ - { "[VIA Apollo Pro] FIC KA-6130", "ficka6130", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_ficka6130_init, NULL }, + { "[VIA Apollo Pro] FIC KA-6130", "ficka6130", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.5, 5.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_ficka6130_init, NULL }, /* Slot 2 machines(Including Slot 1/2 Hybrids) */ /* 440GX */ - { "[i440GX] Gigabyte GA-6GXU", "6gxu", MACHINE_TYPE_SLOT2, CPU_PKG_SLOT2, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2048, 16, 511, machine_at_6gxu_init, NULL }, - { "[i440GX] Freeway FW-6400GX", "fw6400gx", MACHINE_TYPE_SLOT2, CPU_PKG_SLOT2, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2032, 16, 511, machine_at_fw6400gx_init, NULL }, - { "[i440GX] SuperMicro Super S2DGE", "s2dge", MACHINE_TYPE_SLOT2, CPU_PKG_SLOT2, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2048, 16, 511, machine_at_s2dge_init, NULL }, + { "[i440GX] Gigabyte GA-6GXU", "6gxu", MACHINE_TYPE_SLOT2, CPU_PKG_SLOT2, 0, 100000000, 133333333, 1800, 3500, 4.0, 6.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2048, 16, 511, machine_at_6gxu_init, NULL }, + { "[i440GX] Freeway FW-6400GX", "fw6400gx", MACHINE_TYPE_SLOT2, CPU_PKG_SLOT2, 0, 100000000, 150000000, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2032, 16, 511, machine_at_fw6400gx_init, NULL }, + { "[i440GX] SuperMicro Super S2DGE", "s2dge", MACHINE_TYPE_SLOT2, CPU_PKG_SLOT2, 0, 66666667, 100000000, 1800, 3500, 3.0, 7.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16, 2048, 16, 511, machine_at_s2dge_init, NULL }, /* PGA370 machines */ /* 440LX */ - { "[i440LX] SuperMicro Super 370SLM", "s370slm", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 100000000, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_s370slm_init, NULL }, + { "[i440LX] SuperMicro Super 370SLM", "s370slm", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 100000000, 1800, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_s370slm_init, NULL }, /* 440BX */ - { "[i440BX] AEWIN AW-O671R", "awo671r", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_awo671r_init, NULL }, - { "[i440BX] ASUS CUBX", "cubx", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_cubx_init, NULL }, - { "[i440BX] A-Trend ATC7020BXII", "atc7020bxii", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_atc7020bxii_init, NULL }, - { "[i440BX] AmazePC AM-BX133", "ambx133", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_ambx133_init, NULL }, - { "[i440BX] Tyan Trinity 371", "trinity371", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_trinity371_init, NULL }, + { "[i440BX] AEWIN AW-O671R", "awo671r", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1800, 3500, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_awo671r_init, NULL }, + { "[i440BX] ASUS CUBX", "cubx", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1800, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_cubx_init, NULL }, + { "[i440BX] A-Trend ATC7020BXII", "atc7020bxii", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_atc7020bxii_init, NULL }, + { "[i440BX] AmazePC AM-BX133", "ambx133", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1800, 3500, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_ambx133_init, NULL }, + { "[i440BX] Tyan Trinity 371", "trinity371", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1800, 3500, 3.5, 7.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_trinity371_init, NULL }, /* 440ZX */ - { "[i440ZX] Soltek SL-63A1", "63a", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_63a_init, NULL }, + { "[i440ZX] Soltek SL-63A1", "63a", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 100000000, 1800, 3500, 2.0, 7.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_63a_init, NULL }, /* VIA Apollo Pro */ - { "[VIA Apollo Pro] PC Partner APAS3", "apas3", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_apas3_init, NULL }, - { "[VIA Apollo Pro133A] AEWIN WCF-681", "wcf681", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_wcf681_init, NULL }, - { "[VIA Apollo Pro133A] Acorp 6VIA85X", "6via85x", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_6via85x_init, NULL }, - { "[VIA Apollo Pro133A] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_p6bap_init, NULL }, - { "[VIA Apollo ProMedia] Jetway 603TCF", "603tcf", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 512, 8, 255, machine_at_603tcf_init, NULL }, + { "[VIA Apollo Pro] PC Partner APAS3", "apas3", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 100000000, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 768, 8, 255, machine_at_apas3_init, NULL }, + { "[VIA Apollo Pro133A] AEWIN WCF-681", "wcf681", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1800, 3500, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_wcf681_init, NULL }, + { "[VIA Apollo Pro133A] Acorp 6VIA85X", "6via85x", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1800, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1536, 8, 255, machine_at_6via85x_init, NULL }, + { "[VIA Apollo Pro133A] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1800, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1536, 8, 255, machine_at_p6bap_init, NULL }, + { "[VIA Apollo ProMedia] Jetway 603TCF", "603tcf", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1800, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_603tcf_init, NULL }, /* Miscellaneous/Fake/Hypervisor machines */ { "[i440BX] Microsoft Virtual PC 2007", "vpc2007", MACHINE_TYPE_MISC, CPU_PKG_SLOT1, CPU_PENTIUM2 | CPU_CYRIX3S, 0, 0, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8, 1024, 8, 255, machine_at_vpc2007_init, NULL }, diff --git a/src/mem/rom.c b/src/mem/rom.c index 56bc6314f..fc827539b 100644 --- a/src/mem/rom.c +++ b/src/mem/rom.c @@ -364,7 +364,7 @@ bios_add(void) { int temp_cpu_type, temp_cpu_16bitbus = 1; - if (AT) { + if (AT && cpu_s) { temp_cpu_type = cpu_s->cpu_type; temp_cpu_16bitbus = (temp_cpu_type == CPU_286 || temp_cpu_type == CPU_386SX || temp_cpu_type == CPU_486SLC || temp_cpu_type == CPU_IBM386SLC || temp_cpu_type == CPU_IBM486SLC ); } diff --git a/src/pc.c b/src/pc.c index 5c8695b39..9276ad255 100644 --- a/src/pc.c +++ b/src/pc.c @@ -928,7 +928,7 @@ void pc_thread(void *param) { wchar_t temp[200], wcpufamily[2048], wcpu[2048]; - wchar_t wmachine[2048]; + wchar_t wmachine[2048], *wcp; uint64_t start_time, end_time; uint32_t old_time, new_time; int done, drawits, frames; @@ -992,6 +992,9 @@ pc_thread(void *param) mbstowcs(wmachine, machine_getname(), strlen(machine_getname())+1); mbstowcs(wcpufamily, cpu_f->name, strlen(cpu_f->name)+1); + wcp = wcschr(wcpufamily, L'('); + if (wcp) /* remove parentheses */ + *(wcp - 1) = L'\0'; mbstowcs(wcpu, cpu_s->name, strlen(cpu_s->name)+1); swprintf(temp, sizeof_w(temp), diff --git a/src/win/win_settings.c b/src/win/win_settings.c index cfda94215..916f3595c 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -792,7 +792,7 @@ win_settings_machine_recalc_machine(HWND hdlg) fatal("No eligible CPU families for the selected machine\n"); settings_enable_window(hdlg, IDC_COMBO_CPU_TYPE, TRUE); if (current_eligible == -1) { - temp_cpu_f = &cpu_families[listtocpufamily[0]]; + temp_cpu_f = (cpu_family_t *) &cpu_families[listtocpufamily[0]]; settings_set_cur_sel(hdlg, IDC_COMBO_CPU_TYPE, 0); } else { settings_set_cur_sel(hdlg, IDC_COMBO_CPU_TYPE, current_eligible); @@ -960,7 +960,7 @@ win_settings_machine_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) break; case IDC_COMBO_CPU_TYPE: if (HIWORD(wParam) == CBN_SELCHANGE) { - temp_cpu_f = &cpu_families[listtocpufamily[settings_get_cur_sel(hdlg, IDC_COMBO_CPU_TYPE)]]; + temp_cpu_f = (cpu_family_t *) &cpu_families[listtocpufamily[settings_get_cur_sel(hdlg, IDC_COMBO_CPU_TYPE)]]; temp_cpu = 0; win_settings_machine_recalc_cpu_m(hdlg); }