I read that request for an effect with screen 0, wondered if the command to print without back ground would work in screen 0 and basically take care of what you wanted???
You guys need to study up on SCREEN 0 and how it’s stored in memory...
Every point in SCREEN 0 is represented by 2 bytes -- character and color.
COLOR 15,4
LOCATE 1, 1: PRINT “A”
Now the above stores 2 bytes in memory for that position. 65 (for A) and 15 * 16 + 4 for the color. (15 foreground + 4 background... Gives us a max value of 255 with blinking off so a single byte holds both values.)
So CHR$(65) + CHR$(244) represents that bright white “A” on a red background.
Now, how can you merge *ANYTHING* onto that spot, without overwriting those 2 bytes of info?
LOCATE 1, 1: PRINT “/”
Now if if we magically make the background of that slash have X alpha with _PALETTECOLOR, how the heck do we blend that color with the COLOR 4 background?
And how does that slash print over the A? There’s no ASCII character representing a slashed-A symbol, so which of our 256 ASCII values do we store for that combination A + /?
SCREEN 0 is a very simple WYSIWYG interface. You can LOOK at the screen and basically decode how it's represented in memory byte-by-byte. It doesn’t allow for color blends, alpha levels, character merging or overlapping...
It just stores 2 bytes for each location: ASCII character to display, color to display it.
Of course, this layout also has ADVANTAGES over other modes.
SCREEN 0 is the *only* screen that can tell the difference in a CHR$(32) and a CHR$(255) printed on. Both are basically spaces, but SCREEN 0 can still tell the difference in them by the way it stores screen information.