ROM updates & working with EPROMs
The ROM's in the C64 and the original 1541 models are 24 pin and are not directly pin compatible with burnable 2764 EPROMS. In order to upgrade to a newer ROM revision or change the ROM to something else and use a 2764 EPROM, a socket adapter must be built. See here for detailed instructions.
To erase an EPROM you will need a UV eraser. Typically EPROMs need about 3 minutes to erase. You can check them on the burner to see if they are indeed erased, If not, re-erase them for 1 minute increments, checking after each erasure session until they show erased.
To burn an EPROM requires an EPROM programmer. I will not attempt to document how to burn an EPROM as each programmer is unique and the instructions vary greatly. The one I use supports the Motorola S19 format, a text-only format with checksums.
Some notes about EPROMs and burners:
- A handy drive command for obtaining the drive DOS revision is U9. From Star Commander, select F2 (User Menu), and choose user command and send a U9. You will receive back the drive DOS revision. This is especially good if you've replaced the drive kernal ROM with something else and want to verify that the upgrade worked.
- When an EPROM is erased and ready to burn all the bits are set to 1 so all bytes will read as FF.
ROM Chart
The ROMs below are the latest versions for the C64's and drives. The BINARY files are raw format images (without load addresses) and the S19 files are also provided if you want to burn them and you have an EPROM programmer that supports the S19 format.
| Model | Type | Size | Replacement EPROM Type |
ROM Number | Download Format |
| C64 | CHAR SET BASIC KERNAL |
8Kb | 2764 + socket adapter | 901225-01 901226-01 901227-03 |
Binary or S19 Binary or S19 Binary or S19 |
| C64C | BASIC & KERNAL | 16Kb | 27128 | 251913-01 | Binary or S19 |
| 1541 | DOS KERNAL |
8Kb |
2764 | 325302-01 901229-05 |
Binary or S19 Binary or S19 |
| 1541-II | DOS & KERNAL DOS* KERNAL* |
16Kb 8Kb 8Kb |
27128 2764 + socket adapter 2764 + socket adapter |
251968-03 for the 1541 for the 1541 |
Binary or S19 Binary or S19 Binary or S19 |
| 1541C | DOS & KERNAL | 16Kb | 27128 | 251968-02 | Binary or S19 |
| 1571 | DOS & KERNAL | 32Kb | 27256 | 310654-05 | Binary or S19 |
* The 8Kb split versions of the 1541-II ROM's are for use in an older 1541. Apparently, you can use these in the older drives and it makes the drive more reliable as most of the save-@ and REL bugs are gone. I have not verified this yet.
ROM & EPROM Pinouts
These charts show the pinouts of the various EPROMs that are common on Commodore equipment.
![]() |
![]() |
|
| 2364, 8Kb PROM | 2764, 8Kb EPROM | 27128, 16Kb EPROM |
![]() |
![]() |
![]() |
| 27256, 32Kb EPROM | 27512, 64Kb EPROM | 27010, 128Kb EPROM |
The 2364 is the same pinout as the 24-pin ROMS used in the original C64 and 1541, like 901227-0x (KERNAL in the C64) or 901229-0x (KERNAL in the 1541). In order to use a 2764 in place of one of these ROMS, an adapter socket is needed. The instructions to build one are here.
The pinout differences between the 2764 to 27512 are not extensive, mainly extra address lines that need to be dealt with. This makes installing larger EPROMs easy to do as you only need to deal with switching in/out the extra address lines.
The 27010 is a 128Mb EPROM which is in a 32 pin package. This makes it a little more difficult to deal with as you need a larger socket and there are more pins/wires to jumper.
Email the author: Peter Schepers | Last updated: July 2, 2009





