Re: CIA old/new?

From: Segher Boessenkool <segher_at_kernel.crashing.org>
Date: Mon, 4 Jan 2021 11:55:48 -0600
Message-ID: <20210104175548.GF30983_at_gate.crashing.org>
On Mon, Jan 04, 2021 at 06:24:04PM +0100, groepaz_at_gmx.net wrote:
> Am Montag, 4. Januar 2021, 18:12:50 CET schrieb Segher Boessenkool:
> > On Mon, Jan 04, 2021 at 05:43:13PM +0100, groepaz_at_gmx.net wrote:
> > > Am Montag, 4. Januar 2021, 17:19:04 CET schrieb Segher Boessenkool:
> > > > On Sun, Jan 03, 2021 at 09:45:39PM +0100, groepaz_at_gmx.net wrote:
> > > > > Not every detail in the design is clocked, some delays just happen
> > > > > because
> > > > > of gate propagation delays - and when the process changes, those
> > > > > delays
> > > > > may change as well.
> > > >
> > > > Yup, exactly.
> > > >
> > > > > The well known "grey dot" the new VICII produces are related
> > > > > to exactly the same thing.
> > > >
> > > > But this isn't true at all.  You get the grey dot if *external* timing
> > > > is off!  The difference isn't between VIC-II versions, the difference is
> > > > between boards (and what PLA or PLA replacement is used on that).
> > >
> > > ehrm, no. what you mean is the "sparkle bug" that appeared on very early
> > > boards, that is a totally different thing.
> > >
> > > the "grey dot" only shows on "new" VICII when any color register is being
> > > written, and is clearly related to internal timing. (the color coming from
> > > the pixel pipeline is not valid yet, and the VICII produces "0x0f" color
> > > for a fraction of a pixel).
> >
> > No, this is exactly what I am talking about.
> >
> > You get it because an internal bus still holds the precharged value
> > (which causes the light grey: all ones).  On older systems this did not
> > happen.  It can be "fixed" by adding a small cap to the #CS line.
> >
> > http://segher.wiibrew.org/c64/plots/vic.html
> >
> > You are right that this is Yet Another example of race conditions.  But
> > this one is *not* exposed by the new chip, by new external circuitry
> > instead :-)
> 
> how would that cause glitches only with the color registers?

The colour registers aren't read clocked.  Also, most other things only
care about timings realative to the 1MHz clock, while pixel colours
are on the 8MHz dot clock, a harsher environment.


Segher
Received on 2021-01-04 19:01:48

Archive generated by hypermail 2.3.0.