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

Re: IIgs Monitor Repair



ferdimh@gmx.de wrote:
On 12 Jan., 03:28, "Michael J. Mahon" <mjma...@aol.com> wrote:

Sync emulation is part of the emulation--it would work fine if
there were any DSP engineers today who understood how TV sets
used to work.  ;-)


BTW, Grundig used analog sync and color decoders before a digital
double-scan is performed...
This yields a picture quality I've never seen on a double-scan TV.
I don't think an analog sync decoder is very expensive.

It's easy in one chip, but that's an *extra* chip for a digital TV.

The DSP code is pretty straightforward, but it's extra code.  It's just
cascaded RC filters and thresholding.

I just found out: You're not done at this point.
You need to convert it to an image of fixed size. That means the DSP
SHOULD
 - sample the signal at a rate to get the right width (perhaps use a
PLL to get the clock from the Hsync, this could be integrated into the
HPLL)
 - store it line by line, start a new field after either Vertical sync
or after a certain number of lines has passed (350 or so).
 - check the position of the Vsync to find out whether this is an even
or odd field.
 - if there is interlacing, deinterlace and scale by the factor needed
to fill the screen
 - if not, scale every field to fill the screen.
This is not done too.
The algorithms I saw did something like the following:
 - sample at an arbitrarily chosen frequency.
 - scale it to the minimum needed to achieve the desired video
bandwith
 - store it in memory with the expected number of lines. Go crazy if
it is wrong.
 - Always interlace the fields. If there is no interlacing, interlace
anyway.
 - Blur - eh denoise the picture
 - Apply nonlinear scaling to allow certain special display modes.
 - Scale it to the size needed.
This is from the data sheet of a Micronas video processing chipset I
wanted to use to get high-quality video display on a VGA monitor. I've
given up...

Well, there are other ways of organizing the processing, but any
particular design will optimize for one or two expected modes of
processing and then "everything else" will be kludged in.

It would not be difficult to take an analog-based approach to sensing
sync, but I'd be very surprised if any monitor actually did it.

Of course, you should also make the determination about whether the
signal is interlaced or not--but since all "legitimate" NTSC signals
are interlaced, you can bet that the usual logic doesn't even consider
that to be a variable.  (If the detected vertical sync occurs
alternately near the start of a line and near mid-line, then the signal
is interlaced--if always near the start of a line, then not interlaced.)

What you do with video processing after sync is determined is pretty
standard, and not very well suited to handling digitally generated
video with a "non-standard" pixel density--like Apple II video.

What would be needed to do a *good* job with digitally generated video
would be to (somehow) recover the dot clock from the video stream and
use that (or a multiple of it) to sample the video.  I think at this
point, the liklihood of any commercial design taking this approach is
miniscule.

-michael

NadaPong: Network game demo for Apple II computers!
Home page:  http://members.aol.com/MJMahon/

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