16

Which 8-bit computer could / can display the most colours on screen?

Please take into account undocumented/newly discovered video modes and other hacks. For example, static sprites supposedly allow for more colors on the c64.

Mark Williams
  • 4,062
  • 1
  • 23
  • 50
user1095108
  • 803
  • 5
  • 17
  • 10
    Most colours in palette or max simultaneously on screen, or max in any one pixel line? – Mark Williams Dec 21 '23 at 18:28
  • 5
    Does a 8088 PC with 24-bit VGA card count? – Justme Dec 21 '23 at 18:37
  • @MarkWilliams most colors in the sense of old ads we all remember. – user1095108 Dec 21 '23 at 18:39
  • 5
    "the 8088 shares the same 16-bit registers and one megabyte address range as the 8086", so I don't think it counts. – user1095108 Dec 21 '23 at 19:09
  • 1
    I'm guessing that modern 8-bit machines don't count? The Foenix F256K offers 24-bit LUTs and up to 1024 different colours on a static (i.e. no raster trickery) display. – Tommy Dec 21 '23 at 19:30
  • 2
    Correct, the 8088 is an 8086 with an 8-bit external data bus. Everything else about it is solidly 16-bit (with 20-bit physical addresses). (It was designed to make porting of 8-bit 8080 code so easy that software could do it automatically, like assemble an 8080 source file with an assembler that knows how to make 8086 machine code from it, so four of the eight 16-bit registers are also accessible as two 8-bit halves, but I don't think there's a reasonable argument that an 8088 is an 8-bit CPU unless you only look at the external data bus width.) – Peter Cordes Dec 22 '23 at 01:48
  • 4
    The 8088 is a 16-bit processor. Now, the 8080/8085 were 8-bit, but I don't think they were ever combined with hardware that could do VGA. – penguin359 Dec 22 '23 at 03:28
  • 2
    "static sprites supposedly allow for more colors on the c64." - Do you have a reference? – MrWhite Dec 22 '23 at 13:17
  • @penguin359 the VDP in the MSX2 gets surprisingly close, but its 256px 8bpp mode has a fixed palette; there's no additional LUT. – Tommy Dec 22 '23 at 18:44
  • 4
    Do you consider NTSC artifact colors to be real colors? – Mark Dec 22 '23 at 22:15
  • @MrWhite I didn't do any 6510 programming for a long time, but I read this info in connection with the c64 eye of the beholder port. – user1095108 Dec 23 '23 at 07:47
  • On the Amiga as I recall, twiddling the color palette in the middle of the retrace interval allowed exceeding max color count. – Ross Presser Dec 23 '23 at 21:04
  • Most of my Amigas were 32 bit. – hippietrail Dec 24 '23 at 04:03
  • 32 bits still ain't 8 bits :) – user1095108 Dec 24 '23 at 06:55
  • @Mark: If artifact colors are considered "real", the original PC's "lores" mode might come out absurdly high, because the border color is output where the chroma burst should be, and different border colors will thus change the artifact colors produced by everything else, which in turn interact in quirky ways with the dot patterns being displayed. – supercat Dec 24 '23 at 17:56

6 Answers6

34

Considering only 8-bit CPUs, I think the answer is the Fujitsu FM-77 AV40, which can display any 64,000 colours from a palette of 262,144 with a 320×200 resolution (the 64,000-colour limit is tied to the resolution).

Among more common systems, GTIA-equipped 8-bit NTSC Ataris can display 256 different colours on-screen simultaneously (16 hues and 16 luminance levels, with restrictions on changes per line).

Stephen Kitt
  • 121,835
  • 17
  • 505
  • 462
22

The Game Boy Colour allowed for 32768 colours (https://gbdev.io/pandocs/Palettes.html). With 8 palettes of 4 colours available, that's 32 colours on screen at once. The palette data can be updated between lines, but there is not enough time to change every colour every line. My best effort allows for 18 meaningful colour updates per line, allowing for 2606 colours per screen. 24 colour changes per line is possible, but with restricted colour choices, giving 3464 colours per screen. A maximum of 4608 colours per screen may be achievable, but would require writing unique values to the palette register every 2 CPU cycles

rhellen
  • 321
  • 2
15

The Amstrad CPC plus range of Z80 machines could display 4096 colours at the same time. 4096 Preview demo by Kevin Thacker

Mark Williams
  • 4,062
  • 1
  • 23
  • 50
  • 2
  • 9
    It might be worth adding more detail here. A lot of people probably know that the palette had 4096 colours. The fact that it was possible to get all of them on screen at once is a bit more obscure. – Ian Thompson Dec 22 '23 at 20:58
  • 1
    @ianthompson I would, but you only ever saw this many colours in demos, and I don't really know it was done. I assume that you could swap the palette on every horizontal line. – Mark Williams Dec 23 '23 at 16:39
8

The Sam Coupé has a built-in palette of 128 colours.

But it also has the extremely-questionable Kaleidoscope add-on; primarily a demo of their GPIO-esque hardware development kit, it applies a programmer-set variable resistance to the internal RGB colour prior to output in 256 steps.

So if the CPU can sit in a busy loop spamming OUTs then in principle 32,768 colours are available to you.


The linked page is kind of long, so to pull out the relevant supporting materials:

Kaleidoscope gives us an additional eight, independent bits for colour generation, offering us 256 shades of each of the native 128 Coupe colours.

...

So, how do we use these colours? Well, first we need to know how to access them. Kaleidoscope looks like a single write-only port to the processor, sitting at port address 8063 (&1F7F).

...

Using this method you can place all 32768 colours on screen at once (as long as you use the line interrupts to put the native 128 colours on screen).

Tommy
  • 36,843
  • 2
  • 124
  • 171
7

MSX2+ computers can show up to 19268 colours simultaneously. Also, MSX computers equipped with a GFX9000 cartridge can show up to 32768 colours.

F1 Spirit 3D Special by Konami on an MSX2+ computer Golvellius 2 by Compile on an MSX2+ computer

6

Any embedded system using an 8-bit micro and (for example) an FT800 lcd controller would be capable of 256k colours. Probably not quite what the OP had in mind but there must be many examples.

Frog
  • 1,385
  • 4
  • 7
  • 1
    Good idea, yeah, there are many modern 8-bit (re)creations. – user1095108 Dec 23 '23 at 07:43
  • If we go along this route, then many years ago someone reportedly connected a microcontroller to a Radeon GPU via an I2C debug interface. So technically, even a 4-bit MCU could do the same and use the GPU as 24-bit framebuffer, which means, even at 4K resolution, you can't fit all possible colors on screen at once. I don't know if GPUs supported 30-bit colors back then. – Justme Dec 23 '23 at 13:16