diff options
Diffstat (limited to 'src/mame/drivers/snk.cpp')
-rw-r--r-- | src/mame/drivers/snk.cpp | 622 |
1 files changed, 311 insertions, 311 deletions
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp index 4e0e22b5339..c3e162d92a2 100644 --- a/src/mame/drivers/snk.cpp +++ b/src/mame/drivers/snk.cpp @@ -822,49 +822,49 @@ CUSTOM_INPUT_MEMBER(snk_state::snk_bonus_r) void snk_state::marvins_cpuA_map(address_map &map) { map(0x0000, 0x5fff).rom(); - map(0x6000, 0x6000).w(this, FUNC(snk_state::marvins_palette_bank_w)); + map(0x6000, 0x6000).w(FUNC(snk_state::marvins_palette_bank_w)); map(0x8000, 0x8000).portr("IN0"); map(0x8100, 0x8100).portr("IN1"); map(0x8200, 0x8200).portr("IN2"); - map(0x8300, 0x8300).w(this, FUNC(snk_state::marvins_soundlatch_w)); + map(0x8300, 0x8300).w(FUNC(snk_state::marvins_soundlatch_w)); map(0x8400, 0x8400).portr("DSW1"); map(0x8500, 0x8500).portr("DSW2"); - map(0x8600, 0x8600).w(this, FUNC(snk_state::marvins_flipscreen_w)); - map(0x8700, 0x8700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0x8600, 0x8600).w(FUNC(snk_state::marvins_flipscreen_w)); + map(0x8700, 0x8700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); map(0xc000, 0xcfff).ram().share("spriteram"); // + work ram - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); map(0xd800, 0xdfff).ram().share("share3"); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xe800, 0xefff).ram().share("share5"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM - map(0xf800, 0xf800).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xf900, 0xf900).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xfa00, 0xfa00).w(this, FUNC(snk_state::snk_fg_scrolly_w)); - map(0xfb00, 0xfb00).w(this, FUNC(snk_state::snk_fg_scrollx_w)); - map(0xfc00, 0xfc00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xfd00, 0xfd00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xfe00, 0xfe00).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xff00, 0xff00).w(this, FUNC(snk_state::marvins_scroll_msb_w)); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xf800, 0xf800).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xf900, 0xf900).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xfa00, 0xfa00).w(FUNC(snk_state::snk_fg_scrolly_w)); + map(0xfb00, 0xfb00).w(FUNC(snk_state::snk_fg_scrollx_w)); + map(0xfc00, 0xfc00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xfd00, 0xfd00).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xfe00, 0xfe00).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xff00, 0xff00).w(FUNC(snk_state::marvins_scroll_msb_w)); } void snk_state::marvins_cpuB_map(address_map &map) { map(0x0000, 0x5fff).rom(); - map(0x8700, 0x8700).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0x8700, 0x8700).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); map(0xc000, 0xcfff).ram().share("spriteram"); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); map(0xd800, 0xdfff).ram().share("share3"); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xe800, 0xefff).ram().share("share5"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); - map(0xf800, 0xf800).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xf900, 0xf900).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xfa00, 0xfa00).w(this, FUNC(snk_state::snk_fg_scrolly_w)); - map(0xfb00, 0xfb00).w(this, FUNC(snk_state::snk_fg_scrollx_w)); - map(0xfc00, 0xfc00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xfd00, 0xfd00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xfe00, 0xfe00).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xff00, 0xff00).w(this, FUNC(snk_state::marvins_scroll_msb_w)); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xf800).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xf900, 0xf900).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xfa00, 0xfa00).w(FUNC(snk_state::snk_fg_scrolly_w)); + map(0xfb00, 0xfb00).w(FUNC(snk_state::snk_fg_scrollx_w)); + map(0xfc00, 0xfc00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xfd00, 0xfd00).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xfe00, 0xfe00).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xff00, 0xff00).w(FUNC(snk_state::marvins_scroll_msb_w)); } @@ -875,46 +875,46 @@ void snk_state::madcrash_cpuA_map(address_map &map) map(0x8000, 0x8000).portr("IN0"); map(0x8100, 0x8100).portr("IN1"); map(0x8200, 0x8200).portr("IN2"); - map(0x8300, 0x8300).w(this, FUNC(snk_state::marvins_soundlatch_w)); + map(0x8300, 0x8300).w(FUNC(snk_state::marvins_soundlatch_w)); map(0x8400, 0x8400).portr("DSW1"); map(0x8500, 0x8500).portr("DSW2"); - map(0x8600, 0x8600).mirror(0xff).w(this, FUNC(snk_state::marvins_flipscreen_w)); - map(0x8700, 0x8700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0x8600, 0x8600).mirror(0xff).w(FUNC(snk_state::marvins_flipscreen_w)); + map(0x8700, 0x8700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); map(0xc000, 0xc7ff).ram().share("spriteram"); // + work ram - map(0xc800, 0xc800).mirror(0xff).w(this, FUNC(snk_state::marvins_palette_bank_w)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xc800, 0xc800).mirror(0xff).w(FUNC(snk_state::marvins_palette_bank_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share3"); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); map(0xe800, 0xefff).ram().share("share5"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM - map(0xf800, 0xf800).mirror(0xff).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xf900, 0xf900).mirror(0xff).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xfa00, 0xfa00).mirror(0xff).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xfb00, 0xfb00).mirror(0xff).w(this, FUNC(snk_state::marvins_scroll_msb_w)); - map(0xfc00, 0xfc00).mirror(0xff).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xfd00, 0xfd00).mirror(0xff).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xfe00, 0xfe00).mirror(0xff).w(this, FUNC(snk_state::snk_fg_scrolly_w)); - map(0xff00, 0xff00).mirror(0xff).w(this, FUNC(snk_state::snk_fg_scrollx_w)); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xf800, 0xf800).mirror(0xff).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xf900, 0xf900).mirror(0xff).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xfa00, 0xfa00).mirror(0xff).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xfb00, 0xfb00).mirror(0xff).w(FUNC(snk_state::marvins_scroll_msb_w)); + map(0xfc00, 0xfc00).mirror(0xff).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xfd00, 0xfd00).mirror(0xff).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xfe00, 0xfe00).mirror(0xff).w(FUNC(snk_state::snk_fg_scrolly_w)); + map(0xff00, 0xff00).mirror(0xff).w(FUNC(snk_state::snk_fg_scrollx_w)); } void snk_state::madcrash_cpuB_map(address_map &map) { map(0x0000, 0x9fff).rom(); - map(0x8700, 0x8700).w(this, FUNC(snk_state::snk_cpuB_nmi_ack_w)); // vangrd2 - map(0xa000, 0xa000).w(this, FUNC(snk_state::snk_cpuB_nmi_ack_w)); // madcrash - map(0xc000, 0xc7ff).ram().w(this, FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); + map(0x8700, 0x8700).w(FUNC(snk_state::snk_cpuB_nmi_ack_w)); // vangrd2 + map(0xa000, 0xa000).w(FUNC(snk_state::snk_cpuB_nmi_ack_w)); // madcrash + map(0xc000, 0xc7ff).ram().w(FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); map(0xc800, 0xcfff).ram().share("share5"); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); - map(0xd800, 0xd800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xd900, 0xd900).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xda00, 0xda00).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xdb00, 0xdb00).w(this, FUNC(snk_state::marvins_scroll_msb_w)); - map(0xdc00, 0xdc00).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xdd00, 0xdd00).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xde00, 0xde00).w(this, FUNC(snk_state::snk_fg_scrolly_w)); - map(0xdf00, 0xdf00).w(this, FUNC(snk_state::snk_fg_scrollx_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xd800, 0xd800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xd900, 0xd900).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xda00, 0xda00).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xdb00, 0xdb00).w(FUNC(snk_state::marvins_scroll_msb_w)); + map(0xdc00, 0xdc00).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xdd00, 0xdd00).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xde00, 0xde00).w(FUNC(snk_state::snk_fg_scrolly_w)); + map(0xdf00, 0xdf00).w(FUNC(snk_state::snk_fg_scrollx_w)); map(0xe000, 0xe7ff).ram().share("spriteram"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xf800, 0xffff).ram().share("share3"); } @@ -924,47 +924,47 @@ void snk_state::madcrush_cpuA_map(address_map &map) map(0x8000, 0x8000).portr("IN0"); map(0x8100, 0x8100).portr("IN1"); map(0x8200, 0x8200).portr("IN2"); - map(0x8300, 0x8300).w(this, FUNC(snk_state::marvins_soundlatch_w)); + map(0x8300, 0x8300).w(FUNC(snk_state::marvins_soundlatch_w)); map(0x8400, 0x8400).portr("DSW1"); map(0x8500, 0x8500).portr("DSW2"); - map(0x8600, 0x8600).mirror(0xff).w(this, FUNC(snk_state::marvins_flipscreen_w)); - map(0x8700, 0x8700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0x8600, 0x8600).mirror(0xff).w(FUNC(snk_state::marvins_flipscreen_w)); + map(0x8700, 0x8700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); map(0xc000, 0xc7ff).ram().share("spriteram"); // + work ram - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); - map(0xc800, 0xc800).mirror(0xff).w(this, FUNC(snk_state::marvins_palette_bank_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); + map(0xc800, 0xc800).mirror(0xff).w(FUNC(snk_state::marvins_palette_bank_w)); map(0xd800, 0xdfff).ram().share("share5"); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xe800, 0xefff).ram().share("share3"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); - map(0xf800, 0xf800).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xf900, 0xf900).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xfa00, 0xfa00).w(this, FUNC(snk_state::snk_fg_scrolly_w)); - map(0xfb00, 0xfb00).w(this, FUNC(snk_state::snk_fg_scrollx_w)); - map(0xfc00, 0xfc00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xfd00, 0xfd00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xfe00, 0xfe00).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xff00, 0xff00).w(this, FUNC(snk_state::marvins_scroll_msb_w)); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xf800).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xf900, 0xf900).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xfa00, 0xfa00).w(FUNC(snk_state::snk_fg_scrolly_w)); + map(0xfb00, 0xfb00).w(FUNC(snk_state::snk_fg_scrollx_w)); + map(0xfc00, 0xfc00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xfd00, 0xfd00).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xfe00, 0xfe00).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xff00, 0xff00).w(FUNC(snk_state::marvins_scroll_msb_w)); } void snk_state::madcrush_cpuB_map(address_map &map) { map(0x0000, 0x9fff).rom(); - map(0xa000, 0xa000).w(this, FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xa000, 0xa000).w(FUNC(snk_state::snk_cpuB_nmi_ack_w)); map(0xc000, 0xc7ff).ram().share("spriteram"); // + work ram map(0xc800, 0xcfff).ram().share("share5"); - map(0xc800, 0xc800).mirror(0xff).w(this, FUNC(snk_state::marvins_palette_bank_w)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); // ?? + map(0xc800, 0xc800).mirror(0xff).w(FUNC(snk_state::marvins_palette_bank_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::marvins_fg_videoram_w)).share("fg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); // ?? map(0xe800, 0xefff).ram().share("share3"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); - map(0xf800, 0xf800).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xf900, 0xf900).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xfa00, 0xfa00).w(this, FUNC(snk_state::snk_fg_scrolly_w)); - map(0xfb00, 0xfb00).w(this, FUNC(snk_state::snk_fg_scrollx_w)); - map(0xfc00, 0xfc00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xfd00, 0xfd00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xfe00, 0xfe00).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xff00, 0xff00).w(this, FUNC(snk_state::marvins_scroll_msb_w)); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xf800).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xf900, 0xf900).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xfa00, 0xfa00).w(FUNC(snk_state::snk_fg_scrolly_w)); + map(0xfb00, 0xfb00).w(FUNC(snk_state::snk_fg_scrollx_w)); + map(0xfc00, 0xfc00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xfd00, 0xfd00).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xfe00, 0xfe00).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xff00, 0xff00).w(FUNC(snk_state::marvins_scroll_msb_w)); } @@ -974,29 +974,29 @@ void snk_state::jcross_cpuA_map(address_map &map) map(0xa000, 0xa000).portr("IN0"); map(0xa100, 0xa100).portr("IN1"); map(0xa200, 0xa200).portr("IN2"); - map(0xa300, 0xa300).w(this, FUNC(snk_state::sgladiat_soundlatch_w)); + map(0xa300, 0xa300).w(FUNC(snk_state::sgladiat_soundlatch_w)); map(0xa400, 0xa400).portr("DSW1"); map(0xa500, 0xa500).portr("DSW2"); - map(0xa600, 0xa600).w(this, FUNC(snk_state::sgladiat_flipscreen_w)); // flip screen, bg palette bank - map(0xa700, 0xa700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xd300, 0xd300).w(this, FUNC(snk_state::jcross_scroll_msb_w)); - map(0xd400, 0xd400).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xd500, 0xd500).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xd600, 0xd600).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xd700, 0xd700).w(this, FUNC(snk_state::snk_bg_scrollx_w)); + map(0xa600, 0xa600).w(FUNC(snk_state::sgladiat_flipscreen_w)); // flip screen, bg palette bank + map(0xa700, 0xa700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xd300, 0xd300).w(FUNC(snk_state::jcross_scroll_msb_w)); + map(0xd400, 0xd400).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xd500, 0xd500).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xd600, 0xd600).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xd700, 0xd700).w(FUNC(snk_state::snk_bg_scrollx_w)); map(0xd800, 0xdfff).ram().share("spriteram"); // + work ram - map(0xe000, 0xefff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xe000, 0xefff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM map(0xffff, 0xffff).nopw(); // simply a program patch to not write to two not existing video registers? } void snk_state::jcross_cpuB_map(address_map &map) { map(0x0000, 0x7fff).rom(); - map(0xa700, 0xa700).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xa700, 0xa700).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); map(0xc000, 0xc7ff).ram().share("spriteram"); - map(0xc800, 0xd7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xc800, 0xd7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1006,37 +1006,37 @@ void snk_state::sgladiat_cpuA_map(address_map &map) map(0xa000, 0xa000).portr("IN0"); map(0xa100, 0xa100).portr("IN1"); map(0xa200, 0xa200).portr("IN2"); - map(0xa300, 0xa300).w(this, FUNC(snk_state::sgladiat_soundlatch_w)); + map(0xa300, 0xa300).w(FUNC(snk_state::sgladiat_soundlatch_w)); map(0xa400, 0xa400).portr("DSW1"); map(0xa500, 0xa500).portr("DSW2"); - map(0xa600, 0xa600).w(this, FUNC(snk_state::sgladiat_flipscreen_w)); // flip screen, bg palette bank - map(0xa700, 0xa700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xa600, 0xa600).w(FUNC(snk_state::sgladiat_flipscreen_w)); // flip screen, bg palette bank + map(0xa700, 0xa700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); map(0xd200, 0xd200).nopw(); // unknown - map(0xd300, 0xd300).w(this, FUNC(snk_state::sgladiat_scroll_msb_w)); - map(0xd400, 0xd400).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xd500, 0xd500).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xd600, 0xd600).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xd700, 0xd700).w(this, FUNC(snk_state::snk_bg_scrollx_w)); + map(0xd300, 0xd300).w(FUNC(snk_state::sgladiat_scroll_msb_w)); + map(0xd400, 0xd400).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xd500, 0xd500).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xd600, 0xd600).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xd700, 0xd700).w(FUNC(snk_state::snk_bg_scrollx_w)); map(0xd800, 0xdfff).ram().share("spriteram"); // + work ram - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xe800, 0xefff).ram(); - map(0xf000, 0xf7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xf000, 0xf7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::sgladiat_cpuB_map(address_map &map) { map(0x0000, 0x7fff).rom(); - map(0xa000, 0xa000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); - map(0xa600, 0xa600).w(this, FUNC(snk_state::sgladiat_flipscreen_w)); // flip screen, bg palette bank + map(0xa000, 0xa000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xa600, 0xa600).w(FUNC(snk_state::sgladiat_flipscreen_w)); // flip screen, bg palette bank map(0xc000, 0xc7ff).ram().share("spriteram"); - map(0xc800, 0xcfff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xc800, 0xcfff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); map(0xda00, 0xda00).nopw(); // unknown - map(0xdb00, 0xdb00).w(this, FUNC(snk_state::sgladiat_scroll_msb_w)); - map(0xdc00, 0xdc00).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xdd00, 0xdd00).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xde00, 0xde00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xdf00, 0xdf00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xe000, 0xe7ff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xdb00, 0xdb00).w(FUNC(snk_state::sgladiat_scroll_msb_w)); + map(0xdc00, 0xdc00).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xdd00, 0xdd00).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xde00, 0xde00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xdf00, 0xdf00).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xe000, 0xe7ff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1046,28 +1046,28 @@ void snk_state::hal21_cpuA_map(address_map &map) map(0xc000, 0xc000).portr("IN0"); map(0xc100, 0xc100).portr("IN1"); map(0xc200, 0xc200).portr("IN2"); - map(0xc300, 0xc300).w(this, FUNC(snk_state::sgladiat_soundlatch_w)); + map(0xc300, 0xc300).w(FUNC(snk_state::sgladiat_soundlatch_w)); map(0xc400, 0xc400).portr("DSW1"); map(0xc500, 0xc500).portr("DSW2"); - map(0xc600, 0xc600).w(this, FUNC(snk_state::hal21_flipscreen_w)); // flip screen, bg tile and palette bank - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xd300, 0xd300).w(this, FUNC(snk_state::jcross_scroll_msb_w)); - map(0xd400, 0xd400).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xd500, 0xd500).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xd600, 0xd600).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xd700, 0xd700).w(this, FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc600, 0xc600).w(FUNC(snk_state::hal21_flipscreen_w)); // flip screen, bg tile and palette bank + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xd300, 0xd300).w(FUNC(snk_state::jcross_scroll_msb_w)); + map(0xd400, 0xd400).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xd500, 0xd500).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xd600, 0xd600).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xd700, 0xd700).w(FUNC(snk_state::snk_bg_scrollx_w)); map(0xe000, 0xe7ff).ram().share("spriteram"); // + work ram - map(0xe800, 0xf7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xe800, 0xf7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::hal21_cpuB_map(address_map &map) { map(0x0000, 0x9fff).rom(); - map(0xa000, 0xa000).w(this, FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xa000, 0xa000).w(FUNC(snk_state::snk_cpuB_nmi_ack_w)); map(0xc000, 0xc7ff).ram().share("spriteram"); - map(0xd000, 0xdfff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); - map(0xe800, 0xefff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xd000, 0xdfff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xe800, 0xefff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1077,31 +1077,31 @@ void snk_state::aso_cpuA_map(address_map &map) map(0xc000, 0xc000).portr("IN0"); map(0xc100, 0xc100).portr("IN1"); map(0xc200, 0xc200).portr("IN2"); - map(0xc400, 0xc400).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc400, 0xc400).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc500, 0xc500).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::aso_videoattrs_w)); // flip screen, scroll msb - map(0xc900, 0xc900).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xca00, 0xca00).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xcb00, 0xcb00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xcc00, 0xcc00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::aso_videoattrs_w)); // flip screen, scroll msb + map(0xc900, 0xc900).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xca00, 0xca00).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xcb00, 0xcb00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xcc00, 0xcc00).w(FUNC(snk_state::snk_bg_scrollx_w)); map(0xce00, 0xce00).nopw(); // always 05? - map(0xcf00, 0xcf00).w(this, FUNC(snk_state::aso_bg_bank_w)); // tile and palette bank + map(0xcf00, 0xcf00).w(FUNC(snk_state::aso_bg_bank_w)); // tile and palette bank map(0xd800, 0xdfff).ram().share("share1"); map(0xe000, 0xe7ff).ram().share("spriteram"); // + work ram - map(0xe800, 0xf7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xe800, 0xf7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::aso_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xc000, 0xc000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); map(0xc800, 0xcfff).ram().share("share1"); map(0xd000, 0xd7ff).ram().share("spriteram"); - map(0xd800, 0xe7ff).ram().w(this, FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xd800, 0xe7ff).ram().w(FUNC(snk_state::marvins_bg_videoram_w)).share("bg_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1113,31 +1113,31 @@ void snk_state::tnk3_cpuA_map(address_map &map) map(0xc200, 0xc200).portr("IN2"); // c300 is an input in tnk3, output in athena/fitegolf (coin counter) // and in countryc (trackball select) (see DRIVER_INIT). - map(0xc300, 0xc300).portr("IN3").w(this, FUNC(snk_state::athena_coin_counter_w)); - map(0xc400, 0xc400).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc300, 0xc300).portr("IN3").w(FUNC(snk_state::athena_coin_counter_w)); + map(0xc400, 0xc400).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc500, 0xc500).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::tnk3_videoattrs_w)); // flip screen, char bank, scroll msb - map(0xc900, 0xc900).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xca00, 0xca00).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xcb00, 0xcb00).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xcc00, 0xcc00).w(this, FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::tnk3_videoattrs_w)); // flip screen, char bank, scroll msb + map(0xc900, 0xc900).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xca00, 0xca00).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xcb00, 0xcb00).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xcc00, 0xcc00).w(FUNC(snk_state::snk_bg_scrollx_w)); map(0xcf00, 0xcf00).nopw(); // fitegolf/countryc only. Either 0 or 1. Video related? map(0xd000, 0xd7ff).ram().share("spriteram"); // + work ram - map(0xd800, 0xf7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xd800, 0xf7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::tnk3_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // tnk3, athena - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // fitegolf + map(0xc000, 0xc000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // tnk3, athena + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // fitegolf map(0xc800, 0xcfff).ram().share("spriteram"); - map(0xd000, 0xefff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xd000, 0xefff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xf000, 0xf7ff).ram(); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1147,54 +1147,54 @@ void snk_state::ikari_cpuA_map(address_map &map) map(0xc000, 0xc000).portr("IN0"); map(0xc100, 0xc100).portr("IN1"); map(0xc200, 0xc200).portr("IN2"); - map(0xc300, 0xc300).portr("IN3").w(this, FUNC(snk_state::ikari_coin_counter_w)); // ikarijp doesn't use the coin counter - map(0xc400, 0xc400).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc300, 0xc300).portr("IN3").w(FUNC(snk_state::ikari_coin_counter_w)); // ikarijp doesn't use the coin counter + map(0xc400, 0xc400).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc500, 0xc500).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xc880, 0xc880).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xc900, 0xc900).w(this, FUNC(snk_state::ikari_bg_scroll_msb_w)); - map(0xc980, 0xc980).w(this, FUNC(snk_state::ikari_unknown_video_w)); - map(0xca00, 0xca00).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xca80, 0xca80).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xcb00, 0xcb00).w(this, FUNC(snk_state::snk_sp32_scrolly_w)); - map(0xcb80, 0xcb80).w(this, FUNC(snk_state::snk_sp32_scrollx_w)); - map(0xcc00, 0xcc00).w(this, FUNC(snk_state::hardflags_scrolly_w)); - map(0xcc80, 0xcc80).w(this, FUNC(snk_state::hardflags_scrollx_w)); - map(0xcd00, 0xcd00).w(this, FUNC(snk_state::ikari_sp_scroll_msb_w)); - map(0xcd80, 0xcd80).w(this, FUNC(snk_state::hardflags_scroll_msb_w)); - map(0xce00, 0xce00).r(this, FUNC(snk_state::hardflags1_r)); - map(0xce20, 0xce20).r(this, FUNC(snk_state::hardflags2_r)); - map(0xce40, 0xce40).r(this, FUNC(snk_state::hardflags3_r)); - map(0xce60, 0xce60).r(this, FUNC(snk_state::hardflags4_r)); - map(0xce80, 0xce80).r(this, FUNC(snk_state::hardflags5_r)); - map(0xcea0, 0xcea0).r(this, FUNC(snk_state::hardflags6_r)); - map(0xcee0, 0xcee0).r(this, FUNC(snk_state::hardflags7_r)); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xc880, 0xc880).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc900, 0xc900).w(FUNC(snk_state::ikari_bg_scroll_msb_w)); + map(0xc980, 0xc980).w(FUNC(snk_state::ikari_unknown_video_w)); + map(0xca00, 0xca00).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xca80, 0xca80).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xcb00, 0xcb00).w(FUNC(snk_state::snk_sp32_scrolly_w)); + map(0xcb80, 0xcb80).w(FUNC(snk_state::snk_sp32_scrollx_w)); + map(0xcc00, 0xcc00).w(FUNC(snk_state::hardflags_scrolly_w)); + map(0xcc80, 0xcc80).w(FUNC(snk_state::hardflags_scrollx_w)); + map(0xcd00, 0xcd00).w(FUNC(snk_state::ikari_sp_scroll_msb_w)); + map(0xcd80, 0xcd80).w(FUNC(snk_state::hardflags_scroll_msb_w)); + map(0xce00, 0xce00).r(FUNC(snk_state::hardflags1_r)); + map(0xce20, 0xce20).r(FUNC(snk_state::hardflags2_r)); + map(0xce40, 0xce40).r(FUNC(snk_state::hardflags3_r)); + map(0xce60, 0xce60).r(FUNC(snk_state::hardflags4_r)); + map(0xce80, 0xce80).r(FUNC(snk_state::hardflags5_r)); + map(0xcea0, 0xcea0).r(FUNC(snk_state::hardflags6_r)); + map(0xcee0, 0xcee0).r(FUNC(snk_state::hardflags7_r)); // note the mirror. ikari and victroad use d800, ikarijp uses d000 - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).mirror(0x0800).share("bg_videoram"); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).mirror(0x0800).share("bg_videoram"); map(0xe000, 0xf7ff).ram().share("spriteram"); // + work ram - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::ikari_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); - map(0xc980, 0xc980).w(this, FUNC(snk_state::ikari_unknown_video_w)); - map(0xcc00, 0xcc00).w(this, FUNC(snk_state::hardflags_scrolly_w)); - map(0xcc80, 0xcc80).w(this, FUNC(snk_state::hardflags_scrollx_w)); - map(0xcd80, 0xcd80).w(this, FUNC(snk_state::hardflags_scroll_msb_w)); - map(0xce00, 0xce00).r(this, FUNC(snk_state::hardflags1_r)); - map(0xce20, 0xce20).r(this, FUNC(snk_state::hardflags2_r)); - map(0xce40, 0xce40).r(this, FUNC(snk_state::hardflags3_r)); - map(0xce60, 0xce60).r(this, FUNC(snk_state::hardflags4_r)); - map(0xce80, 0xce80).r(this, FUNC(snk_state::hardflags5_r)); - map(0xcea0, 0xcea0).r(this, FUNC(snk_state::hardflags6_r)); - map(0xcee0, 0xcee0).r(this, FUNC(snk_state::hardflags7_r)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).mirror(0x0800).share("bg_videoram"); + map(0xc000, 0xc000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xc980, 0xc980).w(FUNC(snk_state::ikari_unknown_video_w)); + map(0xcc00, 0xcc00).w(FUNC(snk_state::hardflags_scrolly_w)); + map(0xcc80, 0xcc80).w(FUNC(snk_state::hardflags_scrollx_w)); + map(0xcd80, 0xcd80).w(FUNC(snk_state::hardflags_scroll_msb_w)); + map(0xce00, 0xce00).r(FUNC(snk_state::hardflags1_r)); + map(0xce20, 0xce20).r(FUNC(snk_state::hardflags2_r)); + map(0xce40, 0xce40).r(FUNC(snk_state::hardflags3_r)); + map(0xce60, 0xce60).r(FUNC(snk_state::hardflags4_r)); + map(0xce80, 0xce80).r(FUNC(snk_state::hardflags5_r)); + map(0xcea0, 0xcea0).r(FUNC(snk_state::hardflags6_r)); + map(0xcee0, 0xcee0).r(FUNC(snk_state::hardflags7_r)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).mirror(0x0800).share("bg_videoram"); map(0xe000, 0xf7ff).ram().share("spriteram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1204,62 +1204,62 @@ void snk_state::bermudat_cpuA_map(address_map &map) map(0xc000, 0xc000).portr("IN0"); map(0xc100, 0xc100).portr("IN1"); map(0xc200, 0xc200).portr("IN2"); - map(0xc300, 0xc300).portr("IN3").w(this, FUNC(snk_state::ikari_coin_counter_w)); - map(0xc400, 0xc400).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc300, 0xc300).portr("IN3").w(FUNC(snk_state::ikari_coin_counter_w)); + map(0xc400, 0xc400).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc500, 0xc500).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xc840, 0xc840).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xc880, 0xc880).w(this, FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb - map(0xc8c0, 0xc8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xc900, 0xc900).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xc940, 0xc940).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xc980, 0xc980).w(this, FUNC(snk_state::snk_sp32_scrolly_w)); - map(0xc9c0, 0xc9c0).w(this, FUNC(snk_state::snk_sp32_scrollx_w)); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xc840, 0xc840).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc880, 0xc880).w(FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb + map(0xc8c0, 0xc8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xc900, 0xc900).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xc940, 0xc940).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xc980, 0xc980).w(FUNC(snk_state::snk_sp32_scrolly_w)); + map(0xc9c0, 0xc9c0).w(FUNC(snk_state::snk_sp32_scrollx_w)); // the "turbo check" addresses are only used by bermudat/bermudaj, not bermudaa/worldwar or the other games - map(0xca00, 0xca00).w(this, FUNC(snk_state::turbocheck16_1_w)); - map(0xca40, 0xca40).w(this, FUNC(snk_state::turbocheck16_2_w)); - map(0xca80, 0xca80).w(this, FUNC(snk_state::gwara_sp_scroll_msb_w)); - map(0xcac0, 0xcac0).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xcb00, 0xcb00).r(this, FUNC(snk_state::turbocheck16_1_r)); - map(0xcb10, 0xcb10).r(this, FUNC(snk_state::turbocheck16_2_r)); - map(0xcb20, 0xcb20).r(this, FUNC(snk_state::turbocheck16_3_r)); - map(0xcb30, 0xcb30).r(this, FUNC(snk_state::turbocheck16_4_r)); - map(0xcb40, 0xcb40).r(this, FUNC(snk_state::turbocheck16_5_r)); - map(0xcb50, 0xcb50).r(this, FUNC(snk_state::turbocheck16_6_r)); - map(0xcb60, 0xcb60).r(this, FUNC(snk_state::turbocheck16_7_r)); - map(0xcb70, 0xcb70).r(this, FUNC(snk_state::turbocheck16_8_r)); - map(0xcc00, 0xcc00).w(this, FUNC(snk_state::turbocheck32_1_w)); - map(0xcc40, 0xcc40).w(this, FUNC(snk_state::turbocheck32_2_w)); - map(0xcc80, 0xcc80).w(this, FUNC(snk_state::turbocheck_msb_w)); - map(0xccc0, 0xccc0).r(this, FUNC(snk_state::turbocheck32_1_r)); - map(0xccd0, 0xccd0).r(this, FUNC(snk_state::turbocheck32_2_r)); - map(0xcce0, 0xcce0).r(this, FUNC(snk_state::turbocheck32_3_r)); - map(0xccf0, 0xccf0).r(this, FUNC(snk_state::turbocheck32_4_r)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xca00, 0xca00).w(FUNC(snk_state::turbocheck16_1_w)); + map(0xca40, 0xca40).w(FUNC(snk_state::turbocheck16_2_w)); + map(0xca80, 0xca80).w(FUNC(snk_state::gwara_sp_scroll_msb_w)); + map(0xcac0, 0xcac0).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xcb00, 0xcb00).r(FUNC(snk_state::turbocheck16_1_r)); + map(0xcb10, 0xcb10).r(FUNC(snk_state::turbocheck16_2_r)); + map(0xcb20, 0xcb20).r(FUNC(snk_state::turbocheck16_3_r)); + map(0xcb30, 0xcb30).r(FUNC(snk_state::turbocheck16_4_r)); + map(0xcb40, 0xcb40).r(FUNC(snk_state::turbocheck16_5_r)); + map(0xcb50, 0xcb50).r(FUNC(snk_state::turbocheck16_6_r)); + map(0xcb60, 0xcb60).r(FUNC(snk_state::turbocheck16_7_r)); + map(0xcb70, 0xcb70).r(FUNC(snk_state::turbocheck16_8_r)); + map(0xcc00, 0xcc00).w(FUNC(snk_state::turbocheck32_1_w)); + map(0xcc40, 0xcc40).w(FUNC(snk_state::turbocheck32_2_w)); + map(0xcc80, 0xcc80).w(FUNC(snk_state::turbocheck_msb_w)); + map(0xccc0, 0xccc0).r(FUNC(snk_state::turbocheck32_1_r)); + map(0xccd0, 0xccd0).r(FUNC(snk_state::turbocheck32_2_r)); + map(0xcce0, 0xcce0).r(FUNC(snk_state::turbocheck32_3_r)); + map(0xccf0, 0xccf0).r(FUNC(snk_state::turbocheck32_4_r)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share2"); map(0xe000, 0xf7ff).ram().share("spriteram"); // + work ram - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::bermudat_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xc840, 0xc840).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xc880, 0xc880).w(this, FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb - map(0xc8c0, 0xc8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xc900, 0xc900).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xc940, 0xc940).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xc980, 0xc980).w(this, FUNC(snk_state::snk_sp32_scrolly_w)); - map(0xc9c0, 0xc9c0).w(this, FUNC(snk_state::snk_sp32_scrollx_w)); - map(0xca80, 0xca80).w(this, FUNC(snk_state::gwara_sp_scroll_msb_w)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xc840, 0xc840).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc880, 0xc880).w(FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb + map(0xc8c0, 0xc8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xc900, 0xc900).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xc940, 0xc940).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xc980, 0xc980).w(FUNC(snk_state::snk_sp32_scrolly_w)); + map(0xc9c0, 0xc9c0).w(FUNC(snk_state::snk_sp32_scrollx_w)); + map(0xca80, 0xca80).w(FUNC(snk_state::gwara_sp_scroll_msb_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share2"); map(0xe000, 0xf7ff).ram().share("spriteram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1269,37 +1269,37 @@ void snk_state::gwar_cpuA_map(address_map &map) map(0xc000, 0xc000).portr("IN0"); map(0xc100, 0xc100).portr("IN1"); map(0xc200, 0xc200).portr("IN2"); - map(0xc300, 0xc300).portr("IN3").w(this, FUNC(snk_state::ikari_coin_counter_w)); - map(0xc400, 0xc400).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc300, 0xc300).portr("IN3").w(FUNC(snk_state::ikari_coin_counter_w)); + map(0xc400, 0xc400).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc500, 0xc500).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xc840, 0xc840).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xc880, 0xc880).w(this, FUNC(snk_state::gwar_videoattrs_w)); // flip screen, scroll msb - map(0xc8c0, 0xc8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xc900, 0xc900).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xc940, 0xc940).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xc980, 0xc980).w(this, FUNC(snk_state::snk_sp32_scrolly_w)); - map(0xc9c0, 0xc9c0).w(this, FUNC(snk_state::snk_sp32_scrollx_w)); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xc840, 0xc840).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc880, 0xc880).w(FUNC(snk_state::gwar_videoattrs_w)); // flip screen, scroll msb + map(0xc8c0, 0xc8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xc900, 0xc900).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xc940, 0xc940).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xc980, 0xc980).w(FUNC(snk_state::snk_sp32_scrolly_w)); + map(0xc9c0, 0xc9c0).w(FUNC(snk_state::snk_sp32_scrollx_w)); map(0xca00, 0xca00).nopw(); // always 0? map(0xca40, 0xca40).nopw(); // always 0? - map(0xcac0, 0xcac0).w(this, FUNC(snk_state::snk_sprite_split_point_w)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xcac0, 0xcac0).w(FUNC(snk_state::snk_sprite_split_point_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share2"); map(0xe000, 0xf7ff).ram().share("spriteram"); // + work ram - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::gwar_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); - map(0xc8c0, 0xc8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xc000, 0xc000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xc8c0, 0xc8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share2"); map(0xe000, 0xf7ff).ram().share("spriteram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } @@ -1309,36 +1309,36 @@ void snk_state::gwara_cpuA_map(address_map &map) map(0xc000, 0xc000).portr("IN0"); map(0xc100, 0xc100).portr("IN1"); map(0xc200, 0xc200).portr("IN2"); - map(0xc300, 0xc300).portr("IN3").w(this, FUNC(snk_state::ikari_coin_counter_w)); - map(0xc400, 0xc400).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc300, 0xc300).portr("IN3").w(FUNC(snk_state::ikari_coin_counter_w)); + map(0xc400, 0xc400).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc500, 0xc500).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xcfff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xcfff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share3"); map(0xe000, 0xf7ff).ram().share("spriteram"); // + work ram - map(0xf800, 0xf800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xf840, 0xf840).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xf880, 0xf880).w(this, FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb - map(0xf8c0, 0xf8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xf900, 0xf900).w(this, FUNC(snk_state::snk_sp16_scrolly_w)); - map(0xf940, 0xf940).w(this, FUNC(snk_state::snk_sp16_scrollx_w)); - map(0xf980, 0xf980).w(this, FUNC(snk_state::snk_sp32_scrolly_w)); - map(0xf9c0, 0xf9c0).w(this, FUNC(snk_state::snk_sp32_scrollx_w)); - map(0xfa80, 0xfa80).w(this, FUNC(snk_state::gwara_sp_scroll_msb_w)); - map(0xfac0, 0xfac0).w(this, FUNC(snk_state::snk_sprite_split_point_w)); + map(0xf800, 0xf800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xf840, 0xf840).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xf880, 0xf880).w(FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb + map(0xf8c0, 0xf8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xf900, 0xf900).w(FUNC(snk_state::snk_sp16_scrolly_w)); + map(0xf940, 0xf940).w(FUNC(snk_state::snk_sp16_scrollx_w)); + map(0xf980, 0xf980).w(FUNC(snk_state::snk_sp32_scrolly_w)); + map(0xf9c0, 0xf9c0).w(FUNC(snk_state::snk_sp32_scrollx_w)); + map(0xfa80, 0xfa80).w(FUNC(snk_state::gwara_sp_scroll_msb_w)); + map(0xfac0, 0xfac0).w(FUNC(snk_state::snk_sprite_split_point_w)); } void snk_state::gwara_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); - map(0xc800, 0xcfff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xc000, 0xc000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); + map(0xc800, 0xcfff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share3"); map(0xe000, 0xf7ff).ram().share("spriteram"); // + work ram - map(0xf8c0, 0xf8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xf8c0, 0xf8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank } @@ -1355,34 +1355,34 @@ void snk_state::tdfever_cpuA_map(address_map &map) map(0xc380, 0xc380).portr("IN7"); map(0xc400, 0xc400).portr("IN8"); map(0xc480, 0xc480).portr("IN9"); - map(0xc500, 0xc500).w(this, FUNC(snk_state::snk_soundlatch_w)); + map(0xc500, 0xc500).w(FUNC(snk_state::snk_soundlatch_w)); map(0xc580, 0xc580).portr("DSW1"); map(0xc600, 0xc600).portr("DSW2"); - map(0xc680, 0xc680).w(this, FUNC(snk_state::tdfever_coin_counter_w)); - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); - map(0xc800, 0xc800).w(this, FUNC(snk_state::snk_bg_scrolly_w)); - map(0xc840, 0xc840).w(this, FUNC(snk_state::snk_bg_scrollx_w)); - map(0xc880, 0xc880).w(this, FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb - map(0xc8c0, 0xc8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xc900, 0xc900).w(this, FUNC(snk_state::tdfever_sp_scroll_msb_w)); - map(0xc980, 0xc980).w(this, FUNC(snk_state::snk_sp32_scrolly_w)); - map(0xc9c0, 0xc9c0).w(this, FUNC(snk_state::snk_sp32_scrollx_w)); - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xc680, 0xc680).w(FUNC(snk_state::tdfever_coin_counter_w)); + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuB_nmi_trigger_r), FUNC(snk_state::snk_cpuA_nmi_ack_w)); + map(0xc800, 0xc800).w(FUNC(snk_state::snk_bg_scrolly_w)); + map(0xc840, 0xc840).w(FUNC(snk_state::snk_bg_scrollx_w)); + map(0xc880, 0xc880).w(FUNC(snk_state::gwara_videoattrs_w)); // flip screen, scroll msb + map(0xc8c0, 0xc8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xc900, 0xc900).w(FUNC(snk_state::tdfever_sp_scroll_msb_w)); + map(0xc980, 0xc980).w(FUNC(snk_state::snk_sp32_scrolly_w)); + map(0xc9c0, 0xc9c0).w(FUNC(snk_state::snk_sp32_scrollx_w)); + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share2"); - map(0xe000, 0xf7ff).ram().w(this, FUNC(snk_state::tdfever_spriteram_w)).share("spriteram"); // + work ram - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM + map(0xe000, 0xf7ff).ram().w(FUNC(snk_state::tdfever_spriteram_w)).share("spriteram"); // + work ram + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); // + work RAM } void snk_state::tdfever_cpuB_map(address_map &map) { map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc000).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // tdfever, tdfever2 - map(0xc700, 0xc700).rw(this, FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // fsoccer - map(0xc8c0, 0xc8c0).w(this, FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank - map(0xd000, 0xd7ff).ram().w(this, FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); + map(0xc000, 0xc000).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // tdfever, tdfever2 + map(0xc700, 0xc700).rw(FUNC(snk_state::snk_cpuA_nmi_trigger_r), FUNC(snk_state::snk_cpuB_nmi_ack_w)); // fsoccer + map(0xc8c0, 0xc8c0).w(FUNC(snk_state::gwar_tx_bank_w)); // char and palette bank + map(0xd000, 0xd7ff).ram().w(FUNC(snk_state::snk_bg_videoram_w)).share("bg_videoram"); map(0xd800, 0xdfff).ram().share("share2"); - map(0xe000, 0xf7ff).ram().w(this, FUNC(snk_state::tdfever_spriteram_w)).share("spriteram"); - map(0xf800, 0xffff).ram().w(this, FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); + map(0xe000, 0xf7ff).ram().w(FUNC(snk_state::tdfever_spriteram_w)).share("spriteram"); + map(0xf800, 0xffff).ram().w(FUNC(snk_state::snk_tx_videoram_w)).share("tx_videoram"); } /***********************************************************************/ @@ -1390,11 +1390,11 @@ void snk_state::tdfever_cpuB_map(address_map &map) void snk_state::marvins_sound_map(address_map &map) { map(0x0000, 0x3fff).rom(); - map(0x4000, 0x4000).r(this, FUNC(snk_state::marvins_soundlatch_r)); + map(0x4000, 0x4000).r(FUNC(snk_state::marvins_soundlatch_r)); map(0x8000, 0x8001).w("ay1", FUNC(ay8910_device::address_data_w)); map(0x8002, 0x8007).w("wave", FUNC(snkwave_device::snkwave_w)); map(0x8008, 0x8009).w("ay2", FUNC(ay8910_device::address_data_w)); - map(0xa000, 0xa000).r(this, FUNC(snk_state::marvins_sound_nmi_ack_r)); + map(0xa000, 0xa000).r(FUNC(snk_state::marvins_sound_nmi_ack_r)); map(0xe000, 0xe7ff).ram(); } @@ -1409,8 +1409,8 @@ void snk_state::jcross_sound_map(address_map &map) { map(0x0000, 0x3fff).rom(); map(0x8000, 0x87ff).ram(); - map(0xa000, 0xa000).r(this, FUNC(snk_state::sgladiat_soundlatch_r)); - map(0xc000, 0xc000).r(this, FUNC(snk_state::sgladiat_sound_nmi_ack_r)); + map(0xa000, 0xa000).r(FUNC(snk_state::sgladiat_soundlatch_r)); + map(0xc000, 0xc000).r(FUNC(snk_state::sgladiat_sound_nmi_ack_r)); map(0xe000, 0xe001).w("ay1", FUNC(ay8910_device::address_data_w)); map(0xe002, 0xe003).nopw(); // ? always FFFF, snkwave leftover? map(0xe004, 0xe005).w("ay2", FUNC(ay8910_device::address_data_w)); @@ -1419,7 +1419,7 @@ void snk_state::jcross_sound_map(address_map &map) void snk_state::jcross_sound_portmap(address_map &map) { map.global_mask(0xff); - map(0x00, 0x00).r(this, FUNC(snk_state::sgladiat_sound_irq_ack_r)); + map(0x00, 0x00).r(FUNC(snk_state::sgladiat_sound_irq_ack_r)); } @@ -1427,8 +1427,8 @@ void snk_state::hal21_sound_map(address_map &map) { map(0x0000, 0x3fff).rom(); map(0x8000, 0x87ff).ram(); - map(0xa000, 0xa000).r(this, FUNC(snk_state::sgladiat_soundlatch_r)); - map(0xc000, 0xc000).r(this, FUNC(snk_state::sgladiat_sound_nmi_ack_r)); + map(0xa000, 0xa000).r(FUNC(snk_state::sgladiat_soundlatch_r)); + map(0xc000, 0xc000).r(FUNC(snk_state::sgladiat_sound_nmi_ack_r)); map(0xe000, 0xe001).w("ay1", FUNC(ay8910_device::address_data_w)); // AM_RANGE(0xe002, 0xe002) AM_WRITENOP // bitfielded(0-5) details unknown. Filter enable? map(0xe008, 0xe009).w("ay2", FUNC(ay8910_device::address_data_w)); @@ -1446,10 +1446,10 @@ void snk_state::tnk3_YM3526_sound_map(address_map &map) map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram(); map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); - map(0xc000, 0xc000).r(this, FUNC(snk_state::tnk3_busy_clear_r)); + map(0xc000, 0xc000).r(FUNC(snk_state::tnk3_busy_clear_r)); map(0xe000, 0xe001).rw("ym1", FUNC(ym3526_device::read), FUNC(ym3526_device::write)); - map(0xe004, 0xe004).r(this, FUNC(snk_state::tnk3_cmdirq_ack_r)); - map(0xe006, 0xe006).r(this, FUNC(snk_state::tnk3_ymirq_ack_r)); + map(0xe004, 0xe004).r(FUNC(snk_state::tnk3_cmdirq_ack_r)); + map(0xe006, 0xe006).r(FUNC(snk_state::tnk3_ymirq_ack_r)); } void snk_state::aso_YM3526_sound_map(address_map &map) @@ -1457,11 +1457,11 @@ void snk_state::aso_YM3526_sound_map(address_map &map) map(0x0000, 0xbfff).rom(); map(0xc000, 0xc7ff).ram(); map(0xd000, 0xd000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); - map(0xe000, 0xe000).r(this, FUNC(snk_state::tnk3_busy_clear_r)); + map(0xe000, 0xe000).r(FUNC(snk_state::tnk3_busy_clear_r)); map(0xf000, 0xf001).rw("ym1", FUNC(ym3526_device::read), FUNC(ym3526_device::write)); // AM_RANGE(0xf002, 0xf002) AM_READNOP unknown - map(0xf004, 0xf004).r(this, FUNC(snk_state::tnk3_cmdirq_ack_r)); - map(0xf006, 0xf006).r(this, FUNC(snk_state::tnk3_ymirq_ack_r)); + map(0xf004, 0xf004).r(FUNC(snk_state::tnk3_cmdirq_ack_r)); + map(0xf006, 0xf006).r(FUNC(snk_state::tnk3_ymirq_ack_r)); } void snk_state::YM3526_YM3526_sound_map(address_map &map) @@ -1473,7 +1473,7 @@ void snk_state::YM3526_YM3526_sound_map(address_map &map) map(0xec00, 0xec00).w("ym1", FUNC(ym3526_device::write_port_w)); map(0xf000, 0xf000).rw("ym2", FUNC(ym3526_device::status_port_r), FUNC(ym3526_device::control_port_w)); map(0xf400, 0xf400).w("ym2", FUNC(ym3526_device::write_port_w)); - map(0xf800, 0xf800).rw(this, FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); + map(0xf800, 0xf800).rw(FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); } void snk_state::YM3812_sound_map(address_map &map) @@ -1483,7 +1483,7 @@ void snk_state::YM3812_sound_map(address_map &map) map(0xe000, 0xe000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0xe800, 0xe800).rw("ym1", FUNC(ym3812_device::status_port_r), FUNC(ym3812_device::control_port_w)); map(0xec00, 0xec00).w("ym1", FUNC(ym3812_device::write_port_w)); - map(0xf800, 0xf800).rw(this, FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); + map(0xf800, 0xf800).rw(FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); } void snk_state::YM3526_Y8950_sound_map(address_map &map) @@ -1495,7 +1495,7 @@ void snk_state::YM3526_Y8950_sound_map(address_map &map) map(0xec00, 0xec00).w("ym1", FUNC(ym3526_device::write_port_w)); map(0xf000, 0xf000).rw("ym2", FUNC(y8950_device::status_port_r), FUNC(y8950_device::control_port_w)); map(0xf400, 0xf400).w("ym2", FUNC(y8950_device::write_port_w)); - map(0xf800, 0xf800).rw(this, FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); + map(0xf800, 0xf800).rw(FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); } void snk_state::YM3812_Y8950_sound_map(address_map &map) @@ -1507,7 +1507,7 @@ void snk_state::YM3812_Y8950_sound_map(address_map &map) map(0xec00, 0xec00).w("ym1", FUNC(ym3812_device::write_port_w)); map(0xf000, 0xf000).rw("ym2", FUNC(y8950_device::status_port_r), FUNC(y8950_device::control_port_w)); map(0xf400, 0xf400).w("ym2", FUNC(y8950_device::write_port_w)); - map(0xf800, 0xf800).rw(this, FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); + map(0xf800, 0xf800).rw(FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); } void snk_state::Y8950_sound_map(address_map &map) @@ -1517,7 +1517,7 @@ void snk_state::Y8950_sound_map(address_map &map) map(0xe000, 0xe000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0xf000, 0xf000).rw("ym2", FUNC(y8950_device::status_port_r), FUNC(y8950_device::control_port_w)); map(0xf400, 0xf400).w("ym2", FUNC(y8950_device::write_port_w)); - map(0xf800, 0xf800).rw(this, FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); + map(0xf800, 0xf800).rw(FUNC(snk_state::snk_sound_status_r), FUNC(snk_state::snk_sound_status_w)); } /*********************************************************************/ |