View Single Post
Old 08 April 2024, 03:29   #3479
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,614
Quote:
Originally Posted by emiespo View Post
Let’s say I want to turn pixel at coordinates 107,107 red (colour 5 in the clut).
Let's say you didn't want to plot pixels one at a time, what then?

Quote:
Packed chunky 5 bits: similarly I’d compute the start of a row and the I’d need to divide the X coordinate by the number of planes (in this case 5), to get the initial bit, and then change 5 bits with two accesses to memory: read the resulting word, AND with a mask, OR the five changed bits with the value 5 (colour red) in one go.
Great! Now show us the circuit made out of standard logic gate ICs. Then show us the extra circuitry you need for 1, 2, 3, 4 and 6 bitplanes too, and how you switch between them.

Jay Miner chose bitplanes for one simple reason - he could make a circuit that did 1 bitplane and apply it to as many as he wanted without a lot of tricky logic. And he didn't have any fancy HDL tools to create and debug it. To test the design he had to build the circuit on a wire-wrap board. These photos of the Lorraine prototype give you an idea of what a massive undertaking that was. If you've ever built logic circuits this way you will appreciate the effort that went into it. I've done a few, but I would never attempt something this large and complex.

The Blitter had to work in bitplane mode for doing 1 bitplane anyway, but guess how much extra circuitry you need to do multiple bitplanes? That's right, nothing. So you design your single bitplane blitter and that's it! Then to get more colors you just stack up multiple identical 1 bitplane display boards, and feed their output into the LUT. Perhaps even separate them into 2 groups, each generating its own display (dual playfield). And the blitter doesn't have to know anything about this.

But hey, perhaps you are right and it wouldn't be any more complex. Unfortunately - unlike today's armchair engineers - Jay Miner didn't think to do all it in packed pixel mode. Strangely nobody else did either. I guess they just weren't as smart as Amiga fans of today - probably due to all that tetraethyl lead they were breathing in back then.

Quote:
Edit: oh and a clever chipset like Amiga’s could’ve used some optimisations, like discarding the extra bit that would go to an odd address and keep all accesses aligned, at the expense of some ram. We’re talking about one bit every three pixels… for a 320x200 display that’s less than 3k of memory wasted. The AGA copper wastes a lot of memory (and bandwidth…) just to define a 24bit palette.
I can think of more copper optimizations too, but this doesn't mean what we got was inadequate. It was far better than anything else out there. And it actually worked, unlike so many bright ideas that turned out to be impossible to implement. The AGA chipset was complex enough already, without loading it up with feature creep that would delay its introduction even more.
Bruce Abbott is offline  
 
Page generated in 0.04376 seconds with 10 queries