slightly different logic (nw)

This commit is contained in:
David Haywood 2015-06-10 23:04:03 +01:00
parent ed13fa3ed3
commit 13b609deb2

View File

@ -42,7 +42,7 @@
---- f--- ---- ---- : Bitmap format (1= 8bpp, 0= 4bpp)
---- -t-- ---- ---- : Tile banking related
---- --f- ---- ---- : 1= Global X/Y flip? (most games?)
---- ---f ---- ---- : 1= All layers Y flip (or one layer?) (Air Rescue 2nd screen)
---- ---f ---- ---- : 1= prohbit Y flip? (Air Rescue 2nd screen title, also gets set on one of the intro sequence screens)
---- ---- ---- 4--- : 1= X+Y flip for NBG3
---- ---- ---- -2-- : 1= X+Y flip for NBG2
---- ---- ---- --1- : 1= X+Y flip for NBG1
@ -883,13 +883,16 @@ void segas32_state::update_tilemap_zoom(screen_device &screen, struct segas32_st
int global_flip = (m_system32_videoram[0x1ff00 / 2] >> 9)&1;
int flipx = global_flip;
int flipy = global_flip ^ ((m_system32_videoram[0x1ff00 / 2] >> 8)&1);
int flipy = global_flip;
int layer_flip = (m_system32_videoram[0x1ff00 / 2] >> bgnum) & 1;
flipy ^= layer_flip;
flipx ^= layer_flip;
if ((m_system32_videoram[0x1ff00 / 2] >> 8) & 1) flipy = 0;
/* determine the clipping */
clipenable = (m_system32_videoram[0x1ff02/2] >> (11 + bgnum)) & 1;
clipout = (m_system32_videoram[0x1ff02/2] >> (6 + bgnum)) & 1;