diff --git a/src/mame/machine/bonzeadv.c b/src/mame/machine/bonzeadv.c index 569cf5b6f55..e193d9789a6 100644 --- a/src/mame/machine/bonzeadv.c +++ b/src/mame/machine/bonzeadv.c @@ -380,6 +380,7 @@ WRITE16_MEMBER(asuka_state::bonzeadv_cchip_ram_w) { // if (space.device().safe_pc()!=0xa028) // logerror("%08x: write %04x %04x cchip\n", space.device().safe_pc(), offset, data); + data &= mem_mask; if (m_current_bank == 0) { diff --git a/src/mame/machine/rainbow.c b/src/mame/machine/rainbow.c index f6bf3204a1f..627c54fac36 100644 --- a/src/mame/machine/rainbow.c +++ b/src/mame/machine/rainbow.c @@ -780,6 +780,8 @@ WRITE16_MEMBER(rbisland_state::rbisland_cchip_bank_w) WRITE16_MEMBER(rbisland_state::rbisland_cchip_ram_w) { + data &= mem_mask; + m_CRAM[m_current_bank][offset] = data; } diff --git a/src/mame/video/tumbleb.c b/src/mame/video/tumbleb.c index 42be1c72777..32bb1570fec 100644 --- a/src/mame/video/tumbleb.c +++ b/src/mame/video/tumbleb.c @@ -24,6 +24,8 @@ to switch between 8*8 tiles and 16*16 tiles. WRITE16_MEMBER(tumbleb_state::bcstory_tilebank_w) { + data &= mem_mask; + m_tilebank = data; m_pf1_tilemap->mark_all_dirty(); m_pf1_alt_tilemap->mark_all_dirty(); @@ -32,6 +34,8 @@ WRITE16_MEMBER(tumbleb_state::bcstory_tilebank_w) WRITE16_MEMBER(tumbleb_state::chokchok_tilebank_w) { + data &= mem_mask; + m_tilebank = data << 1; m_pf1_tilemap->mark_all_dirty(); m_pf1_alt_tilemap->mark_all_dirty(); @@ -50,6 +54,8 @@ WRITE16_MEMBER(tumbleb_state::wlstar_tilebank_w) WRITE16_MEMBER(tumbleb_state::suprtrio_tilebank_w) { + data &= mem_mask; + m_tilebank = data << 14; // shift it here, makes using bcstory_tilebank easier m_pf1_tilemap->mark_all_dirty(); m_pf1_alt_tilemap->mark_all_dirty();