News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Shining

Fixing Floppy-Drives

Started by Shining, 23:45, 12 January 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

llopis

#100
I have a question about a floppy drive issue I'm having on a 6128, so I thought maybe keeping it in this topic would be a good idea:


When I do CAT, the drive spins up but it returns "Disc Missing" (I don't hear any seeking of the head).
- I replaced the belt.
- Solder joints looked just fine (it's a newer drive model, probably from 88 or 89).
- A different drive DOESN'T in that CPC and that drive works on a different CPC.
- There's connectivity in the ribbon cable from the PCB to the end of the cable.
- I took out the 16KB ROM (which I believe it's the one that holds the floppy disk controller logic) and read it back, and it seems to be correct.

This is where it gets pretty new to me since I've never had to deal with the FDC directly. What can I test to make sure the FDC is working (or not)? I looked at the output of pin 37 with a scope and I don't see any activity when I do a CAT (or press R to retry). The Ready signal is obviously never high either. Is there a better test I can do? Or is it safe to unsolder it and put a different FCD there?

Edit: I looked at the activity of pin 37 on a working 6128 and there are some pulses during a CAT operation. Also, pin 36 (Head Load) isn't used in the CPC from what I can see in the schematic, but there's plenty of activity there in a working 6128, but it's low on the one that doesn't work. So that's making me think it's the FDC.

Thanks.

Audronic

@llopis


In general terms I would be looking at the Buffers IC202, IC203, IC204 First as these talk to the outside world
and are prone to Glitches.


Just a thought


Good luck


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Bryce

Quote from: Audronic on 00:10, 07 January 19
@llopis


In general terms I would be looking at the Buffers IC202, IC203, IC204 First as these talk to the outside world
and are prone to Glitches.


Just a thought


Good luck


Ray

If a different drive works on that CPC, then all the buffers are fine. I'd check what speed the disk is turning at. It maybe be on the border of being too fast or too slow and the tolerances of the other CPC (where it works) are a bit wider.

Bryce.

llopis

Quote from: Bryce on 09:33, 07 January 19
If a different drive works on that CPC, then all the buffers are fine. I'd check what speed the disk is turning at. It maybe be on the border of being too fast or too slow and the tolerances of the other CPC (where it works) are a bit wider.
Oops, bad typo on my part, sorry. A working drive does NOT work on that CPC. And the drive that I'm having issues with WORKS on a different CPC. Yeah, I know, that changes everything.


So it's clearly not the drive, but the CPC board. Do you think the FDC is the likely culprit, or could bad buffers be shorting the signals? I suppose I could start de-soldering and socketing and swapping ICs...

Bryce

Ok, if that's the case, then I'd definitely take a look at the buffer chips. However, not the IC's Audronic mentioned, the output buffer (IC206) is the most likely culprit.

Bryce.

Audronic

@llopis


I was referring to this Schematic


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

llopis

Quote from: Audronic on 10:41, 07 January 19
I was referring to this Schematic
What version of the schematic is that, Ray? It looks different from my schematic (and my board layout):


In any case, we're all taking about the same ICs. Any suggestions on how to test them? Pull them out and feed the gates and check results?

Bryce

I haven't seen that schematic version either, I don't think? Is it from the ammendment?
You can check any of the outputs such as MOTORON or STEP and check that these are going low when they should.

Bryce.

llopis

Quote from: Bryce on 11:14, 07 January 19
I haven't seen that schematic version either, I don't think? Is it from the ammendment?
You can check any of the outputs such as MOTORON or STEP and check that these are going low when they should.
Yeah, I just saw that schematic in the ammendment. The weird things is... my connections aren't exactly like either schematic! In mine, they're more like the original service manual, but pins 37 and 39 of the FDC are hooked directly to IC208 without first going through IC205. Anyway, I'm investigating as I type this.


Also, I went ahead and swapped the FDC (having a good desoldering gun is sooooo handy) and, as you both predicted, that wasn't it. So it has to be one of the buffers...

Bryce

I could have told you that it's not the FDC, but de-soldering practise is always good :)

Bryce.

llopis

I replaced IC208 (a quad NAND gate) since that's where the STEP signals were going, but it made no difference.


At this point, I think I need to gain a good understanding of the communication protocol between the FDC and the floppy drive. Does someone have a good document that goes over the protocol? The uPD765A datasheet goes over a lot of that, but it's too much detail for me right now. I'd love to see some example state diagrams for simple operations on the CPC (or in general).

llopis

New development: I tried that CPC with an external USB floppy drive emulator and it works fine. Unless the emulator is much less strict about some potential signals being incorrect, I think that means that the problem lies in the cable connecting the original drive, right? I tested for continuity from one end of the cable to the other, but maybe some contacts on the PCB aren't good enough. I'll continue investigating...

Bryce

The only signal not shared by the internal and external drives is drive select (NDSEL and NDSEL1), controlled by IC202 (according to Audronics schematic notation). Check that this signal (Pin 10 of the 26pin connector) is definitely going low during disk access.


Bryce.

tjohnson

I looked at ndsel1 on a scope and generally found it was high but goes low upon accessing the drive, so even with b drive selected the signal will remain high until the computer accesses the drive. It always looked high on my cheap multimeter.

Bryce

NDSEL1 is for the B drive. What's NDSEL doing?

Bryce.

llopis

Quote from: Bryce on 12:21, 08 January 19
The only signal not shared by the internal and external drives is drive select (NDSEL and NDSEL1), controlled by IC202 (according to Audronics schematic notation). Check that this signal (Pin 10 of the 26pin connector) is definitely going low during disk access.
NDSEL is permanently high for me. But looking at the origin of the signal, it's the negative of pin 38 (which is always low for me). Pin 38 is:
Quote

38. LCT/DlR (Low Current/Direction)
In the read/write mode, the LCT output indicates that the R/W head is positioned at cylinder 42 or greater. In the seek mode, the DIR output determines the direction the head will move in when it receives a step pulse. If DIR is 0, seeks are performed in the outward direction; DIR is 1, seeks are performed in the inward direction.
Why would they use the negative of that to select the drive? I'm not understanding something.


tjohnson

Quote from: llopis on 16:02, 08 January 19
NDSEL is permanently high for me.



Sorry my post earlier was really to say depending on how you are measuring it, it may always appear high to you, i.e. if you measure it with multimeter, that was my experience anyway.

llopis

I looked at the drive select signals and the ones that make more sense are NDSEL0 and NDSEL1 (I think NDSEL must be a mistake in the label and it should be NDDIR or something like that).


NDSEL0 and NDSEL1 make a lot of sense because they're negatives of each other, and they're generated from the FDD pin 29 (US1):
Quote

US0 US1(UnitSelect0,1)
The US0 and US1 outputs select up to 4 floppy disk drive units using an external decoder.


Surprisingly, during the idle state (the drive not even spinning), US1 is high most of the time with pulses to 0 at periodic intervals. I wonder what that's about (this is on a working CPC). When the drive is accessed with a CAT, US1 will go low for some time (see screenshot).


On the non-working CPC, US1 never changes from the high with pulses to 0 (this is measured directly at the FDD).


I changed the drive cable just for the heck of it without any real hope of change, and of course there's no change.


Summary:

       
  • That drive works on another CPC.
  • Another drive does NOT work on that CPC.
  • A USB floppy drive emulator works on the drive B edge connector.
  • It's not the FDD, yet the FDD doesn't show any reasonable activity (no US1, no STEP)
  • It's not the cable
  • It's not the most obvious NAND IC

So something it's preventing the FDD from working correctly (with unit A), but it's not the FDD itself. I'm pretty baffled!

Any thoughts on what else I can test?

Audronic

Just some thoughts

AT Pin  29 Of the Z765APS This line should toggle as it selects the drives.

At Pin 3 (output) of the 74LS38 (IC202) this should be LOW to select Drive 1 (ONE)
And at the collector of the Q201 KTC1815 this should be LOW to select Drive 0 (ZERO)

The 74LS38 is OPEN COLLECTOR Must have a pullup somewhere

The last thing is to check the Resistors R201 and R202.

Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

tjohnson

Is this an internal 3" drive you are having issues with?  Did you say a floppy drive emulator (gotek?) works when connected to the edge connector of the computer?

llopis

#120
Thanks, Ray. I'll check those today, although my layout is definitely not like the one from the revised manual--it's much closer to the original manual, which doesn't have a transistor there and instead feeds NDSEL1 back through another NAND gate along with some fixed voltage (I assume to avoid hitting fanout requirements). But the idea is similar.

Quote from: tjohnson on 23:26, 08 January 19
Is this an internal 3" drive you are having issues with?  Did you say a floppy drive emulator (gotek?) works when connected to the edge connector of the computer?


Correct. A stock 3" drive (which works in other computers).


The drive that I tried on the edge connector is Pyotr's USB emulator, but I believe it's very similar to a Gotek. I might try a Gotek as well just to be extra sure.

Bryce

Quote from: llopis on 22:50, 08 January 19

On the non-working CPC, US1 never changes from the high with pulses to 0 (this is measured directly at the FDD).

Any thoughts on what else I can test?

If US1 is never going low, then that's your problem. Either the inverter isn't working / stuck high, or the 765 isn't. You need to trace where that issue is originating.

Bryce.

llopis

Quote from: Bryce on 09:03, 09 January 19
If US1 is never going low, then that's your problem. Either the inverter isn't working / stuck high, or the 765 isn't. You need to trace where that issue is originating.
But that's the thing: The 765 is working fine (tested on another computer) and the inverter is down the line from it (and I see it inverting the pulses correctly). So there's something else that's preventing the 765 from working correctly.
It's not a bad ROM (replaced and tested). I thought it could maybe be the data lines going to the FDD, but then I can't explain why it's working with the external drive. This is quite the mystery...
What's the role of the SED9420? It seems to be involved in the floppy disk control somehow. I think it's listed in the schematic as FDC9216, which I imagine is the same. Could that be causing this problem?

Bryce

The SED is a data separator. It sort of cleans up the signals coming from the disk. If it wasn't working, the external drive wouldn't work either.

Bryce.

Audronic

@llopis


I have had a look at your Schematic

And here are some thoughts

The voltages at rest should be :-

IC206    74LS38.    Is it a 74LS38 ?

Using a CRO or VoltMeter

Pins 9 and 10  + 4.1 Volts.  Pin 8  + 0.2 Volts
Pins 4 and 5    + 0.2 Volts.  Pin 6  + 4.8 Volts

Monitor Pin 6 ONLY and do a Cat it should at some stage toggle LOW to + 0.2 Volts.

If not then Monitor pin 8 and repeat the test. It should go from + 0.2 Volts to +4.8 Volts.

Any of the above don't  change then :-  Change the IC206

Ray

Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Powered by SMFPacks Menu Editor Mod