Saturday, February 27, 2021

Repair : Commodore 128 blackscreen repair - part 1

Quite a while ago I bought what I thought would be an easily fixable Commodore 128.  On the pictures it booted into 128 mode and c64 mode just had the blue screen with no text.

When the computer eventually arrived the green screen started with no text, that's odd and the C64 screen was not working at all.  Then after a few restarts nothing worked. Ugh oh!.

Let's open her up!

 
I've bought and fixed two 128's so far and previously I've used the rocking method on a soft surface with mixed results.  This time I tried a spudger and it work miraculously.  
 
Insert the flat end just above the joystick port and slowly move it to the high point.
As you get close to the highest point lift the spudger up, this pulls the bottom of the case out and pushes the top in.  Intern this releases the catch.
 
Once complete do the same on the other side.  


Maintenance on the Character and Kernel Roms

On opening the case, the first blatantly obvious issue was that the character ROM had fallen out.  It was a custom ROM in an adapter so that a larger 8K ROM would fit in the 4K ROM socket.  Reseating the ROM did not fix the issue either.

The second thing I noticed was that the Character and Kernel ROMs didn't have any tape over the windows.  So I covered them immediately and popped them out to verify the ROM contents.  Surprisingly both ROMs where 100% fine.  So I put them back in.

What is going on with the PLA?

I left the machine for a few days and when I started it again 128 mode was working again, but this time it only lasted for one reboot then disappeared.  This really confused me.  I removed the SID and still nothing.  I was about to pull both of the CIA's when I noticed the PLA had one of those round pin sockets.  I am really dubious about them so I tried booting again with my finger pushing down on Chip and it booted back into the familiar 128 boot screen.

I tried this a number of times and it was really really inconsistent. In the end the best method I found was to try to twist the whole socket.  Even bending out the pins to make better contact with the socket failed to help. At this point I knew the socket had to come out so I ordered a proper socket and waited for it to arrive.

Previous repair damage, what *%# happened to this board?

While waiting I decided to remove the old socket.  I used the desoldering gun and some solder wick clean up most of the pins. The socket itself proved to be difficult to remove, so I ended up carefully cutting it up the removing it piece by piece.  The disaster struck, part of a via and the connecting trace slightly lifted. However the the damage was minimal.  On inspecting the board I also noticed that one of the other vias was damaged as well, this one I definitely was not responsible for, it just was not there. 

Then I had a really good look at the board and noticed the damage on the Ram sockets where someone had applied way too much heat and burnt the board and then soldered in the sockets really badly.

This machine was a mess and it was pretty obvious a lot of repair work had been done on the board prior to me receiving it.

The damaged vias I decided where probably the primary source of the issue of the socket.  So I decided that was the first item on my list to fix,  I would deal with the rest later.

Replacing the vias

I've never replaced vias or riveted a PCB before so I took a fairly pragmatic approach.  I worked out the current diameter of the vias by inserting micro drill bits into the holes and then double checking the diameter with digital calipers.  The diameter worked out to be 0.8mm.  I then sourced some vias from EBay, specifically this item here.


As the internal diameter was correct I needed to drill out the holes very carefully using a hand drill to 1.2mm.

 After inserting the rivet I placed tape over it so it wouldn't fall out and them placed a standoff under the via to stop it pushing out.

Ensuring the rivet is sitting on the standoff by pushing it down a little, hopefully you'll meet the resistance that the standoff offers.

Using a circular motion slowly flatten the rivet down. then use the other end to ensure it is flat to the edge.


Once you are happy and the rivet is tight, you will need to solder the track back to the rivet and then more importantly check the continuity of the new via and track!

A working C128, well just the 128 part!

Soldering in the socket and inserting the PLA back in gave me rock solid C128 mode.


The final stretch, fix C64 mode

The final part of this repair wasn't straight forward either. I was using the C64 dead test cartridge and using the old put the new RAM chip over the top of the old RAM chip technique. I just couldn't get it work 100%.  On closer inspection every single one of the already replaced and socked RAM chips had terrible soldering. There were huge blobs and non-existant solder on every single socket. The first job was to resolder every single leg.  After that I was very quickly able to complete identifying and replacing two RAM chips.



So really there wasn't very much wrong?

In the end there really wasn't much to do.  However it does pay to inspect your unknown dead boards for bad repairs before you start the repair work.  I'm pretty happy how this turned out.

The final step for this will be to recap the electrolytic capacitors and I might look at a video memory upgrade using modern parts, but that is a whole other project.

But hang on wait . . . I've only check the C64 mode . . . does the C128 mode actually work properly?

See part 2


Saturday, February 20, 2021

Repair : Burning "Chucky's" DiagROM

After fixing 8 or so C64's I'd gotten a little board with 8 bit repair. So on a whim I bought a very broken Amiga 2000 and Oh my . . . now I'm neck deep in it.

To assist my efforts I'm having to source chips, but the availability of just bits from broken machines is really limited at the moment and I really am not keen to cannibalize working Amigas for this.  So I thought, let's see what "Chucky's" DiagROM does, I've got some spare EEPROMS.

Steps in detail

I've previously backed up and burnt Amiga EEPROM's in previous projects using my GQ-4x4 with the 16 bit ROM adapter. This time let's do it in detail.

DiagROM

    You can get the DiagROM from  Chucky's website here : https://www.diagrom.com/
 
1) Plug your burner in and start the software (don't put any chips or adapters in it just yet).
 

2) Go to "Device" and select "AT27C400".
 
The Software tells you that you will need a) the Adapter and b) to put the chip into the bottom of the 40 pin socket.


 

3)  Go to "File" and then "Open" and open the file "16.bit" from the zip file you downloaded from the website.

4) You can leave all of the settings default and just click on "Write" to burn the image to the chip.  I will also perform a verify as well once complete.
 
 
5) Complete, now you have a DiagROM of your very own.
 
 
The next step from here is to get a serial console going.  So I'll need to get a USB to Serial cable, Null modem cable and a 9pin serial to ( whatever the big d-sub socket is ) converter.
 

Wednesday, February 3, 2021

Z80-MBC2 and the uTerm

One of the funnest projects that I've built has been the Z80-MBC2 and the uTerm projects by Fabio Defabis; what's more he just keeps churning out the Open Source goodness.

You can read more able the projects with the numerous links below:

https://www.facebook.com/groups/Z80MBC2

https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer

https://hackaday.io/project/165325-uterm

https://github.com/SuperFabius 

I'm really happy with my z80 CP/M board and after a REALLY long time I've finished my uTerm.


Why so long to finish the uTerm . . . well I am glad you asked!

 

After completing the uTerm it was time to program the STM chip and oh boy it went super pear shaped.  I looked for doco on how to do it and I just missed everything.  I plugged it in the wrong way connected power and POP . . . it was dead.  What follows is a HOW not to blow up your uTerm blog entry.

Read the Hackaday page : https://hackaday.io/project/165325-uterm/details

Scroll down to : HOW TO FLASH THE STM32 WITH THE ST-LINK V2

Read my Blog so you don't make mistakes!

  1.  The FIRST thing you should solder to the board is the STM chip
  2. The SECOND thing you should do it to solder on the 4 pin header for J6

        NOW STOP!!  It is time to program it.

You'll likely notice that there isn't much room around the chip once you put all of the through hole components in.  If you fully populate it, it's going to be a pain to get the broken chip out and put a new one in.  The second reason is that the STM chips have been really hard to get hold of.  I had to wait 3 months just to get mine on back order. 

  • The next thing to do is to PLUG the programmer into the board correctly. Make sure you have NOT plugged it into your computer.  Leave it disconnected until it is connected to the board like so.
  • The order of the pins of J6 on the uTerm board is as follows :

                PIN 1 : VCC 3.3v - ** make sure it is 3.3v ** 

                PIN 2 : SWDIO

                PIN 3 : SWCLK

                PIN 4 : GROUND 

  •  Check you programmer as pinouts are all different.  Mine has the pinout printed on the side.


  • With 4.6 version of the STM32 ST-LINK Utility you will need the following settings.

And you are done, now I have a green blinky cursor.

The complete uTerm.