Previous 199869 Revisions Next

r20250 Sunday 13th January, 2013 at 20:05:40 UTC by Wilbert Pol
(MESS)g7400: First attempt at mixing video signals. (nw)
[src/mess/drivers]odyssey2.c

trunk/src/mess/drivers/odyssey2.c
r20249r20250
436436WRITE16_MEMBER(odyssey2_state::scanline_postprocess_g7400)
437437{
438438   int vpos = data;
439   int y = vpos - i8244_device::START_Y;
439440   bitmap_ind16 *bitmap = m_i8244->get_bitmap();
441   bitmap_ind16 *ef934x_bitmap = m_ef9340_1->get_bitmap();
440442
441443   // apply external LUM setting
442444   for ( int x = i8244_device::START_ACTIVE_SCAN; x < i8244_device::END_ACTIVE_SCAN; x++ )
443445   {
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;
445464   }
446465}
447466
467
448468UINT32 odyssey2_state::screen_update_odyssey2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
449469{
450470   return m_i8244->screen_update(screen, bitmap, cliprect);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team