NES PC Emulation woes - help?

#1
Sad but true: near as I can tell, in 2014, there is basically no PC Emulator for the NES that gets you to the quality of, say, ZSNES in terms of emulation smoothness, sound quality, widescreen compatibility, and input lag.

Nestopia: You must choose between horrific input lag or screen tearing, and even an unofficial patch, which has been taken down, only mitigated the problem.

VirtuaNES: Without a doubt, the smoothest emulation experience there is. No lag, no tearing, just buttery NES goodness. Although I have to set it to use a custom palette for accurate color emulation (namely, FCEUX.pal). The problem - if you're on a widescreen monitor/HDTV, and you'd like to play fullscreen, you have to choose between having the graphics fattened/stretched to 16:9, or having "nearest multiple" zooming (usually 3x) which leaves black bars at the top and bottom of the screen.

FCEUX aka FCE Ultra - The FCEUX.pal color palette is the best color adaptation of the old NES colors and is a must-own, it stretches to widescreen with aspect ratio correction in tact, and there's no input lag. There is, however, minor choppiness in the screen scrolling, even with sync turned on. Not tearing, mind you, but what appears to be dropped frames. But even worse is the awful, awful sound crackling. It's really distracting and really awful.

Nintendulator: Seems great all around except for one major flaw: fullscreen mode doesn't even zoom in or enlarge the graphics in any way. In fullscreen mode you get 1:1 pixel mapping, which at 1920x1080 means the NES output is rendered in a ridiculously small box at the center of the screen.

Jnes: About as good as it gets, and what I end up using most of the time, but it has major problems with emulation accuracy, particularly in the sound department. Just the way it mangles some of the timeless music (for example, adding a weird bongo hit at the end of the "death song" in Super Mario Bros), or bizarro sprite overlay issues, it's really too bad. Because it has no lag, scales great, you can use FCEUX.pal to get good color, the sound rendering is high-quality (even though the sounds being rendered are inaccurate), and it's mature enough to have very good compatibility. You basically get a very high-fidelity version of a bad facsimile of the original game.

If anyone knows of fixes for the first four emulators' problems, it would be great to know about them so I can get away from Jnes. Or maybe there's one I haven't mentioned that is worth giving a shot. Anyone else have these problems? What are you using?

Other systems have very good emulators -- MAME, ZSNES, Fusion, I can't complain about at all. Somehow the NES, despite being older hardware, is missing a standard bearer.

Update: The answer is: RetroArch with these settings!
http://www.neogaf.com/forum/showpost.php?p=102120536&postcount=32
 
#5
I cant remember getting any crackling sound in FCE Ultra. Do you get this with every game or just some? If the latter, which games are you getting it on?
All. It goes away if you turn off VBlank or any other synchronization scheme. Supposedly it goes away if your refresh rate is set to 75hz. However, my HDTV (and many modern LCD monitors) don't support such a refresh rate.

ZSNES is a shitty SNES emulator. Try Higan (cycle accurate emulation). Which also features NES, GB, GBC, GBA emulation.
Will do, thanks!

Kinda way ahead of you bro
 
#6
ZSNES is a shitty SNES emulator. Try Higan (cycle accurate emulation). Which also features NES, GB, GBC, GBA emulation.
My god this... Zsnes was only ever "good" in the sense that it was faster on machines back when 200mhz was the norm... It's a horrible emu to compare any others to.

Use Higan.
 
#7
Okay, you gotta be kidding with Higan, right?

a) The color emulation sucks (why is the sky nearly purple in SMB?) and there's no ability to use a custom palette.
b) It's way of dealing with overscan is to put a black mask over it - not to just clip the screen by 8px and zoom in
c) No fullscreen mode. Seriously wtf.
d) You have to "import" every game you want to play into its proprietary library.
e) Whatever benefits you think there might be in "cycle accurate" emulation are moot because even "balanced" NES emulation runs at 46fps on an Alienware Aurora from 2013, so you have to use the "performance" emulator build, which negates the whole purpose.
f) Even the performance emulator build has choppy scrolling, comparing unfavorably to much older "less accurate" emulators such as VirtuaNES.

Thanks for the rec, but nah.
 
#8
Okay, you gotta be kidding with Higan, right?

a) The color emulation sucks (why is the sky nearly purple in SMB?) and there's no ability to use a custom palette.
b) It's way of dealing with overscan is to put a black mask over it - not to just clip the screen by 8px and zoom in
c) No fullscreen mode. Seriously wtf.
d) You have to "import" every game you want to play into its proprietary library.
e) Whatever benefits you think there might be in "cycle accurate" emulation are moot because even "balanced" NES emulation runs at 46fps on an Alienware Aurora from 2013, so you have to use the "performance" emulator build, which negates the whole purpose.
f) Even the performance emulator build has choppy scrolling, comparing unfavorably to much older "less accurate" emulators such as VirtuaNES.

Thanks for the rec, but nah.
I just... I don't even... Higan's not that demanding on the NES side so I'm kind of blown away.
 
#9
Okay, you gotta be kidding with Higan, right?

a) The color emulation sucks (why is the sky nearly purple in SMB?) and there's no ability to use a custom palette.
b) It's way of dealing with overscan is to put a black mask over it - not to just clip the screen by 8px and zoom in
c) No fullscreen mode. Seriously wtf.
d) You have to "import" every game you want to play into its proprietary library.
e) Whatever benefits you think there might be in "cycle accurate" emulation are moot because even "balanced" NES emulation runs at 46fps on an Alienware Aurora from 2013, so you have to use the "performance" emulator build, which negates the whole purpose.
f) Even the performance emulator build has choppy scrolling, comparing unfavorably to much older "less accurate" emulators such as VirtuaNES.

Thanks for the rec, but nah.
F11 is fullscreen.
 
#10
You say the color emulation sucks, and you also mention PAL color profiles. Are you sure it's not just that you're used to PAL colors? PAL NESs have way paler colors than an NTSC NES, something I discovered when I bought my NTSC NES. For example it was especially noticeable with the yellow in the title screen of SMB3. On an NTSC NES it's WAY more yellow than on a PAL NES. Much warmer colors.
 
#12
You say the color emulation sucks, and you also mention PAL color profiles.
No, I mentioned .pal files, which are custom palettes. It could be that I'm spoiled by using FCEUX's color emulation as my baseline, but I would describe it as accurate to my memory and much more vivid than the washed out pastels of many emulators' built-in colors. See the screenshot below for an example. :)

F11 is fullscreen.
Ah thanks.

I just... I don't even... Higan's not that demanding on the NES side so I'm kind of blown away.
That reaction gave me pause so I tried again and at least whatever that issue was appears to have cleared up. It was running like hell on first boot up, and using "Analyze" under Timing revealed a refresh rate of ~46hz. Bizarre. The other problems still stand though, and not only that, but it's got pretty choppy syncing - again, not nearly as smooth as VirtuaNES. Try for yourself. I don't think Higan is for me.

Oh, and yes, the sky is most definitely fucked in SMB. Sorry.
 
#13
All. It goes away if you turn off VBlank or any other synchronization scheme. Supposedly it goes away if your refresh rate is set to 75hz. However, my HDTV (and many modern LCD monitors) don't support such a refresh rate.
I see. I tried it now again, and i noticed that the sound might crackle a few places, but overall its 99% fine from what i tested now.

If you dont find any good NES emulator, there is always the option to get the PowerPak for NES:

http://www.retrousb.com/product_info.php?cPath=24&products_id=34

It cost some money, but it allows you to play on real NES hardware. I dont have any experience with it, but i havnt read anything negative about it (i havnt really followed it very closely either though to be honest).
 
#14
I see. I tried it now again, and i noticed that the sound might crackle a few places, but overall its 99% fine from what i tested now.

If you dont find any good NES emulator, there is always the option to get the PowerPak for NES:

http://www.retrousb.com/product_info.php?cPath=24&products_id=34

It cost some money, but it allows you to play on real NES hardware. I dont have any experience with it, but i havnt read anything negative about it (i havnt really followed it very closely either though to be honest).
I have one. It's great. But there hasn't been any active development on the firmware in years now. These days I'd look into an Everdrive instead since that seems to be the new kid on the NES Flashcart block.
http://krikzz.com/index.php?route=product/product&product_id=59

But again, the Powerpak is indeed awesome. Just the Everdrive seems a little awesome-er.
 
#15
I have one. It's great. But there hasn't been any active development on the firmware in years now. These days I'd look into an Everdrive instead since that seems to be the new kid on the NES Flashcart block.
http://krikzz.com/index.php?route=product/product&product_id=59

But again, the Powerpak is indeed awesome. Just the Everdrive seems a little awesome-er.
Cool, thanks for the info :) I didnt know that there was another flashcart for the NES, i thought the PowerPak was the only one.
 
#16
I see. I tried it now again, and i noticed that the sound might crackle a few places, but overall its 99% fine from what i tested now.

If you dont find any good NES emulator, there is always the option to get the PowerPak for NES:

http://www.retrousb.com/product_info.php?cPath=24&products_id=34

It cost some money, but it allows you to play on real NES hardware. I dont have any experience with it, but i havnt read anything negative about it (i havnt really followed it very closely either though to be honest).
I love retrousb and I have a few of their things. That's a pretty novel device, but it's really not about having a bunch of "free games" - it's just the quality/customizability of the experience that you can get through emulation. For example, the old NES hardware looks terrible when upscaled to an HDTV, but run it in an emulator (in a way that doesn't produce bilinear filtering) and you can get amazing results. In fact I'd argue that all pre-HD consoles are better-looking in emulated form on an HDTV; with nearest-neighbor filtering you get fantastic upscaling of 2D assets, and with higher resolutions you get wonderful upscaling of 3D assets. I appreciate the suggestion though, thanks man.
 
#17
Having owned both PowerPak and Everdrive, Everdrive wins hands down.
And since Everdrive is available in Famicom flavor, that's a huge plus for me.

I'd also like to point out that you could just get a good CRT for next to nothing and slap an NESRGB board into your FC / NES for the best picture that no upscaling can ever match.
 
#18
I love retrousb and I have a few of their things. That's a pretty novel device, but it's really not about having a bunch of "free games" - it's just the quality/customizability of the experience that you can get through emulation. For example, the old NES hardware looks terrible when upscaled to an HDTV, but run it in an emulator (in a way that doesn't produce bilinear filtering) and you can get amazing results. In fact I'd argue that all pre-HD consoles are better-looking in emulated form on an HDTV; with nearest-neighbor filtering you get fantastic upscaling of 2D assets, and with higher resolutions you get wonderful upscaling of 3D assets. I appreciate the suggestion though, thanks man.
You could look into this little device called the Framemeister if you were hell-bent on playing on original hardware on an HDTV. But it sounds like you're not. Still, it's an option.

And it's not about free games, it's about emulators never feeling completely right/accurate, as you've discovered.
 
#19
You could look into this little device called the Framemeister if you were hell-bent on playing on original hardware on an HDTV. But it sounds like you're not. Still, it's an option.

And it's not about free games, it's about emulators never feeling completely right/accurate, as you've discovered.
Even in the best of cases, upscalers introduce up to 1-2 frames of lag, which is just ruinous for games like Super Mario Bros or Gradius or any action game, really. It's an option, as you say. But with emulation, your source material is already digital, so you've cut out the middle man; thus, if you are running a well-coded emulator and have your TV set to game mode, the results are just amazing. When it works! It's just a shame because VirtuaNES gets you so close, it just needs to have the right aspect ratio. For all the shit I see ZSNES getting, I'm sorry, but it runs more smoothly and with less lag than Higan, and its accuracy isn't like Jnes-level of badness. Some coders are very good at getting into translating all the old opcodes and assembly, others are more traditional PC devs who make excellent video and input systems, and the latter is making a lot of the difference for me.

I flirt with the idea of getting a big ol' CRT monitor and having a "classic gaming station" with all the old hardware hooked up. But man, space is at a premium where I live (San Francisco) and that's hard to justify.
 
#20
You could look into this little device called the Framemeister if you were hell-bent on playing on original hardware on an HDTV. But it sounds like you're not. Still, it's an option.

And it's not about free games, it's about emulators never feeling completely right/accurate, as you've discovered.


why is it that all awesome sounding devices that i need are made by Micomsoft and ridiculously expensive?

This company could make some serious dough if they'd make more than 1000 units of it and charge something reasonable.
 
#21
Yeah I feel you. It's just not possible for everyone to make room for a CRT even though that would be the best solution. And those upscalers are expensive as hell too. I guess you could get one of those old Amiga monitors with RGB SCART in the back. They are pretty small and the picture quality is really good.
 
#22
I flirt with the idea of getting a big ol' CRT monitor and having a "classic gaming station" with all the old hardware hooked up. But man, space is at a premium where I live (San Francisco) and that's hard to justify.
Get a small CRT, then. Personally, I'm rocking a 42" LCD for modern games and a 21" CRT (Sony PVM Monitor) that's hooked up to my FC / SNES / DC / SS / GC / PSX / PS2 / Wii.

You could even get a 14" and put that on your desk or something, like this:


Honestly, CRT gaming with RGB is the best. No lag, no movement issues and razor sharp image.
 
#23
You could look into this little device called the Framemeister if you were hell-bent on playing on original hardware on an HDTV. But it sounds like you're not. Still, it's an option.

And it's not about free games, it's about emulators never feeling completely right/accurate, as you've discovered.
why is it that all awesome sounding devices that i need are made by Micomsoft and ridiculously expensive?

This company could make some serious dough if they'd make more than 1000 units of it and charge something reasonable.
Upscaling hardware with pixel accuracy on 240p sources and extremely low input lag is expensive no matter what. Its not a simple task to process 240p frames into 1080p with scanlines in 1/60 of a second.

Op sounds like he would be better served trying to find a small CRT and an everdrive.

The Sony trinitrons at 13-17 inches don't take up a lot of room and the games look fantastic on smaller screens with higher pixel density because of their resolution, Even without rgb modding the nes.p
 
#24
If anyone knows of fixes for the first four emulators' problems, it would be great to know about them so I can get away from Jnes. Or maybe there's one I haven't mentioned that is worth giving a shot. Anyone else have these problems? What are you using?
Have you tried using RetroArch?
While it's not the easiest emulator to use, it has a few NES emulation cores to choose from (including Nestopia and FCE Ultra, I believe) while using it's own input and graphic systems.
 
#25
Upscaling hardware with pixel accuracy on 240p sources and extremely low input lag is expensive no matter what. Its not a simple task to process 240p frames into 1080p with scanlines in 1/60 of a second.
Well, even so. They are expensive. I don't care why they're expensive, they just are. :p
 
#26
VirtuaNES: Without a doubt, the smoothest emulation experience there is. No lag, no tearing, just buttery NES goodness. Although I have to set it to use a custom palette for accurate color emulation (namely, FCEUX.pal). The problem - if you're on a widescreen monitor/HDTV, and you'd like to play fullscreen, you have to choose between having the graphics fattened/stretched to 16:9, or having "nearest multiple" zooming (usually 3x) which leaves black bars at the top and bottom of the screen.
I just tried VirtuaNES Plus 130126, downloaded from emucr and it seems to work nicely. Stretches correctly to fullscreen without black bars, unless I'm missing some option.
 
#27
Upscaling hardware with pixel accuracy on 240p sources and extremely low input lag is expensive no matter what. Its not a simple task to process 240p frames into 1080p with scanlines in 1/60 of a second.

Op sounds like he would be better served trying to find a small CRT and an everdrive.

The Sony trinitrons at 13-17 inches don't take up a lot of room and the games look fantastic on smaller screens with higher pixel density because of their resolution, Even without rgb modding the nes.p

ah, i see.

yeah, i'm going for a trinitron wega as a solution. i'd love to get the 22" incher with component inputs. only weighs 60 lbs!
 
#28
Sad but true: near as I can tell, in 2014, there is basically no PC Emulator for the NES that gets you to the quality of, say, ZSNES in terms of emulation smoothness, sound quality, widescreen compatibility, and input lag.

Nestopia: You must choose between horrific input lag or screen tearing, and even an unofficial patch, which has been taken down, only mitigated the problem.
I used to get input lag in Windows 7, but 8.1 seems to have done away with that. Tell me it's not because of Aero.
 
#29
I used to get input lag in Windows 7, but 8.1 seems to have done away with that. Tell me it's not because of Aero.
I'm playing Nestopia on Linux with video filtering and vertical sync, but I'm not noticing any input lag at all. I suppose it could be Aero (?)...
 
#30
I just tried VirtuaNES Plus 130126, downloaded from emucr and it seems to work nicely. Stretches correctly to fullscreen without black bars, unless I'm missing some option.
Actually, I *want* black bars -- but only on the left and right side. "As tall as possible while keeping the right aspect ratio" is the name of the game. It's nice to have a souped-up VirtuaNES though; it's an amazing emulator. Thanks!!

I used to get input lag in Windows 7, but 8.1 seems to have done away with that. Tell me it's not because of Aero.
Can't say that Win 8 wouldn't be better, but I am on the Windows 7 Basic Theme which turns off Aero, so I don't think that's a factor.
 
#31
Actually, I *want* black bars -- but only on the left and right side. "As tall as possible while keeping the right aspect ratio" is the name of the game. It's nice to have a souped-up VirtuaNES though; it's an amazing emulator. Thanks!!


Can't say that Win 8 wouldn't be better, but I am on the Windows 7 Basic Theme which turns off Aero, so I don't think that's a factor.
Ah, I see. Now that I've tampered with the options a bit more and compared how it looks, the closest I can get is by choosing the 1280x960 resolutionand check "Fit screen". With this the black bars are only on the sides but the pixel aspect ratio is not correct.

It seems that VirtuaNES only renders the games at 256x224 (NTSC) so when you choose a valid 4:3 fullscreen resolution it's already wrong since 256x224 is 8:7 I think. The problem is that it stretches the image according to the resolution you've chosen (every resolution gives different results in fullscreen) for some reason, it's pretty weird.
I'm seeing your problem OP. I haven't played with NES emus in a while and I haven't noticed these imperfections but now it bugs the hell out of me. The thing is, you can even set a custom resolution in VirtuaNES' ini file but your monitor will most likely not be able to work in a ratio correct 8:7 resolution. 1280x960 gives a nice result I guess.

EDIT:
I'm sure you're already aware of all of this since you said it's not the correct aspect ratio, just posting my findings.

The first image is how it looks like in stretched fullscreen @1280x960, the second is 256x224 resized to match the height. The colors are also different, I'm guessing because of the scanlines in fullscreen.

 
#32
Have you tried using RetroArch?
While it's not the easiest emulator to use, it has a few NES emulation cores to choose from (including Nestopia and FCE Ultra, I believe) while using it's own input and graphic systems.
Sorry for the bump, but in case anyone was wondering -- THIS WAS THE ANSWER!

RetroArch with these settings:

Integer Scale - Off
Core-Provided Aspect Ratio
VSYNC On
Hard GPU Sync On
Threaded Driver On
Crop Overscan On
Shader Options - set to "Nearest"

And using the FCEUmm Core -- produces *the* best NES emulation experience I have ever had. What's great is, those settings are then locked for any other system you care to emulate, and it does GBA (via VBA Next), GB/GBC (via Gambatte), Genesis/Mega Drive (via Genesis Plus GX), Turbo-Grafx/PC-Engine (via Mednafen PCE Fast), and SNES (via SNES 9x Next) all very well. You'll have lagless, buttery-smooth sync at the right aspect ratio, no fuzzy filtering, scaled to your widescreen LCD perfectly.

You gotta get used to the menu system, and it doesn't seem to have turbo button functionality, but that's the worst I can say. Knurek - thanks so much!
 
#33
Sorry for the bump, but in case anyone was wondering -- THIS WAS THE ANSWER!

RetroArch with these settings:

Integer Scale - Off
Core-Provided Aspect Ratio
VSYNC On
Hard GPU Sync On
Threaded Driver On
Crop Overscan On
Shader Options - set to "Nearest"

And using the FCEUmm Core -- produces *the* best NES emulation experience I have ever had. What's great is, those settings are then locked for any other system you care to emulate, and it does GBA (via VBA Next), GB/GBC (via Gambatte), Genesis/Mega Drive (via Genesis Plus GX), Turbo-Grafx/PC-Engine (via Mednafen PCE Fast), and SNES (via SNES 9x Next) all very well. You'll have lagless, buttery-smooth sync at the right aspect ratio, no fuzzy filtering, scaled to your widescreen LCD perfectly.

You gotta get used to the menu system, and it doesn't seem to have turbo button functionality, but that's the worst I can say. Knurek - thanks so much!
Retroarch needs to take a masterclass on usability as it's daunting as fuck and annoying to use. Having to manually configure each core is so god damn annoying.
 
#34
Retroarch needs to take a masterclass on usability as it's daunting as fuck and annoying to use. Having to manually configure each core is so god damn annoying.
I only have to set the video settings once and they're good to go for all cores! There's some setting about per-core config files, which I just leave turned off. Maybe that's the problem?
 
#36
This thread is a bit of an eye-opener for me. I intend to at some point start emulating NES and SNES games on my HTPC in an attempt to get them to not look like shit on my HDTV, and I assumed SNES and NES emulation was mature to the point of being nearly flawless by this point. Even then though, I'm only using it for games I can't get on Virtual Console.
 
#38
No, I mentioned .pal files, which are custom palettes. It could be that I'm spoiled by using FCEUX's color emulation as my baseline, but I would describe it as accurate to my memory and much more vivid than the washed out pastels of many emulators' built-in colors. See the screenshot below for an example. :)

Ah thanks.


That reaction gave me pause so I tried again and at least whatever that issue was appears to have cleared up. It was running like hell on first boot up, and using "Analyze" under Timing revealed a refresh rate of ~46hz. Bizarre. The other problems still stand though, and not only that, but it's got pretty choppy syncing - again, not nearly as smooth as VirtuaNES. Try for yourself. I don't think Higan is for me.

Oh, and yes, the sky is most definitely fucked in SMB. Sorry.
What's up with those colors on the left? Here's SMB1 running on an NES, looks more like the picture on the right:

https://www.youtube.com/watch?v=66NPD7dgtIY
 
#39
What's up with those colors on the left? Here's SMB1 running on an NES, looks more like the picture on the right:

https://www.youtube.com/watch?v=66NPD7dgtIY
My guess is that probably has more to do with their capture hardware's color space. The NTSC NES ran on YIQ; most PC hardware is (and LCD TVs are) RGB - and many emulators that don't make an effort beyond raw color space conversion (as most hardware will not do) - especially when trying to match some of the NES's out-of-gamut colors -- end up looking like the one on the right, which looks way off to me. You'd have the same problem hooking an old NES up to an LCD, for the same reason.

I don't remember the sky being lavender and the hills being evergreen and the bricks being shit brown and Mario being maroon-colored. It was a bright, primary color palette - like the one they've been using in New Super Mario Bros ever since. I don't think if you were to hook up an old NES to a CRT TV (or perhaps consult old Nintendo Power screenshots) you would see anything like that.

All this said - it's basically subjective. The past was then; the nice thing about emulation is how you can customize your experience. FCEUX's color is perfect, to me, which is why I'm stoked that it's one of the cores in RetroArch, but hell, do as you will.

If you wanna geek out on this topic, there's a great thread on it over at nesdev.com: http://forums.nesdev.com/viewtopic.php?f=21&t=7261
 
#40
My guess is that probably has more to do with their capture hardware's color space. The NTSC NES ran on YIQ; most PC hardware is (and LCD TVs are) RGB - and many emulators that don't make an effort beyond raw color space conversion (as most hardware will not do) - especially when trying to match some of the NES's out-of-gamut colors -- end up looking like the one on the right, which looks way off to me. You'd have the same problem hooking an old NES up to an LCD, for the same reason.

I don't remember the sky being lavender and the hills being evergreen and the bricks being shit brown and Mario being maroon-colored. It was a bright, primary color palette - like the one they've been using in New Super Mario Bros ever since. I don't think if you were to hook up an old NES to a CRT TV (or perhaps consult old Nintendo Power screenshots) you would see anything like that.

All this said - it's basically subjective. The past was then; the nice thing about emulation is how you can customize your experience. FCEUX's color is perfect, to me, which is why I'm stoked that it's one of the cores in RetroArch, but hell, do as you will.
Well this is from what I read, but apparently the NES actually encodes an NTSC signal which the television needs to decode, rather than sending a pure RGB signal like say the SNES. In practice, this means that the colors of the NES palette will vary slightly depending on the NTSC television's decoder. My father, who works in television, jokingly referred to NTSC as "Not Twice the Same Color" which is an accurate description for the most part of the NTSC decoder's flaws.