[Coco] [blog] Stupid VDG Tricks

John W. Linville linville at tuxdriver.com
Sun Aug 12 16:52:25 EDT 2012


On Mon, Jul 30, 2012 at 04:30:42PM -0500, Brendan Donahe wrote:
> John,
> 
> I read your blog with interest.  Steve Spiller and I have a piggy-back
> modification for the 6847 working fairly well now (with 2 caveats that need
> some quality time with the logic-analyzer) with an FPGA sending B&W output
> to a VGA monitor.

Sounds cool...

> I have a silly question - what is the reason you chose a semigraphics mode
> for one of the 2 fields vs. a 2-color (which is 4-color with artifacting -
> black, white, red, blue, for example) hi-res graphics mode (like PMODE 4)?
> I wouldn't think it would be necessary to align pixels between the 2 fields
> if you're dithering anyway...?

While that would still give some access to black and introduce a
few other colors, it would still be a smaller total number of color
combinations (4x8 vs.  8x9).  It would also be more problematic, since
the combinations to produce red vs. blue will potentially differ with
every reboot.

I had considered having that as an option on the "color graphics"
screen lines, switching to the "pmode4" mode instead of just switching
CSS.  But my initial experiments suggested that the timing to do that
was different than the simple CSS switching.  It might be workable,
but I haven't figured-out how to do that usefully yet.

> The method of switching CSS on a row-by-row basis is honestly not one I had
> considered for what I've been doing, although I know of other systems
> (Atari 2600, Atari 8-bit, etc.) where programmers employ similar methods.
> We have to use a ping-pong buffer to capture video to handle the dissimilar
> VGA and CoCo clock rates without tearing (it's not quite 2:1 for the
> 640x480 we chose), but should be capturing CSS with each pixel so in theory
> it should not be affected.  However, I'm not capturing A/S, A/G, and GM to
> keep with each field of data and need to fix this.

FWIW, the datasheet says that A/S, INT/EXT, CSS, and INV can all be
changed on a character-by-character basis.  It doesn't not say that
about A/G or the GM values -- not sure if it says anything about them
at all.  Some more experimentation may be in order for an accurate
emulation.  The Xroar guys might be useful to consult as well.

> More to the point, however, is that I'd be interested in running your code
> as an test case.  I look forward to your follow-up post.

I hope you found it helpful!

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville at tuxdriver.com			might be all we have.  Be ready.



More information about the Coco mailing list