From: Pete Turnbull <pete(a)dunnington.u-net.com>
I used to sell
upD8080AF for NEC and I had to know my competition.
Ah, then you'll know what the difference(s) was/were. While looking up
8080A and 8080 (except all my 1976 and 1979 Intel Data Books say is that
they're functionally and electrically compatible) I discovered that NEC
made two versions, both called 8080A, but one with some enhancements. I
assume that this was rather like the idea they used in the V20. The
note
said that 8080A's from authorised second-sources
were competely code
compatible but the enhanced NEC version was not, and wouldn't always run
certain Intel code. What was the difference, and what made it not run
certain programs?
Ah no, not a V20 thing. The first version of the NEC 8080A was not fully
compatable at the hardware level. It was the interrupt/hold thing. It
origninated
with the fact that NEC did not use intel masks but reverse engineered
from
working intel parts. The D8080AF was fully compatable with intel 8080A,
and I mean fully. FYI: only one part was 8080AF the other was 8080A.
The program error was mostly invisible but impacted those programs that
used both interrupts and DMA. The specifics are centered about the hold
state and the DAD
instruction, Intel treated it like a write and NEC 8080A treated it as
read.
generally speaking the halt/hold/interrupt interactions and timing made
designing
complex systems much more difficult than would first appear. It was a
reason for
the rapid adoption of 8085 and z80 even though they were more expensive
early on.
Allison