Oui, bien vu, c'est une faute de frappe. Merci de l'avoir trouvée ! Je viens de corriger.
Vous avez tous bien compris comment fonctionne le système, mais ne croyez pas que ce soit une bonne solution : en moyenne il faut 10 secondes pour charger un programme sur disquette à partir d'une carte SD, et 10 minutes pour charger le même programme à partir d'une image de cassette et SDLEP-READER. Je continuerai donc à faire la promotion de la simulation de disquette et de la conversion de cassettes en disquettes. SDLEP-READER est seulement un pis-aller, le dernier recours quand on ne sait pas convertir la cassette en disquette.
Le plus important dans cette invention est le format de fichier .lep. Contrairement aux fichiers .wav il ne décrit pas le contenu de la cassette, mais la sortie du magnétophone. Dans le cas des TO le magnétophone décode les fréquences enregistrées pour sortir des niveaux TTL 0 ou 1, donc la sortie est totalement différente du signal de la bande. Grâce à ce nouveau format on peut non seulement faire des images de cassettes standard, mais aussi de cassettes protégées contre la copie par des systèmes d'enregistrement non standard. Le format .k7 ne le permet pas, c'est pourquoi il ne sera pas possible d'écrire un convertisseur de fichiers du format .k7 vers le format .lep.
Par manque de temps je n'ai pas encore répondu ce matin à toutes vos questions, je ne les oublie pas et reviendrai compléter ma réponse un peu plus tard.
[Edit] Suite des réponses en vrac :
- Le code html du sketch Arduino est corrigé pour ne plus faire disparaître les include
- Le coût du montage avec l'Arduino est inférieur au coût d'une carte SD de quelques Go. De plus un enregistreur numérique peut reproduire parfaitement les fréquence en sortie du LEP MO5, par contre je ne suis pas sûr qu'il soit bien adapté aux fréquences du TO7. En particulier les séquences de synchronisation, pendant lesquelles le signal doit rester au niveau 5V pendant plusieurs secondes. Les baladeurs audio passent les fréquences à quelques dizaines de Hertz mais ne passent pas le courant continu. J'ai souvent utilisé ce type de lecteur avec succès sur MO5, par contre je n'ai jamais réussi avec un TO7/70.
- Un régulateur 5V, acceptant une tension de 7V à 12V en entrée, est intégré à l'Arduino. C'est pourquoi il n'y a pas besoin de convertisseur externe 12V vers 5V. J'ai mis seulement une diode, d'une part pour protéger le montage des inversions de polarité accidentelles, d'autre part pour faire chuter la tension de quelques dixièmes de volt car il ne faut pas dépasser 12V.
- La bibliothèque SimpleSDAudio est utilisée seulement pour initialiser la carte SD, lire le répertoire principal et trouver l'adresse physique du premier bloc du fichier. Ensuite les secteurs physiques sont lus séquentiellement par une commande native de la carte SD (CMD18 = lecture multiblocs). Il y a donc une contrainte : le fichier .lep ne doit pas être fractionné.
- Dans l'émulateur dcmoto le fichier .k7 est chargé en RAM. Mais surtout l'émulateur ne déroule pas les routines de lecture du moniteur de l'ordinateur Thomson. Il court-circuite la lecture d'un octet, et au lieu d'exécuter des millions d'instructions il écrit l'octet directement en mémoire. Ce processus va des milliards de fois plus vite que la lecture d'une cassette. En fait la lecture est instantanée, le temps de chargement du programme n'est pas le temps de lecture mais le temps de contrôle et de traitement des octets lus.
- L'interrogation sur la compatibilité du système avec les autres marques d'ordinateurs à lecteurs de cassette est une excellente question. Je n'y avais pas pensé, merci de l'avoir posée ! La réponse est
oui. Les magnétophones Thomson sont un peu particuliers avec une sortie au niveau TTL. La plupart des autres marques utilisent des magnétophones audio standard, avec un signal analogique en sortie, de forme plus ou moins sinusoïdale. Mais en fait seule la fréquence du signal est déterminante, sa forme importe peu. Mon expérience avec quelques systèmes (Alice, Hector, VG5000, EXL100 en particulier), prouve que l'on peut remplacer le signal sinusoïdal par un signal rectangulaire de même fréquence. Donc SDLEP-READER est un outil universel et fonctionne avec tous nos ordinateurs de collection. Je vais ajouter dans mon projet deux connecteurs jack pour la sortie des données et la télécommande du moteur. Il faudra peut-être aussi réduire un peu le volume de sortie, 5V est probablement un peu trop fort pour simuler un magnétophone audio, mais deux résistances suffiront, avec un condensateur pour supprimer la composante continue. Et alors SDLEP-READER deviendra un outil incontournable pour tous les collectionneurs
