SD Memory Dump

The SD Memory Dump Module is a way to either dump the memory of the RC2014 to a file on SD card, or to dump the contents of a file on SD card to the RC2014 memory. Whilst it can easily be used with a regular RC2014 with 8k ROM and 32k RAM, it supports the full 64k of address space and can therefore be used with a ROMless 64k RAM RC2014 and is particularly useful for development of new ROM images.

In order to reduce complexity and cost, the brains of the SD Dump Module comprises of an ATMEGA328 (ie Arduino) and a generic Chinese SD card module. It takes advantage of the BUSACK and BUSREQ pins on the enhanced RC2014 bus, although as the backplane to support this is not currently available, it needs a couple of jumper cables running back to those pins on the CPU Module.

Please note that whilst this is functional, the firmware is currently at a very early stage.

Save

If the Load/Save jumper is in the Save position when Go is pushed, the sequence of events runs as follows;

The NOR gate latch connected to the BUSREQ line causes the line to go low

When the CPU has finished it’s current instruction, it releases control of the bus

The CPU sets the BUSACK line low to acknowledge that it has relinquished control

Note1 – an anolog pin is used as an input select. This is connected to a 10k pot as a voltage divider. Theoretically, this will give 1024 different input values, although practically, 7 would be a lot more reasonable (which would correlate to the direction of the pot pointing SW, W, NW, N, NE, E, SE). This could be interpreted as one of seven different files to load or save – although, at time of writing, this has not been implemented.

Note2 – When used in a RAM only RC2014, the RAM will be in a totally random state when powered up. The CPU starts to execute code from address 0x0000, which could be absolutely anything. Therefore, when an image is loaded in to RAM from SD card, the CPU may have already done things like set a random reset procedure and other stuff, so it is not guaranteed that this will work. Testing indicates that this is successful about 1 time in 3. Any suggestions on how to improve this are greatfully received!

Note3 – The 6 pin right angle FTDI header for programming the ‘328 must be soldered to the reverse of the PCB before the 28 pin socket is fitted. There is no jumper to isolate the power from the FTDI cable though, so either the RC2014 should be powered from the FTDI connector, or the card removed for programming, or jumper cables for Ground, Tx, Rx & RTS to be used between this module and FTDI cable.

Note4 – The Load/Save pins and jumper can be replaced with a right angle toggle or slide switch that has it’s terminals at 0.1″ pitch.