Module spectrusty::bus::zxinterface1
source · Expand description
A bus device for ZX Interface I.
I/O Port 0xe7.
Used to send or receive data to and from the microdrive.
Accessing this port will halt the Z80 until the Interface I has collected 8 bits from the microdrive head; therefore, if the microdrive motor isn’t running, or there is no formatted cartridge in the microdrive, the Spectrum hangs. This is the famous ‘IN 0 crash’.
I/O Port 0xef.
Bits DTR and CTS are used by the RS-232 interface.
The WAIT bit is used by the ZX Network to synchronize incoming bytes. It is being activated just before reading bits of each incoming byte.
GAP, SYNC, WR_PROT, ERASE, R/W, COMMS CLK, and COMMS DATA are used by the microdrive system.
Bit 7 6 5 4 3 2 1 0
+---------------------------------------+
READ| | | |busy| dtr |gap| sync|write|
| | | | | | | |prot.|
|---+---+----+----+-----+---+-----+-----|
WRITE| | |wait| cts|erase|r/w|comms|comms|
| | | | | | | clk | data|
+---------------------------------------+
I/O Port 0xf7.
If the microdrive is not being used, the COMMS DATA output selects the function of OUT bit 0 of 0xf7 port:
Bit 7 6 5 4 3 2 1 0
+------------------------------------------+
READ|txdata| | | | | | | net |
| | | | | | | | input |
|------+---+---+---+---+---+---+-----------|
WRITE| | | | | | | |net output/|
| | | | | | | | rxdata |
+------------------------------------------+
If a 0 was written to COMMS DATA the lowest bit is written to the net output, if 1 was written to COMMS DATA the lowest written bit is rxdata. !
Structs
Enums
CONTROL
lines: CTS
or DTR
.DATA
lines: RxD
or TxD
.