Preliminary Master volume control for Deco MLC HW [Angelo Salese]

This commit is contained in:
Angelo Salese 2013-10-27 20:50:28 +00:00
parent d69a718890
commit fca4d40e6d
3 changed files with 10 additions and 5 deletions

View File

@ -89,14 +89,14 @@ void ymz280b_device::update_irq_state()
m_irq_state = 1;
if (!m_irq_handler.isnull())
m_irq_handler(1);
else logerror("YMZ280B: IRQ generated, but no callback specified!");
else logerror("YMZ280B: IRQ generated, but no callback specified!\n");
}
else if (!irq_bits && m_irq_state)
{
m_irq_state = 0;
if (!m_irq_handler.isnull())
m_irq_handler(0);
else logerror("YMZ280B: IRQ generated, but no callback specified!");
else logerror("YMZ280B: IRQ generated, but no callback specified!\n");
}
}

View File

@ -100,7 +100,6 @@
#include "emu.h"
#include "includes/decocrpt.h"
#include "machine/eepromser.h"
#include "sound/ymz280b.h"
#include "cpu/arm/arm.h"
#include "cpu/sh2/sh2.h"
#include "includes/deco_mlc.h"
@ -179,7 +178,9 @@ WRITE32_MEMBER(deco_mlc_state::avengrs_eprom_w)
// }
}
else if (ACCESSING_BITS_0_7) {
//volume control todo
/* Master volume control (TODO: probably logaritmic) */
m_ymz->set_output_gain(0, (255.0 - data) / 255.0);
m_ymz->set_output_gain(1, (255.0 - data) / 255.0);
}
else
logerror("%s: eprom_w %08x mask %08x\n",machine().describe_context(),data,mem_mask);

View File

@ -1,5 +1,6 @@
#include "machine/eepromser.h"
#include "machine/deco146.h"
#include "sound/ymz280b.h"
class deco_mlc_state : public driver_device
{
@ -12,7 +13,9 @@ public:
m_mlc_clip_ram(*this, "mlc_clip_ram"),
m_mlc_vram(*this, "mlc_vram"),
m_maincpu(*this, "maincpu"),
m_eeprom(*this, "eeprom") { }
m_eeprom(*this, "eeprom"),
m_ymz(*this, "ymz")
{ }
optional_device<deco146_device> m_deco146;
required_shared_ptr<UINT32> m_mlc_ram;
@ -63,6 +66,7 @@ public:
void descramble_sound( );
required_device<cpu_device> m_maincpu;
required_device<eeprom_serial_93cxx_device> m_eeprom;
required_device<ymz280b_device> m_ymz;
DECLARE_READ16_MEMBER( sh96_protection_region_0_146_r );
DECLARE_WRITE16_MEMBER( sh96_protection_region_0_146_w );