So I thought hey, lets have a go at making my own . . . and it works really well.
You can skip to the bottom for the PCBs, BOM and Instructions.
Picking likely candidate parts
The first thing I did was source some modern EEPROMS that I thought may work. I ended up getting some AT28HC64B EEPROMS. They are 5volt tolerant and can store up to 8K of ROM.
The second thing I got were some SOIC to DIP adapters to I could prototype and burn them and put on the 4K character ROM.
A really rough schematic
The next thing to do was to see how I could convert the AT28HC64B to match the pin out of a 2532. This is where data sheets are really helpfulDatasheet for AT28HC64B
Datasheet for 2532
In the end I came up with this. I did make some tweaks but it's essentially it. The main thing I did was ground OE in stead of tying it to CE.
Let's Burn!
The first thing I did was to just burn the C64 Character ROM to the chip. I did have an El-Cheapo burner but opted to get a more expensive GQ-4x4 for better 2532 support. It didn't burn my 2532 EPROMs, but I have a feeling they are not any good.I decided to use the upper 4K of the ROMs. The ROMS have addresses from 0 to 1FFF in HEX. This means I can put the ROM in two places 0 to FFF or 1000 to 1FFF.
The chips burnt and read correctly the first go. I was really impressed.
Making a 2532 EPROM
The next thing to do was to actually make it a replacement for the 2532 EPROM. I implemented my schematic on a breadboard. Then the big test. Could I read it back off of the chip using the 2532 Device instead of the AT28HC64 Device. I plugged it in and hey presto it worked.I dumped it out as a bin and did a binary compare on the read image with the c64 character rom image and it was exact.
Hold on to your chair it's testing time
I was pretty scared plugging this contraption in truth be told. In the end however it worked beautifully.PCB Design
My aim here is to create PCB small enough to fit in a socket and not interfere with anything and to create an adapter board so you can reprogram it with ease.Because it is an 8K EEPROM it would also be nice to be able to jumper the upper or lower 4K.
So here is my go at the 2532 PCB. The pair of jumpers on the right select the upper or lower 4K. The jumpers on the left are to put the EEPROM into Read only and Output mode.
You must remove all of the jumpers to write to the EEPROM via a special adapter which also uses the 3 pins at the top.
Here is the adapter board for programming.
Making the adapter board
The PCBs have arrived. I have enough parts to make the adapter board so lets make and test it!The adapter board allows you to burn the EEPROM using the AT28HC64B board profile in your EEPROM burner, if you were to try to burn it as a 2532 it would just catch fire!
I've soldered it up using a ZIF socket like so.
It fits very nicely into the EEPROM burner and as I'm waiting for some more AT28HC64B's I've used my prototype version
to try it out and it works very well. I did have to slow down the
burner to normal speed. I think this is because the wires that connect
to the breadboard are quite long.
I can't wait to try out the EEPROM board.
Building and testing the replacement TMS2532
Finally all of the parts have arrived, so lets build.
Once I'd finished confirming it in the burner it's time to try it out. It works very well indeed.
Build it yourself
You use these projects completely at your own risk!
1) TMS2532 (AT28HC64B) modern replacement EEPROM
Note: You cannot burn this chip as a TMS2532, you must use the adapter to
burn it as a AT28HC64B.
When burning you must remove all of the shunts!!
BOM
- PCB available at PCBWay
- 1 x AT28HC64B
- 4 x 4.7K Ohm Resistors SMD 0805 ( pullup / pulldown resistors )
- 2 x 12 pin headers ++ ( 0.1" / 2.54mm )
- 4 x 2 pin headers ** ( 0.1" / 2.54mm )
- 3 x 2 pin shunts ** ( 0.1" / 2.54mm )
** Optional ( you can solder the shunts after burning instead if you like ).
2) TMS2532 (AT28HC64B) Adapter
Notes : This fits between the EEPROM burner and the modern
replacement EEPROM so you can burn it as a AT28HC64B.
BOM
- PCB for Adapter at PCBWay
- 1 x 24 pin ZIF Socket ( or you can use an ordinary Socket ) ( 0.1" / 2.54mm )
- 1 x 4 pin header 90 angle ( 0.1" / 2.54mm )
- 1 x 3 strand Male <=> Female jumper wire ( 0.1" / 2.54mm )
Burning the EEPROM
- REMOVE ALL SHUNTS from the TMS2532 (AT28HC64B)
- Insert the Adapter into the burner
- Insert the TMS2532 (AT28HC64B) into the Adapter
- Insert the THREE Jumper wires from the Adapter into the TMS2532 (AT28HC64B).
- Burn the ROM as a AT28HC64B.
Remember this is an 8K EEPROM so your options are
- Join 2 4K ROMS together and burn 8K starting from 0000-1FFF
- Burn one 4K ROM in the LOW position from 0000-0FFF
- Burn one 4K ROM in the HIGH position from 1000-1FFF
The three jumper wires bypass the pullup/pulldown resistors so it can burn properly.
It should look like this picture.
Using the EEPROM
Once you have burnt the EEPROM remove it from the burner and install the shunts
You will see a block of 8 pins under the 3 pin programming jumper.
You'll notice the text 4K H / L this is the top of the board.
Holding the board with the text at the top the pin pairs are
High | Low | WE | OE |
High | Low | WE | OE |
To use the EEPROM you must shunt either the High (1000-1FFF)
or Low (0000-0FFF) Address but NOT BOTH.
You must shunt both WE and OE.
Your EEPROM is ready for use.