| Previous | 199869 Revisions | Next |
| r20323 Friday 18th January, 2013 at 19:16:50 UTC by Wilbert Pol |
|---|
| (MESS) g7400: Better placement of ef934x graphics. Fixed X and Y overflows in the EF9340/1. (nw) |
| [src/emu/video] | ef9340_1.c i8244.h |
| [src/mess/drivers] | odyssey2.c |
| r20322 | r20323 | |
|---|---|---|
| 105 | 105 | |
| 106 | 106 | // Global constants |
| 107 | 107 | static const int START_ACTIVE_SCAN = 42; |
| 108 | static const int BORDER_SIZE = 10; | |
| 108 | 109 | static const int END_ACTIVE_SCAN = 42 + 10 + 320 + 10; |
| 109 | 110 | static const int START_Y = 1; |
| 110 | 111 | static const int SCREEN_HEIGHT = 243; |
| r20322 | r20323 | |
|---|---|---|
| 100 | 100 | void ef9340_1_device::ef9340_inc_c() |
| 101 | 101 | { |
| 102 | 102 | m_ef9340.X++; |
| 103 | if ( m_ef9340.X | |
| 103 | if ( m_ef9340.X == 40 || m_ef9340.X == 48 || m_ef9340.X == 56 || m_ef9340.X == 64 ) | |
| 104 | 104 | { |
| 105 | m_ef9340.Y = ( m_ef9340.Y + 1 ) % 24; | |
| 105 | m_ef9340.Y = ( m_ef9340.Y + 1 ) & 0x1f; | |
| 106 | if ( m_ef9340.Y == 24 ) | |
| 107 | { | |
| 108 | m_ef9340.Y = 0; | |
| 109 | } | |
| 106 | 110 | m_ef9340.X = 0; |
| 107 | 111 | } |
| 108 | 112 | } |
| r20322 | r20323 | |
|---|---|---|
| 441 | 441 | bitmap_ind16 *ef934x_bitmap = m_ef9340_1->get_bitmap(); |
| 442 | 442 | |
| 443 | 443 | // apply external LUM setting |
| 444 | int x_real_start = i8244_device::START_ACTIVE_SCAN + i8244_device::BORDER_SIZE; | |
| 445 | int x_real_end = i8244_device::END_ACTIVE_SCAN - i8244_device::BORDER_SIZE; | |
| 444 | 446 | for ( int x = i8244_device::START_ACTIVE_SCAN; x < i8244_device::END_ACTIVE_SCAN; x++ ) |
| 445 | 447 | { |
| 446 | 448 | UINT16 d = bitmap->pix16( vpos, x ); |
| 447 | 449 | |
| 448 | if ( ! m_g7400_ic678_decode[ d & 0x07 ] ) | |
| 450 | if ( ( ! m_g7400_ic678_decode[ d & 0x07 ] ) && x >= x_real_start && x < x_real_end ) | |
| 449 | 451 | { |
| 450 | 452 | // Use EF934x input |
| 451 | d = ef934x_bitmap->pix16( y, x - | |
| 453 | d = ef934x_bitmap->pix16( y, x - x_real_start ) & 0x07; | |
| 452 | 454 | |
| 453 | 455 | if ( ! m_g7400_ic674_decode[ d & 0x07 ] ) |
| 454 | 456 | { |
| Previous | 199869 Revisions | Next |