VOGONS


VGA 256 color blinking

Topic actions

First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

What happens when the VGA's attribute controller has 8-bit pixels enabled with blinking turned on? Will the 4 bits that are latched be subjected to the 3-bit plus blink bit scheme before being latched together?

So in that way:
Value 0xED becomes 0xED or 0x65, depending on the current blink status of the VGA (every 32 frames).

Or is something strange done with the output? Only the highest bit is toggled on/off?
Value 0xED becomes 0xED or 0x6D, depending on the current blink status of the VGA (every 32 frames).

How about in text modes? In that case, with 8-bit turned off, an 8-bit attribute is processed into a 4-bit font and back value. This is determined by the character font and font used is affected by the blinking setting. So:

FONT COLOR = low 4 bits of attribute
BLINK = highest bit of attribute
BLINKING = Attribute Mode Control Blink bit
BACK COLOR = high 4 bits of attribute / high 3 bits of attribute (BLINKING AND BLINK)
FONT_PIXEL = Pixel from VRAM plane 2
USE_FONT = (BLINKING AND BLINK) ? (FONT_PIXEL AND CURRENT_BLINK), else FONT_PIXEL
COLOR = USE_FONT ? FONT COLOR, else BACK COLOR
The COLOR value is processed through the attribute lookup Registers (Attribute Controller Registers 0-15)

What happens when you turn 8-bit colors on in text mode? Will the FONT COLOR be changed to the attribute, and the background color to attribute AND 0x7F?

Anyone has a (IBM) VGA to verify blink operations in 8-bit mode? What does it do when blinking and 8-bit colors are enabled in the Attribute Mode Control register?

This should be able to test by:
1. Set characters during text mode 03h (different attribute font/back), enable 8-bit colors.
2. Plot all 256 colors on screen during graphics mode 13h, enable blinking.

Anyone has results from a (IBM) VGA? What happens in these 2 configurations?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io