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:

prebuilt 6502to8501


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:

.
Name:
E-mail address:
How many 6502to8502 kits would you like to buy:
€12.00 per piece
How many prebuilt 6502to8502 adapters would you like to buy:
€30.00 per piece
Please include the 6502 CPU(s)
€6 per CPU
Your postal address:
(if you have a personal comment, you can write that here as well):
Shipment costs are at the moment €5 within EU, €6,50 Europe non-EU and €11 rest of the world. I will normally send a payment request via Paypal (or Tikkie when in the Netherlands). If you would like to pay through IBAN bank transfer, please mention.

WARNING: Please note that the 6502to8501 is not a soldering project for beginners! The project uses SMD components and building a CPU consists of a large amount of solder joints. A single broken joint will often cause a non-working CPU. I highly recommend that you buy an assembled CPU before you try to build one yourself! If you ruin a component, I will send you a replacement for a friendly fee, however, if you decide to build a CPU yourself, you may want to consider to buy at least two of them so you have spare parts in case you mess up.

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:
.
Name:
E-mail address:
Your message:

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

Go to www.freepascal.org