Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Half pixel high graphical corruption
2015-07-10 10:51
goerp

Registered: Feb 2006
Posts: 20
Half pixel high graphical corruption

I'm working on a drawing program for making SuperHires Pics on the PC. The C64 viewer I made multiplexes 8 sprites, but is badly made so there's some graphical corruption (I guess I need a stable raster, working on that).
On the emulator I get some flickering lines in the sprites, but on a real C64 I get lines that are about HALF a pixel high!
They are stable on the top or bottom of a pixel for a while, then flicker a bit and then flip to the other vertical half.

I read somewhere that PAL has 625 lines that are interlaced, maybe the pixels are showing only in one part of the interlace? Is it something related to the monitor type (I use a simple LG LCD TV).

Is it usable for effects (I would think not because it's so unstable).

The program can be found at: http://www.goerp.nl/C64/c64programs/sh%20viewer.prg
(and yes: there's all kinds of things wrong with it, but I'll get it better).
A screenshot from my TV: http://www.goerp.nl/C64/c64programs/halfpixel.png
 
... 1 post hidden. Click here to view all posts....
 
2015-07-10 11:19
Deev

Registered: Feb 2002
Posts: 206
I'm not an expert, but it looks like some kind of deinterlacing/scaling issue with your TV. Do you not see the behaviour with other C64 graphics? Do a search on something like "deinterlacing retro games" and you'll see there's lots about this kind of thing online.
2015-07-10 12:55
goerp

Registered: Feb 2006
Posts: 20
@Groepaz: it's from 2008 so I would think pretty modern.

@Deev: it might occur on other C64 stuff, but it's the first time I've noticed it. Because of the flicks I think I would notice it on still graphics. Then again, I watch most stuff on an emulator.
I can see it on both the TV and Monitor2SVideo cable.

I just hooked up an old B&W CRT TV. It's hard to see, but the parts of the half pixels are flickering on the CRT. So that looks more like it has to do with the way the monitorl works.
So the monitor catches the signal on one of the two interlace phases and not the other or something? And because of different timings of the C64 and the monitor there's the switch from high half-pixel to low half-pixel (or maybe because of badly timed interrupts).

The time between the switch is stable about 5 seconds.
You can't have a buildup of being out of sync can you? (difference of 50.1 and 50 Hz is after 5 seconds a difference of .5 so then you get a switch?).

I'll load up some other multiplex stuff on the real C64 later.
But I might need unstable crappy viewers. Has anyone those ;)?
2015-07-10 12:58
chatGPZ

Registered: Dec 2001
Posts: 11108
if it flickers every other frame, the monitor might misinterprete it as interlace/odd and even fields and then make it half a pixel high....

you could make yourself a simple test program with two sprites or sth and flicker between them the same way.... or just use some IFLI drawing program
2015-07-10 13:17
Mr. SID

Registered: Jan 2003
Posts: 421
Yes, looks like a TV that can't handle progressive signals...
2015-07-10 13:39
Deev

Registered: Feb 2002
Posts: 206
Quoting goerp

So the monitor catches the signal on one of the two interlace phases and not the other or something? And because of different timings of the C64 and the monitor there's the switch from high half-pixel to low half-pixel (or maybe because of badly timed interrupts).


As I understand it, it takes one interlaced frame (every other line), then the next interlaced frame (the opposite set of lines) and does its best to merge them into one progressive frame. It then has to scale the combined image up to 720 lines, 1080 lines, or whatever resolution your screen is. This processing is often designed with TV pictures in mind, rather than low-res computer graphics, and in many TVs is just not very well designed anyway, so you do sometimes see the kind of errors you're describing.

I'm not sure why pixels can sometimes flicker from frame to frame. Possibly just very small changes in the analogue signal that cause it to interpret something slightly differently, perhaps.
2015-07-10 19:21
goerp

Registered: Feb 2006
Posts: 20
I've made a little test like Groepaz suggested: two alternating sprites and two alternating characters and it does indeed not look right.
The characters merge and don't flicker at all, but they don't always merge the same way. If you break off the program and restart, the characters are differently merged.
And the sprites seem to have the half byte high lines, although not the changing after some time, so I guess that's because my program has no stable interrupts.

So it's a problem with my TV.

Hmm, makes me wonder if I have ever seen a IFLI like it's supposed to be.

I'll start browsing all the discussions about best way to view a real C64. :)

Thanks all for the info.
2015-07-10 19:59
Oswald

Registered: Apr 2002
Posts: 5017
okay, so if PAL "bugs" are accepted to generate better gfx, why not utilise this one too ? :) Anyone can get a modern TV to diplay 400 lines? :)
2015-07-10 22:38
Krill

Registered: Apr 2002
Posts: 2839
Quoting Oswald
okay, so if PAL "bugs" are accepted to generate better gfx, why not utilise this one too ? :) Anyone can get a modern TV to diplay 400 lines? :)
Feel free to make a demo using that and be happy about all the 3 other people whose TV displays the image in the same broken way. But don't expect a compo team to tweak the signal to the projector so it will display a broken image like your new TV.
(On a side note, i have a CRT TV that displays the C-64 image interlaced no matter what. Maybe will make a few tests with that, but most probably not release a demo, as it's just not standard in any way.)
2015-07-11 08:00
chatGPZ

Registered: Dec 2001
Posts: 11108
Quote:
PAL "bugs"

why not try coding something instead of trolling all the time ^_^
2015-07-11 08:21
goerp

Registered: Feb 2006
Posts: 20
I think it's a hard effect to code for, at least for me. I think I'm not ready for such ambitious endeavours :)

I'll keep it in the back of my mind, but I'm not sure if I would post it here if I ever do something with it. It would be an exploit of my monitor's shortcomings not of my trusty C64.(more likely the monitor will die before I finish something like that).
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Martin Piper
csabanw
Guests online: 127
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 S!R  (9.9)
3 Mr Zero Page  (9.8)
4 Antitrack  (9.8)
5 OTD  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.05 sec.