2A07: A Space Odyssey

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

Oziphantom
Posts: 1361
Joined: Tue Feb 07, 2017 2:03 am

2A07: A Space Odyssey

Post by Oziphantom »

On the weekend dSr released a new PAL NES demo at a new demo comp called Black Valley. It came 5th.

https://www.pouet.net/prod.php?which=91816

https://www.youtube.com/watch?v=j1Tcmq7mwHY

Note this demo is basically Hardware only, no emulator will replicate the effects properly, so best to watch the capture unless you have a PAL NES ( probably needs a CRT as well, but might work on some LCDs )
User avatar
nesrocks
Posts: 521
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: 2A07: A Space Odyssey

Post by nesrocks »

Very cool!

Can't download the ROM right now, 404.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Oziphantom
Posts: 1361
Joined: Tue Feb 07, 2017 2:03 am

Re: 2A07: A Space Odyssey

Post by Oziphantom »

I just tested it, and it downloads fine now.
User avatar
rainwarrior
Posts: 8578
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: 2A07: A Space Odyssey

Post by rainwarrior »

cmr on pouet wrote:No emulator will do PAL emulation to achieve the effects that rely on chroma subsampling (the plasma and water effects), so if you don't have a flashcart I recommend watching a capture. But except for that, from what I've tested nintendulator and mesen fare the best, and nestopia works ok.
During the plasma/water the capture demonstrates a vertical blurring that an emulator doesn't produce, but otherwise I'd say it runs perfectly well in Mesen?

Like the vertical blur is basically just reduced to dithered lines, which is a pretty close approximation anyway.

There's some other subtle artifacts of the PAL video signal, but they seem mostly orthogonal to the demo, e.g. the space station screen has a specific coarse dithering pattern in the capture video, but is just checkerboard pixels in the emulator. Slightly different looking, but maybe not an essential thing?

FCEUX actually has a "PAL" filter option at this point. I don't know enough about the range of how PAL is supposed to look to speculate on its accuracy... it also looks different from the capture video in a bunch of ways, but might not be an invalid interpretation. Some of the artifacts do appear to correspond well.

Unfortunately, unrelated to the filter, FCEUX's timing has some inaccuracies that make the picture jitter erratically in some places. I'd love to see a good PAL filter option appear in more emulators.
Oziphantom
Posts: 1361
Joined: Tue Feb 07, 2017 2:03 am

Re: 2A07: A Space Odyssey

Post by Oziphantom »

with a demo though, every detail matters. Can you see the demo, yes, does it look good sure, does it show the full exploitative technique as the demo creator intended, no.
User avatar
rainwarrior
Posts: 8578
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: 2A07: A Space Odyssey

Post by rainwarrior »

Well I'm trying to ask/answer the question of what detail specifically is the emulator not getting. I think "how much" it's incorrect is very important.

This isn't at all like the severity of e.g. 8088 MPH vs an emulator. We don't have missing screens or unintelligible garbage. This demo runs end to end on Mesen, with every screen appearing reasonably close to how it should. The things that are incorrect are somewhat subtle.

One of the reasons I think it's important is that it puts in perspective how close we already are. Unlike many demos which are hopeless to take on, which would require a massive overhaul or ground-up rewrite of an emulator to be able to support this... the differences here seems entirely confined to a PAL video signal filter, right? A better PAL filter feels like a relatively modest and self-contained work that could be integrated into many emulators. That's what I'm trying to point out.

So really, I think it's very much worth discussing what's different between emulators and the real thing. We could use a better answer than "every detail matters" and "no emulator will replicate the effects properly". Can we articulate what's still lacking about FCEUX's PAL filter?

(It's something I'd happily work on myself, if I only had a PAL NES to make direct comparisons with.)
cmr
Posts: 7
Joined: Tue Jul 19, 2022 7:38 am

Re: 2A07: A Space Odyssey

Post by cmr »

Hi!

I'm the programmer behind this demo. Yes, I agree that the current emulators are sufficient for this, especially Mesen and Nintendulator, except for the PAL emulation. I wasn't aware that FCEUX does have a PAL filter. I tested it, but unfortunately it does not do chroma merging. This is noticeable in the scenes with the plasma, the logo with the gradients and in the water scene. The effects are designed to take advantage of this, so they won't look right without it.

I am only aware of one filter that really tries to replicate this, and that is r57shell's PAL filter for retroarch. Unfortunately, from my tests, even though it does merge colors, the colors it produces are not the correct ones.

The youtube link is a capture I've done myself from my PAL NES, it can be used as a reference for how it should look. I'd also happily do more captures from the NES if someone needs it. I've considered trying to make my own PAL filter, but I'm not sure I have the skills necessary for that.
Oziphantom
Posts: 1361
Joined: Tue Feb 07, 2017 2:03 am

Re: 2A07: A Space Odyssey

Post by Oziphantom »

I have raised your question on the internal chat with the demo devs, I will report back if there are any details.
lidnariq
Posts: 11069
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: 2A07: A Space Odyssey

Post by lidnariq »

An additional complication we've seen is that the colors generated by the various PAL PPUs before chroma merging are wildly divergent, and we haven't been particularly rigorous in mapping how the source PPU hues will map to HSL hues on differing scanlines, nevermind how they'd merge.

Here's (my) thread from 8 years ago: viewtopic.php?t=11018 I'd love to think someone's been more rigorous since.

I think we can take this demo has a formal request to include a PAL filter with more NES emulators :D
cmr
Posts: 7
Joined: Tue Jul 19, 2022 7:38 am

Re: 2A07: A Space Odyssey

Post by cmr »

Oh, interesting, so different 2C07 PPUs will produce different results? Is it a question of the revision of the PPU, or just general variability? I have just done measurements on my own scandinavian PAL NES so far, maybe I should look for one or more extra ones.

The use of PAL chroma merging is actually inspired by that thread! I created a program that had a two-color test image where I would loop through all combinations of colors and emphasis bits on even and odd scanlines. One interesting thing I found is that with many combinations of emphasis bits set, colors 01-0c when paired with black would create a darker version of the color than normally possible, which you can see in the water effect, bottom part of the screen. These colors would normally not merge with black when no emphasis bits are set.

I have also experimented with using it for image conversion, but one thing that makes it hard to use reliably is that for some combinations there's noise created at the borders between two colors - you can see this noise in the plasma effect.
lidnariq
Posts: 11069
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: 2A07: A Space Odyssey

Post by lidnariq »

cmr wrote: Tue Jul 19, 2022 11:56 am Oh, interesting, so different 2C07 PPUs will produce different results? Is it a question of the revision of the PPU, or just general variability? I have just done measurements on my own scandinavian PAL NES so far, maybe I should look for one or more extra ones.
I think it's the PPU revision.

We know of three first-party 2C07 revisions (-0, A, A-0) and we know that (one of?) the latter two have a different video DAC that makes them work better with the HiDefNES board, so I suspect the video DAC is faster, and thus the amount of hue shift as a function of brightness is smaller, or at least more consistent.

In my linked thread, there were two example images from different people, one showing net 30 degree error on alternating scanlines, and another showing net 60 degree error. One of them might have been one of the PAL famiclone PPUs too.
The use of PAL chroma merging is actually inspired by that thread!
=D
These colors would normally not merge with black when no emphasis bits are set.
... that's really confusing. Are you using $1D black or $xE/$xF black?
I have also experimented with using it for image conversion, but one thing that makes it hard to use reliably is that for some combinations there's noise created at the borders between two colors - you can see this noise in the plasma effect.
FrankenGraphics had this problem at some point - apparently modern-ish PAL TVs use a full comb filter and reinterpret anything it rejects as possible chroma information instead as luma: viewtopic.php?t=18406
User avatar
nesrocks
Posts: 521
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: 2A07: A Space Odyssey

Post by nesrocks »

Clicking the download link doesn't work. Tried it on chrome and opera.
Opening the link on a new tab doesn't work.
Copying the link, creating a new tab and pasting it. That worked.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
cmr
Posts: 7
Joined: Tue Jul 19, 2022 7:38 am

Re: 2A07: A Space Odyssey

Post by cmr »

lidnariq wrote: Tue Jul 19, 2022 12:52 pm We know of three first-party 2C07 revisions (-0, A, A-0) and we know that (one of?) the latter two have a different video DAC that makes them work better with the HiDefNES board, so I suspect the video DAC is faster, and thus the amount of hue shift as a function of brightness is smaller, or at least more consistent.
Interesting, RP2C07A-0 seems quite common, I should be able to find an NES with that or perhaps even find a chip to purchase. But RP2C07A seems very rare, I can't even find any photo of one, nor any place that would claim to sell one.
The use of PAL chroma merging is actually inspired by that thread!
=D
I should go and read it again and more thoroughly though, I read it a long time ago and then I went and did experiments on my own PAL NES.
These colors would normally not merge with black when no emphasis bits are set.
... that's really confusing. Are you using $1D black or $xE/$xF black?
It's all $0F black. I attached some captures from my dataset. It's an 8x8 grid of all combinations of emphasis bits (even/odd scanlines) when putting a certain colors on even and odd scanlines. 01-0f.png shows $01 on odd and $0f on even. Note that the output only depends on the emphasis used for $01, not $0f. My hypothesis has been that the closer in luma two colors are, the more they merge. The effect has been quite consistent between the PAL tuners I have tried, however that is not a lot - two capture devices, one modern flatscreen television. It's interesting that some people in the PAL chroma merging thread report that on their capture device, colors do not merge.
I have also experimented with using it for image conversion, but one thing that makes it hard to use reliably is that for some combinations there's noise created at the borders between two colors - you can see this noise in the plasma effect.
FrankenGraphics had this problem at some point - apparently modern-ish PAL TVs use a full comb filter and reinterpret anything it rejects as possible chroma information instead as luma: viewtopic.php?t=18406
The same effect can be seen in thefox's photo at viewtopic.php?t=11018&start=15, see the vertical lines and especially where they meet the horizontal lines. Maybe this is related to that pixels on neighboring scanlines don't line up, so there will be mixes of "transitional" colors in-between the colors you choose for the pixels?
Attachments
02-01.png
02-01.png (8.64 KiB) Viewed 895 times
01-02.png
01-02.png (9.12 KiB) Viewed 895 times
01-0f.png
01-0f.png (8.52 KiB) Viewed 895 times
0f-01.png
0f-01.png (6.71 KiB) Viewed 895 times
lidnariq
Posts: 11069
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: 2A07: A Space Odyssey

Post by lidnariq »

cmr wrote: Fri Jul 22, 2022 2:37 pm But RP2C07A seems very rare, I can't even find any photo of one, nor any place that would claim to sell one.
Hm, that might be in error. I just found another source that claims no-suffix, -0, and A-0. We might need to update the wiki.
Maybe this is related to that pixels on neighboring scanlines don't line up, so there will be mixes of "transitional" colors in-between the colors you choose for the pixels?
Sure, that's a good hypothesis. Nothing in the NES bandlimits the chroma one tries to generate, so you can change hue fast enough that the result won't decode as a valid color, especially on TV systems with a lower chroma frequency (NTSC, PAL-N, PAL-M)
cmr
Posts: 7
Joined: Tue Jul 19, 2022 7:38 am

Re: 2A07: A Space Odyssey

Post by cmr »

lidnariq wrote: Fri Jul 22, 2022 2:46 pm
cmr wrote: Fri Jul 22, 2022 2:37 pm But RP2C07A seems very rare, I can't even find any photo of one, nor any place that would claim to sell one.
Hm, that might be in error. I just found another source that claims no-suffix, -0, and A-0. We might need to update the wiki.


Cool. Forgot to mention, had to open up my NES to see what I have, turned out to be an RP2C07-0.
Maybe this is related to that pixels on neighboring scanlines don't line up, so there will be mixes of "transitional" colors in-between the colors you choose for the pixels?
Sure, that's a good hypothesis. Nothing in the NES bandlimits the chroma one tries to generate, so you can change hue fast enough that the result won't decode as a valid color, especially on TV systems with a lower chroma frequency (NTSC, PAL-N, PAL-M)
Interesting!
Post Reply