summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/scsp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/scsp.cpp')
-rw-r--r--src/devices/sound/scsp.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/devices/sound/scsp.cpp b/src/devices/sound/scsp.cpp
index f58907b8611..be8fc35cdc7 100644
--- a/src/devices/sound/scsp.cpp
+++ b/src/devices/sound/scsp.cpp
@@ -199,10 +199,6 @@ void scsp_device::device_start()
// init the emulation
init();
- // set up the IRQ callbacks
- m_irq_cb.resolve_safe();
- m_main_irq_cb.resolve_safe();
-
// Stereo output with EXTS0,1 Input (External digital audio output)
m_stream = stream_alloc(2, 2, clock() / 512);
@@ -303,7 +299,7 @@ void scsp_device::device_clock_changed()
m_stream->set_sample_rate(clock() / 512);
}
-void scsp_device::rom_bank_updated()
+void scsp_device::rom_bank_pre_change()
{
m_stream->update();
}
@@ -763,7 +759,7 @@ void scsp_device::UpdateReg(int reg)
break;
case 0x18:
case 0x19:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
m_TimPris[0] = 1 << ((m_udata.data[0x18/2] >> 8) & 0x7);
m_TimCnt[0] = (m_udata.data[0x18/2] & 0xff) << 8;
@@ -780,7 +776,7 @@ void scsp_device::UpdateReg(int reg)
break;
case 0x1a:
case 0x1b:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
m_TimPris[1] = 1 << ((m_udata.data[0x1A/2] >> 8) & 0x7);
m_TimCnt[1] = (m_udata.data[0x1A/2] & 0xff) << 8;
@@ -797,7 +793,7 @@ void scsp_device::UpdateReg(int reg)
break;
case 0x1C:
case 0x1D:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
m_TimPris[2] = 1 << ((m_udata.data[0x1C/2] >> 8) & 0x7);
m_TimCnt[2] = (m_udata.data[0x1C/2] & 0xff) << 8;
@@ -814,7 +810,7 @@ void scsp_device::UpdateReg(int reg)
break;
case 0x1e: // SCIEB
case 0x1f:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
CheckPendingIRQ();
@@ -824,7 +820,7 @@ void scsp_device::UpdateReg(int reg)
break;
case 0x20: // SCIPD
case 0x21:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
if (m_udata.data[0x1e/2] & m_udata.data[0x20/2] & 0x20)
popmessage("SCSP SCIPD write %04x, contact MAMEdev",m_udata.data[0x20/2]);
@@ -833,7 +829,7 @@ void scsp_device::UpdateReg(int reg)
case 0x22: //SCIRE
case 0x23:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
m_udata.data[0x20/2] &= ~m_udata.data[0x22/2];
ResetInterrupts();
@@ -860,7 +856,7 @@ void scsp_device::UpdateReg(int reg)
case 0x27:
case 0x28:
case 0x29:
- if (!m_irq_cb.isnull())
+ if (!m_irq_cb.isunset())
{
m_IrqTimA = DecodeSCI(SCITMA);
m_IrqTimBC = DecodeSCI(SCITMB);