The Amiga 4000 Tower: The Custom Chipset

The hardware at the heart of the Amiga

By Michael Webb, Editor-in-Chief, MikeWebb@CompuServe.COM

One of the most controversial subjects concerning the Amiga, particularly future models, is the custom chipset. I will hesitate to simplify the chipset as "display hardware," as some have done, because it is responsible for, or involved with, so many of the processes that occur within an Amiga system. You would have to add many boards, including display, sound, serial/parallel, floppy interface, and mouse/game interface, to totally replace the chipset, if it is even possible to do so.

If you have read AM regularly, you've probably seen me mention this topic a number of times, usually in defense of the chipset for future Amigas. I may get into editorial mode later on in this article, but for the moment, my purpose is to discuss the Amiga chipset as it relates to the A4000T, the subject of this entire review. And the purpose for the above paragraph was merely to show how central the chipset is to any current Amiga.



As you know, AGA

Were I to discuss the AGA chipset as if it had just been introduced with the A4000T, you would probably be immediately convinced that I have no clue about what has transpired within the Amiga community over the last half-decade. So rather than doing this, I will discuss it in a more current context.

Indeed, AGA, as introduced in 1993, is old news these days. Even though I had used only the OCS and ECS in Amigas, I had a fairly good idea about what to expect from the Amiga's 32-bit custom chipset. While AGA may be some five years old, however, because it is still being used as much of the basis of the current Amiga offerings (A1200 and A4000T), its capabilities -- and limitations -- are important considerations in evaluation of a new Amiga system.



The Cons

It may have garnered praise and attention at the time of its introduction, but after using it for some time, I have come to the conclusion that AGA was not as big an improvement over the OCS/ECS as it could have been, especially considering that it was released some eight years after the Amiga 1000 was introduced. In a nutshell (and the engineers would probably lynch me for this, considering the numerous modifications and improvements they must have made in the original Amiga chipset design while designing AGA, but from a user's perspective, it boils down to this), AGA is ECS with more colors (24-bit palette versus 12-bit), more displayable colors (8 versus 4, 5, or 6 bits, and HAM8 versus HAM6), and better performance. With four times the bandwidth of the ECS, AGA will probably allow for up to four times better graphics performance in equivalent modes. This is not a blow-you-out-of-your-computer-chair improvement. The fact of the matter is, although the time was right, AGA failed to correct many of the ECS's fundamental flaws. I will cover these in greater detail below.

Sound is another issue entirely. It's somewhat odd to think that an Amiga built today, in 1998, will come off the assembly line with the same audio capabilities as those which the A1000 had in 1985, but that's just the way it is. Supposedly, the A4000 was designed to interface with a specific DSP, but that never seemed to occur. And these days, a multimedia computer really should have a better audio subsystem.

One of AGA's differences from the earlier chipsets is its global 8-bit capability. That is, instead of being like the OCS and ECS with limits of 4, 16, or 32 displayable colors depending on which mode is in use, AGA can display 256 colors, or even HAM8, in any resolution. At first, this seems like a good thing, but it seems as though some potentially useful modes were excluded. For instance, if the chipset can display 256 colors in 1280x400, one would think it would have the bandwidth to display more colors in 320x200. More importantly, in my opinion, if it can, for example, display 256 (8-bit) colors in 800x600 interlaced, could it not display 16 (4-bit) colors in 800x600 non-interlaced? Or maybe 8 (3-bit) colors in 1024x768? It would appear that Commodore decided that rather than force a compromise between the number of colors and the resolution, as was done with earlier chipsets, they would create an "artificial" compromise, and give every mode 8-bit capability. Of course, since the chipset is programmable, it should be possible to create monitor drivers that use the bandwidth in different ways (there may be a real 8-bit upper limit due to the need for hardware color registers, but surely higher resolutions with fewer colors could be used). I know of no utility for creating drivers, however, and there simply should have been one included with the operating system.



The Pros

I have no intention to continue sitting here bashing the AGA chipset, however. There is no doubt that it offers a sizeable improvement over the ECS (and it should!). And while AGA is not blazingly fast, if you don't demand too much from it, it will perform admirably.

I will admit that what I just described is a blatant compromise, and that in the future, Amiga graphics performance should be far less compromising. But we should look at this from a relative standpoint. I have used many Macintoshes, and even many PowerMacs with Apple's standard video hardware simply have slow graphics (though in Apple's case, it's probably inefficiency in software rather than a flawed hardware design that causes this). PC's can have very snappy screen updates, but Windows XX (choose your variant) can often make everything seem slow, especially under heavy multitasking. AGA, while not snappy, is reasonably quick in up to 16 colors in high-bandwidth modes.

Clearly, therein lies a problem. 16 colors isn't exactly a huge palette. In many ways, unfortunately, it seems as though what AGA accomplished was to make the ECS's modes perform well, while introducing its own new modes that, well, don't perform so well.

However, an Amiga seems to get more mileage out of fewer colors. I run an 8-color Workbench, but MagicWB makes it look at least as good as anything I've seen from Apple or Microsoft. Additionally, the Amiga adds a great deal of versatility in the form of its multiple-screen support. You can put almost any application on its own screen with enough colors to suit its purposes, albeit with a performance compromise. To continue with my system as an example, I spend a lot of time writing in CygnusEd (as I am at the moment), and with it running in four colors (it simply could not make good use of more than four), I could hardly ask for better performance.

And as I mentioned sound above, I should probably cover it here as well. The Amiga's 4-channel (plus more through dynamic mixing), 8-bit sound system is usually more than good enough for my purposes (although I have encountered frustration over the lack of channels while using good old Sonix 2.0). In general, however, it does the job well.


Unfortunately, if it sounds as though I am justifying AGA's weaknesses, I am. These days, a graphics professional simply cannot be satisfied with AGA's capabilities, and any musician who does more than strictly MIDI will surely find the chipset lacking. Casual users could certainly use greater speed for high-resolution games, or even desktop publishing. It's just time for an improvement, and a big one at that.

Still, though, when you combine AGA with a 68060, you get a very usable system. And as long as you don't ask too much from it (which will vary with how you use the machine), it will do well enough. Although this is somewhat limiting, it has been my experience with the A4000T so far, and I'm not exactly running out to buy an Amiga graphics board (at least not right away).



Three Strikes...

Now, it is time to go back on the attack. As I mentioned, the OCS and ECS had some seriously limiting aspects of design, which for the moment I will simply call "flaws." And in my point of view, AGA failed to improve sufficiently upon the original design.

Considering AGA machines as we know them, I have summed up the problems in three major complaints, as follows:

  1. Lack of chunky pixel display modes: The Amiga's planar display system has its advantages, particularly for two-dimensional games and various video applications (not to mention the ability of the user to decide just how much memory the screen will consume). But in the modern context, planar screens are horribly inefficient for most purposes, and place severe limitations on performance. In 1993, the Amiga could have gotten a huge boost from even, say, 8-bit chunky modes. Unfortunately, this was not to be, as AGA continued the ECS's planar trend. Note that the blitter operates on single bits at a time, making it impractical for some purposes; had the Amiga been designed to use bytes to represent pixels (i.e. chunky pixel format), the blitter probably would have been designed to be able to operate on whole bytes, which would have greatly improved its capabilities.

  2. Bus contention: One of the age-old gripes about the Amiga concerns bus contention, or "conflict" between the video generator (i.e. the hardware that sends the data out to the monitor x number of times per second, and therefore must be given priority) and other various DMA devices, like the blitter, copper, CPU, etc. Contention isn't the domain of the Amiga alone (even today, some PC graphics boards use standard DRAM, and have to deal with contention), but when combined with planar-only screens, it becomes a big problem. You've probably seen it, whether in the form of 16-color high-resolution screens on OCS/ECS Amigas, or 256-color high-resolution VGA-scan-rate screens under AGA. It's bad enough that it takes 32 operations to write out a single pixel in 8-bit planar mode (and a full four operations in even 1-bit mode, contrasted with 1 operation for 8-bit chunky), but when the display hardware has to scan every pixel of every plane independently, there just isn't much time left for those 32 operations per pixel.

    Had AGA been designed to use a different sort of memory (beginning with VRAM, I believe), the video generator circuitry could have been given its own separate bandwidth range, never to conflict with other DMA devices again. The blitter and CPU would have been able to work their magic just as much in, say, NTSC Super High Res Laced 1280x400xHAM8 mode as in NTSC Low Res 320x200x1-bit mode (of course, having more pixels and planes to write to would make anything take longer, but without contention, the effect would be significantly reduced).

  3. Lack of display enhancer: Call it a flicker fixer or scan doubler if you will, but it's essentially the same thing. Display enhancers breathed new life into the OCS/ECS by elevating their signals to non-interlaced VGA quality, i.e. from 15.75 kHz to 31.5 kHz horizontal scan, and all without putting any additional load on the system. They are transparent to software, too, and thus work perfectly no matter what you choose to run. The Amiga 3000's built-in display enhancer was arguably one of its greatest features.

    So then AGA came along and Commodore decided to change course. Instead of deinterlacing the video in hardware, they designed in new screen modes that run at VGA rates (actually, they were there in the ECS too, but AGA made them more practical by allowing them to use more colors). There's a certain wisdom in doing this, since this way, when you select a screen mode, you get its attributes exactly. However, considering that AGA's VGA-type modes (e.g. DblNTSC, DblPAL, Multiscan, Euro72) eat up twice the bandwidth of their 15.75-kHz counterparts, you lose quite a lot in the translation, and AGA's fourfold bandwidth improvement versus the ECS is suddenly halved, especially if you're coming from a display-enhancer-equipped ECS Amiga. Because of the bus contention, this is a big problem (otherwise, it wouldn't be a problem at all). But there's also the concern of software that opens 15.75-kHz screens whether you like it or not, which can be a problem if you don't have a true multiscan monitor. Even if you do, such programs can cause the monitor to [annoyingly] resync as you flip screens, something you could avoid by setting all screens to the same mode if possible, and if so desired. There are programs to force screens to open in VGA-like modes, but I'm not sure how well they work, especially with bootable games and the like, and such things seem to automatically promote NTSC to DblNTSC and PAL to DblPAL, ruling out Productivity and Euro72. No matter what, this is one area in which my A500 simply wins out; every single thing I run on it uses NTSC or, more rarely, PAL (unless I request otherwise, but there usually isn't much reason to do so), and the FlickerFreeVideo2 board raises it to VGA and kicks the refresh up to a nice, comfortable 70 Hz. Any VGA monitor will suffice. As long as I use AGA, life with the A4000T will not be quite so pleasant.

    It may have seemed like somewhat of a patch or bandage, but if AGA Amigas had been equipped with a hardware display enhancer, these headaches could have been largely avoided. It would have greatly extended the usability of AGA as well, since while modes like DblNTSC are horribly slow in 256 colors, plain NTSC in 8-bit, while somewhat sluggish, is tolerable and quite usable.

Continuing the baseball analogy implied above, if any one of these three strikes were removed, the AGA chipset would have had the potential to be a true home run. If nothing more, AGA-driven Amigas probably would have been much more of a hit, anyway.

Without any one of these three "flaws," AGA's crippled performance in high-bandwidth modes could have been a much different story. Bus contention or planar screens alone would not be such severe problems; in any low-resolution 31.5-kHz and even high-resolution 15.75-kHz screens, AGA performs reasonably well in any bit depth. On the other hand, my PC's HT216-32 display adapter uses chunky pixel modes for 8-bit displays, and contention only begins to become a problem in higher resolutions. It's when you put these two problems together that you get the bigger problems with which Amiga users are all too familiar.

But even without significantly changing the chipset, Commodore could have made it much more capable by including a display enhancer. As I said above, AGA's 15.75-kHz modes, while not lightning fast, are certainly usable in as many as 8 bits of depth, especially compared to the 31.5-kHz modes in the same numbers of colors; and unless you (and your eyes) like interlaced screens, you might as well consider modes like NTSC High Res Laced to be off-limits for normal applications use. I mentioned the probable motivation behind supplying "deinterlacing" through new screen modes as being an attempt to make the software and hardware each have a more precise idea of what the other is doing, and maybe to cut costs as well. Now it appears that those intentions were misguided, because so much potential performance was lost. Without the bus contention, there would be no sacrifice at all (in fact, without bus contention, a deinterlacer would be almost totally unnecessary and certainly redundant). Once again, the "Three Strike Rule" comes into effect. Only with the three deficiencies, as outlined above, could AGA's performance capabilities have been so severely limited.



A Historical Perspective

Not too long before I got the A4000T, I was reading through some older Amiga magazines from around the time of AGA's introduction. It was almost humorous to remember how different people's perceptions were then. Back in 1993, lots of Amiga users were having a fit, because they were convinced Commodore was leaving them behind and fragmenting the market by introducing something as "new and different" as AGA. This is particularly interesting for two reasons: for one, it shows just how differently we thought about computers at the time (and what did they want, I wonder, ECS forever?); but also, in retrospect, AGA was hardly a radical departure. I can see people getting upset five years ago had AGA not been backwards-compatible, but it was. In my experience, a very small percentage of software fails due to AGA. And today, essentially all the software I had been using on the A500 runs on the A4000T, no questions asked. Essentially, such fears were not justified.

Furthermore, it appears as though AGA was really only meant to be an interim measure. Because without Commodore's untimely death, by as early as late 1994, we may have seen the next chipset, the development of which was already well underway...



The Next Generation

Indeed, AGA was probably going to serve merely as a transition to the AAA chipset. I've discussed this chipset a fair amount in AM over the past year and a half, but it has occurred to me more recently why some people oppose its use.

No, I haven't changed my mind. I still believe that AAA is the way to go for the next line of Amigas, and I'll get to that momentarily. But anybody who used the OCS, ECS, and eventually AGA probably got quite jaded by about the third time around, since very little fundamentally changed. And based on the progression in chipsets up to that point, one could have predicted that AAA might have been only a slightly improved AGA. Most of the anti-chipset letters I have received seem to have arisen from that point of view, and given the evidence at hand, it is a quite reasonable guess.

On the other hand, while AGA was not a radical departure, AAA was. You know those three "strikes" I described above? Well, you can forget about them in the context of the AAA chipset. That's just the beginning. I believe the key to getting AAA a fair appraisal is to get its specifications out, so people can see just how different it was designed to be.

First of all, AAA was designed as a partly 64-bit graphics system. It would have a 24-bit palette, and true 24-bit display capability. I mentioned above that without just one of its two primary deficiencies (we'll discount the lack of a display enhancer for the moment since it is somewhat of a "patch"), AGA could have been much better; well, AAA would have abolished them both with chunky pixel modes (including a blitter capable of operating on whole bytes), and depending on the configuration (AAA was designed to be modular, though you can probably be sure we'd see the high-end config as standard today), no bus contention.

These are the most important parts. An Amiga with that kind of hardware would absolutely fly, and the AAA chipset has the added advantage of being backwards-compatible, and including all of the Amiga's special in-hardware features like multiple sprite support, hardware-controlled screen-dragging, etc. But the list of features continues anyway. As standard, AAA screen modes range up to 1280x1024x16-bit 72-Hz noninterlaced (and keep in mind that the hardware would be just as quick in these modes as in 320x200), but since Amiga chipsets are programmable, one could surely adjust screen parameters to suits one's needs. Sound gets a big boost in the AAA design, going all the way up to CD-quality 16-bit 8-channel. And so the list continues.

It quickly becomes clear that AAA is far beyond AGA, eliminating all of its "flaws," but additionally is compatible with it. So some people still wish to abandon the custom chipset. If the AAA chipset design weren't as great as it is, I wouldn't favor its use in future Amigas. But look at the situation: the custom chipset is truly at the heart of current Amigas; most of the processes involving input and output of various kinds involve the chipset. It would simply take too much time to completely separate the operating system and applications from the chipset, at least right now, unless we want to continue waiting. Fortunately, the AAA chipset was designed as a very powerful chipset, even by modern standards, and was close enough to completion at the time of Commodore's demise to revive it now, for the next generation of Amigas. Hardware-independence is a good eventual goal, but Amiga Inc. simply cannot make massive, time-consuming, trouble-prone fundamental changes to the Amiga design if they're in the middle of a so-called "revival." They must put together something powerful, and get it out on the market as soon as possible. Then...and only then...should they think about making such major changes, if at all.

Some want to see the latest third-party chipsets with 3D and all that in the next generation of Amigas. Frankly, I believe we don't need that, if it comes at a cost to compatibility, and further delays the Amiga's reintroduction. Probably the majority of people mainly want high resolutions, a colorful display, and fast screen updates (and even high resolutions are questionable, since you need a very large and expensive monitor just to display today's astronomically high resolutions). AAA provides that, and more. As it is, Amiga gaming capability would get a very significant boost from the AAA chipset, and such Amigas would probably be able to run some truly demanding graphical software quite adeptly, all without 3D in hardware. It's a good thing to add eventually, but it isn't necessarily worth it to do so right away. But why not use a more powerful chipset? Two words, to summarize: compatibility, and time. In any event, I think there definitely isn't the time and effort to spare (not to mention the continuing loss of market) that it would take to completely redesign the Amiga around different hardware before releasing the next lineup. Yes, it's true, there are boards available for the Amiga now which feature 3D and all that; but while the level of integration is good overall, just remember that Amigas with these boards still have chipsets to fall back upon when compatibility is needed. And additionally, there is no reason for, say, cards with 3D chipsets to not be available as options for the next Amigas. After all, if the expansion bus is a fast one, and if the RTG is good, the integration should be nearly transparent. And it wouldn't be terribly redundant, because the Amiga chipset is so much more than just graphics and video.

Others might cite the poor programming practices that have developed around Amiga chipsets. Interestingly, completely Retargetable Graphics (RTG) would probably have been released with the next version of AmigaOS; if nothing else, AAA was going to be used by the OS in a partly retargetable manner. AAA may have been designed to be backwards-compatible, but essentially, to make use of the new features, "unlawful" programmers would have little choice but to clean up their acts.

All things considered, the AAA chipset would form a powerful basis for the next line of Amigas. It may have been over three years since its intended introduction, but while three years is enough to obsolete many things within the computer industry, the AAA chipset was so far ahead of its time, its resiliency keeps it viable and worthwhile today. It can serve as a powerful transition to the future of the Amiga.



In Conclusion

But at least for the moment, instead of a modern chipset, we have what feels like an alternate history. The AGA chipset has continued long past deserved retirement, still being built into current Amigas, which in many ways seem themselves to be interim measures.

I don't wish to convey a completely negative tone here, however. That "interim measure" of a computer is a very powerful one at that, and although AGA is far from perfect, I'm reasonably happy with its capabilities. After some experimentation with various modes, I've settled on Euro72 plus VGAOnly as my favorite; there isn't much overscan beyond the base 640x400, but the ~70-Hz refresh is nice, and the system performs well in this mode in up to 16 colors. Yes, it would be nice to be able to browse the web in 24-bit color (as an example), or in even 8-bit color with good performance, but by the time I've found the information I'm looking for, it doesn't make too much of a difference anyway. Or a 16-bit Workbench might be fun, but the 8-color MagicWB backdrops are extremely well-designed.

I will probably buy a graphics board eventually, and thereby join the ranks of users of Amigas that not only are very fast, but also seem that way. Until then, however, for what I want to do, AGA is up to the job.