# ABC 80

The ABC 80 (Advanced BASIC Computer 80) is a home computer engineered by the Swedish corporation Dataindustrier AB (DIAB) and manufactured by Luxor in Motala, Sweden in the late 1970s and early 1980s. It was introduced on the market in August 1978.
The ABC 80 was based on an earlier modular computer system from the same company and built around a Z80 and 16 KB of ROM containing a fast semi-compiling BASIC interpreter. It had 16–32 KB of RAM as main memory and a dedicated (included) tape recorder for program and data storage, but could also be expanded to handle disk drives as well as many other peripherals. The ROM could be extended in increments of 1 or 4 KB in order to handle such so called "options". The monitor was a black and white TV set modified for the purpose, an obvious choice since Luxor also made TVs.
The ABC 80 was used in schools and offices around Scandinavia and parts of Europe. It was also used for industrial automation, scientific measurement and control systems. Like its successor, the ABC 800, the computer had an unusually quick and usable BASIC with excellent I/O response times, something that was often discovered when trying to switch to IBM PC-based personal computers. Due to its roots in an industrial computer system, the ABC 80 also had a flexible bus extension system with many (external) expansion and peripheral cards available for various purposes and applications, as well as high quality support and documentation.
ABC 80 was also manufactured on license as BRG ABC80 by Budapesti Rádiótechnikai Gyár in Hungary. It used the same keyboard, but the case was metal instead of plastic.

## Popularity

In addition to its widespread use in schools, offices and industrial applications, the ABC 80 initially also grasped a majority share of the rising personal computer market in Sweden, partly thanks to its office software in Swedish. The computer was robust and well engineered, mechanically and electrically, and its BASIC was fast enough that it could be used to write arcade games, without resorting to assembly language. However, despite such technical virtues, it couldn't defend the home market against the dedicated gaming computers with color and sound that appeared in the early 1980s, neither against the cheap ultra simplistic home computers of the same era, even though a new low cost version was released that could use an ordinary TV instead of the dedicated monitor.
Luxor (and Facit) held on to its more professional markets for some more years with the ABC 800 series (also sold as Facit DTC). It had a more extensive BASIC, more memory, color, and a 512×240 graphics mode. From 1985 DIAB and Luxor also tried to compete against the IBM PC in the industrial and office markets with its high performance ABC 1600 and ABC 9000 series of computers based on DIABs real-time operating system called DNIX, but failed.
However, many ABC 80 and ABC 800 machines used in industrial or scientific applications were in use in their respective installations for many years to come, sometimes well into the late 1990s, despite no longer being produced.

## Performance

In order to see how the ABC 80 would compare to other contemporary personal computers, in 1982, the Swedish magazine MikroDatorn ran the Rugg/Feldman benchmarks of eight short BASIC programs (referred to as BM1~BM8) originally published by the American Kilobaud Microcomputing magazine and routinely used by the British magazine Personal Computer World for testing new machines. The result was that ABC 80's interpreter turned out to be faster than most other BASICs used in popular machines, especially when integer variables are used, the results for some well known computers were as follows (times in seconds, lower is better):
| Computer | CPU | [MHz] | BM1 | BM2 | BM3 | BM4 | BM5 | BM6 | BM7 | BM8 |
| ABC 80 Integer | Z80 | 3 | 0.3 | 1.1 | 3.5 | 3.5 | 3.6 | 5.8 | 9.3 | 65 |
| ABC 80 Floating point | Z80 | 3 | 1.0 | 2.1 | 11.0 | 11.0 | 12.5 | 17.5 | 24.0 | 130 |
| IBM PC | 8088 | 4.77 | 1.5 | 5.2 | 12.1 | 12.6 | 13.6 | 23.5 | 37.4 | 35 |
| Apple III | S6502 | 2 | 1.7 | 7.2 | 13.5 | 14.5 | 16.0 | 27.0 | 42.5 | 75 |
| VIC-20 | 6502 | 1.108 | 1.4 | 8.3 | 15.5 | 17.1 | 18.3 | 27.2 | 42.7 | 99 |
| ZX81 in "fast mode" | Z80 | 3.25 | 4.5 | 6.9 | 16.4 | 15.8 | 18.6 | 49.7 | 68.5 | 229 |
The ABC 80 was up to 4.7 times as fast as the IBM PC using integers and up to 2.5 times as fast using floating point math. However, due to a sub-optimal exponentiation algorithm, the ABC 80 was slow on BM8 (which was fixed in the ABC 800). Compared to the ZX81, the ABC 80 was 15 times as fast on the simple loop of BM1 (with the ZX81 running in fast mode, i.e. without a continuous TV-picture).

## Sound

* Sine, noise, square wave. And mixing these.
* Quick decay, sine overlay, high or low tone, pulse tone control, on and off.

## Books

The circuitry in the ABC 80 is described in detail in the book Mikrodatorns ABC (The microcomputer ABC), by Gunnar Markesjö. It starts off with a course in digital electronics and microcomputer principles (assuming some general knowledge in electronics) and then presents a large number of block diagrams and partial circuit schematics, covering most of the computer, along with detailed explanations of how it works and why certain solutions were chosen.