From 5fcc4602f296c539d830b96f43dadafe0d5d3b4d Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Fri, 22 May 2020 15:59:59 -0300 Subject: [PATCH 1/2] Work around the P3B-F's expected VCORE for Cyrix III --- src/machine/m_at_slot1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index d9ad75310..ffac89374 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -229,6 +229,8 @@ machine_at_p3bf_init(const machine_t *model) }; if (model->cpu[cpu_manufacturer].cpus[cpu_effective].cpu_type == CPU_PENTIUM2) machine_hwm.voltages[0] = 2800; /* set higher VCORE (2.8V) for Klamath */ + else if (model->cpu[cpu_manufacturer].cpus[cpu_effective].cpu_type == CPU_CYRIX3S) + machine_hwm.voltages[0] = 2800; /* P3B-F specific issue: it believes the Cyrix III is a Klamath, and therefore expects a toasty 2.8V */ hwm_set_values(machine_hwm); device_add(&as99127f_device); From f6fd4eec1a64c6c0ba15d50846fedc1198751d01 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Fri, 22 May 2020 16:00:23 -0300 Subject: [PATCH 2/2] Fix secondary temperature readouts on AS99127F machines --- src/hwm_lm75.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hwm_lm75.c b/src/hwm_lm75.c index 8463fbc78..097b62e8e 100644 --- a/src/hwm_lm75.c +++ b/src/hwm_lm75.c @@ -128,7 +128,7 @@ lm75_read(lm75_t *dev, uint8_t reg) /* The AS99127F hardware monitor uses the addresses of its LM75 devices to access some of its proprietary registers. Pass this operation on to the main monitor address through an internal SMBus call, if necessary. */ - if (((reg & 0xf8) != 0x50) && (dev->as99127f_smbus_addr)) + if ((reg > 0x7) && ((reg & 0xf8) != 0x50) && (dev->as99127f_smbus_addr)) ret = smbus_read_byte_cmd(dev->as99127f_smbus_addr, reg); else ret = dev->regs[reg & 0x7]; @@ -191,7 +191,7 @@ lm75_write(lm75_t *dev, uint8_t reg, uint8_t val) /* The AS99127F hardware monitor uses the addresses of its LM75 devices to access some of its proprietary registers. Pass this operation on to the main monitor address through an internal SMBus call, if necessary. */ - if (((reg & 0xf8) != 0x50) && (dev->as99127f_smbus_addr)) { + if ((reg > 0x7) && ((reg & 0xf8) != 0x50) && (dev->as99127f_smbus_addr)) { smbus_write_byte_cmd(dev->as99127f_smbus_addr, reg, val); return 1; }