Ed Oscuro wrote:
Patrickbot wrote:
In double strike mode (aka 240p), each visible line is drawn twice and then a line is skipped.
That's not correct. Each visible line is still only drawn once; the only difference is 240p does not alternate fields as 480i does, so every field is even or odd, instead of alternating. This accomplishes the effect of drawing every line on the same physical space of the tube. I am interested in how you derived your numbers, though (1.4 times and 30%), as they seem plausible. 2:1 ratio of scanline to "empty" space seems about right.
I think a precise calculation on brightness would have to incorporate Pi to estimate the falloff at the edges of a typical raster. I'm not a mathematician though.
You're right- I should retract that statement altogether. Brightness is a very confusing topic to talk about, and that statement was based on a misunderstanding of the following post:
"From a purely photometric standpoint, each scanline of 240p (called "double strike" mode in purported Nintendo documents) probably emits exactly twice as much light power as each scanline of 480i. The reason it appears less than twice as bright is because as programmers, we're used to "twice as bright" meaning "twice as much voltage". But twice as much voltage produces roughly four times as much power, as power is the square of voltage for a given impedance. (It's not so simple in CRTs, as the gamma is slightly greater than 2.0 for various reasons.) Under this power-law assumption that perceived brightness is the square root of light power, the individual lines are as bright probably closer to 1.4 times as bright."
(
https://forums.nesdev.com/viewtopic.php ... b&start=60)
"Perfect" scanlines are indeed 1:1, with each visible line having roughly twice the objective brightness. With perceived brightness being the square root of objective brightness, this results in each visible line being *perceived* as roughly 1.4 times as bright. The result is that 240p is the same brightness as 480i.
To emulate a perfect CRT without needing any confusing math:
1) Start with the calibrated brightness and backlight level and display a 100% white screen. Measure the light output (objective brightness) using a light meter.
2) Max out the backlight by setting brightness or backlight to 100%.
3) Apply scanlines, making the scanlines as close to 1:1 as possible (a 50% reduction in objective brightness per line)
4) Apply RGB aperture grille effect from "dotmask" shader
5) lower "mask dark" and increase "mask light" one step at a time until "mask dark" is as low as possible while maintaining the light output measured in step 1.
6) raising "mask light" will increase brightness and compensate for lowering "mask dark," but may result in clipping. Use a color bars test pattern to ensure that all bars are still visible after making adjustments to "mask dark" and "mask light." You'll have to repeat steps 5 and 6 until you find the ideal balance between contrast and mask strength that maintains light output.
Following this procedure, I've adjusted my shader settings to the following:
shader #0: image-adjustment
shader #0 filter: don't care
shader #0 scale: don't care
shader #1: zfast_CRT+dotmask
shader #1 filter: nearest
shader #1 scale: don't care
changes to parameter settings:
ia_monitor_gamma = “2.200000”
ia_target_gamma = “2.400000”
BLURSCALEX = “0.000000”
BRIGHTBOOST = “1.000000”
DOTMASK_STRENGTH = “0.300000”
feedback_pass = “0”
float_framebuffer0 = “false”
HILUMSCAN = “8.000000”
LOWLUMSCAN = “9.000000”
MASK_DARK = “0.000000”
MASK_FADE = “0.000000”
maskDark = “0.500000”
maskLight = “2.000000”
under “video options” bilinear filter is OFF, and integer scale is ON. Aspect ratio set to CUSTOM.
LCD backlight should be adjusted to 100% when using these settings. The following example should look good on any display that has a peak brightness of at least 350 cd/m2, since that's roughly the peak brightness of the display I'm using.
example: