Okay, this idea just came to me this morning, and I don't know whether it's been done before or just impossible, but here it is:
Would it be possible to have an NES emulator generate the PPU's final NTSC video output, send that outside (through the parallel port and a DAC?), and plug it into a real TV? Emulating to a monitor just doesn't look the same. The colors are different, and scanlines, distortion, aspect ratio, and blocked scanlines are all simplified hacks. Since all of those are related to the NTSC signal and how a TV interprets it, this method could make emulation more authentic. Has this been done? Would it work?
Wouldn't it just be easier to get a NTSC video-out card?
Yeah, they are pretty cheap now days.
Seems like alot more work than you need.
My laptop has s-video output, so I play NES on the TV through it, feels good. Not sure about authentivity however, amazing enough I havn't seen a real NES running on a TV in about 10 years.
How this happened I'm not sure.
Good luck getting the emulator hooked up to a TV to look exactly like a real NES hooked up to the same TV. I experimented with this a while ago, using FCE Ultra for the Xbox and a real toaster NES, both on the same TV, both playing Super Mario Bros. Even after completely tweaking all settings, I could still tell which game was the emulated version, just by the look of the video alone. The colors were off and the emulated video was blury by comparison. I think the blur came from the fact that I had to enabled anisotropic filtering as I had to be able to freely scale the video to get the aspect ratio and overscan to match the real NES's exactly.
To be honest, I didn't do extensive comparisons on the audio, just because I was so disappointed with how different the video looked. Also, don't forget that you will have a hell of a time getting NES peripherials to work. Sure it would be easy to get basic game controllers working with your emulator, but what about lightguns, power gloves, etc?
Even after all of these years, nothing beats the original hardware.
I doubt an NTSC card can be put into a non-interlace mode like the NES uses, and forget about accurate reproduction of the color shimmer of a NES.
Oh sorry, you're right blargg, I didn't think of that.
I have used emulators through my video card's TV out, but the color shimmer, overscan, and odd frame rate can't really be duplicated that way. Has the PPU been studied to enough depth to be able to generate its NTSC video signal? I'd think it wouldn't involve too much processing beyond being able to draw the output in a window. As for output, would the parallel port with a DAC work in practice? Is 8 bits enough precision for the video signal to still look good, and can the parallel port run fast enough?
not really (on 8 bit DAC), although even 2 bits (on a non-linear scale) is enough to generate B/W NTSC, and no (on parallel speed)
If you're insistent on this course of action (and a real NES is just going to work better no matter what), check out bripro's NES PPU ISA card. He wired up a 2C02, RAM, and the relevant latches and buffers onto an ISA card for use in a PC. True NTSC NES video output, since it's using an actual PPU, but it can't be used in the way you want, since it needs at least CHR bankswitching hardware implemented in hardware. All it allows to be emulated is the PRG and CPU hardware. You'd have to run dos, linux, or write some hairy kernel drivers to be able to respond reliably in realtime to the NMI line, and doing mid-screen scrolling or other ppu tricks is going to be even worse.
I use NesterDC. You'd need a SEGA Dreamcast, a Joypad, VMU and a CDR, but all of those are very cheap these days.
This tutorial should do:
http://dcemulation.com/files/emulators/NesterDC.exe (avoid the PAL hack, the NTSC version is the original and works flawless on all DCs)
Btw, we at
www.DCEvolution.net plan to release a nice NES image with lots of NES goodies thrown in this weekend