# RC2014

The RC2014[1] is a nice and minimal z80 system that has the
advantage of being available in an assembly kit. Assembling it
yourself involves quite a bit of soldering due to the bus
system. However, one very nice upside of that bus system is that
each component is isolated and simple.

The machine used in this recipe is the "Classic" RC2014 with an
8k ROM module , 32k of RAM, a 7.3728Mhz clock and a serial I/O.

The ROM module being supplied in the assembly kit is an EPROM,
not EEPROM, so you can't install Collapse OS on it. You'll have
to supply your own.

There are many options around to boot arbitrary sources. What
was used in this recipe was a AT28C64B EEPROM module. I chose it
because it's compatible with the 8k ROM module which is very
convenient. If you do the same, however, don't forget to set the
A14 jumper to high because what is the A14 pin on the AT27 ROM
module is the WE pin on the AT28! Setting the jumper high will
keep is disabled.

The goal is to have the shell running and accessible through the
Serial I/O.

You'll need specialized tools to write data to the AT28 EEPROM.
There seems to be many devices around made to write in flash and
EEPROM modules. If you don't have any but have a Arduino Uno,
take a look at doc/hw/arduinouno.

# Gathering parts

* A "classic" RC2014 with Serial I/O
* An AT28C64B and a way to write to it.
* A FTDI-to-TTL cable to connect to the Serial I/O module

# Build the binary

Building the binary is as simple as running "make" in
/arch/z80/rc2014. This will yield "os.bin" which can then be
written to EEPROM.

This build is controlled by the xcomp.fs unit, which loads
blk/618. That's what you need to modify if you want to customize
your build.

# Emulate

The Collapse OS project includes a RC2014 emulator suitable for
this image.  You can invoke it with "make emul".

# Running

Put the AT28 in the ROM module, don't forget to set the A14
jumper high, then power the thing up. Connect a FTDI-to-TTL
cable to the Serial I/O module and identify the tty bound to it
(in my case, "/dev/ttyUSB0"). Then:

    screen /dev/ttyUSB0 115200

Press the reset button on the RC2014 and the "ok" prompt should
appear.

[1]: https://rc2014.co.uk
