trunk/src/mess/drivers/odyssey2.c
| r20249 | r20250 | |
| 436 | 436 | WRITE16_MEMBER(odyssey2_state::scanline_postprocess_g7400) |
| 437 | 437 | { |
| 438 | 438 | int vpos = data; |
| 439 | int y = vpos - i8244_device::START_Y; |
| 439 | 440 | bitmap_ind16 *bitmap = m_i8244->get_bitmap(); |
| 441 | bitmap_ind16 *ef934x_bitmap = m_ef9340_1->get_bitmap(); |
| 440 | 442 | |
| 441 | 443 | // apply external LUM setting |
| 442 | 444 | for ( int x = i8244_device::START_ACTIVE_SCAN; x < i8244_device::END_ACTIVE_SCAN; x++ ) |
| 443 | 445 | { |
| 444 | | bitmap->pix16( vpos, x ) |= ( m_lum ^ 0x08 ); |
| 446 | UINT16 d = bitmap->pix16( vpos, x ); |
| 447 | |
| 448 | if ( ! m_g7400_ic678_decode[ d & 0x07 ] ) |
| 449 | { |
| 450 | // Use EF934x input |
| 451 | d = ef934x_bitmap->pix16( y, x - i8244_device::START_ACTIVE_SCAN ) & 0x07; |
| 452 | |
| 453 | if ( ! m_g7400_ic674_decode[ d & 0x07 ] ) |
| 454 | { |
| 455 | d |= 0x08; |
| 456 | } |
| 457 | } |
| 458 | else |
| 459 | { |
| 460 | // Use i8245 input |
| 461 | d |= ( m_lum ^ 0x08 ); |
| 462 | } |
| 463 | bitmap->pix16( vpos, x ) = d; |
| 445 | 464 | } |
| 446 | 465 | } |
| 447 | 466 | |
| 467 | |
| 448 | 468 | UINT32 odyssey2_state::screen_update_odyssey2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 449 | 469 | { |
| 450 | 470 | return m_i8244->screen_update(screen, bitmap, cliprect); |