Original Post

Three shades of red plus black, that’s it regarding colors on the Virtual Boy. But there are tricks to work around this limitation and experimenting with these has been on my TO DO list for a long time.

Time to tick that off. Here’s a simple demo demonstrating three different ways to display more than four colors on the Virtual Boy simultaneously. These are:

1. Dither

We’re starting off with good ol’ dithering. OK, this is technically cheating since we do not really show more than 4 colors at once, but still, dithering at least creates a good illusion of a more color rich images, while not relying on any technical trickery.

2. Column Table

Through the Column Table’s brightness repeat register, it is possible to change the amount of light emitted by the display LEDs (and thus the perceived brightness) every fourth pixel column.

This allows for a huge range of different shades of red on screen at the same time, but practical use cases are very limited, since you’re bound to the grid of 4px columns and brightness changes always affecting the whole screen height.

3. Blending

This one is the heart of this demo and the actual show piece. By exploiting the persistence of vision effect of the human eye it is possible to display 8 different colors on screen at the same time.

It works by blending together two images, that is overlaying one image with another, half transparent one. Half transparency is achieved by simply displaying that image only every second frame.

Beware that this trick does not work very well on emulators but produces pretty stable colors on real hardware.

DOWNLOAD MULTI COLOR DEMO (117 kb)

4 Replies

The 2nd method is useful to make independent vertical regions flash in a game scene. And it’s also like the Shadow/Highlight modes of the Sega Genesis/Mega Drive VDP. Dithering can be associated because of the 4-column bandwidth of the column table.

mednafen vb.pal gives that …

Yeahh I know, weird multi color is not VB. (emulators too)

  • This reply was modified 2 years ago by RockRiver.
  • This reply was modified 2 years ago by RockRiver.
  • This reply was modified 2 years ago by RockRiver.
  • This reply was modified 2 years ago by RockRiver.
  • This reply was modified 2 years ago by RockRiver.
  • This reply was modified 2 years ago by RockRiver.

Yeah, that would be pretty cool and all… but please stop spamming every thread in every forum and every social media post and every video’s comments on Youtube and every issue tracker on Github you come across about this.

Great!! one viewer…
All people at Discord, I suppose. And I was wrong.
Weird my ideas. Sorry!
Ok. Thanks for your answer and excuse me about that.

(here one fan of your great work. forgive my indiscretion)

  • This reply was modified 2 years ago by RockRiver.

 

Write a reply

You must be logged in to reply to this topic.