Another custom ROM cartridge for ZX Interface 2, supporting 256kb EPROM with manual ROM selection using switch. The 256kb EPROM can hold up to 4 16kb banks, which is selectable with a switch combination. This cartridge only supports 16KB images and manual bank switch and no paging out - it behaves just as the original ROM catridges.
Just a simple schema created with KiCad from description of original Interface 2 and Roms as found on the internet.
SCHEMA | PCB |
---|---|
![]() |
![]() |
Assembled the cartridge looks like this
![image](https://private-user-images.githubusercontent.com/14136378/324101929-98390b0a-0d1a-49b4-8ea4-dc8fd6eeafcf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0Mzc1MDcsIm5iZiI6MTcyMDQzNzIwNywicGF0aCI6Ii8xNDEzNjM3OC8zMjQxMDE5MjktOTgzOTBiMGEtMGQxYS00OWI0LThlYTQtZGM4ZmQ2ZWVhZmNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDExMTMyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3NWQyZTE3Zjg4ZGRmYmFmZDk1MzRiYWE5MGU3Zjk0NDkwZTMwZjRlZWYwY2I5N2RjY2QzZjMxZDNhZTM5NDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kUlpR23lrim30EkxxL9xg9U8VAejS1xiq9OC04F2M24)
Even that the first version of the PBC works ok, a few errors was made - but again I'm new to KiCad, so I'm slowly learning :-)
-
Most important error is that I forgot to check the pads, I simply forgot to check that the pads are added to the solder mask layer! So as can be seen on the image, I had to carefully scrabe the surface - for the pads to be visible.
-
The switch are "mirrored" in my oppinion, I would expect the left switch to be the most significant bit (MSB) - so another change for next version.
-
Slot in connector turned out to be a bit too narrow, so I had to make it a bit wider.
-
If you look closely vias are placed between the connector pads, in next version that will be avoided - by adding safe zones between all pads.
-
Resistor value changed from 4K7 to 10K, suggested as the EEPROM is CMOS and not TTL.
-
EEPROM rotated so it has same orientation as the other IC (stupid yes, but important to some like me)
-
Changed PCB from 4 to 2 layers (Only used 4 to reduces the number of vias created between pads)
With these changes version 1.1 of this little PCB ends up like this:
![]() |
![]() |
And here how it looks like when build and attached to a ZX Spectrum
![]() |
![]() |
The W27C512 EEPROM can contain 4 x 16Kb images - selectable with the switch, forming the binary number 0-3 of the bank active.
For Windows
COPY /B ROM_3+ROM_2+ROM_1+ROM_0 IMAGE.BIN
Use your favorite (E)EPROM programmer to transfer the IMAGE.BIN to the EEPROM
LEFT|RIGHT
OFF | OFF - 0: ROM_0
OFF | ON - 1: ROM_1
ON | OFF - 2: ROM_2
ON | ON - 3: ROM_3
Only small changes to v1.2 of the board, which I think now can be considered final.
- Changed from pull-ups to pull-downs, to match actual behaviour of DIP-SWITCH (up = 1/ON/HIGH, down = 0/OFF/LOW)
- Made PADS 2mm longer, as some connectors might have issues with the smaller size
SCHEMA | PCB |
---|---|
![]() |
![]() |
The W27C512 EEPROM can contain 4 x 16Kb images - selectable with the switch, forming the binary number 0-3 of the bank active.
For Windows
COPY /B ROM_0+ROM_1+ROM_2+ROM_3 IMAGE.BIN
Use your favorite (E)EPROM programmer to transfer the IMAGE.BIN to the EEPROM
LEFT|RIGHT
OFF | OFF - 0: ROM_0
OFF | ON - 1: ROM_1
ON | OFF - 2: ROM_2
ON | ON - 3: ROM_3