Wednesday, December 20, 2023

Slow and Steady... Torch Triplex - Part 4

At the end of Part 3 of this series, my ATX power supply died. It's confirmed dead. It has gone to meet its maker etc etc. Fortunately, there is a steady supply of reliable and safe second hand ATX power supplies in the form of everyone's favourite auction site.

Not really. Most used power supplies are potential hazards and should be treated with caution.

The second hand unit I acquired was particularly interesting to me as it has -5v in amongst the various voltages on its connector. This is a voltage that doesn't appear on modern PSUs but it is required for the Torch. I also checked the inside of the unit before I plugged it in - I'm not stupid.

Bulging caps

Well, that's not good.

Way off spec - new caps required!
(No sh**, Sherlock.)

A few caps needed replacement but nothing too major and I soon had a working supply to get back to working on the Torch. Yay!

After wiring up the connector the Torch sprang back into life but, for some reason (still unknown), the garbage on screen no longer appeared. Instead, I noticed after about 15 seconds a forlorn sequence of beeps started to emanate from the monitor. Curious.

Well, not really that curious since the beeps are part of the startup error checking performed by the Torch in a similar way to the PCs 'POST' (Power On Self Test) beep codes. It was quite tricky to work out the sequence but after listening for a couple of minutes it seemed to be short-long-long-long. A quick check of the Caretaker manual revealed that this means the main CPU had 'timed out' i.e. it wasn't running. 

Now the CPU in this is a 68010 and it is directly pin compatible with the 68000 as used in the Amiga. And what do I have lying around? An A500 motherboard. Unfortunately, when I took the 68010 out of the Torch main board there seemed to be a leg missing (presumed gone). It looked like it had been melted.. Oh. Poop. After a quick repair I decided to continue with my plan to try it in the A500.


The melted leg.
(Poor quality as it's a picture of the screen of my half
working microscope..)

Legs eleven! (64 actually.)

One quick swap later and I was able to prove that the CPU itself is working fine as the A500 started up and booted to the familiar Kickstart 2.04 purple screen - well, grayscale actually as I got lazy and used the composite output on the board. It also ran the Amiga Test Kit without any problems.


68010 in an A500.


It booted. Yay!

I also checked the HLT and RST lines on the CPU (and MMU and DMA controllers) and they behaved as expected on start-up i.e. held low for a second before going high.


CPU, MMU and DMA controller

It was time to break out the oscilloscope. The Torch board has two distinct buses. One is primarily for the support processor and is called the QBUS and the other is the more standard address/data bus for the 68010 and supporting chips. This is called the PBUS.

Looking over the PBUS it was obvious that the bus is basically dead. There is NO activity at all. I am very puzzled by this. What could be causing a completely dead PBUS? All of the clocks are present and correct, power is present, although the 5v line is a little low at 4.45 volts. Perhaps there is a faulty device somewhere on the bus that is causing the failure...

There is some positive news. Thanks to some help and advice from a most excellent chap on the VCF forums I now know that the garbage shown previously when I booted up was actually the EPROM loading data into the video RAM prior to the execution of code. This is normally hidden as all the colours are set to pale blue but, for some reason, my Torch had a minor issue with the colour palette. Why it now works I don't know - which I don't like but will have to put up with for now.


Garbage seen previously - not now though. Hmm..


As a side-quest I got hold of a 16k*4bit DRAM tester to make sure that the VRAM is actually ok. All eight chips test as fully working so there's no problem there.


Compact and bijou. 4-bit DRAM tester

What is supposed to happen when the machine is switched on is that the Caretaker ROM, with assistance from the service processor, loads a piece of start-up code into video memory which is then executed by the main CPU. This means that my Torch is starting correctly but, because of the apparent PBUS issues, it's failing to execute the code and get the machine fully up and running.

The problem here is that there are so many components around the PBUS. There loads of driver ICs (LS244s and LS245s) as well as various latches (LS373s) and more. And that's not even including the 68010 CPU, 68450 DMA controller or 68451 MMU. At least I know that the 68010 is OK as I've tested this in the Amiga A500 motherboard and it works fine. I've managed to order a 68450 DMA controller for not too much from eBay so I should be able to confirm if that works and it's worth having a spare if the original is OK. 

The real fly in the ointment here is the MMU. When you search on eBay and the only result for a 68451 is a VTG daughter board from a VME/10 located in the US for around £660, you know that the MMU is going to be the purest of unobtainium. 

Gah.