vaportra: Soundlatch modernization and code cleanup (nw)

This commit is contained in:
AJR 2018-02-17 01:14:11 -05:00
parent add7e239f1
commit 72ad974876
2 changed files with 13 additions and 45 deletions

View File

@ -30,51 +30,27 @@
/******************************************************************************/
WRITE16_MEMBER(vaportra_state::vaportra_sound_w)
READ8_MEMBER(vaportra_state::irq6_ack_r)
{
/* Force synchronisation between CPUs with fake timer */
machine().scheduler().synchronize();
m_soundlatch->write(space, 0, data & 0xff);
m_audiocpu->set_input_line(0, ASSERT_LINE);
}
READ16_MEMBER(vaportra_state::irq6_ack_r)
{
if (ACCESSING_BITS_0_7)
m_maincpu->set_input_line (6, CLEAR_LINE);
m_maincpu->set_input_line(M68K_IRQ_6, CLEAR_LINE);
return (0);
}
WRITE16_MEMBER(vaportra_state::irq6_ack_w)
WRITE8_MEMBER(vaportra_state::irq6_ack_w)
{
if (ACCESSING_BITS_0_7)
m_maincpu->set_input_line (6, CLEAR_LINE);
}
READ16_MEMBER(vaportra_state::vaportra_control_r)
{
switch (offset << 1)
{
case 4:
return ioport("DSW")->read();
case 2:
return ioport("COINS")->read();
case 0:
return ioport("PLAYERS")->read();
}
logerror("Unknown control read at %d\n",offset);
return ~0;
m_maincpu->set_input_line(M68K_IRQ_6, CLEAR_LINE);
}
/******************************************************************************/
ADDRESS_MAP_START(vaportra_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("PLAYERS")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("COINS")
AM_RANGE(0x100004, 0x100005) AM_READ_PORT("DSW")
AM_RANGE(0x100000, 0x100003) AM_WRITE(vaportra_priority_w)
AM_RANGE(0x100006, 0x100007) AM_WRITE(vaportra_sound_w)
AM_RANGE(0x100000, 0x10000f) AM_READ(vaportra_control_r)
AM_RANGE(0x100006, 0x100007) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x200000, 0x201fff) AM_DEVREADWRITE("tilegen2", deco16ic_device, pf1_data_r, pf1_data_w)
AM_RANGE(0x202000, 0x203fff) AM_DEVREADWRITE("tilegen2", deco16ic_device, pf2_data_r, pf2_data_w)
AM_RANGE(0x240000, 0x24000f) AM_DEVWRITE("tilegen2", deco16ic_device, pf_control_w)
@ -83,7 +59,7 @@ ADDRESS_MAP_START(vaportra_state::main_map)
AM_RANGE(0x2c0000, 0x2c000f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE(vaportra_palette_24bit_rg_w) AM_SHARE("paletteram")
AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE(vaportra_palette_24bit_b_w) AM_SHARE("paletteram2")
AM_RANGE(0x308000, 0x308001) AM_READWRITE(irq6_ack_r, irq6_ack_w)
AM_RANGE(0x308000, 0x308001) AM_READWRITE8(irq6_ack_r, irq6_ack_w, 0x00ff)
AM_RANGE(0x30c000, 0x30c001) AM_DEVWRITE("spriteram", buffered_spriteram16_device, write)
AM_RANGE(0x318000, 0x3187ff) AM_MIRROR(0xce0000) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xffc000, 0xffffff) AM_RAM
@ -92,19 +68,13 @@ ADDRESS_MAP_END
/******************************************************************************/
READ8_MEMBER(vaportra_state::vaportra_soundlatch_r)
{
m_audiocpu->set_input_line(0, CLEAR_LINE);
return m_soundlatch->read(space, offset);
}
ADDRESS_MAP_START(vaportra_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(vaportra_soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8") /* ??? LOOKUP ??? */
AM_RANGE(0x1fec00, 0x1fec01) AM_DEVWRITE("audiocpu", h6280_device, timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w)
@ -304,6 +274,7 @@ MACHINE_CONFIG_START(vaportra_state::vaportra)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ADD("ym1", YM2203, XTAL(32'220'000)/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)

View File

@ -43,11 +43,8 @@ public:
/* misc */
uint16_t m_priority[2];
DECLARE_WRITE16_MEMBER(vaportra_sound_w);
DECLARE_READ16_MEMBER(irq6_ack_r);
DECLARE_WRITE16_MEMBER(irq6_ack_w);
DECLARE_READ16_MEMBER(vaportra_control_r);
DECLARE_READ8_MEMBER(vaportra_soundlatch_r);
DECLARE_READ8_MEMBER(irq6_ack_r);
DECLARE_WRITE8_MEMBER(irq6_ack_w);
DECLARE_WRITE16_MEMBER(vaportra_priority_w);
DECLARE_WRITE16_MEMBER(vaportra_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(vaportra_palette_24bit_b_w);