FDS reads but not fully

Started by zmaster18, June 08, 2014, 08:11:25 pm

Previous topic - Next topic

oare

Hello everyone,

I apologize for the delay, life got in the way.
I'm almost done writing the guide, it should be up tomorrow.

oare

June 30, 2014, 05:36:20 pm #16 Last Edit: June 30, 2014, 06:39:20 pm by oare
So, here goes.
It's going to be long. I hope it'll be helpful.

====

First and foremost:
This guide probably wouldn't exist without the following video:
http://www.nicovideo.jp/watch/sm5256429
It's the first one in a series that's accessible with a Niconico account. They're extremely thorough, and the author is a very well-spoken person.
If you have a good command of Japanese, I highly suggest you watched them.
All props go to this guy.

====

Step 1:
Remove the 6 screws that hold the top part of the Famicom Disk System.



Step 2:
Remove the 4 screws holding the disk drive (indicated by the red circles, the photo isn't very good, sorry.)
You should be able to remove the drive.
However, oftentimes, the old rubber below the screws will have gotten sticky and the drive seemingly won't budge. Just keep pulling straight upwards, and it should eventually come off.



Step 3:
Turn the drive upside down.
Remove the three screws indicated by the red circles.
The last fourth screw is attached to the motherboard, and will be removed later.
The plate should come off easily.



Step 4:
Unscrew the front panel and remove it.



Step 5:
Remove the 3 springs that retain the plastic disk holder (pictures "a" and "b"). I suggest using a pair of small tweezers, it'll make your life a lot easier.
Remove the disk holder by pulling straight upwards, while at the same time gently pressing the yellow eject button (which appears to the right on picture 5c).
Be careful not to push the eject button too far, otherwise the disk holder will lock in. In case it happens, just unlock the disk holder by pushing inwards the white plastic lock located next to the motor.

5a


5b


5c


Post Merge: June 30, 2014, 05:50:49 pm

Step 6:
While you're at it, take a few seconds to clean up the drive's head with a q-tip and some dehydrated ethanol.



Step 7:
Remove the 4 screws that hold the motherboard.
Pay attention to the shape of the screws: the upper-left one (yellow circle) is connected to GND and has an indented metal washer underneath.
The red ones are both identical.
The purple one (bottom-right on the picture) requires a smaller driver head and has a smaller diameter.

On this picture, you can also see the original, molten drive belt. It is rolled-up onto the bottom-left golden pulley.
In many cases, it won't be that cleanly rolled-up. It'll be all over the place.
Remove every single bit of it and clean with ethanol and a q-tip until there's no trace of black rubber left anywhere.



Step 8:
Lift the motherboard.
In order to lift it, you'll need to free the cable indicated with the arrow from it's hook. Just loosen the hook and it should unlatch easily.
Oftentimes, you'll find a strip of black rubber stuck onto the motherboard.  This belongs to the belt. Remove it and clean with ethanol.

Then remove the three screws of the gear assembly.



Post Merge: June 30, 2014, 05:53:50 pm

Step 9:
Turn the drive around. Remove the spindle hub with a small hex wrench. Be careful not to lose the washer that's sandwiched underneath the spindle hub.

9a


9b


Step 10:
Remove the gear assembly and carefully disassemble it.
You should have three gears:
- lower (black with a white top, in the yellow circle)
- middle (white, in the green circle), which remains attached to the triangle bracket.
- upper (the one that has a thin, unevenly shaped metallic plate attached to it, in the red circle).
The "upper" gear is the one that moves the drive's head. It is the one that usually causes problems.
Notice the two holes on the plate in the blue circles. We'll call the left one "the outer hole" and the right one "the inner hole".



Post Merge: June 30, 2014, 06:00:01 pm

Step 11:
Now's the time to replace the belt.
I use Mobilon bands, they're available in the right size and sturdy enough.  But I don't know if they exist outside of Japan.
Some people just make a belt themselves with two strips of electrical tape glued together (use two strips of about 24cm in length (~10 inches), glued to each other).
Whatever suits you.
The belt diameter should be 70mm. Ideally, its width should be 4mm for a thickness of 0.4mm. The ones I'm using are 3mm and 0.3mm respectively, but they work fine.

11a


NOW IS THE MOST IMPORTANT PART.
Place the belt onto the lower gear. (picture "b")
Pull it around the triangle bracket's leg that goes towards the motherboard (see the arrow on picture "c").
Then, align the lower gear so that the black rectangular (or round) hole falls at around the same position as shown in the picture.
On later drives, there' a guiding hole added to the bracket, so finding the right angle is much easier (picture "c_2").

Now, this is crucial: make sure that the "outer hole" (see step 10) on the metal plate of the upper gear is properly aligned with the black hole of the lower gear.
Both need to be perfectly in-line with each other as shown in pictures "c_2" and "d".

Why is this important?
See the explanation below.

11b


11c


11c_2


11d


Post Merge: June 30, 2014, 06:03:14 pm

Step 12:
Put back the gear assembly, making sure the holes are still properly aligned.
While you put the assembly back, you'll need to push the head all the way towards the front of the drive, otherwise the assembly won't fit.
Once the assembly is back in, release the head. It should fall perfectly flat onto the upper gear's metal plate, as shown in the picture (yellow circle).

Pull the belt all the way down to the motor pulley.
Again, make sure the holes are still properly aligned.
(don't pay attention to the motherboard in the picture, it shouldn't be there yet.)



Step 13:
In order to make sure the holes are in the right position, fit the drive's bottom plate back on. If the black hole of the lower gear shows perfectly centered through the hole indicated by the red circle, you're good to go. Screw everything back together - except for the plate, since you need to access the gears in step 14.
If the black hole isn't perfectly centered, go back to step 11.

(On later drives (picture "c_2", step 10), things should be perfectly aligned on your first try, as the hole in the triangle bracket is aligned with the one on the plate.)



Post Merge: June 30, 2014, 06:09:40 pm


Step 14:
Once the head assembly is screwed back together, turn the drive around.
It's time to align the spindle hub.
Looking from the top, turn the lower gear clockwise with your fingers in order to make the head move.
At one point, you'll hear a "click" and the head will fall quickly all the way to the back of the drive.
Leave everything in that position.

An easy visual clue for the "click" point is the screw that's located next to the head (the one that appears on top in the picture, refer to the red line in pic 14a).
The "click" happens just after you reach that screw.
Another good visual clue is the hole marked by the red circle on picture "14b". The half-circle hole on the upper part of the drive should align perfectly with the "inner hole" of the upper gear (see pic in step 10).

14a


14b


IMPORTANT:
If you miss the "click", you might be tempted to keep turning the gears clockwise until the head slowly crawls back up to position. DO NOT do it, otherwise you'll screw up the alignment.
Rather, just push the head gently towards the front of the drive, and turn the gears counter-clockwise about 30 to 45 degrees.
The head will get back up to a point located before the "click".
Then start turning again clockwise until the "click" occurs.
If you miss it again, rinse and repeat.

Once you've reached the desired position: fit the spindle hub and screw it onto the axle so that its flat side is perfectly perpendicular to the head (refer to the red lines in picture 14c).

14c


Step 15:
Put everything back together, starting with the motherboard.
Now, try a game. If everything's properly aligned, it should work on your first try.
Use a game that has no saving feature.
The reason why it's preferable to use a game with no saving feature is that games disks that contain saves written with an improperly calibrated drive may not work (due to the save file being written on side A of the disk).

15a


15b


Post Merge: June 30, 2014, 06:13:19 pm

====

Why is calibrating important?
The FDS drive reads data in a sequential manner. Which means it reads the whole disk and transmits everything it reads "as is" to the RAM adapter every time it goes through a reading sequence.
It has no ability to seek for relevant data. Relevant data needs to be fed to it from the get-go.

Some people compare it to a tape drive, which is a fairly accurate description.
Imagine a tape drive with data on it (as in early computers, for example): it reads data sequentially, from the beginning of the tape to its end. If you try to read the tape from anything but the very beginning, you'll get an error.
Similarly, if somehow the tape reader head were to be dislodged form its position and shifted to the right or left, you'd get errors even if you rewound the tape properly.

With the FDS, the situation is the same.
The lower gear is controlled by the motor; when the motor spins, the pulley makes the lower gear spin. When the lower gear spins, it moves both the spindle hub and the upper gear, which in turn moves the drive's head.
On the spindle hub, there is a little metal piece (I've seen it called "guiding pin" in some documentation) that latches onto a specific part of the disk (the "guiding hole").
Therefore, after a given number of rotations of the motor, both the disk and the drive's head will always be in a certain, precise position.
In order to read disks properly, the head needs to point to the right portion of a disk when it starts its reading sequence, like a rewound tape points to the beginning of its tape.
Otherwise, since the drive is unable to seek for relevant data on its own, it'll spit errors.

====


Post Merge: June 30, 2014, 06:15:09 pm


I aligned everything properly, but it still doesn't work!
Three case scenarios.

Case one: the drive's motor is getting old. It's old stuff. It happens. Luckily, there's a little screw that you can move in order to fix things. See picture "appendix_1" for the location of the screw.
Take a small flat screwdriver, and turn it counter-clockwise in small increments in order to increase rotating speed.

appendix_1


Case two: The drive's been tinkered with. There are plenty of guides on the Internet, but unfortunately, most of them only cover the spindle hub part of the repairing process. Some do also include exotic (and sometimes potentially harmful) additional steps. Because of this, a few disks have save data on them that was wrongly written.
The good news is that oftentimes, it is just a matter of reading speed. So it is usually possible to read "bad" disks by simply adjusting the reading speed until it matches the speed of the drive on which the saves were made.
It is even possible to "restore" wrong disks by doing a few saves while turning the motor screw in very small increments just before you save- until you reach your drive's original speed. But do it at your own risks.
The bad news, now, is that there are disks on which saves were written after a bunch of forbidden things were tinkered with. Like the head screws, for example. Restoring those disks would take forever. I suggest you just build yourself an FDSLoadr, or better yet, an FDSLoaderSaver (http://kitahei88.blog.fc2.com/blog-entry-111.html), and rewrite the disks altogether.

Case three: it's just a bad disk.
I have only ever seen one as of today, and it was physically damaged. But you never know.

fredJ

Thanks. Nice with a guide that explains how things work for once.
Considering I have restored a bunch of these , I'm not sure if it has to be this complicated, but okay. I'll have to test some drives and get back.

A question is if a badly written disk would work on a properly calibrated disk system. Shouldn't a perfectly calibrated disk system read rewritten disks too? But I'll have to do some testing myself.
Selling  Japanese games in Sweden since 2011 (as "japanspel").
blog: http://japanspel.blogspot.com

oare

Quote from: fredJ on July 01, 2014, 04:39:36 am
Thanks. Nice with a guide that explains how things work for once.
Considering I have restored a bunch of these , I'm not sure if it has to be this complicated, but okay. I'll have to test some drives and get back.

A question is if a badly written disk would work on a properly calibrated disk system. Shouldn't a perfectly calibrated disk system read rewritten disks too? But I'll have to do some testing myself.


Thanks for the feedback.
Since you appear to have experience repairing FDS drives, I'm not sure what you mean by "complicated".
It's basically just one step (step 11) added to those detailed in most other guides.

But the thing with this method is that it's foolproof.
Provided the FDS hasn't been tinkered with before (i.e when you open it, the rubber belt is there in all its molten glory), it is guaranteed to work without you having to go through the hassle of blindly repositioning the spindle hub again and again. And it even works like a breeze with the older, crankier drives, which in my experience have always been the hardest to bring back.
With those steps and a bit of practice, you'll have basically any untouched unit up and running in less than 30 minutes, cleaning included.
The only thing you might need to adjust a little once you're done is the motor speed. But the screw for that is way more accessible than the spindle hub.

As for the "badly written disk" I'd say it's a matter of "how wrongly" the disk was written. Depending on what kinds of repairs the drive had gone through, it can go from "simple motor speed adjustment needed" to "nearly impossible to read".
The latter being for example a disk on which a save file was written at a speed that's beyond the maximum your drive is capable of outputting due to wear. Apparently, there is a certain margin of error allowed by design in those drives, so sometimes, drives with improperly set speed will read data fine, but what they write may be unreadable for more worn drives.
The worst case scenario would be a disk that was entirely rewritten with a drive on which the spindle hub and upper gear were all over the place, and the screws behind and to the right of the head had been  played with (there is glue on both those screws - and there is a good reason for that!). That would probably be completely unreadable.

What do you mean by "shouldn't a perfectly calibrated disk system read rewritten disks too?"
If you mean disks rewritten entirely on another somewhat  calibrated drive, they'll be able to read them - provided the disks were rewritten at speeds and alignments that were within the margin of error. Otherwise, not.
Again: the FDS drive has no ability to seek for relevant data. Data is written in a spiral on the magnetic disks, and read and fed "as is" to the RAM adapter. The head can only walk one path, at a constant speed, and can't ignore any of the steps.
So if a disk was written on a drive where any of those three was wrong, you'll have to either adjust your drive in order to make it match the "wrong", or find a way to rewrite the disk.

Speaking of which, I've recently finished building my FDSLoaderSaver unit (see the end of my previous post for the URL). I haven't seen it discussed a lot (or even at all) on the English side of the Internet. But I'll just say this device is absolutely glorious. Incomparably better than the old FDSLoadr cable.
First, it is USB, so no need to keep a Pentium III like a caveman just for your FDS needs. And second, it is able to write disks directly from Windows 7/8, so you can even toss away your copy of DiskKeeper!
Only downside: it's a lot more of a hassle to build than the FDSLoadr. But once it's done, it works flawlessly!

Here's a little pic of my new friend.


Sure, it's not THE best FDS-related device out there (that would be the elusive VirtuaQD), but it is a close second in terms of reading/writing capabilities.

fredJ

Well, i don't normally unscrew everything and remove the tray, and the many steps seemed complicated. But next time I'll try your guide and get back...

My colleague will be trying to build a FDSLoaderSaver too now. I hope that now, with this guide, we will finally be able to rewrite my stock of wrong disks.

I think the Mobilon bands can be found on ebay these days but if you have a 10pc bag to sell cheap, I might be interested.
Selling  Japanese games in Sweden since 2011 (as "japanspel").
blog: http://japanspel.blogspot.com

P

We have discussed the FDSLoaderSaver before, but only slightly. I want to try building it someday but I currently don't have any means to program AVR microcontrollers.

oare

Quote from: P on July 01, 2014, 09:51:21 am
We have discussed the FDSLoaderSaver before, but only slightly. I want to try building it someday but I currently don't have any means to program AVR microcontrollers.


My bad, I tried to look for posts about it but couldn't find any.
As for the AVR programmer, you're probably aware of this but just in case, you can build one yourself : http://www.fischl.de/usbasp/
Or alternatively, you can buy one for less than 5 USD on ebay (keyword "USBASP")!

zmaster18

Wow I really appreciate this in depth guide! I will be trying these new alignment techniques sometime later this week and will give you some feedback on the methods! :) Also, I tried looking for that giant bag of FDS belts but can't seem to find it. Are there any online retailers that sell a bag of that size for a reasonable price?

I'm also really interested in making the FDSLoaderSaver, possibly permanently built into an FDS if possible. Whats the total cost of the parts, and can all be found online rather easily? I've never soldered anything with micro-controllers before but I'm willing to learn as long as it doesn't require any complex equipment.

80sFREAK

*clap clap clap*
NIce pics. Very nice. And nice story indeed  ::)
*clap clap clap*

Ummm... just curious if your mechanic splitting apart whole engine to replace alternator belt?  ???

P.S. i feel, that someone is back  ???
I don't buy, sell or trade at moment.
But my question is how hackers at that time were able to hack those games?(c)krzy

P

Quote from: oare on July 01, 2014, 12:57:01 pm
Quote from: P on July 01, 2014, 09:51:21 am
We have discussed the FDSLoaderSaver before, but only slightly. I want to try building it someday but I currently don't have any means to program AVR microcontrollers.


My bad, I tried to look for posts about it but couldn't find any.
As for the AVR programmer, you're probably aware of this but just in case, you can build one yourself : http://www.fischl.de/usbasp/
Or alternatively, you can buy one for less than 5 USD on ebay (keyword "USBASP")!

Discussed is maybe an exaggeration. It's more like it was mentioned once somewhere. I'm glad that someone else bringed it up. And thanks for the tips, I didn't know about USBASP.

Quote from: zmaster18 on July 01, 2014, 01:56:19 pm
I'm also really interested in making the FDSLoaderSaver, possibly permanently built into an FDS if possible. Whats the total cost of the parts, and can all be found online rather easily? I've never soldered anything with micro-controllers before but I'm willing to learn as long as it doesn't require any complex equipment.

The most expensive part is probably the LCD module (about 12$) and maybe that USB module. The rest of the parts are probably quite cheap. Then you have to get an AVR programmer that supports this AVR chip and get it to program with the .hex file that comes with the FDSloaderSaver package. I'm sure you can find instructions online how to program it.
FDSloaderSaver package can be downloaded here: http://kitahei88.blog.fc2.com/blog-entry-113.html.

I'm not sure about building it into an FDS disk drive unit. Is there even enough room in the case?

80sFREAK

P, there is always space in the battery case.
I don't buy, sell or trade at moment.
But my question is how hackers at that time were able to hack those games?(c)krzy

P

But then you can't use batteries can you? Anyway it sounds like a lot more work then keeping it as a separate unit.

zmaster18

Yeah, I would mount my board in the battery compartment and then make cuts in the front plate where 'Nintendo Family Computer Disk System' is and put the lcd, buttons, and leds there. I'm ok with wasting an FDS drive on making a permanent FDSLoaderSaver machine. Also wouldn't even have to cut a RAM adapter cable for the setup if it's already hard wired internally in the system.

If someone could provide a list of parts and maybe some general guidelines for building it, that would be much appreciated. I have a batch of bad FDS games that need to be rewritten eventually.

oare

Quote from: 80sFREAK on July 01, 2014, 04:21:47 pm
Ummm... just curious if your mechanic splitting apart whole engine to replace alternator belt?  ???


Let me tell you a big secret:
my car's engine doesn't read FDS disks!

Seriously, though, you should try and do some reading about the Mitsumi Quick Disk before you rush into sarcasm on the sole ground of your certitudes (and you certainly hold onto those like an owl onto a dead mouse ;D). There's  documentation available, it's just a Google search away. It might enlighten you.
Funnily enough, it appears that this issue has actually been discussed on this very forum back in 2011 (!!). I found the following post by user Xious:
Quote from: Xious on October 12, 2011, 05:50:57 am
This is close to the truth: There are two additional alignment stages, and some drives are particularly stubborn if you ignore them. Try restoring 150 of these buggers sometime and you'll understand what I mean.  That window also differs on earlier and later drive mechanisms (there are three major variations).
(...)
For what it is worth, no tool was used by Mitsumi: Gear positioning and other factors mean that you need nothing else, save the correct knowledge.  :bomb:

See this thread for reference:
http://www.famicomworld.com/forum/index.php?topic=6723.0

Quote from: P on July 01, 2014, 04:29:32 pm
Quote from: zmaster18 on July 01, 2014, 01:56:19 pm
Whats the total cost of the parts, and can all be found online rather easily?

The most expensive part is probably the LCD module (about 12$) and maybe that USB module. The rest of the parts are probably quite cheap.


The most expensive part is actually the USB <-> Serial/Parallel module. It's also probably the hardest to procure outside of Japan.
The UM232H is available for 22 EUR here:
http://www.reichelt.de/Programmer-Entwicklungstools/UM-232-H/3//index.html?ACTION=3&GROUPID=5514&ARTICLE=107168&SHOW=1&START=0&OFFSET=16&&SID=11Ui-CjH8AAAIAAHf6C8w3d62fe084f41156ad8cda1415e5f8f87&LANGUAGE=EN

I used the cheaper AE-FT232HL documented in kitahei88's files, but I don't think it's available from any retailer but Akizuki Denshi (who probably doesn't send stuff abroad).
It was 1200 JPY (about 9 EUR/12 USD). The LCD module was 900 JPY.

Buying all the parts, the total cost should be around 40 EUR/50 USD, maybe?

Quote from: zmaster18 on July 01, 2014, 07:30:43 pm
Yeah, I would mount my board in the battery compartment and then make cuts in the front plate where 'Nintendo Family Computer Disk System' is and put the lcd, buttons, and leds there. I'm ok with wasting an FDS drive on making a permanent FDSLoaderSaver machine. Also wouldn't even have to cut a RAM adapter cable for the setup if it's already hard wired internally in the system.

If someone could provide a list of parts and maybe some general guidelines for building it, that would be much appreciated. I have a batch of bad FDS games that need to be rewritten eventually.


That would be a nice looking device!
Definitely feasible. However, you don't absolutely need to cut a RAM adapter cable in order to build the device. You could just use a 12 pin 2mm pitch socket and a 2mm->2.54mm adapter. That would be non-destructive.

The complete parts list as well as the schematic are in the files at the URL provided by P.
Here's a quick translation of the parts list:

UM232H compatible device (such as the AE-FT232HL) x1
AVR Atmega164P-20PU x1
20MHz crystal x 1
16x2 character LCD (HD44780 compatible) x1
(kitahei88 uses an SD1602HULB, if you use anything else, you'll need to check and adjust  the pinout accordingly)
74HCT14 x1 (74HC14 might work too)
Radial lead monolothic multilayer ceramic capacitors 22pF 50V x2
Multilayer ceramic capacitors 0.1uF 50V x4
Electrolytic Capacitors 100uF 16V x1

Semi-fixed potentiometer 10K x1
1/4W carbon resistor 100ohm x1
1/4W carbon resistor 330ohm x4
1/4W carbon resistor 4K7 x1

Push switches x3
Switching diodes 1N4148 x2
5.1V Zener diode 1N5231B x1
LED (any color) x4

Prototyping board (at least 24 x 30 holes) x1

RAM Adapter cable x1

Optional:
Pin header 2x3 *1
EI series post header x1
(Those are for the AVR programmer, kitahei88 uses an AVRISP mk II.  I used a cheap USBASP bought on eBay, which came with a 10 pin socket and could draw juice to power the board from the USB port, so I didn't need any of those.)
12 pin 2mm PH series header x1
(That's for the RAM adapter cable; you'll need a 2mm to 2.54mm adapter too if you go this route.)

Also, here's a picture of the backside of my FDSLoaderSaver.

Yes, that's a truckload of wires.

P

Aah I had just translated that parts list but Oare were quicker. :)

You might also want to get female headers for all the break-out boards (LCD module, UM232H etc) and sockets for the chips like in the pictures. This way you don't need to permanently solder them to the board. Oh and you will want to solder a 16P (or how many pins your LCD has) pin header to your LCD module or you won't be able to plug it in.

Quote from: oare on July 02, 2014, 12:42:43 am
Quote from: P on July 01, 2014, 04:29:32 pm
Quote from: zmaster18 on July 01, 2014, 01:56:19 pm
Whats the total cost of the parts, and can all be found online rather easily?

The most expensive part is probably the LCD module (about 12$) and maybe that USB module. The rest of the parts are probably quite cheap.


The most expensive part is actually the USB <-> Serial/Parallel module. It's also probably the hardest to procure outside of Japan.
The UM232H is available for 22 EUR here:
http://www.reichelt.de/Programmer-Entwicklungstools/UM-232-H/3//index.html?ACTION=3&GROUPID=5514&ARTICLE=107168&SHOW=1&START=0&OFFSET=16&&SID=11Ui-CjH8AAAIAAHf6C8w3d62fe084f41156ad8cda1415e5f8f87&LANGUAGE=EN

I used the cheaper AE-FT232HL documented in kitahei88's files, but I don't think it's available from any retailer but Akizuki Denshi (who probably doesn't send stuff abroad).
It was 1200 JPY (about 9 EUR/12 USD). The LCD module was 900 JPY.

Damn 21.80 € for the USB module. I'm basing the price on the LCD on Swedish prices so they are probably a bit higher than Japan or Canada.