I’m noticing some weird scaling in both fceumm and nestopia - not sure if it’s universal since those are the only two emulators I’ve tested. If you pay attention to the horizontal lines (in the bricks in SMB, for example), every so often there is a horizontal line that is not of the same thickness as the others. It’s a slight difference - maybe one pixel on a 1080p display, but it’s there. The weird thing is that the scanline filter I’m using is still working right, as in the scanlines are of uniform thickness. I’m using scanline.glsl. I’m using a 1080p monitor with the rasp pi 2, and set the video output res to 1080p and set retroarch’s render res to the video output res. I’ve noticed that the issue is present regardless of how I alter these settings.
A separate but unrelated issue is how the image is being stretched by Nestopia. It’s like the top and bottom is being cropped by 8 pixels and then the remaining image is stretched to 4:3. Actual CRTs varied widely in how they cropped, scaled, and stretched the image, but an “ideal” CRT would have no cropping, stretching or scaling- the original source image would be displayed exactly as is. This means a block in SMB would be 3 units tall by 4 units wide, since a block is 16x16 pixels. Fceumm actually gets this right, but Nestopia doesn’t for some reason. I’m just speculating, but I think the reason might be that the emulator author used either the Nintendo Wii VC as a reference or a popular brand HDTV such as Panasonic, Samsung, or Vizio. Any one of these brands crops the top and bottom 8 pixels and then stretches the remaining image to 4:3, and for some weird reason the Nintendo Wii VC does too. I guess they thought this was more aesthetically appealing, since it makes the blocks more square. There should at least be an option in Nestopia to leave the image unstretched so that the graphics are in the same proportions as in fceumm.