Get rid of fake IRQ in Cedar Magnet sound system

This commit is contained in:
AJR 2016-12-29 00:07:44 -05:00
parent fe155eb659
commit 096c443fbf
2 changed files with 2 additions and 19 deletions

View File

@ -147,33 +147,20 @@ TIMER_CALLBACK_MEMBER(cedar_magnet_sound_device::reset_assert_callback)
INTERRUPT_GEN_MEMBER(cedar_magnet_sound_device::fake_irq)
{
// these should be coming from the CTC...
// if (m_fake_counter==0) m_cpu->set_input_line_and_vector(0, HOLD_LINE,0xe6);
// if (m_fake_counter==1) m_cpu->set_input_line_and_vector(0, HOLD_LINE,0xee);
if (m_fake_counter==2) m_cpu->set_input_line_and_vector(0, HOLD_LINE,0xf6); // drives the AY, should be from ctc1 4th counter?
m_fake_counter++;
if (m_fake_counter == 4) m_fake_counter = 0;
}
static MACHINE_CONFIG_FRAGMENT( cedar_magnet_sound )
MCFG_CPU_ADD("topcpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(cedar_magnet_sound_map)
MCFG_CPU_IO_MAP(cedar_magnet_sound_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_CPU_PERIODIC_INT_DRIVER(cedar_magnet_sound_device, fake_irq, 4*60)
MCFG_DEVICE_ADD("ctc0", Z80CTC, 4000000)
// MCFG_Z80CTC_INTR_CB(INPUTLINE("topcpu", INPUT_LINE_IRQ0))
MCFG_Z80CTC_INTR_CB(INPUTLINE("topcpu", INPUT_LINE_IRQ0))
MCFG_Z80CTC_ZC0_CB(WRITELINE(cedar_magnet_sound_device, ctc0_z0_w))
MCFG_Z80CTC_ZC1_CB(WRITELINE(cedar_magnet_sound_device, ctc0_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(cedar_magnet_sound_device, ctc0_z2_w))
MCFG_DEVICE_ADD("ctc1", Z80CTC, 4000000)
// MCFG_Z80CTC_INTR_CB(INPUTLINE("topcpu", INPUT_LINE_IRQ0))
MCFG_Z80CTC_INTR_CB(INPUTLINE("topcpu", INPUT_LINE_IRQ0))
MCFG_Z80CTC_ZC0_CB(WRITELINE(cedar_magnet_sound_device, ctc1_z0_w))
MCFG_Z80CTC_ZC1_CB(WRITELINE(cedar_magnet_sound_device, ctc1_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(cedar_magnet_sound_device, ctc1_z2_w))
@ -217,6 +204,5 @@ void cedar_magnet_sound_device::device_start()
void cedar_magnet_sound_device::device_reset()
{
m_command = 0;
m_fake_counter = 0;
cedar_magnet_board_device::device_reset();
}

View File

@ -49,9 +49,6 @@ public:
TIMER_CALLBACK_MEMBER(reset_assert_callback) override;
int m_fake_counter;
INTERRUPT_GEN_MEMBER(fake_irq);
protected:
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void device_start() override;