diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 48324bc99..69784b1e1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -44,10 +44,6 @@ if(VNC) target_link_libraries(86Box vnc vncserver ws2_32) endif() -if(STPC) - add_compile_definitions(USE_STPC) -endif() - target_link_libraries(86Box cpu chipset mch dev mem fdd game cdrom zip mo hdd net print scsi sio snd vid plat ui) diff --git a/src/chipset/CMakeLists.txt b/src/chipset/CMakeLists.txt index c68d5475a..e10c54dcd 100644 --- a/src/chipset/CMakeLists.txt +++ b/src/chipset/CMakeLists.txt @@ -17,15 +17,10 @@ add_library(chipset OBJECT acc2168.c cs8230.c ali1217.c ali1429.c headland.c int cs4031.c intel_420ex.c intel_4x0.c intel_sio.c intel_piix.c ../ioapic.c neat.c opti495.c opti895.c opti5x7.c scamp.c scat.c via_vt82c49x.c via_vt82c505.c sis_85c310.c sis_85c4xx.c sis_85c496.c sis_85c50x.c - gc100.c - olivetti_eva.c + gc100.c olivetti_eva.c stpc.c opti283.c opti291.c via_apollo.c via_pipc.c wd76c10.c vl82c480.c) -if(STPC) - target_sources(chipset PRIVATE stpc.c) -endif() - if(M1489) target_sources(chipset PRIVATE ali1489.c) endif() diff --git a/src/chipset/ali6117.c b/src/chipset/ali6117.c index e5dd880f2..3c3e0f812 100644 --- a/src/chipset/ali6117.c +++ b/src/chipset/ali6117.c @@ -6,7 +6,7 @@ * * This file is part of the 86Box distribution. * - * Implementation of the ALi M6117D SoC. + * Implementation of the ALi M6117 SoC. * * * @@ -34,6 +34,7 @@ #include <86box/port_92.h> #include <86box/usb.h> #include <86box/hdc.h> +#include <86box/hdc_ide.h> #include <86box/chipset.h> @@ -77,7 +78,7 @@ ali6117_recalcmapping(ali6117_t *dev) shadowbios = 0; shadowbios_write = 0; - ali6117_log("ALI6117: Shadowing for a0000-bffff (reg 12) = %s\n", (dev->regs[0x12] & 0x02) ? "on" : "off"); + ali6117_log("ALI6117: Shadowing for A0000-BFFFF (reg 12 bit 1) = %s\n", (dev->regs[0x12] & 0x02) ? "on" : "off"); mem_set_mem_state(0xa0000, 0x20000, (dev->regs[0x12] & 0x02) ? (MEM_WRITE_INTERNAL | MEM_READ_INTERNAL) : (MEM_WRITE_EXTANY | MEM_READ_EXTANY)); for (reg = 0; reg <= 1; reg++) { @@ -149,7 +150,7 @@ ali6117_reg_write(uint16_t addr, uint8_t val, void *priv) case 0x20: val &= 0xbf; - refresh_at_enable = (val & 0x02); + refresh_at_enable = !!(val & 0x80); break; case 0x31: @@ -175,8 +176,11 @@ ali6117_reg_write(uint16_t addr, uint8_t val, void *priv) break; case 0x3c: - /* TODO: IDE channel selection (bit 0, secondary if set) */ val &= 0x8f; + ide_pri_disable(); + ide_set_base(1, (val & 0x01) ? 0x170 : 0x1f0); + ide_set_side(1, (val & 0x01) ? 0x376 : 0x3f6); + ide_pri_enable(); break; case 0x44: case 0x45: diff --git a/src/config.c b/src/config.c index f4026f4a3..32ffd1e4d 100644 --- a/src/config.c +++ b/src/config.c @@ -518,6 +518,32 @@ load_machine(void) if (p != NULL) { if (! strcmp(p, "8500ttc")) /* fix typo */ machine = machine_get_machine_from_internal_name("8600ttc"); + else if (! strcmp(p, "eagle_pcspirit")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("pcspirit"); + else if (! strcmp(p, "multitech_pc700")) /*migrate legacy name */ + machine = machine_get_machine_from_internal_name("pc700"); + else if (! strcmp(p, "ncr_pc4i")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("pc4i"); + else if (! strcmp(p, "olivetti_m19")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("m19"); + else if (! strcmp(p, "open_xt")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("openxt"); + else if (! strcmp(p, "philips_p3105")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("p3105"); + else if (! strcmp(p, "philips_p3120")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("p3120"); + else if (! strcmp(p, "olivetti_m24")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("m24"); + else if (! strcmp(p, "olivetti_m240")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("m240"); + else if (! strcmp(p, "ncr_pc8")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("pc8"); + else if (! strcmp(p, "olivetti_m290")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("m290"); + else if (! strcmp(p, "cbm_sl386sx16")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("cmdsl386sx16"); + else if (! strcmp(p, "cbm_sl386sx25")) /* migrate legacy name */ + machine = machine_get_machine_from_internal_name("cmdsl386sx25"); else if (! strcmp(p, "president")) /* migrate removed machine */ machine = machine_get_machine_from_internal_name("mb500n"); else if (! strcmp(p, "j656vxd")) /* migrate removed machine */ diff --git a/src/cpu/cpu_table.c b/src/cpu/cpu_table.c index 73b7169bd..dda032c19 100644 --- a/src/cpu/cpu_table.c +++ b/src/cpu/cpu_table.c @@ -191,8 +191,8 @@ const cpu_family_t cpu_families[] = { .name = "M6117", .internal_name = "m6117", .cpus = (const CPU[]) { /* All timings and edx_reset values assumed. */ - {"33", CPU_386DX, fpus_80386, 33333333, 1, 5000, 0x2308, 0, 0, 0, 6,6,3,3, 4}, - {"40", CPU_386DX, fpus_80386, 40000000, 1, 5000, 0x2308, 0, 0, 0, 7,7,3,3, 5}, + {"33", CPU_386SX, fpus_none, 33333333, 1, 5000, 0x2308, 0, 0, 0, 6,6,3,3, 4}, + {"40", CPU_386SX, fpus_none, 40000000, 1, 5000, 0x2308, 0, 0, 0, 7,7,3,3, 5}, {"", 0} } }, @@ -461,6 +461,7 @@ const cpu_family_t cpu_families[] = { {"25", CPU_Cx486S, fpus_486sx, 25000000, 1.0, 5000, 0x420, 0, 0x0010, CPU_SUPPORTS_DYNAREC, 4, 4, 3, 3, 3}, {"33", CPU_Cx486S, fpus_486sx, 33333333, 1.0, 5000, 0x420, 0, 0x0010, CPU_SUPPORTS_DYNAREC, 6, 6, 3, 3, 4}, {"40", CPU_Cx486S, fpus_486sx, 40000000, 1.0, 5000, 0x420, 0, 0x0010, CPU_SUPPORTS_DYNAREC, 7, 7, 3, 3, 5}, + {"", 0} } }, { .package = CPU_PKG_SOCKET1, @@ -505,9 +506,7 @@ const cpu_family_t cpu_families[] = { {"133", CPU_Cx5x86, fpus_internal, 133333333, 4.0, 5000, 0x480, 0, 0x002f, CPU_SUPPORTS_DYNAREC, 24,24,12,12, 16}, {"", 0} } - }, -#if defined(DEV_BRANCH) && defined(USE_STPC) - { + }, { .package = CPU_PKG_STPC, .manufacturer = "ST", .name = "STPC-DX", @@ -526,9 +525,7 @@ const cpu_family_t cpu_families[] = { {"133", CPU_Cx486DX2, fpus_internal, 133333333, 2.0, 3300, 0x430, 0, 0x0b1b, CPU_SUPPORTS_DYNAREC, 14,14, 6, 6, 10}, {"", 0} } - }, -#endif - { + }, { .package = CPU_PKG_SOCKET4, .manufacturer = "Intel", .name = "Pentium", diff --git a/src/device/smbus_piix4.c b/src/device/smbus_piix4.c index e9156bf62..f3b14eda0 100644 --- a/src/device/smbus_piix4.c +++ b/src/device/smbus_piix4.c @@ -127,7 +127,7 @@ smbus_piix4_write(uint16_t addr, uint8_t val, void *priv) smbus_addr = (dev->addr >> 1); read = dev->addr & 0x01; - cmd = (val >> 2) & 0xf; + cmd = (dev->ctl >> 2) & 0xf; smbus_piix4_log("SMBus PIIX4: addr=%02X read=%d protocol=%X cmd=%02X data0=%02X data1=%02X\n", smbus_addr, read, cmd, dev->cmd, dev->data0, dev->data1); /* Raise DEV_ERR if no device is at this address, or if the device returned NAK when starting the transfer. */ @@ -264,7 +264,7 @@ smbus_piix4_write(uint16_t addr, uint8_t val, void *priv) /* block write [data0] bytes */ for (i = 0; i < dev->data0; i++) { if (!i2c_write(i2c_smbus, smbus_addr, dev->data[i & SMBUS_PIIX4_BLOCK_DATA_MASK])) - break; + break; /* write NAK behavior is unknown */ } timer_bytes += i; diff --git a/src/floppy/fdc.c b/src/floppy/fdc.c index 2809670dd..546cdf4f8 100644 --- a/src/floppy/fdc.c +++ b/src/floppy/fdc.c @@ -1245,7 +1245,7 @@ fdc_write(uint16_t addr, uint8_t val, void *priv) } return; case 7: - if (!(fdc->flags & FDC_FLAG_TOSHIBA) && !(fdc->flags & FDC_FLAG_AT)) + if (!(fdc->flags & FDC_FLAG_TOSHIBA) && !(fdc->flags & FDC_FLAG_AT) && !(fdc->flags & FDC_FLAG_UMC)) return; fdc->rate = val & 0x03; if (fdc->flags & FDC_FLAG_PS1) @@ -1294,7 +1294,7 @@ fdc_read(uint16_t addr, void *priv) ret = 0x00; /* -Drive 2 Installed */ if (!fdd_get_type(1)) - ret |= 80; + ret |= 0x80; /* -Drive Select 1,0 */ switch (drive) { case 0: @@ -1313,6 +1313,12 @@ fdc_read(uint16_t addr, void *priv) } else { if (is486 || !fdc->enable_3f1) ret = 0xff; + else{ + if(fdc->flags & FDC_FLAG_UMC) + { + drive = real_drive(fdc, fdc->dor & 1); + ret = !fdd_is_dd(drive) ? ((fdc->dor & 1) ? 2 : 1) : 0; + } else { ret = 0x70; @@ -1328,6 +1334,7 @@ fdc_read(uint16_t addr, void *priv) if (fdc->dor & 0x20) ret |= 2; } + } } break; case 2: @@ -2178,10 +2185,12 @@ fdc_set_base(fdc_t *fdc, int base) if (fdc->flags & FDC_FLAG_PCJR) io_sethandler(base, 0x0010, fdc_read, NULL, NULL, fdc_write, NULL, NULL, fdc); else { + if(fdc->flags & FDC_FLAG_UMC) + io_sethandler(base + 0x0001, 0x0001, fdc_read, NULL, NULL, NULL, NULL, NULL, fdc); io_sethandler(base + 0x0002, 0x0001, NULL, NULL, NULL, fdc_write, NULL, NULL, fdc); io_sethandler(base + 0x0004, 0x0001, fdc_read, NULL, NULL, NULL, NULL, NULL, fdc); io_sethandler(base + 0x0005, 0x0001, fdc_read, NULL, NULL, fdc_write, NULL, NULL, fdc); - if (fdc->flags & FDC_FLAG_TOSHIBA) + if ((fdc->flags & FDC_FLAG_TOSHIBA) || (fdc->flags & FDC_FLAG_UMC)) io_sethandler(base + 0x0007, 0x0001, fdc_read, NULL, NULL, fdc_write, NULL, NULL, fdc); } } @@ -2209,10 +2218,12 @@ fdc_remove(fdc_t *fdc) if (fdc->flags & FDC_FLAG_PCJR) io_removehandler(fdc->base_address, 0x0010, fdc_read, NULL, NULL, fdc_write, NULL, NULL, fdc); else { + if(fdc->flags & FDC_FLAG_UMC) + io_removehandler(fdc->base_address + 0x0001, 0x0001, fdc_read, NULL, NULL, NULL, NULL, NULL, fdc); io_removehandler(fdc->base_address + 0x0002, 0x0001, NULL, NULL, NULL, fdc_write, NULL, NULL, fdc); io_removehandler(fdc->base_address + 0x0004, 0x0001, fdc_read, NULL, NULL, NULL, NULL, NULL, fdc); io_removehandler(fdc->base_address + 0x0005, 0x0001, fdc_read, NULL, NULL, fdc_write, NULL, NULL, fdc); - if (fdc->flags & FDC_FLAG_TOSHIBA) + if ((fdc->flags & FDC_FLAG_TOSHIBA) || (fdc->flags & FDC_FLAG_UMC)) io_removehandler(fdc->base_address + 0x0007, 0x0001, fdc_read, NULL, NULL, fdc_write, NULL, NULL, fdc); } } @@ -2445,3 +2456,13 @@ const device_t fdc_dp8473_device = { fdc_reset, { NULL }, NULL, NULL }; + +const device_t fdc_um8398_device = { + "UMC UM8398 Floppy Drive Controller", + 0, + FDC_FLAG_UMC, + fdc_init, + fdc_close, + fdc_reset, + { NULL }, NULL, NULL +}; diff --git a/src/floppy/fdc_magitronic.c b/src/floppy/fdc_magitronic.c index 3b7ceb64d..ea754187e 100644 --- a/src/floppy/fdc_magitronic.c +++ b/src/floppy/fdc_magitronic.c @@ -34,12 +34,56 @@ #define ROM_B215 L"roms/floppy/magitronic/Magitronic B215 - BIOS ROM.bin" #define ROM_ADDR (uint32_t)(device_get_config_hex20("bios_addr") & 0x000fffff) +#define DRIVE_SELECT (int)(real_drive(dev->fdc_controller, i)) typedef struct { fdc_t *fdc_controller; rom_t rom; } b215_t; +static uint8_t +b215_read(uint16_t addr, void *priv) +{ + b215_t *dev = (b215_t *)priv; + + /* + Register 3F0h + + Bit (3-2) for Drive B: + Bit (1-0) for Drive A: + 0: 360KB + 1: 1.2MB + 2: 720KB + 3: 1.44MB + 4: +*/ + int drive_spec[2]; + + for (int i = 0; i <= 1; i++) + { + if (fdd_is_525(DRIVE_SELECT)) + { + if (!fdd_is_dd(DRIVE_SELECT)) + drive_spec[i] = 1; + else if (fdd_doublestep_40(DRIVE_SELECT)) + drive_spec[i] = 2; + else + drive_spec[i] = 0; + } + else + { + if (fdd_is_dd(DRIVE_SELECT) && !fdd_is_double_sided(DRIVE_SELECT)) + drive_spec[i] = 0; + else if (fdd_is_dd(DRIVE_SELECT) && fdd_is_double_sided(DRIVE_SELECT)) + drive_spec[i] = 2; + else + drive_spec[i] = 3; + } + } + + return ((drive_spec[1] << 2) | drive_spec[0]) & 0x0f; +} + static void b215_close(void *priv) { @@ -56,7 +100,8 @@ b215_init(const device_t *info) rom_init(&dev->rom, ROM_B215, ROM_ADDR, 0x2000, 0x1fff, 0, MEM_MAPPING_EXTERNAL); - device_add(&fdc_at_device); + dev->fdc_controller = device_add(&fdc_um8398_device); + io_sethandler(0x03f0, 1, b215_read, NULL, NULL, NULL, NULL, NULL, dev); return dev; } diff --git a/src/floppy/fdc_pii15xb.c b/src/floppy/fdc_pii15xb.c index 1a6fc8fad..cf97a1fba 100644 --- a/src/floppy/fdc_pii15xb.c +++ b/src/floppy/fdc_pii15xb.c @@ -54,7 +54,7 @@ MiniMicro 4 uses a Zilog Z0765A08PSC(Clone of the NEC 765) MiniMicro 1 uses a National Semiconductor DP8473(Clone of the NEC 765 with additional NSC commands) Issues: -MiniMicro 4 WON'T WORK with XT machines. This statement has to be confirmed by someone with the real card itself. +MiniMicro 4 works only with a few XT machines. This statement has to be confirmed by someone with the real card itself. MiniMicro 4 also won't work with the XT FDC which the Zilog claims to be. */ @@ -77,7 +77,7 @@ MiniMicro 4 also won't work with the XT FDC which the Zilog claims to be. #include <86box/fdc_ext.h> #define DTK_VARIANT ((info->local == 158) ? ROM_PII_158B : ROM_PII_151B) -#define DTK_CHIP ((info->local == 158) ? &fdc_at_device : &fdc_dp8473_device) +#define DTK_CHIP ((info->local == 158) ? &fdc_xt_device : &fdc_dp8473_device) #define BIOS_ADDR (uint32_t)(device_get_config_hex20("bios_addr") & 0x000fffff) #define ROM_PII_151B L"roms/floppy/dtk/pii-151b.rom" #define ROM_PII_158B L"roms/floppy/dtk/pii-158b.rom" diff --git a/src/include/86box/chipset.h b/src/include/86box/chipset.h index f5c7e5f37..dc42e7889 100644 --- a/src/include/86box/chipset.h +++ b/src/include/86box/chipset.h @@ -110,14 +110,12 @@ extern const device_t sis_5571_device; #endif /* ST */ -#if defined(DEV_BRANCH) && defined(USE_STPC) extern const device_t stpc_client_device; extern const device_t stpc_consumer2_device; extern const device_t stpc_elite_device; extern const device_t stpc_atlas_device; extern const device_t stpc_serial_device; extern const device_t stpc_lpt_device; -#endif /* VIA */ extern const device_t via_vt82c49x_device; diff --git a/src/include/86box/fdc.h b/src/include/86box/fdc.h index b818258de..b51f93625 100644 --- a/src/include/86box/fdc.h +++ b/src/include/86box/fdc.h @@ -34,6 +34,7 @@ extern int fdc_type; #define FDC_FLAG_NSC 0x80 /* PC87306, PC87309 */ #define FDC_FLAG_TOSHIBA 0x100 /* T1000, T1200 */ #define FDC_FLAG_AMSTRAD 0x200 /* Non-AT Amstrad machines */ +#define FDC_FLAG_UMC 0x400 /* UMC UM8398 */ typedef struct { @@ -179,6 +180,7 @@ extern const device_t fdc_at_smc_device; extern const device_t fdc_at_winbond_device; extern const device_t fdc_at_nsc_device; extern const device_t fdc_dp8473_device; +extern const device_t fdc_um8398_device; #endif #endif /*EMU_FDC_H*/ diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 57dc8ee3c..a419de290 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -347,12 +347,10 @@ extern int machine_at_486vipio2_init(const machine_t *); extern int machine_at_abpb4_init(const machine_t *); extern int machine_at_win486pci_init(const machine_t *); #endif -#if defined(DEV_BRANCH) && defined(USE_STPC) extern int machine_at_itoxstar_init(const machine_t *); extern int machine_at_arb1479_init(const machine_t *); extern int machine_at_pcm9340_init(const machine_t *); extern int machine_at_pcm5330_init(const machine_t *); -#endif #ifdef EMU_DEVICE_H extern const device_t *at_acera1g_get_device(void); diff --git a/src/machine/m_at_286_386sx.c b/src/machine/m_at_286_386sx.c index 1a0db4d98..b78e0ee33 100644 --- a/src/machine/m_at_286_386sx.c +++ b/src/machine/m_at_286_386sx.c @@ -58,6 +58,8 @@ machine_at_mr286_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -68,6 +70,8 @@ static void machine_at_headland_common_init(int ht386) { device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); if (ht386) @@ -138,7 +142,10 @@ machine_at_quadt286_init(const machine_t *model) machine_at_common_init(model); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&headland_gc10x_device); return ret; @@ -159,6 +166,8 @@ machine_at_neat_init(const machine_t *model) machine_at_init(model); device_add(&neat_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -179,6 +188,8 @@ machine_at_neat_ami_init(const machine_t *model) machine_at_common_init(model); device_add(&neat_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); device_add(&keyboard_at_ami_device); @@ -200,7 +211,10 @@ machine_at_px286_init(const machine_t *model) machine_at_common_init(model); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&neat_device); return ret; @@ -221,6 +235,8 @@ machine_at_micronics386_init(const machine_t *model) machine_at_init(model); device_add(&neat_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -232,6 +248,8 @@ machine_at_scat_init(const machine_t *model, int is_v4) { machine_at_common_init(model); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); if (is_v4) @@ -247,6 +265,8 @@ machine_at_scatsx_init(const machine_t *model) machine_at_common_init(model); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); device_add(&scat_sx_device); @@ -436,6 +456,8 @@ machine_at_shuttle386sx_init(const machine_t *model) device_add(&intel_82335_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -458,6 +480,8 @@ machine_at_adi386sx_init(const machine_t *model) device_add(&intel_82335_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -504,7 +528,10 @@ machine_at_commodore_sl386sx16_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&neat_device); /* Two serial ports - on the real hardware SL386SX-16, they are on the single UMC UM82C452. */ device_add_inst(&ns16450_device, 1); @@ -520,7 +547,10 @@ machine_at_scamp_common_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&keyboard_ps2_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&vlsi_scamp_device); } @@ -593,6 +623,8 @@ machine_at_awardsx_init(const machine_t *model) machine_at_init(model); device_add(&opti291_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -691,6 +723,8 @@ machine_at_ncrpc8_init(const machine_t *model) machine_at_common_init(model); device_add(&keyboard_at_ncr_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -719,10 +753,12 @@ machine_at_ncr3302_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&neat_device); device_add(&keyboard_at_ncr_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); if (gfxcard == VID_INTERNAL) - device_add(¶dise_pvga1a_device); + device_add(¶dise_pvga1a_ncr3302_device); return ret; } @@ -748,6 +784,7 @@ machine_at_ncrpc916sx_init(const machine_t *model) device_add(&keyboard_at_ncr_device); mem_remap_top(384); + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -769,7 +806,7 @@ machine_at_olim290_init(const machine_t *model) device_add(&keyboard_at_olivetti_device); if (fdc_type == FDC_INTERNAL) - device_add(&fdc_at_device); + device_add(&fdc_at_device); device_add(&olivetti_eva_device); @@ -801,7 +838,7 @@ machine_at_olim300_08_init(const machine_t *model) device_add(&pc87310_ide_device); if (gfxcard == VID_INTERNAL) - device_add(&oti067_m300_device); + device_add(&oti067_m300_device); return ret; } @@ -826,7 +863,7 @@ machine_at_olim300_15_init(const machine_t *model) /* Stock VRAM is maxed out, so no need to expose video card config */ if (gfxcard == VID_INTERNAL) - device_add(&oti067_m300_device); + device_add(&oti067_m300_device); return ret; } diff --git a/src/machine/m_at_386dx_486.c b/src/machine/m_at_386dx_486.c index a0f8494b3..9dd3b5fbe 100644 --- a/src/machine/m_at_386dx_486.c +++ b/src/machine/m_at_386dx_486.c @@ -34,6 +34,7 @@ #include <86box/pci.h> #include <86box/fdd.h> #include <86box/fdc.h> +#include <86box/fdc_ext.h> #include <86box/rom.h> #include <86box/sio.h> #include <86box/hdc.h> @@ -57,6 +58,8 @@ machine_at_acc386_init(const machine_t *model) machine_at_common_init(model); device_add(&acc2168_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -77,6 +80,8 @@ machine_at_asus386_init(const machine_t *model) machine_at_common_init(model); device_add(&rabbit_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -97,6 +102,8 @@ machine_at_sis401_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&sis_85c401_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -117,6 +124,8 @@ machine_at_av4_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&sis_85c460_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -137,6 +146,8 @@ machine_at_valuepoint433_init(const machine_t *model) // hangs without the PS/2 machine_at_common_ide_init(model); device_add(&sis_85c461_device); device_add(&keyboard_ps2_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -157,7 +168,10 @@ machine_at_ecs386_init(const machine_t *model) machine_at_common_init(model); device_add(&cs8230_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&keyboard_at_ami_device); return ret; @@ -178,7 +192,10 @@ machine_at_spc6000a_init(const machine_t *model) machine_at_common_init_ex(model, 1); device_add(&cs8230_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&keyboard_at_samsung_device); return ret; @@ -200,6 +217,8 @@ machine_at_rycleopardlx_init(const machine_t *model) device_add(&opti283_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -221,6 +240,8 @@ machine_at_486vchd_init(const machine_t *model) device_add(&via_vt82c49x_device); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -241,6 +262,8 @@ machine_at_cs4031_init(const machine_t *model) machine_at_common_init(model); device_add(&cs4031_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -326,9 +349,11 @@ machine_at_acera1g_init(const machine_t *model) device_add(&ali1429_device); device_add(&keyboard_ps2_acer_pci_device); - device_add(&fdc_at_device); device_add(&ide_isa_2ch_device); + if (fdc_type == FDC_INTERNAL) + device_add(&fdc_at_device); + return ret; } @@ -348,6 +373,8 @@ machine_at_ali1429_common_init(const machine_t *model) device_add(&ali1429_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); } @@ -402,6 +429,8 @@ machine_at_opti495_init(const machine_t *model) device_add(&opti495_device); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -416,6 +445,8 @@ machine_at_opti495_ami_common_init(const machine_t *model) device_add(&opti495_device); device_add(&keyboard_at_ami_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); } @@ -469,6 +500,8 @@ machine_at_403tg_init(const machine_t *model) device_add(&opti895_device); device_add(&keyboard_at_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); return ret; @@ -522,6 +555,8 @@ static void machine_at_sis_85c471_common_init(const machine_t *model) { machine_at_common_init(model); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); device_add(&sis_85c471_device); @@ -884,6 +919,8 @@ machine_at_486ap4_init(const machine_t *model) pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 0b = Slot 3 */ pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 0c = Slot 4 */ device_add(&keyboard_ps2_ami_pci_device); /* Uses the AMIKEY KBC */ + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); device_add(&i420ex_device); @@ -979,7 +1016,6 @@ machine_at_win486pci_init(const machine_t *model) #endif -#if defined(DEV_BRANCH) && defined(USE_STPC) int machine_at_itoxstar_init(const machine_t *model) { @@ -1094,4 +1130,3 @@ machine_at_pcm5330_init(const machine_t *model) return ret; } -#endif diff --git a/src/machine/m_at_commodore.c b/src/machine/m_at_commodore.c index 51f8e56b4..eaf847602 100644 --- a/src/machine/m_at_commodore.c +++ b/src/machine/m_at_commodore.c @@ -45,6 +45,7 @@ #include <86box/timer.h> #include <86box/io.h> #include <86box/mem.h> +#include <86box/fdc_ext.h> #include <86box/lpt.h> #include <86box/rom.h> #include <86box/serial.h> @@ -108,7 +109,9 @@ machine_at_cmdpc_init(const machine_t *model) mem_remap_top(384); + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + cmd_uart = device_add(&i8250_device); cbm_io_init(); diff --git a/src/machine/m_at_socket4_5.c b/src/machine/m_at_socket4_5.c index 84c6e97d2..3fdea739d 100644 --- a/src/machine/m_at_socket4_5.c +++ b/src/machine/m_at_socket4_5.c @@ -28,6 +28,7 @@ #include <86box/pci.h> #include <86box/device.h> #include <86box/chipset.h> +#include <86box/fdc_ext.h> #include <86box/hdc.h> #include <86box/hdc_ide.h> #include <86box/timer.h> @@ -98,7 +99,10 @@ machine_at_award_common_init(const machine_t *model) pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 06 = Slot 4 */ pci_register_slot(0x07, PCI_CARD_SCSI, 1, 2, 3, 4); /* 07 = SCSI */ pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&keyboard_ps2_pci_device); } diff --git a/src/machine/m_at_t3100e.c b/src/machine/m_at_t3100e.c index a5a7b9903..d04c4e2a0 100644 --- a/src/machine/m_at_t3100e.c +++ b/src/machine/m_at_t3100e.c @@ -163,6 +163,7 @@ #include "cpu.h" #include <86box/fdd.h> #include <86box/fdc.h> +#include <86box/fdc_ext.h> #include <86box/machine.h> #include <86box/m_at_t3100e.h> @@ -761,8 +762,12 @@ int machine_at_t3100e_init(const machine_t *model) machine_at_common_ide_init(model); device_add(&keyboard_at_toshiba_device); - device_add(&fdc_at_device); + if (fdc_type == FDC_INTERNAL) + { + device_add(&fdc_at_device); + } + /* Hook up system control port */ io_sethandler(0x8084, 0x0001, t3100e_sys_in, NULL, NULL, diff --git a/src/machine/m_ps2_mca.c b/src/machine/m_ps2_mca.c index 3295fc884..bb87bfb85 100644 --- a/src/machine/m_ps2_mca.c +++ b/src/machine/m_ps2_mca.c @@ -57,6 +57,7 @@ #include <86box/device.h> #include <86box/fdd.h> #include <86box/fdc.h> +#include <86box/fdc_ext.h> #include <86box/nvr.h> #include <86box/nvr_ps2.h> #include <86box/keyboard.h> @@ -1259,6 +1260,8 @@ static void machine_ps2_common_init(const machine_t *model) { machine_common_init(model); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); dma16_init(); diff --git a/src/machine/m_xt_laserxt.c b/src/machine/m_xt_laserxt.c index 20c0e21ff..6b360353d 100644 --- a/src/machine/m_xt_laserxt.c +++ b/src/machine/m_xt_laserxt.c @@ -16,6 +16,7 @@ #include <86box/timer.h> #include <86box/fdd.h> #include <86box/fdc.h> +#include <86box/fdc_ext.h> #include <86box/gameport.h> #include <86box/keyboard.h> @@ -169,6 +170,8 @@ machine_xt_lxt3_init(const machine_t *model) pit_ctr_set_out_func(&pit->counters[1], pit_refresh_timer_xt); device_add(&keyboard_xt_lxt3_device); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_xt_device); nmi_init(); if (joystick_type) diff --git a/src/machine/m_xt_olivetti.c b/src/machine/m_xt_olivetti.c index ec2cfb8e9..78b405398 100644 --- a/src/machine/m_xt_olivetti.c +++ b/src/machine/m_xt_olivetti.c @@ -724,6 +724,9 @@ machine_xt_olim24_init(const machine_t *model) memset(m24_kbd, 0x00, sizeof(olim24_kbd_t)); machine_common_init(model); + + /* On-board FDC can be disabled only on M24SP */ + if (fdc_type == FDC_INTERNAL) device_add(&fdc_xt_device); /* Address 66-67 = mainboard dip-switch settings */ @@ -810,6 +813,8 @@ machine_xt_olim19_init(const machine_t *model) memset(vid, 0x00, sizeof(olim19_vid_t)); machine_common_init(model); + + /* On-board FDC cannot be disabled */ device_add(&fdc_xt_device); m19_vid_init(vid); diff --git a/src/machine/m_xt_philips.c b/src/machine/m_xt_philips.c index 11af6835d..d5e003712 100644 --- a/src/machine/m_xt_philips.c +++ b/src/machine/m_xt_philips.c @@ -72,7 +72,7 @@ philips_write(uint16_t port, uint8_t val, void *priv) { /* port 0xc0 * bit 7: turbo - * bits 4-5: rtc read/set + * bits 4-5: rtc read/set (I2C Bus SDA/SCL?) * bit 2: parity disabled */ case 0xc0: @@ -151,13 +151,13 @@ machine_xt_philips_common_init(const machine_t *model) pit_ctr_set_out_func(&pit->counters[1], pit_refresh_timer_xt); - if (fdc_type == FDC_INTERNAL) - device_add(&fdc_xt_device); + /* On-board FDC cannot be disabled */ + device_add(&fdc_xt_device); nmi_init(); if (joystick_type) - device_add(&gameport_device); + device_add(&gameport_device); device_add(&keyboard_pc_device); diff --git a/src/machine/m_xt_xi8088.c b/src/machine/m_xt_xi8088.c index 39fe5e2cf..93948bddf 100644 --- a/src/machine/m_xt_xi8088.c +++ b/src/machine/m_xt_xi8088.c @@ -11,6 +11,7 @@ #include <86box/device.h> #include <86box/fdd.h> #include <86box/fdc.h> +#include <86box/fdc_ext.h> #include <86box/nmi.h> #include <86box/nvr.h> #include <86box/gameport.h> @@ -172,7 +173,10 @@ machine_xt_xi8088_init(const machine_t *model) /* TODO: set UMBs? See if PCem always sets when we have > 640KB ram and avoids conflicts when a peripheral uses the same memory space */ machine_common_init(model); + + if (fdc_type == FDC_INTERNAL) device_add(&fdc_at_device); + device_add(&keyboard_ps2_xi8088_device); nmi_init(); device_add(&ibmat_nvr_device); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 959962e1d..8c7b6cd71 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -66,14 +66,14 @@ const machine_t machines[] = { { "[8088] Columbia Data Products MPC-1600", "mpc1600", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 512, 64, 0, machine_xt_mpc1600_init, NULL }, { "[8088] Compaq Portable", "portable", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_compaq_portable_init, NULL }, { "[8088] DTK XT clone", "dtk", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_dtk_init, NULL }, - { "[8088] Eagle PC Spirit", "eagle_pcspirit", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_eaglepcspirit_init, NULL }, + { "[8088] Eagle PC Spirit", "pcspirit", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_eaglepcspirit_init, NULL }, { "[8088] Generic XT clone", "genxt", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_genxt_init, NULL }, { "[8088] Juko XT clone", "jukopc", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_jukopc_init, NULL }, - { "[8088] Multitech PC-700", "multitech_pc700", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_multitechpc700_init, NULL }, - { "[8088] NCR PC4i", "ncr_pc4i", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 256, 640, 256, 0, machine_xt_ncrpc4i_init, NULL }, - { "[8088] Olivetti M19", "olivetti_m19", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 256, 640, 256, 0, machine_xt_olim19_init, NULL }, - { "[8088] OpenXT", "open_xt", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_open_xt_init, NULL }, - { "[8088] Philips P3105/NMS9100", "philips_p3105", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_XTA, 256, 768, 128, 0, machine_xt_p3105_init, NULL }, + { "[8088] Multitech PC-700", "pc700", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_multitechpc700_init, NULL }, + { "[8088] NCR PC4i", "pc4i", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 256, 640, 256, 0, machine_xt_ncrpc4i_init, NULL }, + { "[8088] Olivetti M19", "m19", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 256, 640, 256, 0, machine_xt_olim19_init, NULL }, + { "[8088] OpenXT", "openxt", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_open_xt_init, NULL }, + { "[8088] Philips P3105/NMS9100", "p3105", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_XTA, 256, 768, 256, 0, machine_xt_p3105_init, NULL }, { "[8088] Phoenix XT clone", "pxxt", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_pxxt_init, NULL }, { "[8088] Schneider EuroPC", "europc", MACHINE_TYPE_8088, CPU_PKG_8088_EUROPC, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_XTA | MACHINE_MOUSE, 512, 640, 128, 15, machine_europc_init, NULL }, { "[8088] Tandy 1000", "tandy", MACHINE_TYPE_8088, CPU_PKG_8088_EUROPC, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 128, 640, 128, 0, machine_tandy_init, tandy1k_get_device }, @@ -83,10 +83,10 @@ const machine_t machines[] = { { "[8088] VTech Laser Turbo XT", "ltxt", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 256, 640, 256, 0, machine_xt_laserxt_init, NULL }, #endif { "[8088] Xi8088", "xi8088", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2, 64, 1024, 128, 127, machine_xt_xi8088_init, xi8088_get_device }, - { "[8088] Zenith Data Systems Z-151/152/161", "zdsz151", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_z151_init, NULL }, + { "[8088] Zenith Data Systems Z-151/152/161", "zdsz151", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_z151_init, NULL }, { "[8088] Zenith Data Systems Z-159", "zdsz159", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_z159_init, NULL }, { "[8088] Zenith Data Systems SupersPort (Z-184)", "zdsupers", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 128, 640, 128, 0, machine_xt_z184_init, z184_get_device }, - { "[GC100A] Philips P3120", "philips_p3120", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_XTA, 256, 768, 128, 0, machine_xt_p3120_init, NULL }, + { "[GC100A] Philips P3120", "p3120", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_XTA, 256, 768, 256, 0, machine_xt_p3120_init, NULL }, /* 8086 Machines */ { "[8086] Amstrad PC1512", "pc1512", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 8000000, 8000000, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED | MACHINE_MOUSE, 512, 640, 128, 63, machine_pc1512_init, pc1512_get_device }, @@ -96,8 +96,8 @@ const machine_t machines[] = { { "[8086] Amstrad PC20(0)", "pc200", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE | MACHINE_NONMI, 512, 640, 128, 63, machine_pc200_init, pc200_get_device }, { "[8086] Amstrad PPC512/640", "ppc512", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE | MACHINE_NONMI, 512, 640, 128, 63, machine_ppc512_init, ppc512_get_device }, { "[8086] Compaq Deskpro", "deskpro", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_compaq_deskpro_init, NULL }, - { "[8086] Olivetti M21/24/24SP", "olivetti_m24", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE, 128, 640, 128, 0, machine_xt_olim24_init, m24_get_device }, - { "[8086] Olivetti M240", "olivetti_m240", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_olim240_init, NULL }, + { "[8086] Olivetti M21/24/24SP", "m24", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE, 128, 640, 128, 0, machine_xt_olim24_init, m24_get_device }, + { "[8086] Olivetti M240", "m240", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_olim240_init, NULL }, { "[8086] Schetmash Iskra-3104", "iskra3104", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_iskra3104_init, NULL }, { "[8086] Tandy 1000 SL/2", "tandy1000sl2", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 512, 768, 128, 0, machine_tandy1000sl2_init, tandy1k_sl_get_device }, { "[8086] Toshiba T1200", "t1200", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO, 1024, 2048,1024, 63, machine_xt_t1200_init, t1200_get_device }, @@ -121,9 +121,9 @@ const machine_t machines[] = { { "[ISA] Compaq Portable II", "portableii", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 640, 16384, 128, 127, machine_at_portableii_init, NULL }, { "[ISA] Compaq Portable III", "portableiii", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_VIDEO, 640, 16384, 128, 127, machine_at_portableiii_init, at_cpqiii_get_device }, { "[ISA] MR 286 clone", "mr286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 512, 16384, 128, 127, machine_at_mr286_init, NULL }, - { "[ISA] NCR PC8/810/710/3390/3392", "ncr_pc8", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 128, 127, machine_at_ncrpc8_init, NULL }, + { "[ISA] NCR PC8/810/710/3390/3392", "pc8", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 128, 127, machine_at_ncrpc8_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_OLIVETTI) - { "[ISA] Olivetti M290", "olivetti_m290", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 640, 16384, 128, 127, machine_at_olim290_init, NULL }, + { "[ISA] Olivetti M290", "m290", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 640, 16384, 128, 127, machine_at_olim290_init, NULL }, #endif #if defined(DEV_BRANCH) && defined(USE_OPEN_AT) { "[ISA] OpenAT", "open_at", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 256, 15872, 128, 63, machine_at_open_at_init, NULL }, @@ -135,7 +135,7 @@ const machine_t machines[] = { { "[GC103] Quadtel 286 clone", "quadt286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 128, 127, machine_at_quadt286_init, NULL }, { "[GC103] Trigem 286M", "tg286m", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 512, 8192, 128, 127, machine_at_tg286m_init, NULL }, { "[NEAT] AMI 286 clone", "ami286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_neat_ami_init, NULL }, - { "[NEAT] NCR 3302", "ncr_3302", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_VIDEO, 512, 16384, 128, 127, machine_at_ncr3302_init, NULL }, + { "[NEAT] NCR 3302", "ncr_3302", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_VIDEO, 512, 16384, 128, 127, machine_at_ncr3302_init, NULL }, { "[NEAT] Phoenix 286 clone", "px286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 128, 127, machine_at_px286_init, NULL }, { "[SCAT] Award 286 clone", "award286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 128, 127, machine_at_award286_init, NULL }, { "[SCAT] GW-286CT GEAR", "gw286ct", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 128, 127, machine_at_gw286ct_init, NULL }, @@ -157,16 +157,16 @@ const machine_t machines[] = { { "[ALi M6117D] Acrosser AR-B1375", "arb1375", MACHINE_TYPE_386SX, CPU_PKG_M6117, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 32768,1024, 127, machine_at_arb1375_init, NULL }, { "[ALi M6117D] Acrosser PJ-A511M", "pja511m", MACHINE_TYPE_386SX, CPU_PKG_M6117, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 32768,1024, 127, machine_at_pja511m_init, NULL }, #endif - { "[ALi M1217] Flytech 386", "flytech386", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE | MACHINE_BUS_PS2 | MACHINE_VIDEO, 1024, 16384, 1024, 127, machine_at_flytech386_init, at_flytech386_get_device }, + { "[ALi M1217] Flytech 386", "flytech386", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE | MACHINE_BUS_PS2 | MACHINE_VIDEO, 1024, 16384, 1024, 127, machine_at_flytech386_init, at_flytech386_get_device }, { "[HT18] AMA-932J", "ama932j", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE | MACHINE_VIDEO, 512, 8192, 128, 127, machine_at_ama932j_init, at_ama932j_get_device }, { "[Intel 82335] ADI 386SX", "adi386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_adi386sx_init, NULL }, { "[Intel 82335] Shuttle 386SX", "shuttle386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_shuttle386sx_init, NULL }, - { "[NEAT] Commodore SL386SX-16", "cbm_sl386sx16", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 8192, 512, 127, machine_at_commodore_sl386sx16_init, NULL }, + { "[NEAT] Commodore SL386SX-16", "cmdsl386sx16", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 8192, 512, 127, machine_at_commodore_sl386sx16_init, NULL }, { "[NEAT] DTK 386SX clone", "dtk386", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_neat_init, NULL }, { "[OPTi 283] Olivetti M300-08", "olivetti_m300_08", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 20000000, 20000000, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 16384, 2048, 127, machine_at_olim300_08_init, at_m300_08_get_device }, { "[OPTi 283] Olivetti M300-15", "olivetti_m300_15", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 25000000, 25000000, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 16384, 2048, 127, machine_at_olim300_15_init, NULL }, { "[OPTi 291] DTK PPM-3333P", "awardsx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 16384, 1024, 127, machine_at_awardsx_init, NULL }, - { "[SCAMP] Commodore SL386SX-25", "cbm_sl386sx25", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 1024, 8192, 512, 127, machine_at_commodore_sl386sx25_init, at_commodore_sl386sx25_get_device }, + { "[SCAMP] Commodore SL386SX-25", "cmdsl386sx16", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 1024, 8192, 512, 127, machine_at_commodore_sl386sx25_init, at_commodore_sl386sx25_get_device }, { "[SCAMP] Samsung SPC-6033P", "spc6033p", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 12288, 2048, 127, machine_at_spc6033p_init, at_spc6033p_get_device }, { "[SCAT] KMX-C-02", "kmxc02", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 16384, 512, 127, machine_at_kmxc02_init, NULL }, { "[WD76C10] Amstrad MegaPC", "megapc", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 1024, 32768, 1024, 127, machine_at_wd76c10_init, NULL }, @@ -205,7 +205,7 @@ const machine_t machines[] = { { "[OPTi 495] MR 486 clone", "mr486", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_opti495_mr_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, 1024, 65536, 1024, 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, 1024, 65536, 1024, 127, machine_at_403tg_init, NULL }, - { "[OPTi 895] Mylex MVI486", "mvi486", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE_DUAL, 1024, 65536, 1024, 127, machine_at_mvi486_init, NULL }, + { "[OPTi 895] Mylex MVI486", "mvi486", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE_DUAL, 1024, 65536, 1024, 127, machine_at_mvi486_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, 1024, 65536, 1024, 127, machine_at_sis401_init, NULL }, { "[SiS 460] ABIT AV4", "av4", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_av4_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, 1024, 65536, 1024, 127, machine_at_valuepoint433_init, NULL }, @@ -229,7 +229,7 @@ const machine_t machines[] = { /* 486 machines which utilize the PCI bus */ #if defined(DEV_BRANCH) && defined(USE_M1489) { "[ALi M1489] ABIT AB-PB4", "abpb4", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_abpb4_init, NULL }, - { "[ALi M1489] AMI WinBIOS 486 PCI", "win486pci", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_win486pci_init, NULL }, + { "[ALi M1489] AMI WinBIOS 486 PCI", "win486pci", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_win486pci_init, NULL }, #endif { "[i420EX] ASUS PVI-486AP4", "486ap4", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCIV | MACHINE_IDE_DUAL, 1024, 131072, 1024, 127, machine_at_486ap4_init, NULL }, { "[i420ZX] ASUS PCI/I-486SP3G", "486sp3g", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 131072, 1024, 127, machine_at_486sp3g_init, NULL }, @@ -239,12 +239,10 @@ const machine_t machines[] = { { "[SiS 496] Rise Computer R418", "r418", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 261120, 1024, 255, machine_at_r418_init, NULL }, { "[SiS 496] Soyo 4SA2", "4sa2", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 261120, 1024, 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, 1024, 261120, 1024, 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, 1.0, 1.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 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, 32768, 163840, 8192, 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, 32768, 98304, 8192, 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, 32768, 131072,32768, 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, 1024, 131072, 1024, 255, machine_at_486vipio2_init, NULL }, #endif @@ -312,11 +310,11 @@ const machine_t machines[] = { { "[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, 8192, 131072, 8192, 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, 8192, 196608, 8192, 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, 8192, 196608, 8192, 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, 8192, 524288, 8192, 127, machine_at_p65up5_cp55t2d_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, 8192, 524288, 8192, 127, machine_at_p65up5_cp55t2d_init, NULL }, /* 430VX */ { "[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, 8192, 131072, 8192, 127, machine_at_p55tvp4_init, NULL }, - { "[i430VX] Azza 5IVG", "5ivg", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_5ivg_init, NULL }, + { "[i430VX] Azza 5IVG", "5ivg", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_5ivg_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, 8192, 131072, 8192, 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, 8192, 131072, 8192, 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, 8192, 131072, 8192, 127, machine_at_p55va_init, NULL }, @@ -342,14 +340,14 @@ const machine_t machines[] = { /* SiS 5571 */ #if defined(DEV_BRANCH) && defined(USE_SIS_5571) - { "[SiS 5571] Rise R534F", "r534f", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 393216, 8192, 127, machine_at_r534f_init, NULL }, - { "[SiS 5571] MSI MS-5146", "ms5146", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 393216, 8192, 127, machine_at_ms5146_init, NULL }, + { "[SiS 5571] Rise R534F", "r534f", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 393216, 8192, 127, machine_at_r534f_init, NULL }, + { "[SiS 5571] MSI MS-5146", "ms5146", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 393216, 8192, 127, machine_at_ms5146_init, NULL }, #endif /* ALi ALADDiN IV */ #if defined(DEV_BRANCH) && defined(USE_M154X) - { "[ALi ALADDiN IV] PC Chips M560", "m560", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 262144, 8192, 255, machine_at_m560_init, NULL }, - { "[ALi ALADDiN IV] MSI MS-5164", "ms5164", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 262144, 8192, 255, machine_at_ms5164_init, NULL }, + { "[ALi ALADDiN IV] PC Chips M560", "m560", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 262144, 8192, 255, machine_at_m560_init, NULL }, + { "[ALi ALADDiN IV] MSI MS-5164", "ms5164", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 262144, 8192, 255, machine_at_ms5164_init, NULL }, #endif /* Super Socket 7 machines */ @@ -387,7 +385,7 @@ const machine_t machines[] = { { "[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, 8192, 786432, 8192, 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, 8192, 786432, 8192, 255, machine_at_ax6bc_init, NULL }, { "[i440BX] Gigabyte GA-686BX", "686bx", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.0, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_686bx_init, NULL }, - { "[i440BX] HP Vectra VEi 8", "vei8", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.0, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_vei8_init, NULL }, + { "[i440BX] HP Vectra VEi 8", "vei8", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.0, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_vei8_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, 8192,1048576, 8192, 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, 8192, 786432, 8192, 255, machine_at_p6sba_init, NULL }, #if defined(DEV_BRANCH) && defined(NO_SIO) diff --git a/src/network/net_slirp.c b/src/network/net_slirp.c index ddfeba6cf..b4cb1657b 100644 --- a/src/network/net_slirp.c +++ b/src/network/net_slirp.c @@ -316,10 +316,10 @@ poll_thread(void *arg) struct in_addr dhcp = { .s_addr = htonl(0x0a00020f) }; /* 10.0.2.15 */ struct in_addr dns = { .s_addr = htonl(0x0a000203) }; /* 10.0.2.3 */ struct in_addr bind = { .s_addr = htonl(0x00000000) }; /* 0.0.0.0 */ - struct in6_addr ipv6dummy; /* contents don't matter; we're not using IPv6 */ + struct in6_addr ipv6_dummy; /* contents don't matter; we're not using IPv6 */ /* Initialize SLiRP. */ - slirp->slirp = slirp_init(0, 1, net, mask, host, 0, ipv6dummy, 0, ipv6dummy, NULL, NULL, NULL, NULL, dhcp, dns, ipv6dummy, NULL, NULL, &slirp_cb, arg); + slirp->slirp = slirp_init(0, 1, net, mask, host, 0, ipv6_dummy, 0, ipv6_dummy, NULL, NULL, NULL, NULL, dhcp, dns, ipv6_dummy, NULL, NULL, &slirp_cb, arg); if (!slirp->slirp) { slirp_log("SLiRP: initialization failed\n"); return; diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 282f1998f..458c26593 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -75,9 +75,6 @@ ifeq ($(DEV_BUILD), y) ifndef SIO_DETECT SIO_DETECT := y endif - ifndef STPC - STPC := y - endif ifndef M1489 M1489 := y endif @@ -154,9 +151,6 @@ else ifndef SIO_DETECT SIO_DETECT := n endif - ifndef STPC - STPC := y - endif ifndef M1489 M1489 := n endif @@ -555,11 +549,6 @@ OPTS += -DUSE_SIO_DETECT DEVBROBJ += sio_detect.o endif -ifeq ($(STPC), y) -OPTS += -DUSE_STPC -DEVBROBJ += stpc.o -endif - ifeq ($(M1489), y) OPTS += -DUSE_M1489 DEVBROBJ += ali1489.o @@ -629,9 +618,8 @@ CPUOBJ := cpu.o cpu_table.o \ CHIPSETOBJ := acc2168.o cs8230.o ali1217.o ali1429.o headland.o intel_82335.o cs4031.o \ intel_420ex.o intel_4x0.o intel_sio.o intel_piix.o ioapic.o \ neat.o opti495.o opti895.o opti5x7.o scamp.o scat.o via_vt82c49x.o via_vt82c505.o \ - sis_85c310.o sis_85c4xx.o sis_85c496.o sis_85c50x.o opti283.o opti291.o \ - gc100.o \ - olivetti_eva.o \ + gc100.o olivetti_eva.o \ + sis_85c310.o sis_85c4xx.o sis_85c496.o sis_85c50x.o stpc.o opti283.o opti291.o \ via_apollo.o via_pipc.o wd76c10.o vl82c480.o MCHOBJ := machine.o machine_table.o \