PicassoMode The Next Generation (pmtng) ======================================= 1. Goals Users of the Picasso96 software should be able to tweak the display mode settings to fit their needs. This work should not require in-depth knowledge on how the different parameters interact which control how graphics cards make up the display. Any user should be able to put the program to good use without having read a detailed documentation first. Everybody should be able to produce results with a minimum of efforts. The dangers in toying with the display mode parameters should be reduced to a minimum, it should be really difficult to overclock the graphics card or the monitor. 2. User interface design The user interface is designed as a number of settings "pages" of which each controls the data displayed on all the following pages. The user starts by entering the characteristic data of his monitor, or by picking a preset from a list which matches his monitor best. Whatever choice is made, it affects the list of display modes presets presented on the next page. The list will include only those entries which are compatible with the monitor data (and the graphics card). The user picks the display modes from this list he wants the Picasso96 monitor driver to use. Each single entry can be changed and tested on the last page. The two buttons "< Go Back" and "Continue >" are to flip through the single pages. 2.1. Monitor settings (page 1) This page holds a list of monitor models known to the program. Five "models" are always present ("Generic 31 kHz Monitor" - "Generic 64 kHz Monitor"), its characteristics cannot be modified. This is indicated by the colour of their names, which is white. To make changes to this data, one hast to make copies of these entries first and then edit the copies. The user can change the model names, the limits in which the monitor can still display a picture and the minimum times for the picture synchronization. Really important are the limits for line frequency and the scan rate. This data decides which display mode presets will be offered and how far a single display mode can be tweaked. To go beyond these limits would cause damage to the monitor and the graphics card. The synchronization timing limits are not that important, most display modes do not adhere to this data but you can force the program to pay attention to it with the menu item "Settings/Respect sync constraints?". The user can load the monitor list, add to it and save it (menu "Project", "Open/Monitor types", "Add/Monitor types" and "Save/Monitor types"). The five preset monitors will always remain untouched. They will not be saved and they will not be replaced. Since the characteristics of a monitor model determine the filter placed on the display mode data, the user must pick a monitor before he can proceed to the next page. If the mode database was saved during a previous session, the program will highlight the monitor model name saved witht the database. 2.2. Choosing the display modes (page 2) The selected monitor model is used as a "filter" to decide which display mode presets to offer. Modes that are not compatible with the monitor will not appear in the list on the left hand side of page 2. As on page 1, if the colour of an entry is white it is an indication that the entry cannot be changed, a copy must be made before the user can edit it. The list on the right hand side of the page is the display mode database as used by the Picasso96 monitor driver. On this page, the user can only modify the name of each entry, any other data can be edited on the following page. Entries can be copied and removed from each of the lists. Both lists are sorted in four steps: - low resolutions are shown before high resolutions - modes with a smaller number of colours to display are listed before those with more colours - entries with lower screen update rates appear before entries with higher update rates - resolutions with lower line frequencies are listed before those with higher line frequencies Special modes, such as the data the PicassoIV on-board flicker fixer uses, appears before all other list entries. Using the arrow buttons, the user can move list items between the two lists. "Moving" means that an entry will be removed from the source list and will be added to the destination list. The read-only preset entries as found in the left list are special; they cannot be moved, they will be copied into the right list instead. The user can save, load and add to the contents of both lists. "Project/Open/Default configuration" replaces the contents of the right hand side list. "Project/Save/Default configuration" stores the contents of the right hand side list and takes note which monitor model was selected. All the other menu items "Project/Open/Display modes", "Project/Add/Display modes" and "Project/Save/Display modes" affect only the left hand side list. Three menu items control how the two lists are put together. "Settings/Respect sync constraints" affects whether the program should pay attention to the monitor synchronization timing data. If this type of filter is enabled, it is likely that only a small number of display modes will match the constraints. With "Settings/Filter duplicate display modes" the user can control whether identical entries will appear multiple times in the left hand side preset list. Other than the left hand side list, which is immediately updated after changing the filter criteria, the list on the right hand side is filtered only when the user asks for it to be filtered with "Edit/Apply monitor filter". This makes it possible to edit the monitor data even after committing to a number of display modes without losing any of the list entries. Page 2 is the first page on which the menu items to store the display mode database become available. The user must have selected a monitor and a list of display modes first. Each list entry name is followed by the mode parameters (number of colours, screen update rate, line frequency). If the mode name is too long, some of this data can become invisible. As this data is important for making decisions on whether to include a preset in the mode database or not, there are two extra fields below the lists which will show the same information. 2.3. Editing the display mode data (page 3) This is where the user can finally edit the parameters of each display mode he has chosen from the list of presets. The mode to edit can be picked using the pop-up menu at the top of the page; the [Tab] key is the keyboard shortcut to switch between the single modes. When a mode is selected, its parameters are shown in the middle of the page: on the left hand side the user can edit the parameters, the right hand side shows the same data after filtering and postprocessing. The following items can be changed: - Number of colours 256, 65,536 or 16 million colours per screen - Pixel clock This is the speed at which the graphics processor converts the contents of the graphics memory into a signal the monitor understands. The clock affects the line frequency and the screen update rate. The clock value is limited by the graphics card hardware and the size of the display. - Line frequency This value controls how fast the graphics processor can send a line of pixels to the monitor. It affects the pixel clock and the screen update rate. It is limited by the size of the display. - Scan rate (screen update rate) The higher this value, the more stable the picture will be the graphics card delivers and the less flicker will be visible. The screen update rate affects the pixel clock and the line frequency. It is limited by the size of the display. - Display size (width and height) These two values depend on one another and the size of the graphics card memory. - Period of the horizontal/vertical synchronization signal This period controls whether the picture will be stretched or compressed. Large values can lead to compression, small values to stretching. Normally, both periods are derived from the other display parameters and need not be entered manually. - Polarity of the horizontal/vertical synchronization signal Certain older monitors pay attention to the polarity of the synchronization signals and decide how and when to react to the change of signal. Editing the signal polarity can have a positive impact on how quickly the picture stabilizes after changing display modes, such as after flipping through Amiga screens. - Scan mode Under certain circumstances special measures must be taken to ensure that the monitor can still display the desired picture. If the screen update rate drops below the minimum frequency supported by the monitor, the display mode is changed to yield an interlaced display, thus doubling the effective screen update rate. If the update rate rises above the supported maximum, the display will be changed to use double-scanning, effectively halving the screen update rate. The program resorts to these measures when a display mode leaves the limits of compatibility with the connected monitor. This can either yield working data or fail to meet the monitor specifications. The change of scan mode is not always successful. The mode parameters, as edited on the left hand side of the page, may not always be suitable for use with graphics card and monitor. Hardware constraints take their toll. The parameters are filtered and matched against what the graphics hardware can deliver. If necessary, the parameters are recalculated according to the hardware constraints. The result is shown on the right hand side of the page. If these parameters are compatible with monitor and graphics card, the user can test and modify the parameters after opening a test screen that uses them. This is what the "Test computed display settings" button is for. Changes made to the parameters can be taken over into the database the program keeps in memory by pressing the "Keep computed settings" button. To return to the original settings data, the "Edit/Undo" menu item can be used. On the test screen the user can interactively try to compress, stretch and move the picture. By using the cursor keys the picture can be moved; holding down either [Shift] key will stretch or compress the picture. [Cursor left] and [Cursor right] affect the horizontal parameters while [Cursor up] and [Cursor down] control the vertical parameters. To stretch the picture, use [Cursor right] and [Cursor up]. To compress the picture, use [Cursor left] and [Cursor down] instead. Any other key will toggle a status window that shows the current display parameters. As can be seen in the status window, stretching and compressing the picture will affect the line frequency and the screen update rate. To close the test screen without keeping any changes made press the [Esc] key. To retain the changes, press [Return]. When the mode parameters are edited, they will not automatically end up in the display data base the program keeps in memory. The moment the user picks a different display mode all changes made to the other display mode will be lost--unless the user hits the "Keep computed settings" button first. After changing all the display modes that needed editing, they should be saved to disk with the "Project/Save/Default settings" menu item. The changes will take effect after rebooting the machine. The program will offer to reboot the Amiga after the user has saved the display mode database and picked the menu item "Project/Quit". The menu items "Project/Save/Display modes" and "Project/Save/Monitor types" serve a different purpose. They will store data in a special export format. This format allows it to easily create larger databases. The objective is to gather monitor and display mode databases for inclusion with the program, allowing users to pick their configurations from a large selection of presets. When using the program with a Picasso IV the current settings of the built-in flicker fixer will be read and added to the list of editable display modes. This allows you to tune the flicker fixer picture parameters. When storing the mode database on disk the flicker fixer parameters will be stored in the tool types of the driver "P4_Flickerfixer", as found in the drawer "Devs:Monitors". The next time you restart the Amiga the new flicker fixer settings will become active and the driver will make them memory resident so they will survive a reboot; every time you open the boot menu ("Amiga early startup options") or boot from floppy disk the flicker fixer will be using the new picture timing parameters. However, if you switch off the Amiga these parameters will be lost. Before you can use them again, the P4_Flickerfixer driver must be started again. There are separate settings for the PAL and NTSC modes the flicker fixer uses. Height and width of the display cannot be changed, but you can edit the position of the picture, the screen update rate and the picture scaling. PicassoModeTNG allows you to make several copies of display modes that would be suitable for use with the flicker fixer. But take care: when storing the display mode database on disk only the first PAL compliant and the first NTSC compliant display mode in the list will be kept. All other modes that would be usable with the flicker fixer will be lost when you quit the program. If there is no special mode entry for the flicker fixer, the P4_Flickerfixer driver will be configured to use the factory default settings for both PAL and NTSC display. Omitting either the PAL or the NTSC mode will also cause the factory default settings to be used in place of the missing mode data. 3. Special features In addition to the features described above, the program has a number of special capabilities to offer: - Once the Picasso96 software supports the DDC2 protocol the program will be enhanced to query the monitor about its characteristics. This will eliminate the need to enter this data manually for plug & play monitors. - The program can import display mode databases from other programs like CVMode and the old PicassoMode. This makes it possible to retain the preferred display mode settings after changing the graphics card support software. - A special export file format is supported which the program can read and write. This format stores display mode and monitor data in textual form, which with minor changes can be used with NetBSD/Amiga-Unix/X-Windows. - The Picasso96 software need not be installed and running for the program to work. The user can still test it, but will be unable to store and modify display mode parameters.