ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
AMSTRAD CPC
4 x 8 3.3V/5V Level Converters
Raspberry Pi B+, 28 pins
2
3
CPC BUSPIN #
CPC Connections
5V3.3V
PI Connections
PIN #PI BUS
4
5
-----Sound1
Level Converter
#1
6
Key
7
Address BusA153--->1.B71.B7
<--->
1.A71.A7--->26BCM 7Power
(same on Spectrum, MSX, PCW, SC3000)
8
"A144--->1.B61.B6
<--->
1.A61.A6--->31BCM 6Address Bus
(same on Spectrum, MSX, PCW, SC3000)
9
"A135--->1.B51.B5
<--->
1.A51.A5--->29BCM 5Data Bus
(same on Spectrum, MSX, PCW, SC3000)
10
"A126--->1.B41.B4
<--->
1.A41.A4--->7BCM 4Control I/O
11
"A117--->1.B31.B3
<--->
1.A31.A3--->5BCM 3
12
"A108--->1.B21.B2
<--->
1.A21.A2--->3BCM 2PI Not Connected
13
"A99--->1.B11.B1
<--->
1.A11.A1--->28BCM 125V Power
14
"A810--->1.B01.B0
<--->
1.A01.A0--->27BCM 045V Power
15
5 VoltsVCC27--->
1.VCCB, 2.VCCB, 3.VCCB, 4.VCCB
1.VCCB
<--->
1.VCCA
1.VCCA, 2.VCCA
<---1Power 3.3V9Ground
16
GroundGND2--->1.GND, 2.GND1.GND
<--->
1.GND1.GND<---6Ground20Ground
17
30Ground
18
Level Converter
#239Ground
19
20
"A711--->2.B62.B7
<--->
2.A72.B7--->10BCM 15CPC Not Connected
21
"A612--->2.B62.B6
<--->
2.A62.A6--->8BCM 141Sound
22
"A513--->2.B52.B5
<--->
2.A52.A5--->33BCM 1329M1
23
"A414--->2.B42.B4
<--->
2.A42.A4--->32BCM 1230RFSH
24
"A315--->2.B32.B3
<--->
2.A32.A3--->23BCM 1134HALT
25
"A216--->2.B22.B2
<--->
2.A22.A2--->19BCM 1035INT
26
"A117--->2.B12.B1
<--->
2.A12.A1--->21BCM 931IORQ
27
"A018--->2.B02.B0
<--->
2.A02.A0--->24BCM 836NMI
28
5 VoltsVCC27--->
1.VCCB, 2.VCCB, 3.VCCB, 4.VCCB
2.VCCB
<--->
2.VCCA
1.VCCA, 2.VCCA
<---1Power 3.3V37BUSRQ
29
GroundGND2--->1.GND, 2.GND2.GND
<--->
2.GND2.GND<---14Ground38BUSAK
30
39READY
31
Level Converter
#341RSET
32
44RAMRD
33
Data BusD719<-->3.B73.B7
<--->
3.A73.A7<-->16BCM 2346CURSOR
34
"D620<-->3.B63.B6
<--->
3.A63.A6<-->15BCM 2247LPEN
35
"D521<-->3.B53.B5
<--->
3.A53.A5<-->40BCM 2148EXP
36
"D422<-->3.B43.B4
<--->
3.A43.A4<-->38BCM 2050CLK
37
"D323<-->3.B33.B3
<--->
3.A33.A3<-->35BCM 19
38
"D224<-->3.B23.B2
<--->
3.A23.A2<-->12BCM 18
39
"D125<-->3.B13.B1
<--->
3.A13.A1<-->11BCM 17
40
"D026<-->3.B03.B0
<--->
3.A03.A0<-->36BCM 16
41
5 VoltsVCC27--->
1.VCCB, 2.VCCB, 3.VCCB, 4.VCCB
3.VCCB
<--->
3.VCCA
3.VCCA, 4.VCCA
<---17Power 3.3V
42
GroundGND49--->3.GND, 4.GND3.GND
<--->
3.GND3.GND<---25Ground
43
44
Level Converter
#4
45
46
When /MREQ="0" the CPU is performing a memory operation. A15-A0 contain the memory address.
Memory Request
MREQ28--->4.B04.B0
<--->
4.A04.A0--->18BCM 24to CPC MREQ
(same on Spectrum, MSX, PCW, SC3000)
47
/M1 (Machine cycle one; Output from CPU). When /M1="0" there are two possible functions: Interrupt acknowledge: /IORQ="0" CPU is fetching the op-code part of an instruction: /MREQ="0" and /IORQ="1"
Machine Cycle1
M129
48
-----RFSH30
49
When /IORQ="0" the CPU is performing a I/O operation. A15-A0 contain the I/O address.
I/O RequestIORQ31
50
If /RD is "0" then the operation is reading from memory. D7-D0 will contain data read from the memory.
ReadRD32--->4.B14.B1
<--->
4.A14.A1--->22BCM 25to CPC RD
(same on Spectrum, MSX, PCW, SC3000)
51
If /WR is "0" then the operation is writing to memory. D7-D0 contain data to write to the memory.
WriteWR33--->4.B24.B2
<--->
4.A24.A2--->37BCM 26to CPC WR
(same on Spectrum, MSX, PCW, SC3000)
52
-----HALT34
53
-----INT35
54
-----NMI36
55
?Bus RequestBUSRQ37
56
When /BUSAK="0" the CPU is signalling that control of the address bus, data bus and output signals has been released, and the device can take control.
Bus Acknowledge
BUSAK38
57
?-----READY39
58
/BUS RESET (Bus Reset; Input to PIO/CPU) Acts similarly to /RESET but also resets the PIO chip.
-----BRST40<---4.B44.B4
<--->
4.A44.A4<---24BCM 8to CPC BRST
(to RESET on Spectrum & MSX, do NOT connect to PCW, SC3000)
59
/RESET (Reset; Input to CPU). When /RESET="0" the CPU is held in the reset state. When the reset state is released, the CPU Program Counter (PC) is set to "0" and execution begins resumes from the new PC address.
-----RSET41
note: perhaps put a LED when online since PCW cannot control reset
60
/ROMEN (ROM Enable; Output from Gate-Array). When /ROMEN="0" a ROM read operation is active. This signal is generated by the Gate-Array. This signal will be "0" when: A15=A14="0" and bit 2 of the Gate-Array ROM configuration register is set to 0, (lower ROM enable) A15=A14="1" and bit 3 of the Gate-Array ROM configuration register is set to 0. (upper ROM enable) A expansion device (e.g. a ROM-board) can use this signal to activate the selected ROM plugged into the device.
ROM EnableROMEN42
note: for computers that don't have reset inputs, PI can reset via software
61
ROMDIS (Internal ROM Disable; Input to internal ROM). When ROMDIS="1" the internal ROM of the CPC/CPC+/KC Compact is forced inactive. e.g. a ROM-board device would use this signal to override the ROM selection with a ROM plugged into the device. The internal ROM would be forced inactive, and the selected expansion ROM would be activated.
ROM DisableROMDIS43
62
When /RAMRD="0" a ram read operation is active. This signal is generated by the Gate-Array. This signal will be "0" when: A15=A14="0" and bit 2 of the Gate-Array ROM configuration register is set to 1. (lower ROM disable) A15=A14="1" and bit 3 of the Gate-Array ROM configuration register is set to 1. (upper ROM disable) A15 is not equal to A14.
RAM ReadRAMRD44
63
When RAMDIS="1" the internal RAM of the CPC/CPC+/KC Compact is forced inactive. e.g. a ram-expansion device would use this signal to override the internal RAM selection with the ram on the device. The internal RAM would be forced inactive, and the ram on the ram-expansion would be actived.
RAM DisableRAMDIS45<---4.B34.B3
<--->
4.A34.A3<---13BCM 27to CPC RAMDIS
(to ROMCS on Spectrum, CSRAM on SC3000, -->CS1 or -->CS2 for MSX. Do I need BUSDIR for MSX?)
64
-----CURSOR46
65
-----LPEN47
66
5 VoltsVCC27--->
1.VCCB, 2.VCCB, 3.VCCB, 4.VCCB
4.VCCB
<--->
4.VCCA
3.VCCA, 4.VCCA
<---17Power 3.3V
67
-----EXP48
68
GroundGND49--->3.GND, 4.GND4.GND
<--->
4.GND4.GND<---34Ground
69
4MHz Clock4Mhz ClockCLK50
70
71
72
73