Login
Search for:


Previous | Next

From: Crown (all posts)
Date: 1998-06-01
Subject: Re: Interlace
Hi there,

>When you write to "FF1D" the TV "re-syncs", yet if I write to $FF1D,
>and read it... it doesn't resync... just keeps incrementing..
>
>Is this done by the TV alone... Does the plus/4 write whatever raster
>we want to, and its actually the TV that causes ALL the
>sync+colour+whatever problems?
$FF1D is just a simple counter. It's not an absolute value, if you write something to it that doesn't means that the TED will display that line.
The TED has a lot of sub-components, and when the $FF1D counter reach certain values, these components are turned on or off. (Check my previous posting on these conditons, but you can also look them up in the docs which I sent you some months ago, it's sheet 11 and 12 in the Commodore ones, I don't remember which scanned pics was that)
Some of the components are using the value of $ff1d, for example the IRQ generator, and it also plays a role in the startup-condition of the DMA-lines, but otherwise they only watch $ff1d for determining if they have to start or stop.
So when we write $ff1d we change the positions of these turning points relatively, thus delaying certain events in time or starting them sooner.
$FF1D do not resyncs itself, so the prg must do it.
For example if you wait for line $c0 and you write $b0 into it, this will cause, the end condition of the screen window to happen 16 lines later, but also every other events will happen 16 lines later, so the screen will be 312+16 lines. To resync you will wait for line $e0
and will write $d0 into $ff1d.
$ff1d will look this
$be $bf $c0 $b0 $b1 $b2... $de $df $e0 $d0 $d1.... as normal.
This resync will put all coming events back to their original positions,
so you only delayed the end of screen window, this made the window area 16 lines larger, but all other events like SYNC generation, blank area stayed at their supposed position.

The sync is partly done by the TV, but it can only sync if the TED generates a valid sync sygnal. (It's possible to make larger and also smaller screens than the usual 312 lines)
The colour problem is a good question, I don't know why that happens,
yet. Guess have to read some low level docs on TV sygnals.

Tibor Biczo / Crown of GOTU

Copyright © Plus/4 World Team, 2001-2024