Tony & All,
I do have the factory service manual for the 1541, and it doesn't have any
info on signal waveforms / levels. I'm aware of some diffs between the 1541
I had a look on
http://www.archive.org/ DO a search for '1541' (no
quotes), tehre is a file called something like 'Troubleshooting and
repair guide' This is the SAMS manual for the drive, and is IMHO very
helpful. I am not sure about waveforms, but there are theory-of-operation
secitons, trests, etc. I think it assumes you ahve a working C64 to run
test progrmas.
and 'standard' drives, though once you get to
the mechanism itself, much
generic info should apply. Most important thing to realize is that the 1541
& cousins are smart peripherals - essentially complete appliance-ized
computers with CPU, RAM, ROM, I/O & PSU all dedicated to serving a floppy
mechanism - so they are +much+ more complex than a basic 5-1/4" drive.
Sure. There's a 6502, ROM and RAM in there...
But soem other 'intellegnet' drives, liek the HP ones have a stnadard
drive mechanism, and a controller card in the same case. The drive is
stadard, it has the normal stepper motor control circuit, etc. The
commodore ones don't, the stepper motor is cotnroleld by some signals
from an output port (6522?)Not a problem if you are
aware of it, of course.
Both of the problem drives seem to have roughly the same problem - they
don't seem to be able to read anything at all, and the heads barely move.
One drive is in an SX-64, the other is an Enhancer 2000 3rd party unit.
As an example: Attempt to load a directory.. motor spins up, LED lights
then flickers as the drive does little else. Eventually a "FILE NOT FOUND"
error will pop out. The head never moves at all in some cases, in others,
it seems to toggle between two tracks or half-tracks, seemingly on or near
the directory track (18 of 35).
Firstly, can the heads move (check it's not mechanically gummed up).
Then, this sounds like you've lost drive to one of the stepper motor
windings. I would put a 'scope or logic analyser on thsoe output port
signals to make sure it is trying to move the heads, and then trace
through the driver circuitry to the stepper motor itself. It may be
nothing more than a bad conenction at the stepper motor socket on the PCB.
First guess was mech. problem with the head / stepper motor / rails etc,
but at least in the SX-64 I was able to swap mechanisms and the error
stayed with the machine. I then swapped FDD boards between the two SX-64s
and the problem followed the FDD board - so it's a board problem.
Next guess was bad servo drive signals, which go like PLA -> 7404 ->
ULN2064 (open-collector Darlington driver) -> step motor phases x 4. But
this all seems OK as well.. If I watch servo signals on both "good" and
"bad" drives as I send an unending string of commands (like I0:, which is
"initialize the drive hardware") I see the exact same signals with the same
co-incidence with head noises & drive actions on both drives.
Hmmm.. .This is impossible. Same signals, motor and mechancics OK, but
one works the other doesn't...
Do you have +12V on _both_ red wires to the stepper motor?
The motor is controlled, as you say, but that gate array chip, but
actually it's jhsut a 2-4 line decoder here. If you get the
troubelshooting manaul I mentioned, look at the schematics of the
original versionm, which used a lot of TTL, not that gate array, and the
stepper motor part is jsut half a '139. The inputs to decoder (wheter it's a
TTL chp or part of the gate array) come from one of the VIAs. So check to
see you have changing signals on both pins 10 and 12 of that gate array
chip.
-tony