My Authors
Read all threads
so my friend @compgeke has this computer with a really neat VGA BIOS screen: there's a rainbow shimmering effect on the logo! 🌈 but how does it work? (🧵...)
he showed me the pic and i immediately recognized it as a Headland Technology/Video 7 BIOS, many of which have the rainbow. he dumped the ROM and found these credits inside.
i compared it with my old Video 7 ROM which contains this. looks like our friend Larry Coffey worked on both cards. you might also recognize the name Mike Abrash, who is famous in the computer graphics field.
sure enough, this Radius card has the string "Video Seven" in the ROM.
but i want to know more about how they got the rainbow effect. time to dig out Ghidra.
i found the function in ROM. (function name is my own, i don't know what the original source code called it). it runs some Int 10 VGA BIOS functions that sets up the palette for 16 colors (instead of 8 colors + intensity bit). then it prints the string.
the string looks odd: there is a character, then a number, then another character, and so on. the even numbered bytes represent the color, 1 to 15. (color 0 is the black background). the color increments for each character, but then wraps around.
here's the guts of the algorithm. it just copies a table into the video card's 15 color palette entries, incrementing the table offset by 1 entry each time.
the color table, formatted, looks like this. each entry has three values: red, green, and blue. looking at these numbers you can see that this is a rainbow table!

😂
i copied the ROM into a quick Borland C++ program to see if i could single-step the animation. here's what one frame looks like. pretty cool!
the program will not run under dosbox because it doesn't implement a bunch of those int10 video functions, for some reason. oh well, it works on my real hardware.
there may be *slightly* more magic to get the shimmery effect, probably some sort of VSYNC lock happening in one of the int10 functions in the card.
so it does make me wonder a bit--there were some games and other programs that used VGA text mode, but i don't know of any that also reprogrammed the VGA palette in text mode, even though this is possible (as i just demonstrated). anyone know of one off hand?
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Tube Time

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!