The mode% syntax is exclusive for use with CONST. Undocumented indeed.
Since CONST works as a precompiler, there’s no way for it to know what screen your program is using — nor should it.
workscreen = _NEWIMAGE(640,480,256)
displayscreen = _NEWIMAGE(640,480,32)
CONST Red = _RGBA(255, 255, 255)
With the above, what screen should CONST set a value for? The workscreen, displayscree, or SCREEN 0, since there’s no actual screen set yet?
Since it’s a precompiler command, you can’t tell it to be something like CONST Red = _RGBA(255, 255, 255, workscreen). workscreen is a variable and might change in a program; a CONST doesn’t. So, when it comes to CONST values, you *can’t* assign an image handle; instead, you assign the screen mode value you want the CONST to represent.
CONST Red0 = _RGB(255, 255, 255, 0)
CONST Red256 = _RGB(255, 255, 255, 256)
CONST Red32 = _RGB(255, 255, 255, 32)
* note: I’m half asleep on my iPad; those are WHITE colors, but they work fine for illustration sake.
As you can see, that last value designates which screen mode we want to return our color value back for us. ;)