m107.cpp: Commence soundlatch modernization (nw)

This commit is contained in:
AJR 2017-08-24 23:49:36 -04:00
parent 6a3c352a8d
commit 30ba35ad58
2 changed files with 8 additions and 27 deletions

View File

@ -126,29 +126,11 @@ WRITE16_MEMBER(m107_state::bankswitch_w)
}
}
WRITE16_MEMBER(m107_state::soundlatch_w)
{
m_soundcpu->set_input_line(NEC_INPUT_LINE_INTP1, ASSERT_LINE);
m_soundlatch->write(space, 0, data & 0xff);
// logerror("m_soundlatch->write %02x\n",data);
}
READ16_MEMBER(m107_state::sound_status_r)
{
return m_sound_status;
}
READ16_MEMBER(m107_state::soundlatch_r)
{
m_soundcpu->set_input_line(NEC_INPUT_LINE_INTP1, CLEAR_LINE);
return m_soundlatch->read(space, offset) | 0xff00;
}
WRITE16_MEMBER(m107_state::sound_irq_ack_w)
{
m_soundcpu->set_input_line(NEC_INPUT_LINE_INTP1, CLEAR_LINE);
}
WRITE16_MEMBER(m107_state::sound_status_w)
{
COMBINE_DATA(&m_sound_status);
@ -178,7 +160,7 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 16, m107_state )
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
AM_RANGE(0x06, 0x07) AM_READ_PORT("P3_P4")
AM_RANGE(0x08, 0x09) AM_READ(sound_status_r) /* answer from sound CPU */
AM_RANGE(0x00, 0x01) AM_WRITE(soundlatch_w)
AM_RANGE(0x00, 0x01) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x02, 0x03) AM_WRITE(coincounter_w)
AM_RANGE(0x04, 0x05) AM_WRITENOP /* ??? 0008 */
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE8("upd71059c", pic8259_device, read, write, 0x00ff)
@ -221,7 +203,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, m107_state )
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xa8000, 0xa803f) AM_DEVREADWRITE8("irem", iremga20_device, irem_ga20_r, irem_ga20_w, 0x00ff)
AM_RANGE(0xa8040, 0xa8043) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff)
AM_RANGE(0xa8044, 0xa8045) AM_READWRITE(soundlatch_r, sound_irq_ack_w)
AM_RANGE(0xa8044, 0xa8045) AM_DEVREADWRITE8("soundlatch", generic_latch_8_device, read, acknowledge_w, 0x00ff)
AM_RANGE(0xa8046, 0xa8047) AM_WRITE(sound_status_w)
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("soundcpu", 0x1fff0)
ADDRESS_MAP_END
@ -775,14 +757,14 @@ GFXDECODE_END
static MACHINE_CONFIG_START( firebarr )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", V33, 28000000/2) /* NEC V33, 28MHz clock */
MCFG_CPU_ADD("maincpu", V33, XTAL_28MHz/2) /* NEC V33, 28MHz clock */
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_portmap)
#ifndef USE_HACKED_IRQS
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("upd71059c", pic8259_device, inta_cb)
#endif
MCFG_CPU_ADD("soundcpu", V35, 14318000)
MCFG_CPU_ADD("soundcpu", V35, XTAL_14_31818MHz)
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_V25_CONFIG(rtypeleo_decryption_table)
@ -808,13 +790,15 @@ static MACHINE_CONFIG_START( firebarr )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("soundcpu", NEC_INPUT_LINE_INTP1))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
MCFG_YM2151_ADD("ymsnd", 14318180/4)
MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4)
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", NEC_INPUT_LINE_INTP0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.40)
MCFG_IREMGA20_ADD("irem", 14318180/4)
MCFG_IREMGA20_ADD("irem", XTAL_14_31818MHz/4)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END

View File

@ -58,10 +58,7 @@ public:
DECLARE_WRITE16_MEMBER(coincounter_w);
DECLARE_WRITE16_MEMBER(bankswitch_w);
DECLARE_WRITE16_MEMBER(soundlatch_w);
DECLARE_READ16_MEMBER(sound_status_r);
DECLARE_READ16_MEMBER(soundlatch_r);
DECLARE_WRITE16_MEMBER(sound_irq_ack_w);
DECLARE_WRITE16_MEMBER(sound_status_w);
DECLARE_WRITE16_MEMBER(sound_reset_w);
DECLARE_WRITE16_MEMBER(wpksoc_output_w);