Tuesday, October 22, 2024

"Thou shalt get side tracked by bulls*** every go**am time." - The Ghoul, Fallout

While waiting for a couple of logic chips and a Z8 microprocessor to arrive from everyone's favourite auction site to try in the errant OMTI board, I thought I would spend some of the limited spare time I get to install a gotek in the Cifer.

My thinking on this was that the hard disk is still not working and the floppy drive has been 'pinched' for the Torch (for now). If nothing else, it would be cool to have a gotek loading up CP/M on the Cifer and would give me an excuse to play with my 3D printer to create a black front plate that matches the current floppy drive bezel.

First things first.

It's been a while since I had the Cifer switched on and I have been guilty of pilfering some RAM from its non-functional 68000 expansion board. Well, to be honest, I've nicked all of it. I suspect I may have to do a bit of a bulk buy if I can find any large lots of RAM lurking online. 


Ah. Not only missing the RAM the 68K board is also
missing the err... MC68000. Oops.

It's been spread across various machines (including the Torch) with the result that the Cifer has been left open, sat on its side with the innards hanging out. What could possibly go wrong?


It's like a vintage computer horror film...

So today, I found the various screws I had and, after tidying up the boards and cables, affixed the base plate and turned the Cifer main unit back onto its feet. After plugging it in and switching it on, imagine my slight sadness that it appeared the unit was dead. The fan started up OK but it's an AC fan connected directly across the mains voltage so it's always going to work. But nothing appeared on the CRT. Darnit.

I reached for the reset switch and, fortunately, the CRT sprang into life but showed a garbled screen of incomprehensible garbage. Double darnit. 


Artists impression - this is an old pic but you get the idea..

Side Track 1

Immediately, I suspected the display RAM which just so happens to be on the largest board inside the Cifer, buried deep inside. Off came the base plate, out came the 68K board and the 4010 graphic emulation board, until finally, I got down to the display board. There's a gaggle of eight RAM chips in the bottom right corner and it was one of these that I had replaced the first time I worked on this machine. My RAM tester is in a very different condition now, having been 're-factored' onto a prototype board which is firmly fixed into a 3D printed case, rather than just a bare bread board, but it still works as advertised.


OK, so it's not the most exciting 3D printed
case on the planet


First chip, faulty. 

Oh, no.

Second chip....

Fully working. As was the third, fourth and, in fact, the rest of them. I went back to double check the first chip failure to confirm it wasn't just a dirty contact on the tester's ZIF socket. It still failed and I actually checked it another three or four times just to be certain. I did have one RAM chip left on the 68000 board but, ironically, it's a Sanyo chip which was harvested from an Amiga RAM expansion several years ago. But it tested OK (even it it's technically the wrong RAM size - the pin out is compatible but it won't use the top bit) so I installed it onto the board.

And...success! The display appeared exactly as it should with a line of options at the bottom of the screen and a friendly flashing cursor on the top left.


Phew! Normal service resumed...


At this point I cobbled up the necessary cable to connect the gotek into the system, The current floppy drive and the gotek both use 34 pins but the physical drive uses the edge-connector style connector and the gotek uses 34 pins. After a false start I realised that the floppy cable in the Cifer is quite long and extends deep into the case before appearing at one of the external connectors on the back. This meant it wouldn't be easy to just use any old floppy cable so I decided to put an IDC connector on the existing cable far along enough to reach the rear of the gotek when installed, but far enough away from the existing plug that they can co-exist.

And so, once this was done (which involved two pairs of pliers, at least one piece of pinched skin and several colourful words) I was ready to get the unit back together and plug in the gotek. I also didn't quite get it far away from the existing plug, but that's a problem for another day.


Additional 34 pin connector

And then I realised I hadn't plugged in the keyboard. Obviously, I plugged it in and started the Cifer up again.

Side Track 2

BEEEP BEEEP BEEEEEEP

Oh, dear.


Garbage in, garbage out.
But I've seen this happen before..


The keyboard was spouting tonnes of garbage onto the screen. Disconnecting the keyboard stopped the garbage so, there's something wrong with the keyboard now. 

Triple darnit.

The keyboard has a bunch of standard logic chips and a few other passive components so I did what any enthusiastic amateur would do. Throw parts at it! First, I tried changing the chips that I'd previously replaced which were in sockets. This made no difference. So then I started removing and then testing the remaining chips starting from the end with attached curly cable. And when I reached to CD4040, my tester declared the chip was "BAD". Ah-ha! I had a couple of these in the box 'o bits so, after fitting a socket (actually two small sockets as I'd run out of the actual size required) and pushing a new chip home, I tried again.


The keyboard board. Another earlier pic prior to 
the original repair attempt


CD4040 at IC8 - now socketed

And...


Success!! The keyboard was behaving itself and I could type as previously and, more importantly, I could press 'F6' followed by the 'Disc' key to trigger the OS load function. 


Back on Track

So now I have a gotek, a cable with the right connector and a computer waiting for an operating system disk. This brings us all the way back to getting an appropriate disk image on to the gotek. With the excellent greaseweazle, it's easy to 'rip' an image from an existing disk - assuming you have a working floppy drive of course.

Fortunately, I have one working 5 1/4 floppy drive (from the Cifer itself) and a bucketload of disks to rip. But first, I need to make sure that I can actually get the correct format. The Cifer has a slightly odd disk format which includes Track Skew and Sector Skew attributes. When data on the disk is written or read, once one track has completed writing or reading, the heads then move to the next track. The movement of the heads takes a finite amount of time so the skew ensures that, in the time it takes to reach the end of one track and move the head to the next, the start of the next track (or first sector) arrives under the head at the point the head reaches that track. That is, the data is skewed from one track to the next by the angle the disk would advance in the time the head needed to step from one track to the next. (See here.)

Similarly, the sector skew value does the basically the same but on a sector level rather than a track level. The upshot of all this is (allegedly) more efficient and faster read/write access to the disks.


Photo of a screenshot of a photo (!) of the Cifer disk format


All this is very important when we want to 'rip' a disk and create an image to use on the gotek. 

Back to greaseweazle. The first thing to do is hook up the greaseweazle with the floppy drive and check it works. The large units like the 5 1/4 inch unit I have here, mean that I need to use an external power supply to do the job. They need +12v so a USB cable isn't going to cut it here.

Next, with the greaseweazle software installed and a disk inserted, we issue the command:

gw --drive 2 seek 70

This makes the head move to track 70 (other tracks are available) and is a good verification that the greaseweazle can see the drive and communicate with it.

Next, we capture a raw .scp file which is a single file that captures the actual flux variations in the magnetic coating on the disk itself. They tend to be quite large but are the best way to ensure a good 'master' copy of a disk.

gw --drive 2 read myTestFloppy.scp


Typical greaseweazle output when reading a disk
(This is from a linux powered PC but is the same for Win)


Once it's done, I tend to load the image into the most excellent HxC floppy disk emulator software so that I can see a representation of the actual disk. Example below!


HxC Floppy Emulator - This is when things go well!


Now comes the slightly tricky bit. We need to convert the .scp file into something a bit more friendly for the gotek. This could be done by specifying all of the needed parameters at the gw command line but that would be really cumbersome. Fortunately, gw has several 'built in' disk formats and also allows you to define your own. For the Cifer, the disk format is like this:

# prefix: cifer.

disk dsdd
    cyls = 80
    heads = 2
    tracks * ibm.mfm
        secs = 10
        bps = 512
        rate = 250
        cskew = 2
        hskew = 4
    end
end

So the 'prefix' bit is the name of the format i.e. cifer. Then the 'dsdd' is the format of the disk needed. All of the other bits are the parameters passed to gw so we don't have to enter them ourselves. This includes an 'ibm.mfm' option since it does use that particular encoding. So the conversion line for the file looks something like this:

gw convert --format=cifer.dsdd cifercpm1.scp testimage1.img

Nice and simple. :)

Each disk format has its own defs file that is stored (in Windows at least) in the greaseweazle-1.xx-win64\greaseweazle-1.xx\lib\greaseweazle\data folder. Earlier versions had a single giant diskdefs.cfg file but the version I've been using (1.20) uses the one file per format arrangement.

So, now I have an .img file containing CP/M. The question is, does it actually work? Let's find out.

The gotek was connected to the data cable and a suitably modified power cable (mod is reversible). I powered the Cifer on and could see that the display on the drive lit up. Using the two buttons on the front I made sure that the correct disk image was selected and then pressed 'F6' to select 'CIF' mode, and then the 'Disc' button followed by the enter key. 



All set up and ready to go.



And......


Ah. I think you'll find that it works. :D


That. Is. Freakin'. AWESOME!


Playing with CP/M


That worked an absolute treat! So now I can go and look at taking images of all the Cifer disks that I have in my boxes. And of course I also managed to get the 3D printer out to put it in a proper 5 1/4 in type enclosure. 

I think that I will put the gotek in the Cifer itself using the fancy 3D printed bracket, and extend the cable out so that I can plug in the physical drive unit if I need to. Oh, and I wondered if both drives would work on the one cable. Yes. Yes they do. Setting the gotek to DS0 and the TEAC drive to DS1, they behave impeccably (no pictures sadly) as drive A and drive B. And not a twist of a cable in sight IBM.

Here's the 3D printed bracket in all its glory! 



Naked(ish) gotek


Next time, I lose hours of my life trying to make the Torch TripleX boot..


Friday, September 27, 2024

"And on the 381st day, he rose again (almost)..." - Torch Triple X - Part 8

There's a saying which can be abbreviated as 'KISS', or 'keep it simple stupid'. The argument is obviously, if you keep something simple, it's more likely to be successful. So, from that, you might be getting the feeling that I've found something stupidly simple to do with the Triple X. And you would be correct.

One of the main things that has bugged me about this machine is why, when using a perfectly good ATX power supply, there was only 4 volts on the 5 volt rail. Was it a short on the board? Could it be a faulty chip leaking current to ground? In the efforts to try and find out I:

  • de-soldered every capacitor and checked every one (some were out of spec to be fair)
  • de-soldered every chip and tested each one (also added sockets to every chip)
  • spent hours tracing the tracks to see if there was a broken or damaged track somewhere causing problems
  • bought a spare DMA controller chip (MC68450) 
  • attempted to buy an MMU (MC68451) but found they are the proverbial rocking horse sh*t
  • dismantled, cleaned and re-assembled the power supply plug that plugs into the motherboard
  • swapped the 68010 into an Amiga A500 to check it worked (it did)
  • checked every DRAM chip on the motherboard and Limpet expansion board (twice)
  • read up on the DMA controller and MMU to see if I could work out if any signals were missing or going astray
Well, guess what dear reader. It was none of those things. Tonight, while contemplating what to do next, I had the Torch switched on and, on this boot, I had fairly dark lines running down the screen. 

Ah, the usual garbage on screen.

I happened to move the cable from the ATX power supply and I saw that the lines almost all disappeared. I fiddled a bit more with the cable and the unit went off. Could this be the source of the problem?

My cable setup was a bit convoluted. I had the ATX power supply with standard Molex plugs. This plugged into a Molex socket with fly leads which where then connected to the actual Torch power cable via 'choc-blocks'. The point at which I could affect the display was at the purchased Molex socket... So I removed it from the setup and cut off one of the Molex plugs from the ATX PSU so that the red, yellow and black wires went straight into the connector blocks.

I did not expect this to make any difference, but when I switched on the PSU I saw immediately that the red LED on the Limpet board flashed. I had never seen it do that before. And then, after about five seconds or so, the pale blue screen changed to dark blue with the text 'Caretaker 1.3' shown at the top.

The best thing I've seen on a screen for a long time...

Oh. My. Gosh.

And then, after another few seconds, two more lines appeared with the message 'SCSI Controller 0 not present' and 'Please insert the key disk'.

No SCSI controller - not surprised as it's not plugged in!

Oh. MY. GOSH.

Trembling, I reached for the Torch ring that contained the hard disk and floppy drive. After some more power connection shenanigans I turned the machine back on....

....and the hard disk died. Or more accurately, it didn't really spin up. This was a bit of a disappointing surprise. I re-checked all the cables and tried again. This time, the drive managed to spin up, but then, as I brushed the power cable, it span down. Did I have ANOTHER dodgy connection? Yes, yes I did. This time is was the plug on the hard disk itself. It was tarnished with a slight hint of green, presumably from the battery vomit. I took the drastic step of desoldering the plug so I could clean it properly - which I did - and then I re-installed it.

Back on the bench, I had just the hard disk connected up to the disk controller board and main Torch unit -  balanced a little bit precariously - and switched on.

Is this a GUI I see before me?

OH. MY. GOSH.

The hard disk works. Or at least it works enough to read the static RAM and realise it's missing the required security information. 

And then, to cap it all, I decided to plug the keyboard and mouse in to see if the mouse would move the pointer. And it most certainly does. All I need to do now is get the floppy drive plugged back in and try the security disk. It'll almost certainly lose any settings it picks up when it gets switched off (and then demand the security disk again) until I can rig something up with batteries to stop that happening.

A slightly precarious setup.


And then I hit a snag. In my haste to get the floppy drive connected to the Torch I connected the data cable to J2 on the disk controller, instead of J7. I didn't notice this at first but when I booted up again, with a 'sacrificial' disk in the drive, just to check everything would work, nothing happened. It was only after about five or six boot attempts I realised my mistake.

Cable plugged into J7 which is correct this time...


The sequence of events went like this. After another failed boot I wondered if there was an issue with the floppy drive itself. So out came the Greaseweazle and, after a few minutes of fiddling I found that reading disks was not working properly. Specifically, the bottom head was reporting much lower flux levels than the top. Looking at the track analyser in the floppy disk emulator confirmed my worst fears. The bottom head is not working at all.

Top looks fine (left), bottom not so much (right)


So then I went back to the controller board and checked the connections and, would you believe it, I'd plugged the floppy drive into one of the control connectors for the MFM hard disks. Now this should not have really had any negative affect on anything, but it looks like, thanks to my impatience, it may have damaged the floppy drive. Of course, it may be coincidence and the head just went bad, but as a great man once said, "There's no such thing as a coincidence.".

Fortunately, I have another floppy drive available from the venerable Cifer. It's a much simpler drive but it should (I hope) do the job. 

To the rescue! Sort of!

*Narrators voice* "But it did not do the job."

Sadly, no matter how I configured the drive (I had fiddled with the drive selection jumpers before and the manuals are particularly bad at saying what the drive number should be!) I just got the same results. Grey screen, icon demanding the key disk.

So I am now in the position where it looks like the motherboard is working OK, the Limpet board RAM is working OK, the keyboard and mouse are working OK and the hard disk is working OK (hence the grey screen demanding the key disk), but I cannot make the floppy drive read the key disk. The objectively terrible manuals don't really say whether the floppy drive should access disks automatically or if there should be some 'secret handshake' on the keyboard to kick things off. It's almost implied it's automatic, but not explicit.

I'm off to do some thinking...

PS I decided to try and get the BlueSCSI working as I have disk images from the Torch. After a bit of fettling I got this:

Well, that's not right.

Fortunately, a quick rename of the image file on the SD card and things went a little more smoothly. It just appears to work. So now the Torch can tell me to insert the key disk even faster... 


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.