[Core/VDP] fixed Mode 4 sprite Y wrapping in various screen height modes (fixes VDP Test ROM / Fantastic Dizzy)

This commit is contained in:
EkeEke 2016-05-08 17:09:31 +02:00
parent 6a0fdd10df
commit d8ebe96491
5 changed files with 3 additions and 3 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -1366,7 +1366,7 @@ void system_frame_sms(int do_skip)
/* Master System & Game Gear VDP specific */
else
{
/* Sprites are still processed during vertical borders */
/* Sprites are still processed during top border */
if (reg[1] & 0x40)
{
render_obj(1);

View File

@ -3731,8 +3731,8 @@ void parse_satb_m4(int line)
break;
}
/* Wrap Y coordinate for sprites > 256-16 */
if (ypos > 240)
/* Wrap Y coordinate (NB: this is likely not 100% accurate and needs to be verified on real hardware) */
if (ypos > (bitmap.viewport.h + 16))
{
ypos -= 256;
}