mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
Partially revert 09466d3382
due to crashes (nw)
This commit is contained in:
parent
781f17725a
commit
88943f6dfc
@ -170,18 +170,18 @@ IRQ_CALLBACK_MEMBER(seibu_sound_device::im0_vector_cb)
|
||||
}
|
||||
|
||||
|
||||
void seibu_sound_device::irq_clear_w(u8)
|
||||
WRITE8_MEMBER( seibu_sound_device::irq_clear_w )
|
||||
{
|
||||
/* Denjin Makai and SD Gundam doesn't like this, it's tied to the rst18 ack ONLY so it could be related to it. */
|
||||
//update_irq_lines(VECTOR_INIT);
|
||||
}
|
||||
|
||||
void seibu_sound_device::rst10_ack_w(u8)
|
||||
WRITE8_MEMBER( seibu_sound_device::rst10_ack_w )
|
||||
{
|
||||
/* Unused for now */
|
||||
}
|
||||
|
||||
void seibu_sound_device::rst18_ack_w(u8)
|
||||
WRITE8_MEMBER( seibu_sound_device::rst18_ack_w )
|
||||
{
|
||||
update_irq_lines(RST18_CLEAR);
|
||||
}
|
||||
@ -191,51 +191,51 @@ WRITE_LINE_MEMBER( seibu_sound_device::fm_irqhandler )
|
||||
update_irq_lines(state ? RST10_ASSERT : RST10_CLEAR);
|
||||
}
|
||||
|
||||
u8 seibu_sound_device::ym_r(offs_t offset)
|
||||
READ8_MEMBER( seibu_sound_device::ym_r )
|
||||
{
|
||||
return m_ym_read_cb(offset);
|
||||
}
|
||||
|
||||
void seibu_sound_device::ym_w(offs_t offset, u8 data)
|
||||
WRITE8_MEMBER( seibu_sound_device::ym_w )
|
||||
{
|
||||
m_ym_write_cb(offset, data);
|
||||
}
|
||||
|
||||
void seibu_sound_device::bank_w(u8 data)
|
||||
WRITE8_MEMBER( seibu_sound_device::bank_w )
|
||||
{
|
||||
if (m_rom_bank.found())
|
||||
m_rom_bank->set_entry(data & 1);
|
||||
}
|
||||
|
||||
void seibu_sound_device::coin_w(u8 data)
|
||||
WRITE8_MEMBER( seibu_sound_device::coin_w )
|
||||
{
|
||||
machine().bookkeeping().coin_counter_w(0, data & 1);
|
||||
machine().bookkeeping().coin_counter_w(1, data & 2);
|
||||
}
|
||||
|
||||
u8 seibu_sound_device::soundlatch_r(offs_t offset)
|
||||
READ8_MEMBER( seibu_sound_device::soundlatch_r )
|
||||
{
|
||||
return m_main2sub[offset];
|
||||
}
|
||||
|
||||
u8 seibu_sound_device::main_data_pending_r()
|
||||
READ8_MEMBER( seibu_sound_device::main_data_pending_r )
|
||||
{
|
||||
return m_sub2main_pending ? 1 : 0;
|
||||
}
|
||||
|
||||
void seibu_sound_device::main_data_w(offs_t offset, u8 data)
|
||||
WRITE8_MEMBER( seibu_sound_device::main_data_w )
|
||||
{
|
||||
m_sub2main[offset] = data;
|
||||
}
|
||||
|
||||
void seibu_sound_device::pending_w(u8)
|
||||
WRITE8_MEMBER( seibu_sound_device::pending_w )
|
||||
{
|
||||
/* just a guess */
|
||||
m_main2sub_pending = 0;
|
||||
m_sub2main_pending = 1;
|
||||
}
|
||||
|
||||
u8 seibu_sound_device::main_r(offs_t offset)
|
||||
READ8_MEMBER( seibu_sound_device::main_r )
|
||||
{
|
||||
//logerror("%s: seibu_main_r(%x)\n",machine().describe_context(),offset);
|
||||
switch (offset)
|
||||
@ -251,7 +251,7 @@ u8 seibu_sound_device::main_r(offs_t offset)
|
||||
}
|
||||
}
|
||||
|
||||
void seibu_sound_device::main_w(offs_t offset, u8 data)
|
||||
WRITE8_MEMBER( seibu_sound_device::main_w )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
@ -275,7 +275,7 @@ void seibu_sound_device::main_w(offs_t offset, u8 data)
|
||||
}
|
||||
|
||||
// used only by NMK16 bootlegs
|
||||
void seibu_sound_device::main_mustb_w(offs_t, u16 data, u16 mem_mask)
|
||||
WRITE16_MEMBER( seibu_sound_device::main_mustb_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
m_main2sub[0] = data & 0xff;
|
||||
@ -318,7 +318,7 @@ sei80bu_device::sei80bu_device(const machine_config &mconfig, const char *tag, d
|
||||
{
|
||||
}
|
||||
|
||||
u8 sei80bu_device::data_r(offs_t offset)
|
||||
READ8_MEMBER(sei80bu_device::data_r)
|
||||
{
|
||||
u16 a = offset;
|
||||
u8 src = read_byte(offset);
|
||||
@ -335,7 +335,7 @@ u8 sei80bu_device::data_r(offs_t offset)
|
||||
return src;
|
||||
}
|
||||
|
||||
u8 sei80bu_device::opcode_r(offs_t offset)
|
||||
READ8_MEMBER(sei80bu_device::opcode_r)
|
||||
{
|
||||
u16 a = offset;
|
||||
u8 src = read_byte(offset);
|
||||
@ -406,7 +406,7 @@ void seibu_adpcm_device::decrypt()
|
||||
}
|
||||
}
|
||||
|
||||
void seibu_adpcm_device::adr_w(offs_t offset, u8 data)
|
||||
WRITE8_MEMBER( seibu_adpcm_device::adr_w )
|
||||
{
|
||||
if (m_stream)
|
||||
m_stream->update();
|
||||
@ -422,7 +422,7 @@ void seibu_adpcm_device::adr_w(offs_t offset, u8 data)
|
||||
}
|
||||
}
|
||||
|
||||
void seibu_adpcm_device::ctl_w(u8 data)
|
||||
WRITE8_MEMBER( seibu_adpcm_device::ctl_w )
|
||||
{
|
||||
// sequence is 00 02 01 each time.
|
||||
if (m_stream)
|
||||
|
@ -51,21 +51,21 @@ public:
|
||||
template<class Object> devcb_base &set_ym_read_callback(Object &&object) { return m_ym_read_cb.set_callback(std::forward<Object>(object)); }
|
||||
template<class Object> devcb_base &set_ym_write_callback(Object &&object) { return m_ym_write_cb.set_callback(std::forward<Object>(object)); }
|
||||
|
||||
u8 main_r(offs_t offset);
|
||||
void main_w(offs_t offset, u8 data);
|
||||
void main_mustb_w(offs_t, u16 data, u16 mem_mask);
|
||||
void irq_clear_w(u8);
|
||||
void rst10_ack_w(u8);
|
||||
void rst18_ack_w(u8);
|
||||
u8 ym_r(offs_t offset);
|
||||
void ym_w(offs_t offset, u8 data);
|
||||
void bank_w(u8 data);
|
||||
void coin_w(u8 data);
|
||||
DECLARE_READ8_MEMBER( main_r );
|
||||
DECLARE_WRITE8_MEMBER( main_w );
|
||||
DECLARE_WRITE16_MEMBER( main_mustb_w );
|
||||
DECLARE_WRITE8_MEMBER( irq_clear_w );
|
||||
DECLARE_WRITE8_MEMBER( rst10_ack_w );
|
||||
DECLARE_WRITE8_MEMBER( rst18_ack_w );
|
||||
DECLARE_READ8_MEMBER( ym_r );
|
||||
DECLARE_WRITE8_MEMBER( ym_w );
|
||||
DECLARE_WRITE8_MEMBER( bank_w );
|
||||
DECLARE_WRITE8_MEMBER( coin_w );
|
||||
WRITE_LINE_MEMBER( fm_irqhandler );
|
||||
u8 soundlatch_r(offs_t offset);
|
||||
u8 main_data_pending_r();
|
||||
void main_data_w(offs_t offset, u8 data);
|
||||
void pending_w(u8);
|
||||
DECLARE_READ8_MEMBER( soundlatch_r );
|
||||
DECLARE_READ8_MEMBER( main_data_pending_r );
|
||||
DECLARE_WRITE8_MEMBER( main_data_w );
|
||||
DECLARE_WRITE8_MEMBER( pending_w );
|
||||
|
||||
IRQ_CALLBACK_MEMBER(im0_vector_cb);
|
||||
|
||||
@ -113,8 +113,8 @@ class sei80bu_device : public device_t, public device_rom_interface
|
||||
public:
|
||||
sei80bu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
u8 data_r(offs_t offset);
|
||||
u8 opcode_r(offs_t offset);
|
||||
DECLARE_READ8_MEMBER(data_r);
|
||||
DECLARE_READ8_MEMBER(opcode_r);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -134,8 +134,8 @@ public:
|
||||
~seibu_adpcm_device() {}
|
||||
|
||||
void decrypt();
|
||||
void adr_w(offs_t offset, u8 data);
|
||||
void ctl_w(u8 data);
|
||||
DECLARE_WRITE8_MEMBER( adr_w );
|
||||
DECLARE_WRITE8_MEMBER( ctl_w );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
|
@ -184,9 +184,9 @@ void bloodbro_state::skysmash_map(address_map &map)
|
||||
map(0xc0000, 0xc004f).rw("crtc", FUNC(seibu_crtc_device::read_alt), FUNC(seibu_crtc_device::write_alt));
|
||||
}
|
||||
|
||||
void bloodbro_state::weststry_soundlatch_w(offs_t offset, u8 data)
|
||||
WRITE8_MEMBER(bloodbro_state::weststry_soundlatch_w)
|
||||
{
|
||||
m_seibu_sound->main_w(offset, data);
|
||||
m_seibu_sound->main_w(space, offset, data, mem_mask);
|
||||
|
||||
if (offset == 1)
|
||||
m_audiocpu->set_input_line(0, ASSERT_LINE);
|
||||
|
@ -86,10 +86,10 @@ WRITE16_MEMBER(cabal_state::cabalbl_sndcmd_w)
|
||||
|
||||
|
||||
|
||||
void cabal_state::sound_irq_trigger_word_w(offs_t, u16 data, u16 mem_mask)
|
||||
WRITE16_MEMBER(cabal_state::sound_irq_trigger_word_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
m_seibu_sound->main_w(4, data & 0x00ff);
|
||||
m_seibu_sound->main_w(space, 4, data & 0x00ff);
|
||||
|
||||
/* spin for a while to let the Z80 read the command, otherwise coins "stick" */
|
||||
m_maincpu->spin_until_time(attotime::from_usec(50));
|
||||
|
@ -29,13 +29,13 @@
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
u8 dcon_state::sdgndmps_sound_comms_r(offs_t offset)
|
||||
READ8_MEMBER(dcon_state::sdgndmps_sound_comms_r)
|
||||
{
|
||||
// Routine at 134C sends no sound commands if lowest bit is 0
|
||||
if (offset == 5) // ($a000a)
|
||||
return 1;
|
||||
|
||||
return m_seibu_sound->main_r(offset);
|
||||
return m_seibu_sound->main_r(space, offset);
|
||||
}
|
||||
|
||||
void dcon_state::dcon_map(address_map &map)
|
||||
|
@ -94,13 +94,13 @@ Preliminary COP MCU memory map
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
u8 legionna_state::denjinmk_sound_comms_r(offs_t offset)
|
||||
READ8_MEMBER(legionna_state::denjinmk_sound_comms_r)
|
||||
{
|
||||
// Routine at 5FDC spins indefinitely until the lowest bit becomes 1
|
||||
if (offset == 10) // ($100714)
|
||||
return 1;
|
||||
|
||||
return m_seibu_sound->main_r((offset >> 1) & 7);
|
||||
return m_seibu_sound->main_r(space, (offset >> 1) & 7);
|
||||
}
|
||||
|
||||
void legionna_state::legionna_cop_map(address_map &map)
|
||||
@ -189,8 +189,12 @@ void legionna_state::legionna_map(address_map &map)
|
||||
map(0x100600, 0x10064f).rw(m_crtc, FUNC(seibu_crtc_device::read), FUNC(seibu_crtc_device::write));
|
||||
map(0x100680, 0x100681).nopw(); // irq ack?
|
||||
map(0x100700, 0x10071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100740, 0x100741).portr("DSW1");
|
||||
map(0x100744, 0x100745).portr("PLAYERS12");
|
||||
map(0x100748, 0x100749).portr("PLAYERS34");
|
||||
@ -219,8 +223,12 @@ void legionna_state::heatbrl_map(address_map &map)
|
||||
map(0x100748, 0x100749).portr("PLAYERS34");
|
||||
map(0x10074c, 0x10074d).portr("SYSTEM");
|
||||
map(0x1007c0, 0x1007df).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100800, 0x100fff).ram(); // .w(FUNC(legionna_state::legionna_background_w)).share("back_data");
|
||||
map(0x101000, 0x1017ff).ram(); // .w(FUNC(legionna_state::legionna_foreground_w).share("fore_data");
|
||||
map(0x101800, 0x101fff).ram(); // .w(FUNC(legionna_state::legionna_midground_w).share("mid_data");
|
||||
@ -239,8 +247,12 @@ void legionna_state::godzilla_map(address_map &map)
|
||||
map(0x100600, 0x10064f).rw(m_crtc, FUNC(seibu_crtc_device::read), FUNC(seibu_crtc_device::write));
|
||||
map(0x100680, 0x100681).nopw(); // irq ack?
|
||||
map(0x100700, 0x10071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100740, 0x100741).portr("DSW1");
|
||||
map(0x100744, 0x100745).portr("PLAYERS12");
|
||||
map(0x100748, 0x100749).portr("PLAYERS34");
|
||||
@ -294,7 +306,10 @@ void legionna_state::denjinmk_map(address_map &map)
|
||||
map(0x100600, 0x10064f).rw(m_crtc, FUNC(seibu_crtc_device::read), FUNC(seibu_crtc_device::write));
|
||||
map(0x100680, 0x100681).nopw(); // irq ack?
|
||||
map(0x100700, 0x10071f).r(FUNC(legionna_state::denjinmk_sound_comms_r))
|
||||
.lw8("seibu_sound_w", [this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
.lw8("seibu_sound_w",
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100740, 0x100741).portr("DSW1");
|
||||
map(0x100744, 0x100745).portr("PLAYERS12");
|
||||
map(0x100748, 0x100749).portr("PLAYERS34");
|
||||
@ -322,8 +337,12 @@ void legionna_state::grainbow_map(address_map &map)
|
||||
map(0x100600, 0x10064f).rw(m_crtc, FUNC(seibu_crtc_device::read), FUNC(seibu_crtc_device::write));
|
||||
map(0x100680, 0x100681).nopw(); // irq ack?
|
||||
map(0x100700, 0x10071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100740, 0x100741).portr("DSW1");
|
||||
map(0x100744, 0x100745).portr("PLAYERS12");
|
||||
map(0x100748, 0x100749).portr("PLAYERS34");
|
||||
@ -349,8 +368,12 @@ void legionna_state::cupsoc_map(address_map &map)
|
||||
map(0x100600, 0x10064f).rw(m_crtc, FUNC(seibu_crtc_device::read), FUNC(seibu_crtc_device::write));
|
||||
map(0x100680, 0x100681).nopw(); // irq ack?
|
||||
map(0x100700, 0x10071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100740, 0x100741).portr("DSW1");
|
||||
map(0x100744, 0x100745).portr("PLAYERS12");
|
||||
map(0x100748, 0x100749).portr("PLAYERS34");
|
||||
@ -390,8 +413,12 @@ void legionna_state::cupsocs_map(address_map &map)
|
||||
map(0x10070c, 0x10070d).portr("SYSTEM");
|
||||
map(0x10071c, 0x10071d).portr("DSW2");
|
||||
map(0x100740, 0x10075f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
map(0x100800, 0x100fff).ram(); // .w(FUNC(legionna_state::legionna_background_w)).share("back_data");
|
||||
map(0x101000, 0x1017ff).ram(); // .w(FUNC(legionna_state::legionna_foreground_w).share("fore_data");
|
||||
map(0x101800, 0x101fff).ram(); // .w(FUNC(legionna_state::legionna_midground_w).share("mid_data");
|
||||
|
@ -493,8 +493,12 @@ void r2dx_v33_state::nzeroteam_base_map(address_map &map)
|
||||
// map(0x00762, 0x00763).r(FUNC(r2dx_v33_state::nzerotea_unknown_r));
|
||||
|
||||
map(0x00780, 0x0079f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
|
||||
map(0x00800, 0x00fff).ram();
|
||||
map(0x01000, 0x0bfff).ram();
|
||||
|
@ -973,8 +973,12 @@ void raiden2_state::raiden2_mem(address_map &map)
|
||||
map(0x0068e, 0x0068f).nopw(); //irq ack / sprite buffering?
|
||||
|
||||
map(0x00700, 0x0071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
|
||||
map(0x00740, 0x00741).portr("DSW");
|
||||
map(0x00744, 0x00745).portr("P1_P2");
|
||||
@ -1018,8 +1022,12 @@ void raiden2_state::zeroteam_mem(address_map &map)
|
||||
map(0x0068e, 0x0068f).nopw(); // irq ack / sprite buffering?
|
||||
|
||||
map(0x00700, 0x0071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
|
||||
map(0x00740, 0x00741).portr("DSW");
|
||||
map(0x00744, 0x00745).portr("P1_P2");
|
||||
@ -1052,8 +1060,12 @@ void raiden2_state::xsedae_mem(address_map &map)
|
||||
map(0x0068e, 0x0068f).nopw(); //irq ack / sprite buffering?
|
||||
|
||||
map(0x00700, 0x0071f).lrw8("seibu_sound_rw",
|
||||
[this](offs_t offset) { return m_seibu_sound->main_r(offset >> 1); },
|
||||
[this](offs_t offset, u8 data) { m_seibu_sound->main_w(offset >> 1, data); }).umask16(0x00ff);
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) {
|
||||
return m_seibu_sound->main_r(space, offset >> 1, mem_mask);
|
||||
},
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_seibu_sound->main_w(space, offset >> 1, data, mem_mask);
|
||||
}).umask16(0x00ff);
|
||||
|
||||
map(0x00740, 0x00741).portr("DSW");
|
||||
map(0x00744, 0x00745).portr("P1_P2");
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
DECLARE_WRITE16_MEMBER(weststry_layer_scroll_w);
|
||||
void weststry_soundlatch_w(offs_t offset, u8 data);
|
||||
DECLARE_WRITE8_MEMBER(weststry_soundlatch_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(weststry_opl_irq_w);
|
||||
DECLARE_WRITE8_MEMBER(weststry_opl_w);
|
||||
DECLARE_WRITE8_MEMBER(weststry_soundnmi_ack_w);
|
||||
|
@ -47,7 +47,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(text_videoram_w);
|
||||
|
||||
// cabal specific
|
||||
void sound_irq_trigger_word_w(offs_t, u16 data, u16 mem_mask);
|
||||
DECLARE_WRITE16_MEMBER(sound_irq_trigger_word_w);
|
||||
|
||||
// cabalbl specific
|
||||
DECLARE_WRITE16_MEMBER(cabalbl_sndcmd_w);
|
||||
|
@ -44,7 +44,7 @@ private:
|
||||
uint16_t m_scroll_ram[6];
|
||||
uint16_t m_layer_en;
|
||||
|
||||
u8 sdgndmps_sound_comms_r(offs_t offset);
|
||||
DECLARE_READ8_MEMBER(sdgndmps_sound_comms_r);
|
||||
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
|
@ -80,7 +80,7 @@ private:
|
||||
DECLARE_WRITE16_MEMBER(legionna_midground_w);
|
||||
DECLARE_WRITE16_MEMBER(legionna_foreground_w);
|
||||
DECLARE_WRITE16_MEMBER(legionna_text_w);
|
||||
u8 denjinmk_sound_comms_r(offs_t offset);
|
||||
DECLARE_READ8_MEMBER(denjinmk_sound_comms_r);
|
||||
DECLARE_WRITE8_MEMBER(godzilla_oki_bank_w);
|
||||
DECLARE_WRITE16_MEMBER(denjinmk_setgfxbank);
|
||||
DECLARE_WRITE16_MEMBER(heatbrl_setgfxbank);
|
||||
|
Loading…
Reference in New Issue
Block a user