From 96439dac3d04fb91fdec6d64470909cc6c479f64 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Fri, 19 Nov 2021 16:49:35 -0300 Subject: [PATCH 01/16] Fix missing VIA AC97 audio on machines that should have it --- src/machine/machine_table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 3047b7958..2c35d9263 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -743,7 +743,7 @@ const machine_t machines[] = { { "[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, 8192,1048576, 8192, 255, machine_at_mvp3_init, NULL }, /* Has the VIA VT82C686A southbridge with on-chip KBC identical to the VIA VT82C42N. */ - { "[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, 8192, 786432, 8192, 255, machine_at_ficva503a_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_BUS_AC97 | MACHINE_IDE_DUAL | MACHINE_SOUND, 8192, 786432, 8192, 255, machine_at_ficva503a_init, NULL }, /* Has the VIA VT82C686A southbridge with on-chip KBC identical to the VIA VT82C42N. */ { "[VIA MVP3] Soyo SY-5EMA Pro", "sy-5ema_pro", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 1800, 3100, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 255, machine_at_sy_5ema_pro_init, NULL }, @@ -906,7 +906,7 @@ const machine_t machines[] = { { "[VIA Apollo Pro133] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p6bap_init, NULL }, /* Has the VIA VT82C686B southbridge with on-chip KBC identical to the VIA VT82C42N. */ - { "[VIA Apollo Pro133A] Acorp 6VIA90AP", "6via90ap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_GAMEPORT, 16384,3145728, 8192, 255, machine_at_6via90ap_init, NULL }, + { "[VIA Apollo Pro133A] Acorp 6VIA90AP", "6via90ap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL | MACHINE_SOUND | MACHINE_GAMEPORT, 16384,3145728, 8192, 255, machine_at_6via90ap_init, NULL }, /* Has the VIA VT82C686B southbridge with on-chip KBC identical to the VIA VT82C42N. */ { "[VIA Apollo Pro133A] ASUS CUV4X-LS", "cuv4xls", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, (MACHINE_AGP & ~MACHINE_AT) | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL,16384,4194304, 8192, 255, machine_at_cuv4xls_init, NULL }, From 1e98d531f2eef6a331512e89629518c57a832c30 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sat, 20 Nov 2021 22:59:08 -0300 Subject: [PATCH 02/16] Fix hijacking of the CD audio filter by VIA AC97 --- src/chipset/via_pipc.c | 3 +++ src/sound/snd_ac97_via.c | 15 ++++++++++----- src/sound/snd_cs423x.c | 4 ++-- src/sound/snd_sb.c | 1 - 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/chipset/via_pipc.c b/src/chipset/via_pipc.c index 3829e337c..a2f3dc774 100644 --- a/src/chipset/via_pipc.c +++ b/src/chipset/via_pipc.c @@ -824,6 +824,9 @@ pipc_sb_handlers(pipc_t *dev, uint8_t modem) sb_dsp_setirq(&dev->sb->dsp, (irq == 11) ? 10 : irq); sb_dsp_setdma8(&dev->sb->dsp, (dev->ac97_regs[0][0x43] >> 4) & 0x03); + + /* Set up CD audio filter. This might not actually work if VIAUDIO writes to CD volume through AC97. */ + sound_set_cd_audio_filter(sbpro_filter_cd_audio, dev->sb); } if (dev->ac97_regs[0][0x42] & 0x02) { diff --git a/src/sound/snd_ac97_via.c b/src/sound/snd_ac97_via.c index de12edf75..aea9d6ee0 100644 --- a/src/sound/snd_ac97_via.c +++ b/src/sound/snd_ac97_via.c @@ -87,6 +87,7 @@ ac97_via_log(const char *fmt, ...) static void ac97_via_sgd_process(void *priv); static void ac97_via_update_codec(ac97_via_t *dev); static void ac97_via_speed_changed(void *priv); +static void ac97_via_filter_cd_audio(int channel, double *buffer, void *priv); void @@ -390,8 +391,15 @@ ac97_via_sgd_write(uint16_t addr, uint8_t val, void *priv) *((uint16_t *) &dev->codec_shadow[modem].regs_codec[i][val & 0x7f]) = *((uint16_t *) &dev->sgd_regs[0x80])); /* Update primary audio codec state if that codec was written to. */ - if (!modem && !i) + if (!modem && !i) { ac97_via_update_codec(dev); + + /* Set up CD audio filter if CD volume was written to. Setting it + up at init prevents CD audio from working on other cards, but + this works as the CD channel is muted by default per AC97 spec. */ + if (val == 0x12) + sound_set_cd_audio_filter(ac97_via_filter_cd_audio, dev); + } } } @@ -741,7 +749,7 @@ ac97_via_get_buffer(int32_t *buffer, int len, void *priv) static void -via_ac97_filter_cd_audio(int channel, double *buffer, void *priv) +ac97_via_filter_cd_audio(int channel, double *buffer, void *priv) { ac97_via_t *dev = (ac97_via_t *) priv; double c, volume = channel ? dev->cd_vol_r : dev->cd_vol_l; @@ -806,9 +814,6 @@ ac97_via_init(const device_t *info) /* Set up playback handler. */ sound_add_handler(ac97_via_get_buffer, dev); - /* Set up CD audio filter. */ - sound_set_cd_audio_filter(via_ac97_filter_cd_audio, dev); - return dev; } diff --git a/src/sound/snd_cs423x.c b/src/sound/snd_cs423x.c index f3d95828d..c5b349c9e 100644 --- a/src/sound/snd_cs423x.c +++ b/src/sound/snd_cs423x.c @@ -779,9 +779,9 @@ cs423x_init(const device_t *info) /* Initialize ISAPnP. */ dev->pnp_card = isapnp_add_card(NULL, 0, cs423x_pnp_config_changed, NULL, NULL, NULL, dev); - /* Initialize SBPro codec first to get the correct CD audio filter for the default - context, which is SBPro. The WSS codec is initialized later by cs423x_reset */ + /* Initialize SBPro codec. The WSS codec is initialized later by cs423x_reset */ dev->sb = device_add(&sb_pro_compat_device); + sound_set_cd_audio_filter(sbpro_filter_cd_audio, dev->sb); /* CD audio filter for the default context */ /* Initialize RAM, registers and WSS codec. */ cs423x_reset(dev); diff --git a/src/sound/snd_sb.c b/src/sound/snd_sb.c index f52e78c6c..ef0fa626d 100644 --- a/src/sound/snd_sb.c +++ b/src/sound/snd_sb.c @@ -1615,7 +1615,6 @@ sb_pro_compat_init(const device_t *info) sb->mixer_enabled = 1; sound_add_handler(sb_get_buffer_sbpro, sb); - sound_set_cd_audio_filter(sbpro_filter_cd_audio, sb); sb->mpu = (mpu_t *) malloc(sizeof(mpu_t)); memset(sb->mpu, 0, sizeof(mpu_t)); From 2bc486612b6d7e51a5cd817d596af04a2bab80c4 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sat, 20 Nov 2021 23:24:11 -0300 Subject: [PATCH 03/16] ES1371 improvements, including codec select --- src/include/86box/snd_ac97.h | 17 ++++++- src/sound/snd_ac97_codec.c | 88 ++++++++++++++++++++++++++++++------ src/sound/snd_audiopci.c | 54 ++++++++++++++++------ 3 files changed, 132 insertions(+), 27 deletions(-) diff --git a/src/include/86box/snd_ac97.h b/src/include/86box/snd_ac97.h index 7eb2d1cc5..9dff9a617 100644 --- a/src/include/86box/snd_ac97.h +++ b/src/include/86box/snd_ac97.h @@ -93,6 +93,18 @@ #define AC97_PRL (1 << 14) +/* New codecs should be added to the end of this enum to avoid breaking configs. */ +enum { + AC97_CODEC_AD1881 = 0, + AC97_CODEC_ALC100, + AC97_CODEC_CS4297, + AC97_CODEC_CS4297A, + AC97_CODEC_WM9701A, + AC97_CODEC_STAC9708, + AC97_CODEC_STAC9721 +}; + + typedef struct { const uint16_t index, value, write_mask; } ac97_vendor_reg_t; @@ -112,6 +124,7 @@ extern void ac97_codec_writew(ac97_codec_t *dev, uint8_t reg, uint16_t val); extern void ac97_codec_reset(void *priv); extern void ac97_codec_getattn(void *priv, uint8_t reg, int *l, int *r); extern uint32_t ac97_codec_getrate(void *priv, uint8_t reg); +extern const device_t *ac97_codec_get(int model); extern void ac97_via_set_slot(void *priv, int slot, int irq_pin); extern uint8_t ac97_via_read_status(void *priv, uint8_t modem); @@ -122,15 +135,17 @@ extern void ac97_via_remap_audio_codec(void *priv, uint16_t new_io_base, uint8_t extern void ac97_via_remap_modem_codec(void *priv, uint16_t new_io_base, uint8_t enable); -#ifdef EMU_DEVICE_H extern ac97_codec_t **ac97_codec, **ac97_modem_codec; extern int ac97_codec_count, ac97_modem_codec_count, ac97_codec_id, ac97_modem_codec_id; +#ifdef EMU_DEVICE_H extern const device_t ad1881_device; extern const device_t alc100_device; extern const device_t cs4297_device; extern const device_t cs4297a_device; +extern const device_t stac9708_device; +extern const device_t stac9721_device; extern const device_t wm9701a_device; extern const device_t ac97_via_device; diff --git a/src/sound/snd_ac97_codec.c b/src/sound/snd_ac97_codec.c index ac19cdd7b..f29a037a3 100644 --- a/src/sound/snd_ac97_codec.c +++ b/src/sound/snd_ac97_codec.c @@ -26,19 +26,12 @@ #include <86box/snd_ac97.h> -enum { - AC97_CODEC_AD1881, - AC97_CODEC_ALC100, - AC97_CODEC_CS4297, - AC97_CODEC_CS4297A, - AC97_CODEC_WM9701A -}; - static const struct { const uint32_t vendor_id, max_rate, misc_flags; /* definitions for misc_flags in snd_ac97.h */ const uint16_t reset_flags, extid_flags, /* definitions in snd_ac97.h */ powerdown_mask; /* bits [7:0] => register 26 bits [15:8]; bits [11:8] => register 2A bits [14:11] */ const ac97_vendor_reg_t *vendor_regs; /* bits [11:8] of index are the page number if applicable (registers [60:6F]) */ + const device_t *device; } ac97_codecs[] = { [AC97_CODEC_AD1881] = { .vendor_id = AC97_VENDOR_ID('A', 'D', 'S', 0x40), @@ -46,7 +39,8 @@ static const struct { .misc_flags = AC97_MASTER_6B | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_POP | AC97_MS | AC97_LPBK, .reset_flags = (1 << AC97_3D_SHIFT), /* datasheet contradicts itself on AC97_HPOUT */ .extid_flags = AC97_VRA, - .powerdown_mask = 0x0bf + .powerdown_mask = 0x0bf, + .device = &ad1881_device }, [AC97_CODEC_ALC100] = { .vendor_id = AC97_VENDOR_ID('A', 'L', 'C', 0x20), @@ -54,7 +48,8 @@ static const struct { .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_POP | AC97_MS | AC97_LPBK, .reset_flags = (22 << AC97_3D_SHIFT), .extid_flags = AC97_AMAP, - .powerdown_mask = 0x0bf + .powerdown_mask = 0x0bf, + .device = &alc100_device }, [AC97_CODEC_CS4297] = { .vendor_id = AC97_VENDOR_ID('C', 'R', 'Y', 0x03), @@ -63,7 +58,8 @@ static const struct { .reset_flags = AC97_HPOUT | AC97_DAC_18B | AC97_ADC_18B, .extid_flags = 0, .powerdown_mask = 0x07f, - .vendor_regs = (const ac97_vendor_reg_t[]) {{0x05a, 0x0301, 0x0000}, {0}} + .vendor_regs = (const ac97_vendor_reg_t[]) {{0x5a, 0x0301, 0x0000}, {0}}, + .device = &cs4297_device }, [AC97_CODEC_CS4297A] = { .vendor_id = AC97_VENDOR_ID('C', 'R', 'Y', 0x11), @@ -72,7 +68,28 @@ static const struct { .reset_flags = AC97_HPOUT | AC97_DAC_20B | AC97_ADC_18B | (6 << AC97_3D_SHIFT), .extid_flags = AC97_AMAP, .powerdown_mask = 0x0ff, - .vendor_regs = (const ac97_vendor_reg_t[]) {{0x05e, 0x0000, 0x01b0}, {0x060, 0x0023, 0x0001}, {0x068, 0x0000, 0xdfff}, {0}} + .vendor_regs = (const ac97_vendor_reg_t[]) {{0x5e, 0x0000, 0x01b0}, {0x60, 0x0023, 0x0001}, {0x68, 0x0000, 0xdfff}, {0}}, + .device = &cs4297a_device + }, + [AC97_CODEC_STAC9708] = { + .vendor_id = AC97_VENDOR_ID(0x83, 0x84, 0x76, 0x08), + .max_rate = 48000, + .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, + .reset_flags = (26 << AC97_3D_SHIFT) | AC97_DAC_18B | AC97_ADC_18B, + .extid_flags = AC97_SDAC, + .powerdown_mask = 0x2ff, + .vendor_regs = (const ac97_vendor_reg_t []) {{0x6c, 0x0000, 0x0003}, {0x74, 0x0000, 0x0003}, {0}}, + .device = &stac9708_device + }, + [AC97_CODEC_STAC9721] = { + .vendor_id = AC97_VENDOR_ID(0x83, 0x84, 0x76, 0x09), + .max_rate = 48000, + .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, + .reset_flags = (26 << AC97_3D_SHIFT) | AC97_DAC_18B | AC97_ADC_18B, + .extid_flags = AC97_AMAP, + .powerdown_mask = 0x0ff, + .vendor_regs = (const ac97_vendor_reg_t []) {{0x6c, 0x0000, 0x0000}, {0x6e, 0x0000, 0x0003}, {0x70, 0x0000, 0xffff}, {0x72, 0x0000, 0x0006}, {0x74, 0x0000, 0x0003}, {0x76, 0x0000, 0xffff}, {0x78, 0x0000, 0x3802}, {0}}, + .device = &stac9721_device }, [AC97_CODEC_WM9701A] = { .vendor_id = AC97_VENDOR_ID('W', 'M', 'L', 0x00), @@ -80,7 +97,8 @@ static const struct { .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, .reset_flags = AC97_DAC_18B | AC97_ADC_18B, .extid_flags = 0, - .powerdown_mask = 0x03f + .powerdown_mask = 0x03f, + .device = &wm9701a_device } }; @@ -257,6 +275,13 @@ line_gain: val &= 0x9f1f; val &= 0x0003; break; + case 26: /* SigmaTel */ + i = 0x0003; + if (dev->extid_flags & AC97_SDAC) + i |= 0x000c; + val &= i; + break; + default: return; } @@ -433,6 +458,9 @@ ac97_codec_reset(void *priv) dev->regs[0x14 >> 1] = AC97_MUTE | 0x0808; if (dev->misc_flags & AC97_AUXIN) dev->regs[0x14 >> 1] = AC97_MUTE | 0x0808; + dev->regs[0x1c] = AC97_MUTE; /* record gain */ + if (dev->reset_flags & AC97_MICPCM) + dev->regs[0x1e] = AC97_MUTE; /* mic record gain */ if (dev->misc_flags & AC97_LDAC) dev->regs[0x36 >> 1] = AC97_MUTE_L; if (dev->misc_flags & AC97_CDAC) @@ -594,6 +622,16 @@ ac97_codec_close(void *priv) } +const device_t * +ac97_codec_get(int model) +{ + if ((model >= 0) && (model < (sizeof(ac97_codecs) / sizeof(ac97_codecs[0])))) + return ac97_codecs[model].device; + else + return &cs4297a_device; /* fallback */ +} + + const device_t ad1881_device = { "Analog Devices AD1881", @@ -642,6 +680,30 @@ const device_t cs4297a_device = NULL }; +const device_t stac9708_device = +{ + "SigmaTel STAC9708", + DEVICE_AC97, + AC97_CODEC_STAC9708, + ac97_codec_init, ac97_codec_close, ac97_codec_reset, + { NULL }, + NULL, + NULL, + NULL +}; + +const device_t stac9721_device = +{ + "SigmaTel STAC9721", + DEVICE_AC97, + AC97_CODEC_STAC9721, + ac97_codec_init, ac97_codec_close, ac97_codec_reset, + { NULL }, + NULL, + NULL, + NULL +}; + const device_t wm9701a_device = { "Wolfson WM9701A", diff --git a/src/sound/snd_audiopci.c b/src/sound/snd_audiopci.c index e93267376..22f8751a5 100644 --- a/src/sound/snd_audiopci.c +++ b/src/sound/snd_audiopci.c @@ -99,6 +99,7 @@ typedef struct { int64_t dac_latch, dac_time; int master_vol_l, master_vol_r, + pcm_vol_l, pcm_vol_r, cd_vol_l, cd_vol_r; int card; @@ -1019,6 +1020,7 @@ es1371_outl(uint16_t port, uint32_t val, void *p) ac97_codec_writew(dev->codec, val >> 16, val); ac97_codec_getattn(dev->codec, 0x02, &dev->master_vol_l, &dev->master_vol_r); + ac97_codec_getattn(dev->codec, 0x18, &dev->pcm_vol_l, &dev->pcm_vol_r); ac97_codec_getattn(dev->codec, 0x12, &dev->cd_vol_l, &dev->cd_vol_r); } break; @@ -1407,7 +1409,7 @@ es1371_pci_read(int func, int addr, void *p) case 0x06: return 0x10; /* Supports ACPI */ case 0x07: return 0x00; - case 0x08: return 0x02; /* Revision ID */ + case 0x08: return 0x08; /* Revision ID - 0x02 (datasheet, VMware) has issues with the 2001 Creative WDM driver */ case 0x09: return 0x00; /* Multimedia audio device */ case 0x0a: return 0x01; case 0x0b: return 0x04; @@ -1664,8 +1666,8 @@ es1371_update(es1371_t *dev) l >>= 1; r >>= 1; - l = (l * dev->master_vol_l) >> 15; - r = (r * dev->master_vol_r) >> 15; + l = (((l * dev->pcm_vol_l) >> 15) * dev->master_vol_l) >> 15; + r = (((r * dev->pcm_vol_r) >> 15) * dev->master_vol_r) >> 15; if (l < -32768) l = -32768; @@ -1694,7 +1696,7 @@ es1371_poll(void *p) es1371_update(dev); if (dev->int_ctrl & INT_UART_EN) { - audiopci_log("UART INT Enabled\n"); + //audiopci_log("UART INT Enabled\n"); if (dev->uart_ctrl & UART_CTRL_RXINTEN) { /* We currently don't implement MIDI Input. But if anything sets MIDI Input and Output together we'd have to take account @@ -1710,7 +1712,7 @@ es1371_poll(void *p) dev->uart_status |= (UART_STATUS_TXINT | UART_STATUS_TXRDY); } - audiopci_log("UART control = %02x\n", dev->uart_ctrl & (UART_CTRL_RXINTEN | UART_CTRL_TXINTEN)); + //audiopci_log("UART control = %02x\n", dev->uart_ctrl & (UART_CTRL_RXINTEN | UART_CTRL_TXINTEN)); es1371_update_irqs(dev); } @@ -1785,14 +1787,12 @@ static void es1371_filter_cd_audio(int channel, double *buffer, void *p) { es1371_t *dev = (es1371_t *)p; - int32_t c; + double c; int cd = channel ? dev->cd_vol_r : dev->cd_vol_l; int master = channel ? dev->master_vol_r : dev->master_vol_l; - c = (((int32_t) *buffer) * cd) >> 15; - c = (c * master) >> 15; - - *buffer = (double) c; + c = ((((*buffer) * cd) / 65536.0) * master) / 65536.0; + *buffer = c; } @@ -1858,7 +1858,7 @@ es1371_init(const device_t *info) ac97_codec_id = 0; /* Let the machine decide the codec on onboard implementations. */ if (!info->local) - device_add(&cs4297a_device); + device_add(ac97_codec_get(device_get_config_int("codec"))); es1371_reset(dev); @@ -1884,6 +1884,34 @@ es1371_speed_changed(void *p) } +static const device_config_t es1371_config[] = +{ + { + .name = "codec", + .description = "CODEC", + .type = CONFIG_SELECTION, + .selection = { + { + .description = "Crystal CS4297", + .value = AC97_CODEC_CS4297 + }, { + .description = "Crystal CS4297A", + .value = AC97_CODEC_CS4297A + }, { + .description = "SigmaTel STAC9708", + .value = AC97_CODEC_STAC9708 + }, { + .description = "SigmaTel STAC9721", + .value = AC97_CODEC_STAC9721 + } + }, + .default_int = AC97_CODEC_CS4297A + }, { + "", "", -1 + } +}; + + const device_t es1371_device = { "Ensoniq AudioPCI (ES1371)", @@ -1891,11 +1919,11 @@ const device_t es1371_device = 0, es1371_init, es1371_close, - NULL, + es1371_reset, { NULL }, es1371_speed_changed, NULL, - NULL + es1371_config }; const device_t es1371_onboard_device = From 7ee117049869f13c84dd4e1067b507097a8aaa80 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 00:06:04 -0300 Subject: [PATCH 04/16] Make variable rate AC97 codecs use a min/max rate --- src/include/86box/snd_ac97.h | 2 +- src/sound/snd_ac97_codec.c | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/include/86box/snd_ac97.h b/src/include/86box/snd_ac97.h index 9dff9a617..cd1aaf143 100644 --- a/src/include/86box/snd_ac97.h +++ b/src/include/86box/snd_ac97.h @@ -110,7 +110,7 @@ typedef struct { } ac97_vendor_reg_t; typedef struct { - uint32_t vendor_id, max_rate, misc_flags; + uint32_t vendor_id, min_rate, max_rate, misc_flags; uint16_t reset_flags, extid_flags, powerdown_mask, regs[64]; uint8_t codec_id, vendor_reg_page_max; diff --git a/src/sound/snd_ac97_codec.c b/src/sound/snd_ac97_codec.c index f29a037a3..d83f4e293 100644 --- a/src/sound/snd_ac97_codec.c +++ b/src/sound/snd_ac97_codec.c @@ -27,7 +27,7 @@ static const struct { - const uint32_t vendor_id, max_rate, misc_flags; /* definitions for misc_flags in snd_ac97.h */ + const uint32_t vendor_id, min_rate, max_rate, misc_flags; /* definitions for misc_flags in snd_ac97.h */ const uint16_t reset_flags, extid_flags, /* definitions in snd_ac97.h */ powerdown_mask; /* bits [7:0] => register 26 bits [15:8]; bits [11:8] => register 2A bits [14:11] */ const ac97_vendor_reg_t *vendor_regs; /* bits [11:8] of index are the page number if applicable (registers [60:6F]) */ @@ -35,16 +35,17 @@ static const struct { } ac97_codecs[] = { [AC97_CODEC_AD1881] = { .vendor_id = AC97_VENDOR_ID('A', 'D', 'S', 0x40), + .min_rate = 7000, .max_rate = 48000, .misc_flags = AC97_MASTER_6B | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_POP | AC97_MS | AC97_LPBK, .reset_flags = (1 << AC97_3D_SHIFT), /* datasheet contradicts itself on AC97_HPOUT */ .extid_flags = AC97_VRA, .powerdown_mask = 0x0bf, + .vendor_regs = (const ac97_vendor_reg_t[]) {{0x74, 0x0000, 0xff07}, {0x76, 0x0404, 0xdde5}, {0x78, 48000, 0x0000}, {0x7a, 48000, 0x0000}, {0}}, .device = &ad1881_device }, [AC97_CODEC_ALC100] = { .vendor_id = AC97_VENDOR_ID('A', 'L', 'C', 0x20), - .max_rate = 48000, .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_POP | AC97_MS | AC97_LPBK, .reset_flags = (22 << AC97_3D_SHIFT), .extid_flags = AC97_AMAP, @@ -53,7 +54,6 @@ static const struct { }, [AC97_CODEC_CS4297] = { .vendor_id = AC97_VENDOR_ID('C', 'R', 'Y', 0x03), - .max_rate = 48000, .misc_flags = AC97_MASTER_6B | AC97_AUXOUT | AC97_AUXOUT_6B | AC97_MONOOUT | AC97_MONOOUT_6B | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, .reset_flags = AC97_HPOUT | AC97_DAC_18B | AC97_ADC_18B, .extid_flags = 0, @@ -63,7 +63,6 @@ static const struct { }, [AC97_CODEC_CS4297A] = { .vendor_id = AC97_VENDOR_ID('C', 'R', 'Y', 0x11), - .max_rate = 48000, .misc_flags = AC97_MASTER_6B | AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, .reset_flags = AC97_HPOUT | AC97_DAC_20B | AC97_ADC_18B | (6 << AC97_3D_SHIFT), .extid_flags = AC97_AMAP, @@ -73,7 +72,6 @@ static const struct { }, [AC97_CODEC_STAC9708] = { .vendor_id = AC97_VENDOR_ID(0x83, 0x84, 0x76, 0x08), - .max_rate = 48000, .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, .reset_flags = (26 << AC97_3D_SHIFT) | AC97_DAC_18B | AC97_ADC_18B, .extid_flags = AC97_SDAC, @@ -83,7 +81,6 @@ static const struct { }, [AC97_CODEC_STAC9721] = { .vendor_id = AC97_VENDOR_ID(0x83, 0x84, 0x76, 0x09), - .max_rate = 48000, .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, .reset_flags = (26 << AC97_3D_SHIFT) | AC97_DAC_18B | AC97_ADC_18B, .extid_flags = AC97_AMAP, @@ -93,7 +90,6 @@ static const struct { }, [AC97_CODEC_WM9701A] = { .vendor_id = AC97_VENDOR_ID('W', 'M', 'L', 0x00), - .max_rate = 48000, .misc_flags = AC97_AUXOUT | AC97_MONOOUT | AC97_PCBEEP | AC97_PHONE | AC97_VIDEO | AC97_AUXIN | AC97_MS | AC97_LPBK, .reset_flags = AC97_DAC_18B | AC97_ADC_18B, .extid_flags = 0, @@ -331,8 +327,10 @@ rate: /* Writable only if VRA/VRM is set. */ if (!(dev->extid_flags & i)) return; - /* Limit to maximum rate. */ - if (val > dev->max_rate) + /* Limit to supported sample rate range. */ + if (val < dev->min_rate) + val = dev->min_rate; + else if (val > dev->max_rate) val = dev->max_rate; break; @@ -561,6 +559,7 @@ ac97_codec_init(const device_t *info) memset(dev, 0, sizeof(ac97_codec_t)); dev->vendor_id = ac97_codecs[info->local].vendor_id; + dev->min_rate = ac97_codecs[info->local].min_rate; dev->max_rate = ac97_codecs[info->local].max_rate; dev->extid_flags = ac97_codecs[info->local].extid_flags; dev->misc_flags = ac97_codecs[info->local].misc_flags; From 4c21f0d6ceced0c31d2c6719226ecc487f8e8ceb Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 00:16:10 -0300 Subject: [PATCH 05/16] Make VIA 686 instantiate the integrated Super I/O and hardware monitor --- src/chipset/via_pipc.c | 14 ++++++++------ src/machine/m_at_socket370.c | 5 +---- src/machine/m_at_sockets7.c | 4 +--- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/chipset/via_pipc.c b/src/chipset/via_pipc.c index a2f3dc774..88ed87385 100644 --- a/src/chipset/via_pipc.c +++ b/src/chipset/via_pipc.c @@ -130,7 +130,7 @@ typedef struct _pipc_ { acpi_t *acpi; pipc_io_trap_t io_traps[TRAP_MAX]; - void *gameport, *ac97; + void *gameport, *ac97, *sio, *hwm; sb_t *sb; uint16_t midigame_base, sb_base, fmnmi_base; } pipc_t; @@ -956,7 +956,6 @@ pipc_write(int func, int addr, uint8_t val, void *priv) pipc_t *dev = (pipc_t *) priv; int c; uint8_t pm_func = dev->usb[1] ? 4 : 3; - void *subdev; if (func > dev->max_func) return; @@ -1046,8 +1045,8 @@ pipc_write(int func, int addr, uint8_t val, void *priv) case 0x50: case 0x51: case 0x52: case 0x85: dev->pci_isa_regs[addr] = val; /* Forward Super I/O-related registers to sio_vt82c686.c */ - if ((subdev = device_get_priv(&via_vt82c686_sio_device))) - vt82c686_sio_write(addr, val, subdev); + if (dev->sio) + vt82c686_sio_write(addr, val, dev->sio); break; case 0x54: @@ -1380,8 +1379,8 @@ pipc_write(int func, int addr, uint8_t val, void *priv) case 0x70: case 0x71: case 0x74: dev->power_regs[addr] = val; /* Forward hardware monitor-related registers to hwm_vt82c686.c */ - if ((subdev = device_get_priv(&via_vt82c686_hwm_device))) - vt82c686_hwm_write(addr, val, subdev); + if (dev->hwm) + vt82c686_hwm_write(addr, val, dev->hwm); break; case 0x80: case 0x81: case 0x84: /* 596A has the SMBus I/O base and enable bit here instead. */ @@ -1579,6 +1578,9 @@ pipc_init(const device_t *info) sound_add_handler(sb_get_buffer_sbpro, dev->sb); dev->gameport = gameport_add(&gameport_sio_device); + + dev->sio = device_add(&via_vt82c686_sio_device); + dev->hwm = device_add(&via_vt82c686_hwm_device); } pipc_reset_hard(dev); diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index ff0c6bf55..5234fee56 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -418,7 +418,6 @@ machine_at_cuv4xls_init(const machine_t *model) pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4); device_add(&via_apro133a_device); device_add(&via_vt82c686b_device); - device_add(&via_vt82c686_sio_device); device_add(&keyboard_ps2_ami_pci_device); device_add(ics9xxx_get(ICS9250_18)); device_add(&sst_flash_39sf020_device); @@ -452,13 +451,11 @@ machine_at_6via90ap_init(const machine_t *model) pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4); device_add(&via_apro133a_device); - device_add(&via_vt82c686b_device); - device_add(&via_vt82c686_sio_device); + device_add(&via_vt82c686b_device); /* fans: CPU1, CPU2; temperatures: CPU, System, unused */ device_add(&keyboard_ps2_ami_pci_device); device_add(ics9xxx_get(ICS9250_18)); device_add(&sst_flash_39sf020_device); spd_register(SPD_TYPE_SDRAM, 0x7, 1024); - 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 */ diff --git a/src/machine/m_at_sockets7.c b/src/machine/m_at_sockets7.c index 191b69683..6584212aa 100644 --- a/src/machine/m_at_sockets7.c +++ b/src/machine/m_at_sockets7.c @@ -271,12 +271,10 @@ machine_at_ficva503a_init(const machine_t *model) pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4); device_add(&via_mvp3_device); - device_add(&via_vt82c686a_device); + device_add(&via_vt82c686a_device); /* fans: CPU1, Chassis; temperatures: CPU, System, unused */ device_add(&keyboard_ps2_ami_pci_device); - device_add(&via_vt82c686_sio_device); device_add(&sst_flash_39sf020_device); spd_register(SPD_TYPE_SDRAM, 0x7, 256); - device_add(&via_vt82c686_hwm_device); /* fans: CPU1, Chassis; temperatures: CPU, System, unused */ hwm_values.temperatures[0] += 2; /* CPU offset */ hwm_values.temperatures[1] += 2; /* System offset */ hwm_values.temperatures[2] = 0; /* unused */ From b670529fe45c11090f7f988815a9c49f718c37e5 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 00:17:20 -0300 Subject: [PATCH 06/16] Add space to Apollo Pro 133 names per word of mouth --- src/machine/machine_table.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 2c35d9263..c287a5a1a 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -847,10 +847,10 @@ const machine_t machines[] = { { "[VIA Apollo Pro] FIC KA-6130", "ficka6130", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 524288, 8192, 255, machine_at_ficka6130_init, NULL }, /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ - { "[VIA Apollo Pro133] ASUS P3V133", "p3v133", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p3v133_init, NULL }, + { "[VIA Apollo Pro 133] ASUS P3V133", "p3v133", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p3v133_init, NULL }, /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ - { "[VIA Apollo Pro133A] ASUS P3V4X", "p3v4x", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,2097152, 8192, 255, machine_at_p3v4x_init, NULL }, + { "[VIA Apollo Pro 133A] ASUS P3V4X", "p3v4x", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,2097152, 8192, 255, machine_at_p3v4x_init, NULL }, /* Slot 1/2 machines */ /* 440GX */ @@ -903,16 +903,16 @@ const machine_t machines[] = { { "[VIA Apollo Pro] PC Partner APAS3", "apas3", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 100000000, 1800, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 255, machine_at_apas3_init, NULL }, /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ - { "[VIA Apollo Pro133] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p6bap_init, NULL }, + { "[VIA Apollo Pro 133] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p6bap_init, NULL }, /* Has the VIA VT82C686B southbridge with on-chip KBC identical to the VIA VT82C42N. */ - { "[VIA Apollo Pro133A] Acorp 6VIA90AP", "6via90ap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL | MACHINE_SOUND | MACHINE_GAMEPORT, 16384,3145728, 8192, 255, machine_at_6via90ap_init, NULL }, + { "[VIA Apollo Pro 133A] Acorp 6VIA90AP", "6via90ap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL | MACHINE_SOUND | MACHINE_GAMEPORT, 16384,3145728, 8192, 255, machine_at_6via90ap_init, NULL }, /* Has the VIA VT82C686B southbridge with on-chip KBC identical to the VIA VT82C42N. */ - { "[VIA Apollo Pro133A] ASUS CUV4X-LS", "cuv4xls", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, (MACHINE_AGP & ~MACHINE_AT) | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL,16384,4194304, 8192, 255, machine_at_cuv4xls_init, NULL }, + { "[VIA Apollo Pro 133A] ASUS CUV4X-LS", "cuv4xls", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, (MACHINE_AGP & ~MACHINE_AT) | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL,16384,4194304, 8192, 255, machine_at_cuv4xls_init, NULL }, /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ - { "[VIA Apollo Pro133A] BCM GT694VA", "gt694va", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16384,3145728, 8192, 255, machine_at_gt694va_init, at_gt694va_get_device }, + { "[VIA Apollo Pro 133A] BCM GT694VA", "gt694va", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16384,3145728, 8192, 255, machine_at_gt694va_init, at_gt694va_get_device }, /* Miscellaneous/Fake/Hypervisor machines */ /* Has a Winbond W83977F Super I/O chip with on-chip KBC with AMIKey-2 KBC From f23e4e662758bb254229ec3e4b533d5ef4f51d10 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 00:22:50 -0300 Subject: [PATCH 07/16] Fix missing SPD on Trinity 371 --- src/machine/m_at_socket370.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 5234fee56..06af84307 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -104,6 +104,7 @@ machine_at_s1857_init(const machine_t *model) device_add(&keyboard_ps2_ami_pci_device); device_add(&w83977ef_370_device); device_add(&intel_flash_bxt_device); + spd_register(SPD_TYPE_SDRAM, 0x7, 256); if (sound_card_current == SOUND_INTERNAL) { device_add(&es1371_onboard_device); @@ -142,6 +143,7 @@ machine_at_p6bap_init(const machine_t *model) device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); spd_register(SPD_TYPE_SDRAM, 0x7, 256); + return ret; } From cada8f3572a8d153723af1f7cd95b4c24167f89b Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 00:36:36 -0300 Subject: [PATCH 08/16] Set I/O trap read/write bit on VIA 686 --- src/chipset/via_pipc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/chipset/via_pipc.c b/src/chipset/via_pipc.c index 88ed87385..1eb3b4ea7 100644 --- a/src/chipset/via_pipc.c +++ b/src/chipset/via_pipc.c @@ -164,7 +164,7 @@ static void pipc_write(int func, int addr, uint8_t val, void *priv); static void -pipc_trap_io_pact(int size, uint16_t addr, uint8_t write, uint8_t val, void *priv) +pipc_io_trap_pact(int size, uint16_t addr, uint8_t write, uint8_t val, void *priv) { pipc_io_trap_t *trap = (pipc_io_trap_t *) priv; @@ -184,6 +184,12 @@ pipc_io_trap_glb(int size, uint16_t addr, uint8_t write, uint8_t val, void *priv if (*(trap->en_reg) & trap->mask) { *(trap->sts_reg) |= trap->mask; + if (trap->dev->local >= VIA_PIPC_686A) { + if (write) + trap->dev->acpi->regs.extsmi_val |= 0x1000; + else + trap->dev->acpi->regs.extsmi_val &= ~0x1000; + } acpi_raise_smi(trap->dev->acpi, 1); } } @@ -592,7 +598,7 @@ pipc_trap_update_paden(pipc_t *dev, uint8_t trap_id, /* Set up Primary Activity Detect I/O traps dynamically. */ if (enable && !trap->trap) { trap->dev = dev; - trap->trap = io_trap_add(pipc_trap_io_pact, trap); + trap->trap = io_trap_add(pipc_io_trap_pact, trap); trap->sts_reg = &dev->acpi->regs.padsts; trap->en_reg = &dev->acpi->regs.paden; trap->mask = paden_mask; From 447269eb39f2a3e9598cccb23cdbf397c567eda7 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 13:17:30 -0300 Subject: [PATCH 09/16] Machine table and ROM fixes and cleanups --- src/config.c | 2 ++ src/include/86box/machine.h | 28 ++++++++-------- src/machine/m_at_286_386sx.c | 8 ++--- src/machine/m_at_386dx_486.c | 38 ++++++++++----------- src/machine/m_at_socket7_3v.c | 2 +- src/machine/m_at_socket8.c | 4 +-- src/machine/m_at_sockets7.c | 18 ++++------ src/machine/m_v86p.c | 1 - src/machine/m_xt_t1000.c | 6 ++-- src/machine/machine_table.c | 42 ++++++++++++------------ src/video/vid_cl54xx.c | 8 ++--- src/video/vid_oak_oti.c | 8 ++--- src/video/vid_paradise.c | 2 +- src/video/vid_table.c | 62 +++++++++++++++++------------------ 14 files changed, 113 insertions(+), 116 deletions(-) diff --git a/src/config.c b/src/config.c index e302b0b48..5fb87fc01 100644 --- a/src/config.c +++ b/src/config.c @@ -641,6 +641,8 @@ load_machine(void) machine = machine_get_machine_from_internal_name("p54tp4xe_mr"); else if (! strcmp(p, "pcv240")) machine = machine_get_machine_from_internal_name("pcv90"); + else if (! strcmp(p, "v60n")) + machine = machine_get_machine_from_internal_name("acerv60n"); else if (! strcmp(p, "tsunamiatx")) machine = machine_get_machine_from_internal_name("s1846"); else if (! strcmp(p, "trinity371")) diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 5f969aa44..797d6fbd7 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -281,7 +281,7 @@ extern int machine_at_dataexpert386sx_init(const machine_t *); extern int machine_at_spc6033p_init(const machine_t *); extern int machine_at_wd76c10_init(const machine_t *); extern int machine_at_arb1374_init(const machine_t *); -extern int machine_at_sbc_350a_init(const machine_t *); +extern int machine_at_sbc350a_init(const machine_t *); extern int machine_at_flytech386_init(const machine_t *); extern int machine_at_mr1217_init(const machine_t *); extern int machine_at_pja511m_init(const machine_t *); @@ -314,7 +314,7 @@ extern int machine_at_cs4031_init(const machine_t *); extern int machine_at_pb410a_init(const machine_t *); -extern int machine_at_decpc_lpv_init(const machine_t *); +extern int machine_at_decpclpv_init(const machine_t *); extern int machine_at_acerv10_init(const machine_t *); extern int machine_at_acera1g_init(const machine_t *); @@ -329,8 +329,8 @@ extern int machine_at_vect486vl_init(const machine_t *); extern int machine_at_d824_init(const machine_t *); extern int machine_at_403tg_init(const machine_t *); -extern int machine_at_403tg_rev_d_init(const machine_t *); -extern int machine_at_403tg_rev_d_mr_init(const machine_t *); +extern int machine_at_403tg_d_init(const machine_t *); +extern int machine_at_403tg_d_mr_init(const machine_t *); extern int machine_at_pc330_6573_init(const machine_t *); extern int machine_at_mvi486_init(const machine_t *); @@ -345,7 +345,7 @@ extern int machine_at_dtk486_init(const machine_t *); extern int machine_at_px471_init(const machine_t *); extern int machine_at_win471_init(const machine_t *); extern int machine_at_vi15g_init(const machine_t *); -extern int machine_at_green_b_init(const machine_t *); +extern int machine_at_greenb_init(const machine_t *); extern int machine_at_r418_init(const machine_t *); extern int machine_at_ls486e_init(const machine_t *); @@ -363,10 +363,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 *); extern int machine_at_ms4145_init(const machine_t *); -extern int machine_at_sbc_490_init(const machine_t *); -extern int machine_at_tf_486_init(const machine_t *); +extern int machine_at_sbc490_init(const machine_t *); +extern int machine_at_tf486_init(const machine_t *); -extern int machine_at_pci400c_b_init(const machine_t *); +extern int machine_at_pci400cb_init(const machine_t *); extern int machine_at_g486ip_init(const machine_t *); extern int machine_at_itoxstar_init(const machine_t *); @@ -380,7 +380,7 @@ extern int machine_at_hot433_init(const machine_t *); extern int machine_at_atc1415_init(const machine_t *); extern int machine_at_actionpc2600_init(const machine_t *); extern int machine_at_m919_init(const machine_t *); -extern int machine_at_spc7700p_lw_init(const machine_t *); +extern int machine_at_spc7700plw_init(const machine_t *); #ifdef EMU_DEVICE_H extern const device_t *at_acera1g_get_device(void); @@ -388,7 +388,7 @@ extern const device_t *at_vect486vl_get_device(void); extern const device_t *at_d824_get_device(void); extern const device_t *at_pcs46c_get_device(void); extern const device_t *at_valuepoint433_get_device(void); -extern const device_t *at_sbc_490_get_device(void); +extern const device_t *at_sbc490_get_device(void); #endif /* m_at_commodore.c */ @@ -528,19 +528,19 @@ extern const device_t *at_presario2240_get_device(void); /* m_at_sockets7.c */ extern int machine_at_p5a_init(const machine_t *); extern int machine_at_m579_init(const machine_t *); -extern int machine_at_ga_5aa_init(const machine_t *); -extern int machine_at_ga_5ax_init(const machine_t *); +extern int machine_at_5aa_init(const machine_t *); +extern int machine_at_5ax_init(const machine_t *); extern int machine_at_ax59pro_init(const machine_t *); extern int machine_at_mvp3_init(const machine_t *); extern int machine_at_ficva503a_init(const machine_t *); -extern int machine_at_sy_5ema_pro_init(const machine_t *); +extern int machine_at_5emapro_init(const machine_t *); /* m_at_socket8.c */ extern int machine_at_p6rp4_init(const machine_t *); extern int machine_at_686nx_init(const machine_t *); -extern int machine_at_v60n_init(const machine_t *); +extern int machine_at_acerv60n_init(const machine_t *); extern int machine_at_vs440fx_init(const machine_t *); extern int machine_at_ap440fx_init(const machine_t *); extern int machine_at_mb600n_init(const machine_t *); diff --git a/src/machine/m_at_286_386sx.c b/src/machine/m_at_286_386sx.c index c2f9a433d..5f8229ccc 100644 --- a/src/machine/m_at_286_386sx.c +++ b/src/machine/m_at_286_386sx.c @@ -12,11 +12,11 @@ * * Authors: Sarah Walker, * Miran Grca, - * EngiNerd + * EngiNerd * * Copyright 2010-2019 Sarah Walker. * Copyright 2016-2019 Miran Grca. - * Copyright 2020 EngiNerd. + * Copyright 2020 EngiNerd. */ #include #include @@ -721,11 +721,11 @@ machine_at_arb1374_init(const machine_t *model) int -machine_at_sbc_350a_init(const machine_t *model) +machine_at_sbc350a_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/sbc_350a/350a.rom", + ret = bios_load_linear("roms/machines/sbc350a/350a.rom", 0x000f0000, 65536, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_386dx_486.c b/src/machine/m_at_386dx_486.c index 43d03c385..8c5d89c7f 100644 --- a/src/machine/m_at_386dx_486.c +++ b/src/machine/m_at_386dx_486.c @@ -459,11 +459,11 @@ machine_at_acerv10_init(const machine_t *model) int -machine_at_decpc_lpv_init(const machine_t *model) +machine_at_decpclpv_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/decpc_lpv/bios.bin-5f2c71ca0a0a5135083487.bin", + ret = bios_load_linear("roms/machines/decpclpv/bios.bin", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -640,11 +640,11 @@ machine_at_403tg_init(const machine_t *model) int -machine_at_403tg_rev_d_init(const machine_t *model) +machine_at_403tg_d_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/403tg_rev_d/J403TGRevD.BIN", + ret = bios_load_linear("roms/machines/403tg_d/J403TGRevD.BIN", 0x000f0000, 65536, 0); if (bios_only || !ret) @@ -657,11 +657,11 @@ machine_at_403tg_rev_d_init(const machine_t *model) int -machine_at_403tg_rev_d_mr_init(const machine_t *model) +machine_at_403tg_d_mr_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/403tg_rev_d/MRBiosOPT895.bin", + ret = bios_load_linear("roms/machines/403tg_d/MRBiosOPT895.bin", 0x000f0000, 65536, 0); if (bios_only || !ret) @@ -674,7 +674,7 @@ machine_at_403tg_rev_d_mr_init(const machine_t *model) int -machine_at_pc330_6573_init(const machine_t *model) // doesn't like every CPU other than the iDX4 and the Intel OverDrive, hangs without a PS/2 mouse +machine_at_pc330_6573_init(const machine_t *model) /* doesn't like every CPU other than the iDX4 and the Intel OverDrive, hangs without a PS/2 mouse */ { int ret; @@ -848,11 +848,11 @@ machine_at_vi15g_init(const machine_t *model) int -machine_at_green_b_init(const machine_t *model) +machine_at_greenb_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/green-b/4gpv31-ami-1993-8273517.bin", + ret = bios_load_linear("roms/machines/greenb/4gpv31-ami-1993-8273517.bin", 0x000f0000, 65536, 0); if (bios_only || !ret) @@ -1148,11 +1148,11 @@ machine_at_486sp3_init(const machine_t *model) int -machine_at_pci400c_b_init(const machine_t *model) +machine_at_pci400cb_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/pci400c-b/032295.ROM", + ret = bios_load_linear("roms/machines/pci400cb/032295.ROM", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -1167,7 +1167,7 @@ machine_at_pci400c_b_init(const machine_t *model) pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 0E = Slot 2 */ pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 0D = Slot 3 */ pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4); /* 0C = Slot 4 */ - device_add(&keyboard_ps2_ami_pci_device); /* Assume AMI Megakey 1993 stanalone ('P') + device_add(&keyboard_ps2_ami_pci_device); /* Assume AMI Megakey 1993 standalone ('P') because of the Tekram machine below. */ device_add(&ims8848_device); @@ -1419,11 +1419,11 @@ machine_at_ms4145_init(const machine_t *model) int -machine_at_sbc_490_init(const machine_t *model) +machine_at_sbc490_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/sbc-490/07159589.rom", + ret = bios_load_linear("roms/machines/sbc490/07159589.rom", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -1453,18 +1453,18 @@ machine_at_sbc_490_init(const machine_t *model) const device_t * -at_sbc_490_get_device(void) +at_sbc490_get_device(void) { return &tgui9440_onboard_pci_device; } int -machine_at_tf_486_init(const machine_t *model) +machine_at_tf486_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/tf-486/tf486v10.BIN", + ret = bios_load_linear("roms/machines/tf486/tf486v10.BIN", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -1788,11 +1788,11 @@ machine_at_m919_init(const machine_t *model) int -machine_at_spc7700p_lw_init(const machine_t *model) +machine_at_spc7700plw_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/spc7700p-lw/77LW13FH.P24", + ret = bios_load_linear("roms/machines/spc7700plw/77LW13FH.P24", 0x000e0000, 131072, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_socket7_3v.c b/src/machine/m_at_socket7_3v.c index 87185ad53..261ce333e 100644 --- a/src/machine/m_at_socket7_3v.c +++ b/src/machine/m_at_socket7_3v.c @@ -114,7 +114,7 @@ machine_at_p54tp4xe_mr_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/p54tp4xe_mr/TRITON.BIO", + ret = bios_load_linear("roms/machines/p54tp4xe/TRITON.BIO", 0x000e0000, 131072, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_socket8.c b/src/machine/m_at_socket8.c index 109a7926f..135630700 100644 --- a/src/machine/m_at_socket8.c +++ b/src/machine/m_at_socket8.c @@ -135,11 +135,11 @@ machine_at_mb600n_init(const machine_t *model) } int -machine_at_v60n_init(const machine_t *model) +machine_at_acerv60n_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/v60n/V60NE5.BIN", + ret = bios_load_linear("roms/machines/acerv60n/V60NE5.BIN", 0x000e0000, 131072, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_sockets7.c b/src/machine/m_at_sockets7.c index 6584212aa..c228658dd 100644 --- a/src/machine/m_at_sockets7.c +++ b/src/machine/m_at_sockets7.c @@ -116,11 +116,11 @@ machine_at_m579_init(const machine_t *model) int -machine_at_ga_5aa_init(const machine_t *model) +machine_at_5aa_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/ga-5aa/GA-5AA.F7b", + ret = bios_load_linear("roms/machines/5aa/GA-5AA.F7b", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -149,11 +149,11 @@ machine_at_ga_5aa_init(const machine_t *model) int -machine_at_ga_5ax_init(const machine_t *model) +machine_at_5ax_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/ga-5ax/5AX.F4", + ret = bios_load_linear("roms/machines/5ax/5AX.F4", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -287,11 +287,11 @@ machine_at_ficva503a_init(const machine_t *model) int -machine_at_sy_5ema_pro_init(const machine_t *model) +machine_at_5emapro_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/sy-5ema_pro/5emo1aa2.bin", + ret = bios_load_linear("roms/machines/5emapro/5emo1aa2.bin", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -309,11 +309,9 @@ machine_at_sy_5ema_pro_init(const machine_t *model) pci_register_slot(0x0C, PCI_CARD_NORMAL, 4, 1, 2, 3); pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4); - device_add(&via_mvp3_device); + device_add(&via_mvp3_device); /* Rebranded as EQ82C6638 */ device_add(&via_vt82c686a_device); device_add(&keyboard_ps2_ami_pci_device); - // device_add(&via_vt82c686_sio_device); - device_add(&fdc37c669_device); device_add(&sst_flash_39sf010_device); spd_register(SPD_TYPE_SDRAM, 0x7, 256); device_add(&via_vt82c686_hwm_device); /* fans: CPU1, Chassis; temperatures: CPU, System, unused */ @@ -321,7 +319,5 @@ machine_at_sy_5ema_pro_init(const machine_t *model) hwm_values.temperatures[1] += 2; /* System offset */ hwm_values.temperatures[2] = 0; /* unused */ - device_add(&wm9701a_device); /* on daughtercard */ - return ret; } diff --git a/src/machine/m_v86p.c b/src/machine/m_v86p.c index 85ddf68a7..022c9baec 100644 --- a/src/machine/m_v86p.c +++ b/src/machine/m_v86p.c @@ -69,7 +69,6 @@ machine_v86p_init(const machine_t *model) rom = 2; ret = bios_load_linear("roms/machines/v86p/V86P.ROM", 0x000f0000, 65536, 0); - } if (bios_only || !ret) diff --git a/src/machine/m_xt_t1000.c b/src/machine/m_xt_t1000.c index 5b7beb1f3..ef4a09c42 100644 --- a/src/machine/m_xt_t1000.c +++ b/src/machine/m_xt_t1000.c @@ -869,7 +869,7 @@ machine_xt_t1000_init(const machine_t *model) t1000.ems_port_index = 7; /* EMS disabled */ /* Load the T1000 CGA Font ROM. */ - loadfont("roms/machines/t1000/t1000font.rom", 2); + loadfont("roms/machines/t1000/t1000font.bin", 2); /* * The ROM drive is optional. @@ -960,8 +960,8 @@ machine_xt_t1200_init(const machine_t *model) t1000.is_t1200 = 1; t1000.ems_port_index = 7; /* EMS disabled */ - /* Load the T1200 CGA Font ROM. */ - loadfont("roms/machines/t1200/t1000font.bin", 2); + /* Load the T1000 CGA Font ROM. */ + loadfont("roms/machines/t1000/t1000font.bin", 2); /* Map the EMS page frame */ for (pg = 0; pg < 4; pg++) { diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index c287a5a1a..de171e267 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -232,13 +232,13 @@ const machine_t machines[] = { /* Has IBM PS/2 Type 1 KBC firmware. */ { "[ISA] IBM PS/1 model 2121", "ibmps1_2121", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 6144,1024, 63, machine_ps1_m2121_init, NULL }, /* Has IBM AT KBC firmware. */ - { "[ISA] NCR PC916SX", "pc916sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 16384, 128, 127, machine_at_pc916sx_init, NULL }, + { "[ISA] NCR PC916SX", "pc916sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 16384, 128, 127, machine_at_pc916sx_init, NULL }, /* Has Quadtel KBC firmware. */ - { "[ISA] QTC-SXM KT X20T02/HI", "quadt386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 16384, 128, 127, machine_at_quadt386sx_init, NULL }, + { "[ISA] QTC-SXM KT X20T02/HI", "quadt386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 16384, 128, 127, machine_at_quadt386sx_init, NULL }, /* This has an AMIKey-2, which is an updated version of type 'H'. */ { "[ALi M1217] Acrosser AR-B1374", "arb1374", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 32768,1024, 127, machine_at_arb1374_init, NULL }, /* Has the AMIKey KBC firmware, which is an updated 'F' type. */ - { "[ALi M1217] AAEON SBC-350A", "sbc-350a", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 16384, 1024, 127, machine_at_sbc_350a_init, NULL }, + { "[ALi M1217] AAEON SBC-350A", "sbc350a", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 16384, 1024, 127, machine_at_sbc350a_init, NULL }, /* Has an AMI KBC firmware, the only photo of this is too low resolution for me to read what's on the KBC chip, so I'm going to assume AMI 'F' based on the other known HT18 AMI BIOS strings. */ @@ -247,9 +247,9 @@ const machine_t machines[] = { firmware until the board is identified. */ { "[ALi M1217] MR 386SX clone", "mr1217", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 1024, 16384, 1024, 127, machine_at_mr1217_init, NULL }, /* Has IBM PS/2 Type 1 KBC firmware. */ - { "[ALi M6117] 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 }, + { "[ALi M6117] 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 }, /* Has IBM PS/2 Type 1 KBC firmware. */ - { "[ALi M6117C] Protech ProX-1332", "prox1332", 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_prox1332_init, NULL }, + { "[ALi M6117] Protech ProX-1332", "prox1332", 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_prox1332_init, NULL }, /* Has an AMI KBC firmware, the only photo of this is too low resolution for me to read what's on the KBC chip, so I'm going to assume AMI 'F' based on the other known HT18 AMI BIOS strings. */ @@ -257,7 +257,7 @@ const machine_t machines[] = { /* Has an unknown KBC firmware with commands B8 and BB in the style of Phoenix MultiKey and AMIKey-3(!), but also commands E1 and EA with unknown functions. */ - { "[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] 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 }, /* Has an AMI Keyboard BIOS PLUS KBC firmware ('8'). */ { "[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 }, /* Uses Commodore (CBM) KBC firmware, to be implemented as identical to @@ -356,7 +356,7 @@ const machine_t machines[] = { command, so it must expect an AMIKey. */ { "[VLSI 82C480] HP Vectra 486VL", "vect486vl", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 32768, 2048, 127, machine_at_vect486vl_init, at_vect486vl_get_device }, /* Has a standard IBM PS/2 KBC firmware or a clone thereof. */ - { "[VLSI 82C481] Siemens Nixdorf D824", "d824", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 32768, 2048, 127, machine_at_d824_init, at_d824_get_device }, + { "[VLSI 82C481] Siemens Nixdorf D824", "d824", MACHINE_TYPE_486, CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2048, 32768, 2048, 127, machine_at_d824_init, at_d824_get_device }, /* 486 machines - Socket 2 */ /* 486 machines with just the ISA slot */ @@ -369,7 +369,7 @@ const machine_t machines[] = { give it an AMIKey H KBC firmware. */ { "[ALi M1429G] Kaimei 486", "win486", MACHINE_TYPE_486_S2, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_winbios1429_init, NULL }, /* Uses an Intel KBC with Phoenix MultiKey KBC firmware. */ - { "[SiS 461] DEC DECpc LPV", "decpc_lpv", MACHINE_TYPE_486_S2, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 1024, 32768, 1024, 127, machine_at_decpc_lpv_init, NULL }, + { "[SiS 461] DEC DECpc LPV", "decpclpv", MACHINE_TYPE_486_S2, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 1024, 32768, 1024, 127, machine_at_decpclpv_init, NULL }, /* Uses an NEC 90M002A (UPD82C42C, 8042 clone) with unknown firmware. */ { "[SiS 461] Acer V10", "acerv10", MACHINE_TYPE_486_S2, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 1024, 32768, 1024, 127, machine_at_acerv10_init, NULL }, /* The BIOS does not send any non-standard keyboard controller commands and wants @@ -383,13 +383,13 @@ const machine_t machines[] = { /* 486 machines - Socket 3 */ /* 486 machines with just the ISA slot */ /* Has AMI MegaKey KBC firmware. */ - { "[Contaq 82C597] Green-B", "green-b", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_green_b_init, NULL }, + { "[Contaq 82C597] Green-B", "greenb", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_greenb_init, NULL }, /* Has a VIA VT82C42N KBC. */ { "[OPTi 895] Jetway J-403TG", "403tg", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_403tg_init, NULL }, /* Has JetKey 5 KBC Firmware which looks like it is a clone of AMIKey type F. */ - { "[OPTi 895] Jetway J-403TG Rev D", "403tg_rev_d", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_403tg_rev_d_init, NULL }, + { "[OPTi 895] Jetway J-403TG Rev D", "403tg_d", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_403tg_d_init, NULL }, /* Has JetKey 5 KBC Firmware which looks like it is a clone of AMIKey type F. */ - { "[OPTi 895] Jetway J-403TG Rev D (MR BIOS)","403tg_rev_d_mr", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_403tg_rev_d_mr_init, NULL }, + { "[OPTi 895] Jetway J-403TG Rev D (MR BIOS)","403tg_d_mr", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_403tg_d_mr_init, NULL }, /* Has AMIKey H keyboard BIOS. */ { "[SiS 471] AOpen Vi15G", "vi15g", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_vi15g_init, NULL }, /* This has an AMIKey-2, which is an updated version of type 'H'. */ @@ -401,7 +401,7 @@ const machine_t machines[] = { /* 486 machines which utilize the PCI bus */ /* This has an AMIKey-2, which is an updated version of type 'H'. */ - { "[ALi M1489] AAEON SBC-490", "sbc-490", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 1024, 65536, 1024, 255, machine_at_sbc_490_init, at_sbc_490_get_device }, + { "[ALi M1489] AAEON SBC-490", "sbc490", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 1024, 65536, 1024, 255, machine_at_sbc490_init, at_sbc490_get_device }, /* Has the ALi M1487/9's on-chip keyboard controller which clones a standard AT KBC. */ { "[ALi M1489] ABIT AB-PB4", "abpb4", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_abpb4_init, NULL }, @@ -418,7 +418,7 @@ const machine_t machines[] = { controller likely returns 'E'. */ { "[ALi M1489] MSI MS-4145", "ms4145", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_ms4145_init, NULL }, /* Has an ALi M5042 keyboard controller with Phoenix MultiKey/42 v1.40 firmware. */ - { "[ALi M1489] ESA TF-486", "tf-486", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_tf_486_init, NULL }, + { "[ALi M1489] ESA TF-486", "tf486", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_tf486_init, NULL }, /* Has IBM PS/2 Type 1 KBC firmware. */ { "[OPTi 802G] IBM PC 330 (type 6573)", "pc330_6573", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3_PC330, 0, 25000000, 33333333, 0, 0, 2.0, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_pc330_6573_init, NULL }, /* This has an AMIKey-2, which is an updated version of type 'H'. */ @@ -433,7 +433,7 @@ const machine_t machines[] = { /* This has the Phoenix MultiKey KBC firmware. */ { "[i420TX] Intel Classic/PCI", "alfredo", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_alfredo_init, NULL }, /* This most likely has a standalone AMI Megakey 1993, which is type 'P', like the below Tekram board. */ - { "[IMS 8848] J-Bond PCI400C-B", "pci400c_b", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_pci400c_b_init, NULL }, + { "[IMS 8848] J-Bond PCI400C-B", "pci400cb", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_pci400cb_init, NULL }, /* This has a standalone AMI Megakey 1993, which is type 'P'. */ { "[IMS 8848] Tekram G486IP", "g486ip", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_g486ip_init, NULL }, /* This has an AMIKey-2, which is an updated version of type 'H'. */ @@ -460,7 +460,7 @@ const machine_t machines[] = { in -H, so the UMC on-chip KBC likely emulates the AMI 'H' KBC firmware. */ { "[UMC 8881] PC Chips M919", "m919", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_VLB | MACHINE_IDE_DUAL, 1024, 131072, 1024, 255, machine_at_m919_init, NULL }, /* Has IBM PS/2 Type 1 KBC firmware. Uses a mysterious I/O port C05. */ - { "[UMC 8881] Samsung SPC7700P-LW", "spc7700p-lw", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024, 131072, 1024, 255, machine_at_spc7700p_lw_init, NULL }, + { "[UMC 8881] Samsung SPC7700P-LW", "spc7700plw", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024, 131072, 1024, 255, machine_at_spc7700plw_init, NULL }, /* This has a Holtek KBC. */ { "[UMC 8881] Shuttle HOT-433A", "hot433", MACHINE_TYPE_486_S3, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 262144, 1024, 255, machine_at_hot433_init, NULL }, /* Has a VIA VT82C406 KBC+RTC that likely has identical commands to the VT82C42N. */ @@ -725,14 +725,14 @@ const machine_t machines[] = { /* Super Socket 7 machines */ /* ALi ALADDiN V */ /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] ASUS P5A", "p5a", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 2000, 3200, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_p5a_init, NULL }, + { "[ALi ALADDiN V] ASUS P5A", "p5a", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 60000000, 120000000, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_p5a_init, NULL }, /* Is the exact same as the Matsonic MS6260S. Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] PC Chips M579", "m579", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 2000, 3200, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_m579_init, NULL }, + { "[ALi ALADDiN V] PC Chips M579", "m579", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 100000000, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_m579_init, NULL }, /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] Gigabyte GA-5AA", "ga-5aa", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 2000, 3200, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_ga_5aa_init, NULL }, + { "[ALi ALADDiN V] Gigabyte GA-5AA", "5aa", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 140000000, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_5aa_init, NULL }, /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] Gigabyte GA-5AX", "ga-5ax", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 2000, 3200, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_ga_5ax_init, NULL }, + { "[ALi ALADDiN V] Gigabyte GA-5AX", "5ax", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 140000000, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_5ax_init, NULL }, /* Apollo MVP3 */ /* Has the VIA VT82C586B southbridge with on-chip KBC identical to the VIA @@ -746,7 +746,7 @@ const machine_t machines[] = { { "[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_BUS_AC97 | MACHINE_IDE_DUAL | MACHINE_SOUND, 8192, 786432, 8192, 255, machine_at_ficva503a_init, NULL }, /* Has the VIA VT82C686A southbridge with on-chip KBC identical to the VIA VT82C42N. */ - { "[VIA MVP3] Soyo SY-5EMA Pro", "sy-5ema_pro", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 1800, 3100, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 255, machine_at_sy_5ema_pro_init, NULL }, + { "[VIA MVP3] Soyo 5EMA PRO", "5emapro", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 124242424, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 255, machine_at_5emapro_init, NULL }, /* Socket 8 machines */ /* 450KX */ @@ -755,7 +755,7 @@ const machine_t machines[] = { /* 440FX */ /* Has the SMC FDC73C935's on-chip KBC with Phoenix MultiKey firmware. */ - { "[i440FX] Acer V60N", "v60n", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2500, 3500, 1.5, 8.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 524288, 8192, 127, machine_at_v60n_init, NULL }, + { "[i440FX] Acer V60N", "acerv60n", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2500, 3500, 1.5, 8.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 524288, 8192, 127, machine_at_acerv60n_init, NULL }, /* The base board has AMIKey-2 (updated 'H') KBC firmware. */ { "[i440FX] ASUS P/I-P65UP5 (C-P6ND)", "p65up5_cp6nd", MACHINE_TYPE_SOCKET8, CPU_PKG_SOCKET8, 0, 60000000, 66666667, 2100, 3500, 1.5, 8.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 127, machine_at_p65up5_cp6nd_init, NULL }, /* The MB-8600TTX has an AMIKey 'F' KBC firmware, so I'm going to assume so does diff --git a/src/video/vid_cl54xx.c b/src/video/vid_cl54xx.c index 6cc24affa..1a90dc8d5 100644 --- a/src/video/vid_cl54xx.c +++ b/src/video/vid_cl54xx.c @@ -45,15 +45,15 @@ #define BIOS_GD5402_ONBOARD_PATH "roms/machines/cmdsl386sx25/c000.rom" #define BIOS_GD5420_PATH "roms/video/cirruslogic/5420.vbi" #define BIOS_GD5422_PATH "roms/video/cirruslogic/cl5422.bin" -#define BIOS_GD5426_DIAMOND_A1_ISA_PATH "roms/video/cirruslogic/diamond5426.bin" -#define BIOS_GD5428_DIAMOND_B1_VLB_PATH "roms/video/cirruslogic/Diamond SpeedStar PRO VLB v3.04.bin" +#define BIOS_GD5426_DIAMOND_A1_ISA_PATH "roms/video/cirruslogic/diamond5426.vbi" +#define BIOS_GD5428_DIAMOND_B1_VLB_PATH "roms/video/cirruslogic/Diamond SpeedStar PRO VLB v3.04.bin" #define BIOS_GD5428_ISA_PATH "roms/video/cirruslogic/5428.bin" #define BIOS_GD5428_MCA_PATH "roms/video/cirruslogic/SVGA141.ROM" #define BIOS_GD5428_PATH "roms/video/cirruslogic/vlbusjapan.BIN" #define BIOS_GD5429_PATH "roms/video/cirruslogic/5429.vbi" -#define BIOS_GD5430_DIAMOND_A8_VLB_PATH "roms/video/cirruslogic/diamondvlbus.bin" +#define BIOS_GD5430_DIAMOND_A8_VLB_PATH "roms/video/cirruslogic/diamondvlbus.bin" #define BIOS_GD5430_PATH "roms/video/cirruslogic/pci.bin" -#define BIOS_GD5434_DIAMOND_A3_ISA_PATH "roms/video/cirruslogic/Diamond Multimedia SpeedStar 64 v2.02 EPROM Backup from ST M27C256B-12F1.BIN" +#define BIOS_GD5434_DIAMOND_A3_ISA_PATH "roms/video/cirruslogic/Diamond Multimedia SpeedStar 64 v2.02 EPROM Backup from ST M27C256B-12F1.BIN" #define BIOS_GD5434_PATH "roms/video/cirruslogic/gd5434.bin" #define BIOS_GD5436_PATH "roms/video/cirruslogic/5436.vbi" #define BIOS_GD5440_PATH "roms/video/cirruslogic/BIOS.BIN" diff --git a/src/video/vid_oak_oti.c b/src/video/vid_oak_oti.c index 941359987..c7b475c70 100644 --- a/src/video/vid_oak_oti.c +++ b/src/video/vid_oak_oti.c @@ -30,11 +30,11 @@ #include <86box/vid_svga.h> #include <86box/vid_svga_render.h> -#define BIOS_037C_PATH "roms/video/oti/bios.bin" +#define BIOS_037C_PATH "roms/video/oti/bios.bin" #define BIOS_067_AMA932J_PATH "roms/machines/ama932j/oti067.bin" -#define BIOS_067_M300_08_PATH "roms/machines/olivetti_m300_08/EVC_BIOS.ROM" -#define BIOS_067_M300_15_PATH "roms/machines/olivetti_m300_15/EVC_BIOS.ROM" -#define BIOS_077_PATH "roms/video/oti/oti077.vbi" +#define BIOS_067_M300_08_PATH "roms/machines/m30008/EVC_BIOS.ROM" +#define BIOS_067_M300_15_PATH "roms/machines/m30015/EVC_BIOS.ROM" +#define BIOS_077_PATH "roms/video/oti/oti077.vbi" enum { diff --git a/src/video/vid_paradise.c b/src/video/vid_paradise.c index d32871c22..3c90d5751 100644 --- a/src/video/vid_paradise.c +++ b/src/video/vid_paradise.c @@ -599,7 +599,7 @@ static void *paradise_pvga1a_ncr3302_init(const device_t *info) paradise_t *paradise = paradise_init(info, 1 << 18); if (paradise) - rom_init(¶dise->bios_rom, "roms/machines/ncr_3302/c000-wd_1987-1989-740011-003058-019c.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL); + rom_init(¶dise->bios_rom, "roms/machines/3302/c000-wd_1987-1989-740011-003058-019c.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL); return paradise; } diff --git a/src/video/vid_table.c b/src/video/vid_table.c index f1752d611..cd9f0a785 100644 --- a/src/video/vid_table.c +++ b/src/video/vid_table.c @@ -73,11 +73,11 @@ video_cards[] = { { "cl_gd5420_isa", &gd5420_isa_device }, { "cl_gd5422_isa", &gd5422_isa_device }, { "cl_gd5426_isa", &gd5426_isa_device }, - { "cl_gd5426_diamond_a1_isa", &gd5426_diamond_speedstar_pro_a1_isa_device }, + { "cl_gd5426_diamond_a1_isa", &gd5426_diamond_speedstar_pro_a1_isa_device }, { "cl_gd5428_isa", &gd5428_isa_device }, { "cl_gd5429_isa", &gd5429_isa_device }, { "cl_gd5434_isa", &gd5434_isa_device }, - { "cl_gd5434_diamond_a3_isa", &gd5434_diamond_speedstar_64_a3_isa_device }, + { "cl_gd5434_diamond_a3_isa", &gd5434_diamond_speedstar_64_a3_isa_device }, { "compaq_cga", &compaq_cga_device }, { "compaq_cga_2", &compaq_cga_2_device }, { "compaq_ega", &cpqega_device }, @@ -101,14 +101,14 @@ video_cards[] = { { "wd90c30", ¶dise_wd90c30_device }, { "plantronics", &colorplus_device }, { "pgc", &pgc_device }, - { "radius_isa", &radius_svga_multiview_isa_device }, - { "rtg3106", &realtek_rtg3106_device }, - { "stealthvram_isa", &s3_diamond_stealth_vram_isa_device }, + { "radius_isa", &radius_svga_multiview_isa_device }, + { "rtg3106", &realtek_rtg3106_device }, + { "stealthvram_isa", &s3_diamond_stealth_vram_isa_device }, { "orchid_s3_911", &s3_orchid_86c911_isa_device }, - { "ami_s3_924", &s3_ami_86c924_isa_device }, + { "ami_s3_924", &s3_ami_86c924_isa_device }, { "metheus928_isa", &s3_metheus_86c928_isa_device }, { "px_86c801_isa", &s3_phoenix_86c801_isa_device }, - { "px_s3_v7_801_isa", &s3_spea_mirage_86c801_isa_device }, + { "px_s3_v7_801_isa", &s3_spea_mirage_86c801_isa_device }, { "sigma400", &sigma_device }, { "tvga8900b", &tvga8900b_device }, { "tvga8900d", &tvga8900d_device }, @@ -123,7 +123,7 @@ video_cards[] = { { "wy700", &wy700_device }, { "ibm1mbsvga", &gd5428_mca_device }, { "et4000mca", &et4000_mca_device }, - { "radius_mc", &radius_svga_multiview_mca_device }, + { "radius_mc", &radius_svga_multiview_mca_device }, { "mach64gx_pci", &mach64gx_pci_device }, { "mach64vt2", &mach64vt2_device }, { "et4000w32p_revc_pci", &et4000w32p_revc_pci_device }, @@ -140,31 +140,31 @@ video_cards[] = { { "stealth32_pci", &et4000w32p_pci_device }, { "stealth64v_pci", &s3_diamond_stealth64_964_pci_device }, { "elsawin2kprox_964_pci", &s3_elsa_winner2000_pro_x_964_pci_device }, - { "mirocrystal20sv_pci", &s3_mirocrystal_20sv_964_pci_device }, + { "mirocrystal20sv_pci", &s3_mirocrystal_20sv_964_pci_device }, { "bahamas64_pci", &s3_bahamas64_pci_device }, { "px_vision864_pci", &s3_phoenix_vision864_pci_device }, { "stealthse_pci", &s3_diamond_stealth_se_pci_device }, - { "px_trio32_pci", &s3_phoenix_trio32_pci_device }, + { "px_trio32_pci", &s3_phoenix_trio32_pci_device }, { "stealth64d_pci", &s3_diamond_stealth64_pci_device }, { "n9_9fx_pci", &s3_9fx_pci_device }, { "px_trio64_pci", &s3_phoenix_trio64_pci_device }, { "elsawin2kprox_pci", &s3_elsa_winner2000_pro_x_pci_device }, - { "mirovideo40sv_pci", &s3_mirovideo_40sv_ergo_968_pci_device }, - { "n9_9fx_771_pci", &s3_9fx_771_pci_device }, + { "mirovideo40sv_pci", &s3_mirovideo_40sv_ergo_968_pci_device }, + { "n9_9fx_771_pci", &s3_9fx_771_pci_device }, { "px_vision968_pci", &s3_phoenix_vision968_pci_device }, - { "spea_mercury64p_pci", &s3_spea_mercury_p64v_pci_device }, - { "n9_9fx_531_pci", &s3_9fx_531_pci_device }, + { "spea_mercury64p_pci", &s3_spea_mercury_p64v_pci_device }, + { "n9_9fx_531_pci", &s3_9fx_531_pci_device }, { "px_vision868_pci", &s3_phoenix_vision868_pci_device }, - { "px_trio64vplus_pci", &s3_phoenix_trio64vplus_pci_device }, + { "px_trio64vplus_pci", &s3_phoenix_trio64vplus_pci_device }, { "trio64v2dx_pci", &s3_trio64v2_dx_pci_device }, { "virge325_pci", &s3_virge_325_pci_device }, - { "stealth3d_2000_pci", &s3_diamond_stealth_2000_pci_device }, - { "stealth3d_3000_pci", &s3_diamond_stealth_3000_pci_device }, + { "stealth3d_2000_pci", &s3_diamond_stealth_2000_pci_device }, + { "stealth3d_3000_pci", &s3_diamond_stealth_3000_pci_device }, { "virge375_pci", &s3_virge_375_pci_device }, - { "stealth3d_2000pro_pci", &s3_diamond_stealth_2000pro_pci_device }, + { "stealth3d_2000pro_pci", &s3_diamond_stealth_2000pro_pci_device }, { "virge385_pci", &s3_virge_385_pci_device }, { "virge357_pci", &s3_virge_357_pci_device }, - { "stealth3d_4000_pci", &s3_diamond_stealth_4000_pci_device }, + { "stealth3d_4000_pci", &s3_diamond_stealth_4000_pci_device }, { "trio3d2x", &s3_trio3d2x_pci_device }, #if defined(DEV_BRANCH) && defined(USE_MGA) { "mystique", &mystique_device }, @@ -185,18 +185,18 @@ video_cards[] = { { "cl_gd5424_vlb", &gd5424_vlb_device }, { "cl_gd5426_vlb", &gd5426_vlb_device }, { "cl_gd5428_vlb", &gd5428_vlb_device }, - { "cl_gd5428_diamond_b1_vlb", &gd5428_diamond_speedstar_pro_b1_vlb_device }, + { "cl_gd5428_diamond_b1_vlb", &gd5428_diamond_speedstar_pro_b1_vlb_device }, { "cl_gd5429_vlb", &gd5429_vlb_device }, - { "cl_gd5430_vlb", &gd5430_diamond_speedstar_pro_se_a8_vlb_device }, + { "cl_gd5430_vlb", &gd5430_diamond_speedstar_pro_se_a8_vlb_device }, { "cl_gd5434_vlb", &gd5434_vlb_device }, { "metheus928_vlb", &s3_metheus_86c928_vlb_device }, - { "mirocrystal8s_vlb", &s3_mirocrystal_8s_805_vlb_device }, - { "mirocrystal10sd_vlb", &s3_mirocrystal_10sd_805_vlb_device }, + { "mirocrystal8s_vlb", &s3_mirocrystal_8s_805_vlb_device }, + { "mirocrystal10sd_vlb", &s3_mirocrystal_10sd_805_vlb_device }, { "px_86c805_vlb", &s3_phoenix_86c805_vlb_device }, - { "px_s3_v7_805_vlb", &s3_spea_mirage_86c805_vlb_device }, + { "px_s3_v7_805_vlb", &s3_spea_mirage_86c805_vlb_device }, { "stealth64v_vlb", &s3_diamond_stealth64_964_vlb_device }, - { "mirocrystal20sv_vlb", &s3_mirocrystal_20sv_964_vlb_device }, - { "mirocrystal20sd_vlb", &s3_mirocrystal_20sd_864_vlb_device }, + { "mirocrystal20sv_vlb", &s3_mirocrystal_20sv_964_vlb_device }, + { "mirocrystal20sd_vlb", &s3_mirocrystal_20sd_864_vlb_device }, { "bahamas64_vlb", &s3_bahamas64_vlb_device }, { "px_vision864_vlb", &s3_phoenix_vision864_vlb_device }, { "stealthse_vlb", &s3_diamond_stealth_se_vlb_device }, @@ -204,19 +204,19 @@ video_cards[] = { { "stealth64d_vlb", &s3_diamond_stealth64_vlb_device }, { "n9_9fx_vlb", &s3_9fx_vlb_device }, { "px_trio64_vlb", &s3_phoenix_trio64_vlb_device }, - { "spea_miragep64_vlb", &s3_spea_mirage_p64_vlb_device }, + { "spea_miragep64_vlb", &s3_spea_mirage_p64_vlb_device }, { "px_vision968_vlb", &s3_phoenix_vision968_vlb_device }, { "px_vision868_vlb", &s3_phoenix_vision868_vlb_device }, { "ht216_32", &ht216_32_standalone_device }, { "tgui9400cxi_vlb", &tgui9400cxi_device }, { "tgui9440_vlb", &tgui9440_vlb_device }, { "virge357_agp", &s3_virge_357_agp_device }, - { "stealth3d_4000_agp", &s3_diamond_stealth_4000_agp_device }, - { "trio3d2x_agp", &s3_trio3d2x_agp_device }, - { "velocity100_agp", &velocity_100_agp_device }, + { "stealth3d_4000_agp", &s3_diamond_stealth_4000_agp_device }, + { "trio3d2x_agp", &s3_trio3d2x_agp_device }, + { "velocity100_agp", &velocity_100_agp_device }, { "voodoo3_2k_agp", &voodoo_3_2000_agp_device }, { "voodoo3_3k_agp", &voodoo_3_3000_agp_device }, - { "", NULL } + { "", NULL } }; From 5af0db8075cf3f0f494bac25b6b368fe5136391a Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 21 Nov 2021 13:33:22 -0300 Subject: [PATCH 10/16] Fix ROM filename casing --- src/machine/m_at_286_386sx.c | 8 ++++---- src/machine/m_at_386dx_486.c | 6 +++--- src/machine/m_at_slot1.c | 2 +- src/machine/m_at_slot2.c | 2 +- src/machine/m_at_socket5.c | 2 +- src/machine/m_at_socket7.c | 14 +++++++------- src/machine/m_at_socket7_3v.c | 4 ++-- src/machine/m_at_socket8.c | 22 +++++++++++----------- src/machine/m_ps1.c | 4 ++-- src/machine/m_xt.c | 2 +- src/scsi/scsi_buslogic.c | 4 ++-- src/scsi/scsi_ncr5380.c | 2 +- src/scsi/scsi_ncr53c8xx.c | 2 +- src/sound/midi_mt32.c | 4 ++-- src/video/vid_ati28800.c | 6 +++--- src/video/vid_cl54xx.c | 4 ++-- src/video/vid_et4000.c | 2 +- src/video/vid_oak_oti.c | 2 +- src/video/vid_s3.c | 12 ++++++------ src/video/vid_tgui9440.c | 2 +- src/video/vid_tvga.c | 2 +- 21 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/machine/m_at_286_386sx.c b/src/machine/m_at_286_386sx.c index 5f8229ccc..05c700fb8 100644 --- a/src/machine/m_at_286_386sx.c +++ b/src/machine/m_at_286_386sx.c @@ -204,7 +204,7 @@ machine_at_neat_ami_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/ami286/amic206.bin", + ret = bios_load_linear("roms/machines/ami286/AMIC206.BIN", 0x000f0000, 65536, 0); if (bios_only || !ret) @@ -404,8 +404,8 @@ machine_at_spc4216p_init(const machine_t *model) { int ret; - ret = bios_load_interleaved("roms/machines/spc4216p/7101.u8", - "roms/machines/spc4216p/ac64.u10", + ret = bios_load_interleaved("roms/machines/spc4216p/7101.U8", + "roms/machines/spc4216p/AC64.U10", 0x000f0000, 131072, 0); if (bios_only || !ret) @@ -662,7 +662,7 @@ machine_at_spc6033p_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/spc6033p/phoenix.bin", + ret = bios_load_linear("roms/machines/spc6033p/phoenix.BIN", 0x000f0000, 65536, 0x10000); if (bios_only || !ret) diff --git a/src/machine/m_at_386dx_486.c b/src/machine/m_at_386dx_486.c index 8c5d89c7f..ae9b364bd 100644 --- a/src/machine/m_at_386dx_486.c +++ b/src/machine/m_at_386dx_486.c @@ -503,7 +503,7 @@ machine_at_ali1429_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/ami486/ami486.bin", + ret = bios_load_linear("roms/machines/ali1429/ami486.BIN", 0x000f0000, 65536, 0); if (bios_only || !ret) @@ -1490,7 +1490,7 @@ machine_at_itoxstar_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/itoxstar/stara.rom", + ret = bios_load_linear("roms/machines/itoxstar/STARA.ROM", 0x000c0000, 262144, 0); if (bios_only || !ret) @@ -1548,7 +1548,7 @@ machine_at_arb1479_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/arb1479/1479a.rom", + ret = bios_load_linear("roms/machines/arb1479/1479A.rom", 0x000c0000, 262144, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index 9c286ec79..9b494af54 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -45,7 +45,7 @@ machine_at_p65up5_cpknd_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/p65up5/ndkn0218.awd", + ret = bios_load_linear("roms/machines/p65up5/NDKN0218.AWD", 0x000e0000, 131072, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_slot2.c b/src/machine/m_at_slot2.c index 84c789990..4a1babf74 100644 --- a/src/machine/m_at_slot2.c +++ b/src/machine/m_at_slot2.c @@ -119,7 +119,7 @@ machine_at_fw6400gx_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/fw6400gx/fwgx1211.rom", + ret = bios_load_linear("roms/machines/fw6400gx/FWGX1211.ROM", 0x000c0000, 262144, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_socket5.c b/src/machine/m_at_socket5.c index f987bd7ab..2c663cd01 100644 --- a/src/machine/m_at_socket5.c +++ b/src/machine/m_at_socket5.c @@ -316,7 +316,7 @@ machine_at_pat54pv_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/pat54pv/pat54pv.bin", + ret = bios_load_linear("roms/machines/pat54pv/PAT54PV.bin", 0x000f0000, 65536, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_socket7.c b/src/machine/m_at_socket7.c index 70865044f..3918f4858 100644 --- a/src/machine/m_at_socket7.c +++ b/src/machine/m_at_socket7.c @@ -179,11 +179,11 @@ machine_at_tc430hx_init(const machine_t *model) { int ret; - ret = bios_load_linear_combined2("roms/machines/tc430hx/1007dh0_.bio", - "roms/machines/tc430hx/1007dh0_.bi1", - "roms/machines/tc430hx/1007dh0_.bi2", - "roms/machines/tc430hx/1007dh0_.bi3", - "roms/machines/tc430hx/1007dh0_.rcv", + ret = bios_load_linear_combined2("roms/machines/tc430hx/1007DH0_.BIO", + "roms/machines/tc430hx/1007DH0_.BI1", + "roms/machines/tc430hx/1007DH0_.BI2", + "roms/machines/tc430hx/1007DH0_.BI3", + "roms/machines/tc430hx/1007DH0_.RCV", 0x3a000, 128); if (bios_only || !ret) @@ -285,7 +285,7 @@ machine_at_p65up5_cp55t2d_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/p65up5/td5i0201.awd", + ret = bios_load_linear("roms/machines/p65up5/TD5I0201.AWD", 0x000e0000, 131072, 0); if (bios_only || !ret) @@ -586,7 +586,7 @@ machine_at_i430vx_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/430vx/55xwuq0e.bin", + ret = bios_load_linear("roms/machines/430vx/55XWUQ0E.BIN", 0x000e0000, 131072, 0); if (bios_only || !ret) diff --git a/src/machine/m_at_socket7_3v.c b/src/machine/m_at_socket7_3v.c index 261ce333e..19b60bdbb 100644 --- a/src/machine/m_at_socket7_3v.c +++ b/src/machine/m_at_socket7_3v.c @@ -131,8 +131,8 @@ machine_at_gw2katx_init(const machine_t *model) { int ret; - ret = bios_load_linear_combined("roms/machines/gw2katx/1003cn0t.bio", - "roms/machines/gw2katx/1003cn0t.bi1", 0x20000, 128); + ret = bios_load_linear_combined("roms/machines/gw2katx/1003CN0T.BIO", + "roms/machines/gw2katx/1003CN0T.BI1", 0x20000, 128); if (bios_only || !ret) return ret; diff --git a/src/machine/m_at_socket8.c b/src/machine/m_at_socket8.c index 135630700..6bacefb43 100644 --- a/src/machine/m_at_socket8.c +++ b/src/machine/m_at_socket8.c @@ -169,11 +169,11 @@ machine_at_vs440fx_init(const machine_t *model) { int ret; - ret = bios_load_linear_combined2("roms/machines/vs440fx/1018CS1_.bio", - "roms/machines/vs440fx/1018CS1_.bi1", - "roms/machines/vs440fx/1018CS1_.bi2", - "roms/machines/vs440fx/1018CS1_.bi3", - "roms/machines/vs440fx/1018CS1_.rcv", + ret = bios_load_linear_combined2("roms/machines/vs440fx/1018CS1_.BIO", + "roms/machines/vs440fx/1018CS1_.BI1", + "roms/machines/vs440fx/1018CS1_.BI2", + "roms/machines/vs440fx/1018CS1_.BI3", + "roms/machines/vs440fx/1018CS1_.RCV", 0x3a000, 128); if (bios_only || !ret) @@ -203,11 +203,11 @@ machine_at_ap440fx_init(const machine_t *model) { int ret; - ret = bios_load_linear_combined2("roms/machines/ap440fx/1011CT1_.bio", - "roms/machines/ap440fx/1011CT1_.bi1", - "roms/machines/ap440fx/1011CT1_.bi2", - "roms/machines/ap440fx/1011CT1_.bi3", - "roms/machines/ap440fx/1011CT1_.rcv", + ret = bios_load_linear_combined2("roms/machines/ap440fx/1011CT1_.BIO", + "roms/machines/ap440fx/1011CT1_.BI1", + "roms/machines/ap440fx/1011CT1_.BI2", + "roms/machines/ap440fx/1011CT1_.BI3", + "roms/machines/ap440fx/1011CT1_.RCV", 0x3a000, 128); if (bios_only || !ret) @@ -315,7 +315,7 @@ machine_at_p65up5_cp6nd_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/p65up5/nd6i0218.awd", + ret = bios_load_linear("roms/machines/p65up5/ND6I0218.AWD", 0x000e0000, 131072, 0); if (bios_only || !ret) diff --git a/src/machine/m_ps1.c b/src/machine/m_ps1.c index ca444421c..4c5c26dbc 100644 --- a/src/machine/m_ps1.c +++ b/src/machine/m_ps1.c @@ -488,7 +488,7 @@ ps1_setup(int model) ps1_read, NULL, NULL, ps1_write, NULL, NULL, ps); rom_init(&ps->high_rom, - "roms/machines/ibmps1_2121/fc0000.bin", + "roms/machines/ibmps1_2121/FC0000.BIN", 0xfc0000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL); /* Initialize the video controller. */ @@ -546,7 +546,7 @@ machine_ps1_m2121_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/ibmps1_2121/fc0000.bin", + ret = bios_load_linear("roms/machines/ibmps1_2121/FC0000.BIN", 0x000e0000, 131072, 0x20000); if (bios_only || !ret) diff --git a/src/machine/m_xt.c b/src/machine/m_xt.c index ede52cf6f..1e4e7bd39 100644 --- a/src/machine/m_xt.c +++ b/src/machine/m_xt.c @@ -330,7 +330,7 @@ machine_xt_pc4i_init(const machine_t *model) { int ret; - ret = bios_load_linear("roms/machines/pc4i/NCR_PC4i_BIOSROM_1985.bin", + ret = bios_load_linear("roms/machines/pc4i/NCR_PC4i_BIOSROM_1985.BIN", 0x000fc000, 16384, 0); if (bios_only || !ret) diff --git a/src/scsi/scsi_buslogic.c b/src/scsi/scsi_buslogic.c index b05a57bb7..fcc19a1d6 100644 --- a/src/scsi/scsi_buslogic.c +++ b/src/scsi/scsi_buslogic.c @@ -231,7 +231,7 @@ typedef struct { enum { - CHIP_BUSLOGIC_ISA_542_1991, + CHIP_BUSLOGIC_ISA_542_1991, CHIP_BUSLOGIC_ISA_542, CHIP_BUSLOGIC_ISA, CHIP_BUSLOGIC_MCA, @@ -1586,7 +1586,7 @@ buslogic_init(const device_t *info) { case CHIP_BUSLOGIC_ISA_542_1991: strcpy(dev->name, "BT-542B"); - bios_rom_name = "roms/scsi/buslogic/BT-542B_BIOS.rom"; + bios_rom_name = "roms/scsi/buslogic/BT-542B_BIOS.ROM"; bios_rom_size = 0x4000; bios_rom_mask = 0x3fff; has_autoscsi_rom = 0; diff --git a/src/scsi/scsi_ncr5380.c b/src/scsi/scsi_ncr5380.c index 7a6cd5ef9..e232e3684 100644 --- a/src/scsi/scsi_ncr5380.c +++ b/src/scsi/scsi_ncr5380.c @@ -45,7 +45,7 @@ #define LCS6821N_ROM "roms/scsi/ncr5380/Longshine LCS-6821N - BIOS version 1.04.bin" #define RT1000B_810R_ROM "roms/scsi/ncr5380/Rancho_RT1000_RTBios_version_8.10R.bin" -#define RT1000B_820R_ROM "roms/scsi/ncr5380/RTBIOS82.rom" +#define RT1000B_820R_ROM "roms/scsi/ncr5380/RTBIOS82.ROM" #define T130B_ROM "roms/scsi/ncr5380/trantor_t130b_bios_v2.14.bin" #define T128_ROM "roms/scsi/ncr5380/trantor_t128_bios_v1.12.bin" diff --git a/src/scsi/scsi_ncr53c8xx.c b/src/scsi/scsi_ncr53c8xx.c index 35a46381e..db54f1422 100644 --- a/src/scsi/scsi_ncr53c8xx.c +++ b/src/scsi/scsi_ncr53c8xx.c @@ -47,7 +47,7 @@ #define NCR53C8XX_SDMS3_ROM "roms/scsi/ncr53c8xx/NCR307.BIN" -#define SYM53C8XX_SDMS4_ROM "roms/scsi/ncr53c8xx/8xx_64.ROM" +#define SYM53C8XX_SDMS4_ROM "roms/scsi/ncr53c8xx/8xx_64.rom" #define HA_ID 7 diff --git a/src/sound/midi_mt32.c b/src/sound/midi_mt32.c index a012236c5..c41942574 100644 --- a/src/sound/midi_mt32.c +++ b/src/sound/midi_mt32.c @@ -69,14 +69,14 @@ mt32emu_return_code mt32_check(const char* func, mt32emu_return_code ret, mt32em int mt32_available() { if (roms_present[0] < 0) - roms_present[0] = (rom_present("roms/sound/mt32/mt32_control.rom") && rom_present("roms/sound/mt32/mt32_pcm.rom")); + roms_present[0] = (rom_present("roms/sound/mt32/MT32_CONTROL.ROM") && rom_present("roms/sound/mt32/MT32_PCM.ROM")); return roms_present[0]; } int cm32l_available() { if (roms_present[1] < 0) - roms_present[1] = (rom_present("roms/sound/cm32l/cm32l_control.rom") && rom_present("roms/sound/cm32l/cm32l_pcm.rom")); + roms_present[1] = (rom_present("roms/sound/cm32l/CM32L_CONTROL.ROM") && rom_present("roms/sound/cm32l/CM32L_PCM.ROM")); return roms_present[1]; } diff --git a/src/video/vid_ati28800.c b/src/video/vid_ati28800.c index 23ec0a2c5..f4a40f89e 100644 --- a/src/video/vid_ati28800.c +++ b/src/video/vid_ati28800.c @@ -43,9 +43,9 @@ #endif #define BIOS_ATIKOR_PATH "roms/video/ati28800/atikorvga.bin" -#define BIOS_ATIKOR_4620P_PATH_L "roms/machines/spc4620p/31005h.u8" -#define BIOS_ATIKOR_4620P_PATH_H "roms/machines/spc4620p/31005h.u10" -#define BIOS_ATIKOR_6033P_PATH "roms/machines/spc6033p/phoenix.bin" +#define BIOS_ATIKOR_4620P_PATH_L "roms/machines/spc4620p/31005h.u8" +#define BIOS_ATIKOR_4620P_PATH_H "roms/machines/spc4620p/31005h.u10" +#define BIOS_ATIKOR_6033P_PATH "roms/machines/spc6033p/phoenix.BIN" #define FONT_ATIKOR_PATH "roms/video/ati28800/ati_ksc5601.rom" #define FONT_ATIKOR_4620P_PATH "roms/machines/spc4620p/svb6120a_font.rom" #define FONT_ATIKOR_6033P_PATH "roms/machines/spc6033p/svb6120a_font.rom" diff --git a/src/video/vid_cl54xx.c b/src/video/vid_cl54xx.c index 1a90dc8d5..620f5e8dc 100644 --- a/src/video/vid_cl54xx.c +++ b/src/video/vid_cl54xx.c @@ -54,10 +54,10 @@ #define BIOS_GD5430_DIAMOND_A8_VLB_PATH "roms/video/cirruslogic/diamondvlbus.bin" #define BIOS_GD5430_PATH "roms/video/cirruslogic/pci.bin" #define BIOS_GD5434_DIAMOND_A3_ISA_PATH "roms/video/cirruslogic/Diamond Multimedia SpeedStar 64 v2.02 EPROM Backup from ST M27C256B-12F1.BIN" -#define BIOS_GD5434_PATH "roms/video/cirruslogic/gd5434.bin" +#define BIOS_GD5434_PATH "roms/video/cirruslogic/gd5434.BIN" #define BIOS_GD5436_PATH "roms/video/cirruslogic/5436.vbi" #define BIOS_GD5440_PATH "roms/video/cirruslogic/BIOS.BIN" -#define BIOS_GD5446_PATH "roms/video/cirruslogic/5446BV.VBI" +#define BIOS_GD5446_PATH "roms/video/cirruslogic/5446bv.vbi" #define BIOS_GD5446_STB_PATH "roms/video/cirruslogic/stb nitro64v.BIN" #define BIOS_GD5480_PATH "roms/video/cirruslogic/clgd5480.rom" diff --git a/src/video/vid_et4000.c b/src/video/vid_et4000.c index 740be207e..b1649b67d 100644 --- a/src/video/vid_et4000.c +++ b/src/video/vid_et4000.c @@ -54,7 +54,7 @@ #include <86box/vid_svga_render.h> -#define BIOS_ROM_PATH "roms/video/et4000/et4000.bin" +#define BIOS_ROM_PATH "roms/video/et4000/ET4000.BIN" #define KOREAN_BIOS_ROM_PATH "roms/video/et4000/tgkorvga.bin" #define KOREAN_FONT_ROM_PATH "roms/video/et4000/tg_ksc5601.rom" #define KASAN_BIOS_ROM_PATH "roms/video/et4000/et4000_kasan16.bin" diff --git a/src/video/vid_oak_oti.c b/src/video/vid_oak_oti.c index c7b475c70..c0dbe6610 100644 --- a/src/video/vid_oak_oti.c +++ b/src/video/vid_oak_oti.c @@ -31,7 +31,7 @@ #include <86box/vid_svga_render.h> #define BIOS_037C_PATH "roms/video/oti/bios.bin" -#define BIOS_067_AMA932J_PATH "roms/machines/ama932j/oti067.bin" +#define BIOS_067_AMA932J_PATH "roms/machines/ama932j/OTI067.BIN" #define BIOS_067_M300_08_PATH "roms/machines/m30008/EVC_BIOS.ROM" #define BIOS_067_M300_15_PATH "roms/machines/m30015/EVC_BIOS.ROM" #define BIOS_077_PATH "roms/video/oti/oti077.vbi" diff --git a/src/video/vid_s3.c b/src/video/vid_s3.c index 30c0df216..5e6e32867 100644 --- a/src/video/vid_s3.c +++ b/src/video/vid_s3.c @@ -40,15 +40,15 @@ #define ROM_ORCHID_86C911 "roms/video/s3/BIOS.BIN" #define ROM_DIAMOND_STEALTH_VRAM "roms/video/s3/Diamond Stealth VRAM BIOS v2.31 U14.BIN" #define ROM_AMI_86C924 "roms/video/s3/S3924AMI.BIN" -#define ROM_METHEUS_86C928 "roms/video/s3/928.vbi" +#define ROM_METHEUS_86C928 "roms/video/s3/928.VBI" #define ROM_SPEA_MIRAGE_86C801 "roms/video/s3/V7MIRAGE.VBI" #define ROM_SPEA_MIRAGE_86C805 "roms/video/s3/86c805pspeavlbus.BIN" #define ROM_MIROCRYSTAL8S_805 "roms/video/s3/S3_805VL_ATT20C491_miroCRYSTAL_8s_ver1.4.BIN" #define ROM_MIROCRYSTAL10SD_805 "roms/video/s3/MIROcrystal10SD_VLB.VBI" -#define ROM_MIROCRYSTAL20SV_964_VLB "roms/video/s3/S3_964VL_BT485_27C256_miroCRYSTAL_20sv_ver1.2.bin" -#define ROM_MIROCRYSTAL20SV_964_PCI "roms/video/s3/mirocrystal.VBI" -#define ROM_MIROCRYSTAL20SD_864_VLB "roms/video/s3/Miro20SD.BIN" -#define ROM_PHOENIX_86C80X "roms/video/s3/805.vbi" +#define ROM_MIROCRYSTAL20SV_964_VLB "roms/video/s3/S3_964VL_BT485_27C256_miroCRYSTAL_20sv_ver1.2.bin" +#define ROM_MIROCRYSTAL20SV_964_PCI "roms/video/s3/mirocrystal.VBI" +#define ROM_MIROCRYSTAL20SD_864_VLB "roms/video/s3/Miro20SD.BIN" +#define ROM_PHOENIX_86C80X "roms/video/s3/805.VBI" #define ROM_PARADISE_BAHAMAS64 "roms/video/s3/bahamas64.bin" #define ROM_PHOENIX_VISION864 "roms/video/s3/86c864p.bin" #define ROM_DIAMOND_STEALTH64_964 "roms/video/s3/964_107h.rom" @@ -67,7 +67,7 @@ #define ROM_MIROVIDEO40SV_ERGO_968_PCI "roms/video/s3/S3_968PCI_TVP3026_miroVideo40SV_PCI_1.04.BIN" #define ROM_SPEA_MERCURY_P64V "roms/video/s3/S3_968PCI_TVP3026_SPEAMecuryP64V_ver1.01.BIN" #define ROM_NUMBER9_9FX_771 "roms/video/s3/no9motionfx771.BIN" -#define ROM_PHOENIX_VISION968 "roms/video/s3/1-DSV3968P.BIN" +#define ROM_PHOENIX_VISION968 "roms/video/s3/1-DSV3968P.BIN" enum { diff --git a/src/video/vid_tgui9440.c b/src/video/vid_tgui9440.c index da60f20fa..579e9f93f 100644 --- a/src/video/vid_tgui9440.c +++ b/src/video/vid_tgui9440.c @@ -75,7 +75,7 @@ #include <86box/vid_svga.h> #include <86box/vid_svga_render.h> -#define ROM_TGUI_9400CXI "roms/video/tgui9440/9400CXI.vbi" +#define ROM_TGUI_9400CXI "roms/video/tgui9440/9400CXI.VBI" #define ROM_TGUI_9440 "roms/video/tgui9440/BIOS.BIN" #define ROM_TGUI_96xx "roms/video/tgui9660/Union.VBI" diff --git a/src/video/vid_tvga.c b/src/video/vid_tvga.c index 36420aeab..58836275a 100644 --- a/src/video/vid_tvga.c +++ b/src/video/vid_tvga.c @@ -35,7 +35,7 @@ #define TVGA9000B_ID 0x23 #define TVGA8900CLD_ID 0x33 -#define ROM_TVGA_8900B "roms/video/tvga/tvga8900B.VBI" +#define ROM_TVGA_8900B "roms/video/tvga/tvga8900b.vbi" #define ROM_TVGA_8900CLD "roms/video/tvga/trident.bin" #define ROM_TVGA_9000B "roms/video/tvga/tvga9000b.bin" From 9d6002926cb2d495fdb9097d29da23b63b031f83 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 22 Nov 2021 17:04:14 -0300 Subject: [PATCH 11/16] Fix a register bit mask on ES1371 --- src/sound/snd_audiopci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sound/snd_audiopci.c b/src/sound/snd_audiopci.c index 22f8751a5..876cd227d 100644 --- a/src/sound/snd_audiopci.c +++ b/src/sound/snd_audiopci.c @@ -965,7 +965,7 @@ es1371_outl(uint16_t port, uint32_t val, void *p) /* Sample Rate Converter Interface Register, Address 10H Addressable as longword only */ case 0x10: - dev->sr_cir = val & 0xfff8ffff; /*Bits 16 to 18 are undefined*/ + dev->sr_cir = val & 0xff7fffff; /* Bits 16 to 18 are undefined but read-write. */ if (dev->sr_cir & SRC_RAM_WE) { dev->sr_ram[dev->sr_cir >> 25] = val & 0xffff; switch (dev->sr_cir >> 25) { From 1f9ec63b7938a37b0e8a1a5d64ca0c17260f10e6 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 22 Nov 2021 17:05:41 -0300 Subject: [PATCH 12/16] Make AC97 codec status bits reflect powerdowns, fixes output on ES1371 VxD driver --- src/sound/snd_ac97_codec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sound/snd_ac97_codec.c b/src/sound/snd_ac97_codec.c index d83f4e293..80e2e68fc 100644 --- a/src/sound/snd_ac97_codec.c +++ b/src/sound/snd_ac97_codec.c @@ -292,6 +292,11 @@ line_gain: val &= 0x9f1f; case 0x26: /* Powerdown Control/Status */ i = dev->powerdown_mask << 8; val = (val & i) | (prev & ~i); + + /* Update status bits to reflect powerdowns. */ + val = (val & ~0x000f) | (~(val >> 8) & 0x000f); + if (val & 0x0800) /* PR3 clears both ANL and REF */ + val &= ~0x0004; break; case 0x28: /* Extended Audio ID */ From 8e45511c81343ecdfc057892c4687c78a88e975f Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 22 Nov 2021 17:07:14 -0300 Subject: [PATCH 13/16] Revert my previous ES1371 bit mask change (per #1834) --- src/sound/snd_audiopci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sound/snd_audiopci.c b/src/sound/snd_audiopci.c index 876cd227d..22f8751a5 100644 --- a/src/sound/snd_audiopci.c +++ b/src/sound/snd_audiopci.c @@ -965,7 +965,7 @@ es1371_outl(uint16_t port, uint32_t val, void *p) /* Sample Rate Converter Interface Register, Address 10H Addressable as longword only */ case 0x10: - dev->sr_cir = val & 0xff7fffff; /* Bits 16 to 18 are undefined but read-write. */ + dev->sr_cir = val & 0xfff8ffff; /*Bits 16 to 18 are undefined*/ if (dev->sr_cir & SRC_RAM_WE) { dev->sr_ram[dev->sr_cir >> 25] = val & 0xffff; switch (dev->sr_cir >> 25) { From 7b5e4e37ca7428c11e8e5f91c289038af145b2af Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 22 Nov 2021 21:36:05 -0300 Subject: [PATCH 14/16] Fix GL518SM hardware monitor and add it to AM-BX133 --- src/device/hwm_gl518sm.c | 23 +++++++++++++---------- src/device/hwm_vt82c686.c | 2 +- src/machine/m_at_socket370.c | 4 ++++ 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/device/hwm_gl518sm.c b/src/device/hwm_gl518sm.c index 9c8eae920..b628a9891 100644 --- a/src/device/hwm_gl518sm.c +++ b/src/device/hwm_gl518sm.c @@ -14,6 +14,7 @@ * * Copyright 2020 RichardG. */ +#include #include #include #include @@ -28,10 +29,12 @@ #include <86box/hwm.h> -#define CLAMP(a, min, max) (((a)< (min)) ? (min) : (((a) > (max)) ? (max) : (a))) -#define GL518SM_RPM_TO_REG(r, d) ((r) ? CLAMP(480000 / (r * d), 1, 255) : 0) -#define GL518SM_VOLTAGE_TO_REG(v) (((v) / 19) & 0xff) -#define GL518SM_VDD_TO_REG(v) ((((v) * 4) / 95) & 0xff) +#define CLAMP(a, min, max) (((a) < (min)) ? (min) : (((a) > (max)) ? (max) : (a))) +/* Formulas and factors derived from Linux's gl518sm.c driver. */ +#define GL518SM_RPMDIV(r, d) (CLAMP((r), 1, 960000) * (d)) +#define GL518SM_RPM_TO_REG(r, d) ((r) ? CLAMP((480000 + GL518SM_RPMDIV(r, d) / 2) / GL518SM_RPMDIV(r, d), 1, 255) : 0) +#define GL518SM_VOLTAGE_TO_REG(v) ((uint8_t) round((v) / 19.0)) +#define GL518SM_VDD_TO_REG(v) ((uint8_t) (((v) * 4) / 95.0)) typedef struct { @@ -139,20 +142,20 @@ gl518sm_read(gl518sm_t *dev, uint8_t reg) ret |= GL518SM_RPM_TO_REG(dev->values->fans[1], 1 << ((dev->regs[0x0f] >> 4) & 0x3)); break; - case 0x0d: /* VIN3 - AOpen System Monitor requires an approximate voltage offset of 13 at least here */ - ret = 13 + GL518SM_VOLTAGE_TO_REG(dev->values->voltages[2]); + case 0x0d: /* VIN3 */ + ret = GL518SM_VOLTAGE_TO_REG(dev->values->voltages[2]); break; case 0x13: /* VIN2 */ - ret = 13 + GL518SM_VOLTAGE_TO_REG(dev->values->voltages[1]); + ret = GL518SM_VOLTAGE_TO_REG(dev->values->voltages[1]); break; case 0x14: /* VIN1 */ - ret = 13 + GL518SM_VOLTAGE_TO_REG(dev->values->voltages[0]); + ret = GL518SM_VOLTAGE_TO_REG(dev->values->voltages[0]); break; case 0x15: /* VDD */ - ret = 13 + GL518SM_VDD_TO_REG(dev->values->voltages[3]); + ret = GL518SM_VDD_TO_REG(dev->values->voltages[3]); break; default: /* other registers */ @@ -245,7 +248,7 @@ gl518sm_reset(gl518sm_t *dev) dev->regs[0x0a] = 0xdac5; dev->regs[0x0b] = 0xdac5; dev->regs[0x0c] = 0xdac5; - dev->regs[0x0f] = 0xf8; + dev->regs[0x0f] = 0x00; gl518sm_remap(dev, dev->i2c_addr | (dev->i2c_enabled ? 0x00 : 0x80)); } diff --git a/src/device/hwm_vt82c686.c b/src/device/hwm_vt82c686.c index 1790cd483..9aa0fc35f 100644 --- a/src/device/hwm_vt82c686.c +++ b/src/device/hwm_vt82c686.c @@ -28,8 +28,8 @@ #define CLAMP(a, min, max) (((a) < (min)) ? (min) : (((a) > (max)) ? (max) : (a))) +/* Formulas and factors derived from Linux's via686a.c driver. */ #define VT82C686_RPM_TO_REG(r, d) ((r) ? CLAMP(1350000 / (r * d), 1, 255) : 0) -/* Temperature/voltage formulas and factors derived from Linux's via686a.c driver. */ #define VT82C686_TEMP_TO_REG(t) (-1.160370e-10*(t*t*t*t*t*t) + 3.193693e-08*(t*t*t*t*t) - 1.464447e-06*(t*t*t*t) - 2.525453e-04*(t*t*t) + 1.424593e-02*(t*t) + 2.148941e+00*t + 7.275808e+01) #define VT82C686_VOLTAGE_TO_REG(v, f) CLAMP((((v) * (2.628 / (f))) - 120.5) / 25, 0, 255) diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 06af84307..65e1cfb28 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -246,6 +246,10 @@ machine_at_ambx133_init(const machine_t *model) device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); spd_register(SPD_TYPE_SDRAM, 0x7, 256); + device_add(&gl518sm_2d_device); /* fans: CPUFAN1, CPUFAN2; temperature: CPU */ + hwm_values.fans[1] += 500; + hwm_values.temperatures[0] += 4; /* CPU offset */ + hwm_values.voltages[1] = RESISTOR_DIVIDER(12000, 10, 2); /* different 12V divider in BIOS (10K/2K?) */ return ret; } From 5ef4b3ed53e9daa38e3d48d812d00fef808ac8e3 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 22 Nov 2021 23:43:52 -0300 Subject: [PATCH 15/16] Machine table rectifications --- src/machine/m_at_slot1.c | 2 +- src/machine/m_at_socket7.c | 4 ++-- src/machine/m_at_sockets7.c | 8 ++++---- src/machine/machine_table.c | 18 +++++++++--------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index 9b494af54..0f34b0244 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -727,7 +727,7 @@ machine_at_m729_init(const machine_t *model) device_add(&ali1543c_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_29ee010_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 128); + spd_register(SPD_TYPE_SDRAM, 0x7, 512); return ret; } diff --git a/src/machine/m_at_socket7.c b/src/machine/m_at_socket7.c index 3918f4858..940cb82ba 100644 --- a/src/machine/m_at_socket7.c +++ b/src/machine/m_at_socket7.c @@ -984,7 +984,7 @@ machine_at_m560_init(const machine_t *model) device_add(&ali1543_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_29ee010_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 128); + spd_register(SPD_TYPE_SDRAM, 0x3, 256); return ret; } @@ -1019,7 +1019,7 @@ machine_at_ms5164_init(const machine_t *model) device_add(&ali1543_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_29ee010_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 128); + spd_register(SPD_TYPE_SDRAM, 0x3, 256); return ret; } diff --git a/src/machine/m_at_sockets7.c b/src/machine/m_at_sockets7.c index c228658dd..dae4e5396 100644 --- a/src/machine/m_at_sockets7.c +++ b/src/machine/m_at_sockets7.c @@ -75,7 +75,7 @@ machine_at_p5a_init(const machine_t *model) device_add(&ali1543c_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_39sf020_device); - spd_register(SPD_TYPE_SDRAM, 0xF, 256); + spd_register(SPD_TYPE_SDRAM, 0x7, 512); device_add(&w83781d_p5a_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */ return ret; @@ -109,7 +109,7 @@ machine_at_m579_init(const machine_t *model) device_add(&ali1543c_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_29ee010_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 128); + spd_register(SPD_TYPE_SDRAM, 0x7, 512); return ret; } @@ -142,7 +142,7 @@ machine_at_5aa_init(const machine_t *model) device_add(&ali1543c_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_29ee010_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 128); + spd_register(SPD_TYPE_SDRAM, 0x7, 512); return ret; } @@ -177,7 +177,7 @@ machine_at_5ax_init(const machine_t *model) device_add(&ali1543c_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&sst_flash_29ee010_device); - spd_register(SPD_TYPE_SDRAM, 0x3, 128); + spd_register(SPD_TYPE_SDRAM, 0x7, 512); return ret; } diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index de171e267..81669a1a2 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -712,27 +712,27 @@ const machine_t machines[] = { /* SiS 5571 */ /* Has the SiS 5571 chipset with on-chip KBC. */ - { "[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] Rise R534F", "r534f", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 55000000, 83333333, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 393216, 8192, 127, machine_at_r534f_init, NULL }, /* Has the SiS 5571 chipset with on-chip KBC. */ - { "[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, 262144, 8192, 127, machine_at_ms5146_init, NULL }, + { "[SiS 5571] MSI MS-5146", "ms5146", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 75000000, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 262144, 8192, 127, machine_at_ms5146_init, NULL }, /* ALi ALADDiN IV+ */ /* Has the ALi M1543 southbridge with on-chip KBC. */ - { "[ALi ALADDiN IV+] PC Chips M560", "m560", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 83333333, 2500, 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+] PC Chips M560", "m560", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 83333333, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 255, machine_at_m560_init, NULL }, /* Has the ALi M1543 southbridge with on-chip KBC. */ - { "[ALi ALADDiN IV+] MSI MS-5164", "ms5164", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 66666667, 2100, 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+] MSI MS-5164", "ms5164", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 60000000, 83333333, 2100, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_ms5164_init, NULL }, /* Super Socket 7 machines */ /* ALi ALADDiN V */ /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] ASUS P5A", "p5a", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 60000000, 120000000, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_p5a_init, NULL }, + { "[ALi ALADDiN V] ASUS P5A", "p5a", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 60000000, 120000000, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,1572864, 8192, 255, machine_at_p5a_init, NULL }, /* Is the exact same as the Matsonic MS6260S. Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] PC Chips M579", "m579", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 100000000, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_m579_init, NULL }, + { "[ALi ALADDiN V] PC Chips M579", "m579", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 100000000, 2000, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,1572864, 8192, 255, machine_at_m579_init, NULL }, /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] Gigabyte GA-5AA", "5aa", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 140000000, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_5aa_init, NULL }, + { "[ALi ALADDiN V] Gigabyte GA-5AA", "5aa", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 140000000, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,1572864, 8192, 255, machine_at_5aa_init, NULL }, /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN V] Gigabyte GA-5AX", "5ax", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 140000000, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_5ax_init, NULL }, + { "[ALi ALADDiN V] Gigabyte GA-5AX", "5ax", MACHINE_TYPE_SOCKETS7, CPU_PKG_SOCKET5_7, 0, 66666667, 140000000, 1300, 3520, 1.5, 5.5, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,1572864, 8192, 255, machine_at_5ax_init, NULL }, /* Apollo MVP3 */ /* Has the VIA VT82C586B southbridge with on-chip KBC identical to the VIA @@ -780,7 +780,7 @@ const machine_t machines[] = { /* Slot 1 machines */ /* ALi ALADDiN V */ /* Has the ALi M1543C southbridge with on-chip KBC. */ - { "[ALi ALADDiN-PRO II] PC Chips M729", "m729", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 50000000, 66666667, 1800, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,2097152, 8192, 255, machine_at_m729_init, NULL }, + { "[ALi ALADDiN-PRO II] PC Chips M729", "m729", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 1024,1572864, 8192, 255, machine_at_m729_init, NULL }, /* 440FX */ /* The base board has AMIKey-2 (updated 'H') KBC firmware. */ From 9f921ecc77b58c4d67414fd0b5e33a58558ba745 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Tue, 23 Nov 2021 00:22:47 -0300 Subject: [PATCH 16/16] Add ES1371 to GT694VA (slot still unknown) --- src/machine/m_at_socket370.c | 2 +- src/machine/machine_table.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 65e1cfb28..c0a0224fb 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -370,7 +370,7 @@ machine_at_gt694va_init(const machine_t *model) pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 3, 4); - pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3); + pci_register_slot(0x0D, PCI_CARD_SOUND, 4, 1, 2, 3); /* assumed */ pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2); pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1); pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 2, 3, 4); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 81669a1a2..0b5cdadaf 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -912,7 +912,7 @@ const machine_t machines[] = { { "[VIA Apollo Pro 133A] ASUS CUV4X-LS", "cuv4xls", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 1.5, 8.0, (MACHINE_AGP & ~MACHINE_AT) | MACHINE_BUS_PS2 | MACHINE_BUS_AC97 | MACHINE_IDE_DUAL,16384,4194304, 8192, 255, machine_at_cuv4xls_init, NULL }, /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ - { "[VIA Apollo Pro 133A] BCM GT694VA", "gt694va", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16384,3145728, 8192, 255, machine_at_gt694va_init, at_gt694va_get_device }, + { "[VIA Apollo Pro 133A] BCM GT694VA", "gt694va", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1300, 3500, 1.5, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_SOUND, 16384,3145728, 8192, 255, machine_at_gt694va_init, at_gt694va_get_device }, /* Miscellaneous/Fake/Hypervisor machines */ /* Has a Winbond W83977F Super I/O chip with on-chip KBC with AMIKey-2 KBC