Merge pull request #1865 from richardg867/cleanup30

v3.0 branch cleanup, part 3
This commit is contained in:
Miran Grča
2021-11-23 10:17:45 +01:00
committed by GitHub
39 changed files with 384 additions and 259 deletions

View File

@@ -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;
@@ -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;
@@ -824,6 +830,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) {
@@ -953,7 +962,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;
@@ -1043,8 +1051,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:
@@ -1377,8 +1385,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. */
@@ -1576,6 +1584,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);

View File

@@ -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"))

View File

@@ -14,6 +14,7 @@
*
* Copyright 2020 RichardG.
*/
#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdint.h>
@@ -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));
}

View File

@@ -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)

View File

@@ -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 *);

View File

@@ -93,12 +93,24 @@
#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;
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;
@@ -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;

View File

@@ -12,11 +12,11 @@
*
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com>
* EngiNerd <webmaster.crrc@yahoo.it>
* EngiNerd <webmaster.crrc@yahoo.it>
*
* Copyright 2010-2019 Sarah Walker.
* Copyright 2016-2019 Miran Grca.
* Copyright 2020 EngiNerd.
* Copyright 2020 EngiNerd.
*/
#include <stdarg.h>
#include <stdint.h>
@@ -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)
@@ -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)

View File

@@ -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)
@@ -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)
@@ -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)
@@ -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)
@@ -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)

View File

@@ -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)
@@ -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;
}

View File

@@ -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)

View File

@@ -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;
}
@@ -244,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;
}
@@ -364,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);
@@ -418,7 +424,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 +457,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 */

View File

@@ -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)

View File

@@ -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)
@@ -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;
}

View File

@@ -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)
@@ -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;

View File

@@ -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)
@@ -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)

View File

@@ -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,18 +109,18 @@ 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;
}
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)
@@ -142,18 +142,18 @@ machine_at_ga_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;
}
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)
@@ -177,7 +177,7 @@ machine_at_ga_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;
}
@@ -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 */
@@ -289,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)
@@ -311,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 */
@@ -323,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;
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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++) {

View File

@@ -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. */
@@ -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, 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,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, 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,1572864, 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,1572864, 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,1572864, 8192, 255, machine_at_5ax_init, NULL },
/* Apollo MVP3 */
/* Has the VIA VT82C586B southbridge with on-chip KBC identical to the VIA
@@ -743,10 +743,10 @@ 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 },
{ "[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
@@ -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. */
@@ -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_IDE_DUAL | 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 | 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

View File

@@ -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;

View File

@@ -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"

View File

@@ -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

View File

@@ -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];
}

View File

@@ -26,61 +26,75 @@
#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 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]) */
const device_t *device;
} 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
.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,
.powerdown_mask = 0x0bf
.powerdown_mask = 0x0bf,
.device = &alc100_device
},
[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,
.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),
.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,
.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),
.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),
.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),
.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,
.powerdown_mask = 0x03f
.powerdown_mask = 0x03f,
.device = &wm9701a_device
}
};
@@ -257,6 +271,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;
}
@@ -271,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 */
@@ -306,8 +332,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;
@@ -433,6 +461,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)
@@ -533,6 +564,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;
@@ -594,6 +626,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 +684,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",

View File

@@ -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;
}

View File

@@ -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 =

View File

@@ -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);

View File

@@ -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));

View File

@@ -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"

View File

@@ -45,19 +45,19 @@
#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_PATH "roms/video/cirruslogic/gd5434.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"
#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"

View File

@@ -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"

View File

@@ -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_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_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/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 {

View File

@@ -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(&paradise->bios_rom, "roms/machines/ncr_3302/c000-wd_1987-1989-740011-003058-019c.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
rom_init(&paradise->bios_rom, "roms/machines/3302/c000-wd_1987-1989-740011-003058-019c.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
return paradise;
}

View File

@@ -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
{

View File

@@ -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", &paradise_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 }
};

View File

@@ -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"

View File

@@ -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"