[comp.sys.amiga.tech] Chip memory bandwidth, graphics modes

nsw@cbnewsm.ATT.COM (Neil Weinstock) (01/04/90)

Oh well, another decade, another few grey cells gone.  While reading the
description of the Black Belt graphics enhancer (provides 8-bitplane graphics
modes in a fairly funky way), I remembered a question that I have had for a 
while, but it usually slips away before I ask someone.

Why can the Amiga handle 4 bitplanes at 640 pixels/line, but only 6
bitplanes at 320 pixels/line?  I understand limitations on number of color
registers and the like, but that shouldn't have any bearing on the potential
for future enhanced chipsets to handle 8 bitplane modes.  Nonetheless, we
hear periodically that the Amiga just *can't* handle more bitplanes/colors
due primarily to chip memory bandwidth limitations.

I can't seem to make this all add up.  Can someone clarify?

    ________________    __________________    _________________________
////                \\//                  \\//                         \\\\
\\\\ Neil Weinstock //\\ att!cord!nsw  or //\\ "Your hair is so...     ////
//// AT&T Bell Labs \\// nsw@cord.att.com \\//  lustre-laden." - Moss  \\\\
\\\\________________//\\__________________//\\_________________________////

a464@mindlink.UUCP (Bruce Dawson) (01/04/90)

     The complicating thing with that explanation is sprites.  In hi-res mode
there are still 32 colour registers available (well actually only 28 or 31,
depending on how you use your sprites).  So how can they be multiplexed?  But
wait, give me a chance to answer my own question.  Could it be because the
sprites are done in lo-res?  ie; they would be multiplexed when displaying
bitplane data, but not when displaying sprite data?  That sure gets wierd,
because I would imagine it would get complicated multiplexing the registers,
knowing that at any point the top sixteen registers might suddenly have to be
used for something completely different.  The top sixteen registers couldn't
just have duplicats of the bottom sixteen colours, because they are
independently set, even in hi-res.

.Bruce.

portuesi@tweezers.esd.sgi.com (Michael Portuesi) (01/04/90)

>>>>> On 4 Jan 90 16:34:37 GMT, ckp@grebyn.com (Checkpoint Technologies) said:

ckp> 	I have this odd theory, though, that when Jay left Amiga he took
ckp> a lot of the custom-chip knowledge with him, and that Commodore has only
ckp> recently (if at all?!?) figured out how they work.

This doesn't make a whole lot of sense.  If Commodore felt that they
needed Jay's expertise to update the Amiga chip set, they would have
asked him to be a consultant or work on a freelance basis, like Dale,
JimM, and others do now.

ckp>  This would explain
ckp> the length of time it took to get the mildly-Enhanced Chip Set
ckp> produced, and some of the oddities:

I'm not a VLSI designer, so I don't know anything about the oddities,
but I would blame the ECS delay more on Commodore's mis-management of
the Amiga product line than anything else.  For example, when
Commodore decimated the Los Gatos facility, development work on
Intuition ground to a halt for a year or so.  I wouldn't be surprised
to discover that Amiga hardware development was similarly impeded by
bad management.

				--M

-- 
__
\/  Michael Portuesi	Silicon Graphics Computer Systems, Inc.
    portuesi@SGI.COM	Entry Systems Division -- Engineering

bob@cbmvax.commodore.com (Bob Raible - LSI Design) (01/05/90)

In reply to the poster that asked why only 6 bitplanes are available to the
user in lores, the answer is that it is only a matter of silicon design tras on DENISE and not a result of chip bandwidth limitations. Unfortunately the
original DENISE(8362) was designed in 1984(or thereabouts) and was fabricated
in 4 micron NMOS technology which was a sort of standard in those days. The
architecture is fully capable of 8 bitplanes and some provision was made for
them (gaps in the register map,etc.). In fact 8 bitplanes in lores DOES use
the samed bandwidth as HIRES 4 bitplanes.

PS: forgive me if I violated some net protocols. I am not a UNIX(TM) type person
and do not get along real well with vi. I thought that a more or less official
answer would be beneficial.

ckp@grebyn.com (Checkpoint Technologies) (01/05/90)

In article <8219@cbnewsm.ATT.COM> nsw@cbnewsm.ATT.COM (Neil Weinstock) writes:
>
>Why can the Amiga handle 4 bitplanes at 640 pixels/line, but only 6
>bitplanes at 320 pixels/line?  I understand limitations on number of color
>registers and the like, but that shouldn't have any bearing on the potential
>for future enhanced chipsets to handle 8 bitplane modes.  Nonetheless, we
>hear periodically that the Amiga just *can't* handle more bitplanes/colors
>due primarily to chip memory bandwidth limitations.
>
>I can't seem to make this all add up.  Can someone clarify?

	Don't worry, it really doesn't add up.  The Amiga chip RAM bus
really does have the bandwidth to support 8 bit planes in low res. What
it doesn't have is the bit plane pointers and color palette registers.
There are only 6 bit plane pointers, and 32 color pallette registers,
and that's why it can't do more than 6 bit planes.

	Now, a clever individual might notice, looking at a memory map
of the custom chips, that there are two unused long words in the custom
chips just following the 6 bit plane pointers, and the color
palette registers come last.  In other words, Jay Miner definitely had 8
bit planes in mind when these things were first designed.  He just ran
out of silicon on the chips; 256 color palette registers didn't fit.
And I just *have* to believe that Commodore knows about this.  So maybe
a 256-plane Amiga is in the cards, someday...

	I have this odd theory, though, that when Jay left Amiga he took
a lot of the custom-chip knowledge with him, and that Commodore has only
recently (if at all?!?) figured out how they work.  This would explain
the length of time it took to get the mildly-Enhanced Chip Set
produced, and some of the oddities: Only 64 colors in super-hires? That
could be because they couldn't figure out how to double the speed
of the color palette registers in Denise.  (Another reasonable
explanation would be simply that Commodore didn't have the time and
money to put a reasonable effort into the ECS chips.)

daveh@cbmvax.commodore.com (Dave Haynie) (01/05/90)

in article <14120@grebyn.com>, ckp@grebyn.com (Checkpoint Technologies) says:

> 	I have this odd theory, though, that when Jay left Amiga he took
> a lot of the custom-chip knowledge with him, and that Commodore has only
> recently (if at all?!?) figured out how they work.  This would explain
> the length of time it took to get the mildly-Enhanced Chip Set
> produced, and some of the oddities: Only 64 colors in super-hires? That
> could be because they couldn't figure out how to double the speed
> of the color palette registers in Denise.

Neither could Jay.  Color registers have always run at the 320 pixel/15 kHz 
dot rate.  When you're in a 640 pixel/15 kHz dot rate, the 32 lores color
registers magically become 16 hires color registers; eg, they're multiplexed.
Now enter the new stuff, like 640 pixels @ 31kHz.  Everything must go twice
again as fast.  Another level of multiplexing is introduced, only for speed
it's introduced as late in the pixel path as possible.  The speed problems
are entirely a function of the rather ancient NMOS technology the chips are
built from.  Facts are, the original Amiga folks stuffed about as much goop
as possible into that 4 micron NMOS before ECS ever came along.  So there
wasn't much room left inside to add stuff; you hit very real limits on the
size of NMOS chips based on heat factors if nothing else.  That's why all the
new stuff happening just about everywhere is CMOS, even though CMOS is more
complicated.


-- 
Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
                    Too much of everything is just enough

ckp@grebyn.com (Checkpoint Technologies) (01/06/90)

In article <9213@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes:
>
>... Color registers have always run at the 320 pixel/15 kHz 
>dot rate.  When you're in a 640 pixel/15 kHz dot rate, the 32 lores color
>registers magically become 16 hires color registers; eg, they're multiplexed.

	Lemme get this straight: you say the color palette halves are
multiplexed, making an effective 16 color palette entries from the 32,
when the Amiga is in hi res?  I could understand this, but I would
expect to see certain side-effects.  Alternate high-res pixels would
address alternate halves of the color palette (but they don't). And 
sprite zero would appear to use color registers 1-3 (but it doesn't).
So I can't figure out what you really mean when you say they're
multiplexed.