Disquettes et disques dur

TRS80-complet-1Pour continuer sur les mémoires de masse — c’est comme ça qu’on dit dans les milieux autorisés — j’ai trouvé une photo d’un TRS-80 tout équipé ou pas loin qui illustre ce billet (cliquez dedans vous le verrez en grand), certes un peu poussiéreux, mais pas moins intéressant.

On y voit bien l’écran, et le clavier qui contient la CPU (i.e pour Cécile : l’unité centrale, l’ordinateur, …) qui est reliée à l’expansion board par un câble en nappe plat ; le lecteur de K7 original de marque Realistic (marque plus spécialisée dans le matériel audio chez Tandy). On y voit aussi la petite imprimante thermique que je n’ai jamais pu m’offrir, et les lecteurs de disquettes sur le côté gauche.

Avec l’utilisation du DOS, du TRS-DOS en l’occurrence, c’est tout un champ de nouveautés qui apparait : de nouvelles instructions  à apprendre, la possibilité lire et écrire sur la disquette de plusieurs manières différentes,  de gérer des fichiers, des entrées/sorties plus complexes puisqu’on va pouvoir attaquer le port série et donc ouverture sur l’extérieur. Mais cela fera partie d’autres sujets …

Et c’est reparti pour l’apprentissage et le bouquin Disk and other Mysteries va vite s’user. Je vais continuer à me spécialiser sur ces sujets en apprenant ce qu’est le formatage, en quoi cela ça consiste, le nombre de pistes, de secteurs, comment sont calculés les tailles de ces secteurs et pistes ; comment la tête de lecture va chercher les données et l’influence de la vitesse de rotation selon que la tête est au bord du disque ou près de son centre.

Tout cela va servir à bien maitriser ces aspects pour pouvoir se sortir de situations comme la perte de données tout d’abord, et comment pourvoir récupérer ces données avec une bonne chance de réussite. Ensuite, cela va permettre de comprendre les mécanismes de protection employés par les éditeurs de logiciels pour empêcher les copies pirates.

De la même manière que l’on peut difficilement déplomber un logiciel sans connaitre la programmation, il sera quasi impossible de passer outre une protection physique sans connaitre le fonctionnement du support, disquette ou disque dur, du contrôleur de disque mais aussi du DOS lui-même car c’est ce dernier qui va donner les premiers éléments du formatage.

Lors de mon premier job, j’ai été confronté à différents problèmes dont celui des versions de logiciels protégées physiquement. Tous les softs étaient livrés sur disquettes 5,25″ au début puis par la suite sur des 3,5″ — avec un intermède de disquettes 3″ dont quasiment un seul constructeur, Amstrad pour ne pas le nommer, avait équipé ses matériels — et la quasi totalité était protégée physiquement. Ces protections physiques pouvaient prendre divers aspects allant à des particularités du support disquette au dongle, petit équipement qui se connectait au port série ou parallèle d’un ordinateur.

La première protection à laquelle j’ai été confronté était le formatage « spécial ». C’était un grand classique à l’époque de l’Apple II qui disposait d’une formidable bibliothèque de logiciels mais très protégée, mais aussi sur les PC par la suite. Par exemple le formatage consistait en une disquette de 40 pistes numérotées de 0 à 39, de 9 secteurs de 1024 octets par piste, cela donnait une disquette de 360 Ko (9 x 1024 = 9216 ; 9216 x 40 = 368 640 ; 368 640 / 1024 = 360). Pour rappel 1 Ko ou 1 Kilo octet = 1024 octets. Chez nous, le kilo est à 1024 ! Une disquette simple face était à 360 Ko, double face à 720Ko. Les dernières 3,5″ produites étaient double-face, double densité, pour une taille de 1,44 Mo.

Les auteurs de logiciels avaient pour habitude de modifier le formatage de leurs disquettes et y copiaient leur logiciel. Du coup, seul le logiciel pouvait lire la disquette pour faire fonctionner le reste. Mais comment cela se peut-il, diras-tu Ô lecteur attentif ? Bien sûr, comment faire pour qu’un logiciel puisse prendre en compte un formatage différent alors que c’est le DOS qui décide de ce dernier ?

Assez simplement en fait : quand vous démarriez votre ordinateur à l’époque, vous deviez mettre la disquette qui contenait le système, donc le DOS. Dès le premier secteur de la première piste de la disquette DOS, il y avait ce que l’on appelait le secteur de boot et dedans, un petit logiciel nommé bootstrap, qui veut dire chausse-pied. C’est effectivement ce petit bout de logiciel qui va se charger dans la mémoire de l’ordinateur et qui va prendre le contrôle afin de charger le reste du contenu de la disquette, en général le reste du système d’exploitation.

Les auteurs de logiciels ont donc modifié le bootstrap pour ne lui faire reconnaitre que le formatage particulier qu’ils avaient employé pour leur disquette contenant leur précieux logiciel qu’il ne fallait pas dupliquer. Les formatages employés pouvaient être différents dans le nombre de pistes ou de secteurs employés. En se chargeant, le bootstrap lisait la disquette et si celle-ci avait été dupliquée bêtement par copie simple, le format ne correspondait pas et vous receviez un message d’erreur. Pour faire des copies physiques en prenant en compte ses spécificités, il fallait des logiciels de copie spécialisés ou d’une carte (onéreuse et introuvable en France à l’époque, j’avais la chance d’en avoir une à mon premier boulot) qui prenait la place du contrôleur disque et là, vous étiez le roi du pétrole !

Avec l’apparition des disques durs, ce genre de protection a continué, les éditeurs obligeant l’utilisateur à booter (démarrer) sur une disquette qui était protégée et qui seule permettait d’installer le dit logiciel sur le disque dur. En général vous aviez droit à plusieurs installations et donc il fallait tenir le nombre d’installation dans un compteur quelque part. Pour bien faire il aurait été nécessaire de protéger aussi le compteur d’installations ce qui aurait compliqué la tâche des fraudeurs. Mais la mise en place d’une protection coûte cher aux éditeurs et rend aléatoire le fonctionnement et donc la compatibilité selon le matériel employé.

Par exemple sur Ataris ST, les lecteurs de disquettes 3,5″ étaient connus pour avoir une petite tolérance de la tête de lecture du lecteur de disquette qui pouvait atteindre une piste au delà des 40 du standard. Les développeurs mettaient en œuvre une 41ème piste que le logiciel de bootstrap allait lire pour valider l’origine de la disquette. S’il le trouvait, le logiciel démarrait, sinon, message d’erreur ! Mais comme c’était toujours le jeu du chat et de la souris entre développeurs et pirates, les premier avaient été jusqu’à copier des choses sur une piste 42 ! Et il n’était pas rare d’entendre un bruit terrible produit par la tête de lecture essayant d’atteindre une piste à laquelle elle ne pouvait avoir accès physiquement par construction mécanique. Certains lecteurs rendaient l’âme d’ailleurs après un traitement trop soutenu de ce genre de manipulation.

Autre gag avec les protections sur disquettes, certains y mettaient soit un trou, soit altéraient un secteur particuliers que le boostrap allait lire ou que le logiciel une fois installé allait lire le secteur « de protection », rendant la disquette obligatoire dans le lecteur même en utilisation d’un disque dur. Quand les Macintosh II Fx sont sortis, il s’est avéré que les nouveaux contrôleurs ne pouvaient lire de format de disquettes un peu trop exotiques. Un éditeur presque inconnu, Microsoft je crois bien, avait eu l’idée de protéger ses disquettes Word et Excel avec un secteur spécifique et dans sa grande largesse, autorisait 2 installations.

Malheureusement, sur les Macintosh de l’époque, Mac II, IIx, IICx, IICi, Powerbook et autres, les installations étaient plutôt erratiques et il n’était pas rare de devoir échanger une boite complète à un client. Et à l’allure où partait le matériel à l’époque quand on faisait une promo, on se retrouvait vite dans la mouise car, bien entendu, le responsable du trouble, en l’occurrence l’éditeur, ne voulait rien savoir ni auprès des clients et encore moins auprès de leurs revendeurs, nous en l’occurrence !

C’est là que l’expérience a parlé 😛 J’ai pris une disquette originale et j’ai cherché à quel endroit pouvait se trouver le compteur que l’installeur décrémentait à chaque installation. Une fois trouvé par comparaison de données entre une disquette neuve et une disquette déjà installé puis une disquette avec un compteur à zéro, j’ai pris mon plus bel éditeur secteur — un logiciel permettant de lire le contenu des disquettes dans leur format original, c’est à dire en binaire, hexadécimal et ASCII — et à chaque fois que je faisais une installation, je recherchais la suite d’octets sur la disquette qui correspondait au compteur, j’incrémentais de nouveau le chiffre et la disquette récupérait ses installations ! Au moins, nous n’avions pas tout perdu…

Mais si cela fonctionnait correctement pour beaucoup de Mac de l’époque, c’était une galère sur le Macintosh II Fx car le contrôleur qui avait changé  et soit bousillait les disquettes, soit bouffait le secteur qui contenait le compteur… Sans solution, nous avions fini par ne plus vendre ces logiciels sur cette machine.

Jusqu’à ce qu’un de nos clients nous rappelle un jour pour nous dire qu’il avait une solution et sans rien pirater ! Architecte, il avait équipé par notre intermédiaire son cabinet de plusieurs Mac II Fx, d’un Autocad sur Mac (bon courage), d’imprimantes et d’un traceur HP format A0. Mais ses logiciels Microsoft ne fonctionnaient pas et il en avait besoin. Il a fini par craquer et a appelé sans cesse la hotline puis il a noyé de courriers le service contentieux de l’éditeur pour enfin obtenir gain de cause : un produit original Microsoft… non protégé ! Il était d’ailleurs très fier de nous proposer une copie non protégée de ses logiciels pour nous rendre service 🙂

A suivre.

PapGeek !

2 réflexions sur « Disquettes et disques dur »

  1. Math

    Héhé, les bruits du lecteur sur Atari ST, nostalgie !

    Sinon je ne suis pas sur qu’on peut obtenir un logiciel sans protection aujourd’hui, même en prenant le meilleur avocat pour faire un procès médiatisé… Quand on voit que désormais, on n’est plus acheteur d’un produit, mais acheteur d’une licence d’utilisation offrant des garanties minimums

    Répondre
  2. PapGeek

    Effectivement, les protections sont moins contraignantes mais plus chiantes car elles passent par le Net. Vérification des numéros de série, etc D’ailleurs, après des années sans en avoir besoin, je viens de trouver un zouli désassembleur pour OS X 🙂 Je vais essayer une ou deux bricoles avec histoire de voir si j’ai gardé la main 🙂

    Répondre

Répondre à PapGeek Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *