patrickm
Participant
Post count: 171

[quote=97345]1. Why? While the aspect ratio is 4:3 all is fine.
If it’s not exactly a 4:3 aspect ratio without the scanline overlay it may look a bit scrappy, but with the scanlines all looks great.

2. Here’s a link to my dropbox. Here you can download the overlay.
Scanline Overlay

3. You’re right. It depends on the emulator. PAL NES is always 240 lines. NTSC is 224 + 2 x 8 “hidden” lines = 240.

Currently i upload a video on Youtube.
I’ll post later a link.

[/quote]

I’m curious why you wouldn’t use 1280×960 for NES?

If you use 896 for Y, then X is 1194.6666… if X and Y are in a 4:3 ratio. This would cause some warped pixels on the X axis, right? I’d rather play with a slightly off aspect ratio than have warped pixels anywhere.

Edit: Ah, I see you were probably referring to SNES and Genesis. Those systems do look good at 896 on the Y axis. However, you also need to use an integer multiple of the x axis to get perfect scaling. The following resolutions all look good, although none are in a perfect 4:3 aspect ratio.

Genesis:
960×896
1280×896
1280×1120
1600×1120

SNES:
1024×896
1280×896
1280×1120
1536×1120

all look good to me, although you lose a little bit of the picture with the y axis at 1120. This isn’t that bad though, because it’s mostly the black bars that you lose. These resolutions will provide perfect pixel scaling on both x and y axes.

1024 or 1280 on the x axis is good for most NES games, with the Y at 960.

Some NES games look good at 1280×1200 or even 1536×1200. Castlevania, TMNT II and River City Ransom are examples. Super Mario Bros 3 also looks good at those resolutions, as most of what gets cropped off occurs within what would have been the overscan on a CRT, or close to it (I’ve compared my Sanyo CRT, and it crops a similar amount, which is close to the maximum amount for CRTs). Actually, many nes games look good at these resolutions if you don’t mind cropping slightly more than 100% of the overscan :) I have yet to encounter an NES game that placed in important graphics in the areas that get cropped off at these larger resolutions (6×5 and 5×5).

Sorry, but I don’t like the TV box effect, I find it distracting. I just want simple scanlines. If I could just figure out this transparency stuff, I think I could do it. I haven’t found anything on the internet that explains this well.

So, forgive me, but I’m still unclear on two things:

1. how to turn white to transparency using gimp

2. what size to make the overlay (example: my monitor is set to 1080p native and my custom viewport is 1280×960)

as far as I understand it, you will get pixel warping on at least one axis if you disable integer scale. That is why I leave it ON at all times.

To avoid pixel warping at 1080p, one has to enable integer scale and play with letterboxing (i.e., black bars at the top and bottom). This is at least true of NES, SNES, and Genesis.

The pixellate shader and sharp-bilinear shader together will allow you to have a 4:3 ratio without pixel warping, but this is too intense for the Pi to run at 1080p.

So, the only real solution if you want fullscreen (i.e., no letterboxing at top/bottom) AND a 4:3 ratio with these old systems, without any pixel warping, is to use a display that is 720p native (since 240×3 = 720)

That, or use a machine that is more powerful that the Pi, so you can run pixellate + sharp-bilinear.

I have provided an example image below (left click thumbnail, then right click and click open image to view at original size). This was achieved with 1280×960 resolution, integer scale on, at 1080p. The “interlacing.glsl” shader was used to make the scanlines, with the scalines strength configured at 50%. I would like to be able to achieve the exact same effect using an overlay, since it would be faster and would be adjustable within the RGUI. Another disadvantage (of the interlacing shader) is that it requires 2x or 4x scale.

Sorry for the huge wall of text :)