80-Bus News |
January–February 1983 · Volume 2 · Issue 1 |
| Page 9 of 56 |
|---|
Using this interrupt mode, which is in general known as “Vectored Interrupt’, we are more or less obliged to use the Z80 family of peripherals to allow us to avail of the vectoring. It may be possible to use other devices to the same effect, but this will depend on the device. Zilog make two families of peripheral devices. Designed as full members of the Z80 family are the following:
| PIO | giving two 8 bit parallel ports |
| CTC | giving four counter/ |
| SIO | offering two serial input/ |
| DART | a reduced specification SIO, best thought of as an intelligent UART |
| DMA | offering high speed transfer of data from port/ |
In addition to these devices, Zilog also offer another family, the 8500
peripheral device family. These devices are specialised microcomputers, which are
set up to be input/
Let us now park the CPU interrupt handling to one side, and consider
first the PIO. This device offers a number of operating modes. It comprises two 8
bit parallel ports, each with two handshaking or control lines. As normally used,
it appears as a block of four ports, with the data ports A & B, and then the
corresponding control ports CTRLA & CTRLB. On the standard Nascom, this block
occupies Ports 4,5,6,7. Port A is number 4 with its control port CTRLA number 6.
The two data ports are Read/
On first introduction setting the PIO up is so complex, that an example is perhaps the best way to demonstrate. We will set the PIO up to its four modes by way of example.
On power up, the PIO enters a reset state. This means that the internal structures of the PIO are all set to zero, or neutral conditions, as appropriate. We unfortunately cannot get this effect by hitting System Reset on N1s, as the PIO hadn’t enough pins to allow for this. Instead, the PIO designers provided that a reset would be signalled if the PIO received an /M1 signal without /RD or /IORQ. To obtain this signal, it is necessary for N1 owners to make a small
| Page 9 of 56 |
|---|