Pauline

Photo de la carte Pauline branchée sur le kit de développement FPGA DE-10 Nano

Qu'est-ce que Pauline

Pauline est un outil développé par Jean François Del Nero, aussi auteur du très célèbre outil HxC, au sein de l’association La Ludothèque Française, en partenariat avec les associations Game Preservation Society située au Japon, et MO5.COM située en France. Pauline est un outil totalement open-source, performant, universel et simple à l’usage qui va vous permettre de scanner avec précision le contenu des disquettes magnétiques que vous voulez archiver, et cela quel que soit leur format. Pauline, enfin, s’articule sur une solution matérielle accessible dans le commerce, une carte FPGA DE10-Nano et d’une carte fille dont les plans et BOM sont donnés sur le site SourceForge, ainsi que qu’une solution logicielle également open-source et toujours disponible sur le SourceForge de Pauline.

Pauline révision A montée sur son DE10-Nano et écran OLED (aout 2020)

Pauline, dont la dénomination d’usage stipule l’ensemble constitué d’une carte DE10-Nano avec sa carte fille « Pauline », va s’interfacer avec vos lecteurs de disquettes, quels que soient leurs formats (3, 3,5, 5,25, 8 pouces ou autres) et va vous permettre en quelques clics à peine de scanner leur contenu et l’archiver.

Schéma de branchement d’une carte Pauline

Votre Pauline va donc s’interfacer avec plusieurs lecteurs de disquettes, de format divers. Il est important ici de noter que comme le démontre le schéma ci-dessus, nous préconisons que Pauline et les lecteurs de disquettes partagent la même alimentation électrique (par défaut, une alimentation PC moderne de type ATX), afin de limiter d’éventuels problèmes de différences de tension électrique (masse commune). Afin de pouvoir facilement brancher tous ces composants à une alimentation ATX (privilégiez la qualité à la puissance, bien entendu), voici un petit dispositif disponible dans le marché qui permet de lier tous les lecteurs de disquettes et Pauline à la même alimentation facilement :

Une alimentation PC ATX standard avec un bornier de connexion électriqueUn bornier de connexion électrique

Quels sont les composants de Pauline ?

Pauline est un ensemble de plusieurs éléments techniques et logiciels qui vont permettre de scanner avec précision vos disquettes magnétiques, quel que soit leur format. Pauline utilise pour être performante et pouvoir travailler de manière autonome, désynchronisée par rapport à un ordinateur classique, une plateforme technique connue sous le nom de DE10-Nano que nous présentons brièvement :

LE DE10 NANO

C’est une carte électronique articulée autour d’une puce FPGA de cinquième génération très performante, et deux cœurs ARM capable de faire tourner un OS (Linux, autre). Elle est également dotée d’une sortie HDMI (non utilisée encore à ce stade du projet), une prise réseau RJ45 Gigabit, de connecteurs USB et de connecteurs GPIO (General Purpose Input/Output) capables de recevoir différentes cartes électroniques et de dialoguer avec l’extérieur.

Une carte DE10-Nano (juillet 2020)

Cette carte est disponible pour environ 130 € selon les sites marchands (prix publics constatés en juillet 2020), par exemple chez Digi-Key Pauline est donc comme vous l’aurez compris notamment une carte fille qui va venir se greffer sur la carte DE10-Nano, directement sur les connecteurs GPIO, situés en haut et en bas sur la photo ci-dessus.

LA CARTE PAULINE

Celle-ci est composée de plusieurs connecteurs qui permettront de piloter des lecteurs de disquettes au format de données Shugart (jusqu’à 4 lecteurs). Un connecteur de 4 broches situé au centre de Pauline permet d’utiliser un petit écran OLED de 0.96 pouces qui aidera à faire un diagnostic immédiat de Pauline et des opérations en cours. Enfin, trois boutons permettront à l’avenir d’interagir également rapidement avec les fonctionnalités de Pauline.

Pauline en révision A (juillet 2020)

Assemblage de Pauline sur la DE10

Maintenant que vous avez reçu l’ensemble des matériels nécessaires au fonctionnement de Pauline, nous allons voir ensemble comment les agencer afin de démarrer Pauline. N’hésitez pas à demander de l’aide une nouvelle fois sur le Discord de La Ludothèque Française ou de MO5.COM si vous rencontrez une difficulté (voir doc references).

Préparation de tous les composants

Vérifiez tout d’abord que vous avez reçu une carte DE10-Nano complète, avec la carte, l’alimentation USB, les manuels et les câbles nécessaires, tels que présentés ici :

Contenu de la boite d’une carte DE10-Nano complète en juillet 2020

Puis, sortez son alimentation, en prenant soin d’ajouter un adaptateur pour prise électrique Française. Notez que vous pouvez utiliser toute alimentation 5V de type USB mais avec une capacité de 2 ampères minimum.

Alimentation d’origine de la carte DE10-Nano et son adaptateur pour les prises Françaises

La carte DE10-Nao se présente elle sous cette forme une fois extraite de son emballage protecteur :

La carte DE10-Nano (juillet 2020)

L’écran supplémentaire OLED que nous vous proposons d’acquérir se présente sous cette forme. Ecran OLED SSD1306 avec interface I2C, définition de 128×64 et une taille de 0.96″. Notez cette référence et vendeur si vous le souhaitez.

sku 11075 makershop.de

ASSEMBLAGE DE LA CARTE PAULINE SUR LA DE10-NANO

Prenez délicatement entre deux doigts la carte fille Pauline, et présentez là au-dessus de la carte DE10-Nano de la sorte :

Présenter l'enfant à sa mère

Puis, assurez-vous que les connecteurs de la carte fille soient bien en face des connecteurs de la carte DE10-Nano :

Attention à l'alignement des connecteurs

Vous devriez obtenir le montage suivant :

Pauline sans écran

ASSEMBLAGE DE L’ECRAN OLED

L’écran OLED optionnel est très simple à mettre en place, et fonctionne uniquement avec 4 pins à placer dans Pauline.

Ecran OLED SSD1306 I2C 128×64 0.96″

Prenez l’écran entre deux doigts et faites glisser ses pins dans Pauline comme cela :

Attention à l'alignement des connecteurs et l'orientation de l'écran

Félicitations, votre Pauline est maintenant complète !

Ecran OLED SSD1306 I2C 128×64 0.96″

Préparation de la carte MicroSD du Firmware

La carte DE10-Nano est livrée avec une carte MicroSD de 8 Go. Cette capacité est largement suffisante pour les travaux de Pauline. Il faut cependant la formater avec l’environnement de travail sous Linux préparé pour Pauline et les outils d’exploitation de cette dernière.

Tout d’abord, récupérez le firmware de Pauline sur le site de Jean-François Del Nero https://hxc2001.com/pauline/.

Décompressez le fichier dans un répertoire, ce qui devrait vous donner accès au fichier suivant :

pauline_sdcard.img

Utiliser un outil permettant de transferer une image ISO vers une clé USB (Win32DiskImager, Rufus, DD sous Linux, ...).

Si vous êtes sous environnement Windows, téléchargez l’outil gratuit Win32DiskImager.

Procédez à l’installation puis lancez l’outil. La fenêtre suivante devrait apparaitre :

Win32 disk imager

Insérez la carte MicroSD dans votre ordinateur, et si vous ne disposez pas d’une fente spéciale pour cela, vous pouvez utiliser par exemple cet adaptateur MicroSD vers SD :

Adaptateur microSD vers SD

Puis, sélectionnez le fichier du firmware de Pauline décompressé juste auparavant dans Win32 Disk Imager

Win32 disk imager img chargé

Appuyez sur le bouton « Ecrire » et patientez jusqu’à la fin de l’opération, où vous devriez recevoir un message « Ecriture réussie ».

La carte créée contient plusieurs partitions (fat16, ext2 et fat32) comprenant quelques dossiers.

Contenu de la carte microSD

Lors de la prochaine mise à jour, la partition dédiée à l'enregistrement des fichiers .hxcstream, n'est pas éffacer. Il est quand même conseillé de faire une sauvegarde du dossier "Disks_Captures" en cas de problème avec la carte microSD.

Ensuite, insérez la carte MicroSD ainsi mise à jour dans la carte DE10-Nano, comme ceci :

Insérer la carte microSD dans la DE10nano

Faites attention à bien « clipser » la carte MicroSD, du bout d’un ongle par exemple, dans son support.

Premier lancement de Pauline

L’assemblage de votre Pauline est terminé ! Il est temps de l’allumer et lui permettre de se réveiller une première fois. Assurez-vous d’avoir bien inséré la carte MicroSD mise à jour avec le firmware de Pauline, puis insérez l’alimentation de la carte DE10-Nano.

Au bout de quelques secondes, vous devriez obtenir l’écran suivant :

Ecran d'accueil de Pauline

Votre Pauline est prête et fonctionnelle, félicitations !

Nous allons maintenant la configurer pour pouvoir travailler sur votre réseau et avec vos lecteurs de disquettes.

Procedure de test

Avant de commencer à utiliser Pauline, il est important de contrôler que tout est correctement installé sur la carte.

Pour cela nous allons utiliser la procédure de test interne de la carte. Pour la mettre en œuvre nous aurons besoin de passer en ligne de commande avec un logiciel de communication : Putty.

Si vous ne souhaitez pas installer l’ensemble des logiciels qui compose le package Putty avec « Windows installer », une version sans installation est disponible.

Vous pouvez également télécharger uniquement Putty.exe, qui est seulement utiliser pour cette procédure.

Connecter une nappe floppy droite entre les 2 connecteurs J3 (host) et J4 (drives)

Branchement de la nappe droite entre "Host" et "Drive"

Voir les annexes pour quelques informations sur les nappes

Brancher un câble réseau pour que Pauline obtienne une adresse IP.

Allumer Pauline, l’adresse IP s’affiche sur l’écran OLED. Exemple : 192.168.1.28

Branchement de la nappe droite entre "Host" et "Drive"

Lancer Putty

Dans Putty renseigner les champs IP address et Port

Exemple :

IP address : 192.168.1.28
Port : 22
Cocher « SSH »

Connexion avec Putty

Pour mémoire voici les identifiants et mot de passe par défaut utiliser pour se connecter à Pauline :

  • SSH (Login/pwd : pauline/pauline, Login/pwd : root/root)

  • FTP (Login/pwd : pauline/pauline, Login/pwd : root/root)

  • Samba / Windows shares (Login/pwd : pauline/pauline)

Cliquer sur le bouton « Open »

Un terminal s’ouvre : login as :

Taper root et root pour le password

(Attention le mot de passe ne s’affiche pas pendant la frappe)

terminal avec Putty

Premier test

Aperçu ici

Taper pauline -test_interface

Le test va tester les interfaces floppy , les led, le buzzer , le port IO supplémentaire.

~ # pauline -test_interface
HxC Floppy Emulator : Pauline floppy drive simulator / floppy drive dumper control software v1.0.0.0
Copyright (C) 2006-2020 Jean-Francois DEL NERO
This program comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it under certain conditions;

Host -> Floppy test
(00) OK !
(03) OK !
(13) OK !
(14) OK !
(15) OK !
(17) OK !
(22) OK !
(26) OK !
(27) OK !
(28) OK !
Floppy -> Host test
(01) OK !
(02) OK !
(04) OK !
(05) OK !
(06) OK !
(07) OK !
(08) OK !
(09) OK !
(10) OK !
(11) OK !
(12) OK !
(16) OK !
(18) OK !
(19) OK !
(20) OK !
(21) OK !
(23) OK !
(24) OK !
(25) OK !
(00) (0x1) 0x1   (0x1|)0x1 (0x2|)0x3 (0x4|)0x5 (0x8|)0x9    0xF
(01) (0x2) 0x2   (0x1|)0x3 (0x2|)0x2 (0x4|)0x6 (0x8|)0xA    0xF
(02) (0x4) 0x4   (0x1|)0x5 (0x2|)0x6 (0x4|)0x4 (0x8|)0xC    0xF
(03) (0x8) 0x8   (0x1|)0x9 (0x2|)0xA (0x4|)0xC (0x8|)0x8    0xF

1 -> 1
0 -> 0
PB1:1 PB2:1 PB3:1 INT:1

A la fin il y a quelques secondes pour tester les boutons :
Appuyer alors sur les boutons pour faire passer les PBx à zero.

Les LEDs doivent clignoter pendant la première partie du test, et le buzzer sortir un son.

Vérifier que la partie IO donne ceci :

(00) (0x1) 0x1   (0x1|)0x1 (0x2|)0x3 (0x4|)0x5 (0x8|)0x9    0xF
(01) (0x2) 0x2   (0x1|)0x3 (0x2|)0x2 (0x4|)0x6 (0x8|)0xA    0xF
(02) (0x4) 0x4   (0x1|)0x5 (0x2|)0x6 (0x4|)0x4 (0x8|)0xC    0xF
(03) (0x8) 0x8   (0x1|)0x9 (0x2|)0xA (0x4|)0xC (0x8|)0x8    0xF

Deuxième test (optionnel)

Si tout est Ok, vous avez la possibilité de vérifier un dernier point sur votre carte

Ce test est optionnel car il nécessite un peu de matériel et de quelques compétences en électronique rendez en annexe pour la procédure.

Tout est OK, passons à l’étape suivante : la configuration des interfaces de Pauline

Configuration des lecteurs connectés à Pauline

Suivant le type de lecteurs branchés sur Pauline (Shugart ou PC Drive), il faut paramétrer les commandes MOTOR_LINE et SELECT_LINE

Voir les annexes pour les affectations des connecteurs suivant leurs positions sur la nappe floppy 34 broches.

Accéder au contenu de la SD CARD dans un lecteur externe, par FTP ou en partage réseau SAMBA

(voir plus haut pour les identifiants et mot de passe)

Dans le dossier \pauline\Settings Editer le fichier drives.script

Si vous utilisez des lecteurs de type « Shugart » Cette technologie permet de contrôler jusqu’à 4 lecteurs différents et un moteur à la fois. Le moteur est commun à tous les disques sur la même nappe.

Si vous utilisez des lecteurs de type « Lecteur PC » Pauline permet de contrôler 2 lecteurs. Lecteur A et Lecteur B

Exemple avec l’utilisation d’un lecteur PC 3.5 pouces

set DRIVE_0_DESCRIPTION "3.5-inch Floppy drive"
set DRIVE_0_SELECT_LINE DRIVES_PORT_DRVSA
set DRIVE_0_MOTOR_LINE  DRIVES_PORT_MOTEA
set DRIVE_0_MAX_STEPS   82

Voir fichier drives_script_base.txt dans le dossier \pauline\Settings de la carte SD pour un complément d’information.

Opération

Il existe plusieurs possibilités pour contrôler Pauline.

Interface Web

En utilisant l’adresse IP de Pauline dans un navigateur internet, vous avez la possibilité de vous connecter au service http.

Page WEB de Pauline

Avec HxCFloppyEmulator

Télécharger HxCFloppyEmulator

Décompresser l’archive ZIP, rechercher et éditer le fichier config.script

1ère méthode

Modifier l’adresse IP par défaut par votre adresse IP visualisée sur l’écran de Pauline.

Dans notre exemple l’IP de Pauline est 192.168.1.28, la ligne est modifiée :

set PAULINE_DEFAULT_IP_ADDRESS "192.168.1.28"

Enregistrer le fichier.

2e méthode dans HxCFloppyEmulator

Lancer HxCFloppyEmulator.exe.

Aller dans « Settings », « Internal Parameters »

Modifier la ligne « PAULINE_DEFAULT_IP_ADDRESS » => 192.168.1.28

Configurer l'adresse IP dans HxCFloppyEmulator

Votre premier « dump » sous HxCFloppyEmulator

Lancer HxCFloppyEmulator.exe.

Lancer Ludo Floppy Disk Toolkit => « Floppy image » puis « Pauline control interface » ou avec le raccourci « ALT + P »

Ludo dans HxCFloppyEmulator

Vérifier l’adresse IP affichée, cliquer sur « Connect »,

« Connected » est affiché dans la partie « Status »

« User connection » devrait apparaitre sur l’écran oled de Pauline.

Ecran de connection Pauline

Choisir le « Disk drive » adapté à votre configuration de branchement du ou des lecteurs.

Cliquer sur « recal », si tout va bien le lecteur de disquette, doit faire une opération de remise à zéro de la tête de lecture.

En utilisant le « selecteur Track/Side selection » et le bouton « move » vous pouvez déplacer la tête à l’emplacement souhaité.

L’option « Double step » permet de déplacer la tête d’une piste ou d’une demi-piste en fonction du choix (double step va permettre de scanner des disquettes 48 tpi 40 pistes sur un lecteur 5.25 pouces)

Attention à ne pas dépasser les capacités physiques de votre lecteur.

Enfin le dump …

Renseigner les informations descriptives de la disquette (Name, Comment et N°)

Insérer une disquette dans le lecteur

Appuyer sur le bouton « recal » pour être sûr de démarrer sur la face 0 / piste 0.

Choisir le « track analysis format » adapté au format de votre disquette pour avoir une visualisation en temps réel de l’intégrité des données lues.

Lancer le dump en appuyant sur le bouton « Read Disk », la lecture commence.

En vert tout va bien !!

Vert … tout va bien …

Dans le dossier \pauline\Disks_Captures

Un dossier a été créé correspondant au nom indiqué dans la partie « Name »

Un fichier par piste et par tête a été créé dans ce dossier.

Exemple : track00.0.hxcstream = piste 0 face 0 / track00.1.hxcstream = piste 0 face 1

En glissant / déposant le premier fichier sur l’application HxCFloppyEmulator.exe, une analyse des fichiers démarre, au bout de quelques secondes ou plus suivant la quantité de piste lues et la puissance de votre ordinateur.

En vert tout va bien !!

En cliquant sur « Track Analyzer », le résultat apparait.

Track analyzer mode track

Track analyzer mode dummy disk

Quelques explications des informations affichés ici Forum torlus Understanding the visual floppy display

A propos

Document Créé par :

Philippe DUBOIS Jean-Fred BRECHENMACHER Fabien WERNLI

Conception Materielle et Logicielle

Jean-François DEL NERO
https://hxc2001.com
https://sourceforge.net/projects/hxcfloppyemu/

Informations sur les associations

La Ludotheque Francaise

68 rue de Montreuil, 75011 Paris
contact@laludotheque.fr
https://www.laludotheque.fr
Discord : https://discord.gg/j5axxMK

MO5.COM

https://www.mo5.com/site
Discord : https://discord.gg/phG9zNk

Game Preservation Society

8-19-1-C Todoroki Setagaya-ku
Tokyo 158-0082, Japon
https://www.gamepres.org/fr