Is ZX80 really "Z80 only"?
The Spectrum has ULA to generate video display. Does the ZX 80 have any kind of processing chips apart from Z80? How is the video display generated on ZX80? How does it compare to Atari 2600's CPU + TIA combo?
Post edited by maiki on

Comments
That's not quite true. The CPU simply isn't fast enough to do all the work by itself. In the time it takes to read a character from the display file, look up the corresponding bitmap in the font table, and output the result to a port you'd be halfway across the screen.
Rather, the CPU just acts as the address generator which works out which character in the screen should be output. You point the program counter to the first character in a scan line, and it steps through the rest - being fed a series of NOP instructions - until there's a HALT at the end of the line and it waits for the next one.
The rest of the job I described before is implemented in discrete logic, which is why the ZX80 still has a fairly high chip count. In the ZX81 this was all integrated into a single ULA, which allowed them to sell the machine for a much lower price. The ZX81 also has an NMI generator which allows you to run code whilst the top and bottom borders are being displayed.
Compared to the TIA in the 2600, it's apples to oranges. About all they've got in common is that they both hog the CPU whilst generating the display. The ZX80 is designed to display characters; the 2600 to display sprites and a playfield. Whilst they can both be adapted to do what the other is designed for, after a fashion, it takes some pretty hot coding.