| Value | Name | Meaning |
|---|---|---|
| 0 | ModeFlags | Returns values only |
| 1 | ScrRCol | Number of text columns -1 |
| 2 | ScrBRow | Number of text rows -1 |
| 3 | Ncolour | Maximum logical colour |
| 4 | XEigFactor | Indicates the number of bits by which an x co-ordinate must be shifted right to convert to screen pixels. E.g. for a value of n, then one screen pixel corresponds to 2n external co-ordinates in the x direction |
| 5 | YEigFactor | Indicates the number of bits by which an y co-ordinate must be shifted right to convert to screen pixels. E.g. for a value of n, then one screen pixel corresponds to 2n external co-ordinates in the y direction |
| 6 | LineLength | Number of bytes per pixel row |
| 7 | ScreenSize | Number of bytes for entire screen display |
| 8 | YShiftSize | Deprecated. Do not use |
| 9 | Log2BPP | Log base 2 of bits per pixel |
| 10 | Log2BPC | Log base 2 of bytes per character |
| 11 | XWindLimit | Number of x pixels on screen – 1 |
| 12 | YWindLimit | Number of y pixels on screen -1 |
The Mode Variable can be used when setting a screen mode using Wimp_SetMode or when returning details about the current screen mode using OS_ReadModeVariables?
Value 0 has no meaning when used in conjunction with Wimp_SetMode, as it is used to return values.