As much as I like the Ben Eater breadboard approach, I think I am too clumsy to make these setups work reliably. They always start failing after some time, especially when I want to try some new ideas. Which is extremely frustrating. I decided to reduce my rig to something more reliable. I am using the 6502ctl software for the MEGA 2560 board to emulate ROM and RAM and to clock the CPU. I have an extremely useful adapter that can simply be clipped onto the IC. I found it in a dusty parts bin. I have no idea where to buy these things today, drop me a mail if you know more. Clip adapter

From there it is connected to the MEGA 2560 with jumper cables.

The 6502ctl software answers all read accesses to the bus. This is not what I want, since my idea is to connect peripherals to the bus. So I modified the software to have 4k of emulated RAM at 0x8000 and 16k of emulated ROM at 0xC000. To get my 6502 binary into the emulated ROM I compile it in. For this there is the header file 6502rom.h. To generate the header file, there is the xxd command:

xxd -i < 6502rom.bin > 6502rom.h

6502ctl is controlled via the Arduino serial monitor:

6502ctl:
    s to step
    c to continue
    b to break
    r to reset

My modified version is available from the ZeroMips Github.

Next steps in the plan:

  • Get the Xosera video board working
  • Use the Romulator for hardware RAM/ROM emulation