nmk16.cpp : Implement sabotenb vertical scrolling, noticeable when explosion occurs (#6521)

* nmk16.cpp : Implement sabotenb scrolling

reference : https://www.youtube.com/watch?v=lljCeUfCMDQ (Live stream)

* nmk16.cpp : Fix hardware configuration
This commit is contained in:
cam900 2020-04-06 01:15:42 +09:00 committed by GitHub
parent b5e08ae5e8
commit f72d38f677
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 1 deletions

View File

@ -1286,7 +1286,7 @@ void nmk16_state::bjtwin_map(address_map &map)
map(0x084020, 0x08402f).w("nmk112", FUNC(nmk112_device::okibank_w)).umask16(0x00ff);
map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x094001, 0x094001).w(FUNC(nmk16_state::tilebank_w));
map(0x094002, 0x094003).nopw(); /* IRQ enable? */
map(0x094003, 0x094003).w(FUNC(nmk16_state::bjtwin_scroll_w)); // sabotenb specific?
map(0x09c000, 0x09cfff).mirror(0x1000).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0");
map(0x0f0000, 0x0fffff).ram().share("mainram");
}

View File

@ -153,6 +153,7 @@ protected:
void mustang_scroll_w(u16 data);
void raphero_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0);
template<unsigned Layer> void scroll_w(offs_t offset, u8 data);
void bjtwin_scroll_w(offs_t offset, u8 data);
void vandyke_scroll_w(offs_t offset, u16 data);
void vandykeb_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0);
void manybloc_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0);

View File

@ -183,6 +183,11 @@ void nmk16_state::mustang_scroll_w(u16 data)
m_bg_tilemap[0]->set_scrollx(0,m_mustang_bg_xscroll - m_videoshift);
}
void nmk16_state::bjtwin_scroll_w(offs_t offset, u8 data)
{
m_bg_tilemap[0]->set_scrolly(0,-data);
}
void nmk16_state::vandyke_scroll_w(offs_t offset, u16 data)
{
m_vscroll[offset] = data;