DAI Personal Computer
The DAI personal computer is an 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. However, it never became a commercial success.

History

The computer was initially designed by DAI for the UK subsidiary of Texas Instruments for use with the PAL televisions used in Britain. 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.

The Dutch educational TV broadcast company Teleac wanted to use the DAI to teach computing, some years before the BBC's similar initiative using the BBC Micro. However, they chose the Exidy Sorcerer instead, because the DAI was not completely ready.

Main technical specifications

The DAI was based on a very early 8-bit microprocessor, the Intel 8080 A, a CPU that was more advanced than the prior 8008. It 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  of DRAM. This memory was divided in three  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 528 x 240 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:
  
 decoupling physical scan lines from the 'logical' lines. The repeat count of physical scan lines could be 0 to 15 per line (Due to interlacing a physical scan was two pixels high),
 configurable horizontal resolution per line,
 using indexed colors,
 limit modifying the color palette to one color per line.

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 these limitations were handled by BASIC, so the user did not notice his feet were tied together 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 examples are the ABC 80 and BK-0010), 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.

Further technical details
 CPU: Intel 8080A at 2 MHz
 Memory: a maximum of 48 kB dynamic RAM, 24 kB ROM and 256 Bytes of static RAM (stack RAM)
 Keyboard: 56 Keys
 Video interface: PAL compatible UHF CH 36 color-TV (antenna) output signal with audio
 Text mode: 60 characters × 24 lines (66 characters per line supported)
 Graphics modes: Low - 88 x 65 pixels; Medium - 176 x 130 pixels; High -  pixels; Very high -  pixels (non-square)
 available colors: 4 or 16 colors (16 color mode was actually 4 color palette)
 Sound generation: 3 frequency generators + 1 noise generator (General Instrument AY-3-8910?)
 Game controllers: 2 input interfaces for paddles or joysticks (DIY). Each can control three 0-5V inputs and a switch.  
 Storage: 2 separate audio-cassette interfaces, using a cable for data INPUT/OUTPUT and START/STOP switch, (600 Baud)
 Alternative main storage systems:
Memocom MDCR-D, Mini Digital Cassette Recorder (which used Philips minicassettes)
Two 5.25 inch floppy disk drives, 2 x 180K (which enabled the use of CP/M).
 Compatible with optional card rack, the ("DAI Real World Card System"), control system.
 I/O Connectors: 
 Serial port RS-232, DB-25 female. 
 2 audio-cassette ports, 2 x 6 pin DIN female. 
 Parallel port DCE-Bus, DAI proprietary 3 x 8 bit parallel port, 36 pin DIL male. 
 2 Paddle interfaces, 2 x 6 pin DIN female.  
 Stereo audio output, 6 pin DIN female.
 UHF video and audio output, RCA (cinch) female. 
 AC power input, with voltage selector 220-110 volt, figure 8 shape AC power 2 pins male.
 System software:
a machine code monitor with the following commands:
LOOK
DISPLAY
GO
FILL
SUBSTITUTE
MOVE
EXAMINE
EXAMINE REGISTERS
VECTOR EXAMINE
VECTOR EXAMINE BYTES
READ
WRITE
 a built in DAI BASIC interpreter.
 the system was also supported with an 8080-Assembler.
 miscellaneous: a true random number generator implemented in hardware.

DAI the company
Data Applications International (DAI) was a company from the end of the 70s to the early 80s based at Dreve de Renards 6, Brussels that was specialized in creating "Real World Cards", computer peripheral cards based on their own proprietary DCEbus, which in essence consists of three groups of eight I/O lines (coming from an Intel 8255) . These were Eurocard compatible cards in a 19-inch rack. Most cards were also based on a single Intel 8255 chip.
Around 1977 they designed the DAI Personal Computer. On May 6, 1982 the company went bankrupt.
The Indata company continued manufacturing DAI computer until 1984.

References

Home computers
Z80-based home computers
Texas Instruments TI-99/4A