| |
Conrad
Registered: Nov 2006 Posts: 849 |
Controlling that colour change bug thing
Would any hardware gurus/coders care to explain what causes this bug to appear and is it possible to control its visibility, code wise?
Thanks. |
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
The way to control it is stable rasters...
On 856x based machines (i.e newer C64s and C128s) when writing a color register ($D020-$D02E) currently being used to display graphics a grey dot (color 15) appears at the first pixel of the cycle.
The reason for the grey dot appears to be a glitch in the color register bank itself, not in the mapping from color enables to actual 4-bit color. This effect is thus independent of the previous color register displayed.
It has been reported that the dot can be smaller than 1 pixel, and that it does not show or randomly appears on some machines. |
| |
Conrad
Registered: Nov 2006 Posts: 849 |
Thanks tlr for explaining that.
Control it by stable rasters? Well sure, that would help stop it from jittering :) but I kinda meant how to switch the grey dot on/off, i.e. to do with the glitch in the colour register bank as you mentioned. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
The way to avoid the dots is to only update a color register in a cycle where that register is _not_ used to display the first pixel.
The way to force them is to do the exact opposite, only update a color register at a cycle where it _is_ used to display the first pixel.
|
| |
WVL
Registered: Mar 2002 Posts: 902 |
Best controlled use of the grey-pixel ever is in Risen From Oblivion, the VIC part. Xbow made a scroller using the light grey pixel bug. Pretty neat, except it doesnt work on my c128 at all.. Pixels are very unsteady and are constantly flickering.
Anyway, I think the whole grey pixel thing is very annoying and it's the biggest reason not to use a c64 with a newer VIC.
BTW, in your picture the vertical lines have gaps because of the badlines. |
| |
Conrad
Registered: Nov 2006 Posts: 849 |
WVL: On my C64C the grey dots only appear occasionally. When switching the machine off/on, those dots are either visible or gone. It seems bizarre to me why this happens and just wondered if those dots can be forced to be visible or hidden via some machine code, but in any case I'll try what tlr mentioned. I agree it is annoying to see these grey dots in demos that make use of $d020-$d02e for raster colour splits and stuff similar to that, but I plan to use them for something useful (even it it's pointless for people with an old VIC or emulator ;)) |
| |
Ninja
Registered: Jan 2002 Posts: 411 |
I have one C128 where those dots are usually(!) stable when the machine is cold. After some minutes they start flickering and sometimes they disappear completely after some more time. All too random for my taste... |
| |
TPM
Registered: Jan 2004 Posts: 110 |
Very annoying indeed..
On my c64 the dots/stripes appeared and were increasingly present more and more when the VIC got warm, usually after a couple of hours or so. Cool down the c64 for an hour and it was okay again. |
| |
Ed
Registered: May 2004 Posts: 173 |
Grey dots for the emulator would be nice!
Eventhough they could be a pain in the arse (Microtop's Starion demos) or beautiful (Wizball loading screen) I never experienced them as unstable. Well, not more unstable than a unstable rasterbar for example.
|
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
It is bus timing bug in the VIC hardware where it can output the wrong signal and the wrong time for a very short amount of time. It depends on the exact hardware version of the VIC, how hot it is etc.
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: Grey dots for the emulator would be nice!
Eventhough they could be a pain in the arse (Microtop's Starion demos) or beautiful (Wizball loading screen) I never experienced them as unstable. Well, not more unstable than a unstable rasterbar for example.
Grey dots have been emulated in x64sc since r22786.
Note that the grey dot is not the only thing that differs color reg-wise between a 656x and a 856x.
On a 656x (the one without the grey dots) color changes appear one pixel later than on a 856x, i.e one pixel into the cycle.
To avoid differences between the machines you should never change a color register when it's visible in the first pixel. |
... 14 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 - Next |