ygv608.cpp: small cleanups

This commit is contained in:
Agiri 2017-10-28 12:30:50 +09:00
parent a1a767de1f
commit dcf9da2b30
2 changed files with 15 additions and 20 deletions

View File

@ -448,6 +448,13 @@ inline int ygv608_device::get_col_division(int raw_col)
return ((raw_col >> m_col_shift) * 2) & 0x7f;
}
inline int ygv608_device::get_row_division(int raw_row)
{
if(m_h_div_size == 0)
return 0;
return (raw_row & (m_page_y/2 - 1)) * 2;
}
TILEMAP_MAPPER_MEMBER( ygv608_device::get_tile_offset )
{
@ -1102,30 +1109,17 @@ uint32_t ygv608_device::update_screen(screen_device &screen, bitmap_ind16 &bitma
#ifdef _ENABLE_SCROLLX
if (m_h_div_size == 0) {
for( row=0; row<m_page_y; row++ )
{
int translated_row = get_row_division(row);
m_tilemap_B->set_scrollx(0,
( (int)m_scroll_data_table[1][0x80] +
( (int)m_scroll_data_table[1][0x81] << 8 ) ) );
m_tilemap_A->set_scrollx(0,
( (int)m_scroll_data_table[0][0x80] +
( (int)m_scroll_data_table[0][0x81] << 8 ) ) );
}
else {
for( row=0; row<m_page_y; row++ )
{
m_tilemap_B->set_scrollx(row,
( (int)m_scroll_data_table[1][0x80 + ((row & (m_page_y/2 - 1)) << 1)] +
( (int)m_scroll_data_table[1][0x81 + ((row & (m_page_y/2 - 1)) << 1)] << 8 ) ) );
( (int)m_scroll_data_table[1][translated_row+0x80] +
( (int)m_scroll_data_table[1][translated_row+0x81] << 8 ) ) );
m_tilemap_A->set_scrollx(row,
( (int)m_scroll_data_table[0][0x80 + ((row & (m_page_y/2 - 1)) << 1)] +
( (int)m_scroll_data_table[0][0x81 + ((row & (m_page_y/2 - 1)) << 1)] << 8 ) ) );
}
( (int)m_scroll_data_table[0][translated_row+0x80] +
( (int)m_scroll_data_table[0][translated_row+0x81] << 8 ) ) );
}
#endif

View File

@ -259,6 +259,7 @@ private:
void pattern_name_autoinc_check(); /**< check autoinc for tile pointers */
void pattern_mode_setup(); /**< refresh pattern mode at register 7/8 change*/
int get_col_division(int raw_col); /**< calculate column scroll */
int get_row_division(int raw_row); /**< calculate row scroll */
enum
{