9727
UTILITY -> Floppy disc and tape tool
© _Public_Domain_ (2003)
 
 
 
Dir Doktor 1.0
cpc
 
 

Manual n° 1

Dir Doktor 1.0 T&J du GPA (c) 2003 ------------------------------------ Dir Doktor est un logiciel dont le but est de vous aider a reconstruire le catalogue d'une disquette lorsque ce dernier est endommage ou tout simplement detruit. Ce genre de mesaventure semble se produire de plus en plus souvent chez nos amis CPCistes (disquettes hors d'age, lecteurs fatigues, etc...). L'idee de ce programme est en fait tres ancienne, et a germe dans mon esprit lors du Byte'98, apres avoir vu Madram passer deux heures a refaire le catalogue d'une disquette. L'occasion faisant le laron, mon lecteur 3.1/2 ayant detruit la piste catalogue d'une disquette de travail de "Citadelle", autre programme made in GPA, j'ai decide de me mettre au boulot, et ai bricole ce petit programme. Son utilisation recquerant un minimum de connaissances sur la structure d'une disquette, je vous incite fortement a lire cette notice afin de tirer le meilleur partie de Dir Doktor. Une fois son fonctionnement assimile, il vous fera gagner beaucoup de temps si vous devez reparer un catalogue detruit. Pour faire des commentaires sur ce programme, signaler des bugs, ou pour me coucher sur votre testament, une seule adresse E-mail : herve.buggosĂ free.fr ! 1) Comment ca marche ? ********************** Les fichiers presents sur une disquette sont stockes sous la forme de blocs (un bloc est un groupe de deux secteurs). Ces blocs sont references dans une partie speciale de la disquette, appelee catalogue. Sur une disquette DATA, le catalogue est situe sur les 4 premiers secteurs de la piste 0 (secteurs &C1 a &C4). Sur une disquette VENDOR, le catalogue est situe sur les 4 premiers secteurs de la piste 2 (secteurs &41 a &44). Lorsque le catalogue est detruit, tout n'est pas perdu, car les blocs contenant les donnees des fichiers sont toujours presents sur la disquette. Tout le probleme est de pouvoir les retrouver et les reallouer a leurs fichiers respectifs. * Pour les fichiers BASIC et BINAIRE, le CPC nous aide quelque peu, car il stocke systematiquement dans le premier bloc d'un fichier une en-tete de 128 octets (le fameux header) contenant le nom du fichier, son type, son adresse de chargement, sa longueur et son adresse d'execution. Dir Doktor fait une analyse de tous les blocs d'une disquette pour detecter ces fameuses en-tetes. Munis de ces informations, il determine la longueur en secteurs de chaque fichier "retrouve", et vous laisse le loisir d'allouer vous-meme les blocs aux fichiers. * Pour les fichiers ASCII, c'est bien plus complique, car ils n'ont pas d'en-tete. Dir Doktor recherche des chaines de caracteres dans les secteurs de la disquette (&0A &0D, fin de ligne ASCII et &1A, fin de fichier ASCII). La recuperation est habituellement bien plus compliquee que pour des fichiers BASIC ou BINAIRE. Pour ce faire, Dir Doktor a une fonction permettant de voir a l'ecran le contenu d'un secteur, ce qui permet en general de verifier si on est en presence d'un fichier ASCII ou pas. * Toujours plus fort, les fichiers CPM. Ils n'ont pas d'en-tete, et correspondent a du code machine. Pour ce type de fichier, Dir Doktor ne fait pas d'analyse, Seule la visualisation des secteurs de la disquette vous permettra d'allouer correctement les blocs a ce type de fichier apres plusieurs essais. C'est bien beau de retrouver le debut d'un fichier, mais comment savoir ou se trouvent tous ses secteurs ? Si le fichier n'a pas ete reecrit plusieurs fois, il y a de fortes chances pour que les blocs composant le fichier soient stockes a la suite de son en-tete. Si ce n'est pas le cas (le fichier est dit fragmente), il faut savoir que les blocs sont forcement "plus loin" que l'en-tete du fichier. On ne peut pas avoir physiquement un bloc dont la position est anterieure au bloc d'en-tete. Une fois que les blocs ont ete realloues par vos soins, Dir Doktor vous permet de regenerer automatiquement les secteurs du catalogue. Si vous n'avez rien compris, ce n'est pas grave ! Apres l'habituelle description des differents menus du programme, un exemple simple vous permettra de vous familiariser avec Dir Doktor. 2) Les menus ************ Dans Dir Doktor, toutes les commandes se lancent avec une lettre ou un chiffre. Elles sont systematiquement indiquees entre " " dans les menus. 2.1) Le menu general ******************** "D"iscover sectors ------------------ Analyse d'une disquette. Le programme demande d'inserer dans le lecteur de travail la disquette a etudier, puis affiche secteur par secteur dans une sorte de carte les informations qu'il a trouvees : - un carre gris correspond a un secteur vide - un carre noir correspond a un secteur contenant des donnees - un 'H' jaune correspond a un secteur d'en-tete de fichier BINAIRE ou BASIC - un 'X' gris correspond a un secteur illisible - un 'A' bleu correspond a un secteur ou une fin de chaine ASCII a ete detectee - un 'E' bleu correspond a un secteur ou une fin de fichier ASCII a ete detectee Notez bien qu'un 'A' ou un 'E' ne correspondent pas forcement a des donnees ASCII. Nous en reparlerons dans le menu '"A"llocate block'. "S"ave map ---------- Permet de sauvegarder une cartographie. Cela permet de ne pas avoir a refaire la commande "D"iscover a chaque fois que vous voulez esssayer de nouvelles repartitions de blocs. Il est possible de sauvegarder jusqu'a 9 cartographies differentes. Cela permet de 'morceler' le travail de recuperation pour le cas ou la disquette contient beaucoup de fichiers fragmentes. Les fichiers de sauvegarde sont toujours enregistres sur la disquette programme (celle avec Dir Doktor), par sur la disquette a reparer ! Dans la mesure du possible, il est conseille de travailler avec deux lecteurs. Voyez la fonction '"C"hange working drive' pour plus d'informations. "L"oad map ---------- Chargement d'une cartographie precedemment sauvegardee. "A"llocate blocks ----------------- Donne acces au sous-menu permettant de definir les blocs des fichiers. A utiliser apres avoir fait une cartographie de la disquette. "W"rite directory ----------------- Ecriture du 'nouveau' catalogue sur la disquette endommagee. Apres un message de confirmation, Dir Doktor ecrira les quatre secteurs catalogue sur la disquette de travail. A noter que pour les fichiers ASCII et CPM, Dir Doktor n'ecrit pas forcement le nombre exact d'enregistrements. La methode de calcul est : nombre de blocs * 8 Cela n'a heureusement aucune incidence sur le bon chargement des fichiers recuperes. Important ! Si ces secteurs sont illisibles, Dir Doktor ne pourra pas ecrire dessus. Il faut alors utiliser le programme compagnon WRITECAT qui permet de rendre ces secteurs lisibles. "C"hange working drive ---------------------- Bascule le lecteur de travail de A: vers B: et inversement. Si vous avez deux lecteurs, il est preferable de les utiliser, afin d'eviter des changement de disquette. Le premier lecteur contiendra Dir Doktor (Program drive), et le deuxieme la disquette a analyser/reparer (Working drive). L'etat des lecteurs est systematiquement rappele sur le menu principal. Dir Doktor vous donne meme le type de formatage de la derniere disquette analysee (DATA ou VENDOR). 2.2) Allocation de blocs ************************ On accede a ce menu via la commande "A" du menu general. A travers ses commandes, vous allez pouvoir associer des blocs aux fichiers que Dir Doktor a trouve lors de la phase d'analyse de la disquette. Les fichiers trouves sont affiches un par un sous la fenetre de cartographie. Pour chaque fichier, on retrouve son adresse de chargement, sa longueur, et, information tres utile, le nombre de secteurs qu'il occupe. Les touches du curseur "HAUT" et "BAS" permettent de choisir le fichier precedent ou suivant. Les touches "GAUCHE" et "DROITE" permettent d'aller sur le premier fichier ou le dernier. Le symbole '#' bleu s'affiche dans la cartographie a la place du premier secteur du fichier, afin de mieux reperer son emplacement. "R"estore file -------------- Alloue automatiquement les blocs necessaires a un fichier. N'allez pas croire a un miracle, la commande se contente de choisir les blocs contigus au bloc contenant l'en-tete du fichier. Si une autre en-tete fait partie de ces blocs, la selection s'arrete, et un message vous indique le nombre de secteurs restant a allouer. Cette commande donne de bons resultats si les fichiers ne sont pas trop fragmentes. Un fichier sur lequel la commande "R"estore a ete faite s'affiche sur un fond jaune. "U"ndo restore -------------- Annule la commande precedente. Utile si le nombre de blocs restant a allouer manuellement est trop important. "D"isplay blocks ---------------- Permet de visualiser les blocs alloues a un fichier dans la cartographie. Les blocs concernes sont affiches en bleu. "S"elect blocks --------------- Selection manuelle des blocs d'un fichier. La commande vous fait basculer sur un sous-menu ou il est possible avec un curseur de se deplacer dans la cartographie (voir sous-menu 2.3) Selectionner un bloc). "N"ew file ---------- Ajoute un fichier 'vide' dans la liste des fichiers. Cela permet de creer un fichier ASCII (que Dir Doktor ne peut trouver par lui-meme) ou un fichier CPM. La taille de ce fichier sera toujours de 0, meme si des secteurs lui ont ete alloues. Le programme demande de saisir d'abord le nom du fichier, puis son extension. "C"hange filemane ----------------- Modifier le nom d'un fichier existant. Le but est d'eviter de se retrouver avec des doublons dans la liste. En effet, on peut avoir plusieurs fois le meme nom de fichier dans des en-tetes differentes. Comment est-ce possible ? Eh bien, lorsque vous enregistrez un fichier deux fois de suite avec le meme nom, l'AMSDOS renomme le premier fichier en .BAK quand vous sauvez le deuxieme. Mais en fait, il se contente de changer le nom dans le catalogue de la disquette, et pas dans l'en-tete de l'ancien fichier ! Si vous ne changez pas le nom d'un fichier apparaissant plusieurs fois sur une cartographie, vous vous retrouverez avec un seul fichier dont la taille est inexacte. Il sera toujours chargeable, mais vous aurez perdu sa 'deuxieme' version. Bref, a eviter. "M"enu ------ Retour au menu principal 2.3) Selection manuelle de blocs ******************************** Ce sous-menu vous donne la possibilite d'allouer des blocs a un fichier manuellement. C'est le seul moyen qui permet de regenerer les fichiers ASCII et CPM. Vous deplacez sur la cartographie un pointeur (symbolise par un losange gris). "COPY" Select block ------------------- Allocation d'un bloc au fichier courant "ENTER" ------- Annulation de l'allocation "V"iew sector datas ------------------- Affiche le contenu du secteur courant sous la forme de deux tableaux de 256 octets, en hexadecimal et ASCII. Les caracteres inferieurs a 32 sont remplaces par des espaces. Cette fonction permet de verifier si un secteur correspond a un fichier ASCII, par exemple. "F9" ---- Retour au menu 'Allocation de blocs' 3) Conseils d'utilisation ************************* Toujours travailler avec une sauvegarde de votre disquette endommagee. Meme si Dir Doktor ne pourra pas faire de degats, cela vous permettra de verifier que seul le catalogue est abime. Lorsque vous faites une reparation, commencez par essayer de recuperer les fichiers avec l'option "R"estore file. Sauvegardez votre travail avant de generer le catalogue, puis verifiez que les fichiers sont lisibles et corrects. Ensuite, il ne vous reste plus (!) qu'a essayer de recuperer les fichiers fragmentes. Si un fichier a un nombre impair de secteurs, il est probable que le secteur suivant le dernier secteur soit vide. On peut reperer ainsi facilement des fins de fichiers. 4) Limitations de Dir Doktor ***************************** Dir Doktor ne permet pas de 'reparer' un secteur defectueux. Il est conseille d'utiliser dans ce cas des logiciels de copie integrale style Discology. Le programme ne reconnait pas les disquettes avec des formats non standards. On ne peut travailler qu'avec des disquettes DATA 40 pistes ou VENDOR 40 pistes. Cela correspond en general a des 'disquettes de travail', les plus enclins a s'autodetruire ! Pour les amateurs de formats speciaux, il est possible qu'a moyen terme, une autre version de Dir Doktor permettant de travailler sur plus de secteurs et pistes sorte. La seule contrainte est le manque de lisibilite en mode 2 d'une cartographie de disquette... Les menus de Dir Doktor sont en anglais... Ce genre de programme n'existant pas a ce jour, je me suis dis que nos amis d'Outre-Rhin et d'Outre-Manche ne seraient pas mecontents de pouvoir essayer de s'en servir. 5) Un exemple ? *************** Afin de mieux vous aider a comprendre comment utiliser Dir Doktor, rien de tel qu'un exemple concret ! * Formatez une disquette en DATA. Cette disquette sera appelee EXEMPLE. * Chargez en memoire le programme "EXAMPLE.BAS", puis lancez le sur la disquette EXEMPLE. -" Ce programme va creer sur la disquette les fichiers suivants : ROMBASIC.BIN GPA.TXT SCREEN.BIN VECTORS.BIN Les fichiers ROMBASIC.BIN, GPA.TXT et VECTORS.BIN sont enregistres de facon contigue (les blocs de chaque fichiers se suivent a la queue-leu-leu). Le fichier SCREEN.BIN est enregistre de facon a ce qu'il soit fragmente en deux parties. * Chargez Dir Doktor, et faites une cartographie de la disquette EXEMPLE a l'aide de la commande "D"iscover. -" Dir Doktor va normalement retrouver 3 en-tetes. 1 - Piste 0 secteur &C5 2 - Piste 4 secteur &C7 3 - Piste 7 secteur &C6 * Appuyer sur "A"llocate pour associer des blocs a ces entetes. 1er fichier : ROMBASE.BIN - 33 secteurs Appuyer sur "R"estore -" 34 secteurs contigus sont alloues. Faire "fleche vers le bas" pour selectionner le 2eme fichier. 2eme fichier : SCREEN.BIN - 33 secteurs Appuyer sur "R"estore -" 26 secteurs contigus sont alloues. Il manque 7 secteurs. Faire "fleche vers le bas" pour selectionner le 3eme fichier. 3eme fichier : VECTORS.BIN - 4 secteurs Appuyer sur "R"estore -" 4 secteurs sont alloues. En regardant la cartographie, on s'apercoit qu'a la suite du fichier VECTORS.BIN, il y a 7 secteurs non alloues. Cela semble correspondre a ceux qui manquent au fichier SCREEN.BIN. Faire "fleche vers le haut" pour selectionner le 2eme fichier. Appuyer sur "S"elect block. Deplacer le curseur sur le premier secteur libre en piste 8 et appuyer sur la touche "Copy" pour selectionner les blocs a associer au fichier. Appuyer sur "F9" pour revenir au menu Allocation de fichiers. Pour verifier la bonne selection des blocs, appuyer sur la touche "V"iew blocks. * Il nous reste maintenant a retrouver le fichier ASCII GPA.TXT. Dir Doktor n'a evidemment pas retrouve son en-tete (il n'y en a pas !), mais en regardant la cartographie, on trouve une zone de 3 secteurs consideres par Dir Doktor comme ASCII. Premiere etape, il faut creer le nouveau fichier. A partir du menu "A"llocate blocks. Appuyer sur "N"ew file. Filename : taper GPA puis appuyer sur "ENTER" Extension : taper TXT puis appuyer sur "ENTER" Si tout s'est bien passe, en faisant defiler les fichiers avec les touches "haut" et "bas" du curseur, vous devez trouver un 4eme fichier dont la longueur est &0000 et le nombre de secteurs &0. Appuyer sur "S"elect blocks. Allouer au fichier les blocs 19 et 20 (piste 4 secteurs &C3 a &C6). Faire "F9" pour revenir au menu precedent. Appuyer sur "M" pour revenir au menu general. Il faut maintenant sauvegarder votre travail, des fois que vous ayez fait des erreurs, et qu'il faille proceder a des corrections apres avoir ecrit le catalogue. A partir du menu principal. Appuyer sur "S"ave map. Choisir le 1er fichier de sauvegarde en appuyant sur la touche "0". Derniere etape, la generation du catalogue ! A partir du menu principal. Appuyer sur "W"rite directory. Une fois le catalogue genere, faire un simple CAT de la disquette. On doit retrouver les fichiers avec les bonnes tailles. Le seul fichier que l'on puisse veritablement verifier, c'est l'ecran de presentation. Charger le fichier SCREEN.BIN en &C000. Normalement, vous devez voir du texte en mode 1 s'afficher... Si tel n'est pas le cas, vous avez fait une erreur de selection !


Goto Top
CPC-POWER/CPCSOFTS, programming by Kukulcan © 2007-2020 all rights reserved.
Reproduction forbidden without any express authorization. All the game titles used belong to their respective owners.
Hébergement Web, Mail et serveurs de jeux haute performance