Accéder au contenu d’un backup de plus de 30 ans…

Christian Quest
7 min readAug 19, 2017

--

Dans ma quête “rétro-computing”, la récupération du contenu des vieux supports physiques de stockage est un point essentiel pour préserver ce petit morceau de mon passé informatique des années 80.

Après le TRS-80, l’Apple II a été la machine qui m’a fait passer dans le monde professionnel et mis le pied dans celui du Minitel. J’ai donc pas mal de disquettes Apple II plus ou moins bien rangées dans des cartons dans ma cave.

Une partie de trésor à récupérer !

L’Apple II

Le plus simple pour les relire ? un Apple II bien sûr… mais je n’en ait plus depuis plus de 25 ans. ebay est donc ma première étape… et les prix de ces machines collector sont très variables en fonction de leur age, du modèle, de la rareté. Le premier que je trouve à un prix correct (150 euros) est un //c, qui a l’avantage d’être une machine “complète”, avec lecteur de disquette intégré, port série, imprimante, etc.

Le premier “boot” de mes vieilles disquettes est un vrai moment d’émotion après plus de 30 ans !

J’ai ensuite craqué pour d’autres modèles sur ebay… un //e, un //e Platinium (machine non commercialisée en Europe, c’est le dernier modèle d’Apple II vendu par Apple), un IIgs et tout dernièrement une carte PDS Apple //e pour Macintosh LC.

Apple //e Platinium — dernier Apple II commercialisé

Transférer les données

Mais comment récupérer ce contenu sur une machine d’aujourd’hui ?

Pas évident, la seule interface commune est le port série (avec un adaptateur USB car même ce port là a disparu de nos machines d’aujourd’hui). Il existe des logiciels pour transférer le contenu des disquettes de cette façon comme ADTPro.

Je découvre avec étonnement une autre option : un émulateur de lecteur de disquettes. Il y a en effet des passionnés qui continuent à développer et commercialiser du matériel pour ces vieilles machines comme ces adaptateurs floppy/carte SD, mais aussi des extensions mémoire, des sorties, vidéo, même des cartes Ethernet !

J’opte donc pour le “Floppyemu” qui semble assez universel car il émule :

  • un lecteur de disquette 5"1/4 (143Ko) pour la série des Apple II
  • un lecteur de disquette 3"1/2 (800Ko) pour les Apple II et les premiers Macintosh
  • un disque dur pour Apple II ou Macintosh

Il me permettra donc de faire aussi revivre mes vieux Mac dans une deuxième temps ;)

Pour transférer les données sur carte mcroSD, il suffit d’utiliser un logiciel de copie classique et on obtient une image disque directement utilisable par les émulateurs Apple II (fichiers .DO ou .PO).

Lecture de disquettes vieilles de plus de 30 ans…

A mon grand étonnement, la majorité des disquettes se lisent sans problème, bien qu’elles aient été stockées dans des conditions très loin de l’idéal (cave, humidité, température variée, un peu de poussière).

Certaines marques ont beaucoup mieux résisté que d’autre: au top on a Rhône-Poulenc (avec ses “flexette”… on les reconnait à leur anneau blanc) et le bonnet d’âne est pour Nashua.

Apple //c accompagné de ses coton-tiges et alcool à 95°

Au bout de quelques disquettes lues, la tête du lecteur s’encrasse et doit être nettoyée à l’alcool (isopropyl ou industriel à 95°) à l’aide d’un coton tige… vu la quantité de disquettes que j’ai retrouvé le stock de coton-tige va baisser assez vite dans la maison.

Il faut parfois plusieurs essais pour lire une disquette et je changerai de logiciel pour faire les copies…

Locksmith 6.0 “Disk recovery” : l’arme ultime !

Locksmith est un logiciel de copie incontournable sur Apple II. La version 6.0 a une fonction très efficace pour relire des disquettes problèmatiques le “Disk recovery”.

Locksmith va tenter une première lecture classique, puis décaler la tête de lecture pour lire jusqu’à 1 piste à côté par pas de 1/4 de piste (le lecteur de disquettes de l’Apple II était entièrement piloté par logiciel et permettait ce genre de bidouille). Ceci permet très souvent de relire des secteurs qu’on n’arrive pas lire normalement.

Petit détail important: cette fonction de Locksmith fonctionne parfaitement avec le Floppyemu, car elle ne formatte pas la disquette sur laquelle on fait la copie.

Exemple de disquette abîmée: D = secteur défectueux / A = secteur absent / + et — indiquent les secteurs lus en décalant la tête de lecture et les . sont ceux lu sans problème.

Pour les disquettes les plus abîmées, il faut plusieurs passes, avec un nettoyage de tête au coton-tige à l’alcool entre chaque, mais rares sont celles qu’on n’arrive pas du tout à lire.

On peut limiter la récupération à un intervalle de pistes, du coup une première passe permet de récupérer la majorité de la disquette, puis on recommence pour les zones restantes… prévoir patience et coton-tige alcoolisés !

J’ai récupéré plus de 300 disquettes de cette façon, la majorité avec 2 faces car, oui, on retournait les disquettes pour écrire des deux côtés (on faisait une encoche pour permettre l’écriture), les lecteurs de l’Apple II n’avaient qu’une tête.

Certaines étaient des sauvegardes prenant jusqu’à 30 faces… soit plus de 4 Mo (on ne rigole pas, merci).

Retrouver le logiciel de sauvegarde…

Pour restaurer ces sauvegardes, il faut retrouver le logiciel de sauvegarde utilisé. Heureusement, il n’y en avait pas tant que ça à l’époque, car les stockages volumineux (disque dur) étaient relativement rares et cher !

A l’époque, ma société utilisait un disque dur Corvus via un réseau Omninet. Le disque dur de 10 ou 11Mo (prix public de 27000 francs à l’époque) était donc partagé via un petit réseau local qui ne servait qu’à ça, en insérant une carte dans chaque Apple II pour s’y connecter.

Lors de mes récupérations de disquettes, je tombe sur “Backup //” logiciel d’origine Apple qui permettait de sauvegarder/restaurer un volume ProDOS. Je teste en tentant de lire la première disquette d’un jeu de sauvegarde et c’est bien celui là qui avait été utilisé ! Ouf :)

Restauration de la sauvegarde

Pour restaurer la sauvegarde, j’ai utilisé un émulateur Apple II sous Linux: linapple.

Il permet l’émulation d’un disque-dur et lit directement les images disques crées par le Floppyemu.

Il faut par contre modifier son fichier de config par défaut pour activer l’émulation du disque-dur :

Harddisk Enable = 1

Pour restaurer, je charge mon image disquette de “Backup //” en slot 6 drive 1, ma première image disquette du jeu de sauvegarde en slot 6 drive 2, la copie de l’image d’un disque-dur “smart0.po” en slot 7 drive 1 et c’est parti pour une récupération de 30 faces de disquettes qui se fait en quelques minutes car l’émulateur peut fonctionner bien plus rapidement qu’un vrai Apple II et ses lecteurs de disquettes ;)

Extraction de fichiers depuis l’image disque-dur

Dernière étape… extraire quelques fichiers depuis l’image disque-dur et pour cela j’ai utilisé “AppleCommander” que l’on trouve avec ADTPro.

C’est un script shell qui permet de manipuler le contenu des images disquettes ou disque-dur, de lister leur contenu, d’extraire des fichiers en les décodant (par exemple pour les programmes en BASIC qui sont tokenisés) ou de récupérer le fichier brut.

Mon objectif est de récupérer les écrans vidéotex car cette sauvegarde est celle de mon serveur Minitel multivoies “Computel”.

Le listing ressemble à cela:

Un petit script python me permet d’extraire les fichier “E.xxx” contenant mes fameux écrans vidéotex.

Et le résultat est visible en ligne, exemple :

L’ensemble des écrans vidéotex récupérés est téléchargeable.

Emulation du disque dur sur l’Apple II

Une fois l’image disque complétée par la restauration du backup, je l’ai remise sur la microSD dans le Floppyemu… du coup je peux booter sur un pseudo disque dur directement depuis l’Apple II… la boucle est bouclée !

Résumé des étapes

  • lecture des disquettes sur Apple //c et transfert sur microSD par Floppyemu avec Locksmith 6.0
  • récupération sauvegarde avec l’outil Backup // à l’aide de l’émulateur linapple et des images disquettes de la carte microSD
  • extraction des fichiers avec AppleCommander depuis l’image disque-dur

Le prochain challenge…

L’objectif final est de refaire tourner le serveur complet et de le rendre accessible par Minitel (via VOIP) et si possible en ligne.

--

--

Christian Quest

40 ans d'informatique + 33 de base de données + 25 d'internet + 11 de cartographie = #OpenStreetMap + #opendata + #logiciel_libre