Closed dansanderson closed 1 month ago
To summarize the proposed change to the VIC-III character attribute bits:
These changes intend to make the upper palette function similarly to the lower palette with regard to the other attributes. A mode that blinks between the two palettes is far less useful than blinking an alternate color character off and on.
This keeps the current behavior of blink + either reverse or underline causing the reverse or underline attribute to blink instead of blinking the entire character on and off. This is consistent with the current implementation for the lower palette.
I notice that viciv-modes.md
claims that the upper palette is only used for bit 6 + bit 5, implying that there is no way to reverse the character when the upper palette is selected. This does not match the current implementation, and I assume this was overridden such that bit 6 alone represents the upper palette. I agree with this decision and assume the document just needs to be updated.
This is fixed in release v0.96.
Test Environment (required) You can use MEGA65INFO to retrieve this.
Describe the bug There are two issues with rendering character attributes when the upper palette ("bold") attribute is set (bit 6):
The latest ROMs use the reverse attribute to render the cursor, so this is a usability issue with the upper palette. Ideally this would be fixed in the core instead of rolling back the way the cursor is rendered. https://github.com/MEGA65/mega65-rom-public/issues/56
To Reproduce Here's a rendering of all 16 attribute combinations across 16 color values:
Expected behavior Line 5 should blink between upper palette and background color.
Line 6 should be reversed.
Line 7 should blink between reversed and not reversed, both in the upper palette, similar to line 3.
Line 13 should blink between underlined and not underlined, both in the upper palette, similar to line 9.
Line 14 should be reversed. (Presumably it is correct for reverse + underline to appear simply reversed.)
Line 15 should blink between reversed and not reversed, both in the upper palette, similar to line 7. (Presumably it is correct for reverse + underline to appear simply reversed.)
Screenshots First blink state:
Second blink state:
Program listing: