13 Replies

The Virtual Boy can display black and 4 shades of red onscreen out of 32 possible shades.

This is inaccurate enough to make me cry, and I know exactly the source where the author got this mistaken information. It needs to die in a fire.

Please explain the correction and it will be implemented.

If 4 shades out of 32 is wrong, then how come it’s in the specs page here on PVB?

http://www.planetvb.com/modules/hardware/?type=vb&sec=specs

We try to be accurate with everything on Micro-64.

3DBoyColor wrote:
If 4 shades out of 32 is wrong, then how come it’s in the specs page here on PVB?

The specs page was inspired by this little piece of cheese, which says:

David Tucker wrote:
Four shades of red, at one time, from a pallet of 32 shades

The same document then goes on to correctly document the function of the brightness registers. |-:

Virtual Boy has three brightness registers, meaning under normal circumstances, it’s black and three shades of red. The registers can be assigned arbitrary integer values, which correspond to brightness. There is a couple quirks, however:

* Though the registers are 8 bits, testing shows that values above 127 don’t appear to increase the brightness, yet risk emission overtime.
* While registers A and B use their assigned values directly, the final brightness value for register C is A + B + C.

In practice, one could consider this a “palette of 128 shades” of red, although that lingo doesn’t reflect the semantics of what’s going on. The brightness value is used as an actual measurement of time for the LED to emit light, where longer emissions have greater apparent brightness.

The scanning hardware also has a “column table” that stores records regarding the amount of time to emit for each set of 4 columns as well as a brightness multiplier. Again, technically, the multiplier is in fact the number of times to emit light during each column’s pixel period, but the apparent effect is multiplying brightness.

Case in point, the intro cinematic for Wario Land uses non-uniform values for brightness in the column table, which gives it that “fading out on the sides” effect:

If every group of columns had a different repetition parameter, one could technically get 128 different shades of red in addition to black in the same frame.

Furthermore, the brightness registers can be modified during frame rendering, though since VIP operations depend on the work that needs to be done, it’s impractical to try and time it that way. Still, though, it’s possible. I don’t know what limitations are actually in place, but as far as I know each group of 8 rows can have different brightness values assigned.

That explanation is much appreciated, but it’s difficult to condense into simpler terms, without having to dedicate an entire paragraph of explanation. Would you say most released games used color variation anywhere between 32 and 128 “shades”? By your description, is the “master palette” the same as what’s allowed onscreen?

It’s effectively 7 bits of brightness. Games typically set register C to 0, and register B to twice the value of register A, which gave four equally-spaced levels of brightness for frame pixels.

As games often implemented software brightness controls and “fade to black” effects during transitions, individual titles most likely made use of the full range of brightness the system had to offer.

What does that mean to a non-programmer though? What is the total number of unique “shades” possible onscreen? What is the effective limit most games use, not counting special effects?

3 shades of red at a time, plus black, out of 128 possible.

Got it, thanks for the awesome writeup.

I’m also trying to factor in all that you said though. Before you said, basically, you can have 128 unique shades of red onscreen. Are there any limits to that?

It’d be in groups of 4 columns of pixels, so not very useful.

Okay… Now correct me if I’m wrong, but does this statement sound better?

“The Virtual Boy can display black and 3 shades of red onscreen out of 128 possible shades. With careful programming, it’s possible to have 128 unique shades onscreen at once.”

I’d just say it can display three simultaneous shades of red with configurable brightness, personally. The fact that there are 128 practical levels is somewhat technical.

Well I’d rather not spread a misconception, so thank you very much for clearing all that up.

Also, that VB programming guide. How accurate is it? Can I pull tech specs from it?

3DBoyColor wrote:
Also, that VB programming guide. How accurate is it? Can I pull tech specs from it?

It’s approximately this reliable:

Use this one instead. It’s far from perfect, and I do have some pending updates to publish, but it’s more than reliable enough to utilize the hardware features of the system:

http://www.planetvb.com/content/downloads/documents/stsvb.html

 

Write a reply

You must be logged in to reply to this topic.