Copyright (c) 2012-2016 Hyperion Entertainment and contributors.
Picasso96Mode adds a SETTINGSFILE tooltype to the monitor driver icon which points to the modes stored in a binary file. The settings file screenmodes are added before the tooltype screenmodes, the tooltype screenmodes dont overwrite existing similar modes. So when you want to switch to the new method completely, dont forget to remove the SETTINGSFILE tooltype.
You should first tell Picasso96 about the supported frequency ranges of your monitor, then define screenmodes, then save and reboot (the tooltypes are read during Picasso96 startup only).
Caution, don't store monitor driver backups in Devs:Monitors/. Most existing monitor driver icons contain the BOARDTYPE tooltype which overrides the filename and specifies which card driver shall be used, it would be "random" which driver is found and used first, so if they conflict the correct driver tooltypes could not be able to redefine the modes already specified with the wrong tooltypes from the backup. You can exclude file names on the commandline of the LoadMonDrvs command call in Startup-Sequence but thats not recommended, please store your monitor driver backups in SYS:Storage/Monitors/.
If you try to define a screenmode which would be out of the specified monitor frequency ranges, Picasso96 will reject that screenmode.
If you try to define a screenmode which would be out of the capabilities of your graphics card, Picasso96 will either try to adjust it (by e.g. switching to DoubleScan mode or lowering the vertical sync rate if possible) or reject it (e.g. it will not accept 24bit/32bit modes on old graphics cards which dont support that).
The monitor driver tooltypes for defining monitor specifications are:
The minimum horizontal sync rate in Hz which is supported by your monitor. The default value is 31500. The lowest possible value is 15000. Please check the manual of your monitor for the correct value (its mostly specified in kHz so you have to multiply it with 1000, 31500 means 31.5 kHz).
Similar to HSYNCMIN, it specifies the maximum horizontal sync rate in Hz. The default value is 38000 (38 kHz). The value must be greater than HSYNCMIN.
The minimum vertical sync rate in Hz which is supported by your monitor. The default value is 60. The lowest possible value is 50. Please check the manual of your monitor for the correct value.
Similar to VSYNCMIN, it specifies the maximum vertical sync rate in Hz. The default value is 75. The value must be greater than VSYNCMIN.
With this tooltype you specify at least the width and height in pixels and the vertical sync frequency in Hz of a screenmode. Example:
This will create a screenmode with a width of 1280 pixels, a height of 1024 pixels and a refresh rate (vertical sync rate) of 60 Hz.
When you are unsure about the widths, heights and frequencies to use, consult the manual of your monitor, it often contains a list a supported screenmodes. Of course its possible to create more modes when your monitor has real multisync capabilities. Some hints:
Typical resolutions and frequencies supported by many monitors are
640x350@85 (37.9kHz) 640x400@85 (37.9kHz) 640x480@60 (31.5kHz) or 640x480@72 (37.9kHz) or 640x480@75 (37.5kHz) or 640x480@85 (43.3kHz) 720x400@85 (37.9kHz) 800x600@56 (35.2kHz) or 800x600@60 (37.9kHz) or 800x600@72 (48.1kHz) or 800x600@75 (46.9kHz) or 800x600@85 (53.7kHz) 1024x768@60 (48.4kHz)
or 1024x768@70 (56.5kHz) or 1024x768@75 (60.0kHz) or 1024x768@85 (68.7kHz) or 1024x768i@43 (35.5kHz)
1152x864@75 (67.5kHz) 1280x960@60 (60.0kHz)
or 1280x960@85 (85.9kHz)
or 1280x1024@75 (80.0kHz) or 1280x1024@85 (91.1kHz)
or 1600x1200@65 (81.3kHz) or 1600x1200@70 (87.5kHz) or 1600x1200@75 (93.8kHz) or 1600x1200@85 (106.3kHz)
or 1792x1344@75 (106.3kHz)
or 1856x1392@75 (112.5kHz)
or 1920x1440@75 (112.5kHz)
With the old style CRT (Cathode Ray Tube) monitors, a higher refresh rate results in less flicker. A too high refresh rate may however result in lower display quality when you have a cheap monitor cable (or even a monitor switcher inbetween the graphics card and the monitor) or you are running near the upper limit of graphics card or monitor. Most people are happy with about 70 or 75 Hz.
With the new style digital TFT/LCD monitors, a higher refresh rate will not result in less flicker anymore because the monitor refresh rate differs from the graphics card refresh rate. Here you should probably follow the recommendations from your monitor manual, often any refresh rate between 60 and 75 Hz is accepted.
On digital TFT/LCD monitors, you should prefer the exact physical resolution of your monitor as default screenmode, then one pixel in your graphics card can be displayed as one pixel on your monitor. Any other resolution will result in interpolated pixels on your monitor which often causes moiree effects or a blurry display. Check the monitor manual for the exact physical resolution. When you want to use lower resolutions on a TFT/LCD, its often a good idea to use something which can be scaled with an integer number, e.g. when you use 640*480 on a 1280*960 monitor, the monitor can display each graphics card pixel with exactly four (2*2) of its own pixels. Using higher resolutions only makes sense for displaying large pictures in fullscreen mode when your picture viewer is unable to scale down the picture.
Back to the explanation of the MODE tooltype, for interlace mode you can specify an "i" behind the refresh rate, e.g. 'MODE=1280x1024@60i'. BTW, doublescan mode is automatically activated when the horizontal frequency of the given mode drops below HSYNCMIN, but its also possible to activate it with a "d" behind the refresh rate. If you add an "r" instead, a mode with reduced blanking (only useful for newer TFTs) is created. Please note that reduced blanking is only supported at 60hz.
By default, each mode will be created in all available color depths. You can add a list of depths separated by commas to a mode specification to create a mode with only the specified depths. Example: MODE=1280x1024x8,16@60 will create the mode with depths of 8bit (256 colors) and 16bit (65536 colors), but not with 15bit (32768 colors), 24bit or 32bit (truecolor).
Adding "-hsync" to a mode specification changes the horizontal sync polarity to negative polarity, "+hsync" changes it to positive polarity. Adding "-vsync" or "+vsync" does the same for the vertical polarity. This may be useful when you have lots of similar screenmodes defined or a second computer attached to your monitor and the monitor is unable to distinguish all modes in his internal settings tables for screen placement etc, then the opposite polarity may help the monitor to distinguish screenmodes. The default polarity setting is undefined (depends on the mode requested).