Welcome, Guest. Please login or register.

Author Topic: Why Amigas never had a chunky mode ?  (Read 8272 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« on: June 03, 2016, 05:29:51 PM »
Quote from: Thomas Richter;809462
Even with a blitter, modifying an eight-bitplane display requires (unless you are lucky) eight separate accesses to the RAM, once per bitplane.


Per pixel, but you can access 16 pixels at a time.

Quote from: Thomas Richter;809462

Well, I wouldn't generalize it by that, especially "they". As far as the engineering department was concerned, people there were well aware that a major revision of the hardware architecture was urgently necessary, but CBM was short of money and resources, and a management vision.


They relied on the A500 to prop up the company while the chip guys went off down the wrong road of AAA.

Quote from: Thomas Richter;809462
A couple of these ideas (and much more) was planned for AAA, but CBM went down under just before this was completed.


Chunky pixels were suggested for AA and would likely have made it into it's successor (generally referred to as AA+). They ran out of time for AA because they had started it too late and then put the project on hold. AA+ didn't happen due to lack of cash.

AAA was nowhere near ready when CBM went down. The Nyx motherboard wasn't production ready, the chips didn't work and there was no software. I wouldn't be surprised if it would have taken them another 12 months.
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #1 on: June 06, 2016, 06:33:58 PM »
Quote from: Thorham;809466
Only if you have a 1 bit per pixel mode, obviously.

You are moving 16 bits of one plane, so after operating on all 8 planes you have moved 16 bytes which corresponds to 16 pixels. Which is the same number you move with chunky pixel mode.

Quote from: Thorham;809466
There's also the problem that the Amiga blitter accesses memory at 16 bit boundaries, which means you need to blit 16 bits extra for positioning. A chunky blitter that accesses memory at 8 bit boundaries doesn't need the extra bits when blitting to an 8 bit screen.

That is the only situation where planar does require extra bandwidth. While it's nice to have everything as fast as possible, it would usually only be statistically significant on small blits whose time is mostly taken up by the blitter startup.

The tl;dr reason it was planar was that memory was so expensive when they designed the chipset and by the time memory prices dropped, it was too late to change. It was hard enough to get it out there "let's redesign everything because we can make it 1% faster" would not ever happen.

For the longer version...

https://www.youtube.com/watch?v=RXKcMFoRsN4
https://www.youtube.com/watch?v=DOo1HA66BWw
https://www.youtube.com/watch?v=dRNsKvGwKOM

AA was where chunky pixel should definitely have happened, but that project was mishandled by management (and besides it should have been started in 1989 instead of AAA).
« Last Edit: June 06, 2016, 06:39:55 PM by psxphill »
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #2 on: June 06, 2016, 08:06:45 PM »
Quote from: Thorham;809583
16 bits of one plane only equals 16 pixels in 1 bit per pixel mode. If you have more than 1 bit per pixel, you're handling parts of pixels. Part of pixel != pixel :p

Every word transferred in 256 colour planar mode is 16 * 1/8's of a pixel, in chunky it's 2 * 8/8's of a pixel. The maths works out the same, the fewer the bitplanes the more planar wins in terms of speed.

Quote from: Thorham;809583
It's absolutely NOT insignificant. When you're blitting 16 pixel wide bobs (quite common), you're wasting half the blitter time on the 16 extra bits per bob.

Sure, but the overall time of those small blits is then not the blitter bandwidth but the CPU time driving the blitter. The bandwidth itself becomes more important on larger bobs, when the cpu and planar overhead decreases.

Quote from: Thorham;809583
Anyway, assuming AGA chunky, I was wrong, because the blitter would still have to access whole 32bit words in memory to get to the individual bytes. That it would get rid of the need for extra shift bits is irrelevant. Only a faster blitter would make sense.

Yes the blitter could be exactly the same if AA was chunky as you still need to shift by 0/8/16/24 pixels, or you would only be able to move bobs on 4 pixel boundaries.

A 32 bit blitter would have been the only practical way to make it faster and the time and money to do that would be difficult to justify, when everyone was saying AAA was the future. Although I'd have probably left the 2d blitter to work with 16 bits for compatibility and added texture mapping, which coupled with chunky pixels would have it easy to write doom clones for the amiga. The 3do was started around the same time as AA was in development, so the idea of a 3d games machine wasn't particularly exotic.

Quote from: trekiej;809587
What is the limitation of a bit-plane system?
It seems to be a flexible system.
It looks as one could design a chip to move almost any number of bits at a time.

Yes you could do 32 bit true colour displays with bitplanes, however it wouldn't be worth it.

The main limitation is manipulating images with a cpu is more complex. In 256 colour chunky pixel mode you can use a single byte write to set one colour. In planar mode you need to read 8 bytes, mask the pixel out of each and or in the individual bits of the pixel and write it back. Once you get to 256 colours it makes far more sense to use chunky pixels. The blitter overhead is also a factor, but nowhere near as much as the cpu.
« Last Edit: June 06, 2016, 08:16:55 PM by psxphill »
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #3 on: June 07, 2016, 12:17:20 PM »
Quote from: Thorham;809595
And that's only correct when you have a 1 bit per pixel mode.

Ok rain man. We both know I was talking about one plane of 16 pixels.

Quote from: Thorham;809595
Is that an estimate or experience?

Don't take my word for it, get an unexpanded a1200 and test it. Just compare an aligned blit to an unaligned one. That gives you the raw starting numbers, then come up with a reason for moving all of those bobs around as static bobs are rather pointless. Then come back and tell us what you found.

More importantly would fixing that particular issue have stopped the amiga from being killed by pc's and game consoles?

Delaying the launch would just have cost them more money. If AA had been started sooner then chunky 256 colour pixels & 32 bit blitter would have been easier to justify, but even then it would have ultimately made no difference.

2d blitting was no longer important. The mega drive had multiple layers of tiles and large number of sprites, the next generation was 3d.

Commodore would have needed 16 bit sound and video with texture mapping hardware, essentially hombre. Unfortunately they had wasted too much time and money on other projects and there was no time to do it, let alone do it properly and have it backward compatible. Although a half way house of 8 bit chunky pixels with non shaded texture mapping even as late as 1992 may have given them a couple of years breathing space (they could probably have done texture mapping in planar but it wouldn't be worth the complexity).

Quote from: kolla;809592
What prevents darn fast planar modes on on modern FPGA? :)

Nothing. While more memory bandwidth and faster cpu and blitter will improve the speed of planar, they would also improve the speed of chunky pixels. Obviously for backward compatibility the focus has been on planar. My hope is that the future holds chunky and true colour extensions to AA so all screens can be hardware drag-able. Currently the RTG extensions on FPGA appear to be targeted at separate display subsystems that are more suited to Picasso/CyberGFX etc.
« Last Edit: June 07, 2016, 12:42:59 PM by psxphill »
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #4 on: June 07, 2016, 01:36:01 PM »
Quote from: woof;809616
Of course the original question was intended for 8 bits
"Why Amigas never had a 8bits chunky mode?"

In fact I have all the time asked myself "why when they did AGA with 256 colors didnt they do it as a chunky mode ?" They (the smart engineers at Amiga) certainly realise that 4/5/6 bitplanes got sense in A1000 era but 8 bitplanes didnt have sense anymore...

Time and money. Pandora was started late as an emergency project by a couple of engineers to stop the company from collapsing, it wasn't a particularly popular project as people needed to justify all the money that had already been spent on AAA. It was put on hiatus part way through development.

The leaked amiga os source code had a future document from the time before AA was released and chunky pixels were mentioned in there.

Quote from: woof;809616
Of course modifying the blitter would have been a big task

The blitter wouldn't necessarily have needed any changes at all. Although this would require you to have 8 bit masks, which would be slower and take more memory. I doubt that adding the ability to expand a 1 bit mask would be amazingly hard, but if it couldn't be justified then chunky pixels would still have been worthwhile. You would probably also add the ability to create the mask from the source or destination as well. Blitter line drawing and area fill would need more work, but again it's probably not that much and wouldn't be a huge problem now if it wasn't done.
« Last Edit: June 07, 2016, 01:42:14 PM by psxphill »
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #5 on: June 08, 2016, 02:02:08 AM »
Quote from: polyp2000;809621
Is this also the case on the 32bit Amigas ? A4000 / A1200 ?


Unfortunately so, they only changed the display to use 32 or 64 bit fetches. This does mean that even a 256 colour 15khz screen has plenty of chip ram bandwidth available to the cpu and blitter, but the blitter is a bit of a waste.

I don't think they changed copper either. It's traditional commodore though, the C64 was rushed and so was AA, the difference is that the later didn't need to be (the C64 was pretty cutting edge).
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #6 on: June 08, 2016, 11:23:39 AM »
Quote from: kamelito;809647
The Atari 600/800 were cutting edge in 1979.
Kamelito

It was expensive, only had 8k of ram, the sound chip is horrible. It had lots of colours (like the Atari 2600), but limited sprites.

The Atari 800XL was better because it had 64k of ram, the sound chip was just as bad and the games still looked as horrible as they did in 1979. That may not have been a problem but they couldn't make enough of them, which led to the rumour they were stopping manufacture. And they couldn't compete on price and still make a profit. Once the software developers realised that people weren't buying them, they stopped writing games for them.

The only game that I have ever seen that blows away the c64 was the recent space harrier port. I know technically there are some good things about the Atari 800 design and poor about the c64, but in practice they don't matter enough.
« Last Edit: June 08, 2016, 01:05:04 PM by psxphill »
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #7 on: June 09, 2016, 12:44:22 AM »
Quote from: kamelito;809667
Rescue on Fractalus come to mind.


I played it on the c64, I don't remember if I played the Atari version. How different is it?
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #8 on: June 09, 2016, 06:56:19 PM »
Quote from: JimmiG;809712
Well the '020 was still being produced in 1993 so it's not like C= picked them up at some yard sale..


The EC020 they used was essentially the cheapest cpu they could get. It was for embedded designs, it was not really aimed at desktops. 14mhz was probably a bit slow as well. They would have been limited by the chp ram speed though.
 

Offline psxphill

Re: Why Amigas never had a chunky mode ?
« Reply #9 on: June 17, 2016, 07:40:35 PM »
Quote from: grond;809578
i.e. in each chunky byte some of the bits would be "don't care" and thus wasted. Hence, a chunky mode would have been a waste of precious RAM unless it would have been a 256-colour chunky mode (there are 16-colour chunky modes in some PC gfx cards where each pixel takes on nibble). 256-colour modes were hardly feasible in 1985. When they eventually were, Commodore were too cheap or lazy or stupid to add them.

The wasted ram isn't the biggest problem, it's the wasted ram bandwidth. A lores screen would be as slow as 16 colour hires turned out as and hires itself would be impossible. You could do packed nibbles when you used 16 or less colours, but that has it's own issues.

Commodore management didn't really want AGA in the first place, they then tried to kill it, but when they couldn't kill it they managed to starve it of development so it was as small an upgrade as they could get away with.
« Last Edit: June 17, 2016, 07:42:46 PM by psxphill »