There have been some questions concerning Widget which I would like to comment on. As the old mails have not been transferred to this forum and it is not clear yet how this will be done I will include the relevant parts as quotes.
Ray: Jan 03 08:10AM -0800
> Replacing that board fixed the spindle which now spins and unlike the
> first Widget, this one is quieter, however I've not been able to get it
> to unclamp the brake solenoid by replacing the boards and the wide
> ribbon cable between the top board and the back plane motherboard, nor
> by replacing all the boards.
The brake solenoid is released by the servo reset /SRst pulse. To release it manually, momentary short pin 3 of U8 (74LS09) to ground. Or pin 4 of the motor PCB if you suspect a bad connection from controller to motor.
> I get various different errors when swapping out various boards from 81,
> 82, and 85 and am wondering how to debug the issue.
Not at all. 81 means "drive not ready" (after 100 seconds), 82 means "bad response" (drive did not send 0x01 after /PCmd set low) and 83 means "status returned not zero". 84 indicates an invalid boot file, 85 a timeout after initial handshake. All these errors tell you to call your Authorized Apple Dealer and get your unit fixed.
To check what really went wrong you have to read the extended status from the Widget controller. This can be done with WidEx (on an Apple ///), with Tom's NeoWidEx (on a Lisa) or my UsbWidEx (separate unit that connects to a PC).
> Anyone know which board returns status to the Lisa - that is where are
> these 00's and FF's coming from? Is it the top controller or the
> motherboard?
Of course, this is done by the controller. The drive itself is dumb, it gets serial commands for the servo (like "recal", "go forward by +33 tracks") and it sends and receives a bitstream to resp. from the heads. Like a floppy drive or an old MFM unit. You can talk to the controller without the drive attached. Of course then you would be limited to selftest and status reporting.
> I notice there is a cylindrical sensor next to the drive spindle that's
> screwed in and points to the edge of the spindle;
That's a tacho sensor that generates the Index and Sector pulses. Widget is hard-sectored. The index pulse is generated once per revolution (every 19,4 ms), the sector pulse approximately every millisecond. Without an oscilloscope you could measure the frequency at pin 12 (Index) and pin 39 (sector) of the controller Z8, or even listen to them (51,5 Hz resp 1 kHz).
Tom: Jan 03 03:58PM -0800
> First of all, whenever you select any of the commands from the menu, if it
> hasn't had a chance to talk to the disk yet, it requests sector $FFFFFF to
> find out what's attached. Then, if the disk doesn't respond in a Widgety
> way, it refuses to run any of the Widget commands.
Ok, that might have been the second best idea. A drive that has detected some internal fault will disable the ProFile (0x00, 01, 02) and Widget System (0x26 00, 26 01) commands. To get block 0xFFFFFF from such a drive you would have to use the Read_ID command (0x12 00 ED with handshake 02/55). Reading Controller and Servo status should always be possible. These commands would not hurt a ProFile/XProfile/IDEfile, they will be ignored.
Jason: Jan 04 11:47AM -0500
> What does the light on the top of the controller do? (Not the READY light
> that faces forward)
It is illuminated when either PowerOk is low or /CRes asserted, or when the controller wrote a zero into address 01800h. It is toggled every 100 ms in the "MsWait" delay routine.
The LED on the motor PCB indicates the /WRTSAFE signal. A second LED can be connected to J5 at the controller board. Usually /WRTSAFE is active whenever the heads have been settled on a track, i.e. no seek is taking place.
> If the brake coil is bad, you could move it out of the way for testing.
Right. But don't forget to move it back into position before the drive is moved or tilted! Never move the heads while the disk is not spinning. They need some minimum speed to lift from the surface, otherwise they will scratch it.
> Note that if you swap the motherboard you have to re-adjust the pots. I
> think this adjustment needs doing if the head servo board is swapped too.
Also correct. The motherboard has to be adjusted to match the optics inside the drive, and Tacho Gain and Offset have to be adjusted together with the servo board. The latter is not so critical, i.e a drive with swapped servo will work in most cases. But never separate mechanics and motherboard unless you know what you are doing.
Patrick