Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
#22632 03/30/06 04:36 AM
Joined: Oct 2005
Posts: 52
N
Member
Member
N Offline
Joined: Oct 2005
Posts: 52
Database mistakes:
- Galactic Crusader (Bunch Games)
- Penguin & Seal (Sachen)
- Dudes with Attitude (AVE)
- Trolls on Treasure Island (AVE)

all have their mirroring wrong. It might also be a good idea to inform the user via a dialog box whenever the header settings of a ROM being loaded have been corrected from the database.

YUV palette:
The scale (0-255) is kind of nonsensical. Hue (chroma phase shift) should be in degrees from -45 (or so) to +45, like in the "Advanced" dialog. Also, the current "128" (center) setting is actually hue "-15", not "0". You might argue that "-15" looks "better" with a standard decoder, but that doesn't change the fact that the unmodified NES output is the "0" setting, not -15.

Saturation (chroma gain) should go from 0.0 to 2.0, with 1.0 being the "unchanged" setting (or maybe in percent instead, if you prefer that).

Brightness (RGB offset) should have 0 as the default (unchanged) setting, going from something like -1.0 to +1.0.

Contrast (RGB gain) should be moved out of the NTSC dialog into the YUV color dialog, having 1.0 as the default (unchanged) setting, going from 0.0 to 2.0, like saturation.

Advanced decoder settings:
The "canonical" G-Y angle is 227�?, not 236�?, at least per Sony service manual.

#22633 03/31/06 09:10 AM
Joined: Jan 2006
Posts: 138
M
Senior Member
Senior Member
M Offline
Joined: Jan 2006
Posts: 138
Quote
Database mistakes:
- Galactic Crusader (Bunch Games)
- Penguin & Seal (Sachen)
- Dudes with Attitude (AVE)
- Trolls on Treasure Island (AVE)

all have their mirroring wrong.
Thanks, I'll have them fixed.

Quote
It might also be a good idea to inform the user via a dialog box whenever the header settings of a ROM being loaded have been corrected from the database.
The logfile will provide that info for now. It's disabled by default but can be enabled by the user in the 'Preferences' dialog.

Quote
The scale (0-255) is kind of nonsensical.
Maybe for the HUE slider, but I don't see the point in changing the others. Having a mixed bag with different offsets and ranges will just look confusing and overcomplicated.

Quote
Also, the current "128" (center) setting is actually hue "-15", not "0". You might argue that "-15" looks "better" with a standard decoder, but that doesn't change the fact that the unmodified NES output is the "0" setting, not -15.
The idea was to have centered marks represent the default setting for the application which is not necessarily the same for a naked NES. The HUE slider is currently the only setting in which I've given this internal adjustment.

Quote
Contrast (RGB gain) should be moved out of the NTSC dialog into the YUV color dialog, having 1.0 as the default (unchanged) setting, going from 0.0 to 2.0, like saturation.
I put the contrast and sharpness sliders in the NTSC dialog to make it clear to the user that they're only applicable to the NTSC filter (unlike the others). I suppose I could move them somewhere else and grey them out when the NTSC filter is not in use, but why fix it if it ain't broken?

Quote
The "canonical" G-Y angle is 227�?, not 236�?, at least per Sony service manual.
The "canonical" preset was something I calculated in order to make it produce the standard NTSC matrix and those values gave the closest match. There's currently a small error in it though, the G-Y gain should be set to '0.351' instead of '0.349'.

#22634 03/31/06 11:12 AM
Joined: Oct 2005
Posts: 52
N
Member
Member
N Offline
Joined: Oct 2005
Posts: 52
Quote
The idea was to have centered marks represent the default setting for the application which is not necessarily the same for a naked NES.
No problem, just make the "Default" button move the slider to "-15". But you should definitely indicate that this is not the "naked" NES output, for the purpose of having any "nonstandard" decoder values is precisely to make the picture look good without deviating from the zero hue.

Quote
but I don't see the point in changing the others. Having a mixed bag with different offsets and ranges will just look confusing and overcomplicated.
I disagree; I think the values presented should have a practical meaning. Just going from 0 to 255 obfuscates what these controls actually do; you might as well remove the display of the values completely and go with "blind" sliders.
Instead, I believe that anyone with a minimal understanding of mathematics will find scales that have an *actual meaning* with regards to the result to be LESS confusing than just some arbitrary values from 0 to 255. Which is more confusing to you: "saturation is 50 percent", or "saturation is 64" ("64 what? sausages?", as my math teacher would say smile )?

Quote
I put the contrast and sharpness sliders in the NTSC dialog to make it clear to the user that they're only applicable to the NTSC filter (unlike the others). I suppose I could move them somewhere else and grey them out when the NTSC filter is not in use, but why fix it if it ain't broken?
"Contrast" adjustment (RGB gain, which means you just multiply RGB values with a factor) can be done whenever you're dealing with RGB values, not just with the NTSC filter. You're right about the sharpness control, which is why I have not mentioned that one.

#22635 04/01/06 03:17 AM
Joined: Jan 2006
Posts: 138
M
Senior Member
Senior Member
M Offline
Joined: Jan 2006
Posts: 138
Well, you got a point there. Percentage sliders are easier to deal with and will better reflect the math that goes behind, just as you say. I guess I was caught up thinking too much in base 16. It sorta becomes a habbit when you're messing with bits and bytes all day long. smile
In any case, here's what i did:

- Changed saturation, brightness and contrast into percentage sliders. 50 meaning no change.
- Moved the contrast slider out of the NTSC dialog and enabled it for use with plain palettes.
- Changed hue into a -45/+45�? slider. Default is 0�?.
- Changed the angles of the 'canonical' setting to reflect a standard matrix rotated by 15 degrees. This is for the better I think since it won't require the user to change the regular hue slider 15 marks back and forth whenever he/she wishes to change the predefined setting.

#22636 04/01/06 04:04 AM
Joined: Oct 2005
Posts: 52
N
Member
Member
N Offline
Joined: Oct 2005
Posts: 52
Unfortunately I don't have a point, because obviously I didn't express myself intelligibly enough. smile

A variable called "gain" (as in "RGB gain" --- colloquially called "contrast", or "chroma gain" --- colloquially called "saturation") is a factor in a product. Mathematically, for a product not to change an input variable's value, the factor must be 1.00 (100%), not 0.5 (50%).

On the other hand, a variable called "bias" or "offset" (as in "RGB offset" --- colloquially called "brightness") is an addend in a sum. Mathematically, for a sum not to change an input variable's value, the addend must be 0.00, not "50%" (percentages have no place in sums).

That's why Saturation and Contrast should be in percent, with 100% meaning "no change", and Brightness should be a plus/minus value, with 0 (zero) meaning "no change", all with regards to the mathematical explanation above.

Quote
Changed the angles of the 'canonical' setting to reflect a standard matrix rotated by 15 degrees.
That's even worse. "Canonical" means as defined by the standard. The standard defines R-Y/B-Y at 90�?/0�?, not 105�?/15�?.

I also don't understand why the user "has to" move the hue slider; it's not like the "-15" setting has a special meaning. The 0�? setting looks more greenish on the default decoder than on the consumer decoder; that should not be hidden from the user.

#22637 04/01/06 05:23 AM
Joined: Jan 2006
Posts: 138
M
Senior Member
Senior Member
M Offline
Joined: Jan 2006
Posts: 138
Quote
Unfortunately I don't have a point, because obviously I didn't express myself intelligibly enough. smile
Fine, I'll change it.

Quote
That's even worse. "Canonical" means as defined by the standard. The standard defines R-Y/B-Y at 90�?/0�?, not 105�?/15�?.

I also don't understand why the user "has to" move the hue slider; it's not like the "-15" setting has a special meaning. The 0�? setting looks more greenish on the default decoder than on the consumer decoder; that should not be hidden from the user.
So what do you suggest then? Which decoder and what hue should be set when the user starts the application for the first time or hits the "Default" button in the video dialog?

#22638 04/01/06 05:50 AM
Joined: Oct 2005
Posts: 52
N
Member
Member
N Offline
Joined: Oct 2005
Posts: 52
If you want it to *look* like the current release, "default" would be the canonical decoder (0/90) with Hue at -15�?, saturation/contrast at 100% (no change) and brightness at +/- 0.0 (no change), all being printed as such. The hue slider will be a little to the left (because 0�? would be the center), while all others, being at "no change", are centered.
Remember that all we've discussed so far is the way the settings are *printed* in the dialog box, not what kind of colors make good "defaults".
Just so there's no misunderstanding, here's the your "default" setting (hue=-15, standard decoder):
[Linked Image from lau-net.de]
And here's how it would look at (hue=0):
[Linked Image from lau-net.de]

Another suggestion: when in PAL mode, the hue should be "locked" to minus 15 degrees and the decoder shuold be "locked" to the canonical one. Because the PAL NES' output is actually shifted by 15 degrees from the NTSC NES, and PAL TVs all follow the decoder spec rigorously and don't allow the hue to be altered by the user.

Thanks for bearing with me. smile

#22639 04/01/06 07:35 AM
Joined: Jan 2005
Posts: 154
Senior Member
Senior Member
Joined: Jan 2005
Posts: 154
If I put myself in the shoes of an average user, I want controls like a TV has. That means sliders (which some TVs display graphically on-screen) where the middle is normal. Personally I prefer the middle being zero and the extremes being -1.0 and 1.0 (or -10 or -100 and +10 or +100, if floating-point is too technical). I don't want to deal with the details of how they're implemented. Maybe some users desire a raw interface and would be accommodated by an expert interface.

It doesn't help that the interface to nes_ntsc is designed as I described above, making it a bit hard to specify raw values. I realize now that I could have taken a similar approach and provided a simplified and raw interface to the library. Though I think Nestopia uses its own palette generation code when not using the NTSC filter, so it's not all in my hands.

I'll have to read carefully over this thread to be sure I get the raw interface absolutely correct, since casual reading leaves me cross-eyed. smile

#22640 04/01/06 07:05 PM
Joined: Mar 2006
Posts: 24
O
Junior Member
Junior Member
O Offline
Joined: Mar 2006
Posts: 24
*If I put myself in the shoes of an average user, I want controls like a TV has.*


I second that.

#22641 04/02/06 12:52 AM
Joined: Oct 2005
Posts: 52
N
Member
Member
N Offline
Joined: Oct 2005
Posts: 52
Which the current method provides.

Page 1 of 2 1 2

Moderated by  Marty, R. Belmont 

Link Copied to Clipboard
Who's Online Now
0 members (), 628 guests, and 6 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,399
Posts122,883
Members5,092
Most Online3,327
Nov 10th, 2025
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0