Friday, July 05, 2024

Chairman of the (key)board.. - Torch Triple X Part 7

I still can't get the Torch motherboard to boot. While I was poking around the motherboard and looking over the schematics, I saw that the service processor for the board - a 6303R which is a variation of the Motorola 6803, itself a later variation of the original Motorola 6800 - had a couple of pins connected directly to the keyboard connector. These were Tx and Rx. Hmmm. I wonder...

I dragged the keyboard out of the box that it's been sat in for the last year or so and plugged it in to the keyboard port. Curiously, this uses a version of the UK telephone socket as a connector. Odd but functional. 


Probin', probin', probin'.
Keep probin', probin' probin'.


With the Torch switched on and pumping out its sad 'Beep Beeeep Beeeep Beeeep' to indicate a processor timeout, I started to probe the keyboard pins using my oscilloscope. I was very pleased to see that pressing a key on the keyboard generated a signal. It also generated a signal when I lifted of the key. Nice. This means that the keys are working. After spending ten minutes carefully running over every key I am pretty confident that every key on the Torch keyboard is working fine. 


Press...

...and release.

It's not a mechanical keyboard but the build quality is excellent and it feels like it would be much better to type on than some of its contemporaries (looking at you Amiga A500 Mitsumi and Samsung keyboards). Not a patch on the IBM Model M but not bad.


Yep. It's a keyboard.


So, what now? Well, after taking a break from this machine I've come back to it and started to go back over everything I looked at previously.  So far:

1) The board is drawing a lot of current. Nearly 5amps! Some chips get quite warm but nothing gets burning hot. I've checked all of the ceramic and tantalum capacitors and, while some were out of spec (and so replaced), none were shorted. It's possible I suppose that there is some damage that I haven't found on the traces. 



2) Touching one of the connections on the power lead causes the computer to turn off - or at least the screen goes black. Without working drives or any other indicators it's difficult to know what else might be happening. I'm assuming that the offending cable must be coupled to pin 4 of the service processor that, with the original power supply, would be held low for a couple of seconds to shutdown the machine.

3) With nothing connected at switch on, there is a tiny quiet 'beep' with a pale blue screen. After about 30 seconds the fault beeps start - short, long, long, long - which repeat until the unit is switched off. Previously I had lines running down the screen followed by garbage filling about the top 1/4 of the screen. This is, apparently, the 6303R loading a program called 'SIMON' which then copies another program (called ERMA) into video RAM which should then be run by the main processor to start loading the hard disk OS. But this is the point where my machine apparently stops.

4) I have tested the 68010 in an Amiga A500 and it works fine. I also bought a second DMA controller from eBay which made no difference. The main concern on the three main processor type chips is the MMU. It's a Motorola 68451 MMU and is, to put it bluntly, rarer than rocking horse shit. If it's the MMU that's stopping the boot process then I'm slightly screwed. Partly because I don't have a spare to check if the original is faulty but mostly because I don't have a spare to replace it if the original is actually faulty.


DMA Controller - It controls...er...DMA.

The three stooges. CPU to the right, MMU in the
middle and DMA controller to the left.


With all that in mind, I have started to look at the Caretaker ROM. There are, apparently, a couple of versions out there. Mine has 1.3 but there is a version 1.2. I might try to get hold of that and find a spare EPROM to write it to. Couldn't hurt.. 


Caretaker ROM with 6303R just up and to the left.


Other than that, I am really out of ideas. While the schematics I re-drew are useful, they aren't really giving me too many clues as to how the machine actually works. The technical manual has some useful snippets but, sadly, isn't actually that technical. 

On the plus side, that tiny Sony monitor with the Trinitron tube is still running like a trooper and I'm fairly certain I could make up a cable for my Amiga to run on it. I haven't dared plug in the bigger monitor yet though.. Maybe tomorrow.


Saturday, June 01, 2024

How Many Mugs Are Out There? - PCW9512 Part 3

So, quick summary of where we are. I finally bought a boot disk for the PCW9512 but it didn't work so I tried calibrating the drive and, in retaliation, it died.

As anyone who knows anything about the Amstrad machines knows, this particular iteration of the PCW had a 3 inch floppy drive rather than the established 5 1/4 inch or the contemporary 3.5 inch version. I had assumed that this was because Amstrad had managed to blag a boatload of 3 inch drives cheap (seems about right for the Amstrad boss - you know who that is) but this is actually incorrect. According to Roland Perry, in actual fact, the 3.5 inch drives were released at a similar time and there was no clear indication as to whether either would become a standard. In fairness, from the limited experience I've had with the 3 inch disks, they do seem rather more robust than their 3.5 inch cousins..


3 inch EME-232 floppy drive


3.5 inch generic PC floppy drive


Anyway. 

Without a working floppy drive the PCW9512 is pretty useless. So what to do. I can either try and repair the 3 inch drive (more on that below), find another drive from the internet's auction sites, or get a Gotek. Gotek it is then.

The Gotek drive has been around for a long time. They are small circuit boards that act as a floppy drive emulator. They normally use USB (or sometimes SD) storage devices to hold disk images and then these can be 'swapped' by using either buttons on the front or, if you're particularly geeky and handy with a soldering iron, you can add a fancy rotary switch to do the same thing. They are useful for most systems that use floppy disks and can even be used in 80s/90s keyboards that used floppy disks. They normally come in a pseudo floppy drive shaped plastic case too which, for some reason, I find very aesthetically pleasing (my strange mind).

Having had a small (and I mean 'small') reward for some super work I did at er.. work, I decided to risk getting one from Amazon (Not enough yachts - JB). A quick search around the site and I ended up getting one for about £26. I went for that model specifically because it mentioned in one of the reviews that it came with the later Artery microcontrollers which will be important soon. So, next day, my Amazon parcel arrived.


Library Picture of a Gotek

First impressions were OK but I did notice that the box said '2018 Model' which was a bit disappointing. After opening the case and looking at the microcontroller I could see it was the Artery AT32F415. While this is OK, for what I was about to do next it's not the best version to have.

And what was I about to do? Re-flash the firmware of course! There is an excellent piece of software called Flash Floppy by the most amazing Kier Fraser. If you're ever used the Amiga Test Kit then he is the chap also responsible for that. An amazing contributor to the retro computer community and we salute you.


Amiga Test Kit in action.

So, the Flash Floppy software is specifically geared up to support as many retro systems as possible and is significantly better than any of the 'stock' firmwares that the Goteks and their clones will ever have (IMHO). 

To get it on to the drive requires a quick visit to the github page for Flash Floppy where there are comprehensive setup guides and the necessary files to get it up and running. There is also a description of the supported models and this is where I found that the microcontroller in my Gotek is not necessarily the best to have. This is because of the tiny amount of SRAM that it has. The Artery 415 has just 32Kb compared to the latest Artery 435 which has 384Kb. However, for my purposes I've had no issues and everything works fine so far.


My first Gotek.


You do need to download an app from a a Chinese website that allows the Gotek to be reprogrammed. Once you have this then the next step is top put the Gotek into reprogram mode by connecting two of the contacts on the back of the unit together. Once that's done, plugging the drive into a laptop gives the familiar 'bing bong' that Windows has recognised the device. Do note that in most cases, you're going to need a USB-A to USB-A cable which are quite unusual. In my case I already had one that came with my USB oscilloscope and it worked perfectly. 

Reprogramming took about twenty minutes but most of that time was spent reading and re-reading the instructions. There are a few key steps that must be followed but they are well documented on the github page. 

Once I'd completed the steps, my Gotek had the latest flash floppy firmware which was confirmed by the "F-F" displayed on the LED display on the Gotek.

Now, a while ago I bought a couple of OLED panels about an inch by half an inch. They were pretty cheap, so cheap that they only came in packs of two. And a quick rummage around the garage turned up the new one that I hadn't even opened. Changing over to this was actually really easy and just required a few dupont type cables with female connectors at both ends to connect the screen up correctly. And the results are immediate since Flash Floppy is clever enough to support various screen types.


OLED display showing disk image name
how many images are on the USB and
the track number being accessed. Clever.


So, now what?

Well, I can't plug this directly into the PCW like I could with an Amiga or Atari ST (or PC for that matter). The PCW only has 26 pins on its connector rather than the standard 34 pin. The signals on the PCW are compatible but it just needs an adaptor to use the 26 pins. Also, and I can't stress this enough, the Amstrad - HAS NON-STANDARD POWER PINS!!! - so if you plug a gotek into the PCW power connector directly, you will be sad and have a dead Gotek. The 5v and 12v lines are switched in the PCW. Cheers, Alan.

I ordered an adaptor board that I could build up from other bits that I had and then, in a fit of forgetfulness, also ordered an adaptor cable too. Both items arrived quickly with the advantage that the cable also included a power cable adaptor which saves me having to swap the 5v and remove the 12v cables in the power plug.


Adaptor cable (rainbow colours) and
the power adaptor cable


The final missing piece of the puzzle is a disk image. These are available online if you know where to look but as I already have a legal version of CP/M I...well...fill in the blanks.

With a disk image on a USB stick, the USB stick plugged into the front of the Gotek and the Gotek plugged into the PCW I switched everything on. And it just worked. A series of lines appear down the screen as the initial ROM/BIOS loads in and then CP/M starts.

Perfect.

Ah, CP/M. I've been expecting you.

I did play a little bit with some commands and a bit of BASIC too.


BASIC. In honour of LGR

One of the big issues with the PCW is that, as suggested above, it loads the initial BIOS/ROM from the disk which means that unless a disk image is specifically for the PCW9512 then it won't boot. Unfortunately, there seem to be very few software disk images around for the PCW9512. I did locate a fairly comprehensive archive of PCW games but they are all generated for the PCW8526.

But there is a way around this. I spent several hours trying to copy files from a disk image to effectively a 'blank' disk image with no success. Then I stumbled across a post on one of the forums, I forget which one, that said it was possible to eject a 9512 disk just as the screen goes solid white after loading the BIOS/ROM and then insert a different disk.

I was a bit dubious about this but I thought that what I could try is wait for the screen to go solid white and then press one of the select buttons on the front to change disk. And it bally well worked. What actually happens is that the unit reports the drive A: not ready. At this point I can leisurely switch through the images to find whichever one I want and when I select it I press 'Enter' to try again on drive A and the software loads. It's a little bit clunky but easy to do. And these are some of the games I got to load:


Fairlight

Head Over Heels

Tetris (my favourite)

Zork (note the 3D printed case
I downloaded and printed)


But what about that original floppy drive? Well, if you read the last exciting instalment, you'll know that I'd ordered some tiny SMD transistors and they arrived in a slim envelope. They are tiny. I used to joke about losing SD cards if you breathed in a bit too quick but these things could get absorbed by your skin they're so freakin' small..

Anyway, I managed to replace the original CR transistor at Q6 on the board. Switching it on I was really surprised to hear the stepper motor actually trying to move the heads backwards and forwards. After giving them a bit of a poke the heads did actually start to move! 

Does this mean I've fixed it? I don't think so or at least, not entirely. The stepper motor doesn't seem to be as strong as it was before and no matter how hard I try, I can't get it to seek properly with 4 beeps once it gives up. It only behaves as if there is a completely incompatible disk in the drive.

But that's tomorrows problem.


Ten for a couple of quid. 
Banana was too big for scale.


Newly installed - not the neatest
but it's on there!


Close up of my slightly blobby SMD soldering..

Tune in next time to see if I can fix the drive properly and then have to deal with how the PCW handles two drives in one box. Can't wait..


Sunday, May 26, 2024

Another Mug's Eyeful - PCW9512 Part 2

After having the PCW sat around for a while I decided it was time to get a boot disk sorted for it. The only 3 inch disk I had was actually for a PCW8256 which is not directly compatible with machine (sort of) and it certainly wouldn't boot the PCW9512. So on to eBay and, following a quick search, a correct boot disk was in the post.


A totally not AI generated picture of the disk
because I realised I didn't have a picture of 
the real one and panicked...

A few days later I excitedly ripped open the cardboard envelope and went out to the shed and dug out the 9512 from it's shelf. First I switched it with no disk, just to make sure the CRT was still operational and there would be no unexpected bangs or magic smoke. Sure enough, a white screen followed by three loud beeps i.e. can't find a correct disk.

The boot disk was inserted and the machine reset.

And...

Nothing.

Well, not quite. The screen flashed, the drive tried to do stuff and then, after twenty seconds or so, three beeps. Darnit.

I had replaced the belt for the floppy drive late last year so I knew that the drive should be good to go. There were two possible issues. Either the disk I received is faulty (unlikely), or the drive needed to be calibrated to read the disk (slightly less unlikely given the unit's age).

I have to tell you now that getting to the floppy drive in these machines is a real pain in the backside. You need to dismantle it almost to it's bare components to get close to it with many screws to remove, several of which are different sizes. And it also has the added spice of a CRT which, as we all know, can store several thousands of volts to make you sad if you accidentally touch something inappropriate.

But with no other choice, I got the screwdriver out and got started. Eventually, I ended up with the unit on its side and the floppy drive hanging out on its cables. This was rather precarious to say the least. What I was planning was to loosen the two screws that hold the head stepper motor, rotate the motor a fraction and then try reading the disk again (this is the technique employed by Noel's Retro Lab when he worked on a CPC6128 floppy drive). It was not straightforward and the closest I got was when the thing suddenly started to seek in a different way and, eventually, I got four beeps.

 

Danger! Danger! High voltage!

After a bit of a ponder I realised I could put it back together enough to make it easier to work on, but with the floppy drive connected via the cables dangling out of the front of the case. Much better.


Ah! That's better. And safer..


But then things went wrong. After an hour of tweaking backwards and forwards I still hadn't found the sweet spot. But I had found that if I held the drive in my hand, it would 90% of the time, seek as if it was a read error (four beeps) rather than 'no disk found' (three beeps). I wondered if there was a capacitor issue. The board on these things is quite small but there were a few electrolytic caps on there that I just so happened to have in stock. I didn't get any proper pics of this but there's one that shows the red capacitor which is one I changed. Re-capping isn't really a spectator sport.


A red capacitor. That I put in. Steady now..


But the drive continued to behave exactly the same. Before I could work out why this was the case, the drive died. Dead. Kaput. No sign of life at all. I switched it on and got exactly nothing.

Darnit, again.

I started to look at the circuit board and see if I could work out what had failed, starting at the power supply rails. With the power on, there was 12v at the power plug and at a couple of other places on the board. But there was nothing on the 5v rail at all beyond the power plug. This was worrying as the 5v  rail drives the chips on the board.

After some probing I found that there is a component called Q4 that was open circuit. A similar component was at Q3 but this wasn't open circuit but seemed to short circuit. I couldn't believe that this would be correct so I desoldered them for a closer look. Being through hole components they were simple to remove and a quick Google of their numbers (N11004 and N11008) revealed that they are 'circuit protector' devices, very similar to fuses except they continue to work if the overload current disappears - in theory. The N11004 stops conducting at 0.4A and the N11008 stops conducting at 0.8A.


The protectors.

I put them both in my component tester and found that the N11008 came out as a negligible resistance (correct) but the N11004 came out as 'broken part or no part inserted' (incorrect). 


N11008 has a tiny resistance


Broken. :(


So, I decided to take a risk and solder a wire link across where Q4 actually sat on the board. What's the worst that could happen? It's dead and useless anyway..


Link added at Q4. 
No protection on 5v but I'll take that risk

Nervously, I switched the PCW back on again and...

....partial success. The disk now spins. More importantly, it spins when the PCW is switched on and the it stops when the PCW emits it's three beeps to say it couldn't find a disk. So it half works. But without the heads moving, it's a bit of a doorstop - and not a very good one as it's too small and light. 

I looked up the other chips on the board and found that the M52819 is the floppy drive controller and interface. I'm fairly sure this chip is OK as it is trying to control the drive as shown by the spindle motor starting up and turning off. The next chip is marked MH003 and I can find nothing on this chip at all. I have no idea what it is or what it might be. Any suggestions welcome.. The final chip is actually a through hole device and is on the other side of the board. This one is an AN8250N which is a 'stepper motor driver' chip.


The AN8250N hiding in the background...
(This picture looks familiar... Hmmmm...)

Ah-ha! Perhaps this is the cause of the issue? I saw from the datasheet that pin 9 is the 'starting voltage' which should have a typical voltage of 10.2v on it. When the PCW is switched on this voltage is a steady 1.8v so something is clearly wrong. There is a tiny SMD transistor mounted between the pins of the IC and the top contact is connected to pin 9 so I started to wonder if that was acting as a control to the starting voltage. I could try removing it from the board and then test it with the component tester but I've seen ants bigger than this transistor.


This is about the size of a thick grain of rice...

So I decided to solder a wire to the board at each of the three contact points. I have a reel of wire wrap wire that is a very thin coated copper wire which is perfect. It wasn't too difficult to solder the wires on to the board but the result from the component tester was a bit odd to say the least..


Component tester plugs hanging from the
thinnest wires in the world..

It came out as two resistors in series with values of 887 ohm and 4.18 ohm. This really doesn't seem right but could be as a result of the fact it is in circuit. 

I decided that before I start looking for an AN8250 on eBay (or other) I should see if I can replace that SMD transistor. It has the marking 'CR' on it and this seems to be a C945 NPN transistor. So I've ordered some of those but it will be a while before they arrive. 

In the meantime, I have a cunning plan....for next time.

Wednesday, May 01, 2024

And now for something completely different...that actually works (spoiler).

For various reasons my spare time is currently devoted to other things which means I don't have a lot of time for the vintage/retro/possessed computers of old. But I stumbled across a youtube video that intrigued me. It was such a simple thing. And it was cheap. 

It is a simple bluetooth adapter that can be installed in a ZX Spectrum which completely removes the need for a cassette player to load games. (You can't save anything with it but that's not an issue - keep reading). When the speccy is switched on it powers the bluetooth module up and it becomes available for your phone or other bluetooth device to connect to. Then all you need to do is play a .wav or similar file taken from a speccy game cassette and it loads just like you have a cassette player installed.


My speccy with no lid


"But", I hear you cry, "you have one of those fancy SmartCards from the chaps at Retroleum (now at version 3.1 but mine is a version 2). Why would you need to do such a thing?"


My Smartcard v2 in a 3D printed case


Because I bloody well can. So there.

A quick trip to eBay and I got a ridiculously cheap bluetooth board, specifically advertised to work with the speccy. Installation was dead easy and required just three small wires to be soldered to the motherboard, +5v, GND and Audio. 


I'm blue ba da...oh I already did that joke


I located it underneath the heatsink - I hope it'll be OK there as it does get quite hot, I really need to get one of those modern voltage regulators that don't generate any heat. The +5v and GND were soldered to one of the caps and the audio wire on a resistor close to the 'ear' socket (which everyone knows should have the BLACK connector on the original cable - that's a hill I'm prepared to die on). 


"I have the power!"

'Ear, what you up to?


Button her up, she's ready to go.

And that really is it. After putting the case back together I plugged it in and checked that the Sinclair Research message appeared as normal. Nothing is any different unless you search for bluetooth devices with your phone. Then you will find an additional device 'BT_Audio' or similar. There is no password or anything on the bluetooth so just tell your phone to connect to it. Once it's connected, all audio will go out through the speccy's tiny, tinny speaker. 

But that's just fine for loading stuff. I downloaded an app (Google it) which contains many spectrum .TAP images and which plays the audio through the phone as if it were on tape. Then I connected to Bluetooth and set one of the games to start loading... And...

Chase HQ. An epically good Speccy game

..it works perfectly. If I have one criticism it's that the volume of the audio isn't that loud through the speaker. I don't know if it's because the Bluetooth units volume is deliberately set low, or whether it's because of where the signal is injected but it is still very quiet even when the phone volume is turned up full. Everything loads without issues though so I assume because it is a very 'clean' signal going into the Speccy the system can handle a bit less volume. Long time speccy owners might notice that the raster bars for the initial signal don't look quite right, where I think they would if the volume was a bit louder.

I can, of course, still use the SmartCard but what it does mean now is that any audio files I get that aren't compatible with the SmartCard I can load into the speccy as if it were from a cassette and then hit the NMI button and save an image to the SD card. To do this took a bit more fiddling than I expected as I couldn't work out how to get the speccy to just boot to it's normal startup but still have access to the SmartCard.

What I ended up doing was loading in VU-3D. Then I broke into the program (it's mostly in basic) and the typed 'RANDOMIZE USR 0" which basically does a reset. Then, once the 'Sinclair' message appeared I clicked the NMI button on the SmartCard and saved the image as a blank image. This means if I load that image back in, I am back to a plain, empty spectrum experience.

The upshot of all this is that if I have a game I want to load via the Bluetooth then all I need to do is load up the blank image, type LOAD"", press play on my phone and wait for whatever it is to load. Once it's loaded I can press the NMI button and save the new image as something else. I can't believe I'm such a genius..... :D  So far, I've loaded the original Jet Set Willy (I only had JSW2 previously), Ghostbusters and a couple of others. It's surprisingly nostalgic - if a bit quiet - listening to the loading sounds of the speccy, but still very functional.

Anyway, it works, it was cheap and it means I can post something relatively quickly before I go back to 'other stuff'. :)

Gratuitous Spectrum shot

Don't worry, I'll be back to the Torch Triple X soon, despite me now thinking it's possessed...




Wednesday, February 21, 2024

I'm Blue, da ba dee dabba da-ee - Torch Triple X - Part 6

Time for a bit of a break from the Torch's motherboard. 

During my escapades with this computer I ended up plugging in the hard disk and floppy disk 'layer' as well as the motherboard just to check if it needed to have connection to a drive to boot (who knows with stuff this old!). Sadly, it didn't make a difference but it did show me that the hard disk actually started up and did not sound like a howling banshee. I'm looking at you, Cifer.

The main drive is a similar style to the Cifer drive and uses a stepper motor rather than coils to control the heads, as was the standard at the time. It spins up and makes some happy chirping noises. This is all a great sign but without the main computer up and running what can I do?


Hard disk, rear and centre. 
(Pic from last year before power supply shenanigans)


*BlueSCSI2 has entered the chat* (as the kids might say)

The latest iteration of the amazing BlueSCSI project now has a fantastic function called 'initiator mode'. Now, I have not been a huge follower of this project but this new feature caught my eye as it said that it could read disks even without the host computer being available. Interesting...

And by coincidence, RMC happened to mention the BlueSCSI board and how to get them from the chaps at Flamelily IT. So an order went in and a couple of days later a parcel dropped through the door.

I went for the kit version that included a configured Pi Pico which is about £14 cheaper than a fully built unit. You could order a kit without a Pico too and save another £8. Anyway, building the unit was really straightforward and basically consisted of soldering on the right angle 50 pin SCSI connector, the power connector (like a floppy drive connector) and some pin headers. It genuinely took me less than half an hour to solder everything in. If I had any complaints it was that there is literally no documentation provided with the kit but given the limited soldering needed to build it I suppose that's not a major problem.

BlueSCSI raring to go..

Documentation to use the thing is available from the BlueSCSI github and it's also linked to from the Flamelily website.

First things first, to read a disk image I need an SD card (full size). Fortunately I have an 8Gb microSD and a gazillion adaptors to convert it to full size. This card needs to have a small file on it to tell the board to go into 'initiator' mode. 

Next task. Get the jumpers in the right place. The unit in the Torch uses a standard SCSI 50 pin connector so it was as simple as plug it in to the BlueSCSI, insert the SD card, swap a couple of jumpers, apply power to the drive and the BlueSCSI and... 

...nothing.

Ooops. In my haste I had missed one of the headers on the board that had to be set for 'initiator' mode. Install the header and stick a jumper on.


Target the initiator! Or something...

Initiate! Initiate!

Take 2.

The drive spun up and the Pico light began to flash, slowly at first but then it started to flash quickly and I could hear the drive heads moving. Nice! After a few minutes the flashing on the Pico went back to being slow and there was no more activity from the drive so I powered it all down.

Now, to see if there was anything viable on the card. First I looked at the log file and I could see that the drive responded to a query from the board on ID 7. Then a long list of data copying, sector by sector. Then, to my surprise, the drive also reported it had data on ID 0 and so the BlueSCSI copied that data too. I suspected that they were actually the same and it does seem to be a bit of a bug as per Adrian's Digital Basement video (released as I wrote this - spooky).

The upshot of this is that there are two .hda files on the SD card, each just over 40mb. This is great news as it means that we now have something we could possibly archive from the drive. To verify this I went and loaded one of the images into a hex editor and, sure enough, data is clearly visible.

But then I hit a snag. I decided to try and look at the files by mounting it in Linux. It did not work. It still does not work after several days of trying. I can only assume that there is something odd about the filesystem that modern systems don't like, even though the captured file is correctly identified as a 46Mb image with filesystem FAT16. Never mind. I do at least have the .hda files that should, in theory, be useable on a BlueSCSI in HDD mode once I get this thing up and running..

But wait, I have another full size SCSI drive. Perhaps I could get an image from this one too. Let's plug it in and see shall we?



Oh dear. Of course I knew it was dead before I took the lid off otherwise I would have just killed the drive myself. But it was gone. I dismantled it to see if I could find the damaged platter. The photo is just one of several that were damaged and is the only one I could get an anywhere OK photo of. For some reason trying to take pictures of highly polished surfaces is surprisingly hard!


Ring of death.


And now, back to the motherboard... (next time).

Blue.


Thursday, February 01, 2024

Socket to 'em! - Torch Triple X - Part 5

At the end of the last installment I had managed to order a spare DMA controller for not too much from eBay. Well, it arrived and I very carefully installed it in place of the existing chip and...


DMA! DMA! DMA!


...no difference. The unit stops at the blue screen, the 68010 fails to start properly and the error beeps for 'main CPU timeout' still ring out from the monitor after 20 seconds or so.

Darnit.

And it was about this point where my replacement ATX power supply started to make worrying buzzing noises. After unplugging it as quickly as possible (and following a quick change of underwear) I put it to one side and decided to come back to it later. Fortunately, I still had my bench supply and I had received a suggestion to use said supply, current limited to about 2 amps to see if I could work out if there were any shorts on the board.

To cut a long story short, the supply went straight into current limit mode and the voltage across the board was exactly the same in every location at around 2.3v. As an experiment I tried to see what current the board would actually be pulling if the voltage on the 5v rail was actually 5v. It draws over 4amps. That's 20 watts for a relatively small bunch of chips. The technical manual suggests that the supply would be drawing a minimum of 2amps but 4amps is worrying.


That's a lot o' amps..


Next thing to try was the capacitors. There are no electrolytic caps on this board but there are about eight tantalums which could fail as short circuit. Perhaps one had failed and was causing a short to ground and the excessive current draw. But after removing them from the board they all checked OK. So then, in a slight fit of frustration (not the last) I removed EVERY 100nf bypass capacitor and checked them all. And there's eleventy billion of the little buggers. I found a bunch of about 20 or so that came out as 70-80nf instead of 100nf. These are clearly out of spec and I will replace them but they're not so far out as to cause any problems. 


Should be 100nf.

Woah! Should be 100nf..

Crikey! Should be 100nf!

Can you guess what? 
Should be 100nf...

Faulty. The lot of you!


After replacing all eleventy billion of the caps and new ones to replace the faulty ones, the result was...

No difference.

Darnit. Again.

Looking over the schematics, and thinking about the various buses in the system it's obvious that the QBUS is working as we are clearly running code from the EPROM. Based on the 'garbage' that used to appear on the screen, the video RAM also seems to be working correctly as this is where the code is loaded before the startup of the 68010. With this in mind I listed out the chips that touch the PBUS and decided to de-solder them so I could test them away from the board - this also means I could install some sockets.

There were a fair few chips in that list. Some of them I could test using my el-cheapo IC tester (but more on that later) but a big proportion were 74LS244, 245 and 373s. These aren't supported by the tester so I had to think of another way to test them.

Enter the Amiga A500+ motherboard! This uses the 74LS244 and LS373 in the data path for its RAM. They are usually the chips that take the brunt of the leaking battery on the A500+ (excluding Gary - poor Gary), and so the A500+ board I have already has them in sockets. It was a simple case of swapping one chip in at a time and checking that the A500+ board booted and didn't generate a green screen. So after a half hour of chip swapping I ended up with a pile of working 74LS244s and 74LS373s.


Ah, the Amiga. 
(Ignore the sockets - I ran out of 20pin ones...)


Next, the 74LS245s. These were a bit more involved and needed me to build a test circuit on a breadboard. Using 8 LEDs, 8 resistors and a bunch of link wires, it was possible to send 8 bits across the chip in either direction based on the level of the DIR pin and check the results using the LEDs as indicators. The upshot was a small pile of fully working 74LS245s.

We're running out of possible suspects on this board...so in the next fit of frustration I de-soldered pretty much EVERY chip from the board.

I thought I had found a problem on the board when a 74LS148 came out as 'BAD' on the chip tester. There is only one of these on the board and its an '8 to 3 priority encoder' which takes eight inputs and turns it into a 3 bit binary output based on the most significant bit on the 8 bit input. The three outputs connect to the IPL0, IPL1 and IPL2 control lines on the 68010. If I have understood correctly, the combination of these lines determines the type of interrupt received by the CPU. My theory was that the faulty chip was causing a non-maskable interrupt that the CPU could not reconcile with a system device causing the CPU timeout. So I ordered some new 74LS148s.

The first thing I did when they arrived was check them on the chip tester. Every one (there were four) came out as 'BAD'.


Oh, no it isn't!


Darnit.

This was annoying for two main reasons. Firstly, I know that the chances of all of the new chips being faulty is slim. This means that this is another case of the chip tester not being accurate. Secondly, the original 74LS148 is probably not faulty either which blows my (rather good I thought) theory out of the water (and I paid for chips I didn't need).. 

The upside of all this though, is that pretty much every chip now has a socket. This will make it much easier to change chips but does introduce a small liability of poor contacts in the sockets. And the hassle of putting them all back into the board again....


So. Many. Sockets.

So. Many. Chips.


After carefully putting every chip back where it should be (foreshadowing), I tried to start it up again. And this time, it was worse. The garbage was back on screen but was not like the previous type. This garbage scrolled down the screen and stopped. No other sign of life. 

So I embarked on a marathon of chip re-seating. Fortunately, using my epic new schematics, I managed to track the problem down to the timer chip. A firm re-seating was all that was needed. The situation improved in that the garbage was as I'd seen before i.e. a series of straight lines moving down from top to bottom followed by a smaller descending rectangle of 'different' garbage. I wasn't happy though as I wasn't getting the beeps out of the monitor to indicate that the CPU had timed out.

Hmmm.

I knew that the audio came from pin 9 on the service processor so it was time for the oscilloscope. And would you believe it..


Bip, Beep, Beep, Be...

So the sound isn't working now even though the service processor is sending out the correct signal. Not a huge problem as long as I know the service processor is still kicking up a fuss about the 68010 not starting up.

But I was still puzzled why I was getting the garbage on screen. Tracing through the video palette schematics I noticed that two chips U26 and U27 should have been a 74F257 and 74F253 respectively but, somehow, they'd been mixed up and actually had a 74LS257 and 74LS253. Interesting.. I swapped U26 and the amount of garbage was reduced. So I swapped out U27 and the garbage was gone! Yay!

But was the board still generating the expected error?

Oh yes. 




I have a habit of uploading the worlds most ridiculous videos. The first 'blip' is the 'beep' it should make when it's turned on. Then, after about twenty seconds or so, the main error beep starts and is 'short long long long', the code for main CPU timeout.

So that means, after all that effort of desoldering and testing almost every IC on the board, buying some chips I probably didn't need, soldering more sockets than any sane person ever should and carefully re-inserting all those chips, I'm basically back to where I was when I started looking at this.

One thing I haven't considered, and which I really should have by now, is if any of the traces on this board have been damaged either by the leaking battery acid from the power supply, or by my removing the chips from the board. I feel a massive spreadsheet coming on..