I have been thinking about what else I want to achieve with this year’s Retro Challenge.
Apart from designing a PCB to interface rotary encoders to my RC2014 computer, I wanted to be able to use them from software. I have used BASIC for my testing so far, but I also want to look at using Z80 assembly language.
To use Z80 assembly language on my RC2014 Classic 2, I have a few options.
- Use BASIC to load and execute a hex dump of the my assembled Z80 code.
- Use SCM to load and execute a hex dump of my assembled Z80 code.
- Burn my assembled code into a ROM and run that directly on the RC2014.
The ROM board for the RC2014 Classic 2 has the ROM chip socketed. If I wanted to use my own ROM image I can lift this out and replace it. However, the board is low down and I would need to also remove the board from the RC2014 backplane. This would add mechanical wear and tear.
I have a similar problem if I want to switch between ROM images. For example, from BASIC to SCM, or to my own custom ROM image. There are jumpers on the ROM board, but I would need to lift the board from the backplane to be able to swap them.
So, what is the solution?
Well, Spencer does have an RC2014 riser card available on the Z80 Kits website to lift the board above the other cards. This makes it possible to reach the jumpers, but still difficult to remove and replace the ROM.
After writing about designing the PCB for the rotary encoder, I thought I could just build my own ROM card. What I want my new ROM board to achieve is…
- Use a ZIF (zero insertion force) socket for the ROM so I can easily remove and replace it.
- Use switches instead of jumpers for the ROM select so I can easily change which part of the ROM the RC2014 is seeing.
- Have the ZIF and switches above the other boards so I can easily access them.
The circuit design of the ROM board is essentially the same as the original ROM board, just with some pull down resistors near the address switches. The board height will be the same as a standard RC2014 board.
I couldn’t find a DIP package with 3 switches in the EasyEDA library, so I have used a 6 pin socket in the design which should have the same footprint.
Here is my PCB layout.
I have sent this off to JLCPCB to be manufactured. The cost including delivery was just £2.53 using their 10 to 14 day delivery option. I’m not in a rush for this board, so I think that is a fantastic price. There is also a $2 discount at the moment, so that also reduced the cost.
I am expecting the board to arrive towards the end of the month but this won’t stop work elsewhere in the project.