Offset | Contents |
---|---|
+0 | Mode Selector Flags |
+4 | X resolution (pixels) |
+8 | Y resolution (pixels) |
+12 | Pixel Depth |
+16 | Frame rate (Hz), or -1 for first match |
+20 | Mode Variable Numbers (optional pairs of words, variable number followed by value) |
… | -1 (mode variable list terminator) |
This block of data is used by Wimp_SetMode, OS_ScreenMode, and various other APIs to describe screen modes. It is an improvement over the older mode number system as it allows for any arbitrary mode to be described. However just because a mode can be described, it does not mean that it is supported by the hardware.
The list of mode variables should be terminated by a single word containing -1. When processing mode selector blocks yourself, make sure you do not confuse a mode variable value of -1 with a terminator; it is only the first word of each pair (the variable number) that you should check against -1.