Jump to content
IGNORED

HowTo: Adjust analogue part of FDC 279x in a 1050 disk drive


tf_hh

Recommended Posts

Hi all,

 

this post is intented as a "How To" short manual for all those who have problems with their 1050, specially when using medium/enhanced density or double density (with Happy 1050, Speedy 1050 and so on). I didn´t found this information here at AtariAge, so I want share this.

 

Some people purchased Turbo 1050, Speedy 1050 or the Bitwriter 1050 from me and report problems. In most cases the 1050 drives where the new expansion was built-in weren´t extensively tested before, so the conclusion for the owner was: The new expansion is the culprit.

 

The FDCs (Floppy Disc Controller) 2793 or 2797 used in the 1050 drives needs at some points exact input signals to work properly. These are the 125 KHz rectangled frequency for single density base clock, a 230 microsecond long impulse for precompensation (when using double density, MFM mode) and others. "Modern" FDC like the 1772 (used in the XF551 drive or Atari ST computers) have the needed PLL and synchro circuits built-in and adjusted by the manufacturer. The old FDC 279x need external R/C links to setup the needed frequency and delays.

 

Two problems now appears:

 

- Every FDC has tolerances within. Really EVERY piece. Also when you take two pieces from the same batch, same production week etc.

- Every 1050 mainboard may have different manufacturers of the involved capacitors and resistors with their own tolerances

 

What happens now? Sometimes - specially when you buy any used drive from "anywhere" - the pre-owner (or anybody else) has done some "repair" by changing the parts in sockets (FDC, CPU, RAM, ROM, RIOT) and when he´s lucky, the 1050 works. But when the FDC was part of the changed ones, you get a 1050 drive with wrong adjustment.

 

The typical issues:

 

- When the adjustment is absolute out of specs, you can´t successfully format or write to any disk. Reading might be okay

- When the adjustment is nok ok, but not totally worse: Formatting and writing a disc with medium/enhanced/double density fails, but single density works

- At all cases: You might can write format and write a disc with medium/enhanced/double density flawless, but no other drive can read your formatted discs...

 

So MAYBE your drive need an adjustment. This post doesn´t claim itself as a cure-all, it´s just a possibility. I´ve hat a lot of drives for repair in the last 20 years, where the FDC has changed one time for any reason (and some people change them for a test, but not change them back...)

 

How-To adjust the analogue part for FDC´s frequency setup:

 

- Open 1050, remove drive mechanic

- Remove (if necessary) any speeder PCB. You need free access to the FDC and approx 1-2 cm around it

- Switch on the drive and let it warm up (chips) for 5 minutes

- Warm up your scope :)

- Close TP7 and TP8 with a jumper. This forces the FDC to enter it´s self-test mode. We need this mode to make the signals visible. See the picture below, where I made a square around TP7 and TP8:

 

post-15670-0-29509400-1536148212_thumb.jpg

Now put your scope´s probe to pin 16 of the FDC. When test mode is enabled, this pin shows a square waveform with a frequency of 125 KHz or pulse width of 4 microseconds (uS):

 

post-15670-0-11982900-1536148498.png

If your measurement doesn´t match, use the variable capacitor (marked with "3" in my last picture at the end of this post) to set it to 125 KHz / 4.0 microseconds (uS).

 

---

 

Next step is pin 29 of the FDC. At this pin you should get a single positive edge with a timeframe of 1.0 microseconds (uS):

 

post-15670-0-29918200-1536148763.png

When your result is different, use the pot marked with "1" in my last picture at the end of this post to adjust this value.

 

---

 

The last step is specially needed for double density (MFM) operation. Check pin 31 of the FDC, you should get a single positive edge with a length of 230 nanoseconds (nS):

 

post-15670-0-36250300-1536149012.png

To adjust this signal, use the pot marked with "2" in my last picture at the end of this post.

 

That´s all! Don´t forget to remove the jumper crossing TP7 and TP8 :-D (otherwise your drive remains not usable and you´re wondering...).

 

I hope somebody found this useful - at last to be sure that your drive is working with the right setup :)

 

Jurgen

 

post-15670-0-51962200-1536149377_thumb.jpg

  • Like 24
  • Thanks 1
Link to comment
Share on other sites

I have a 1050 that I changed the FDC to test and then found the 74LS74 was bad. I guess I should put th3 original FDC back in even though it seems to be working fine? I was thinking about doing so anyway just to make sure it works and, if it does, keep the newer known working one. If the old one doesn’t,t work I will try following the instructions given here.

Link to comment
Share on other sites

That looks like a nice scope. What are people using nowadays? I think I might retire my old Tektronix 465B

The screenshots are from a Rigol DS1052E/DS1102E. That was the "standard hobbyist" scope a couple of years ago, nowadays I'd recommend looking at it's successor, the DS1054Z.

 

The DS1054Z has 4 channels (which are enormously helpful), intensity grading and other nice features and sells for about 400 bucks (tax included).

 

I started with a good old Tek 465B, then bought a DS1052E and a couple of years ago a Rigol MSO2072A (2 channels analog + 16 channels logic analyzer). The DS1054Z wasn't out back then and I needed more than 2 channels. 4 analog channels would have been nice, but there was nothing in a somewhat affordable range (<1.5k) available.

 

so long,

 

Hias

  • Like 1
Link to comment
Share on other sites

I have a 1050 that I changed the FDC to test and then found the 74LS74 was bad. I guess I should put th3 original FDC back in even though it seems to be working fine? I was thinking about doing so anyway just to make sure it works and, if it does, keep the newer known working one. If the old one doesn’t,t work I will try following the instructions given here.

 

You should do. Maybe the differences of both FDC are small. And of course the whole thing can accept some tolerances within. But if you know exactly which FDC was installed former, take this one.

Link to comment
Share on other sites

That looks like a nice scope. What are people using nowadays? I think I might retire my old Tektronix 465B

 

This is a RIGOL DS-1102E, dual channel DSO with a equivalent to 100 MHz analogue sampling rate and seperate trigger input. Regarding price and feature sets, it´s something of higher entry class or lower middle class DSO IMHO. You can pay tenth of money and get more functions, but for a tinkerer like me it´s enough. This model is very popular here in Germany, a lot of people in the electronics-related forums own such a DSO.

Link to comment
Share on other sites

Thanks a lot, Jürgen, these alignment instructions are really helpful!

 

One question: where did you get the nominal values for read pulse width and write compensation pulse width from? I've glanced through the 1050 docs I had here (techref and Sam's) and the WD297x datasheet but couldn't find any info on these.

 

BTW: you don't need to probe on the FDC pins, Atari included testpoints with pins for these signals so you can simply attach your probe hooks - and have your hands free.

  • 125kHz VCO output (pin 16) is available on TP10, next to the blue variable resistor marked "1" in your picture
  • Read pulse output (pin 29) is on TP9, next to the blue variable resistor "2"
  • Write precompensation output (pin 31) is on TP11, also next to variable resistor "2"
Just for the kicks I grabbed a really crusty 1050 from the shelf and checked these 3 signals. To my surprise they weren't too far off, I'd actually say rather fine.

 

The 125kHz VCO output was spot on:

 

post-9299-0-69837000-1536235442.png

 

The 1us read pulse was a tad longer but basically just as it should be:

 

post-9299-0-48255100-1536235451.png

 

Write precompensation pulse width was 250 instead of the 230ns you mentioned, so about 10% off. I guess I'll tweak that a bit.

 

post-9299-0-00448900-1536235458.png

 

so long,

 

Hias

  • Like 2
Link to comment
Share on other sites

One question: where did you get the nominal values for read pulse width and write compensation pulse width from? I've glanced through the 1050 docs I had here (techref and Sam's) and the WD297x datasheet but couldn't find any info on these.

 

Several sources - See these Datasheets:

 

Texas Instruments FDC - beginning at the bottom of page 10 and following pages the setup is explained

WDC FDC - at page 7 and 10 the adjustment is found

 

The datasheets said 250 ns for precompensation time for double density - but all sealed drives (i.e. never-touched 1050 drives) I´ve in my hands were adjusted for 230 ns. I think, Atari did this in relation to the slightly lower rotation speed of 288 RpM instead of standard 300 RpM.

 

And, finally, I found a interesting (sorry: german only) document some time ago at the AtariWiki explained how to make a clone of the 1050. This one also states 230 ns. This document contains the way how to build a 1050 clone using same major chips, but a standard (PC) floppy disk drive - like the XF551 does. It´s written from Bernhard Engl, the developer of the Turbo 1050 speeder. See below. At page 6 the adjustment is found.

 

Jurgen

 

tech-doc_1050-klon.pdf

  • Like 3
Link to comment
Share on other sites

I saw that document just the other day and wondered what it was: 1050 Klon. I couldn’t find much of anything other than that doc.

 

IMHO there´s not more availible - that´s only a proof-of-concept, but was never build (by Bernhard Engl). Looking to some of these "TOMs drives" schematics and other solutions made in Poland looks similar to that idea.

Link to comment
Share on other sites

 

IMHO there´s not more availible - that´s only a proof-of-concept, but was never build (by Bernhard Engl). Looking to some of these "TOMs drives" schematics and other solutions made in Poland looks similar to that idea.

 

Google translate tends to get tenses wrong but it does seem that this was prototyped and tested at least once with a modified Epson SD521 and the stock 1050 ROM. My German is almost 30 years gone.

Link to comment
Share on other sites

Hi Jürgen,

 

thanks a lot for the info!

 

The datasheets said 250 ns for precompensation time for double density

Where did you find that? In the 279x datasheets I can only find the adjustment procedure and that write precompensation is adjustable between 100 and 300ns - but no recommended setting. Could well be that I'm blind and missing the relevant part though :-)

 

but all sealed drives (i.e. never-touched 1050 drives) I´ve in my hands were adjusted for 230 ns. I think, Atari did this in relation to the slightly lower rotation speed of 288 RpM instead of standard 300 RpM.

 

And, finally, I found a interesting (sorry: german only) document some time ago at the AtariWiki explained how to make a clone of the 1050. This one also states 230 ns. This document contains the way how to build a 1050 clone using same major chips, but a standard (PC) floppy disk drive - like the XF551 does. It´s written from Bernhard Engl, the developer of the Turbo 1050 speeder. See below. At page 6 the adjustment is found.

Ah, thanks, this is good info. Completely forgot about Bernhard's 1050 clone, it's been a while that I looked at that document.

 

so long,

 

Hias

  • Like 2
Link to comment
Share on other sites

Where did you find that? In the 279x datasheets I can only find the adjustment procedure and that write precompensation is adjustable between 100 and 300ns - but no recommended setting. Could well be that I'm blind and missing the relevant part though :-)

 

Real exactly "written with blood" I also didn´t found anything to this point, but @ WD datasheet on page 10:

 

post-15670-0-89278600-1536584938.png

My interpretation is here: "250 ns for precompensation is default".

 

Another independend DIY project I´ve looked for more infos is found here: FDC ZFDC Floppy Board for S100 computers - Scroll down to "Adjusting the Data Separator setting of the WD2793".

 

Other projects are found with the WD279x and they repeat the datasheets or name it seperately, like here: Floppy Disk for PDP-11

 

So I think, 250ns is correct. Why Atari used 230ns... unknown. But I think, 250ns would also work fine.

 

Jurgen

Link to comment
Share on other sites

My interpretation is here: "250 ns for precompensation is default".

So I think, 250ns is correct. Why Atari used 230ns... unknown. But I think, 250ns would also work fine.

 

Write pre compensation should be 125ns. That's the value used by the WD1772, and that's the standard value used at the industry on almost every drive and density.

 

The paragraph highlighted is not for calibrating write pre compensation, but for the data separation rate. It is still possible that 250ns might be the correct calibration value as a consequence of the circuit doubling the nominal 125ns period at some point. The datasheet is not clear about that.

 

I'm not sure about the 230ns vs 250ns difference because of the 288 RPM (vs 300 RPM) makes much sense. Most controllers perform 125ns write precompensation regardless of the drive RPM. You say that you read 230ns on most drives, but Hias read 250ns on his one.

Link to comment
Share on other sites

The paragraph highlighted is not for calibrating write pre compensation, but for the data separation rate. It is still possible that 250ns might be the correct calibration value as a consequence of the circuit doubling the nominal 125ns period at some point. The datasheet is not clear about that.

 

I'm not sure about the 230ns vs 250ns difference because of the 288 RPM (vs 300 RPM) makes much sense. Most controllers perform 125ns write precompensation regardless of the drive RPM. You say that you read 230ns on most drives, but Hias read 250ns on his one.

 

Yes, you´re absolutely right - I miss that point. But when pin 29 is RPW - for reading - than a little lower value than 250ns according to the lower rotation speed is the consequence IMHO.

 

This information and the need for adjustment I got some years ago from the ABBUC floppydoc Erhard. Because I was interested in the whole thing, I dig - or try to - more into the datasheets and so on. In my collection of 1050 drives I found three models with untouched main PCBs into drives with untouched seals, also the named pots and variable caps in the first post have intact sealing wax drops.

 

These three drives I let warm up and check the current setting. All three were around 230 ns, a little bit less, a little bit more. Maybe it´s a random experience, of course.

 

I will try some tests with 250 ns setting the next days.

Link to comment
Share on other sites

But when pin 29 is RPW - for reading - than a little lower value than 250ns according to the lower rotation speed is the consequence IMHO.

You are saying that because of the different RPM, then the density recorded would be different than nominal? Yes, of course. But you still adjust the FDC to record at nominal frequency, don't you? You don't change the recorded bit rate or the data separator rate for the different RPM (that's what the XF551 does :) ) So why you would do different with the write precompensation?

 

These three drives I let warm up and check the current setting. All three were around 230 ns, a little bit less, a little bit more. Maybe it´s a random experience, of course. I will try some tests with 250 ns setting the next days.

The difference between 230ns and 250ns is not too significant, and I don't know which values Atari used. The real question is if that is the double of the write precompensation value or not. Because, again, the correct value should be 125ns, adjusted for the different RPM in the worst case. The datasheet mentions something about a 3:1 relation of the "one shot" that I really don't understand, do you?

Link to comment
Share on other sites

so bottom line how many untouched drive have been tested and looked at ? Was is 230 or 250?

This may very well be tied to rpm and the Atari long sector and dual density modes.

 

I'd like to know this too. I've got two 1050's, one unmodified (though I did adjust the drive RPM a few months back - it was reading a consistent 285 RPM). My other has a Happy 1050 repro from AtariMax in it. I hope to be able to do some measurements tomorrow but we'll see. I can't measure the modified drive until I figure out where I stashed the original 6507 and ROM that were in it. :)

  • Like 1
Link to comment
Share on other sites

Note sure this applies, but on page 9 of this document there is a discussion of the pulse width and voltage settings:

Interesting document, but the voltage values are just a very rough estimation. It can't be precise because there isn't a direct, fixed relation between voltage and pulse width. Otherwise you wouldn't need a pot, the correct voltage would be applied static at the board level, and you wouldn't need calibration.

 

so bottom line how many untouched drive have been tested and looked at ? Was is 230 or 250?This may very well be tied to rpm and the Atari long sector and dual density modes.

 

I think it is still open. Yes, is very possible that the 230ns value was selected because of the non standard RPM. If you mean that it should be calibrated according to exact RPM on each drive, then no, that's not the purpose of the calibration. The purpose of the calibration is to compensate for the FDC internal analog circuit manufacturing tolerance. The sector size and the dual/enhanced vs true double density doesn't doesn't matter at all. We are talking about something at a much lower level. Only the encoding, the frequency and the physical density of the flux transitions matter.

 

But I think the difference between 230ns and 250ns is not very significant in this case.

  • Like 1
Link to comment
Share on other sites

Hi,

 

I didn´t found the exact way explained in any of these datasheets. I collect my experiences from what I read at other sources and primarily what I measure at untouched 1050 drives.

 

I grab into my boxes in the basement today and found another two 1050 PCBs. They were loose, without mechanics, but IMHO untouched. The shielding cage was intact, the pots and caps have their wax without any traces of a tool like a scredriver. Look at the pictures below my text.

 

The first PCB got after 10 minutes warm-up time:

 

Pin 16 ==> 3.840 uS (should be 4.000)

Pin 29 ==> 0.960 uS (should be 1.000)

Pin 31 ==> 228 ns

 

The second PCB got after 10 minutes warm-up time:

 

Pin 16 ==> 3.900 uS (should be 4.000)

Pin 29 ==> 0.950 uS (should be 1.000)

Pin 31 ==> 230 ns

 

When you measure in less than 5 minutes warm up time, the values are mostly below 224 ns at Pin 31.

 

So I got at four untouched and sealed (pots and variable cap or whole drive) something around 230 nS. So I can assume that this is the setting Atari did use. The reason may be discussed further...

 

Jurgen

 

post-15670-0-53653100-1537020674_thumb.jpg

post-15670-0-77688300-1537020681_thumb.jpg

post-15670-0-06673700-1537020693_thumb.jpg

post-15670-0-96910300-1537020701_thumb.jpg

 

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...