TASEmulators / fceux

FCEUX, a NES Emulator
http://fceux.com
GNU General Public License v2.0
1.23k stars 253 forks source link

Is the dark filter in games like Immortal and Magician "proper emulation"? #607

Closed ReyVGM closed 1 year ago

ReyVGM commented 1 year ago

This not an issue, just a question about games like Immortal and Magician, which have a dark filter that makes everything look dull and washed out.

I ask because I've seen images of these games on magazines of the era and they look bright and colorful like every other NES game. So I'm wondering if this dark filter a bug or "proper emulation"?

To me it looks like a bug, because look how the save state menu looks on the latest FCEUX version, and then see how it looks on an old version of FCEU before the dark filter was introduced.

If the dark filter is "proper emulation", then why does it also affect the emulator's save state menu? Does anyone know?

New Bitmap Image

zeromus commented 1 year ago

dark is proper. it's not a "filter" its a PPU operating mode. it affects how the savestate slots work because that part of fceux is verrrrrrrrry old and tries to draw by using the available nes palette colors because it was designed to display on an 8 bit monitor.

ReyVGM commented 1 year ago

Thanks for the reply.

However, if it's proper, how come when the games were shown in old magazines, the images looked bright and poppy like how regular games look? Is the darkness something that didn't happen in real hardware?

Also, how come other "accurate" emulators don't emulate the darkness too? I checked Nestopia and Bizhawk (quicknes) and the games look bright and not dark.

zeromus commented 1 year ago

Are you really comparing magazine pictures to modern digital perfect output on an LCD monitor? This isn't even a valid comparison. They may have brightened it up so it was a clearer picture for printing. TVs may have been so crude that the small differences werent noticeable. They may have said "why is this game dim" and twisted the brightness knob on their monitor.

quicknes is not the most accurate emulator in the world nestopia is mostly older than most of the known details of deemph emulation.

Old docs said deemph=7 -> darkens Apparently bisqwit's more up to date emulation has deemph=3 -> darkens because that's what magician is using and that's what it's doing. You're welcome to use any 512 color palette you want, including one which emulates less accurate deemph. bisqwit's code simulates the NTSC electrical signal. I'm sure that code has been checked against televisions.

I checked mesen. I dont know why mesen draws it bright, I guess its deemph is not up to date either.

On punes, it looks quite like fceux's deemph=2 (green only) on the characters but if you check the text it's emphasized red and blue (that's what deemph 3 does). And check the text on fceux: again, even though it looks pretty greyscale, actually red and green are emphasized. (172,172,137)

zeromus commented 1 year ago

Well, in fairness, it seems I had to make some modifications to bisqwit's code to jam it in fceux, but I don't think I'm wrong. If you check what it does for deemph=3 (check i=3 in ApplyDeemphasisComplete) youll see he comes up with e.g. rt,gt,bt = 45,46,30 (note red and green emphasized) for color 0 (x=0) on pass 1 (that is, deemph=3 applied), compared to 82,82,82 on pass 0 (that is, deemph=0 applied). Thus red+green is emphasized and the whole is darkened. That's my re-analysis of what I did there years ago. Trace the code yourself and see if you find a mistake.

ReyVGM commented 1 year ago

Thanks for the info. I'm not doubting your expertise, I was just curious why there's so much discrepancy between (allegedly) more modern emulators (like Mesen) when compared to FCEUX. But if that's the proper way, then that's the proper way.

You can close this "issue" if you want since you already explained everything.