I have an arcade cabinet with a 16 year-old 27" Sony/Trinitron CRT television (NTSC) attached over S-Video to my Lakka PC. Initially I couldn’t get Lakka to sync with the CRT and had to modify extlinux.conf to include the parameter “nouveau.tv_norm=NTSC-M video=TV-1:640x480@60i”. That post and the full thread is here:
http://libretro.com/forums/showthread.php?t=5899&page=2&p=39949&viewfull=1#post39949
My goal is to as closely as possible replicate the way the original consoles/machines sent video output to an NTSC CRT television. So first some questions:
[ol] [li]The original machines had various odd resolutions and had to run games on either PAL or NTSC CRT televisions, which support both different resolutions and refresh rates. How did the consoles (or the games themselves) accomplish this, or were all these odd resolutions in fact valid PAL or NTSC modes?[/li][li]How would, for example, the PAL and NTSC versions of “The Legend of Zelda” differ, or would only the PAL and NTSC consoles differ by up/down-scaling the game to comply with a valid resolution? Or perhaps both the consoles and the games were PAL/NTSC-specific?[/li][li]Did NTSC consoles all output 640x480, upscaling their content, or did they output their games’ native resolutions which were valid NTSC modes and the CRT switched to lower resolutions?[/li][li]Was the phosphor resolution of most CRT televisions at the time of classic consoles 640x480?[/li][li]Is it possible, either with nouveau or the binary NVIDIA driver, to have Lakka dynamically switch to and output each console/game’s original NTSC mode thus replicating it faithfully on an NTSC CRT?[/li][/ol]
I believe what’s happening now on my arcade cabinet is that my Lakka PC is outputting a fixed 640x480@60i mode and simply upscaling the game’s native resolution using either integer or non-integer scaling. I also have to force a 3:2 aspect ratio to get the games to fill the screen with no black borders (all the other AR’s distort the game and/or leave large borders) but even so there is still improper overscan compared to how the original consoles displayed the games on a CRT (I know this because I’m 40 years old).
I could be wrong, and hope to have this answered here, but I believe the beauty of pixel art designed to be displayed on a CRT television requires that each row of pixels be represented by a single pass of the electron gun at a phosphor resolution of 640x480, and that upscaling a game’s native resolution from, for example, 320x240 to 640x480 is an inaccurate representation because there are two electron gun passes for each row of pixels instead of only one pass. In other words, it starts to look like running an emulator on a CRT computer monitor which has a significantly denser phosphor resolution than a CRT television.
I probably only half-way know what I’m talking about, but my current setup despite my best efforts is not representative of the “real thing” and if anyone could give me insight into how to accomplish this it would help not just me but anyone else trying to create a historically/technically accurate old-school experience. I think it’s important, because some shitty scanline overlay or shader is a disservice to those too young to remember what it was like to be there.