The tech industry is full of iconic rivalries. Facebook vs. Twitter. Apple vs. Google. But in the 80’s, one of the biggest rivalries was Atari vs. Amiga. The winner is usually decided by the availability of great applications and games. But how did programmers experienced this battle? Writing games in assembly was quite similar between the two platforms, but the Amiga’s chipset had some lovely features, like a nice fast blitter (which the ST didn’t get until later models, so wasn’t used much), hardware scrolling and a beam synchronised coprocessor (called the copper) which coupled with the huge number of DMA channels meant you could have a lot of graphics effects running for “free” (using very little CPU time). The Audio hardware was sample based so you could set up the DMA to run proper Audio and sound effects again using almost no CPU. The ST was more traditional, and felt like an upgrade to the earlier 8bit machines. A lot more stuff needed to be done using the CPU, so often you would sacrifice a few graphical effects, to free up the CPU, and if CPU time was becoming an issue, you would reduce colour depth and display size to reduce load on the hardware. Both machines had similar sprite capabilities, altough the ST had no hardware sprites, so everything was done by the CPU, until the STe which had a Blitter. From a game logic point of view, you could pretty much run the same assembly code on both the Amiga and the Atari ST, most developers would have a core set of graphics routines for each machine, that had a common interface so you could just swap out one library for another and assemble code for each machine with little work. The Amiga was programmed much like modern Operating Systems, it had a complete GUI (with an Object Oriented system called BOOPSI) and fully multitasking. The APIs and programming models were very similar to a modern UNIX. The ST was very primitive by comparison. The Atari’s operating system was largely based on CP/M, which traces its heritage back to the 8080 processor. The Amiga’s was a natively-written-from-scratch 68000 OS, with a disk system based on TriPOS.