Questions about video and sound on Nestopia and on real NES/Famicom hardware
I've recently begun to get into NES/Famicom emulation, and I have a bunch of questions that I haven't found clear answers to, so I created this thread with the intention of finding some of these answers, and to help others who have similar questions to find answers for themselves.
Color Palette -- Every emulator I have tried so far has rendered games with different colors. Furthermore, there are people out there who are striving to make the perfect color palette (like AspiringSquire -> Link 1Link 2). Doesn't the NES/Famicom, when rendering an image, render a pixel with an exact color? Why don't emulators just look to that for the correct color palette?
Aspect Ratio -- The TV Aspect option doesn't work exactly right in Nestopia. This can be tested with either Kirby's Adventure (the circle drawn in the game's opening) or tvpassfail. To clarify, it does work properly for 1X and 2X screen sizes, but not 3X, 4X, Max, or Fullscreen for any resolution over 640 x 480 (but I'm not sure if it works for resolutions lower than 640 x 480). Does anyone know if this option will be fixed?
Sound Effect (specific instance) -- So far, my video questions are much more pressing. Regardless, I've noticed that the sound effect for throwing fireballs in Super Mario Bros. is off in Nestopia, but sounds correct in FCE Ultra. I find it hard to believe this problem could have gone unnoticed for such a popular game, so what am I doing wrong? My sound settings are all at their defaults.
If any other questions pop up, I'll add them here. I'll also throw any answers I get up here for people to see.
The NES directly generates an NTSC signal, it is never in an "RGB" form. However, Nestopia has something better than any palette can do! A couple years ago, an NTSC emulator was developed by a guy named Blargg, which can quite accurately reproduce NES video.
To enable, go into the video options and for the "Filter" item, select NTSC.
For filter settings, I use: Field Merging - Auto Scanlines - 50 Tuning - Auto TV-Aspect - checked Bilinear Interpolation - unchecked
Some of my other video settings: 32-bit color Memory Pool - Video (this basically does free bilinear interpolation) Palette - Auto Monitor Frequency - Auto
I'm not sure if this is neccesary, but if NTSC filter behaves strangely for you (like odd flickering), set your monitor refresh rate to 60Hz
I've tried that, but I thought it wasn't what I was looking for.
Although, you're saying the image the NES/Famicom renders looks like that from the very start (NTSC filter), even before the signal leaves the PPU? This makes me wonder how the Wii Virtual Console emulates the NES/Famicom, because it surely doesn't look like that (NTSC filter), and I'd assume Nintendo's in-house emulator for their own system would probably be the most accurate.
No. He's saying the NES/Famicom generates NTSC video, and when processed through a television it will look just like what Blargg's NTSC emulator does. If you use the Wii with a composite cable, it's similar (but not identical) to what a real NES would also output over composite, but in both cases it's the distortions caused by an NTSC TV that do the "magic". (This is also why Virtual Console looks like complete ass if you use an HD component cable on the Wii like I do).
I like the look of Virtual Console over component video. It gives a very crisp picture, and I believe that's similar to what I'm looking for from an NES/Famicom emulator -- I want the color accuracy of the image the actual NES/Famicom hardware renders, but without the NTSC artifacts. Basically, I want clear and defined pixels, along with the exact colors that the NES generates images at.
Now, a couple of more questions:
1) Although the NES/Famicom generates NTSC video, don't most consoles (especially after the NES/Famicom) generate video in an RGB format?
2) Can anyone explain how the Sharp Famicom Titler works? It outputs Famicom games over S-Video... How does it do this? Does it render games the same way a normal NES/Famicom does, then convert the YUC signal to a Y/C signal for S-Video output? Or does it do something else? Or am I misunderstanding something?
Here's your problem: the exact colors generated by an NES/Famicom *are* NTSC artifacts. Virtual Console over component is exactly what NES games are NOT supposed to look like, but if you just turn off all the filters you'll get something similar in NEStopia. The artists for NES (and SNES and Genesis) games drew the graphics to look good *with* NTSC artifacts. In that way they could achieve colors and blending effects that weren't actual hardware features until much later consoles.
And so that's why people are striving to create the best palette? They want to get the image as close as possible to the actual colors of an NES/Famicom without having all the NTSC artifacts?
I've only really looked into NES emulation, but if I'm understanding this correctly, then the same isn't necessarily true for SNES emulation, right? The SNES supports RGB output, and renders games in RGB format, so there is no quest for a correct palette, right?
All that said, exactly how does the Virtual Console achieve its NES emulation? What kind of a palette does it use? And of the available palettes for NES emulators, which is the closest to true NES colors (YUV in Nestopia? Something else?)?
Unfortunately, I don't have a working NES right now to compare the actual output to an emulator palette, but if I did, how would I best go about that?
Yeah the SNES uses RGB internally, as do most other later consoles AFAIK.
No NES palette will give you the best colors in every case. Before NTSC emulation, I too was trying to create an accurate as possible palette, and you just run yourself in circles. You tweak it for one game, and that makes another game worse.
If you don't like the gritty NTSC look, you could also try going into the NTSC filter settings and turn Auto-Tuning off and then hit the "RGB" preset button.
I took your advice and tried checking the Auto option in Tuning to off for the NTSC filter and switching to the RGB preset in the NTSC filter settings, but as far as I can tell, all that does is produce the same picture as the Standard filter, just with a slight blur. The blur isn't as bad as having bilinear interpolation checked to on for the Standard filter, though.
I tried to use the color palette for the NES found on Wikipedia (scroll down), but it looked incorrect, like it was too red or orange, at least on the Super Mario Bros. title screen.
Also, in Nestopia, where do the YUV and RGB Palettes come from that come default with the emulator? Who created them and what did they base them on?
If I had to guess, the built-in YUV and RGB palettes were also based off the NTSC filter. That's probably why the picture using NTSC RGB preset looks the same as the standard filter. You'd probably get a blurring effect if your using video memory, if that's the case, try switching it to system memory and that should fix it.