The April 1984 issue of the British magazine "What Micro?" (70p from all good newsagents) contained a spoof review of a revolutionary new PC, the "Victori XZ64/4A".
A paragraph in praise of its display reads:
"Now lets move on to the display - and what a display it is. No less than 30 colours are available from Basic: white, off-white, cream, dark cream, light tan, light brown, bamboo, medium tan, medium brown, wood brown, sepia, burnt umber, oxtail, mustard (both French and English), khaki, off-brown, chocolate, dark tan, dark brown, dark burnt umber, burnt chocolate, drinking chocolate, ovaltine, light black, medium black, dark black, brown with a hint of green, brown with a hint of red, and brown with a hint of reddy-green. On some televisions these colours tend to look a little muddy, but with a little hunting around compatible sets can be found. For the purpose of this review I am using a VictoriVision Super Compatible available at most good electrical shops in Taiwan."
When I was just a kid hogging all the time on my dad’s PCjr, I wrote a BASIC program to dither all combinations of the 16 colors, and since it was connected to the crappiest color TV we had in the house, it was just blurry enough (even at 320x200) that out came what looked to my eyes like all the colors ever invented - 256 beautiful separate solid colors, almost. Dozens of lovely shades of brown, and pinks and magentas and greens and a whole subtle palette of all the colors under the sun, at least that’s what it felt like. Then the Amiga came out and I was soo jelly.
The "blurriness" is due to the color resolution on NTSC being effectively only 160 pixels, so the colors of adjacent pixels blend together. Early Sierra games like King's Quest used this trick too :)
This effect is enshrined into the default EGA palette[1] -- you'll notice that the bit pattern sent to the monitor is always either 000xxx or 111xxx except in the case of brown, which is 010100. In any given color, the base bits (0..2) contribute 66% of the RGB channel levels, and the intensity bits (3..5) provide the other 33%.
In the case of brown, which should be an "intensity all off" color according to the pattern, the green-base bit (which strong green) is disabled and replaced with the green-intensity bit (which produces weaker green).
Without this, the default color would be #AAAA00, which has it's uses I'm sure, but in the abstract is a difficult color to love.
As also mentioned in the article, the root problem is that for all the other pairs of colors defined by IBM the hue is the same and only the brightness varies, while for the pair yellow and brown both the hue and the brightness are different and many early implementers have failed to take this into account.
Brown is just dark orange, but what is interesting is that there exists no dark yellow, which is why IBM had decided to define the paired low intensity color for yellow as the more useful brown.
When the brightness of yellow is reduced without changing the hue, at some threshold the sensation of yellow disappears and the color is perceived as some kind of dark olive green. Changing continuously only the hue at low brightness passes continuously between a dark yellowish green and a greenish brown, without any intermediate color being perceived as yellow.
It seems that the sensation of yellow is produced by the approximate equality of the detected red and green components, but only when their intensity is high enough. This is similar to the sensation of white, which is quite distinct from the sensation of gray, even if these colors differ only in brightness.
Fun fact, human skin is orange - both dark and light. If you saturate the colors of photos of people of any race, everyone is orange. Some AI face detectors use this to help identify where people are in images.
TheRasteri on YouTube made a video on how CGA works at the hardware level, specifically the brown detection, and how to make a CGA to EGA converter: https://youtu.be/vwKA1z8tg1g?t=184
A while back I did some experiments with 4-bit digital to analog RGB. I wanted to find a simple arrangement of resistors that took for digital lines and produced Red,Green and Blue intensity levels to produce a palette that was more friendly.
More recently I had the thought of training a resister-net in pytorch with quantization aware training (quantizing resister values to a few common values) to see if I could produce a set of colours to minimise the average perceptual distance to the closest palette entry from any color.
One day I'd like to make my own 74-logic game console, so this was one of the building blocks. It did make me think that having a cartridge port that as well as ROM, included Analog-in, Analog-out, and digital-in video lines so carts could tweak the colours. To use system default just connect analog-in to analog-out for each of R,G, and B. Cross the wires to get palette variations. Use the digital lines to resister-net your own (or just modulate the default). Or go crazy like a NES mapper.
I like the brown instead of olive drab in the EGA palette, though imho they could have also made one of the two magentas orange instead: orange is missing and how many magentas does one really need?
I would have liked a couple more shades of gray. I'm practice with lowres art and ansi, everyone just used cyan shades as a stand in for more gray. Which was sometimes cool. But very over used all the same.
At least ega could adjust the palette for more color options. This was pretty fun with rip colors and ansi. I'm thinking of making a filter to adjust ansi color codes to their RGB counterparts so art can display properly with modern terminals that have custom pallets.
Ohhh I thought this would be about the ugly brown/beige boxes in the early pc era. I think this was just because IBM used that colour in theirs and everyone copycatted it. The same way a lot of peripherals were using semi-transparent fruity coloured plastic in the early 2000s after Apple popularised this :P
Not many computer companies really had good industrial design. Except remarkably some business-oriented companies like SGI and (to a slightly lesser extent) Sun whose stuff was awesome for the era. Too bad it was completely unaffordable.
My favorite kind of brown is Safety Orange (#FF7900), which I find to be cromulent and soylent concurrently. Strange though, how it does change where the pixels flow.
A paragraph in praise of its display reads:
"Now lets move on to the display - and what a display it is. No less than 30 colours are available from Basic: white, off-white, cream, dark cream, light tan, light brown, bamboo, medium tan, medium brown, wood brown, sepia, burnt umber, oxtail, mustard (both French and English), khaki, off-brown, chocolate, dark tan, dark brown, dark burnt umber, burnt chocolate, drinking chocolate, ovaltine, light black, medium black, dark black, brown with a hint of green, brown with a hint of red, and brown with a hint of reddy-green. On some televisions these colours tend to look a little muddy, but with a little hunting around compatible sets can be found. For the purpose of this review I am using a VictoriVision Super Compatible available at most good electrical shops in Taiwan."