So... a while ago I made a little demo which displays some raster bars. It works in Nintendulator but there are some glitches in the right side of the screen. I'm trying to find out if those glitches are there in the real NES until I waste any more time trying to fix them.
The problem is my TV and video grabber crop off the rightmost and leftmost 2 pixel columns and 1 pixel row on the top so I don't know if the glitches are there or not.
Is there somebody out there with a PAL NES, PowerPak and a display that doesn't crop which could verify this for me? I made a little test ROM to figure out how many pixels are cropped:
http://thefox.aspekt.fi/nes/border.nes (UNROM). Here's how it works, there are 4 lines which are initially at the very edge of the screen, when A is pressed the lines get closer to center. After 8 presses the lines will go back to their initial positions.
In any case, here's the "demo":
http://thefox.aspekt.fi/nes/rastesam4.nes It uses MMC3 but that's just because my code base happened to use it. It would work just as well in NROM config (minus the bankswitched PCM of course).
You tend to see glitches in the overscan area when you change the palette mid frame. AVGN's Back to The Future review shows it.
Dwedit wrote:
You tend to see glitches in the overscan area when you change the palette mid frame. AVGN's Back to The Future review shows it.
Yes I know why the glitches are there. But that wasn't the point really.
The glitches aren't there on my TV, it's again an inaccuracy in emulators in PAL mode which causes them.
Bregalad wrote:
The glitches aren't there on my TV, it's again an inaccuracy in emulators in PAL mode which causes them.
Did you try border.nes to find out if your TV crops pixels on the edges of the screen?
Oops
I assumed my digital TV would display all pixels in 4:3 mode (because of the VERY large horizontal overscan), but it seems the left and right 2 pixels are clipped out.
So I don't know...
Are we sure the PAL NES actually output all pixels?
Anders_A wrote:
Are we sure the PAL NES actually output all pixels?
I'm not.
BTW, all the PAL display devices I and others have tested so far have two pixels missing on left and right sides. Kinda suspicious.
Now that you mention it, of all my 3 monitors, all 3 of them clips the 2 left and right pixels. In more detail :
- Very old small CRT, Hitachi brand : Clip left and right ~5-6 pixels, also clip one or two pixels at top & bottom (the image isn't aligned to the border of the screen, that's why a pixel column/line might be partially visible)
- Quite old big CRT, Philips brand : Clip left and right 2 pixels, altough on the left the 3rd pixel is clearly not close to the border of the screen itself
- Brand new LCD, Panasonic brand, 4:3 retro-compatibility mode : Clip left and right 2 pixels, clip topmost pixel
In all cases the left and right 2 pixels are not visible at all, even on the new LCD which have an "intelligent" CPU decoding the signal before rendering it.
At least on some of the last CRT standard definition NTSC sets, there is often a debug or factory service mode which should provide the ability to scroll the visible area by a little.
It might be worth seeing if this is useful...
Now completely glitch free thanks to blargg's
NMI sync code:
http://thefox.aspekt.fi/nes/rasterbars.nes (PAL)
Works correctly only in Nestopia!
Funnily enough previously it worked better (= more like the hardware) in Nintendulator than Nestopia. Now the roles have been reversed.
When I was doing some PAL tests, I noticed that PAL forces black borders on the left and right; I don't think you can get anything but black. On NTSC, you can put anything there, including colored patterns if you move the PPU address around the $3Fxx region during that time. So a PAL emulator that shows anything but black is probably broken. I think PAL might even clip the left active column, though I didn't check that specifically.
Yeah, by using a test ROM I found somewhere, I figured the left and right 2 pixels are blacked out, assuming a modern LCD TV doesn't create a software over scan.
A with a large old CRT I had the same result (with one pixels and a half more over-scanned on the right), and with a tiny old CRT, I have almost 8 pixels over-scanned on both sides.