The Pioneering Amiga

by Eric Schwartz
from the AmiTech Gazette, March 2010

Last month I talked about the up-and-downsides to the Amiga's preemptive multitasking (specifically the type that did not require a memory management unit which worked on less expensive hardware). This month my subject is what was considered a defining advantage of the Amiga for years -- its custom graphic and sound co-processor chips.

I used to consider the Amiga's custom chips a double-edged sword in much the same way, and in some ways it was. The chips gave the Amiga systems a tremendous advantage at the start, but a dependence on that same hardware made it difficult to advance and keep pace with the hardware developments of competing systems. (Years of limbo following Commodore going under didn't help either.) Looking at it with a little more objectivity and hindsight, I view it now more as a difference in philosophy and some foot-dragging on the software front.

The foot-dragging is in relation to separating (or abstracting, as some say) graphic and sound functions of software and the operating system from a specific set of hardware, thus making it easier to change or update that hardware without a corresponding rewrite of the software side. Late or not, it was eventually done. The 3.X versions of the Amiga OS, along with software such as CybergraphX and Picasso96, introduced the base of the RTG (Re-Targetable Graphics) Amiga era. AHI did much the same for the audio side. Before then, while there was video and sound hardware for the Amiga, software had to be specifically written to use it. Next-generation systems such as Amiga OS4, MorphOS, and AROS took it a step further, taking advantage of advanced features of modern video cards. It was mostly out of necessity, as the new operating systems had to run on the modular hardware of the time. As it stands, most software that "follows the rules" runs much the same on whatever video hardware it's running on. This is in contrast to the earlier times, when Amiga software was tied directly to the stock hardware, "banging the metal," as they used to say.

Part of the reason for the delays in a more hardware-abstract Amiga system was the philosophies of the time, the hardware and the people who wrote software for it. The Amiga, in fact most modern systems born in the "eighties," were the next generation to various "closed" systems that weren't known for having a lot of expandability or hardware variation -- your Ataris, your Apples, your Commodores. The Amiga was also born, in part, of the desire to create a kickass gaming system, another hardware field not commonly having much variety between examples of the same brand. By contrast, the DOS/Windows PCs, and the Macs and Atari STs to a lesser extent, used more off-the-shelf hardware compared to the custom-designed coprocessors of the Amiga. The (formerly IBM) PC stood out especially by being more a set of specifications than a specific set of hardware, manufactured and assembled by various companies. In a market like that, software writers had to work for a wider array of hardware support, either writing for several hardware configurations at once, or writing for the operating system, and letting it do the heavy lifting between software and display or speakers. On a "narrower" spec like the Amiga (especially in the days before the A3000 came out) it was common to write software that accessed the custom chips directly, as it was more efficient and usually yielded better performance. Games generally "banged the metal" the hardest, even throwing out operating system routines entirely to squeeze out that extra bit of performance, memory, or disk space for a better experience. This is all fine and good until one starts tinkering with their Amiga's hardware, such as expanding the memory, getting a CPU accelerator, or even trading up to a new A1200 or A4000 with new architecture, CPU, custom chips, and more. The diversity of hardware specifications and performance widens as well between low-end (A1200, 14mhz 68020, AGA chips) and high (A4000T, 50 MHz 68060 and PPC, multiple drives, AGA, and extra video and sound cards). It's under those circumstances that metal-banging software breaks, and the case for hardware abstraction becomes more apparent. Early on it seemed the hardware drove the software, both by its capabilities and its limitations. Now in this Windows-dominated climate, the software dictates the hardware quite often, forcing the user to upgrade if they want to run the latest applications or (especially) games.

Whether the world at large remembers it or not, the Amiga and its custom chips were a pioneering force for the way things are done now. The Amiga's video and audio co-processors took the load off the main processor, providing great performance as they could work independently. The early video cards on Windows and other systems did little more than just put the display on the screen, leaving the real work to the CPU. They may have been able to put more colors up on the screen, but when it came to manipulating the graphics, the Amiga and its specialized hardware had the edge, even under a slower CPU. As the CPUs got faster and faster, the video cards added more and more features as well, including the ability to act independently of the CPU, taking that page from the Amiga book. While it's easy to look at the Amiga's custom chips as something that held the system back in its later years after pushing it forward in its early days, I prefer to look at the super-hyper-polygon-pushing video cards found on the heavy duty gaming Windows PCs, and thank the Amiga for starting the party.