Skip to content

PickledDog/rc-rom

Repository files navigation

rc-rom

ROM card for RC2014 Assembled PD104 (version 1.0 shown, current version 1.1 has a second LED for paging status)

Overview

This RC2014-compatible board provides ROM from an EPROM or EEPROM, with 8k/16k/32k granularity. The ROM can be paged out and replaced by RAM, when combined with a compatible RAM card. A user-controllable LED is also provided.

ROM

This board provides ROM to a RC2014 system. It does not provide RAM, but can interact with a compatible RAM card. The official RC2014 64K RAM card is supported, as is the PD101 board, which it was designed in tandem with.

Paging

Paging (the ability to replace the ROM with RAM) is implemented using the PAGE signal in the RC2014 Enhanced Bus. This is the only Enhanced Bus signal required - if you're using a Standard Bus backplane (or don't intend to install a two-row header), a wire can be used to link the page signals between this board and the RAM (the pin in question is #4 of the 10 Enhanced pins).

If the PAGE signal cannot be connected, any RAM in the system will need to be configured to not appear in the lower memory addresses used by the ROM - consult the documentation of the RAM board. PD101 cannot selectively disable memory like this, and requires the PAGE signal in order to work with this board. Alternatively, PD106 can be built instead of this board, since it has RAM built-in and doesn't require the Enhanced bus.

Software compatibility

The board presents two I/O devices to the system - the LED at base port 0x08, and the ROM paging at 0x38. The LED appears at the same address as the LED of the SC114 Motherboard, and the ROM control address is common to most Z80 retrocomputers (the official RC2014 RAM/ROM cards included). As such, this board is compatible with most SC114 software, as well as Grant Searle's CP/M loader. LED is active low (lights by default) - writing a 1 to 0x08 turns it off. Writing a 1 to 0x38 disables the ROM.

Chip support

The board supports 27C64, 27C128, 27C256, and 27C512 EPROMs, as well as 28C64 and 28C256 EEPROMs. Other chips with similar pinouts will probably work, but are untested. 150ns parts (like most 28C256s) are running at the edge of their specification in a standard 7.3Mhz system, and may require lowering the CPU clock. The 27C256, 27C512, and 28C256 can be purchased new.

Firmware

Most (if not all) RC2014 ROM images can be used unmodified (selecting the right images for your serial board, of course). Stephen C Cousins' excellent Small Computer Monitor can be used as well - all of the R* configurations are supported. You will need an EPROM programmer (for example, a TL866) to load the ROM images onto a chip.

Jumper settings

Refer to the front of the board for detailed jumper setting instructions.

Jumpers Settings

Part selection

Bill Of Materials and part references are below. In order to make the 50-pin RC2014 Enhanced bus connector, you'll need to take a 2x40-pin right-angle header and pull out most of the pins from the top row (needle-nose pliers work well). I recommend using gold-plated header for this - I use these ones from Pololu or Sparkfun. The jumper headers can be snapped from regular (or double-row) breakaway header, for which eBay is substantially cheaper; the Mouser listings are provided for convenience.

The specified parts are just the ones I used, and can be substituted as needed - Mouser links provided for convenience and reference. A ZIF socket can be used for the EPROM - these are best sourced from eBay.

Reference Value Qty Mouser link
C1-C4 100nF ceramic 4 KEMET C315C104M5U5TA
D1 3mm yellow LED 1 Lite-On LTL-4251N
D2 3mm green LED 1 Lite-On LTL-4231N
J1/2 2x40 right-angle header 1 3M 2380-5121TG
JP1/2 2x3 header 1 Amphenol 10129381-906002BLF
JP3/4/5 3x3 header 1 Samtec TSW-103-07-L-T
JP6 2x2 header 1 Amphenol 10129381-904002BLF
jumpers 7 Harwin M7583-46
R1, R2 10kΩ resistor 2 Yageo CFR-25JT-52-10K
R3, R4 470Ω resistor 2 Yageo CFR-25JT-52-470R
U1 EPROM 1 (see above for EPROM choices)
socket 1 Amphenol DILB28P-223TLF, or above ZIF
U2 74HCT138 1 TI SN74HCT138N
U3 74HCT74 1 TI SN74HCT74N
U4 74HCT4075 1 TI CD74HCT4075E

Releases

No releases published

Packages

No packages published