Showing posts with label C64. Show all posts
Showing posts with label C64. Show all posts

Sunday, May 3, 2020

C64 Wifi Modem

I had built a C64 Wifi Modem quite a while ago using the excellent post at the 1200baud blog. I used the very basic adapter board with it and it worked just fine.

More recently a more complex adapter board appeared for the ESP8266, so I thought I'd have a go at the new adapter board from Sven Petersen. It was a LOT more complex with some nice features thrown in.

You can see here the difference in complexity.  There are literally two parts on the old board if you solder the ESP8266 module direct to it. The new board has at LOT of new parts.

  
It was a really nice project to put together with excellent documentation from both sites on how to set it all up. As you can see it works wonderfully.
 



Saturday, April 18, 2020

Building a modern TMS2532 drop in replacement ( 4K ROM )

I've bought a few 2532 ROM's on the net and haven't had much success with them.  The problem is they are a) OLD, b) require very high voltages to burn ( 19 up to 25V ) and c) modern cheap burners do not support them.

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 helpful

Datasheet 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. 


Now all I have to do is get them manufactured.  I have a few other opensource projects I'd like to build so I'll get an order ready to go for my prototype soon!

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.


Reading, erasing and burning the EEPROM is done with the adapter board for an AT28C64 and none of the jumpers on.
When complete you can put on the jumpers and read the board directly as a TM2532 EPROM.



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

  1. REMOVE ALL SHUNTS from the TMS2532 (AT28HC64B)
  2. Insert the Adapter into the burner
  3. Insert the TMS2532 (AT28HC64B) into the Adapter
  4. Insert the THREE Jumper wires from the Adapter into the TMS2532 (AT28HC64B).
  5. 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 LowWE OE
 High LowWE 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.
   






Saturday, March 7, 2020

Alternative parts : New SRAM for C64C Short Boards

I've fixed quite a few C64C short boards now and nearly all of them have had bad RAM.  On Ebay the RAM for C64C's seems to be at a premium.  I got a great deal buying a RAM expansion board for a laptop with lots of socketed chips but was there a better alternate.

It turns out there is with Jamarju's c64-sram, SRAM substitute for C64C shortboards

So off to PCBway I went and grabbed some boards to test it out.



There aren't too many parts to this project which made it pretty simple to get going.  Probably the hardest bit was just getting the chips aligned on the pads.  After that I found if I was really careful I could just apply some flux and then very carefully drag solder down without tacking the corner pins first ( If it's your first time you should tack with chip down first to stop it moving ).

Although I did get a few bridges a bit more flux and some solder wick made clean up a breeze.

You can see in the middle the New vs the Old RAM.




  
My C64C boards nearly all have socket RAM now so I popped them out and jammed the board in and it worked first time. I quickly built a second one and that worked too.  I'm pretty happy about this project, a big thank you to Jamarju for sharing.




Monday, February 10, 2020

Repair : C64 Black screen with signal : bare board

So I've been looking for a challenging board on Ebay as it's pretty much the only place available for me to find dead C64's.  They are expensive and in general not difficult to fix.  The board I fixed first up was a really dead Gumtree purchase.

Anyhow on with this new board.

1) The Power on flicker

When I first turned the board on I got the "power on" flicker.  This was a really good sign.
The SID on this board is soldered on the board so I'm pretty hopeful it's working at this point.


2)  Dead Test Cart.

Plugging in the Dead test cart I got the black then white flashing screen.  This is a sure sign that one of the RAM chips is dead.






I felt each chip on the board and one of the RAM chips was boiling so I pulled it and put a known good one in.



On turning the machine back on it was still flashing, this was a sure sign that both RAM chips were dead.




I replaced the second one and straight away I got the Basic screen.




3) Jiffy Dos Dead?

The Jiffy DOS screen only stayed up for 5 seconds, then the cursor stopped flashing and then the screen cleared.  I had a spare kernal on hand ( that I had burnt in a previous project ) so I swapped it in and ever since it has been rock solid.

Finale!

Well that was easy, two ram chips, one kernal rom and everything is working, even the SID.

So I'm thinking I am done with C64's . . .

I'm thinking about trying to pickup some dead Amiga 500's as I'm getting a little bored of easy to fix projects.






















Monday, November 11, 2019

C64 : Another Black screen with signal . . . Complete

A few months ago I went out on Ebay looking for more dead c64's.

This time I got two, one looked like a really simple fix with a logic chip the other was a black screen. Fortunately ( or in my case Unfortunately ) I was sent the wrong for the logic chip issue and instead got a working c64 with one key missing, as a bonus the missing key was really easily replaced with one from https://www.retroleum.co.uk/.

The second c64 proved to be another black screen, however unlike the last one I was getting a PAL signal. The first thing I did was pull the SID and tried it in my newly created test board.  The SID was dead and only with the volume turned up to maximum could any sounds be heard, even then one of the voices was static.

Pulling the SID however didn't fix the black screen.

Putting in my trusty 1541 ultimate, I got a really clear normal menu with the Kernel overlay in place.  So I de-soldered the kernel and tested it in my test board.  The Kernel proved to be just fine so I put it back in place.

The next thing I did was de-solder CIA 1.  This also proved to not help as the CIA worked fine and I still had a black screen.

I had previously tried the put the memory chip over another memory chip to look for bad RAM so I tried it again on one of the two RAM chips.  I pushed the pins in so the made a good connection and nothing happened.  After mucking about pushing the RAM onto each of the RAM modules, the C64 sprang back into life.

So at this point in time I am thinking that I need to socket the left most RAM module as there maybe a dodgey solder connection there.

. . . Update . . .

After much playing about I simply can't reproduce the problem at all.  I've put in an ARMSID to replace the broken SID.  I've also put in brand new capacitors and installed a 5V powersaver.

Another unit working.


Tuesday, October 1, 2019

Burning C64 ROMs ( part 2 ) : Cartridge ROMs and the Versa ZIF 64 cart

<== Read part 1

Ray Carlson's website often refers to the Jupiter Lander Cart being a great tool to identify bad Kernel ROMs.  So I searched around the internet for two things.

1) Why the cartridge was good for this diagnostic and a good reference came from the C64 Preservation website on the Commodore Max and Ultimax carts.

2) How could I make a cart and have a bit of fun at the same time, ultimately I settled on BWACK's VersaZIF64 github project and the original project Versa64Cart for the documentation pdf.

Building this project gave me another great excuse the burn some more roms using my Xgpro TL866II Plus and play with my eraser from Big Moon (or the scary skin cancer box).


VersaZIF64

I built this project pretty quickly by uploading the Gerbers to PCBWay and then ordering all of the BOM items from Digikey.  I thought as I was going to get 5 PCB's anyhow, I might as well build them all.

It was really easy to do everything as it was all documented very nicely in the github repository.

Burning the ROM

In the Versa64Cart git repository there is a great PDF on how to setup your cart after you've built it. It explains how to convert the .crt file to a .bin file for burning, how to get the config from the .crt file and then how to set the switches on your cart to get the rom to run.

The ROM itself is a Ceramic DIP 28 with a little window in it so it can be erased using UV light.  This particular chip is a 27C64 which holds a whopping 8K ( the smallest single image I can use for C64 carts ).  I also have some 27C128's which I can jam 16K images on (or 2 x 8K images).



Diagnostics

So how does this cart compare the my other carts and will it actually be useful. Well it so happens that I have a black screen C64 that generates a PAL signal (not as bad as the last repair I did). So these will be be my new test suite for my next C64 black screen repair.
Ultimate 64 - This works with the c64 only when the menu is entered (otherwise I get a black screen).  The keyboard works but games don't load and the drive resets when the C64 resets.
On the last black screen repair a similar result was seen with a good kernel rom and a bad CIA1, but the text was a bit garbled.  In this case the text is perfect and the keyboard works fine.



Dead Test Cart - This doesn't work. There is no white flashing so the RAM is possibly good?



Jupiter Lander - This starts up fine then gets some corruption after the title screen