User Manual of ZX Evolution Rev. C

A guide to the ZX Evolution Rev. C ZX Spectrum-compatible computer: board layout, connectors, firmware and installation in an ATX or mini-ITX case.

Contents

1. Board layout

The diagram shows the main components and connectors on the ZX Evolution Rev. C board.

The board has mounting holes for installation in a mini-ITX case, in accordance with the specification1. The main peripheral connectors are positioned in the rear I/O opening of an ATX case, making the board easier to install and the connectors easier to access.

The expansion slots are positioned so that the connectors on installed cards line up with the corresponding openings at the back of the case. The original manual identifies NeoGS as a supported expansion card. Third-party expansion-card designers should follow the NeoGS board form factor.

A standard ATX power connector allows the board to use an off-the-shelf power supply.

1 The board measures 172 × 170 mm and is 2 mm wider than specified by the mini-ITX standard. This extra width provides the required space for the ZXBUS slot.

2. Connectors

2.1. X1. Floppy drives

This connector accepts 3.5-inch or 5.25-inch floppy drives. Up to four drives are supported. Pin numbering starts at the square pad.

X1 pinout
№NameDescription№NameDescription
1GNDGround2 Not used
3GNDGround4 Not used
5KEYKey (no pin)6DS3Drive 3 select
7GNDGround8IDXIndex pulse
9GNDGround10DS0Drive 0 select
11GNDGround12DS1Drive 1 select
13GNDGround14DS2Drive 2 select
15GNDGround16MOTONMotor on
17GNDGround18DIRCStep direction
19GNDGround20STEPStep head to the next track
21GNDGround22WDWrite data
23GNDGround24WGWrite enable
25GNDGround26TR00Head at track 00
27GNDGround28WPDisk write-protect status
29GNDGround30RDDATARead data
31GNDGround32SIDE1Disk side select
33GNDGround34 Not used

2.2. X2. IDE

This connector accepts IDE storage devices. Up to two devices can be connected in a master/slave configuration. Pin numbering starts at the square pad.

X2 pinout
№NameDescription№NameDescription
1RESETHardware reset2GNDGround
3D07Data bus bit 74D08Data bus bit 8
5D06Data bus bit 66D09Data bus bit 9
7D05Data bus bit 58D10Data bus bit 10
9D04Data bus bit 410D11Data bus bit 11
11D03Data bus bit 312D12Data bus bit 12
13D02Data bus bit 214D13Data bus bit 13
15D01Data bus bit 116D14Data bus bit 14
17D00Data bus bit 018D15Data bus bit 15
19GNDGround20KEYKey (no pin)
21 Not used22GNDGround
23DIOW 24GNDGround
25DIOR 26GNDGround
27IORDY 28 Not used
29 Not used30GNDGround
31 Not used32 Not used
33DA1Register address bit 134 Not used
35DA0Register address bit 036DA2Register address bit 1
37CS0Register bank select38CS1Register bank select
39DASPData transfer indicator40GNDGround

2.3. X3. Printer connector (partial LPT interface)

This connector is intended for a printer. An EPSON-compatible printer is recommended. Pin numbering starts at the square pad.

X3 pinout
№NameDescription№NameDescription
1STROBEStrobe signal2 Not used
3DATA0Data bit 04ERRORError signal
5DATA1Data bit 16 Not used
7DATA2Data bit 28 Not used
9DATA3Data bit 310GNDGround
11DATA4Data bit 412GNDGround
13DATA5Data bit 514GNDGround
15DATA6Data bit 616GNDGround
17DATA7Data bit 718GNDGround
19 Not used20GNDGround
21BUSYBusy signal22GNDGround
23PEPaper-out signal24GNDGround
25 Not used26KEYKey (no pin)

2.4. X4. JTAG for the EP1K50Q208 FPGA

This connector programs the EP1K50Q208 FPGA through its JTAG interface using a ByteBlasterMV or another compatible programmer. Pin numbering starts at the square pad.

X4 pinout
№NameDescription№NameDescription
1TCKClock2GNDGround
3TDOData output43V3+3.3 V supply
5TMSMode select6 Not used
7 Not used8 Not used
9TDIData input10GNDGround

2.5. X5. AVR ISP for the ATMEGA128 peripheral controller

This connector programs the ATMEGA128 peripheral controller through its ISP interface using a ByteBlasterMV or another compatible programmer. Pin numbering starts at the square pad.

X5 pinout
№NameDescription№NameDescription
1CKClock2GNDGround
3DOData output4VCC5+5 V supply
5RSTReset6 Not used
7 Not used8EXCLOCKExternal clock
9DIData input10GNDGround

2.6. X6. RS232 communication port

The communication port connects the board to another computer or to communication equipment, such as a modem.

X6 pinout
№NameDescription№NameDescription
1 Not used6 Not used (connected to pin 4)
2RXD 7RTS 
3TXD 8CTS 
4 Not used (connected to pin 6)9 Not used
5GNDGroundShellConnector shell connected to ground

2.7. X7. VGA video output

This connector accepts a monitor or television equipped with a VGA connector.

Warning: a VGA connector alone does not guarantee compatibility. For full compatibility, the monitor must support 50 Hz vertical and 31 kHz horizontal scan frequencies.

X7 pinout
№NameDescription№NameDescription
1RRed video component9VIDEOVCCNot used, or +5 V when jumper J3 is closed
2GGreen video component10GNDGround
3BBlue video component11GNDGround
4 Not used12 Not used
5 Not used13HSHorizontal sync
6GNDGround14VSVertical sync
7GNDGround15CSYNCNot used, or composite sync when jumper J2 is closed
8GNDGroundShellConnector shell connected to ground

2.8. X8. RGB video output with composite sync

This connector provides RGB and composite sync for a television, monitor or PAL encoder. Use it together with X9 to connect a NedoPC PAL encoder.

Pin numbering starts at the square pad.

X8 pinout
№NameDescription№NameDescription
1RRed video component2GGreen video component
3BBlue video component4CSYNCComposite sync

2.9. X9. Video output power

  • GND — ground.
  • VIDEOVCC — +5 V supply.

Use this connector together with X8 to connect a NedoPC PAL encoder.

Pin numbering starts at the square pad.

2.10. X10. 3.5 mm audio output

This connector accepts speakers, headphones and other audio playback or recording equipment.

The connector shell is connected to ground.

2.11. X11. PS/2 keyboard and mouse

This connector accepts a PS/2 keyboard and mouse.

Connect the keyboard to the socket nearest the board and the mouse to the socket furthest from the board.

The connector shell is connected to ground.

X11 pinout
№NameDescription№NameDescription
1DATAKeyboard data7DATAMouse data
2 Not used8 Not used
3GNDGround9GNDGround
4+5V+5 V supply10+5V+5 V supply
5CLKKeyboard clock11CLKMouse clock
6 Not used12 Not used

2.12. X12. Original ZX keyboard and joystick

This connector accepts an original ZX keyboard and a Kempston joystick.

Pin numbering starts at the square pad.

X12 pinout
№NameDescription№NameDescription
1ZXROW0ZX keyboard row 02ZXROW1ZX keyboard row 1
3ZXROW2ZX keyboard row 24ZXROW3ZX keyboard row 3
5ZXROW4ZX keyboard row 46ZXROW5ZX keyboard row 5
7ZXROW6ZX keyboard row 68ZXROW7ZX keyboard row 7
9RSTReset signal10ZXCOL4ZX keyboard column 4
11ZXCOL3ZX keyboard column 312ZXCOL2ZX keyboard column 2
13ZXCOL1ZX keyboard column 114ZXCOL0ZX keyboard column 0
15GNDGround16JOYLJoystick left
17JOYRJoystick right18JOYUJoystick up
19JOYDJoystick down20JOYFJoystick fire
2.12.1. Connecting Kempston and Sinclair joysticks
Joystick connections to X12
Sinclair 1Sinclair 2Kempston
FunctionZX keyX12 pins to connectFunctionZX keyX12 pins to connectFunctionX12 pins to connect
Left14–14Left65–10Left15–16
Right24–13Right75–11Right15–17
Down34–12Down85–12Up15–18
Up44–11Up95–13Down15–19
Fire54–10Fire05–14Fire15–20

2.13. X13. Mini USB (USB-to-RS232 bridge)

This connector links the board to a host computer in USB slave mode.

It provides a connection to computers that do not have an RS232 port.

2.14. X14. AVR JTAG for the ATMEGA128 peripheral controller

This connector programs the ATMEGA128 peripheral controller through the JTAG ICT interface using a compatible programmer.

Pin numbering starts at the square pad.

X14 pinout
№NameDescription№NameDescription
1TCKClock2GNDGround
3TDOData output4VCC+5 V supply
5TMSMode select6PRGRSTReset
7VCC+5 V supply8 Not used
9TDIData input10GNDGround

2.15. X15. Tape input and output

This connector provides input and output signals for tape-based data storage.

Pin numbering starts at the square pad.

X15 pinout
№NameDescription№NameDescription
1INTape signal input2GNDGround
3OUTTape signal output4GNDGround

2.16. X16. Audio output (duplicates X10)

This audio output duplicates X10. It accepts speakers, headphones and other audio playback or recording equipment.

Pin numbering starts at the square pad.

X16 pinout
№NameDescription№NameDescription
1LOUTLeft channel output2GNDGround
3GNDGround4ROUTRight channel output

2.17. X17, X18 and X20. Audio inputs

These audio inputs accept external sound sources, such as a CD-ROM drive or NeoGS.

Pin numbering starts at the square pad.

X17, X18 and X20 pinout
№NameDescription№NameDescription
1LINLeft channel input2GNDGround
3GNDGround4RINRight channel input

2.18. X19. RS232 communication port (duplicates X6)

The communication port connects the board to another computer or to communication equipment, such as a modem.

Pin numbering starts at the square pad.

X19 pinout
№NameDescription№NameDescription
1 Not used2RXD 
3TXD 4 Not used (connected to pin 6)
5GNDGround6 Not used (connected to pin 4)
7RTS 8CTS 
9 Not used10+5V+5 V supply

2.19. X21. Tape IN (duplicates the input on X15)

An input for loading software from a tape recorder or a similar signal source.

2.20. PWR1. Power connector

A connector for a non-standard power supply.

PWR1 pinout
№NameDescription№NameDescription
1VCC5+5 V supply3GNDGround
2GNDGround4VCC12+12 V supply

2.21. PWR2. ATX power connector

This connector powers the ZX Evolution board from a standard ATX power supply.

PWR2 pinout
№NameDescription№NameDescription
1 Not used11 Not used
2 Not used12 Not used
3GNDGround13GNDGround
4VCC5+5 V supply14PS_ONPower on
5GNDGround15GNDGround
6VCC5+5 V supply16GNDGround
7GNDGround17GNDGround
8PWRGOODPower good18 Not used
9VCC5STBY+5 V standby supply19VCC5+5 V supply
10VCC12+12 V supply20VCC5+5 V supply

2.22. GB1. Clock battery holder

This holder accepts a battery to power the non-volatile memory and the PCF8583 clock.

A 3 V CR2032 battery is recommended.

3. Jumpers and buttons

Jumper, button and LED functions
№NameDefaultDescription
J1enable IDERESOpenWhen closed, routes RESET to the IDE connector so that IDE devices can be reset through the interface. Required by some older hard drives, including certain Samsung models.
J2enable composite sync to VGAOpenWhen closed, routes composite sync to the VGA connector.
J3enable +5V to VGAOpenWhen closed, supplies +5 V to the VGA connector.
J412v enableOpenWhen closed, supplies +12 V to the expansion slots.
J5external clockOpenWhen closed, allows the ATMEGA128 to use an external clock connected through the AVR ISP connector (X5).
J6soft reset keyOpen

This pair of contacts serves two purposes:

  • connection for the PWR SW button of an ATX case;
  • soft reset of the computer without restarting the ATMEGA128.
J7HRDY->IPOpenWhen closed, HRDY pulls the IP signal to GND.
J8NMI keyOpenWhen closed, asserts NMI on the Z80 processor.
J9hard reset keyOpenWhen closed, resets the computer, including the ATMEGA128. Intended for the Reset button of an AT or ATX case.
VD32HDD Led Connection for the HDD LED of an AT or ATX case.
VD63PWR Led Connection for the PWR LED of an AT or ATX case.

2 If a pair of header pins is fitted instead of LED VD3, as on assembled boards supplied by NedoPC.

3 If a pair of header pins is fitted instead of LED VD6, as on assembled boards supplied by NedoPC.

4. ZXBUS slots

ZX Evolution has two ZXBUS-compatible expansion slots.

The ZXBUS contact pitch is 2.54 mm. Take care when fitting expansion cards made in the 1990s or earlier: they may use a 2.5 mm pitch.

The first contact in each row is marked by a square pad. When the board is installed in an ATX case, pin 1 is nearest the rear of the case.

Warning: when fitting an expansion card, make sure its locating tab is at the pin 1 end of the slot. If the card has no locating tab, check the documentation supplied with it. Incorrect installation can destroy components on both the expansion card and the computer.

Warning: the ZX Evolution manufacturer accepts no responsibility for incompatibility or damage caused by third-party expansion cards and does not undertake to test such cards. Contact the expansion-card manufacturer about compatibility.

Note: if an expansion card requires +12 V, fit a jumper across J4.

ZXBUS slot pinout
№NameDescription№NameDescription
A1A14Processor address bus bit 14B1A15Processor address bus bit 15
A2A12Processor address bus bit 12B2A13Processor address bus bit 13
A3+5V+5 V supplyB3D7Processor data bus bit 7
A4DCDOSTRDOS ROM window activeB4 Not used
A5 Not usedB5 Not used
A6GNDGroundB6D0Processor data bus bit 0
A7GNDGroundB7D1Processor data bus bit 1
A8 Not usedB8D2Processor data bus bit 2
A9A0Processor address bus bit 0B9D6Processor data bus bit 6
A10A1Processor address bus bit 1B10D5Processor data bus bit 5
A11A2Processor address bus bit 2B11D3Processor data bus bit 3
A12A3Processor address bus bit 3B12D4Processor data bus bit 4
A13IORQGEInhibit signal for other devicesB13INTInterrupt
A14GNDGroundB14NMINon-maskable interrupt
A15CSROMCEROM chip enableB15HALTProcessor halt
A16RSROM window switching signalB16MREQProcessor memory request
A17 Not usedB17IORQProcessor I/O request
A18 Not usedB18RDProcessor read
A19BUSRQDMA requestB19WRProcessor write
A20RESReset signalB20 Not used
A21A7Processor address bus bit 7B21WAITWait
A22A6Processor address bus bit 6B22 Not used
A23A5Processor address bus bit 5B23 Not used
A24A4Processor address bus bit 4B24M1Start of an instruction cycle
A25CSROMROM selectedB25RFSHMemory refresh
A26BUSAKDMA acknowledgeB26A8Processor address bus bit 8
A27A9Processor address bus bit 9B27A10Processor address bus bit 10
A28A11Processor address bus bit 11B28+5V+5 V supply
A29+5V+5 V supplyB29+12V+12 V supply
A30GNDGroundB30GNDGround
A31 XS1: IORQGE2; not used on XS2B31 XS1: IORQ2; not used on XS2

5. ZX Evolution firmware

ZX Evolution contains an ATMEGA128 microcontroller and a 29F040 ROM chip.

The ATMEGA128 microcontroller performs three functions:

  • It manages external peripherals and translates their signals into the interfaces expected by the ZX Spectrum.
  • It loads firmware into the EP1K50QC208 FPGA at power-on or after a hardware reset.
  • It allows the computer configuration to be updated by replacing the writable part of the microcontroller firmware.

The ATMEGA128 firmware consists of two parts:

BOOTLOADER

BOOTLOADER is the fixed part of the firmware used to replace or update the writable part of the microcontroller firmware. Refer to the bootloader documentation for details.

It can only be written with a hardware programmer on the assembled board. The microcontroller supplied in a self-assembly kit does not contain firmware.

Updating the bootloader also requires a hardware programmer. The website provides bootloader binaries for two types of programmer.

Configuration

The configuration is the writable part of the firmware. It manages peripherals and loads the computer configuration.

Configurations may be supplied by different developers. Special service configurations are also available for setting up and testing a newly assembled computer.

Configurations are distributed as specially prepared zxevo_fw.bin files.

Note: NedoPC develops and maintains two configurations:

  • TEST&SERVICE — for setting up and testing the computer after assembly and for programming or updating the 29F040 ROM chip.
  • BASECONF — the reference configuration, developed by NedoPC according to its vision for the evolution of the ZX Spectrum. Third-party developers may use its source code as a starting point for their own configurations.

Warning: NedoPC does not maintain or support third-party configurations and accepts no responsibility for incorrect operation of ZX Evolution when they are used.

29F040 ROM image

The 29F040 ROM firmware contains the routines needed to operate the computer in ZX Spectrum mode, including Basic48, Basic128 and TRDOS.

It is distributed as zxevo.rom, a binary file containing the complete image to be written to the 29F040 ROM. Third-party developers may assemble their own ROM contents.

Updating and restoring the ROM

Use the TEST&SERVICE configuration to update or restore the ROM image:

  1. Load TEST&SERVICE using BOOTLOADER.
  2. Copy zxevo.rom to an SD card and insert the card into the computer.
  3. Select the appropriate item in the TEST&SERVICE menu and program the ROM.
  4. Use BOOTLOADER to load the working configuration, such as BASECONF.

Note: NedoPC supplies its own ROM image based on EVO RESET SERVICE. This image is designed to work with NedoPC’s BASECONF configuration.

Update the working configuration and ROM image together. Combining an old ROM image with a new configuration, or vice versa, may cause malfunctions.

EVO RESET SERVICE can update the ROM image from within its own interface. See its documentation for details.

6. Installing the board in an ATX, microATX or mini-ITX case

The ZX Evolution board is designed for straightforward installation in a standard ATX, microATX or mini-ITX case.

Note: mounting hardware and blanking plates are not included with the ZX Evolution board.

Installation steps

  1. Insert a CR2032 or equivalent battery into holder GB1 on the board.
  2. Place the board on the mounting points of the case tray and secure it with screws. Install the tray in the case. Connectors X21, X10, X7, X13, X6, XSD1 and X11 should face the rear I/O opening.
  3. Connect the power supply cable to PWR2.
  4. Connect the case Reset button cable, RES SW, to the J9 hard reset contacts.
  5. Connect the case Power button cable, PWR SW, to the J6 soft reset contacts.
  6. Connect the case drive-activity LED cable, IDE LED, to VD34. The positive contact has a square pad.
  7. Connect the case Power LED cable, PWR LED, to VD65. The positive contact has a square pad.
  8. Install the floppy drive or drives6, connect their power cables and connect their ribbon cable to X1.
    Warning: the floppy cable differs from a standard PC cable. See the example in the floppy-drive appendix.
  9. Install the IDE device or devices7, connect their power cables and connect their ribbon cable to X2.
    Warning: two IDE devices must be configured as master and slave.

Power control

Power control differs slightly from that of a conventional PC:

OperationAction
Power on
(ATX power supply)
  • Briefly close soft reset [J6] (PWR SW), or
  • Briefly close hard reset [J9] (RES SW)
Power off
(ATX power supply)
  • Hold soft reset [J6] (PWR SW) closed for 5 seconds
Processor reset
  • Briefly close soft reset [J6] (PWR SW)
Hard reset
  • Briefly close hard reset [J9] (RES SW)

4 If a pair of header pins is fitted instead of LED VD3, as on assembled boards supplied by NedoPC.

5 If a pair of header pins is fitted instead of LED VD6, as on assembled boards supplied by NedoPC.

6 A floppy drive is optional; the board can operate without one.

7 An IDE device is optional; the board can operate without one.

7. Appendix 1. Connecting a display

ZX Evolution supports two types of display:

  • VGA monitors;
  • televisions.

Connect a VGA monitor to X7. Enable the corresponding display mode on ZX Evolution.

Note: VGA/TV mode is switched from the keyboard. With NedoPC BASECONF firmware, use Scroll Lock. The keyboard Scroll Lock LED is lit in VGA mode.

Warning: make sure a VGA monitor supports a 48.8 Hz refresh rate. A list of tested monitors is available on the ZX Evolution project website8.

ZX Evolution revision C provides a dedicated connection for an RGB monitor, for example through SCART-RGB, or a PAL encoder. It consists of two headers: X8 and X9.

Connecting a PAL encoder

Make an adapter cable for the PAL encoder as shown in the diagram.

Connecting a television through SCART

Make a SCART adapter cable for the television as shown in the diagram.

Warning: the television must support RGB input through SCART.

A television or PAL encoder can also be connected to the appropriate pins of the VGA connector X7, following the diagrams above. Close J2 and J3 to make composite sync and power available on X7.

8. Appendix 2. Connecting floppy drives

A PC floppy controller selects drives differently and supports only two drives on a ribbon cable. The ZX Evolution controller, based on the KR1818VG93 (WDC1793), can work with up to four drives.

Connecting a 5.25-inch drive

Set a 5.25-inch floppy drive to DD (720 KB) mode and drive number 0 or A, usually with the DS (drive select) jumper. Check the drive documentation for the correct settings.

Connecting two 3.5-inch drives

The drive-select jumper on a PC 3.5-inch floppy drive is normally fitted or soldered so that ZX Evolution identifies it as drive B, the second drive. To connect two PC 3.5-inch drives without modifying them, make the special ribbon cable shown below:

Using DD and HD disks

TRDOS uses DD disks and DD drive mode. Some later 3.5-inch drives do not support DD mode. In that case, modify the drive or use a model that supports DD operation.

To use a 3.5-inch HD disk, cover its density-detection hole so that the drive detects it as a DD disk.

9. Appendix 3. Additional PS/2 keyboard functions

These functions apply only to the baseconf configuration with the EVO reset service ROM.

PS/2 keyboard shortcutFunction
F12Soft reset. Equivalent to the soft reset contacts (J6) on the board.
Resets only the Z80 processor, without reloading the computer configuration.
Warning: holding F12 for 5 seconds switches off the power when using an ATX power supply.
Ctrl + Alt + DelHard reset. Equivalent to the hard reset contacts (J9) on the board.
Resets the ZXEvo board and reloads its configuration.
ScrollLockSwitches the video output between VGA and TV modes.
The keyboard ScrollLock LED is lit in VGA mode.
PrintScreenGenerates an NMI (non-maskable interrupt) on the Z80 processor.
NumLockSwitches the audio output between tapeout (tape output) and beeper (sound output) modes.
The keyboard NumLock LED is lit in tapeout mode.
Left mouse button + right mouse button + * on the numeric keypadRestores the default mouse resolution.
Left mouse button + right mouse button + + on the numeric keypadIncreases the mouse resolution.
Left mouse button + right mouse button + − on the numeric keypadDecreases the mouse resolution.
0 (zero) + F12Press 0, keep it held down and press F12. Release F12, then release 0.
Sets the main firmware mode to Evo service.
ZX Evolution Rev. C – User Manual PDF
ZX Evolution Rev. C – User Manual PDF
Size: 1 MB