Error indication on Gotek LCD?

Post Reply
snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Error indication on Gotek LCD?

Post by snhirsch »

I'm seeing repeated cases where the display on the Gotek blinks and changes to horizontal bars at the top and bottom. The only way to recover is to cycle the power. Is this a deliberate situation based on an internal problem or do I have a defective unit?

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

This shouldn't happen. a picture ?

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

I will try! It is very infrequent, occurring only while writing. Removing the USB stick or pushing buttons has no effect. It tried to post ASCII art, but the web interface is mangling the spacing. I did send to Jean-Francois in an e-mail.

Disconnecting power AND ribbon cable is necessary to clear this state. If I disconnect only power, the display stays lit at partial brightness. I think the 3.3V CMOS logic is being kept active by the 5V pull-up on the various input lines.

Thanks for your response. I have been spending a lot of time trying to get these Gotek units to work with my CP/M computers and not having much luck.

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

snhirsch wrote: Thanks for your response. I have been spending a lot of time trying to get these Gotek units to work with my CP/M computers and not having much luck.
Then get a genuine HxC drive ;)

Anyway please make a picture, or better, a video showing the issue.

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

I appreciate your point about the HxC hardware, but if there is something that can be done to make the Gotek units work more reliably isn't that also a good goal?

The LCD error state is difficult to trigger, so I doubt a movie will be practical. If I see it again I'll take a photo. I'm not making this up and have described exactly what is happening in my e-mail. It's occurred perhaps 4-5 times so far when connected to the Heath computer.

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

snhirsch wrote:I appreciate your point about the HxC hardware, but if there is something that can be done to make the Gotek units work more reliably isn't that also a good goal?

The LCD error state is difficult to trigger, so I doubt a movie will be practical. If I see it again I'll take a photo. I'm not making this up and have described exactly what is happening in my e-mail. It's occurred perhaps 4-5 times so far when connected to the Heath computer.
The HxC hardware is already working and I doubt that i can do anything for the Gotek hw, exceptially cause i don't have your hardware, and no possibility to figure what is going on.
So unless i can get some pictures/videos, this will be hard.
Have you any oscilloscope ?

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

Yes, I have a well-equipped bench. Tektronics 100Mhz. dual-trace scope, Rigol 100Mhz. digital scope, Techtools 18-ch 100Mhz. logic analyzer, meters, probes, etc, etc.

This is really looking to be specific to the Western Digital 179x and 279x controller chips. I cannot get anything to fail on the P112 CP/M system (NEC 765 controller), while the Kaypro and Heath (WD 179x controller) throw random R/W errors despite endless experimentation with gap sizes and formats.

What type of data would you like me to capture?

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

snhirsch wrote:Yes, I have a well-equipped bench. Tektronics 100Mhz. dual-trace scope, Rigol 100Mhz. digital scope, Techtools 18-ch 100Mhz. logic analyzer, meters, probes, etc, etc.

This is really looking to be specific to the Western Digital 179x and 279x controller chips. I cannot get anything to fail on the P112 CP/M system (NEC 765 controller), while the Kaypro and Heath (WD 179x controller) throw random R/W errors despite endless experimentation with gap sizes and formats.

What type of data would you like me to capture?
Read data line at the machine side, write data line at the emulator side.

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

I need a little more input here if you don't mind. Are you looking for waveform data or logic trace? Under exactly what conditions? My logic analyzer has somewhat limited triggering capability, but it's easy to capture a fair amount either side of index on any given track (not enough capture buffer to read the entire track, unfortunately).

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

snhirsch wrote:I need a little more input here if you don't mind. Are you looking for waveform data or logic trace? Under exactly what conditions? My logic analyzer has somewhat limited triggering capability, but it's easy to capture a fair amount either side of index on any given track (not enough capture buffer to read the entire track, unfortunately).
i don't care about the logic trace. I want to see the waveform.

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

Under what conditions, please? "See the waveform" is a broad statement. If you give me some idea what you are looking for I can be of a lot more assistance. I assume you want to trigger on falling edge of index, correct?

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

just show me the read waveform : 1us/div and 1V/div.
No particular sync required.

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

I have not forgotten about capturing the read waveform, but decided to do some serious digging in the interim. First, I wanted to eliminate I/O latency between the embedded controller and the USB stick as much as possible. A lilttle research disclosed the fact that the SanDisk Extreme USB 3.0 sticks have about 10x better small R/W performance than any of the competition. I bought one of these and discovered that a lot of problems went away. The Gotek + USB now worked in all cases where I previously had to use a USB hard drive. One problem down.

After trying the unit (and USB stick) with a number of machines, I discovered that almost every other one of my CP/M systems worked flawlessly. This included an alternate type of soft-sector controller for my troublesome Heath machine. A third-party controller from Magnolia Microsystems was extremely problematic (random read and write errors), but Heath's own Z37 controller worked with no problems at all. Since I have the source for both device drivers, I took a close look at how they were handling things at a low level. For whatever reason, the MMS driver does not use the WDC controller's built-in seek capability. Instead, they implement their own loop, hitting step-in (or step-out) as fast as possible (immediately after controller-busy is de-asserted) to get from current to target position.

As an experiment, I added a few lines of assembly code to set the 'V' flag on the last step operation. According to the WDC documentation, this inserts a 30 msec. settling delay after the last step. The modified driver made an enormous improvement! I am still seeing the occasional error, but it is an order-of-magnitude better than it was so I think I'm on the right track (no pun intended). I will still check the read waveform in both situations, but I strongly suspect that the MMS driver was trying to began read / write operations before the Gotek controller had the track data ready.

And, naturally, I have not seen the odd LCD error code since I first posted about it. Go figure...

snhirsch
Posts: 170
Joined: Tue Dec 08, 2015 1:42 am

Re: Error indication on Gotek LCD?

Post by snhirsch »

Hi, Jeff. Not sure if you are still following this thread (or have any interest in it), but my issues with the Heath computer are almost certainly not related to signal integrity. After introducing a 30 ms head-settling delay after the last seek step and a 1 ms delay between write completion and step, the unit is working quite reliably. I believe the Magnolia MIcrosystems device driver was violating a number of timing constraints, perhaps in the interests of performance. They may have been able to get away with this on the majority of floppy drives, but the code was causing major problems with the Gotek emulator by simply being in too much of a hurry.

Again, not sure if you are interested, but I have a suggestion: The Heath format program kept insisting that I had a 96 tpi. drive attached when used with the Gotek. When I looked at the source code I discovered that they are testing for an 80-track drive by recalibrating to track 0, stepping in 47 tracks, then stepping out 46 tracks and checking for a Trk0* signal. Even though the emulation image was for a 40 track drive, the emulator apparently does not stop logical stepping and therefore the software concludes it's an 80-track drive. If you have the emulated drive metadata in the .HFE file, why not have the microcontroller behave as a real drive would and stop stepping at ~ 40-42 tracks? In my case I was able to hack the formatter to bypass this check, but it would be optimal if the drive "knew" what geometry it was supposed to have and behaved accordingly.

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Error indication on Gotek LCD?

Post by Jeff »

Ok. I will maybe add this option into the next firmware release.

Post Reply