The Z80 was used in iconic products such as the Osborne 1, Radio Shack TRS-80, ColecoVision, ZX Spectrum, Sega's Master System and the Pac-Man arcade cabinet.
[4] Zilog licensed the Z80 to the US-based Synertek and Mostek, which assisted with initial production, as well as to a European second-source manufacturer SGS.
The design was also copied by various Japanese, Eastern European, and Soviet manufacturers,[d] gaining global market acceptance as major companies like NEC, Toshiba, Sharp, and Hitachi produced their own versions or compatible clones of the Z80.
The new design was intended to be compatible with the 8080, but add many of the nice features of the Motorola 6800, including index registers and improved interrupts.
Someone from Exxon contacted the still-unnamed company,[7] and arranged a meeting that eventually led to them providing an initial $500,000 funding in June 1975 (equivalent to $2.8 million in 2023).
[10] Through this period, Shima developed a legendary reputation for being able to convert logic concepts into physical design in realtime; while discussing a proposed feature, he would often interrupt and state how much room that would take on the chip and veto its addition if it was too large.
Among them were the Z80 CTC (counter/timer), Z80 DMA[15] (direct memory access), Z80 DART (dual asynchronous receiver–transmitter), Z80 SIO (synchronous communication controller), and Z80 PIO (parallel input/output).
The Zilog team had worried about this, and Faggin had come up with the idea of adding transistors that would be subtly modified to operate differently than a visual inspection would suggest.
At the time, a second-source was considered extremely important as a start-up like Zilog might go out of business and leave potential customers stranded.
Masatoshi Shima designed most of the microarchitecture as well as the gate and transistor levels of the Z80 CPU, assisted by a small number of engineers and layout people.
[28][29] Some organizations such as British Telecom remained loyal to the 8085 for embedded applications, owing to their familiarity with it and to its on-chip serial interface and interrupt architecture.
However, other computers were made integrating the Z80 with other CPUs: the Radio Shack TRS-80 Model 16 with a Motorola 68000, the DEC Rainbow with an 8088, and the Commodore 128 with a MOS Technology 8502.
Intel produced a CMOS 8085 (80C85) used in battery-powered portable computers, such as the Kyocera-designed laptop from April 1983, also sold by Tandy (as TRS-80 Model 100), Olivetti, and NEC.
The 16-bit IX and IY registers in the Z80 are primarily intended as base address-registers, where a particular instruction supplies a constant offset that is added to the previous values, but they are also usable as 16-bit accumulators, among other things.
The Z80 also introduced a new signed overflow flag and complemented the fairly simple 16-bit arithmetics of the 8080 with dedicated instructions for signed 16-bit arithmetics.The 8080-compatible registers AF, BC, DE, HL are duplicated as a separate register file in the Z80,[36] where the processor can quickly (in four t-states, the least possible execution time for any Z80 instruction) switch from one bank to the other;[37] a feature useful for speeding up responses to single-level, high-priority interrupts.
Obviously if jump and call instructions are made within these code segments it can quickly become difficult to tell which register file is in context unless carefully commented.
[citation needed] It has also been employed as a "hardware" counter in some designs; an example of this is the ZX81, which lets it keep track of character positions on the TV screen by triggering an interrupt at wrap around (by connecting INT to A6).
Corresponding memory-to-I/O instructions INIR, INDR, OTIR, OTDR, INI, IND, OUTI and OUTD operate similarly, except that B, not BC, is used as the byte counter.
A two-byte instruction specialized for program looping is also new to the Z80: DJNZ (decrement jump if non-zero) takes a signed 8-bit displacement as an immediate operand.
The index register (IX/IY, often abbreviated XY) instructions can be useful for accessing data organised in fixed heterogenous structures (such as records) or at fixed offsets relative a variable base address (as in recursive stack frames) and can also reduce code size by removing the need for multiple short instructions using non-indexed registers.
It was not uncommon for programmers to "poke" different offset displacement bytes (which were typically calculated dynamically) into indexed instructions; this is an example of self-modifying code, which was regular practice on nearly all early 8-bit processors with non-pipelined execution units.
However, it was not until the fully pipelined eZ80 was launched in 2001 that those instructions finally became approximately as cycle-efficient as it is technically possible to make them, i.e. given the Z80 encodings combined with the capability to do an 8-bit read or write every clock cycle.
[citation needed] The index registers, IX and IY, were intended as flexible 16-bit pointers, enhancing the ability to manipulate memory, stack frames and data structures.
This avoids cumbersome asynchronous logic and makes the control signals behave consistently at a wide range of clock frequencies.
[citation needed] One central example of this is that, for opcode fetch, the Z80 combines two full clock cycles into a memory access period (the M1-signal).
The shortest machine cycle that could safely be used in embedded designs has therefore often been limited by memory access times, not by the maximum CPU frequency (especially so during the home computer era).
These include the counter/timer channel (CTC),[63] the SIO (serial input/output), the DMA (direct memory access), the PIO (parallel input/output) and the DART (dual asynchronous receiver–transmitter).
In Romania another unlicensed clone could be found, named MMN80CPU and produced by Microelectronica, used in home computers like TIM-S, HC, COBRA.
[citation needed] During the late 1970s and early 1980s, the Z80 was used in a great number of fairly anonymous business-oriented machines with the CP/M operating system, a combination that dominated the market at the time.
[94] Texas Instruments produced a line of pocket organizers (ending in 2000) using Toshiba processors built around a Z80 core; the first of these was the TI PS-6200[95] and after a lengthy production run of some dozen models culminated in their PocketMate series.