1. Introduction --------------- Le système d'archivage SAP, conçu par Alexandre Pukall, est l'outil utilisé par les émulateurs Thomson pour manipuler de façon souple et sécurisée les disquettes 3"5 ou 5"25 au format Thomson. L'idée directrice de SAP est de reproduire les disquettes physiques Thomson sous forme de fichiers "images", stockables sur disque dur et lisibles directement par les émulateurs: toutes les opérations de lecture/écriture sont ainsi réalisées sur ces images et non pas sur les disquettes originales. Ce système permet de copier facilement les disquettes, de les diffuser par tout moyen numérique et assure in fine la préservation de leurs données au delà de la durée de vie du support physique. L'utilitaire SAPfs permet de réaliser sur les archives SAP les opérations naturelles d'un système de fichiers: création, formatage, vérification, dump binaire, listage des fichiers, extraction de fichiers, ajout de fichiers et destruction de fichiers. 2. Comment l'obtenir ? ---------------------- En le téléchargeant depuis la page Web: http://nostalgies.thomsonistes.org/utilitaires.html 3. Fonctionnement du programme ------------------------------ SAPfs fonctionne en mode batch: une commande éventuellement suivie d'un ou plusieurs arguments doit lui être passée sur la ligne de commandes. 4. Commandes du programme ------------------------- Une des commandes suivantes doit être passée à SAPfs comme premier argument: -h, --help affiche l'aide en ligne du programme. ex: sapfs --help -v, --version affiche la version du programme. ex: sapfs --version -w, --verify archive.sap [piste] [secteur] vérifie l'archive SAP dont le nom complet est spécifié comme second argument et affiche le détail des erreurs pour chaque secteur défectueux; si un troisième argument est spécifié, il est interprété comme le numéro de piste à laquelle la vérification sera restreinte; si un quatrième argument est spécifié, il est interprété comme le numéro de secteur. ex: sapfs --verify foo.sap sapfs --verify foo.sap 10 -u, --dump archive.sap [piste] [secteur] effectue un dump binaire de l'archive SAP dont le nom complet est spécifié comme second argument; si un troisième argument est spécifié, il est interprété comme le numéro de piste à laquelle le dump sera restreint; si un quatrième argument est spécifié, il est interprété comme le numéro de secteur. ex: sapfs --dump foo.sap 20 2 sapfs --dump foo.sap 10 -t, --list archive.sap affiche la liste des fichiers de l'archive SAP dont le nom complet est spécifié comme second argument. ex: sapfs --list foo.sap -i, --info archive.sap fichier affiche les informations relatives à un fichier de l'archive SAP dont le nom complet est spécifié comme second argument; le nom de ce fichier est spécifié comme troisième argument; la casse est prise en compte. ex: sapfs --info foo.sap AUTO.BAT -x, --extract archive.sap fichier [fichier...] extrait un ou plusieurs fichiers de l'archive SAP dont le nom complet est spécifié comme second argument; le nom de ce(s) fichier(s) est spécifié comme troisième argument (puis quatrième, cinquième, etc); le nom de fichier peut contenir les wildcards '*' et '?'; la casse est prise en compte. ex: sapfs --extract foo.sap BAR.BIN sapfs --extract foo.sap Prog.BAS Prog.BIN sapfs --extract foo.sap *.DAT --extract-all archive.sap extrait tous les fichiers de l'archive SAP dont le nom est spécifié comme second argument. ex: sapfs --extract-all foo.sap -a, --add archive.sap fichier [fichier...] [répertoire...] ajoute un ou plusieurs fichiers à l'archive SAP dont le nom est spécifié comme second argument; le nom de ce(s) fichier(s) est spécifié comme troisième argument (puis quatrième, cinquième, etc); si un nom de répertoire est spécifié, tous les fichiers qui y sont contenus seront ajoutés; la casse est prise en compte. ex: sapfs --add foo.sap BAR.BIN sapfs --add foo.sap Prog.BAS Prog.BIN -d, --delete archive.sap fichier [fichier...] détruit un ou plusieurs fichiers de l'archive SAP dont le nom complet est spécifié comme second argument; le nom de ce(s) fichier(s) est spécifié comme troisième argument (puis quatrième, cinquième, etc); le nom de fichier peut contenir les wildcards '*' et '?'; la casse est prise en compte. ex: sapfs --delete foo.sap B?R.BIN sapfs --delete foo.sap thom.bas son.bas sapfs --delete foo.sap LEVEL*.DAT -c, --create archive.sap [nb pistes] [densité] crée une archive SAP vide (mais formatée) dont le nom complet est spécifié comme second argument; le format peut être spécifié comme troisième argument sous la forme du nombre de pistes (40 ou 80, 80 par défaut) et comme quatrième argument sous la forme de la densité (1 ou 2, 2 par défault). ex: sapfs --create foo.sap ex: sapfs --create foo.sap 40 -f, --format archive.sap [nb pistes] [densité] formate l'archive SAP dont le nom complet est spécifié comme second argument;; le format peut être spécifié comme troisième argument sous la forme du nombre de pistes (40 ou 80, 80 par défaut) et comme quatrième argument sous la forme de la densité (1 ou 2, 2 par défault). ex: sapfs --format foo.sap ex: sapfs --format foo.sap 40 -k, --copy archive1.sap archive2.sap [piste] [secteur] copie le contenu de l'archive source dont le nom complet est spécifié comme second argument vers l'archive destination dont le nom complet est spécifié comme troisième argument; si un quatrième argument est spécifié, il est interprété comme le numéro de piste à laquelle la copie sera restreinte; si un cinquième argument est spécifié, il est interprété comme le numéro de secteur. ex: sapfs --copy foo.sap bar.sap 65 sapfs --copy foo.sap bar.sap 20 3 -m, --move archive1.sap piste secteur archive2.sap piste secteur copie le contenu du secteur repéré par les trois premiers arguments vers le secteur repéré par les trois derniers arguments. ex: sapfs --move foo.sap 12 4 bar.sap 26 16 5. Problèmes connus ------------------- Aucun pour le moment (je croise les doigts ;-) 6. Conclusion ------------- J'espère que cette version de SAPfs répondra à vos attentes; n'hésitez pas à me faire part de vos remarques et suggestions. Eric Botcazou e-mail: