Hardware

Interfacing the Arduino Nano to the MPU is really easy using the J5 connector on the board. The J5 connector is at the top of the board and it was originally meant as a diagnostic port. It contains access to all the lines needed except for the IRQ line. The lines used by this project are the following (J5 Pin # in parentheses, and followed by the hookup to the Arduino Nano Pin):

  • Ground (31) - Nano GND
  • +5V (30) - Nano VIN
  • Theta 2 - clock (27) - Nano Pin 4
  • VMA (26) - Nano Pin A5
  • HLT (24) - Nano Pin A6
  • R/W (23) - Nano Pin 3
  • A0 (22) - Nano Pin A0
  • A1 (21) - Nano Pin A1
  • A3 (19) - Nano Pin A2
  • A4 (18) - Nano Pin A3
  • A7 (15) - Nano Pin A4
  • D0 (8) - Nano Pin 5
  • D1 (7) - Nano Pin 6
  • D2 (6) - Nano Pin 7
  • D3 (5) - Nano Pin 8
  • D4 (4) - Nano Pin 9
  • D5 (3) - Nano Pin 10
  • D6 (2) - Nano Pin 11
  • D7 (1) - Nano Pin 12

In addition, I ran a jumper from the CPU socket pin 4 (IRQ line) to the Arduino Pin 2, and I ran jumpers to connect J5 Pins 10, 11, 12, and 13 (A12-A9) to ground so I could guarantee that I was only accessing the PIA chips.

This project only accesses the MPUs PIA chips (U10 & U11). It doesn't use or need the RAM or ROM on the MPU board.

Prototype board - there's a header at the bottom of this that plugs into J5 pins 9-32. The little molex off to the side is for D0-D7. The single jumper that comes off is for the IRQ line, which is pulled from U9 pin 4.

This is the wire side of my prototype. Stop judging me - when I built this, I had no idea if this would all work so I didn't spend much time on it.

Wiring diagram:

With a genuine Arduino Uno, this board should cost under $30 USD to make. With a clone, the price is easily under $10 USD. Any pins on J5 that are not listed are unimportant and don't need to be wired to anything.

Continue on to an Overview of the MPU >

Previous
Previous

Replacing the M6800 with an Arduino Nano

Next
Next

Until the Sun Goes Down