[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Let's pay a developer to make a VGA output card



Mark McDougall wrote:
Michael J. Mahon wrote:

I understand your preference, but I think you would find it much
simpler in reality to build an "Apple scan doubler" that grabbed the
dot clock from the Apple (AUX slot?), sampled the composite video
signal (it's digital, after all), and "played it back" at 2x the scan
frequency for a VGA monitor, using an appropriate RGB conversion.
This would produce an "emulator style" VGA display, which, I expect,
would satisfy many users--though perhaps none perfectly.  ;-)


Ummm, I admit I've not much experience with video processing but I'm not sure it's so "simple" to build a scan doubler.

The chrominance information in a composite signal is encoded via a phase offset from the colour burst. This is not trivial to recover, and certainly can't be done by sampling at the dot clock rate. It is possible to generate a limited number of colours using 'digital' logic but that requires a clock 4 times (for example) the burst frequency.

That is the 14MHz "dot clock" I was referring to.  And since each video
output "state" lasts an integral number of 14MHz periods, sampling at
14MHz *exactly* captures all the information in the Apple II video.

All of the colors of which the Apple II is capable are encoded in binary
levels shifted out at a 14MHz rate.

In any case, if you're sampling at the dot clock rate, then you can't reproduce any analogue artifacts such as blurring, enlarging due to contrast, etc since you only have a single value sampled at the 'centre' of the pixel.

At least that's how I understand it.

It's pretty straightforward if you take the sampled bit stream and shift
the bits (all states are either 0 or 1) through a shift register.  The
*minimum* length of this shift register is 4 bits, but I suggest using
at least 8 bits to permit "context dependent" or "blurred" color info.

The shift register value can directly index RGB color values to be
output.  I'd guess that 4-5 bits per color would be more than enough
resolution.

This may be a conceptual approach with practical problems, requiring
a video palette RAM that can be cycled at 14MHz to drive the RGB DACs.

I suspect that the existing RGB cards just use a 4-bit window and
a simple logic/resistor matrix to generate the color signals
from the value in the "window" shift register.  (And the //e RGB
card evidently doesn't even shift--it just loads the 4-bit values,
producing an artificially "crisp", non-artifacted display).

Regardless of all this, my decision to do it this way was heavily influenced by the fact that I have a few other features (video and non-video related) that I'd like to incorporate on an expansion card.

So I'd be mucking about with an FPGA in an Apple slot...

Ah.  I was thinking more of an AUX slot RAM/RGB card with VGA output.
Just trying to keep it simple...

-michael

Parallel computing for 8-bit Apple II's!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."