The ZX-Spectrum ZXMMC Interface's page

 

Programming the CPLD requires a JTAG cable and software. Xilinx parallel cable is probably the cheapest choice and the picture on the left shows it's standard pin assignment. A very cheap passive implementation is shown in the right picture, coming from http://warmcat.com/milksop/cheaptag.html

The Cable:

        

Unfortunately, due to the initial use of a nonstandard JTAG cable, the current version of the zxmmc pcb does not match the 6-pin Xilinx JTAG layout described above. TCK, TDO and TDI pins should be arranged in a different way (please see the assembly drawings). You can choose to build a standard cable then add an adapter for zxmmc, or rearrange these 3 pins on the cable (making it specific for zxmmc).

 

The Software:

Xilinx provides a complete (and free) set of software tools, called "ISE Webpack"; the current version is larger than 2GB, but older releases are available as well. Also, here you will find a copy of version 4.2, which is just 117MB and works for Windows XP.


Example for ISE 4.2 (Windows XP)

After software installation, connect your cable to the parallel port of the PC and to the zxmmc pcb, then turn on your Spectrum and click on "Device Programming" under the "Xilinx WebPACK 4.2" program group:

 

 

When the program starts, click the Next button leaving the default selections on any dialog, as follows:

 

If you connected the zxmmc through the parallel cable, then the XC9572XL device is found:

(If the browse dialog does not appear, doubleclick the device).

If the zxmmc was not connected or not powered, you will receive an error. Connect it then click "Initialize Chain" from the "File" menu`, or restart the program.

Select the X9572_IO.JED file downloaded from the CPLD section and click "Open".

Choose the "Program" command from the "Operations" menu`. The following dialog will appear:

 

Click on the OK button: the programming phase will start

 

After programming, you can check if the OUT 31,254 command lights up the SLOT0 select led on the zxmmc interface.

Back to Main Page