Port ES1371 and ICS fixes from VFIO branch
This commit is contained in:
@@ -124,7 +124,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
|||||||
.hw_select = {0, 3},
|
.hw_select = {0, 3},
|
||||||
.frequencies_ref = ICS9250_08
|
.frequencies_ref = ICS9250_08
|
||||||
ICS9xxx_MODEL_END()
|
ICS9xxx_MODEL_END()
|
||||||
#if 0
|
#ifdef ENABLE_ICS9xxx_DETECT
|
||||||
ICS9xxx_MODEL(ICS9248_81)
|
ICS9xxx_MODEL(ICS9248_81)
|
||||||
.max_reg = 5,
|
.max_reg = 5,
|
||||||
.regs = {0x82, 0xfe, 0x7f, 0xff, 0xff, 0xb7},
|
.regs = {0x82, 0xfe, 0x7f, 0xff, 0xff, 0xb7},
|
||||||
@@ -522,7 +522,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
|||||||
ICS9xxx_MODEL(ICS9250_08)
|
ICS9xxx_MODEL(ICS9250_08)
|
||||||
.max_reg = 5,
|
.max_reg = 5,
|
||||||
.regs = {0x00, 0xff, 0xff, 0xff, 0x6d, 0xbf},
|
.regs = {0x00, 0xff, 0xff, 0xff, 0x6d, 0xbf},
|
||||||
.fs_regs = {{0, 4, 4, 7}, {0, 5, 4, 4}, {0, 6, 5, 6}, {0, 7, 4, 1}, {-1, -1, -1, -1}},
|
.fs_regs = {{0, 4, 4, 7}, {0, 5, 4, 4}, {0, 6, 5, 6}, {0, 2, 4, 1}, {-1, -1, -1, -1}},
|
||||||
.hw_select = {0, 3},
|
.hw_select = {0, 3},
|
||||||
.frequencies = (const ics9xxx_frequency_t[]) {
|
.frequencies = (const ics9xxx_frequency_t[]) {
|
||||||
{.bus = 12400, .pci_div = 3},
|
{.bus = 12400, .pci_div = 3},
|
||||||
@@ -544,7 +544,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
|||||||
{0}
|
{0}
|
||||||
}
|
}
|
||||||
ICS9xxx_MODEL_END()
|
ICS9xxx_MODEL_END()
|
||||||
#if 0
|
#ifdef ENABLE_ICS9xxx_DETECT
|
||||||
ICS9xxx_MODEL(ICS9250_10)
|
ICS9xxx_MODEL(ICS9250_10)
|
||||||
.max_reg = 5,
|
.max_reg = 5,
|
||||||
.regs = {0x1f, 0xff, 0xfe, 0x00, 0x00, 0x06},
|
.regs = {0x1f, 0xff, 0xfe, 0x00, 0x00, 0x06},
|
||||||
@@ -703,7 +703,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
|||||||
{0}
|
{0}
|
||||||
}
|
}
|
||||||
ICS9xxx_MODEL_END()
|
ICS9xxx_MODEL_END()
|
||||||
#if 0
|
#ifdef ENABLE_ICS9xxx_DETECT
|
||||||
ICS9xxx_MODEL(ICS9250_19)
|
ICS9xxx_MODEL(ICS9250_19)
|
||||||
.max_reg = 5,
|
.max_reg = 5,
|
||||||
.regs = {0x02, 0xff, 0xff, 0xff, 0x6d, 0xbf},
|
.regs = {0x02, 0xff, 0xff, 0xff, 0x6d, 0xbf},
|
||||||
@@ -1199,7 +1199,7 @@ ics9xxx_init(const device_t *info)
|
|||||||
|
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
#ifdef ENABLE_ICS9xxx_DETECT
|
#ifdef ENABLE_ICS9xxx_DETECT
|
||||||
for (i = 0; i < ICS9xxx_MAX; i++) {
|
for (i = ICS9xxx_xx + 1; i < ICS9xxx_MAX; i++) {
|
||||||
if (ics9xxx_models[i].frequencies_ref || !ics9xxx_models[i].name)
|
if (ics9xxx_models[i].frequencies_ref || !ics9xxx_models[i].name)
|
||||||
continue;
|
continue;
|
||||||
for (uint8_t j = 0; j < i; j++) {
|
for (uint8_t j = 0; j < i; j++) {
|
||||||
|
@@ -22,7 +22,6 @@ enum {
|
|||||||
ICS9xxx_xx,
|
ICS9xxx_xx,
|
||||||
ICS9150_08,
|
ICS9150_08,
|
||||||
ICS9248_39,
|
ICS9248_39,
|
||||||
#if 0
|
|
||||||
ICS9248_81,
|
ICS9248_81,
|
||||||
ICS9248_95,
|
ICS9248_95,
|
||||||
ICS9248_98,
|
ICS9248_98,
|
||||||
@@ -35,16 +34,12 @@ enum {
|
|||||||
ICS9248_143,
|
ICS9248_143,
|
||||||
ICS9248_151,
|
ICS9248_151,
|
||||||
ICS9248_192,
|
ICS9248_192,
|
||||||
#endif
|
|
||||||
ICS9250_08,
|
ICS9250_08,
|
||||||
#if 0
|
|
||||||
ICS9250_10,
|
ICS9250_10,
|
||||||
ICS9250_13,
|
ICS9250_13,
|
||||||
ICS9250_14,
|
ICS9250_14,
|
||||||
ICS9250_16,
|
ICS9250_16,
|
||||||
#endif
|
|
||||||
ICS9250_18,
|
ICS9250_18,
|
||||||
#if 0
|
|
||||||
ICS9250_19,
|
ICS9250_19,
|
||||||
ICS9250_23,
|
ICS9250_23,
|
||||||
ICS9250_25,
|
ICS9250_25,
|
||||||
@@ -56,7 +51,6 @@ enum {
|
|||||||
ICS9250_32,
|
ICS9250_32,
|
||||||
ICS9250_38,
|
ICS9250_38,
|
||||||
ICS9250_50,
|
ICS9250_50,
|
||||||
#endif
|
|
||||||
ICS9xxx_MAX
|
ICS9xxx_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -9,7 +9,8 @@
|
|||||||
* Implementation of Slot 2 machines.
|
* Implementation of Slot 2 machines.
|
||||||
*
|
*
|
||||||
* Slot 2 is quite a rare type of Slot. Used mostly by Pentium II & III Xeons
|
* Slot 2 is quite a rare type of Slot. Used mostly by Pentium II & III Xeons
|
||||||
* These boards were also capable to take Slot 1 CPU's using Slot 2 to 1 adapters.
|
*
|
||||||
|
*
|
||||||
*
|
*
|
||||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||||
*
|
*
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
#include <86box/hwm.h>
|
#include <86box/hwm.h>
|
||||||
#include <86box/spd.h>
|
#include <86box/spd.h>
|
||||||
#include <86box/video.h>
|
#include <86box/video.h>
|
||||||
|
#include <86box/clock.h>
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include <86box/machine.h>
|
#include <86box/machine.h>
|
||||||
|
|
||||||
@@ -140,6 +142,7 @@ machine_at_fw6400gx_init(const machine_t *model)
|
|||||||
device_add(&piix4e_device);
|
device_add(&piix4e_device);
|
||||||
device_add(&keyboard_ps2_ami_pci_device);
|
device_add(&keyboard_ps2_ami_pci_device);
|
||||||
device_add(&pc87309_15c_device);
|
device_add(&pc87309_15c_device);
|
||||||
|
device_add(ics9xxx_get(ICS9250_08));
|
||||||
device_add(&sst_flash_29ee020_device);
|
device_add(&sst_flash_29ee020_device);
|
||||||
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
|
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
|
||||||
device_add(&w83781d_device); /* fans: Chassis, Power, CPU; temperatures: System, CPU, unused */
|
device_add(&w83781d_device); /* fans: Chassis, Power, CPU; temperatures: System, CPU, unused */
|
||||||
|
@@ -145,6 +145,8 @@ typedef struct {
|
|||||||
#define INT_DAC2_EN (1<<5)
|
#define INT_DAC2_EN (1<<5)
|
||||||
#define INT_UART_EN (1<<3)
|
#define INT_UART_EN (1<<3)
|
||||||
|
|
||||||
|
#define SI_P2_PAUSE (1<<12)
|
||||||
|
#define SI_P1_PAUSE (1<<11)
|
||||||
#define SI_P2_INTR_EN (1<<9)
|
#define SI_P2_INTR_EN (1<<9)
|
||||||
#define SI_P1_INTR_EN (1<<8)
|
#define SI_P1_INTR_EN (1<<8)
|
||||||
|
|
||||||
@@ -1507,6 +1509,9 @@ es1371_pci_write(int func, int addr, uint8_t val, void *p)
|
|||||||
static void
|
static void
|
||||||
es1371_fetch(es1371_t *dev, int dac_nr)
|
es1371_fetch(es1371_t *dev, int dac_nr)
|
||||||
{
|
{
|
||||||
|
if (dev->si_cr & (dac_nr ? SI_P2_PAUSE : SI_P1_PAUSE))
|
||||||
|
return;
|
||||||
|
|
||||||
int format = dac_nr ? ((dev->si_cr >> 2) & 3) : (dev->si_cr & 3);
|
int format = dac_nr ? ((dev->si_cr >> 2) & 3) : (dev->si_cr & 3);
|
||||||
int pos = dev->dac[dac_nr].buffer_pos & 63;
|
int pos = dev->dac[dac_nr].buffer_pos & 63;
|
||||||
int c;
|
int c;
|
||||||
|
Reference in New Issue
Block a user