(MESS) bus/c64/xl80: add a plausible divider to the CRTC clock; it's rather unlikely that the card drives its monitor at 490 Hz refresh.

mc6845: don't make visible area larger than screen size with SHOW_BORDER_AREA; it causes vblank duration to be negative, which is all kinds of weird and wrong.
This commit is contained in:
Alex W. Jackson 2014-07-07 07:55:46 +00:00
parent 0a23dc606f
commit 0fd90ee5f5
2 changed files with 2 additions and 3 deletions

View File

@ -126,13 +126,12 @@ static MACHINE_CONFIG_FRAGMENT( c64_xl80 )
MCFG_SCREEN_UPDATE_DEVICE(HD46505SP_TAG, h46505_device, screen_update)
MCFG_SCREEN_SIZE(80*8, 24*8)
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", c64_xl80)
MCFG_PALETTE_ADD_BLACK_AND_WHITE("palette")
MCFG_MC6845_ADD(HD46505SP_TAG, H46505, MC6845_SCREEN_TAG, XTAL_14_31818MHz)
MCFG_MC6845_ADD(HD46505SP_TAG, H46505, MC6845_SCREEN_TAG, XTAL_14_31818MHz / 8)
MCFG_MC6845_SHOW_BORDER_AREA(true)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(c64_xl80_device, crtc_update_row)

View File

@ -525,7 +525,7 @@ void mc6845_device::recompute_parameters(bool postload)
}
if(m_show_border_area)
visarea.set(0, horiz_pix_total+1, 0, vert_pix_total+1);
visarea.set(0, horiz_pix_total-1, 0, vert_pix_total-1);
else
visarea.set(0 + m_visarea_adjust_min_x, max_visible_x + m_visarea_adjust_max_x, 0 + m_visarea_adjust_min_y, max_visible_y + m_visarea_adjust_max_y);