23 July 2020, 12:47 | #1 |
Registered User
Join Date: Mar 2009
Location: moon
Posts: 373
|
ECS super hi-res palette limitations
I understand the maximum of two bitplanes due to DMA bandwidth limitations (twice the speed of hi-res leaves half the amount of data per pixel), but why is the palette limited to just 64 colours rather than the usual 4096? It's half the number of bits per channel, so I guess there's another kind of bandwidth limitation at the same time. Is it known how the hardware operates at this level, or is it a black box to guess (educationally) about?
|
23 July 2020, 13:24 | #2 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
|
I'm not sure how it works internally in the chip, but the Hardware Reference Manual states:
Quote:
|
|
23 July 2020, 13:28 | #3 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
|
AFAIK it is due to Denise internal palette RAM bandwidth limit. Chip manufacturing technology used for pre-AGA Amiga chipset simply wasn't fast enough for superhires.
This hack allows to get two pixels worth of color information using single palette RAM read (with halved color component value range per pixel). |
23 July 2020, 13:44 | #4 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
|
Sounds logical. Thanks for the info!
|
23 July 2020, 14:20 | #5 |
Registered User
Join Date: Mar 2009
Location: moon
Posts: 373
|
|
23 July 2020, 14:44 | #6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
|
graphics.library handles it automatically (Note that AGA KS ROMs don't support this mode anymore). 3rd edition HRM ECS extra chapter documents the "encoding".
|
23 July 2020, 14:56 | #7 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
It can also be viewed online here: http://amigadev.elowar.com/read/ADCD.../node00A4.html
not a very comfortable mode |
23 July 2020, 15:08 | #8 |
Registered User
Join Date: Mar 2009
Location: moon
Posts: 373
|
That's hilarious, what a hack. Thanks for the information!
|
23 July 2020, 16:00 | #9 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,215
|
Quote:
Concerning the palette usage, the trick is that every color(!) is responsible for generating two pixels. That is, once a particular color is loaded into the DA converter, it generates from the two most significant bits of each channel the left pixel, and the two least significant bits of each color go into the right pixel. Thus, the Denise logic stays almost identical, the pixels are duplicated at the very last step of the DAC. Hence 4 bits per color = 12 bits per pixel for a regular mode, but 2 bits per color = 6 bits for SHIRES, giving the data rate for 2 pixels (2*6 = 12). A very fine hack indeed. |
|
25 July 2020, 07:25 | #10 |
Registered User
Join Date: Sep 2006
Location: New Sandusky
Posts: 942
|
They could have conceivably just added an extra CLUT buffer to Denise to get around this, and keep the 12-bit palette, but they didn't. I'm not sure why they didn't.
|
26 July 2020, 14:21 | #11 |
Registered User
Join Date: Jun 2014
Location: milan / italy
Posts: 174
|
I think the problem is the CLUT max speed is 70ns. Super hires requires 35ns. In super hi res Denise works as in hi res except 2 pixels are emitted every 70 ns using that trick. BTW, Denise has no color DACs.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Possible ocs/ecs chipset bug? (palette flicker) | vagrant | support.WinUAE | 24 | 02 December 2017 14:28 |
WTD: ECS Super Denise | alexh | MarketPlace | 6 | 03 October 2009 22:01 |
Super Street Fighter 2 - wrong palette in final version! | viddi | support.Games | 43 | 31 October 2008 19:45 |
Super Denise (ECS) wanted! | Antiriad | MarketPlace | 4 | 18 September 2003 11:15 |
Super Street Fighter 2 (ECS) | Bamiga2002 | Games images which need to be WHDified | 3 | 07 September 2003 23:14 |
|
|