65C816 for RC2014

A 65C816 CPU board for the RC2014 bus

Similar projects worth following
This board provides a 65C816 CPU for the RC2014 bus. I/O is mapped at $FE00-$FEFF and the glue logic generates the expected RC2014 signals (MREQ, IORQ, RD, WR etc). M1 is simply pulled high.

From a software perspective it should look identical to the 65C02 board except to 65C816 aware code and badly behaved stuff.

The basic design of the board is much the same as the 65C02 board combined with the standard glue used to attach 65C816 processors to a 6502. The big difference between the 65C816 and the 65C02 is the clocks. It also shares the obnoxious design 'feature' with the WDC 65C02 that is absolutely no hold on the data/address at the end of the bus cycle. (Classic 65C02 processors have 30ns).

To compensate for this U2 is used to generate a delayed clock which drives the processor. The original clock drives U3 which is used to drive the RD and WR signals. This ensures that RD and WR go high before the end of the bus cycle.

U2 and U3D generate the MREQ signal and usually the IORQ signal. It's possible to disable IORQ and this will be used for the protected mode MMU board. The NMI and vector pull signals are provided on a jumper for the MMU board.

The CPU speed you can reach will depend upon the other boards in the system. The banked memory card in particular is designed around a 7.3MHz Z80 processor and uses 55ns RAM as well as 74HC670 parts in the fast path.


PDF of schematic

Adobe Portable Document Format - 56.99 kB - 03/25/2020 at 22:33



Kicad PCB layout

x-kicad-pcb - 356.59 kB - 03/25/2020 at 21:09



Kicad schematic

x-kicad-schematic - 20.20 kB - 03/25/2020 at 21:09


  • 1 × 65C816 CPU
  • 2 × 74AHC00 Logic ICs / Gates and Inverters
  • 1 × 74HC688 Electronic Components / Misc. Electronic Components
  • 1 × DIP8 can oscillator
  • 1 × 10K resistor

View all 9 components

  • Fuzix now running

    EtchedPixels5 days ago 1 comment

    With a bit of poking around the current git head of Fuzix now runs as expected on the 65C816 board. Although it all runs in 6502 mode I've taken a moment to detect a 65C816 and add optimizations in fork() to use MVN. There are a few other spots that would benefit similarly that I need to look into.

    At the moment I am still running at 1.8Mhz. It should be possible to run a bit faster even with the current memory board.

  • Board Bring Up

    EtchedPixels03/25/2020 at 21:13 0 comments

    At the moment this board works with the 65C02 boot ROM as expected. Fuzix crashes early in user space because the userspace contains magic code to handle flat 65C816 mode that doesn't yet cope with finding a 65C816 operating in banked memory fashion.

    Other properly behaved stuff should all be fine.

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates