The lesson I'm taking from this is, if I use colors, check if I'm in v1.2 or later, & grab the byte at COLOR_MATRIX on startup instead.
This lesson brought to you by geoAssembler & geoLinker resetting colors to default, & deskTop 2.0 repairing colors only for the disk directory pad area.
deskTop 2.0 doesn't repair screen colors after an application quits, but it does after a desk accessory quits.
Oh, wait, that's why. DAs don't have to preserve the color matrix if the main app tells them they don't have to.
I finally wrote a program that produced an obvious assembler error. geoAssembler saves errors to geoWrite documents and runs geoWrite directly. geoWrite also didn't repair colors until after a DA ran.
oops:
... & [if I'm not,] grab the byte at COLOR_MATRIX on startup instead.