mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
pc_vga: force PEL shift to 0 after a line compare, and move latch release to the end of VBLANK. Fixes Jazz Jackrabbit scrolling (do let me know if there are any regressions).
This commit is contained in:
parent
cacb9bb1b5
commit
f668e0465d
@ -221,7 +221,7 @@ TIMER_CALLBACK_MEMBER(vga_device::vblank_timer_cb)
|
||||
{
|
||||
vga.crtc.start_addr = vga.crtc.start_addr_latch;
|
||||
vga.attribute.pel_shift = vga.attribute.pel_shift_latch;
|
||||
m_vblank_timer->adjust( machine().first_screen()->time_until_pos(vga.crtc.vert_blank_start) );
|
||||
m_vblank_timer->adjust( machine().first_screen()->time_until_pos(vga.crtc.vert_blank_start + vga.crtc.vert_blank_end) );
|
||||
}
|
||||
|
||||
void vga_device::device_start()
|
||||
@ -471,7 +471,10 @@ void vga_device::vga_vh_vga(bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
if((line + yi) < (vga.crtc.line_compare & mask_comp))
|
||||
curr_addr = addr;
|
||||
if((line + yi) == (vga.crtc.line_compare & mask_comp))
|
||||
{
|
||||
curr_addr = 0;
|
||||
pel_shift = 0;
|
||||
}
|
||||
bitmapline = &bitmap.pix32(line + yi);
|
||||
for (pos=curr_addr, c=0, column=0; column<VGA_COLUMNS+1; column++, c+=8, pos++)
|
||||
{
|
||||
@ -1265,7 +1268,7 @@ void vga_device::recompute_params_clock(int divisor, int xtal)
|
||||
refresh = HZ_TO_ATTOSECONDS(pixel_clock) * (hblank_period) * vblank_period;
|
||||
machine().first_screen()->configure((hblank_period), (vblank_period), visarea, refresh );
|
||||
//popmessage("%d %d\n",vga.crtc.horz_total * 8,vga.crtc.vert_total);
|
||||
m_vblank_timer->adjust( machine().first_screen()->time_until_pos(vga.crtc.vert_blank_start) );
|
||||
m_vblank_timer->adjust( machine().first_screen()->time_until_pos(vga.crtc.vert_blank_start + vga.crtc.vert_blank_end) );
|
||||
}
|
||||
|
||||
void vga_device::recompute_params()
|
||||
|
Loading…
Reference in New Issue
Block a user