Ruud's Commodore Site: 6502 -> 65816 Home Email

6502 -> 65816

What is it?

This project tells you how you to make a very small module that enables you to replace a 6502 with a 65816. Except desoldering your 6502 (if needed at all), no other soldering on the original board is needed.

The (dis)advantages of replacing your 6502

I received emails with questions like: "I replaced my 6502 with 4 MHz 65816 but my system didn't become faster?", "How can I address 16 MB now?" and "Some programs crash my computer, how can?" So before you start to grasp your soldering iron, ask yourself: "Do I need this modification?"

First answer: Replacing a 1 MHz 6502 with a 4 MHz 65816 does not mean that the system suddenly becomes four times faster: a 65816 is as fast as the clock it is fed with!
I have studied the specs of the 65816 to see if it did optimize some opcodes. But IMHO it didn't so IMHO it is as fast as a 6502. So no gain here.

Second answer: The 65816 is capable of addressing 16 MB. But it needs extra hardware to be able to do so. And I'm very sure that a regular 6502 system does not have this hardware on board. Therefore such a system won't be able to address memory or I/O above the 64 KB barrier.

Third answer: The 65816 has more opcodes. And the new ones replace some so called "illegal" opcodes. Running programs using these illegal opcodes will get you into trouble sooner or later.

- except not to be able to run original illegal opcodes, none AFAIK.

- You are able to learn how to use the extra features and opcodes of the 65816 on a system you're familiar with.
- once familiar with the 65816, you can think about expanding your system with some extra hardware so it can use all the features of the 65816.

FYI: I replaced the 6502 of a VIC-20 with a 65816, added some extra logic and now it is able to handle PC 8-bits ISA-cards!

The story

In 1985 I could lay my hands on a 65816 processor. During my first experiments to replace the 6502 of a VIC-20 with this CPU, it broke down :( In 1997 I could lay my hands on several 65816's for peanuts. So after 12 years I could resume my experiments. This resulted in a small module that you simply put in the place of the original 6502.

The differences

The main differences between both processors are:
Pin     65816   6502
---   -------  --------
 1      VP      GROUND
 3      ABORT   CLK1
 5      ML      NC
 7      VPA     SYNC
35      E       NC
36      BE      NC
38      M/X     SO
39      VDA     CLK2
The 65816 lacks the CLK1 and CLK2 clock signals so we have to provide them ourselves. That's where two 74F04 inverters come in view.
ABORT and BE are 816-specific inputs and only need a pull-up resistor. These resistors enable you to use these inputs later. If you are sure you don't need them, just omit the resistors and connect these inputs directly to +5V (pin 8) when the resistors are mentioned during the construction.
The 65816 lacks the SYNC output but if needed, it can be generated by using a 74LS08 AND gate. VPA and VDA should be its inputs and the output will be the needed SYNC signal. AFAIK the only system using SYNC is the KIM-1 and the Elector Junior.
The 65816 also lacks the SO input. The only 6502 systems I know of using the SO input are the Commodore drives with only one CPU like the 1541 and 2031.

The module

You only need:
  • 2 40-pins IC sockets
  • one 74F04
  • two 10K-resistors
  • some nonflexible wire
  • and a 65816 of course
One of the sockets has to be of the type with the rocket-shape pins (R-socket). If you understand Dutch: "gedraaide voetjes". The other one can be of the type with the two V-shaped metal tongues which grasp the pin of the IC (V-socket). The pins of this socket are as thick as the pins of an IC. It also can be of R-type as well but the intention is to use this socket to replace the original 6502 and the rather thick pins of the R-socket could stress the original socket the 6502 was placed in. If you have to desolder the 6502 and want to solder the module to the board, then there is no problem. An advantage of using two R-types is that they are easier to solder on top of each other in a later stadium of the project.
  • Cut pin 2, 8, 10 and 12 of the 74F04. These outputs are not needed.
  • Cut pin 3 to 7 as well but not too short, leave some 3 mm free.
  • Cut pin 1, 3, 5, 7, 35, 36, 38 and 39 of the R-socket, just the bottom small part!
  • Lay the R-socket on its back and lay the 74F04 on its back between the pins of the socket so that pin 14 of the 04 is near pin 8 of the socket and pin 7 of the 74F04 near pin 40 of the socket. Place the 74F04 with its pins 8/14 close to pins of the socket. You'll need the space on the other side later.
  • Connect pin 14 of the 74F04 with pin 8 of the R-socket. Do the same with 13 and 7, 11 and 5, and 9 and 3. These connections are needed to create a stable mechanical connection with the socket.
  • Bend pin 1 of the 74F04 to the middle of the IC.
  • Solder a wire to pin 7 of the 74F04 and connect it with pin 21 of the socket. Bend the wire so that it can be soldered to pin 1 of the 74F04 as well.
  • Use a wire to connect pin 3 of the 74F04 with pin 37 of the socket.
  • Solder a wire of 3 cm long in the HOLES of pin 1, 3, 7 and 39 of the SECOND socket. (The V-socket in my case)
  • First bend the wires flat on the socket.
  • Then bend the wire of pin 1 so that it pops up alongside pin 7 of the 74F04 if you place the first socket on top of the second.
  • Bend the wire of pin 3 of the V-socket so that it pops up between pin 4 and 5 of the 74F04.
  • Bend the wire of pin 39 of the V-socket so that it pops up between pin 6 of the 74F04 and the plastic carrier of the R-socket. (this why you needed the space mentioned above)
  • Bend the wire of pin 7 of the V-socket so that it lays alongside the wire going to pin 21 of the R-socket.
  • Place the R-socket on top of the V-socket and solder the pins to each other. This can be difficult using a V-socket. You'll need a fine solder tip for this work and a lot of patience.
  • Solder the wires to the pins of the 74F04:
    1  ->  7
    3  ->  4 AND 5 (!)
    39 ->  6
    7  ->  wire towards 21  (this connects SYNC to GND)
  • Solder a 10K resistor on the outside of the R-socket between pin 8 and pin 3.
  • Solder a resistor to pin 36 and connect the other end to the wire leading towards pin 8.
  • Place the 65816 in the R-socket and you're ready to use it.
Time needed: 2 hours.


Using the complete 16 MB range

Please see: 65SC816.

Having questions or comment? You want more information?
You can email me here.