I’ve had a lot of nervous energy this weekend to pour into Dialog and Å-machine development, so I need to poll the audience one more time. If you just want the poll, without the elaborate backstory, skip to the second post in this thread.
Dialog basically supports two types of text styling. One type uses the full range of CSS, and is basically just for web browsers. The other, inherited from the Z-machine, represents styles with four bits: “reverse”, “bold”, “italic”, and “monospace”. On 8-bit platforms, the CSS is really just a fancy way of setting and resetting those four bits.
“Monospace” is not especially useful on the Commodore 64 or Apple II; currently, the interpreter goes to a great deal of effort to parse the CSS and set or reset that bit, and then ignores it entirely. (I don’t know why it goes to all the trouble, honestly. But it does.)
And in the current release of the 6502 interpreter, the “reverse” bit is completely ignored—just for procedural reasons, because there was no standard CSS property for “reverse the background and foreground colors” until last week.
Now that we’re supporting the Apple II, though, “reverse” is really the only styling an Apple II can manage! (Well, “reverse” and “flashing”, and I think supporting text-decoration: blink is a bad idea.) So the next release of the Å-machine tools will support reversed text on the 6502. That way, the Apple II will have at least a little bit of style support.
The Commodore 64, meanwhile, can’t do reversed text—it has no straightforward way of changing the background color of an individual character, only the whole screen at once. It can’t do bold or italic either, for that matter. But what it can do is change the foreground color of the text. It currently uses this to fake bold and italics: the “bold” bit chooses a lighter color, and the “italic” bit chooses a more saturated color (blue).
Now that the 6502 interpreter can set and reset the “reverse” bit based on the CSS, it seems only natural to extend the C64’s color-based styling to include it. The question is…how?




