Friday, 4 November 2022

Leaning to the left...

Not quite, but getting there. Screen is rotated left now, instead of right.

Original vide RAM mapping, rotated left

I think the the top 4 tile rows of the screen aren't visible on the arcade machine, as the HIGH SCORE text appears on the 4th row in video RAM (confirmed on the original).

I should try to understand the MAME tilemap macros, it would probably give some insight into the visible areas and how it decodes the mapping...

void xevious_state::video_start()
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(xevious_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(xevious_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);

m_bg_tilemap->set_scrolldx(-20,288+27);
m_bg_tilemap->set_scrolldy(-16,-16);
m_fg_tilemap->set_scrolldx(-32,288+32);
m_fg_tilemap->set_scrolldy(-18,-10);
m_fg_tilemap->set_transparent_pen(0);
m_xevious_bs[0] = 0;
m_xevious_bs[1] = 0;

save_item(NAME(m_xevious_bs));
}


To be continued...


No comments:

Post a Comment