The DAI personal computer is a rare, early home computer from the Belgian company Data Applications International. The DAI came to market in 1980. It provided many pioneering features such as high resolution color graphics, a maths co-processor, and a pre-compiling BASIC interpreter. But it never became a commercial success.
Contents |
The computer was initially designed by DAI for the UK subsidiary of Texas Instruments for use with the PAL televisions used in Britain[1]. TI US did not want to build a PAL version of their TI-99/4A home computer, although they subsequently authorized one after they saw the DAI [2].
The Dutch educational TV broadcast company Teleac wanted to use the DAI to teach computing, following the BBC's program using the BBC Micro. However, they chose the Exidy Sorcerer instead, because the DAI was not completely ready. [3]
The DAI was based on an early 8-bit microprocessor, the Intel 8080 A, (which is generally considered the first really usable microprocessor) and contained on a single printed circuit board all the needed circuitry, some 120 individual ICs. The futuristic-looking white enclosure also held a high quality keyboard, which was uncommon for the time. As a computer display, any TV could be used. The DAI could display text and high resolution color pictures and contained a memory controller that enabled it to use up to 48KB of DRAM. This memory was divided in three 16KB regions (memory banks) that could contain either 4K or 16K memory chips. By using memory map switching, a total of 72kB of memory was addressable. The DAI also had five programmable interval 64µ - 16ms interval timers that could generate interrupts. The built-in interrupt handler chip could also handle two external interrupt inputs and the interrupts of two serial RS232 UARTS. The DAI featured a DAI/Indata DCE parallel I/O bus for parallel high speed I/O. The DAI also had 3 sound generators and 1 noise generator, and was capable of generating stereo sound.
Graphics capabilities with 48k RAM installed allowed up to 240 x 528 pixels in 4 out of 16 color palette in 4 successive blobs, leaving 16k programming space. The graphics modes were controlled by a device called Programmable Graphics Generator, implementing several techniques:
In 4 color mode, per logical line one foreground and one background color could be selected, so each line element or logical pixel could be represented by one bit.
In 16 color mode, the color palette was inherited from the previous line. only one of the four usable colors could be changed.
The special thing was, that this limitations were handled by Basic, so the user didn't notice his feet were tied together [2] Basic allowed only the whole screen in one mode, but poking directly in memory allowed mixed resolution lines. The whole PGG was implemented with two PROMs and standard TTL logic. The scheme predated the Amiga HAM mode by half a decade.
The BASIC interpreter was remarkably fast for the time because it pre-compiled to an internal byte-code, unlike the Microsoft BASIC interpreter which most other systems of the time used. DAI variables could be up to 14 characters long. The internal byte code used pointers to a variable look up table at the bottom of the code, which made the code extremely compact, despite long variable names.
This technique was rare (only other known example is the ABC 80), and is remarkably similar to that now used for Java.
To enhance the mathematical abilities of BASIC, (and assembler programs) an AMD AM9511 floating point co-processor (compatible with the Intel 8231) could be added.
The first working example was produced in less than 3 months, by 3 people, one of whom was taping up the circuit board layout. All 64K of assembler was the work of one man David Collier, and all the hardware design the work of another David, David Lockey. The original decision to use the 8080A 1 MHz processor(already in use by DAI on other products) was forced by the timescale, which itself was dictated by a desire to show the machine to a TI USA board meeting. In the end, only a flight on a Concorde got the machine there on time. However, the slow CPU dictated a huge amount of work on the pre-compiling BASIC and the option for hardware-assisted floating point which might not have been required if the newer Z80 had been chosen.
The decision to design the PC to use any old off-the shelf cassette tape recorder made the load and save speeds slow. The need to keep the end-user cost down dictated the need for extra complexity to output a TV signal capable of working with a domestic TV. When TI finally did put the 99/4 onto the European market a few months later, it was initially sold only in a pair with an American NTSC TV because it could not drive European PAL and SECAM sets.