Posted: Mon Jun 04, 2007 4:13 pm
Why is there animosity against testing the accuracy of the emulation of how a real NES system's video looks? Was there a time when people hated the emulation of the NES's slowdown?
Because it appears people prefer the PlayChoice look.Jagasian wrote:Why is there animosity against testing the accuracy of the emulation of how a real NES system's video looks?
I love the way the Apple II's video output looks, but I sure as hell don't think a NES emulator should try to emulate the Apple II's video output.tepples wrote:Because it appears people prefer the PlayChoice look.Jagasian wrote:Why is there animosity against testing the accuracy of the emulation of how a real NES system's video looks?
I made a square using GIMP and measured it, and it is a perfect square. Then I ran tepples test ROM again, in Nestopia, and measured the NTSC box to be 7.9cm x 8.2cm. Note that I am using a laptop's display to do all of this. So it is a digital display at 1900 x 1200 native pixels.blargg wrote:Jagasian: did you first measure with a ruler a square box drawn with a graphics program? That'd rule out your monitor itself not being calibrated for the PC's square pixels.
That's hot. Nice work, tepples.tepples wrote:But pixel aspect ratio is another bugaboo of mine, and I've added a second screen to the test program.
That would probably include me, sadly. Though I don't claim that all TVs are exactly 4:3, I was under the impression both NTSC and PAL were relatively close.blargg wrote:Nifty update. People so often post about aspect ratio problems for various emulators, and then other people give wrong authoritative answers like "A TV's width is 4:3 the height, therefore pixels are rectangular with the same ratio", even though the width of a pixel depends on the particular console, etc. I'll have to adapt your code to the SNES (including your flashy anti-aliased font heh).
The actual aspect ratio (on both NTSC and PAL) is primarily dependent on the number of pixels per scanline (including overscan). Both the NES and SNES generate pixels at the same frequency (ignoring the SNES's Hi-Res mode here), so the aspect ratios should remain the same when comparing NES to SNES output. The fact that the SNES renders fewer scanlines per field (224/239 instead of 240) should not have an impact on the aspect ratio AFAIK.byuu wrote:That would probably include me, sadly. Though I don't claim that all TVs are exactly 4:3, I was under the impression both NTSC and PAL were relatively close.
Is 48:35 the authoritive "average" aspect ratio for PAL height:width? Google is failing me.
I took the 8:7 ratio that we had previously worked out for NTSC and multiplied it by 6:5, the PAL scale factor.byuu wrote:Is 48:35 the authoritive "average" aspect ratio for PAL height:width?
The PAL color subcarrier is 4433618.75 Hz, and there are 6 pixels per 5 color cycles, meaning the PAL PPU runs at 5320342.5 Hz. Apparently, the active picture area is 51.95 microseconds wide. 51.95 * 10^-6 s * 5320342.5 pixels/s = about 276.4 pixels per active line. Treating 276.4x288 pixels as a 4:3 picture means that 276.4 pixels across is the same as 384 pixels down, for a 1.389:1 pixel aspect ratio, which is just a smidgen wider than the 1.371:1 that the test program assumes. I'll hazard a guess that a +/- 3% tolerance is OK; just don't assume 1.0:1.Google is failing me.
Code: Select all
void update_video_settings() {
uint width = 256;
uint height = config::video.region == SNES::NTSC ? 224 : 239;
uint multiplier = minmax<1, 5>(uint(config::video.multiplier));
width *= multiplier;
height *= multiplier;
if(config::video.aspect_correction == true) {
if(config::video.region == SNES::NTSC) {
width = uint( double(width) * 8.0 / 7.0 );
} else /* config::video.region == SNES::PAL) */ {
width = uint( double(width) * 48.0 / 35.0 );
}
}
window_main.resize(width, height);
window_main.view.resize(width, height);
}
I can't provide an authoritative answer, not having the luxury of a PAL TV myself, but I have read that the total number of visible scanlines per frame on PAL is significantly larger than the number of lines output by the (S)NES, resulting in a somewhat letterboxed display. (Someone can correct me if I'm wrong.)byuu wrote:PAL seems really really wide, but I'll trust your math since I've never seen a PAL TV before :/
Wait until we make a test ROM for SNES, then the answer will be completely reliable. "Show me your image" instead of "show me your code" will be sufficient.byuu wrote:That should do, then?
Only noticeable if you consider perfectly crisp pixels to be the quality standard. If you're aiming for even an RGB monitor, there will be natural blurring at the edges and even scaling with linear interpolation will look fine (but of course nearest neighbor will never look good, since it adds way too much error).Fx3 wrote:Resizing isn't that easy as far as I know. There's loss of quality if you do this.