View Single Post
Old 21 December 2014, 16:33   #9
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,479
I've been trying to figure out the reason for the garbage/flickering bottom line with the "double, fields+" non-laced line mode. At least, there's flickering/garbage with the DOC Demons are Forever demo. Just booting to the Kickstart 1.x insert Workbench screen (white background) the lowest output line is always white instead of alternating black/white/black on successive output frames. [By lowest output line, I mean the bottom single pixel row of the ~576-pixel tall output image, i.e. the lower half of the bottom Amiga scanline; not the bottom whole Amiga scanline.]

You mentioned before that the last non-black scanline output by the Amiga is always colour 0. Could the handling of that behaviour not consider the double,fields+ line mode? That would explain the always-white bottom line at the insert WB screen. The Demons demo probably has colour 0 at bottom of frame changing hence the flickering there.

Am I correct in thinking that this code handles the double, fields+ non-interlaced line mode? In custom.cpp/hsync_handler_post():
Code:
} else if (!interlace_seen && doublescan <= 0 && currprefs.gfx_vresolution && currprefs.gfx_pscanlines > 1) {
	lineno *= 2;
	if (timeframes & 1) {
		lineno++;
		nextline_how = currprefs.gfx_pscanlines == 3 ? nln_lower_black_always : nln_lower_black;
	} else {
		nextline_how = currprefs.gfx_pscanlines == 3 ? nln_upper_black_always : nln_upper_black;
	}
} else if ...
Not that I really understand the code much, but I can't see anything obviously amiss there.
mark_k is offline  
 
Page generated in 0.05888 seconds with 9 queries