6502 -> 65816
What is it?
This projects tells you how you to make a very small module so you can replace a 6502 with a 65816. Except de-soldering your 6502 (if needed at all), no other soldering to the original board is needed.The (dis)advantages of replacing your 6502
I received emails like: "I replaced my 6502 but my system didn't become faster?" and "How can I address 16 MB?" So before you start to grep your soldering iron, ask yourself: "Do I need this modification?"First remark: 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 it is as fast as a 6502. So no gain here either.
Second remark: The 65816 has more opcodes. And the new ones replace some so called "illegal" opcodes. So if you run programs using these illegal opcodes, you certainly will run into trouble sooner or later.
Third remark: The 65816 is capable of addressing 16 MB. But it needs extra hardware to be able to do this trick! And I'm very sure that a regular 6502 system does not have this hardware.
Disadvantage:
- except not to be able to run the original illegal opcodes, none AFAIK.
Advantage:
- You are able to learn how to use the extra features and opcodes on a system you're familiar with.
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 uP, 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 CLK2The 65816 lacks the CLK1 and CLK2 clocksignals so we have to provide them ourselves. That's where two 74F04 invertors comes 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 ommit the resistors and connect these inputs directly to +5V (pin 8) when the resistors are mentioned during the construction.
The 65816 has no SYNC or equivalent but we have to supply this output with a level and IMHO the safest level is (L). AFAIK the only system using SYNC is the KIM-1 and the Elector Junior.
The 65816 also lacks the SO-input. The only systems I know of using the SO-input are some of the C= drives like the 1541.
The module
You only need:- 2 40-pins IC-sockets
- one 74F04
- two 10K-resistors
- some non-flexible wire
- and a 65816 of course
- 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 soldertip 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.
Schematics
Using the complete 16 MB range
Please see: 65SC816.Having questions or comment? You want more Info?
You can email me here.