Sunday, 28 May 2023

Commodore C64 Repair (with a slight cheat)

When you open up a vintage computer to repair, as far as I am concerned, the best thing you can find inside is dust.

Dust to show that it has been untouched for many years.

This one doesn't have any dust.

That's not necessarily a bad thing, but then your eyes are drawn to the bits that should not be there.

Unexpected sockets.

Two of which appear to have been fitted upside down (notches at the bottom), and all of which have signs of chips being levered out of them with a small screwdriver.

Also, random chips.

Two types of Micron Technology RAM, with and without the USA logo (most of which are likely bad - most MT RAM chips are). One NEC (different speed grade to the rest) and one Mitsubishi.

Oh, and then almost the worst thing to find inside:

Flux residue.

You can see that 7 of the RAM chips have been socketed (a C64 of this vintage is unlikely to have come out of the factory with sockets on the RAM chips, or if it did, it would have been all of them). One chip isn't socketed, but has flux residue around the pins.

On the back of the board, things get worse.

All of the big chips, the 6510, both 6526's, all the ROMs and the PLA have been desoldered and replaced.

And then there is the RAM, with probably the worst thing to find, bodge wires to repair damaged tracks.

This is not what I want to find inside a machine. It makes my job considerably more difficult.

This C64 is showing no output. It is important in these case to differentiate between no video output - no sync or picture, and a video output that does have sync but a black screen. With no video, you have to blame the VIC II chip (or the bits around it). With a black screen, it could be many things, but probably not the VIC II chip.

Sync
Picture
Problem
NO
NO
Power or VIC II fault
YES
NO
PLA / RAM / ROM / CPU
YES
YES
You can stop now, it's working, isn't it?

This was no video sync or output, so that is pointing at the VIC II chip.

I did some checking around. and clearly someone has been in here as they have moved all the heatsink compound from the top of the chip (although not the pins).

Before changing it for a known working chip, I did the usual checks and found that it wasn't getting 12V power (yes, it needs 5V and 12V).

The rest of the board runs on 5V, with a small separate 5V supply for the chips in the video can and 9V for the modulator and datasette motor regulator.

The 12V is generated from a voltage doubler on the 9V AC input, which the capacitor on there usually at 20-25V.

The 9V AC is fused and switched separately on the power switch, so you can get this situation when the fuse is blown or the power switch is flaky and you get 5V and no 12V. Here I was getting about 24V DC, but no 12V.

This 12V is used by the VIC II chip and the SID. I had already removed the SID for safe keeping. That and the VIC II are usually the only factory socketed chips on these boards.

I removed the VIC II as well, in case that was pulling the rail down. The 7812 regulator is getting 24V in, but even with both the SID and the VIC II removed, there was still no 12V. Faulty 7812?

I replaced that and tried again, and now the 12V rail was working.

Putting the VIC II back, I now got video sync, but a black screen. This could have been down to the VIC II, if it has been running with 5V but no 12V for a while, it may have been damaged.

I tried a known working VIC II and got the same reaction, I also tried the VIC II (and the SID) in a good board. and both chips were working.

So, we are now at known working VIC II, outputting video sync, but a black screen.

As I said before, this can be caused by many things. A bad VIC II is a possibility, but we have ruled that out, so it is more likely the PLA, RAM, CPU, ROM, etc. 

All of the chips which someone has already removed and possibly replaced (maybe trying to track down the fault that I had just repaired?)

At this point it gets tricky.

Probing around, the databus is a mess. Lots of bus conflicts, signals at various levels as multiple chips are fighting to drive the bus at the same time (even more so that a working C64 where the timing barely holds together at the best of times). Could be the PLA or a faulty ROM or RAM chip writing when they shouldn't.

It was the same with the dubious collection of RAM chips. I cannot trust any of the work that has previously been done. Have any of the tracks under the chips been damaged? Is any of the through hole plating missing? Were the replacement chips working before they were soldered in?

At this point, the next step would probably be to remove all those chips. Check all the tracks for continuity. Fit sockets and recheck continuity. Test all the chips. Put everything back and try again.

That is an awful lot of work, with no guarantee of success, there are lots of other things it might be, particularly given all the rework on this board.

If this were a rare machine, or a one with a sentimental attachment, or anything like that, then that amount of work could be justified, but this isn't a special board, or indeed a special machine, and it needs to get back to the owner fairly soon.

It's a bit of a tatty C64 with a missing key and a missing label, acquired in a job lot of other computers, and sent to me to repair along with some other boards because there was space in the box.

At this point, I needed to get the things back to their owner, so I decided to cheat.

I found a spare C64 board of a similar vintage that coincidentally was missing a SID and a VIC II.

The SID and the VIC II were in sockets on the bad board, and I had already proved that they both worked.

So time for a small cheat and swap the board out.

I clearly remember making space on the bench and arranging both boards to take a photo. However, I can now find no evidence that I actually took that particular photo, so please use your imagination.

It booted up to a ready prompt, and generally seemed to working, but when I tried to load a game, the IEC port didn't work.

So much for my quick solution.

IEC faults on a C64 often come down to the 7406, particularly it seems when it it the MOS part 7707. Sure enough, one of the inputs to the chip is wiggling up and down, but the output remains floating high.

I replaced that with a new 7406, and the IEC port was back in business. Notice the Texas Instruments branded RAM chips and Nichicon capacitors. This is a good board.

I replaced the missing key (which meant disassembling the entire keyboard to replace the stem and then finding one with a similar degree of yellowing), and put it all back together and set it up for a bit of a test.

And there we go, Ghosts'N'Goblins looking and sounding good.

One C64 ready to go back.


Do you think I was right to cheat? It is still the original VIC II and SID, the heart and soul of the machine, just the ancillary bits around them have been transplanted.

Maybe one day I will have another go at the board, but frankly, it's probably a parts board now. Giving up any remaining good chips to save other C64s.


Patreon

You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. These are often in more detail than I can fit in here, and some of these posts contain bits from several Patreon posts. This also includes access to my Patreon only Discord server for even more regular updates.

https://www.patreon.com/tynemouthsoftware

Sunday, 21 May 2023

Multitech Micro-Professor MPF-I Repair

This was a Patreon preview last year, but for some reason it never made it onto the main blog. I saw an advert for the MPF posted on twitter earlier and the week and was going to reply with a link to this post. It was at that point I realised it hadn't actually been posted. So now it has.

Today I am looking at a 1980s single board computer with built in keyboard and display, named after a diminutive senior academic, the Multitech Micro-Professor MPF-I.

Not to be confused, with the other 1980s single board computer with built in keyboard and display, named after a diminutive senior academic, the Little Professor.

An educational toy, sort of a calculator in reverse. It prints up sums and the user has to type in the answer. I had one of these, and it was probably somewhere between 78 and 80. Before I got my first ZX81 this was my games console.

4 + 5 = ? anyone?

The Micro-Professor MPF-I, from Multitech (which later changed it's name to Acer) is a little larger.

This is a boxed unit in very good condition for being over 40 years old.

It is housed in the same sort of fake book as you used to be able to buy to store your collection of VHS tapes along side your hardback books.

Inside the left hand side is reserved for expansion modules, and the unit itself is on the right.

This is a single board computer, based on a Z80 running at 1.79MHz. There are two ROM chips, one 2K, the other 8K (an upgrade maybe, the original would have been 2K?), and a 2K RAM chip. The bottom row has a Z80 PIO dual port input / output chip, a Z80 CTC timer chip and an 8255 dual port I/O chip (why didn't they use two PIOs or two 8255s?)

Beneath that is a six digit, seven segment LED display and a 36 key keyboard.

It comes with a nice thick manual, although this one has seen better days.

Inside it has been heavily annotated, someone clearly made a lot of use of this.

It runs from 9V DC, so I powered it from a bench supply, with current limiting for protection.

The current was within range, 450mA (it came with a 9V 600mA supply), but when I measured the 5V rail, I was getting a little under 2V, something was pulling the rail down.

The easiest option here would be one of the seven socketed chips, so I removed those to start with.

Powering it on again, it was down to 50mA, and the 5V rail was reading 5.1V. So it was one of the chips.

I reinstalled them one by one and checked each time to see that the 5V rail was still present.

As soon as I refitted the 8255 and powered it on, the current shot up and the 5V rail went back down to 2V.

Removing the 8255 and trying again, it was back to 5V.

So that's a bad 8225 by the looks of it, and also the CRTC seems to be missing a couple of pins. They aren't in the socket, so they probably came of due to some past misdemeanour.

With a replacement 8255, we're running again. The 5V rail is at 5V and the display is now active.

I checked on the CTC pinout and one of those pins is an enable pin. It may be that it was enabled when it should not have been, at the same time as the 8255, and the conflict finally wore out the 8255? I'm not sure. The Z80-CTC is still in production, so I removed it and ordered a new one.

For the moment I will continue with it removed. The Z80-PIO and Z80-CTC appear to be optional extras, only the 8255 is used by the monitor program to drive the display and keyboard.

Pressing some random buttons made it beep, so it seems to be working. Time to read the manual and find out how to use it.

If they only knew in 1981 what an impact it would continue to have.

Following the simple example in the manual, it's a simple monitor arrangement. Press ADDR, enter address, and it shows the data at that address. Press DATA and enter new data. Press + to increment the program counter. Use ADDR to go back to the start and then press GO. Use ADDR to go to the place in memory where the result is stored and there is the result:

So now we know that 4 + 5 = 9.

I'll let the Little Professor know.

I have much past experience of entering hexadecimal data, on all sorts of systems over the years, but I have to say I am not a fan of the keyboard layout on the Micro-Professor.

Normal 4x4 hex keypads use a variation of the phone (123 on the top row) or numeric keypad (789 on the top row), but that layout would take a while to get used to.

Even this guy has a more reasonable layout.

Not much of a repair I'm afraid, but it was interesting to finally have a go at using the Micro-Professor.

Back in the 1990s, there was a wonderful company called Greenweld Electronics. They used to take multipage adverts in Everyday Electronics advertising all sorts of surplus electronic parts. (the name still exists, not sure if it is the same company, but it's not the same content)

I remember buying several of the EPROM programmer module for the MPF-I purely for the parts (there were two or three 6116s, an EPROM or two and a ZIF socket, and they were probably only a few pounds each). I am pretty sure I left one intact, in case one day I happened across a Micro-Professor. Today is that day, and can I find the EPROM programmer?

Nope.

Whilst I was looking for that, the post arrived.

One brand new Z80 CTC chip, still in production 40 years after the one above.

It doesn't look too out of place with the new old stock 8255 and the other original parts.

Still haven't found the EPROM programmer, but this board did come with a printer.

All the accessories came in the same box marked "Microprofessor Option", so you sometimes see these on ebay and you have no idea what is inside.

And within a thermal printer interface.

This is connected to the main board via a 40 way ribbon cable. This bus is pretty much pin for pin connected to the Z80 (other than the 5V pin which is not connected).

It is tempting to connect this us to an RC2014 backplane. The signals are in a different order, so it would need one of those cables with 1 way connectors on. That would open the Micro-Professor up to a whole range of RC2014 modules.

I couldn't find any thermal paper, but I found some old till receipts. It sort of worked, I wrote a little program to print out TEST, and it looks like it did the T and the E, but got stuck. Not sure what the issue is there, it would need to be tested with proper paper.

The owner says the don't plan to use the printer, they just use it for the ROM sockets that are on that board.

I haven't looked into it, but there is Micro-Professor BASIC on there.

That rest of it is all working as far as I can see. I wrote a few little test programs to check the CTC and the IO and it seems to be working, so that is ready to go back.


Update

I have now found the MPF-IBP EPROM programmer module. Looks like I was using it (or at least trying to use it with something. Don't remember what, or when. Maybe one day I will try to fire it up again.


Advertisements

Minstrel 4D

A good platform to try the EPROM programmer module out with would be as an RC2014 module with the Minstrel 4D. Available in Kit and pre-build form from The Future Was 8 bit

https://www.thefuturewas8bit.com/minstrel4d.html

More info in a previous post:

http://blog.tynemouthsoftware.co.uk/2022/08/minstrel-4d-overview.html

Patreon

You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. These are often in more detail than I can fit in here, and some of these posts contain bits from several Patreon posts. This also includes access to my Patreon only Discord server for even more regular updates.

https://www.patreon.com/tynemouthsoftware