commit
ea5f05ed6f
4 changed files with 9 additions and 6 deletions
|
@ -11,6 +11,7 @@
|
|||
#include "BatteryManager.h"
|
||||
#include "MessageManager.h"
|
||||
#include "EmulationSettings.h"
|
||||
#include "CPU.h"
|
||||
|
||||
void BaseMapper::WriteRegister(uint16_t addr, uint8_t value) { }
|
||||
void BaseMapper::WriteEPSG(uint16_t addr, uint8_t value) { _epsgaudio->WriteRegister(addr, value); }
|
||||
|
@ -781,7 +782,7 @@ uint8_t BaseMapper::DebugReadRAM(uint16_t addr)
|
|||
|
||||
void BaseMapper::WriteRAM(uint16_t addr, uint8_t value)
|
||||
{
|
||||
if(addr == 0x4016){ WriteEPSG(addr, value); }
|
||||
if((addr == 0x4016) & (_console->GetCpu()->GetCycleCount() % 2 == 1)){ WriteEPSG(addr, value); }
|
||||
if(_isWriteRegisterAddr[addr]) {
|
||||
if(_hasBusConflicts) {
|
||||
uint8_t prgValue = _prgPages[addr >> 8][(uint8_t)addr];
|
||||
|
|
|
@ -123,7 +123,7 @@ protected:
|
|||
|
||||
for (uint8_t x = 0; x < 2; x++)
|
||||
{
|
||||
_currentOutputs[x] /= 12;
|
||||
_currentOutputs[x] /= 5;
|
||||
}
|
||||
|
||||
UpdateOutputLevel();
|
||||
|
@ -150,7 +150,6 @@ public:
|
|||
|
||||
void WriteRegister(uint16_t addr, uint8_t value)
|
||||
{
|
||||
EPSGSSGAudio::WriteRegister(addr, value);
|
||||
|
||||
if (addr == 0x4016) {
|
||||
if ((value & 0x0F) == 0x02) {
|
||||
|
@ -174,6 +173,7 @@ public:
|
|||
|
||||
const uint8_t a04016 = (writeAddr & 0xF000) == 0xE000;
|
||||
const uint8_t a14016 = !!(writeAddr & 0xF);
|
||||
EPSGSSGAudio::WriteRegister(writeAddr, writeValue);
|
||||
WriteToChip(a04016 | (a14016 << 1), writeValue);
|
||||
}
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ public:
|
|||
|
||||
const uint8_t a0 = (addr & 0xF000) == 0xE000;
|
||||
const uint8_t a1 = !!(addr & 0xF);
|
||||
|
||||
EPSGSSGAudio::WriteRegister(addr, value);
|
||||
WriteToChip(a0 | (a1 << 1), value);
|
||||
|
||||
break;
|
||||
|
|
|
@ -275,8 +275,8 @@ int16_t SoundMixer::GetOutputVolume(bool forRightChannel)
|
|||
#else
|
||||
GetChannelOutput(AudioChannel::VRC7, forRightChannel) +
|
||||
#endif
|
||||
GetChannelOutput(AudioChannel::EPSG_L, forRightChannel) * 15 +
|
||||
GetChannelOutput(AudioChannel::EPSG_R, forRightChannel) * 15
|
||||
GetChannelOutput(AudioChannel::EPSG_L, forRightChannel) * 4 +
|
||||
GetChannelOutput(AudioChannel::EPSG_R, forRightChannel) * 4
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -123,6 +123,8 @@ namespace Mesen.GUI.Config
|
|||
InteropEmu.SetChannelVolume(AudioChannel.Sunsoft5B, ConvertVolume(audioInfo.Sunsoft5bVolume));
|
||||
InteropEmu.SetChannelVolume(AudioChannel.EPSG_L, ConvertVolume(audioInfo.EPSGVolume_L));
|
||||
InteropEmu.SetChannelVolume(AudioChannel.EPSG_R, ConvertVolume(audioInfo.EPSGVolume_R));
|
||||
InteropEmu.SetChannelVolume(AudioChannel.EPSG_L, audioInfo.EnableEPSG ? AudioInfo.ConvertVolume(audioInfo.EPSGVolume_L) : 0);
|
||||
InteropEmu.SetChannelVolume(AudioChannel.EPSG_R, audioInfo.EnableEPSG ? AudioInfo.ConvertVolume(audioInfo.EPSGVolume_R) : 0);
|
||||
|
||||
InteropEmu.SetChannelPanning(AudioChannel.Square1, ConvertPanning(audioInfo.Square1Panning));
|
||||
InteropEmu.SetChannelPanning(AudioChannel.Square2, ConvertPanning(audioInfo.Square2Panning));
|
||||
|
|
Loading…
Add table
Reference in a new issue