Skip to content

Commit ebd39ef

Browse files
authored
Merge pull request 86Box#7947 from lemondrops/tables
Machine and CPU tables adjustments
2 parents a249758 + 4309ffb commit ebd39ef

4 files changed

Lines changed: 111 additions & 18 deletions

File tree

‎src/config.c‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ load_machine(void)
535535
p = ini_section_get_string(cat, "cpu_family", NULL);
536536
if (p) {
537537
/* Migrate CPU family changes. */
538-
if (machines[machine].init == machine_at_deskpro386_init)
538+
if ((machines[machine].init == machine_at_deskpro386_init) && !strcmp(p, "i386dx"))
539539
cpu_f = cpu_get_family("i386dx_deskpro386");
540540
else
541541
cpu_f = cpu_get_family(p);

‎src/cpu/cpu_table.c‎

Lines changed: 94 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@ FPU fpus_80286[] = {
5555
{ .name = "287XL", .internal_name = "287xl", .type = FPU_287XL },
5656
{ .name = NULL, .internal_name = NULL, .type = 0 }
5757
};
58+
FPU fpus_80286_80386[] = {
59+
{ .name = "None", .internal_name = "none", .type = FPU_NONE },
60+
{ .name = "287", .internal_name = "287", .type = FPU_287 },
61+
{ .name = "287XL", .internal_name = "287xl", .type = FPU_287XL },
62+
{ .name = "387", .internal_name = "387", .type = FPU_387 },
63+
{ .name = NULL, .internal_name = NULL, .type = 0 }
64+
};
5865
FPU fpus_80386[] = {
5966
{ .name = "None", .internal_name = "none", .type = FPU_NONE },
6067
{ .name = "387", .internal_name = "387", .type = FPU_387 },
@@ -1455,7 +1462,7 @@ const cpu_family_t cpu_families[] = {
14551462
{
14561463
.name = "16",
14571464
.cpu_type = CPU_386DX,
1458-
.fpus = fpus_80286,
1465+
.fpus = fpus_80286_80386,
14591466
.rspeed = 16000000,
14601467
.multi = 1,
14611468
.voltage = 5000,
@@ -1506,6 +1513,92 @@ const cpu_family_t cpu_families[] = {
15061513
{ .name = "", 0 }
15071514
}
15081515
},
1516+
{
1517+
.package = CPU_PKG_386DX_DESKPRO386,
1518+
.manufacturer = "Cyrix",
1519+
.name = "Cx486DLC",
1520+
.internal_name = "cx486dlc_deskpro386",
1521+
.cpus = (const CPU[]) {
1522+
{
1523+
.name = "25",
1524+
.cpu_type = CPU_486DLC,
1525+
.fpus = fpus_80386,
1526+
.rspeed = 25000000,
1527+
.multi = 1,
1528+
.voltage = 5000,
1529+
.edx_reset = 0x401,
1530+
.cpuid_model = 0,
1531+
.cyrix_id = 0x0001,
1532+
.cpu_flags = 0,
1533+
.mem_read_cycles = 4,
1534+
.mem_write_cycles = 4,
1535+
.cache_read_cycles = 2,
1536+
.cache_write_cycles = 3,
1537+
.atclk_div = 3
1538+
},
1539+
{ .name = "", 0 }
1540+
}
1541+
},
1542+
{
1543+
.package = CPU_PKG_386DX_DESKPRO386,
1544+
.manufacturer = "Cyrix",
1545+
.name = "Cx486DRx2",
1546+
.internal_name = "cx486drx2_deskpro386",
1547+
.cpus = (const CPU[]) {
1548+
{
1549+
.name = "32",
1550+
.cpu_type = CPU_486DLC,
1551+
.fpus = fpus_80386,
1552+
.rspeed = 32000000,
1553+
.multi = 2,
1554+
.voltage = 5000,
1555+
.edx_reset = 0x407,
1556+
.cpuid_model = 0,
1557+
.cyrix_id = 0x0007,
1558+
.cpu_flags = 0,
1559+
.mem_read_cycles = 6,
1560+
.mem_write_cycles = 6,
1561+
.cache_read_cycles = 6,
1562+
.cache_write_cycles = 6,
1563+
.atclk_div = 4
1564+
},
1565+
{
1566+
.name = "40",
1567+
.cpu_type = CPU_486DLC,
1568+
.fpus = fpus_80386,
1569+
.rspeed = 40000000,
1570+
.multi = 2,
1571+
.voltage = 5000,
1572+
.edx_reset = 0x407,
1573+
.cpuid_model = 0,
1574+
.cyrix_id = 0x0007,
1575+
.cpu_flags = 0,
1576+
.mem_read_cycles = 8,
1577+
.mem_write_cycles = 8,
1578+
.cache_read_cycles = 6,
1579+
.cache_write_cycles = 6,
1580+
.atclk_div = 6
1581+
},
1582+
{
1583+
.name = "50",
1584+
.cpu_type = CPU_486DLC,
1585+
.fpus = fpus_80386,
1586+
.rspeed = 50000000,
1587+
.multi = 2,
1588+
.voltage = 5000,
1589+
.edx_reset = 0x407,
1590+
.cpuid_model = 0,
1591+
.cyrix_id = 0x0007,
1592+
.cpu_flags = 0,
1593+
.mem_read_cycles = 8,
1594+
.mem_write_cycles = 8,
1595+
.cache_read_cycles = 6,
1596+
.cache_write_cycles = 6,
1597+
.atclk_div = 6
1598+
},
1599+
{ .name = "", 0 }
1600+
}
1601+
},
15091602
{
15101603
.package = CPU_PKG_386DX,
15111604
.manufacturer = "Intel",

‎src/machine/m_at_386dx.c‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ static const device_config_t deskpro386_config[] = {
6161
// clang-format off
6262
{
6363
.name = "bios",
64-
.description = "BIOS Date",
64+
.description = "BIOS Version",
6565
.type = CONFIG_BIOS,
6666
.default_string = "deskpro386",
6767
.default_int = 0,
@@ -70,7 +70,7 @@ static const device_config_t deskpro386_config[] = {
7070
.selection = { { 0 } },
7171
.bios = {
7272
{
73-
.name = "September 1986",
73+
.name = "4 September 1986",
7474
.internal_name = "deskpro386_09_1986",
7575
.bios_type = BIOS_NORMAL,
7676
.files_no = 1,
@@ -79,7 +79,7 @@ static const device_config_t deskpro386_config[] = {
7979
.files = { "roms/machines/deskpro386/1986-09-04-HI.json.bin", "" }
8080
},
8181
{
82-
.name = "May 1988",
82+
.name = "10 May 1988",
8383
.internal_name = "deskpro386",
8484
.bios_type = BIOS_NORMAL,
8585
.files_no = 1,

‎src/machine/machine_table.c‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3634,10 +3634,10 @@ const machine_t machines[] = {
36343634
.available_flag = MACHINE_AVAILABLE,
36353635
.gpio_acpi_handler = NULL,
36363636
.cpu = {
3637-
.package = CPU_PKG_286 | CPU_PKG_486SLC_IBM,
3637+
.package = CPU_PKG_286 | CPU_PKG_386SLC_IBM | CPU_PKG_486SLC_IBM,
36383638
.block = CPU_BLOCK_NONE,
36393639
.min_bus = 10000000,
3640-
.max_bus = 10000000,
3640+
.max_bus = 0,
36413641
.min_voltage = 0,
36423642
.max_voltage = 0,
36433643
.min_multi = 0,
@@ -5759,7 +5759,7 @@ const machine_t machines[] = {
57595759
.available_flag = MACHINE_AVAILABLE,
57605760
.gpio_acpi_handler = NULL,
57615761
.cpu = {
5762-
.package = CPU_PKG_286 | CPU_PKG_486SLC_IBM,
5762+
.package = CPU_PKG_286 | CPU_PKG_386SLC_IBM | CPU_PKG_486SLC_IBM,
57635763
.block = CPU_BLOCK_NONE,
57645764
.min_bus = 10000000,
57655765
.max_bus = 0,
@@ -5807,7 +5807,7 @@ const machine_t machines[] = {
58075807
.available_flag = MACHINE_AVAILABLE,
58085808
.gpio_acpi_handler = NULL,
58095809
.cpu = {
5810-
.package = CPU_PKG_286 | CPU_PKG_486SLC_IBM,
5810+
.package = CPU_PKG_286 | CPU_PKG_386SLC_IBM | CPU_PKG_486SLC_IBM,
58115811
.block = CPU_BLOCK_NONE,
58125812
.min_bus = 10000000,
58135813
.max_bus = 0,
@@ -7125,7 +7125,7 @@ const machine_t machines[] = {
71257125
.package = CPU_PKG_386SX,
71267126
.block = CPU_BLOCK_NONE,
71277127
.min_bus = 16000000,
7128-
.max_bus = 16000000,
7128+
.max_bus = 0,
71297129
.min_voltage = 0,
71307130
.max_voltage = 0,
71317131
.min_multi = 0,
@@ -7173,7 +7173,7 @@ const machine_t machines[] = {
71737173
.package = CPU_PKG_386SX,
71747174
.block = CPU_BLOCK_NONE,
71757175
.min_bus = 16000000,
7176-
.max_bus = 16000000,
7176+
.max_bus = 0,
71777177
.min_voltage = 0,
71787178
.max_voltage = 0,
71797179
.min_multi = 0,
@@ -7525,7 +7525,7 @@ const machine_t machines[] = {
75257525
.gpio_acpi_handler = NULL,
75267526
.cpu = {
75277527
.package = CPU_PKG_386DX_DESKPRO386,
7528-
.block = CPU_BLOCK(CPU_486DLC, CPU_RAPIDCAD),
7528+
.block = CPU_BLOCK_NONE,
75297529
.min_bus = 16000000,
75307530
.max_bus = 25000000,
75317531
.min_voltage = 0,
@@ -8209,7 +8209,7 @@ const machine_t machines[] = {
82098209
.package = CPU_PKG_386DX | CPU_PKG_486BL,
82108210
.block = CPU_BLOCK_NONE,
82118211
.min_bus = 20000000,
8212-
.max_bus = 20000000,
8212+
.max_bus = 0,
82138213
.min_voltage = 0,
82148214
.max_voltage = 0,
82158215
.min_multi = 0,
@@ -8257,7 +8257,7 @@ const machine_t machines[] = {
82578257
.package = CPU_PKG_386DX | CPU_PKG_486BL,
82588258
.block = CPU_BLOCK_NONE,
82598259
.min_bus = 20000000,
8260-
.max_bus = 20000000,
8260+
.max_bus = 0,
82618261
.min_voltage = 0,
82628262
.max_voltage = 0,
82638263
.min_multi = 0,
@@ -8548,7 +8548,7 @@ const machine_t machines[] = {
85488548
.package = CPU_PKG_386DX | CPU_PKG_486BL | CPU_PKG_SOCKET1,
85498549
.block = CPU_BLOCK_NONE,
85508550
.min_bus = 25000000,
8551-
.max_bus = 25000000,
8551+
.max_bus = 0,
85528552
.min_voltage = 5000,
85538553
.max_voltage = 5000,
85548554
.min_multi = 0,
@@ -8596,7 +8596,7 @@ const machine_t machines[] = {
85968596
.package = CPU_PKG_386DX | CPU_PKG_486BL | CPU_PKG_SOCKET1,
85978597
.block = CPU_BLOCK_NONE,
85988598
.min_bus = 25000000,
8599-
.max_bus = 25000000,
8599+
.max_bus = 0,
86008600
.min_voltage = 5000,
86018601
.max_voltage = 5000,
86028602
.min_multi = 0,
@@ -8644,7 +8644,7 @@ const machine_t machines[] = {
86448644
.package = CPU_PKG_386DX | CPU_PKG_486BL | CPU_PKG_SOCKET1,
86458645
.block = CPU_BLOCK_NONE,
86468646
.min_bus = 25000000,
8647-
.max_bus = 25000000,
8647+
.max_bus = 0,
86488648
.min_voltage = 5000,
86498649
.max_voltage = 5000,
86508650
.min_multi = 0,
@@ -9762,7 +9762,7 @@ const machine_t machines[] = {
97629762
.package = CPU_PKG_SOCKET1,
97639763
.block = CPU_BLOCK(CPU_i486SX, CPU_i486SX_SLENH, CPU_Am486SX, CPU_Cx486S),
97649764
.min_bus = 25000000,
9765-
.max_bus = 25000000,
9765+
.max_bus = 0,
97669766
.min_voltage = 5000,
97679767
.max_voltage = 5000,
97689768
.min_multi = 0,

0 commit comments

Comments
 (0)