summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2018-10-18 21:03:41 -0400
committer GitHub <noreply@github.com>2018-10-18 21:03:41 -0400
commitc9191dd99588f5db178233a84a91de7782885f50 (patch)
tree90d3cd2220bbf729cc5f48a92942fe74c63552ae
parentf1b3e649fb0a50a6a01da667278b8a62fef99d92 (diff)
parent8ad28902f5465c44b1ec240ae2a6e1953091ae5d (diff)
Merge pull request #4158 from cam900/patch-62
namcofl.cpp : Implement screen clipping
-rw-r--r--src/mame/video/namcofl.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mame/video/namcofl.cpp b/src/mame/video/namcofl.cpp
index 9a4f2be52e7..a0a1cacd2c6 100644
--- a/src/mame/video/namcofl.cpp
+++ b/src/mame/video/namcofl.cpp
@@ -60,19 +60,29 @@ void namcofl_state::RozCB(uint16_t code, int *tile, int *mask, int which)
uint32_t namcofl_state::screen_update_namcofl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
+ /* compute window for custom screen blanking */
+ rectangle clip;
+ //004c 016b 0021 0101 004a 0060 (finalapr*)
+ //004b 016b 0021 0101 0144 0047 (speedrcr)
+ clip.min_x = m_c116->get_reg(0) - 0x4b;
+ clip.max_x = m_c116->get_reg(1) - 0x4b - 1;
+ clip.min_y = m_c116->get_reg(2) - 0x21;
+ clip.max_y = m_c116->get_reg(3) - 0x21 - 1;
+ /* intersect with master clip rectangle */
+ clip &= cliprect;
int pri;
bitmap.fill(m_c116->black_pen(), cliprect );
for( pri=0; pri<16; pri++ )
{
- m_c169roz->draw(screen, bitmap, cliprect, pri);
+ m_c169roz->draw(screen, bitmap, clip, pri);
if ((pri & 1) == 0)
{
- m_c123tmap->draw(screen, bitmap, cliprect, pri >> 1);
+ m_c123tmap->draw(screen, bitmap, clip, pri >> 1);
}
- m_c355spr->draw(screen, bitmap, cliprect, pri );
+ m_c355spr->draw(screen, bitmap, clip, pri );
}
return 0;