Compatibility

This range of cartridges works on the following PCBs and with the following models of Spectrum:

PCB16K48K/+128/+2
Latest ZXC2/3 Version: 1.01
Latest ZXC4 Version: 1.00
PROM Size: 32K
Click here to jump to the downloads section.


Description

This ROM cartridge is intended to allow owners of a ZX Interface 1 fitted with the Edition 1 ROM to effectively upgrade their system to the new software features and bug fixes of the Edition 2 ROM. However, it also allows a user without a ZX Interface 1 to use the new commands that don't necessarily rely on the hardware, e.g. CLS #, CLEAR #, MOVE.

The version for the ZXC2 and ZXC3 ROM cartridges combines a copy of the Spectrum ROM with the Edition 2 release of the ZX Interface 1 ROM, and so is 32K in size.

The version for the ZXC4 exploits the Interface 1 paging mechanism provided by the ZXC4 and so uses the Spectrum's internal ROM. This not only increases program compatibility but also means the ROM cartridge can be used with the Spectrum 128 in 128 BASIC mode. Note that the use of the ZXC4's Interface 1 paging mechanism means that the ROM cartridge must be located such that the Shadow ROM is within bank 2 of a bankset. The Cartridge Creator utility will automatically pad out the compilation as necessary to ensure this occurs.

I have also produced a version of the ROM cartridge that contains the Edition 1 of the ZX Interface 1 ROM, which might prove useful for testing whether software is compatible with both editions of the ZX Interface 1 ROM.


RS232 Cable Wiring

The wiring of a RS232 cable suitable for connection to a PC is identical to that shown for the Spectrum RS232 ROM cartridge.

Many Interface 1 serial cables were sold with a simple filter circuit embedded within them. This filter circuit consisted of a 1.5k resistor inline with the RXD connection (which is actually the transmit line from the Spectrum!) and a 10nF capacitor before it across the RXD line and GND. The filter circuit was included to try and overcome glitches that occur at the beginning and end of every byte transmitted, and which are a result of the ZX Interface 1 sharing the drive circuitry for the Network and RS232 sockets. A control register is used to select which type of socket is active, and forces the unselected socket to output a voltage corresponding to its idle condition. The problem arises because the Network and RS232 sockets require opposite values in the control register in order to select their idle condition. After a byte has been transmitted from the RS232 socket, the control register naturally ends up containing a value representing the idle condition for RS232. Should a switch now be made to select the Network sockets then the value in the control register would not represent the idle condition for the Network. The ZX Interface 1 ROM always reverts to Network mode after every byte sent out from the RS232 socket, which requires it to toggle the control register to maintain the idle condition appearing at the Network sockets. Unfortunately it toggles the control register prior to reselecting the Network sockets, which prevents a glitch being produced on the Network lines but introduces one on the RS232 line. When the next byte is ready to be sent from the RS232 socket, Network mode is deselected and so the RS232 line must be quickly placed back into the idle condition. This causes a glitch to also appear at the beginning of every byte transmitted. The ZX Interface 1 hardware should have been designed such that glitches were never produced, or failing this then the ZX Interface 1 ROM should not have reverted back to Network mode after every RS232 byte transmission but only when the Network next needed to be used.


Downloads

Click here to download the Spectrum With Interface 1 (Edition 2) ROM cartridge. 32K
Click here to download the Spectrum With Interface 1 (Edition 1) ROM cartridge. 32K
Click here to download the Interface 1 (Edition 1) ROM cartridge. 32K
Click here to download the Interface 1 (Edition 2) ROM cartridge. 32K