SCREEN modes

Charlie Veniot25th January 2022 at 12:55am

(Colour schemes for the screen modes further below.)

ModeScreen
Width
Screen
Height
ColumnsRowsScreen
Aspect
Font
Height
Colour
Scheme
Bits
Per
Pixel
064020080252.48rgba4
1320200251.28screen12
264020080252.48monochrome1
7320200251.28rgba4
864020080252.48rgba4
96403508025480/35014rgba4
116404808030116monochrome2
126404808030116rgba4
13320200251.28undefined24
1432024015116undefined24
1540030018116undefined24
1651238424116undefined24
1764040080251.216undefined24
186404808030116undefined24
1980060010037116undefined24
20102476812848116undefined24
211280102416064116undefined24

Colour Schemes

monochrome colours
0Black
1White

screen1 colours
IDRGB Colour Value
0
███RGB(0, 0, 0)
███RGB(0, 0, 0)
1
███RGB(0, 170, 170)
███RGB(0, 170, 170)
2
███RGB(170, 0, 170)
███RGB(170, 0, 170)
3
███RGB(170, 170, 170)
███RGB(170, 170, 170)

rgba colours
IDRGB Colour Value
0
███RGB(0, 0, 0)
███RGB(0, 0, 0)
1
███RGB(0, 0, 170)
███RGB(0, 0, 170)
2
███RGB(0, 170, 0)
███RGB(0, 170, 0)
3
███RGB(0, 170, 170)
███RGB(0, 170, 170)
4
███RGB(170, 0, 0)
███RGB(170, 0, 0)
5
███RGB(170, 0, 170)
███RGB(170, 0, 170)
6
███RGB(170, 85, 0)
███RGB(170, 85, 0)
7
███RGB(170, 170, 170)
███RGB(170, 170, 170)
8
███RGB(85, 85, 85)
███RGB(85, 85, 85)
9
███RGB(85, 85, 255)
███RGB(85, 85, 255)
10
███RGB(85, 255, 85)
███RGB(85, 255, 85)
11
███RGB(85, 255, 255)
███RGB(85, 255, 255)
12
███RGB(255, 85, 85)
███RGB(255, 85, 85)
13
███RGB(255, 85, 255)
███RGB(255, 85, 255)
14
███RGB(255, 255, 85)
███RGB(255, 255, 85)
15
███RGB(255, 255, 255)
███RGB(255, 255, 255)

"undefined" colours

Well, maybe this should be called "Full RGB Range", as in the 16,777,216 colours that span the RGB colour model.

To specify a colour when in a screen mode that has the "undefined" colour scheme, this requires specifying the colour number with math related to RGB.

Each of the R, G, and B, values range from 0 to 255.

  • color = R * (256 ^ 2) + G * (256 ^ 1) + B * (256 ^ 0)
  • or: color = R * (256 ^ 2) + G * (256 ^ 1) + B * (256 ^ 0)

Say we have some hex colour we want to use in our program. For example, the colour "BurlyWood" (hex #DEB887).

First, we need to break that out into the individual RGB hex values:

  • R = "DE"
  • G = "B8"
  • B = "87"

Next, we need to convert those to decimal values into decimal values:

  • R = D * 16 ^ 1 + E * 16 ^ 0 = 13 * 16 + 14 * 1 = 208 + 14 = 222
  • G = B * 16 ^ 1 + 8 * 16 ^ 0 = 11 * 16 + 8 * 1 = 176 + 8 = 184
  • B = 8 * 16 ^ 1 + 7 * 16 ^ 0 = 8 * 16 * 7 * 1 = 128 + 7 = 135

color = 222 * (256 ^ 2) + 184 ^ 256 + 135 = 14548992 + 47104 + 135 = 14596231

So

screen 21
circle (260,260), 113, 14596231, , , ,F

will result in a filled in circle that has a colour matching: