diff options
Diffstat (limited to 'src/mame/machine/inder_sb.c')
-rw-r--r-- | src/mame/machine/inder_sb.c | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/src/mame/machine/inder_sb.c b/src/mame/machine/inder_sb.c index 2309b1d95dd..718833e0725 100644 --- a/src/mame/machine/inder_sb.c +++ b/src/mame/machine/inder_sb.c @@ -24,26 +24,26 @@ inder_sb_device::inder_sb_device(const machine_config &mconfig, const char *tag, // hacks for test purposes, these are installed over the program rom so we know when irqs are actually taken -READ8_MEMBER(inder_sb_device::megaphx_02cc_hack_r) { /*logerror("%04x audicpu IRQ hack 0x02cc\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[0] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x02cc]; }; -READ8_MEMBER(inder_sb_device::megaphx_02e6_hack_r) { /*logerror("%04x audicpu IRQ hack 0x02e6\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[1] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x02e6]; }; -READ8_MEMBER(inder_sb_device::megaphx_0309_hack_r) { /*logerror("%04x audicpu IRQ hack 0x0309\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[2] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x0309]; }; -READ8_MEMBER(inder_sb_device::megaphx_0323_hack_r) { /*logerror("%04x audicpu IRQ hack 0x0323\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[3] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x0323]; }; +READ8_MEMBER(inder_sb_device::megaphx_02cc_hack_r) { /*logerror("%04x audicpu IRQ hack 0x02cc\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[0] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x02cc]; }; +READ8_MEMBER(inder_sb_device::megaphx_02e6_hack_r) { /*logerror("%04x audicpu IRQ hack 0x02e6\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[1] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x02e6]; }; +READ8_MEMBER(inder_sb_device::megaphx_0309_hack_r) { /*logerror("%04x audicpu IRQ hack 0x0309\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[2] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x0309]; }; +READ8_MEMBER(inder_sb_device::megaphx_0323_hack_r) { /*logerror("%04x audicpu IRQ hack 0x0323\n", machine().device("audiocpu")->safe_pc());*/ int bank = m_soundbank[3] & 7; membank("snddata")->set_entry(bank); return memregion("audiocpu")->base()[0x0323]; }; READ16_MEMBER(inder_sb_device::megaphx_0x050002_r) { space.machine().scheduler().synchronize(); -// int pc = machine().device("maincpu")->safe_pc(); +// int pc = machine().device("maincpu")->safe_pc(); int ret = m_soundback; m_soundback = 0; //logerror("(%06x) megaphx_0x050002_r (from z80?) %04x\n", pc, mem_mask); - return ret; + return ret; } WRITE16_MEMBER(inder_sb_device::megaphx_0x050000_w) { -// int pc = machine().device("maincpu")->safe_pc(); +// int pc = machine().device("maincpu")->safe_pc(); space.machine().scheduler().synchronize(); //logerror("(%06x) megaphx_0x050000_w (to z80?) %04x %04x\n", pc, data, mem_mask); @@ -69,8 +69,8 @@ void inder_sb_device::update_sound_irqs(void) WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch0) { -// int bank = m_soundbank[0] & 7; membank("snddata")->set_entry(bank); -// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); +// int bank = m_soundbank[0] & 7; membank("snddata")->set_entry(bank); +// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); if (state) m_soundirq |= 0x1; else m_soundirq &= ~0x1; @@ -80,8 +80,8 @@ WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch0) WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch1) { -// int bank = m_soundbank[1] & 7; membank("snddata")->set_entry(bank); -// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); +// int bank = m_soundbank[1] & 7; membank("snddata")->set_entry(bank); +// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); if (state) m_soundirq |= 0x2; else m_soundirq &= ~0x2; @@ -91,8 +91,8 @@ WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch1) WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch2) { -// int bank = m_soundbank[2] & 7; membank("snddata")->set_entry(bank); -// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); +// int bank = m_soundbank[2] & 7; membank("snddata")->set_entry(bank); +// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); if (state) m_soundirq |= 0x4; else m_soundirq &= ~0x4; @@ -104,15 +104,15 @@ WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch2) WRITE_LINE_MEMBER(inder_sb_device::z80ctc_ch3) { -// int bank = m_soundbank[3] & 7; membank("snddata")->set_entry(bank); -// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); +// int bank = m_soundbank[3] & 7; membank("snddata")->set_entry(bank); +// m_audiocpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); if (state) m_soundirq |= 0x8; else m_soundirq &= ~0x8; update_sound_irqs(); } - + static Z80CTC_INTERFACE( z80ctc_intf ) // runs in IM2 , vector set to 0x20 , values there are 0xCC, 0x02, 0xE6, 0x02, 0x09, 0x03, 0x23, 0x03 (so 02cc, 02e6, 0309, 0323, all of which are valid irq handlers) @@ -152,7 +152,7 @@ READ8_MEMBER(inder_sb_device::megaphx_sound_sent_r) WRITE8_MEMBER(inder_sb_device::megaphx_sound_to_68k_w) { -// int pc = machine().device("audiocpu")->safe_pc(); +// int pc = machine().device("audiocpu")->safe_pc(); space.machine().scheduler().synchronize(); //logerror("(%04x) megaphx_sound_to_68k_w (to 68k?) %02x\n", pc, data); @@ -161,49 +161,49 @@ WRITE8_MEMBER(inder_sb_device::megaphx_sound_to_68k_w) WRITE8_MEMBER(inder_sb_device::dac0_value_write) { -// printf("dac0_data_write %02x\n", data); +// printf("dac0_data_write %02x\n", data); m_dac0->write_unsigned8(data); } WRITE8_MEMBER(inder_sb_device::dac0_gain_write) { -// printf("dac0_gain_write %02x\n", data); +// printf("dac0_gain_write %02x\n", data); dac_gain[0] = data; } WRITE8_MEMBER(inder_sb_device::dac1_value_write) { -// printf("dac1_data_write %02x\n", data); +// printf("dac1_data_write %02x\n", data); m_dac1->write_unsigned8(data); } WRITE8_MEMBER(inder_sb_device::dac1_gain_write) { -// printf("dac1_gain_write %02x\n", data); +// printf("dac1_gain_write %02x\n", data); dac_gain[1] = data; } WRITE8_MEMBER(inder_sb_device::dac2_value_write) { -// printf("dac2_data_write %02x\n", data); +// printf("dac2_data_write %02x\n", data); m_dac2->write_unsigned8(data); } WRITE8_MEMBER(inder_sb_device::dac2_gain_write) { -// printf("dac2_gain_write %02x\n", data); +// printf("dac2_gain_write %02x\n", data); dac_gain[2] = data; } WRITE8_MEMBER(inder_sb_device::dac3_value_write) { -// printf("dac3_data_write %02x\n", data); +// printf("dac3_data_write %02x\n", data); m_dac3->write_unsigned8(data); } WRITE8_MEMBER(inder_sb_device::dac3_gain_write) { -// printf("dac3_gain_write %02x\n", data); +// printf("dac3_gain_write %02x\n", data); dac_gain[3] = data; } @@ -211,26 +211,26 @@ WRITE8_MEMBER(inder_sb_device::dac0_rombank_write) { m_soundbank[0] = data; -// printf("dac0_rombank_write %02x", data); +// printf("dac0_rombank_write %02x", data); } WRITE8_MEMBER(inder_sb_device::dac1_rombank_write) { m_soundbank[1] = data; -// printf("dac1_rombank_write %02x", data); +// printf("dac1_rombank_write %02x", data); } WRITE8_MEMBER(inder_sb_device::dac2_rombank_write) { m_soundbank[2] = data; -// printf("dac2_rombank_write %02x", data); +// printf("dac2_rombank_write %02x", data); } WRITE8_MEMBER(inder_sb_device::dac3_rombank_write) { m_soundbank[3] = data; -// printf("dac3_rombank_write %02x", data); +// printf("dac3_rombank_write %02x", data); } @@ -253,10 +253,10 @@ static ADDRESS_MAP_START( sound_io, AS_IO, 8, inder_sb_device ) AM_RANGE(0x13, 0x13) AM_WRITE(dac3_rombank_write) - + AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) - + AM_RANGE(0x30, 0x30) AM_READWRITE(megaphx_sound_cmd_r, megaphx_sound_to_68k_w) AM_RANGE(0x31, 0x31) AM_READ(megaphx_sound_sent_r) ADDRESS_MAP_END @@ -271,7 +271,7 @@ static MACHINE_CONFIG_FRAGMENT( inder_sb ) MCFG_Z80CTC_ADD( "ctc", 4000000, z80ctc_intf ) // unk freq - MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_DAC_ADD("dac0") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DAC_ADD("dac1") |