Minor changes to OPTi 82C929A emulation

Solves the issue of the power-on IRQ being 7 instead of 5, and removes the unused NVR reference (these cards don't have an EEPROM on board), as well as using the correct WSS IRQ ranges.
This commit is contained in:
Ompronce
2022-12-11 15:38:37 -04:00
committed by GitHub
parent 542d9f1117
commit 4e4e3864bf

View File

@@ -6,7 +6,7 @@
*
* This file is part of the 86Box distribution.
*
* OPTi MediaCHIPS 82C929 (also known as OPTi MAD16 Pro) audio controller emulation.
* OPTi MediaCHIPS 82C929A (also known as OPTi MAD16 Pro) audio controller emulation.
*
*
*
@@ -31,7 +31,6 @@
#include <86box/io.h>
#include <86box/midi.h>
#include <86box/timer.h>
#include <86box/nvr.h>
#include <86box/pic.h>
#include <86box/sound.h>
#include <86box/gameport.h>
@@ -41,7 +40,7 @@
#include <86box/rom.h>
static int optimc_wss_dma[4] = { 0, 0, 1, 3 };
static int optimc_wss_irq[8] = { 5, 7, 9, 10, 11, 12, 14, 15 }; /* W95 only uses 7-10, others may be wrong */
static int optimc_wss_irq[4] = { 7, 9, 10, 11, };
enum optimc_local_flags {
OPTIMC_CS4231 = 0x100,
@@ -68,7 +67,7 @@ typedef struct optimc_t {
sb_t *sb;
uint8_t regs[6];
} optimc_t, opti_82c929_t;
} optimc_t, opti_82c929a_t;
static void
optimc_filter_opl(void* priv, double* out_l, double* out_r)
@@ -334,7 +333,7 @@ optimc_init(const device_t *info)
optimc->cur_wss_addr = 0x530;
optimc->cur_mode = 0;
optimc->cur_addr = 0x220;
optimc->cur_irq = 7;
optimc->cur_irq = 5;
optimc->cur_wss_enabled = 0;
optimc->cur_dma = 1;
optimc->cur_mpu401_irq = 9;
@@ -424,7 +423,7 @@ mirosound_pcm10_available(void)
return rom_present("roms/sound/yamaha/yrw801.rom");
}
static const device_config_t acermagic_s20_config[] = {
static const device_config_t optimc_config[] = {
// clang-format off
{
.name = "receive_input",
@@ -455,7 +454,7 @@ const device_t acermagic_s20_device = {
{ .available = NULL },
.speed_changed = optimc_speed_changed,
.force_redraw = NULL,
.config = acermagic_s20_config
.config = optimc_config
};
const device_t mirosound_pcm10_device = {
@@ -469,5 +468,5 @@ const device_t mirosound_pcm10_device = {
{ .available = mirosound_pcm10_available },
.speed_changed = optimc_speed_changed,
.force_redraw = NULL,
.config = acermagic_s20_config
.config = optimc_config
};