Previous 199869 Revisions Next

r26775 Friday 27th December, 2013 at 08:07:03 UTC by Robbbert
mc6845 : fixed total freeze of MESS when interlace&video mode was selected
on super80v. Also added some comments.
[src/emu/video]mc6845.c

trunk/src/emu/video/mc6845.c
r26774r26775
517517
518518         attoseconds_t refresh = HZ_TO_ATTOSECONDS(m_clock) * (m_horiz_char_total + 1) * vert_pix_total;
519519
520         // This doubles the vertical resolution, required for 'interlace and video' mode support.
521         // Tested and works for super80v, which was designed with this in mind (choose green or monochrome colour in config switches).
522         // However it breaks some other drivers (apricot,a6809,victor9k,bbc(mode7)).
523         // So, it is commented out for now.
524         // Also, the mode-register change needs to be added to the changed-parameter tests above.
525         if (MODE_INTERLACE_AND_VIDEO)
526         {
527            //max_visible_y *= 2;
528            //vert_pix_total *= 2;
529         }
530
520531         if(m_show_border_area)
521532            visarea.set(0, horiz_pix_total+1, 0, vert_pix_total+1);
522533         else
r26774r26775
648659
649660   // For rudimentary 'interlace and video' support, m_raster_counter increments by 1 rather than the correct 2.
650661   // The correct test would be:
651   // if ( m_raster_counter == m_max_ras_addr )
652   if ( m_raster_counter == (MODE_INTERLACE_AND_VIDEO ? m_max_ras_addr + 1 : m_max_ras_addr) )
662   // if ( m_raster_counter == (MODE_INTERLACE_AND_VIDEO ? m_max_ras_addr + 1 : m_max_ras_addr) )
663   if ( m_raster_counter == m_max_ras_addr )
653664   {
654665      /* Check if we have reached the end of the vertical area */
655666      if ( m_line_counter == m_vert_char_total )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team