Démarrer depuis un disque vinyle
(boginjr.com)- Une expérimentation consistant à démarrer un IBM PC à l’aide d’une platine vinyle (tourne-disque) au lieu d’un support de démarrage PC classique
- Une image de RAM disk de 64 KB basée sur FreeDOS a été convertie en signal audio analogique puis gravée sur un vinyle de 10 pouces
- En utilisant l’interface cassette du PC, le signal audio est reconverti en données numériques, chargé en mémoire puis utilisé pour lancer le démarrage
- Afin de minimiser la distorsion du signal, une correction de l’égalisation RIAA et un ajustement des réglages de l’amplificateur sont nécessaires
- Une expérience de démarrage originale qui montre une utilisation créative de systèmes legacy malgré les contraintes matérielles
Aperçu du projet
- L’expérience consiste à connecter directement un IBM PC à un tourne-disque pour le démarrer
- Si le BIOS du PC échoue sur les autres options de démarrage (disquette, disque dur, etc.), le chargeur de démarrage ROM appelle l’interface cassette
- Via cette interface, il lit le signal audio joué par la platine et poursuit la procédure de démarrage
- L’image de démarrage utilisée est un RAM disk de 64 KB basé sur le noyau FreeDOS
- Elle inclut une version réduite de COMMAND.COM ainsi qu’une version modifiée d’INTERLNK pour le transfert de fichiers via câble d’imprimante
- Le chargeur ROM décode le signal audio, le charge en mémoire, puis démarre le système
Architecture technique
- Le chargeur de démarrage est une combinaison des projets BootLPT/86 et 5150CAXX, sans prise en charge du port imprimante
- Il est embarqué dans la ROM du socket d’extension du BIOS ; il peut aussi être installé sur disque dur ou disquette, mais la ROM a été utilisée pour cette expérience
- La connexion entre le PC et l’amplificateur reprend la même structure de câble que 5150CAXX, sans la prise d’entrée ligne
- L’interface cassette est constituée du canal 2 du timer du haut-parleur PC (sortie) et du canal 4 du port C du PPI 8255A-5 (entrée)
- La modulation et la démodulation logicielles sont effectuées à l’aide de la routine INT 15h du BIOS
Signal audio et fabrication du vinyle
- L’image de démarrage a été convertie selon le protocole « IBM cassette tape » puis envoyée vers un équipement de gravure de disques
- Le vinyle étant gravé selon la courbe d’égalisation RIAA, une correction supplémentaire sur l’amplificateur est nécessaire à la lecture
- Aigus : -10 dB/10 kHz, graves : +6 dB/50 Hz, tension de sortie réglée à environ 0,7 V
- Les corrections de phase et de loudness sont toutes désactivées
- La qualité du signal est cruciale, et les pop noises ou craquements peuvent interrompre le flux de données
- En revanche, une erreur de vitesse de ±2 à 3 % et un léger wow (variation de vitesse) restent tolérables
Distribution du chargeur et de l’image
- Le binaire du chargeur a été conçu pour une puce 2364, mais peut aussi être utilisé avec une puce 2764 via un adaptateur
- Il fonctionne sur un IBM 5150 disposant d’au moins 512 KB de RAM et d’un affichage monochrome
- L’image du disque de démarrage est disponible en bas de la documentation de BootLPT/86, et une version FLAC analogique est proposée via un lien séparé
Réaction de la communauté
- Dans les commentaires, de nombreuses réactions positives évoquent « le retour des technologies rétro » ou « un concept similaire au démarrage sur cassette »
- Certains utilisateurs ont posé des questions sur la possibilité d’utiliser une entrée Sound Blaster ou sur la compatibilité avec un BIOS open source (GlaBIOS)
- L’auteur précise que la réalisation a été faite avec une simple ROM d’extension, sans modification du BIOS
- Plusieurs lecteurs ont aussi laissé des réactions humoristiques, comme « si on lit l’autre face, Linux démarre »
Portée
- Cette expérience constitue un exemple de conversion d’un support audio analogique en support de démarrage numérique
- C’est une tentative technique de réutilisation créative de l’interface cassette de l’IBM PC et de l’architecture d’extension du BIOS
- Inutile sur les systèmes modernes, le projet reste néanmoins intéressant pour explorer la compréhension du matériel legacy et les techniques de traitement du signal
1 commentaires
Commentaires Hacker News
En mettant le pilote du scanner et le logiciel d’OCR dans le BIOS, ça pourrait peut-être marcher. Avec l’uEFI aujourd’hui, ce serait peut-être même plus simple
J’avais un scanner SCSI à l’époque, et je regrette de l’avoir démonté pour récupérer les pièces
On pourrait sans doute créer un bootloader simple qui lit un motif noir et blanc imprimé sur du papier, le charge en mémoire puis démarre dessus. Je me demande quelle serait la capacité de stockage d’une feuille A4
C’est aussi mentionné sur le wiki Flexi_disc : comme la fiabilité était faible, les magazines recommandaient de copier d’abord le contenu sur cassette. Le disque ne pouvait généralement être lu qu’une ou deux fois
Apparemment, un jeu des Thompson Twins a été distribué ainsi au Royaume-Uni
On distribuait aussi des démos en collant une cassette sur la couverture du magazine, et je me souviens avoir réparé des bandes en les rembobinant avec un crayon
On pouvait aussi les copier avec une double platine cassette pour la musique
Ce sont de petits rectangles sans pièces mobiles, qui stockent et relisent les données par blocs, avec une faible latence et une grande fiabilité
Avant, le stockage était bien plus « physique » : lent, bruyant, sensible aux champs magnétiques, avec des pièces mécaniques complexes. Rien qu’au son, on pouvait deviner ce qui n’allait pas
C’est fascinant de voir l’évolution des supports de stockage en direct. Les disques durs Conner sont solides comme des chars, et le bruit qu’ils font en tournant est superbe
Ça rappelle à quel point il y avait une ingénierie extraordinaire derrière ces simples octets et blocs
Le premier ordinateur de la maison chargeait les programmes depuis un lecteur cassette Radio Shack
Rembobiner la bande, appuyer sur lecture, taper la commande de chargement : tout cela ressemblait à un rituel
Plus tard, quand j’ai eu un lecteur de disquettes 5¼ pouces, c’était un moment d’émotion intense. C’est à partir de là que j’ai commencé à programmer
Wiki BASICODE
On a même encore l’enregistrement de la première diffusion. Avec une bonne réception FM, ça fonctionnait plutôt bien
Lien associé
Ce n’est pas de ma génération, mais je trouve l’expérience intéressante
Lien Discogs
Il contient des morceaux chiptune ainsi que des pistes de démarrage pour Atari et C64
Le principe était que 9 clients sur 10 aimaient la sensation tactile des données restaurées. Le projet n’a jamais été réalisé, mais ça avait beaucoup fait rire l’équipe
Il suffit de les diffuser depuis un site comme asciiexpress.net
Le vinyle devrait aussi marcher, mais je n’ai pas le matériel pour en graver moi-même
On peut en faire fabriquer un pour une centaine de dollars sur intheclouds.io
J’ai aussi du matériel numérique, mais la satisfaction de manipuler directement ces disques noirs est irremplaçable
On entend jusqu’aux petites erreurs et aux imperfections du sillon, ce qui rend le tout encore plus vivant
Une fois le disque sorti de sa pochette, on peut connaître le nombre et la durée des pistes à la longueur des sillons, et même aller directement à celle qu’on veut. C’est bien plus intuitif qu’une cassette
À la place, il y avait une interface bande sous forme de prise audio, et il fallait lancer et arrêter la lecture manuellement