# The parallel transfer cable

The parallel transfer cable was designed by Macro Vieth. The cable is used to connect a CPC/CPC+ or KC Compact to a PC to transfer data between the two systems.

The cable can transfer data in both directions. Transfer from the CPC to the PC is faster than from the PC to the CPC. This restriction is due to the limited number of inputs on the Amstrad CPC parallel port.

## What you need

CPC with edge connector:

- 34-way edge connector socket (female)
- 25-way D-type plug (male)
- 34-way ribbon cable

German CPC with Centronics connector:

- 36-way Centronics connector (male)
- 25-way D-type plug (male)
- 34-way ribbon cable

CPC+ or KC Compact:

- 2 * 25-way D-type plug (male)
- 34-way ribbon cable.

Description | Maplins Reference
--- | ---
34-way edge connector socket (female) | FS80B
25-way 25-way D-Type plug (male) | JW79L
36-way Centronics plug (male) | FJ62S
34-way ribbon cable | XR76H

## Connections

PC parallel | Amstrad parallel
--- | ---
2 (D0) | 11 (BUSY)
10 (ACK) | 8 (D6)
11 (BUSY) | 1 (/STROBE)
12 (PAPER END) | 7 (D5)
13 (SELECT) | 6 (D4)
15 (/ERROR) | 5 (D3)
19 (GND) | 19 (GND)

## Reference

### Algorithm for transfer from CPC to PC

Signals used:

Amstrad parallel | Data Direction | PC parallel | Function
--- | --- | --- | ---
8 (D6) | >> | 10 (ACK) | Data
7 (D5) | >> | 12 (PAPER END) | Data
6 (D4) | >> | 13 (SELECT) | Data
5 (D3) | >> | 15 (/ERROR) | Data
1 (/STROBE) | >> | 11 (BUSY) | Control
11 (BUSY) | << | 2 (D0) | Control

D3,D4,D5,D6 specify the 4-bit data to transfer. /STROBE will be set low to signal a bit of data is ready. PC will set the BUSY to acknowledge the received data.

### Algorithm for transfer from PC to CPC

Signals used:

PC parallel | Data Direction | Amstrad parallel | Function
--- | --- | --- | ---
2 (D0) | >> | 11 (BUSY) | Data
11 (BUSY) | << | 1 (/STROBE) | Control

/STROBE is used to signal to the PC that the CPC is ready to receive data.

the PC will output data to D0 and will be read by the CPC on D0.

### PC parallel port pin assignments

Pin | Signal | Direction (SPP mode)
--- | --- | ---
1 | /STROBE | Output
2 | D0 | Output
3 | D1 | Output
4 | D2 | Output
5 | D3 | Output
6 | D4 | Output
7 | D5 | Output
8 | D6 | Output
9 | D7 | Output
10 | /ACK | Input
11 | BUSY | Input
12 | PAPER END | Input
13 | SELECT | Input
14 | /AUTOFEEDXT | Output
15 | /ERROR | Input
16 | /INIT | Output
17 | /SELECT IN | Output
18-25 | GND | -

NOTES:

- The Standard Parallel Port (SPP) mode of the PC is guaranteed to work with all PC chipsets. No setup is required to enter this mode. In this mode there are 12 outputs (/STROBE, D0-D7, /AUTOFEEDXT, /INIT and /SELECT IN), and 5 inputs (/ACK, BUSY, PAPER END, SELECT, /ERROR). Some chipsets do not allow D0-D7 to be read when in this mode.
- D0-D7 can be written through the "data port" which is at offset 0 from the base of the parallel port registers. Bits 0-7 correspond to D0-D7.
- /ERROR, PAPER END, SELECT, /ACK and BUSY can be read through the "status port" which is at offset 1 from the base of the parallel port registers.

  Signal | "status port" bit
  --- | ---
  /ERROR | 3
  SELECT | 4
  PAPER END | 5
  /ACK | 6
  BUSY | 7

- /STROBE, /AUTOFEED, /INIT and /SELECT IN can be written through the "control port" which is at offset 2 from the base of the parallel port registers.

  Signal | "status port" bit
  --- | ---
  /STROBE | 0
  /AUTOFEEDXT | 1
  /INIT | 2
  /SELECT IN | 3

### Amstrad CPC & CPC+ parallel port pin assignments

Pin | Function | Input/Output
--- | --- | ---
1 | /STROBE | Output
2 | D0 | Output
3 | D1 | Output
4 | D2 | Output
5 | D3 | Output
6 | D4 | Output
7 | D5 | Output
8 | D6 | Output
9 | D7 | Output
10 | N.C. | -
11 | BUSY | Input
12 | N.C. | -
13 | N.C. | -
14 | GND | -
15 | N.C. | -
16 | N.C. | -
17 | N.C. | -
18 | N.C. | -
19 | GND | -
20 | GND | -
21 | GND | -
22 | GND | -
23 | GND | -
24 | GND | -
25 | GND | -
26 | GND | -
27 | GND | -
28 | GND | -
29 | N.C. | -
30 | N.C. | -
31 | N.C. | -
32 | N.C. | -
33 | GND | -
34 | N.C. | -
35 | N.C. | -

Notes:

- The Amstrad CPC has 8 outputs (/STROBE, D0-D6) and 1 input (BUSY).
- The CPC+ and KC Compact have 9 outputs (/STROBE, D0-D7) and 1 input (BUSY)