Lecteur de disquette PC sur ordinateurs anciens

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 12628
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Lecteur de disquette PC sur ordinateurs anciens

Message par Daniel » 17 mars 2009 16:09

Tout le monde connaît le problème de remplacement des lecteurs 3"1/2 Double Densité des anciens ordinateurs par les lecteurs modernes de PC. En résumé les lecteurs modernes suivent la norme PC/XT, les anciens sont très souvent à l'ancienne norme Shugart. Plusieurs problèmes doivent être résolus :

1) Drive Select passe de la boche 10 à la broche 12. Pb résolu par croisement des fils 10 et 12 sur la nappe, ou jumper (sur les très vieux lecteurs), ou résistance de 0 ohm à déplacer sur le circuit imprimé, ou pont de soudure à déplacer. Facile :!:

2) Disk Change passe de 34 à 2. Mêmes solutions que le premier point : croisement de la nappe ou bricolage du circuit. Et encore pour certaines machine le Disk Change n'est pas testé, donc il n'y a rien à faire. (exemple TO8D)

3) Ready est attendu sur la broche 34. Il n'existe pas sur PC. Ca se complique un peu. Les très vieux lecteurs ont encore le signal ready quelque part, et même parfois un jumper pour l'envoyer sur la broche 34. Mais pas les lecteurs modernes. J'ai trouvé plein de bricolages dans les forums Amiga mais ils ne m'ont pas convaincu, et n'ont pas fonctionné dans mon cas. J'ai fait des essais avec la broche 34 à la masse, en me disant qu'avec les retries effectués par le contrôleur ça peut peut-être marcher.

4) Pour le 4ème point j'emploie le conditionnel, car je ne suis pas sûr : les sorties du lecteur PC seraient en collecteur ouvert. Il faudrait donc les relier au 5 Volts par une résistance de 2.2 K

5) Le lecteur doit être passé en Double Densité. C'est automatique si on met une disquette DD, ou si on bouche le trou des HD avec du ruban adhésif. On peut aussi court-circuiter le switch de détection du trou sur le circuit imprimé du lecteur

Avec tous ces éléments, j'ai fait des tests sur TO8D avec une douzaine de lecteurs PC. Fils 10 et 12 croisés (pour Drive Select), fil 34 sur le 33 (Toujours Ready, comme les scouts). Les résultats sont mitigés :
- La moitié des lecteurs ne marchent pas : no disk, ou i/o error.
- L'autre moitié marche à peu près, mais il faut quelquefois lancer plusieurs fois la lecture. En général, quand ça démarre ça continue sans problème. Par exemple j'ai pu lancer la démo Mégar n°1 qui lit plus de 500 K sur une disquette de 640 K.
- Je n'ai jamais réussi à formater ou écrire une disquette entière sans erreur.

Mon but est maintenant d'arriver à une solution fiable, au moins pour le TO8D. Donc si vous avez des informations ou des idées sur la reconstitution du signal "ready" et sur le problème des sorties à collecteurs ouverts, votre avis m'intéresse.

Je sais aussi qu'il existe des adaptateurs pour amiga. Ils évitent de bricoler le lecteur PC. Deux au moins sont connus, d'après les forums. Si l'un de vous en a un, peut-il l'essayer pour remplacer le lecteur interne du TO8D ?

Image Image
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Carl
Modérateur
Messages : 11133
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Message par Carl » 17 mars 2009 20:00

sur les Amiga, remplacer le drive nécessite aussi de la bidouille cable, jumper, switch....en DD

http://freewebs.com/computolio/amiga_fl ... ility.html

carl

Daniel
Messages : 12628
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel » 17 mars 2009 20:28

La plupart des informations sur le sujet concernent effectivement l'Amiga. Je me suis intéressé en particulier à la transformation des lecteurs Sony MPF920. Il y a au moins quatre solutions proposées pour le signal Ready sur la broche 34. Les quatre essayées sur TO8D ne marchent pas. J'obtiens encore de meilleurs résultats en branchant le signal Ready à la masse.

Dans ce qu'on lit sur Internet, il y a des choses sérieuses, mais aussi n'importe quoi : par exemple connecter Ready sur le switch indiquant la présence d'une disquette dans le lecteur. C'est beaucoup plus compliqué : il faut en réalité plusieurs conditions :
- disquette présente
- unité sélectionnée
- moteur démarré et ayant atteint la bonne vitesse
- avoir détecté deux tops Index (donc deux tours de la disquette)

L'intérêt du circuit extérieur d'adaptation est non seulement de rétablir le bon ordre des fils de la nappe, mais aussi d'alimenter en 5 V les sorties à collecteurs ouverts et de générer les signaux manquants, en particulier Ready. Le tout sans aucune modification du lecteur PC
Daniel
L'obstacle augmente mon ardeur.

fabu
Messages : 933
Enregistré le : 11 avr. 2007 13:03
Localisation : Aveyron

Message par fabu » 17 mars 2009 20:36


Daniel
Messages : 12628
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel » 17 mars 2009 20:56

J'ai vu ces sites, et aussi une dizaine d'autres sites, blogs ou forums de discussion sur le sujet. D'un site à l'autre les modifications sont différentes pour le même lecteur. Il y a des feedbacks d'utilisateurs disant que tous les programmes ne sont pas compatibles avec les lecteurs modifiés. Et surtout, les essais de ces modifications avec un TO8D ne sont pas concluants.

Cette discussion http://eab.abime.net/showthread.php?t=39042 m'a semblé assez sérieuse. C'est pourquoi, si par hasard l'un de vous a l'adaptateur, il serait intéressant de l'essayer avec un TO8D. Voici le schéma :

Image

Lien direct : http://www.ianstedman.co.uk/Downloads/F ... or_sch.png

Un autre adaptateur :

Image
Modifié en dernier par Daniel le 17 mars 2009 21:11, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.

fabu
Messages : 933
Enregistré le : 11 avr. 2007 13:03
Localisation : Aveyron

Message par fabu » 17 mars 2009 21:06

Cet adaptateur était fourni sur des Amiga 1200 distribués par Escom il me semble ?

Daniel
Messages : 12628
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel » 17 mars 2009 21:14

Celui dont j'ai donné le schéma n'est disponible que depuis début mars (voir à la troisième page de la discussion).

Pourquoi la modification marche-t'elle sur Amiga et pas sur TO8D : je n'ai pas de certitude mais une hypothèse : l'Amiga est très tolérant avec le signal Ready. Qu'il soit branché sur le signal Disk Change, sur le switch de détection de présence de disquette ou à des endroits plus ou moins farfelus sur le circuit imprimé du lecteur, ça marche. Le contrôleur du TO8D semble beaucoup moins tolérant, c'est pourquoi je cherche une solution plus sérieuse.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Carl
Modérateur
Messages : 11133
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Message par Carl » 17 mars 2009 21:32

il y a aussi qlqs bricoles du coté du monde Atari ST

http://atari4ever.free.fr/hardware/drives.html



Sony MPF920-3

http://www.rabayjr.com/amiga_floppy_drives.htm

Daniel
Messages : 12628
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel » 18 mars 2009 08:47

D'après ce qu'il disent pour l'Atari, il suffit de passer le Drive Select de 10 à 12. Le signal Ready ne semble pas nécessaire.

Pour résumer :
- Atari : simple
- Amiga : un peu plus compliqué : trois ou quatre modifications du lecteur, ou un circuit électronique externe
- Thomson TO8D : les modifications proposées pour l'Amiga ne sont pas suffisantes pour un fonctionnement sans erreur. Reste à tester les adaptateurs externes.

Mon objectif est de trouver la bonne solution pour le TO8D. Toute aide sera la bienvenue.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
fneck
Site Admin
Messages : 13575
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Message par fneck » 18 mars 2009 18:32

Je ne me sens pas très compétent dans le domaine et pourtant c'est intéressant donc je veux bien essayer de faire quelque chose. Ne devrait-t'on pas commencer par essayer de lister tous les signaux qui sortent des différentes interfaces? Tu l'as peut être déjà fait Daniel?

Daniel
Messages : 12628
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel » 18 mars 2009 22:26

Effectivement on peut commencer par préciser le rôle de chaque fil de la nappe. Un bon point de départ est http://pinouts.ru/Storage/InternalDisk_pinout.shtml

Le premier tableau donne les signaux utilisés par le contrôleur d'un PC, le second donne les signaux côté lecteur. Il est baptisé "Shugart interface". Mais il n'est pas tout à fait complet : la broche 34 a deux utilisations possibles :
- Drive Ready (disquette dans le lecteur + lecteur sélectionné + le moteur tourne + la disquette a fait au moins 2 tours). C'est le cas des lecteurs Amiga et TO8D
- Disk Change ( la disquette a été changée). C'est les cas des lecteurs PC, et c'est bien le signal attendu par le contrôleur PC (voir premier tableau).

Tout le problème vient de cette broche 34 : le TO8D, par exemple, a absolument besoin du signal Drive Ready. Il était généré par les premiers lecteurs DD. Quelquefois un switch permettait de sélectionner soit Disk Change, soit Drive Ready sur la pin 34. Puis, avec le progrès et les économies, le switch a disparu, puis le signal lui-même a disparu du circuit imprimé (ou alors il est bien caché).

Donc pour faire fonctionner un lecteur moderne sur TO8D, il faut fournir au contrôleur Thomson le signal Drive Ready. Faute de le trouver, j'ai fait des essais avec le fil 34 à la masse, ce qui force Drive Ready en permanence. J'ai aussi essayé de connecter la pin 34 à Drive Select et à Motor ON. L'effet est identique : le TO8D reçoit l'information trop tôt, avant que la vitesse du moteur soit stabilisée. En fonction des lecteurs, ça marche relativement bien, moyennement, ou pas du tout.

Mes derniers essais montrent que les Sony MPF920-E, MPF920-F et MPF520-1 sont presque utilisables : Formatage OK, BACKUP0 OK, copie d'un fichier OK, lancement de la demo Chinese Stack OK, mais de temps en temps quelques erreurs.

En revanche les Sony MPF920-L et MPF920-Z (les plus modernes) ne marchent pas : Device I/O Error pour toutes les commandes.

J'attaque une autre série de tests avec des TEAC FD325-HF. Ils semblent bien fonctionner aussi. En cas d'erreur la difficulté est de différencier les erreur physiques de lecture/écriture des erreurs de communication avec le contrôleur. Si d'autres testeurs veulent essayer nous pourrons comparer nos résultats. A l'instant le premier test vient de se terminer : DISKINI0, puis BACKUP0 d'une disquette de démo, puis lancement de la démo. Aucune erreur signalée pendant les opérations, la démo démarre bien, mais au deuxième programme il y a une erreur de données. Je vais recommencer avec une autre disquette.

Je ne serai pleinement satisfait que si le vrai signal Drive Ready peut être fourni au contrôleur. Je vois deux solutions possibles : soit trouver ce signal en un point du circuit imprimé du lecteur, soit le reconstituer avec un montage électronique à partir d'autres signaux disponibles.
Modifié en dernier par Daniel le 18 mars 2009 23:02, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
fneck
Site Admin
Messages : 13575
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Message par fneck » 18 mars 2009 22:43

Daniel a écrit :...soit le reconstituer avec un montage électronique à partir d'autres signaux disponibles.
Un retard du signal Motor ON, avec la charge d'une capa ? Trop simple ?

C'est bizarre j'ai une doc qui me sert de référence lorsque je parle disquette mais il n'y a pas les mêmes signaux sur les mêmes broches :?
Regardes toi aussi, chapitre 8 -> ICI

Avatar du membre
Carl
Modérateur
Messages : 11133
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Message par Carl » 18 mars 2009 22:53

RDY
Not all drives provide a signal when they are ready and not all controllers make use of it. This signal
is active low, so if your controller needs it and if the drive does not provide it, then you can short the
signal with the adjacent GND pin. It is said that this may cause a few retries, whereas it works
perfectly fine for others. But if your drive provides a ready signal, then use it. Note: The Amstrad
PCW models require this signal. Further, they require its absence for recognizing that there is no
disk in the drive. An artificial RDY signal must be provided if the drive does not offer one, which
modern 3.5" drives don’t, although other ones do.

http://www.hermannseib.com/documents/floppy.pdf

Avatar du membre
fneck
Site Admin
Messages : 13575
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Message par fneck » 18 mars 2009 22:55

Visiblement Carl tu as les mêmes références que moi 8)

Avatar du membre
Carl
Modérateur
Messages : 11133
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Message par Carl » 18 mars 2009 23:07

éh éh !

il existe une interface pour drive 1581 (C64/128) avec possibilité de mettre un lecteur PC récent....

il est nécessaire d'émuler électroniquement le signal ready (en vert) :

Image

Ready signal
PC-drives differ from the standard. One thing missing is the drive ready signal. Standard drives assert this signal, when the floppy disk is spinning at a steady speed and is ready to be read from or written onto. It should take about a half second after the motor has been turned on. If it takes too long, the 1581 will give an error, saying drive not ready. This signal is emulated by R15, R14, D1, C10, and a buffer in IC10. The component values were changed between V0.0.4 and V0.1.0. There is a slim chance that a PC floppy drive has the Ready signal somewhere on its circuit board.
source : http://www.students.tut.fi/~leinone3/dcn2692/

carl

Répondre