Hook-up proper VDP1 fb erase via coordinates, fixes Gokujou Parodius / Sexy Parodius

This commit is contained in:
Angelo Salese 2013-02-22 04:04:25 +00:00
parent c46b63f218
commit c058811387
3 changed files with 29 additions and 3 deletions

View File

@ -688,6 +688,16 @@ void saturn_state::cd_exec_command( void )
cr2 = 0;
cr3 = 0;
cr4 = 0;
if(machine().input().code_pressed(KEYCODE_Z))
{
cr1 = cd_stat | (machine().rand() & 0xff);
cr2 = machine().rand();
cr3 = machine().rand();
cr4 = machine().rand();
}
hirqreg |= (CMOK|ESEL);
}
break;

View File

@ -182,8 +182,23 @@ READ16_MEMBER( saturn_state::saturn_vdp1_regs_r )
void saturn_state::stv_clear_framebuffer( int which_framebuffer )
{
int start_x, end_x, start_y, end_y;
/*
TODO: needs to check in Hi-Res mode
*/
start_x = STV_VDP1_EWLR_X1 * 8;
start_y = STV_VDP1_EWLR_Y1;
end_x = STV_VDP1_EWRR_X3 * 8;
end_y = STV_VDP1_EWRR_Y3+1;
// popmessage("%d %d %d %d",STV_VDP1_EWLR_X1,STV_VDP1_EWLR_Y1,STV_VDP1_EWRR_X3,STV_VDP1_EWRR_Y3);
for(int y=start_y;y<end_y;y++)
for(int x=start_x;x<end_x;x++)
m_vdp1.framebuffer[ which_framebuffer ][(x+y*512)] = m_vdp1.ewdr;
if ( VDP1_LOG ) logerror( "Clearing %d framebuffer\n", m_vdp1.framebuffer_current_draw );
memset( m_vdp1.framebuffer[ which_framebuffer ], m_vdp1.ewdr, 1024 * 256 * sizeof(UINT16) * 2 );
// memset( m_vdp1.framebuffer[ which_framebuffer ], m_vdp1.ewdr, 1024 * 256 * sizeof(UINT16) * 2 );
}

View File

@ -4472,8 +4472,9 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
/* Magical Drop III 0x200 -> color calculation window */
/* Ide Yousuke Meijin No Shin Jissen Mahjong 0x0303 */
/* Decathlete 0x088 */
if(STV_VDP2_WCTLD & 0x2000)
popmessage("Special window enabled %04x, contact MAMEdev",STV_VDP2_WCTLD);
/* Sexy Parodius 0x2300 */
// if(STV_VDP2_WCTLD & 0x2000)
// popmessage("Special window enabled %04x, contact MAMEdev",STV_VDP2_WCTLD);
/* Shining Force III, After Burner 2 (doesn't make a proper use tho?) */
/* Layer Section */