Commodore Eprom Programming Tutorial

7 min read

Deviation Actions

ChickenGeorge88's avatar
Published:
1.3K Views

I hope to shed some light on the process of burning Microchips for the Commodore Machines. I am still a novice, but have successfully fixed an issue I had with my Commodore Plus 4 computer, and would like to share some of the steps I used.

The built in 3+1 software on my machine did not function.

The problem could have been many things.

The chips might not have good contacts, or could other chips be failing.

You could pull them out and clean the sockets with contact cleaner.

Also clean the pins of the Rom chips with a brush and IPA.

In my case it turned out to be faulty chips.

These chips are labeled:

317053-01 and 317054-01,

Commonly referred to as the 3+1 Low Rom and 3+1 High Rom.

Tut-pic-05

You must use care when pulling your chips from their sockets so as not to damage the chip in the process. You can get a tool that is designed to pull the chips from each side. I didn't have this so used a sheet of paper folded thinly to fit underneath the microchips. If you use something like a flat head screw driver to nudge up each side, you risk damaging the board underneath. The folded paper trick lifts the whole chip at the same time.

Tut-pic-06

After cleaning and resetting my 3+1 software still did not work so ordered an eprom burning to make a new version of these microchips. The cheapest and most commonly used today was the Minipro tl866. I had to go to their website and download a driver for the Minipro dongle and the software to run the program. At first I downloaded the wrong versions of each. When you get the Minipro be sure to get the very latest driver and software that is compatible. Or it won't work.

Next thing to get is some blank microchips. These usually come from China. I went to my local Electronics store and they happened to have some ST M27C512 chips. The number on the end, the 512 determines how much information can be stored on the chip.

If I had known better I would have also ordered some 128s (because I have a program that isn't working with the 512s.)

Anyways you may want to someday make some game cartridges for your Commodore. I needed the wonderful Diag264 to diagnoses my Plus 4 and downloaded the .Bin file from: http://www.inchocks.co.uk/commodore/Diag264/

In such a case you can burn the diag264 to a chip and place it into the pcb of a cartridge board. You can order some for the TED series computers from:

https://github.com/SukkoPera/OpenC16Cart

This great board allows you to rearrange some headers in order to switch which program is loaded into your Commodore when turned on.

Tut-pic-07

If you have a 27C512 chip you can still use the following steps to burn diag264 to them.



If you have 27C128, or 27C256 or 27C512, you can burn 1, 2 or 4 16k programs to them.

The information you burn into one of these chips is in a BIN file. You have to google which program or Rom you need. Download it.

You may get several of the BIN files from:

http://www.zimmers.net/anonftp/pub/cbm/index.html

That is where I got the 3+1 Low and High Roms.

Both of which were 16k in size.

Since I had to fill a 27C512 chip with 64k worth of data,

I needed to change some things.

16k won't work.

If you have a 27C128 chip then move on to the burning part of this tutorial

You have to increase the size of the BIN file in order to successfully burn it to chip.

How do we do this?

The way I did it was using DOS. Or in my case Dosbox, since I didn't have a Windows dinosaur.

https://www.dosbox.com/

03-DosBox1

Dosbox is a DOS emulator. With a simple command I was able to double the BIN file until it was 32k. Then I went on to double it again to 64k. But first I made a folder near the C: folder and renamed the bins to something smaller. So it was easier to type out the command in Dosbox.

01-filename
02-renamed

The command I used Adds the file to itself, which doubles it up to 32k in size.

copy /b 31low16.bin+31low16.bin 31low32.bin

The last name 31low32.bin is what to call the newly created file.

04-DosBox2
05-resultfile1

Repeat this for a 64k BIN file.

06-DosBox3
07-resultfiles2

Then I did the same with the high ROM.

08-DosBox4
09-resultfiles3

If you are wondering if there are now four version of the low and high bins in the 64k versions, the answer is yes. But so what? The Commodore doesn't care.

Now I had 64k versions of the 3+1 Low and High Roms. The next step was to burn them to the chips using the Minipro eprom burner.

Each chip has a notch indicating which side of the chip is pin one. You'll see the notch at the side. It must be placed in the Eprom tray with the chip toward the handle that opens and closes the tray.

Once I installed the correct driver and had the correct version of the program, and once I had plugged in the Minipro dongle, that's when I placed the chip into the tray.

If you have the wrong driver the LED on the dongle will flash continually when it is plugged in. But will stay on when the driver is correctly installed.

Tut-pic-02

Opening the program.

10-minipro1

First thing I did was select which microchip I was using, in my case an ST brand, and m27c512. If you don't see your brand of chip you will have to find out which one is compatible and untick the check ID.

10-2-minipro-selectchip

The next thing I did was blank check the chip. Don't read the chip as I heard it could add data to the chip prematurely. Blank checking is to make sure China didn't send you one occupado.

14-minipro-blankcheck
15-minipro-blankcheck2

I got an OK. Next I loaded my 64k Bin file. I first loaded the Low Rom version to burn to the chip I presently had in the Eprom.

11-minipro2openfile1

File/Open. Navigate to file. Select file.

12-minipro2openfile2

A window told me that it was a Binary file. It was so OK.

13-minipro-pre1

I could see in the left window the file had been loaded. That stuff you can usually see in a HEX editor. Nice. Now it was time to burn. I clicked on Device and Program.

16-minipro-program1

When the window popped up I clicked Program.

17-minipro-program2
18-minipro-program3

Afterward I verified if the burn was successful.

20-minipro-verify1
21-minipro-verify2
22-minipro-verify3

That was it. Next I took out the burned chip, set it aside, got another one out, placed it in the tray, locking it in place, and burned the High Rom. Basically I repeated the same steps for the high Rom. Once each chip was burned I placed a label over the tiny window in the center of the chip. This is to prevent the chip from being erased by the sun. Or cosmic rays. Or something. It would take several days of direct sunlight to do it. The usual method of erasing these chips is to make a tiny mirror reflecting box that has a UV bulb installed. Don't stare at the UV bulb or you'll go blind. To prevent accidental loss of data on the chip, place a label or sticker over the tiny window.

Afterward I set them into the sockets on the Commodore Plus 4 board where the old chips used to be.

Tut-pic-04
Tut-pic-08

Again I am still learning the basics of Eprom programming but thought I would share what I could, since I had a real hard time finding the information.

From here I went on to burn several cartridges for the Commodore Plus 4. The first was a Diag264, and this was the 16k bin quadrupled to 64k.

But got adventurous and decided to burn four programs to one chip. These were Basic 7, Jack Attack, Viduzzles, and Micro Illustrator. This was what my tutorial was originally going to be about but the Basic 7 did not startup. The other three programs started up fine.

Using the OpenC16Cart pcb board you can change around the headers to tell the Commodore which program on the chip you want to run.

In Dosbox I used the same command to double the size of the bin files.

Like:

copy /b basic7.bin+microill.bin comb1-32.bin

copy /b viduz.bin+jack.bin comb2-32.bin

copy /b comb1-32.bin+comb2-32.bin final64.bin

Then I burned final64.bin to the chip. Every program started up except basic7. :(

Which was the only one I cared about.

Why is there a low and high rom? what about 32k programs?

Go to OpenC16Cart's Github to find out more.

This is as far as I got and hope you find it helpful.

© 2020 - 2026 ChickenGeorge88
Comments0
anonymous's avatar
Join the community to add your comment. Already a deviant? Log In