From 44c0f124334fd3e8500a72056e2b45225a5032d2 Mon Sep 17 00:00:00 2001 From: cam900 Date: Wed, 18 Jul 2018 17:45:32 +0900 Subject: [PATCH] namcos2.cpp : Fix finallap boot --- src/mame/drivers/namcos2.cpp | 2 +- src/mame/includes/namcos2.h | 1 + src/mame/video/namcos2.cpp | 13 +++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp index 5375d045b09..5acf7d69597 100644 --- a/src/mame/drivers/namcos2.cpp +++ b/src/mame/drivers/namcos2.cpp @@ -602,7 +602,7 @@ void namcos2_state::namcos2_68k_default_cpu_board_am(address_map &map) map(0x200000, 0x3fffff).rom().region("data_rom", 0); map(0x400000, 0x41ffff).rw(FUNC(namcos2_state::c123_tilemap_videoram_r), FUNC(namcos2_state::c123_tilemap_videoram_w)); map(0x420000, 0x42003f).rw(FUNC(namcos2_state::c123_tilemap_control_r), FUNC(namcos2_state::c123_tilemap_control_w)); - map(0x440000, 0x44ffff).rw(m_c116, FUNC(namco_c116_device::read), FUNC(namco_c116_device::write)).umask16(0x00ff).cswidth(16); + map(0x440000, 0x44ffff).r(FUNC(namcos2_state::c116_r)).w(m_c116, FUNC(namco_c116_device::write)).umask16(0x00ff).cswidth(16); map(0x460000, 0x460fff).mirror(0xf000).rw(FUNC(namcos2_state::dpram_word_r), FUNC(namcos2_state::dpram_word_w)); map(0x480000, 0x483fff).rw(m_sci, FUNC(namco_c139_device::ram_r), FUNC(namco_c139_device::ram_w)); map(0x4a0000, 0x4a000f).m(m_sci, FUNC(namco_c139_device::regs_map)); diff --git a/src/mame/includes/namcos2.h b/src/mame/includes/namcos2.h index 08433902d2e..d52979f9543 100644 --- a/src/mame/includes/namcos2.h +++ b/src/mame/includes/namcos2.h @@ -368,6 +368,7 @@ private: TILE_GET_INFO_MEMBER( roz_tile_info ); + DECLARE_READ8_MEMBER( c116_r ); DECLARE_WRITE16_MEMBER( rozram_word_w ); DECLARE_READ16_MEMBER( gfx_ctrl_r ); DECLARE_WRITE16_MEMBER( gfx_ctrl_w ); diff --git a/src/mame/video/namcos2.cpp b/src/mame/video/namcos2.cpp index acb29140bbe..64007cf1624 100644 --- a/src/mame/video/namcos2.cpp +++ b/src/mame/video/namcos2.cpp @@ -290,6 +290,19 @@ WRITE16_MEMBER( namcos2_state::rozram_word_w ) /**************************************************************************/ +READ8_MEMBER( namcos2_state::c116_r ) +{ + if( (offset&0x1800) == 0x1800 ) + { + /* palette register */ + offset &= 0x180f; + + /* registers 6,7: unmapped? */ + if (offset > 0x180b) return 0xff; // fix for finallap boot + } + return m_c116->read(space,offset,mem_mask); +} + /**************************************************************************/ void namcos2_state::draw_sprite_init()