Copyright (c) 2012-2016 Hyperion Entertainment and contributors.
What is a screenmode?
A screenmode will describe how you want a program to display information on your monitor: which monitor to use (if more than one is installed), which screen resolution to use, how many colors to display...
Purpose of the screenmode preference
With this preferences program you are able to select a graphic card if you have more than one in your computer. Then you can set the size of the display, how many colors it will display...
The ScreeMode program also displays several information about the screenmodes. One of them is the ModeID which defines a screenmode by a unique identifier.
The first tool that existed in AmigaOS to define screnmodes is called Picasso96Mode. While this program is still released with the system, the prefered way is now to use the ScreenMode preferences program we discuss here.
Anyway, if you are an experienced user you might want to read the Picasso96Mode documentation. Note that this old method still works. However, Picasso96Mode will not recognize the modes created with ScreenMode.
Defining a screenmode
The new default method to define the screenmodes to be used by the graphic subsystem is to define the tooltypes of the monitor icons in Devs:Monitors/.
While you can define the tooltypes manually, it is advised to use the GUI instead. When you will save your modification in the GUI, tooltypes will be saved into the monitor icon.
Using the GUI
Run the program SYS:Prefs/ScreenMode.
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.
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).
tooltype to disable the fakenative modes on the AmigaOne (and only the AOne platform). The tooltype is ignored when there are no resolution settings for the gfxboard. On Classic Amigas FAKENATIVE is off by default.