>>10
I even remember that the high bit of the background was the blinking attribute, so you couldn't have bright background colors.
Or could you? Maybe there was a special switch which disabled blinking, I think I saw some program that did it.
Also I remember programs who used custom characters to simulate widgets such as radio buttons. Some even had mouse cursors in text mode with one pixel granularity; they did this creating 4 custom characters which were the ones that fell under the cursor at any given time (the cursor had the size of one character, 9x16 pixels I think for 80x25) with the corresponding parts of the cursor overimposed. If you moved it over a color difference you could see the underlying boundaries.
Awesome stuff.
Of course this falls on the "huge array" case, still pointless to do for single variables.