Sorry, I am a bit confused by this. you say you can use the 16 colors for the foreground of each card but then the summary taken from stic.txt says you can only use the 8 primary colors as the foreground colors for GROM.
Sorry for the confusion. It allows all 16 colours for GRAM cards, but only the first "primary" colours for GROM cards. It does allow you to use all 230 GROM cards, unlike FG/BG mode.
does IntyBASIC support advancing the stack pointer to change to the next background color?
It does, inasmuch as it doesn't get in the way of you doing it when POKE'ing a value into the BACKTAB, or using the colour attributes in the PRINT command. You just have to set bit #13 of the BACKTAB card (CS_ADVANCE in the "constants.bas" file).
Copying the letters to GRAM kind of started after I played Stunt Cycle on real hardware and I didn't like the way the colors looked. I was making changes but wanted the player info on the screen to match the color of the player sprite and this caused me problems. GB suggested making my own font in GRAM (and then graciously created code to move the existing letters). I am not sure I understand the stack background pointer but for my purposes I really just want one color (blue) as the background for the whole game but want to allow any other color to be used as the player color and text for scoring, etc.
Imagine an array of four colours. Now consider an imaginary cursor moving across the background, from the top-left corner, all the way to the right edge, then over to the next row, and so on. As the cursor moves, it will "paint" the background of the card using the first colour in the array. It will continue painting cards the same colour until it finds a card that has the "Advance" bit set, at which point, it will start using the next colour in the array.
Now, the cursor is painting the rest of the background, row by row, with the second colour of the array until it finds another card with the "Advance" bit, which will cause it to switch to the third colour in the array. And on it goes advancing the background colour array (the "Color Stack") every time it finds a card with the "Advance" bit on. If it reaches the fourth colour, it will cycle back to the first again.
This is how the "Color Stack" works. By judiciously setting the "Advance" bit on specific cards, you can change the background colour of the scene to make it more colourful. For instance, you could set the top half in blue and the bottom half in green for a "sky and grass" landscape. Notice that this only sets the background colour of the cards, i.e., their "transparent" pixels; you still have control over the foreground colour of each card individually.
Conversely, if you don't set any of the "Advance" bits on any card at all, the entire background will use the first colour in the stack.
This is why I said that it required a bit of "trickery." You can get very "organic" looking artwork by mixing foreground and background colours in clever ways, advancing the stack at special points as needed.
Does this make sense? The best thing I find of Color Stack mode is that it allows the use of the full GROM, that means all sorts of geometric shapes, which can be used to enhance the scene -- that is, in addition to GRAM. In FG/BG mode, you only get 64 cards of GRAM and upper-case letters in GROM.