Sorgeilig recently added an option called `vscale_mode` that allows you to fix the hdmi scaling to certain values. Setting it to integer scaling only (vscale_mode=1) or to half integer scaling (vscale_mode=2) can make scanline effects look much more even.
However, there is a small problem using `vscale_mode=2` with the nes core at 1080p with the option `Hide Overscan` enabled. With`Hide Overscan` there seems to be some small mistake in the output size (probably output is just one line too small) that causes problems with scanline effects.
If you want to see the problem just use
NES_20181224
video_mode=8
vscale_mode=2
Hide Overscan
Dark scanline effect like normal_scanlines_100
I guess it's not the NES cores fault but I figured I would give a head's up in here that the issue exists.
It is possible to work around the issue in the NES core by cutting off an extra line for overscan. Probably you could take away one less line and get equivalent results because the issue is probably an even/odd thing.
Just to test the theory I modified video.sv around line 181 from:
Code: Select all
if(hide_overscan) begin
HBlank <= (hc > (256-8)) || (hc<10);
VBlank <= (vc > (240-10)) || (vc<6);
end else begin
to
Code: Select all
if(hide_overscan) begin
HBlank <= (hc > (256-8)) || (hc<10);
VBlank <= (vc > (240-10)) || (vc<7);
end else begin
And then scanline effects work perfectly again with "HIde Overscan". I put that test build here:
https://drive.google.com/open?id=1O-t0z ... vlkoPiwqzH
Again, I'm not saying that the NES core is working incorrectly regarding overscan, just noting the way the NES output gets scaled currently.
The right way to fix this is probably a small fix in mister main.
EDIT: And not by modifying the NES core overscan setting.