diff options
author | angelosa <salese_corp_ltd@email.it> | 2015-12-30 03:09:10 +0100 |
---|---|---|
committer | angelosa <salese_corp_ltd@email.it> | 2015-12-30 03:09:38 +0100 |
commit | d1cc1254ad2b5f7d99390dc480620c957b8c090a (patch) | |
tree | 50b9bbf931430ce8c48b19e96f510275e90c4945 /src/mame/video/seibu_crtc.cpp | |
parent | 70e995d09ba7e7abed05927e8a61de36ad2aa7b6 (diff) |
legionna.cpp/seibu_crtc.cpp: Fixed Godzilla text tilemap vertical placement, added preliminary flip screen support [Angelo Salese]
Diffstat (limited to 'src/mame/video/seibu_crtc.cpp')
-rw-r--r-- | src/mame/video/seibu_crtc.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/mame/video/seibu_crtc.cpp b/src/mame/video/seibu_crtc.cpp index 413fb5468d7..c1f6148f93c 100644 --- a/src/mame/video/seibu_crtc.cpp +++ b/src/mame/video/seibu_crtc.cpp @@ -30,7 +30,8 @@ preliminary memory map: (screen 3 -> Text layer) [0x00]: Total number of visible cells? [0x02]: Single cell H size +1? -[0x1a]: Layer Dynamic Paging? +[0x1a]: --x- Layer Dynamic Size? + ---x Flip Screen [0x1c]: Layer Enable ---x ---- sprite enable ---- x--- tilemap screen 3 enable @@ -179,7 +180,9 @@ const device_type SEIBU_CRTC = &device_creator<seibu_crtc_device>; static ADDRESS_MAP_START( seibu_crtc_vregs, AS_0, 16, seibu_crtc_device ) AM_RANGE(0x001c, 0x001d) AM_WRITE(layer_en_w) + AM_RANGE(0x001a, 0x001b) AM_WRITE(reg_1a_w) AM_RANGE(0x0020, 0x002b) AM_WRITE(layer_scroll_w) + AM_RANGE(0x002c, 0x003b) AM_WRITE(layer_scroll_base_w) AM_RANGE(0x0000, 0x004f) AM_RAM // debug ADDRESS_MAP_END @@ -195,6 +198,18 @@ WRITE16_MEMBER( seibu_crtc_device::layer_scroll_w) m_layer_scroll_cb(offset,data,mem_mask); } +WRITE16_MEMBER( seibu_crtc_device::reg_1a_w) +{ + if (!m_reg_1a_cb.isnull()) + m_reg_1a_cb(offset,data,mem_mask); +} + +WRITE16_MEMBER( seibu_crtc_device::layer_scroll_base_w) +{ + if (!m_layer_scroll_base_cb.isnull()) + m_layer_scroll_base_cb(offset,data,mem_mask); +} + //************************************************************************** // LIVE DEVICE //************************************************************************** @@ -209,6 +224,8 @@ seibu_crtc_device::seibu_crtc_device(const machine_config &mconfig, const char * device_video_interface(mconfig, *this), m_layer_en_cb(*this), m_layer_scroll_cb(*this), + m_reg_1a_cb(*this), + m_layer_scroll_base_cb(*this), m_space_config("vregs", ENDIANNESS_LITTLE, 16, 7, 0, nullptr, *ADDRESS_MAP_NAME(seibu_crtc_vregs)) { } @@ -231,6 +248,8 @@ void seibu_crtc_device::device_start() { m_layer_en_cb.resolve(); m_layer_scroll_cb.resolve(); + m_reg_1a_cb.resolve(); + m_layer_scroll_base_cb.resolve(); } |