trunk/src/emu/video/315_5124.c
| r32003 | r32004 | |
| 156 | 156 | , m_cram_size( SEGA315_5124_CRAM_SIZE ) |
| 157 | 157 | , m_palette_offset( 0 ) |
| 158 | 158 | , m_supports_224_240( false ) |
| 159 | , m_latched_reg6(0) |
| 159 | 160 | , m_is_pal(false) |
| 160 | 161 | , m_int_cb(*this) |
| 161 | 162 | , m_pause_cb(*this) |
| r32003 | r32004 | |
| 172 | 173 | , m_cram_size( cram_size ) |
| 173 | 174 | , m_palette_offset( palette_offset ) |
| 174 | 175 | , m_supports_224_240( supports_224_240 ) |
| 176 | , m_latched_reg6(0) |
| 175 | 177 | , m_is_pal(false) |
| 176 | 178 | , m_int_cb(*this) |
| 177 | 179 | , m_pause_cb(*this) |
| r32003 | r32004 | |
| 367 | 369 | m_int_cb(ASSERT_LINE); |
| 368 | 370 | } |
| 369 | 371 | } |
| 372 | m_latched_reg6 = m_reg[0x06]; |
| 370 | 373 | break; |
| 371 | 374 | |
| 372 | 375 | case TIMER_VINT: |
| r32003 | r32004 | |
| 465 | 468 | if (m_line_counter == 0x00) |
| 466 | 469 | { |
| 467 | 470 | m_line_counter = m_reg[0x0a]; |
| 468 | | m_hint_timer->adjust( m_screen->time_until_pos( vpos, HINT_HPOS ) ); |
| 469 | 471 | m_pending_status |= STATUS_HINT; |
| 470 | 472 | } |
| 471 | 473 | else |
| 472 | 474 | { |
| 473 | 475 | m_line_counter--; |
| 474 | 476 | } |
| 477 | m_hint_timer->adjust( m_screen->time_until_pos( vpos, HINT_HPOS ) ); |
| 475 | 478 | |
| 476 | 479 | /* Draw borders */ |
| 477 | 480 | m_lborder_timer->adjust( m_screen->time_until_pos( vpos, SEGA315_5124_LBORDER_START ), vpos ); |
| r32003 | r32004 | |
| 977 | 980 | sprite_x -= 0x08; /* sprite shift */ |
| 978 | 981 | } |
| 979 | 982 | |
| 980 | | if (m_reg[0x06] & 0x04) |
| 983 | if (m_latched_reg6 & 0x04) |
| 981 | 984 | { |
| 982 | 985 | sprite_tile_selected += 256; /* pattern table select */ |
| 983 | 986 | } |
| r32003 | r32004 | |
| 1109 | 1112 | { |
| 1110 | 1113 | bool sprite_col_occurred = false; |
| 1111 | 1114 | int sprite_col_x = m_screen->width(); |
| 1112 | | UINT16 sprite_pattern_base = ((m_reg[0x06] & 0x07) << 11); |
| 1115 | UINT16 sprite_pattern_base = ((m_latched_reg6 & 0x07) << 11); |
| 1113 | 1116 | |
| 1114 | 1117 | if (m_display_disabled) |
| 1115 | 1118 | return; |