Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
13 crawler(s) on-line.
 117 guest(s) on-line.
 1 member(s) on-line.


 NutsAboutAmiga

You are an anonymous user.
Register Now!
 NutsAboutAmiga:  2 secs ago
 Kronos:  5 mins ago
 BigD:  12 mins ago
 vox:  14 mins ago
 michalsc:  19 mins ago
 yoodoo2:  22 mins ago
 amigakit:  23 mins ago
 AF-Domains.net:  24 mins ago
 OlafS25:  26 mins ago
 Trixie:  30 mins ago

/  Forum Index
   /  Classic Amiga Hardware
      /  Could the Amiga chipset have supported packed pixels with minimal changes?
Register To Post

PosterThread
Hypex 
Could the Amiga chipset have supported packed pixels with minimal changes?
Posted on 25-Nov-2024 16:32:10
#1 ]
Elite Member
Joined: 6-May-2007
Posts: 11332
From: Greensborough, Australia

Hi guys.

One of the most common discussions in the past few decades is the Amiga bitplane graphics and the possibility of integrating packed pixel modes into the design. We know this was planned post AGA with AAA but could it been possible with a hardware revision? I avoid terms like chunky because it's such a PC term. I am discussing Amiga here.

I've known about how the Amiga design works for a number of years like we all have. But one thing has stood out that lacks detail which I think could have been the key to adding a packed mode without major changes. That is the bitplane data registers known as BPLxDAT:

These registers receive the DMA data fetched from
RAM by the bitplane address pointers described
above. They may also be written by either
microprocessor. They act as a six-word parallel-
to-serial buffer for up to six memory bitplanes
(x=1-6). The parallel-to-serial conversion is
triggered whenever bitplane #1 is written,
indicating the completion of all bitplanes for
that word (16 pixels). The MSB is output first,
and is, therefore, always on the left.

http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0023.html

Little else is said but it's obvious here that parallel chunks of 16 pixels are read in from the planes and then converted into some serial data stream for CLUT reference. Or, to put it another way a planar to chunky conversion. This, I believe, is the clue to adding packed pixel modes.

It's not explained greatly here but each pixel bit is reversed from being atomic elements to becoming a whole quantity. It doesn't specify if it is one pixel at a time or a whole stream of 16 pixels. But what is certain is that planar bits go in one end and packed bits come out the other.

So the hardware read 16 bits at once for the parallel to serial conversions. One word for each plane which is stored in BPLxDAT. I don't know how this was stored as there are no public registers with the result but this I believe would have been the key to adding packed modes.

Taking the above into consideration I think the best way to achieve it and be easily engineered into the design was a direct mode that skipped the parallel to serial conversion altogether and read it directly from the plane. This would have placed a direct colour index into the hardware. For 1 bitplane this would have been direct anyway with a 1:1 conversion. For more it just becomes multiples of 16 bits so two bytes per plane. So up to 6 planes the max pixel data is 96 bits wide or 12 bytes. 6 individual parallel 16 bit reads then become sequential 16 bit reads. Depending on hardware configuration a group of 16 bits could be read in parallel or serial. The point here is it could read the data directly and skip the conversion since the CLUT value is ready o go.

It makes sense if it would be restricted to powers of two so only supporting 2, 4 or 16 colours. Since that is also easier to manage in software. But, what's interesting is if you do the math, oddly enough, any odd bpp like 3 and 5 can fit in the same space. That is, 16x3 bpp is 6 bytes and 16x5 bpp is 10 bytes. Even 6 bpp, with 16x6 is 12 bytes. No matter what is the pixel width it's always aligned to 16 bits.

It's been said an A500 could have displayed a 256 colour chunky screen. That the bandwidth was there. In this case though it would have needed 128 bits or 16 bytes to read in a max group of 16 pixels.

The implementation would have used one plane in linear format as each pixel is wider and spread across one plane. But still would have allowed modes such as dual playfield to exist as normal. As well as copper and sprites working as normal. The blitter modes would likely have been unchanged but would have needed extra width to accommodate for wider blits due to wider pixel data per line. A mask could work as usual but would have needed to be wider and be packed out to pixel width.

So, what do you guys think? Does that look like something that would have been feasible? Or is there something I have missed such as reading in blocks of 16 bits but still only processing each pixel one bit at a time? In any case that data is some where.

Comments will appear below.

 Status: Offline
Profile     Report this post  
BigD 
Re: Could the Amiga chipset have supported packed pixels with minimal changes?
Posted on 25-Nov-2024 17:26:20
#2 ]
Elite Member
Joined: 11-Aug-2005
Posts: 7444
From: UK

@Hypex

An 030/50 board with EDO Ram and AGA ADoom modes ran Doom 1 just fine. They needed to bump CPUs across the AGA machines as well as including a multi button controller, 1.76MB full speed disk drive and upgraded 8 channel Paula! Chunky Pixel was a bridge too far for AGA!

Last edited by BigD on 25-Nov-2024 at 05:31 PM.

_________________
"Art challenges technology. Technology inspires the art."
John Lasseter, Co-Founder of Pixar Animation Studios

 Status: Offline
Profile     Report this post  
Mobileconnect 
Re: Could the Amiga chipset have supported packed pixels with minimal changes?
Posted on 25-Nov-2024 18:11:46
#3 ]
Cult Member
Joined: 13-Jun-2003
Posts: 503
From: Unknown

@Hypex

given how simple the c2p logic in akiko was it would likely have been easy to implement into an AGA+ chip or something, would they have ever made such a thing.

_________________

 Status: Offline
Profile     Report this post  
Kronos 
Re: Could the Amiga chipset have supported packed pixels with minimal changes?
Posted on 25-Nov-2024 18:30:27
#4 ]
Elite Member
Joined: 8-Mar-2003
Posts: 2671
From: Unknown

@BigD

They could've should've a lot of things most not realistic with the constraints in place.

They did have AAA going and opening up Paula (and the CIA?)to double the floppy data rate was rather pointless as even in 92 floppies really shouldn't have been anything but install media.

Sure AIKIO was simple but also so slow that barely anything used it.
There might also be a good reason why they choose to not integrate into Alice was had already borderline timing.

If they had waaaaaay back decided to push the Ranger chipset and if they had designed that with chunky in mind, sure but in the AA timeframe just pointless.

_________________
- We don't need good ideas, we haven't run out on bad ones yet
- blame Canada

 Status: Offline
Profile     Report this post  

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle