Jump to content
IGNORED

Acceptable flicker?


e1will

Recommended Posts

I'm toying with the idea of writing a Super Pac-Man conversion for the 2600. Can someone with a Harmony cartridge or similar setup give this a test on real hardware and tell me how bad the flicker is? It looks OK in Stella if the phosphor effect is enabled (Alt-P) but it looks horrible if it isn't.
I suggest using Stella in OpenGL mode with vsync enabled and phosphor mode turned off. On my system at least, this more accurately simulates what you'll see on a real system (a quite irritating flicker, in this case). The phosphor effect is really meant to make things nicer on a computer monitor, and it has no relation to how things look on a real system (ie, it makes things look better than they really are).

You know that Stella's Phosphor Effect has an adjustment other than on/off, right? Check the docs; you can set it anywhere from 0 to 100%. There's gotta be a setting in that range that will come very close to duplicating the appearance of a real VCS on a CRT -- run side-by-side flicker tests with a cart and binary of a known flickery game such as Pac-Man or Lady Bug to find the best value.

Link to comment
Share on other sites

ou know that Stella's Phosphor Effect has an adjustment other than on/off, right? Check the docs; you can set it anywhere from 0 to 100%. There's gotta be a setting in that range that will come very close to duplicating the appearance of a real VCS on a CRT -- run side-by-side flicker tests with a cart and binary of a known flickery game such as Pac-Man or Lady Bug to find the best value.

 

Yup. My problem is that this game has the same flicker (30Hz) as Asteroids and Yars' Revenge did, but seems to look worse, at least in emulation, no matter what settings I've tried. So right now I'm saving up for a Harmony cart, so I can see exactly what the deal is on real hardware.

 

--Will

Link to comment
Share on other sites

ou know that Stella's Phosphor Effect has an adjustment other than on/off, right? Check the docs; you can set it anywhere from 0 to 100%. There's gotta be a setting in that range that will come very close to duplicating the appearance of a real VCS on a CRT -- run side-by-side flicker tests with a cart and binary of a known flickery game such as Pac-Man or Lady Bug to find the best value.

 

Yup. My problem is that this game has the same flicker (30Hz) as Asteroids and Yars' Revenge did, but seems to look worse, at least in emulation, no matter what settings I've tried. So right now I'm saving up for a Harmony cart, so I can see exactly what the deal is on real hardware.

 

--Will

I usually start with a phosphor setting of 50%, then turn the phosphor effect off and on repeatedly to see how well the blended picture (phosphor on) matches the unblended picture (phosphor off). Then I try increasing the phosphor setting as needed until the blended and unblended pictures look as close to each other as possible. Unfortunately, the hues and luminances of the two colors being blended can affect the outcome, so a setting that works for one set of colors might not work as well for another set of colors, which means you need to find a good average. And then there's the fact that the flickering will probably look slightly different on a TV than on a computer monitor.

 

Michael

Link to comment
Share on other sites

And then there's the fact that the flickering will probably look slightly different on a TV than on a computer monitor.

 

What does flickering look like on the newer TV's (LCD, plasma's). I've only ever played a 2600 on a CRT, where the phosphor can blend.

I think it's going to depend on the TV. My Samsung 1080p HD LCD TV doesn't do flickering per se, because it converts the 2600's 240p screen into a 480i screen, displaying every two consecutive 240p frames interleaved with each other. As a result, flickering two solid colors together looks better than flickering two interleaved colors together. For example, on an old CRT TV, flickering two frames that alternate between red and blue lines as follows will produce the best effect:

 

frame 1:

red line

blue line

red line

blue line

etc.

 

frame 2:

blue line

red line

blue line

red line

etc.

 

result:

red line flickered with blue line

blue line flickered with red line

red line flickered with blue line

blue line flickered with red line

etc.

 

But on my LCD TV, it looks like this:

red line (from frame 1)

blue line (from frame 2)

blue line (from frame 1)

red line (from frame 2)

red line (from frame 1)

blue line (from frame 2)

blue line (from frame 1)

red line (from frame 2)

etc.

 

On the other hand, I get a better result on my LCD TV by doing it this way:

 

frame 1:

red line

red line

red line

red line

etc.

 

frame 2:

blue line

blue line

blue line

blue line

etc.

 

result:

red line (from frame 1)

blue line (from frame 2)

red line (from frame 1)

blue line (from frame 2)

red line (from frame 1)

blue line (from frame 2)

red line (from frame 1)

blue line (from frame 2)

etc.

 

But if I do that with an old CRT TV, it does this:

 

result:

red line flickered with blue line

red line flickered with blue line

red line flickered with blue line

red line flickered with blue line

etc.

 

It might seem like this should be the same as flickering the alternating red and blue lines on a CRT TV, but the alternating lines make the flickering less apparent, whereas flickering solid colors makes the flickering more apparent.

 

Michael

Link to comment
Share on other sites

So no end all be all solution, eh? I suppose playing with the colors to find the right blend is the only way like you suggested.

 

 

Can you see HMOVE lines on a black background on your TV? I think I remember Batari saying in an old post that he could see them one of his TV's. I keep that in mind and try to use cycle 74 HMOVE's whenever I program, Or at least do as much as I can in Vblank.

Link to comment
Share on other sites

Can you see HMOVE lines on a black background on your TV? I think I remember Batari saying in an old post that he could see them one of his TV's.

I don't know that I've ever looked for them, but I wouldn't be surprised if they show up as "blacker than black," because the black borders above and below letterboxed pictures aren't as black as the non-picture or blanked areas to the left and right of a 4:3 screen. It's hard to get a really deep black on LCD TVs, from what I've read.

 

Michael

Link to comment
Share on other sites

I've had different consoles produce different HMOVE lines. On some machines, the HMOVE lines completely disappear into a black background such as in Missile Command, while other consoles with the same game and TV will have a little bit of color or gray at the right end of each "black on black" HMOVE line.

Edited by A.J. Franzman
Link to comment
Share on other sites

  • 2 weeks later...

Here is a crazy idea. You are doing 12 rows of items/ghost. Could you swap each row? Like do 6 rows one frame and the other 6 the next frame?

 

Then the ghosts would be done in between as long as when the ghost crossed a boundary, it lined up properly the next frame.

 

The item/ghost interlacing sorta speak might help to keep from noticing the flicker too much.

 

And I also wodered if the flicker would be easier on the eyes if the contrast were lowered by droping most all colors by 1 or 2 values.

 

Might also help the take the blue of the maze down just a bit.

 

You might consider extending each separation of zones by another scanline or 2 cause it looks like there is some space left at the bottom of the screen.

 

Just spitballin here.

 

Love what ya done so far. Keep at it.

Link to comment
Share on other sites

Here is a crazy idea. You are doing 12 rows of items/ghost. Could you swap each row? Like do 6 rows one frame and the other 6 the next frame?

 

Interesting idea, I may try that.

 

And I also wodered if the flicker would be easier on the eyes if the contrast were lowered by droping most all colors by 1 or 2 values.

 

Might also help the take the blue of the maze down just a bit.

 

Yep, right now with the binaries I'm playing with, all of the objects have a luminance of 6 or less. Seems to help a little.

 

You might consider extending each separation of zones by another scanline or 2 cause it looks like there is some space left at the bottom of the screen.

 

I still need to add the score and lives, so I probably won't have scanlines to spare.

 

Just spitballin here.

 

Love what ya done so far. Keep at it.

 

Thanks. Right now I'm re-writing it to use two separate kernels depending on the setting of the TV Type switch. Color for "flickery" (similar to the kernel I posted earlier) and B/W for "blocky" (colored squares instead of fruits, but they don't flicker). In both cases I've decided to rework Pac-Man as a player sprite instead of the ball sprite, so up- and down-facing sprites can be easily supported.

 

In "blocky" mode, that will essentially generate the same flicker as Ms. Pac-Man, which is (IMO) acceptable, especially since I'll be tweaking the ghost AI to avoid being on the same scanlines if they can. The Pac-Man sprite will not flicker at all in "blocky" mode.

 

I'm thinking "flickery" mode might just be a "bonus" mode for people with emulators, since Stella can make it look pretty decent with the phosphor effect enabled.

 

--Will

Link to comment
Share on other sites

Getting rid of the ball sprite frees up a lot of cycles.

 

Have you considered using DPC+? Stella supports it as long as you're not doing any ARM subroutines.

 

DPC+ is definitely on my radar. And it would definitely help the cycle issue if I wanted to keep the ball sprite in play.

 

As it stands I'm looking at using the ball sprite only for the title screen, since Pac'll only need to go left and right there. In the game proper, I think I'm going to have to use a player sprite, so I can use up and down sprites, as well as to not force the adjacent playfield (maze + door) pixels to be yellow.

 

I'm trying to think, would DPC+ let me implement cd-w's idea of the venetian blind effect on the whole screen (in the flickery mode)? I'd love to try out the venetian blind effect, but I'm struggling to figure out how to achieve it since I'd need to call RESP0 and RESP1 each line; I can't get away with just HMOVEing P0 and P1 since the fruits/keys (frame 1) are going to potentially be horizontally far away from the ghosts (frame 2).

 

 

--Will

Link to comment
Share on other sites

  • 4 years later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...