heavensgate soundlatch

This commit is contained in:
Michaël Banaan Ananas 2013-05-23 07:07:25 +00:00
parent 817e31a10e
commit def5602cca

View File

@ -69,8 +69,9 @@ public:
DECLARE_WRITE32_MEMBER(nbajamex_80_w);
DECLARE_READ32_MEMBER(nbajamex_08_r);
DECLARE_READ32_MEMBER(nbajamex_80_r);
DECLARE_WRITE8_MEMBER(coh1001l_bnk_w);
DECLARE_WRITE8_MEMBER(coh1002v_bnk_w);
DECLARE_WRITE8_MEMBER(coh1001l_bank_w);
DECLARE_WRITE16_MEMBER(coh1001l_latch_w);
DECLARE_WRITE8_MEMBER(coh1002v_bank_w);
DECLARE_WRITE8_MEMBER(coh1002m_bank_w);
DECLARE_READ8_MEMBER(cbaj_from_z80_latch_r);
DECLARE_WRITE8_MEMBER(cbaj_to_z80_latch_w);
@ -2158,14 +2159,21 @@ Notes:
VSync - 60Hz
*/
WRITE8_MEMBER(zn_state::coh1001l_bnk_w)
WRITE8_MEMBER(zn_state::coh1001l_bank_w)
{
membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() + ( ( data & 3 ) * 0x800000 ) );
}
WRITE16_MEMBER(zn_state::coh1001l_latch_w)
{
soundlatch_word_w(space, 0, data);
//m_audiocpu->set_input_line(3, HOLD_LINE);
}
static ADDRESS_MAP_START(coh1001l_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(coh1001l_bnk_w, 0x00ff0000)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE16(coh1001l_latch_w, 0x0000ffff)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(coh1001l_bank_w, 0x00ff0000)
AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
@ -2177,7 +2185,7 @@ MACHINE_RESET_MEMBER(zn_state,coh1001l)
static ADDRESS_MAP_START( atlus_snd_map, AS_PROGRAM, 16, zn_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
//AM_RANGE(0x100000, 0x100001) ??
AM_RANGE(0x100000, 0x100001) AM_READ(soundlatch_word_r)
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff)
AM_RANGE(0x700000, 0x70ffff) AM_RAM
ADDRESS_MAP_END
@ -2193,6 +2201,8 @@ static MACHINE_CONFIG_DERIVED(coh1001l, zn1_2mb_vram)
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1001l)
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
/*
@ -2208,7 +2218,7 @@ Key: Mother KN01
*/
WRITE8_MEMBER(zn_state::coh1002v_bnk_w)
WRITE8_MEMBER(zn_state::coh1002v_bank_w)
{
membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() + ( data * 0x100000 ) );
}
@ -2216,7 +2226,7 @@ WRITE8_MEMBER(zn_state::coh1002v_bnk_w)
static ADDRESS_MAP_START(coh1002v_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1f000000, 0x1f27ffff) AM_ROM AM_REGION("fixedroms", 0)
AM_RANGE(0x1fb00000, 0x1fbfffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(coh1002v_bnk_w, 0x000000ff)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(coh1002v_bank_w, 0x000000ff)
AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END