summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cam900 <dbtlrchl@naver.com>2020-04-06 01:15:42 +0900
committer GitHub <noreply@github.com>2020-04-05 18:15:42 +0200
commitf72d38f677b9365f6d0871a613aedf0ac90dcbf2 (patch)
tree2b649383e58b6d0fa6e6f7b2a8aab14c47c939fb
parentb5e08ae5e83f3c58948e82b80fb9b349504a9ef7 (diff)
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
-rw-r--r--src/mame/drivers/nmk16.cpp2
-rw-r--r--src/mame/includes/nmk16.h1
-rw-r--r--src/mame/video/nmk16.cpp5
3 files changed, 7 insertions, 1 deletions
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index ce90a961847..1ee3acb0569 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -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");
}
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h
index 5e7d714afa7..010a1f3cc40 100644
--- a/src/mame/includes/nmk16.h
+++ b/src/mame/includes/nmk16.h
@@ -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);
diff --git a/src/mame/video/nmk16.cpp b/src/mame/video/nmk16.cpp
index d0b71ada106..f05e3735c18 100644
--- a/src/mame/video/nmk16.cpp
+++ b/src/mame/video/nmk16.cpp
@@ -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;