- A MOS Technology 8501 compatible CPU for your Commodore TED computer
- Uses a standard 6502 and standard electronic components
- Compatible CPU port, works with original KERNAL and fastloaders
Introduction
A few chips by MOS Technology have high failure rates. These chips have been reported to have been manufacturerd in a fab from Frontier Semiconductor, a chip manufacturer that Commodore did acquire in the early 80s. One of the chips that has a very high failure rate is the MOS 8501 CPU. This is the CPU used in the TED series computers, i.e. the Commodore 16, Commodore 116 and Plus/4. If you have a TED series computer that starts with a black screen, there there is a high chance that its 8501 CPU is deceased.The 6502to8501 is a device that allows you to use a 6502 CPU in your Commodore TED series computer, it allows you to bring a dead computer back to life. The device is an adapter that interfaces a 6502 to the 8501 signals with 74xx bus transceivers in between in order to implement the AEC funcitonality. Also, the CPU port is implemented with standard 74xx logic chips. A GAL16V8 is used as a controller for the CPU.
An NMOS 6502 CPU is required for a compatible replacement. Allthough NMOS 6502s are no longer produced, availability and pricing of them is good, allowing for a cost-effective CPU replacement. There exist 8501 replacements based on FPGAs but these are often expensive and many FPGAs have been discontinued in the past years, requiring continuous updates of the design.
All parts of the 6502to8501 are still in production (even the GAL, ATF16V8), but more important, they can easily be found on the secondary market. It is quite plausible the 6502to8501 can still be built 20 years from now.
Questions and answers
Q: What type of GAL should I use for the 5801 controller?A: 15ns or 25ns have been tested, but other speeds may work.
Q: Can I use both Lattice Gal16V8 and Microchip ATF16V8?
A: Yes, GALs from both vendors work fine.
Q: Is there any preference for the 74xx chips?
A: Experiments have been done with 74HC(T) and faster chips. The HC(T) chips got the best results, but faster chips did produce working CPUs as well.
Q: Do I need to a modified KERNAL?
A: No, this is exactly the point of the 6502to8501: It is compatible with the original 8501 and therefore does not need a modified KERNAL.
Q: Do games with custom disk loaders work?
A: Yes, this is exactly the point of the 6502to8501: It is compatible with the original 8501 and therefore games with custom loaders work just fine.
Q: Does the 6502to8501 fit into the Plus/4?
Yes, but it is extremely tight. You may want to omit the 6502 socket and solder the 6502 directly in order to have a little bit more margin in the Plus/4.
Schematics
Download the schematics:5801 controller
The brain of the 8501 CPU replacement is the 5801 CPU controller. It tells the transceivers on the board to switch on or off and tells the register of the CPU port to latch at the right time. Why 5801? Well, the 5801 CPU controller is implemented by a GAL16V8 or GreenPAK SLG46620. In MOS Technology product numbers, chips with a model number 5000 range were gate arrays. For example the CIA replacement in the C128DCR 1571 is a 5701. The chip in the Commodore 1351 mouse has model number 5717 and Amiga Gary has number 5719. Considering that a GAL is about arrays, a number in the 5000 range fits well with MOS Technology chip numbering, and 5801 is 8501 with two digits reversed.The reason that I document the 5801 controller separately is that its capabilities aren't restricted to building 8501 CPUs. You can use the 5801 to build a 6510/8500, 8501 and a 8502. It can be used to build CPU replacements, but I can also imagine a modern TED/C64/C128 mainboard with a 6502 socket rather than custom CPU socket. This will make it way easier to find parts and as the required parts to build a CPU are easily available in through-hole packages, this will accomodate amateur construction of computers and facilite availability of low-cost parts.
The block diagram for a CPU would look as follows. We are now assuming a hard wired data direction register like the 6502to8501 adapater:
However, in case a fully functional data direction register is used, the 5801 controller can be used as well and the implementation of the CPU port can be changed as follows:
In summary, the 5801 controller is a very fexible component for a CPU solution for Commodore 8-bit computers.
You can download the following file:
8501_CONTROLLER_V2.PLD | This include file contains the CUPL code that implements the 5801 controller. |
8501_CONTROLLER_V2.jed | JED file to program into a GAL16V8 chip. |
Old version: 8501_CONTROLLER_def.PLD | This include file contains the CUPL code that implements the 5801 controller. |
Old version: 8501_CONTROLLER_def.jed | JED file to program into a GAL16V8 chip. |
5801_controller.gp4 | GreenPAK SLG46620 design file. This file is both the "source code" as well as the file you need to program an SLG46620. |
The difference between the "V2" version and the "def" version of the 5801 firmware is that the "V2" version makes the internal AEC react to the GATEIN pin, just like a real 8501 does. The "V2" firmware does not solve any known compatibility problem, therefore there is no need to upgrade your 5801. The GreenPAK version of the 5801 is equivalent to the V2 version.
I have written a manual that documents the 5801.
Obtaining a PCB
You can order PCBs from me or produce them yourselves. I have uploaded the Gerber files to PCBWay, you can order the PCB here: PCBWay: MOS 8501 CPU replacement If you order from PCBWay, I will receive a small donation from PCBWay so you will support me that way. However, if you really want to manufacture the PCB somewhere else, I have enabled the Gerber download button on PCBWay, so you can download the Gerber files there and produce it at the PCB manufacturer of your choice.Obtaining a CPU
I am selling the prebuilt 6502to8501 on SellMyRetro. Please make your choice:If you are interrested in a 6502to8501 soldering kit for your Commodore TED computer, please fill in the following form. Or, if you prefer not to use SellMyRetro and want a prebuilt CPU, you can also use the form:
Contact
Do you have any questions or would you like to contact me for some other reason? You can e-mail me at daniel.mantione at freepascal dot org, or use the following form:Thanks
The 6502to8501 is loosely based on a design by Ruud Baltissen His design did use a MOS 6522 to implement the CPU port. The 6502to8501 improves on that design by not requiring a 6522, and using a separate CPU controller rather than a few 74xx chips to generate control signals. The CPU controller makes it possible to mimic the behaviour of the 8501 more accurately.(C) 2023 by Daniël Mantione