3 ms·
I thought it might be about dithering used in HyperCard, but nope, very different approach. I wonder if Apple ever tried this with its early CRTs for the Mac?
by karmelapple 4y ago
I thought it might be about dithering used in HyperCard, but nope, very different approach.
I wonder if Apple ever tried this with its early CRTs for the Mac?
- marssaxman 4y agoI can't swear that nobody ever tried it, but such a demo would have been very impressive, and I can't imagine how it could have been done. Those original black-and-white Macintoshes had an 8 MHz processor, and the screen was 512x342 pixels; just performing a single cycle's worth of computation per pixel would limit you to 45 Hz. Even if you could somehow miraculously perform dithering in a single instruction per pixel, you'd have no CPU left to run the animation or do anything else.
- adrianmonk 4y agoWould it have provided any benefit? CRTs have continuously variable brightness. The bottleneck was having large enough video RAM to even store the higher pixel depth, the processing power to draw it, and the bandwidth to do the output. Circuitry to convert a multi-bit value to a voltage doesn't seem to have been cost prohibitive. Even cheap devices (the predate the Mac) like the Atari 2600 could do that. I'm actually not sure why they went 1-bit with the Mac. Maybe they felt having more pixels was so important that going monochrome was a reasonable trade-off. The original NeXT had 2-bit greyscale (black, white, 2 shades of gray), and that looked pretty nice. It also had lots of pixels and was way more expensive.
- marmakoide 4y agoThere was some code allowing 12 bits RGB display on 8 bits palette screen mode, using very simple temporal dithering (PWM). For example, a demo for old versions of Allegro library. This blog post shows a way to improve on that.