home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
disk
/
misc
/
azap
/
azap.doc
< prev
next >
Wrap
Text File
|
1995-02-27
|
24KB
|
546 lines
AZap - Manuel de référence
AboutThisDoc
Ce manuel décrit la version 2.20 de l'utilitaire AZap. Ce programme
est (c)1992-1994 par Denis GOUNELLE, toute utilisation commerciale ou vente
sans autorisation écrite est strictement interdite. Vous pouvez copier et
diffuser ce programme aux conditions suivantes :
- l'ensemble des fichiers doit être fourni
- aucun fichier ne doit avoir été modifié
- vous ne devez pas demander plus de 40FF pour cela
Malgré de nombreux tests, je ne peux garantir que AZap ne contient
aucune erreur. VOUS UTILISEZ CE PROGRAMME A VOS RISQUES ET PERILS. Je ne
pourrai en aucun cas être tenu pour responsable de tout dommage, direct ou
indirect, résultant de l'utilisation de AZap.
Introduction
AZap est un éditeur binaire "nouvelle génération", capable d'éditer
aussi bien un fichier que la mémoire, ou encore une disquette (même s'il
n'offre pas d'outils pour vous aider à récupérer une disquette endommagée).
AZap peut ouvrir plusieurs fenêtres d'édition en même temps et dispose de
nombreuses fonctions, comme l'impression d'un bloc, le remplissage d'un
bloc, la recherche d'une chaine, etc...
NOTE IMPORTANTE :
Il est interdit de se servir de ce programme pour modifier
des indications de copyright, ou pour toute autre usage
contraire à la loi. De plus, je déconseille vivement aux
utilisateurs non expérimentés d'utiliser ce programme : vous
risquez de rendre des programmes inutilisables, ou de perdre
toutes les informations stockées sur votre disque dur !
Vos critiques et suggestions sur ce programme seront toujours les
bienvenues. N'hésitez pas à m'écrire, à l'adresse suivante :
M. GOUNELLE Denis
27, rue Jules GUESDE
45400 FLEURY-LES-AUBRAIS
FRANCE
Vous pouvez également m'adresser un message à l'adresse Internet
"gounelle@alphanet.ch". Notez qu'il s'agit d'une boite à lettre mise à ma
disposition par un ami, aussi veuillez n'envoyer que de courts messages. De
plus, n'ayant pas accès directement à mes messages, n'espérez pas avoir une
réponse avant une dizaine de jours.
Merci à Pierre Ardichvili, Reza Elghazi, Yves Perrenoud, et
Jean-Yves Proux pour leurs suggestions.
Installation
AZap utilise la bibliothèque "reqtools.library" (version 2.0C ou
supérieure), que vous devez copier dans votre répertoire "LIBS:", si ce
n'est déjà fait. La bibliothèque "reqtools.library" est (c)1990-1993 par
Nico FRANCOIS.
AZap est désormais localisé, c'est-à-dire qu'il peut s'adapter à la
langue par défaut si vous avez le système 2.1 ou plus. Il vous faudra alors
copier le fichier catalogue désiré dans le répertoire correspondant à votre
langue par défaut. Par exemple, s'il s'agit du français, copiez le fichier
"français.catalog" dans le répertoire "SYS:Locale/Catalogs/Français", sous
le nom "AZap.catalog"
Appel_depuis_le_CLI
AZap se détache automatiquement du CLI. Les arguments acceptés sont
les suivants :
WBENCH
Normalement, AZap ouvre son propre écran. Cette option permet de
travailler sur l'écran Workbench.
LACE
Si cette option est présente, AZap ouvre un écran entrelacé au
lieu d'un écran normal. Notez que cette option est ignorée si
vous avez indiqué l'option WBENCH.
FONT nom
Par défaut, AZap utilise une police interne de 6x9. Vous pouvez
cependant demander à utiliser une autre police : "nom" doit être
sous la forme <nom de la police><taille en Y> (par exemple
"courier9"). AZap refusera si la police est proportionnelle, ou
si elle est trop grande pour pouvoir afficher un bloc de 512
octets.
MEMORY
Au démarrage, AZap ouvre une fenêtre d'édition de la mémoire.
DEVICE nom
Au démarrage, AZap ouvre une fenêtre d'édition pour l'unité
"nom". N'oubliez pas les deux-points (":") à la fin du nom.
Tout autre argument est considéré comme un nom de fichier à ouvrir. Vous
pouvez indiquer plusieurs noms de fichiers, mais seuls les huit premiers
seront pris en compte. Il est bien évidemment possible d'indiquer à la fois
des noms de fichiers, l'option MEMORY, et l'option DEVICE. Si aucun argument
n'est indiqué, une requête de fichier apparait (voir Le_menu_Projet) pour
que vous puissiez sélectionner le fichier à éditer.
Appel_depuis_le_Workbench
Vous pouvez indiquer les arguments suivants, dans le champ "TOOL
TYPES" de l'icône de AZap :
OPTIONS=WBENCH ou OPTIONS=LACE
Voir description des options WBENCH et LACE au chapitre
Appel_depuis_le_CLI.
FONT=nom
Voir description de l'option FONT au chapitre précédent
Appel_depuis_le_CLI.
Vous pouvez passer une icône en argument, par la méthode habituelle. Cette
icône peut être une icône de fichier ou de volume. Sinon, une requête de
fichier apparait (voir Le_menu_Projet) pour que vous puissiez sélectionner
le fichier à éditer.
La_fenêtre_d'édition
La partie gauche de l'affichage montre le contenu du bloc en
hexadécimal, par groupe de 4 octets. La partie droite montre l'équivalent en
caractères, les codes non imprimables étant remplacés par un point (".").
En bas et à droite sont affichées quelques informations : l'adresse
du bloc (relative au début, en hexadécimal), le déplacement dans le bloc (en
hexadécimal), le numéro de bloc (relatif au début, en décimal), et le type
de bloc. Cette dernière information n'a de sens que quand vous éditez une
unité DOS. Quand les données du bloc ont été modifiées, une étoile ("*") est
affichée à droite de la première ligne. Si la somme de contrôle du bloc est
valide, le caractère "V" est affiché à droite de la seconde ligne (n'a de
sens que quand vous éditez une unité DOS).
A l'ouverture de la fenêtre, le permier bloc est affiché, et le
curseur est positionné sur le premier caractère de la partie droite. La
position correspondante dans l'autre partie est montrée par un affichage
dans une couleur différente. Vous pouvez vous déplacer à l'aide des touches
du curseur. Pour passer de la partie droite à la partie gauche (et
inversement) utilisez la touche de tabulation. Vous pouvez également vous
positionner n'importe où à l'aide de la souris. Pour modifier les données,
tapez simplement les nouvelles valeurs. Dans la partie gauche, seuls les
caractères "0" à "9", "a" à "f" et "A" à "F" sont acceptés. AZap garde en
mémoire les 32 dernières modifications. Tant que vous n'avez pas changé de
bloc, vous pouvez annuler ces changements en sens inverse, à l'aide de la
touche <ESC>. Les touches suivantes sont également reconnues :
ctrl-haut va en début de fichier
ctrl-bas va en fin de fichier
ctrl-gauche va au bloc précédent
ctrl-droit va au bloc suivant
shift-haut va sur la première ligne
shift-bas va sur la dernière ligne
shift-gauche va au début de la ligne
shift-droit va en fin de ligne
La rangée de boutons en bas de la fenêtre offre les fonctions
suivantes (de gauche à droite) : aller au premier bloc, aller au bloc
précédent, écriture des modifications, aller au bloc suivant, aller au
dernier bloc. Le bouton tout à droite (GOTO) provoque l'apparition d'une
boite de requête. Vous êtes alors invité à entrer une adresse, sous une des
formes suivantes :
nbr saut à l'adresse 'nbr'
§nbr saut au bloc 'nbr'
@nbr saut à l'adresse contenue dans le long mot à l'adresse
'nbr' (utilisable seulement en édition de mémoire)
#nbr saut à la zone mémoire numéro 'nbr' (utilisable
seulement en édition de mémoire)
Dans tous les cas, 'nbr' est une expression entière, dont la syntaxe est
décrite au chapitre "Syntaxe_des_expressions".
L'ascenseur en bas de la fenêtre permet également le déplacement.
Notez que, dans tous les cas, si vous changez de bloc sans sauvegarder vos
modifications, elles seront perdues !
Les fenêtres d'édition sont toutes déclarées en "AppWindow", ce qui
veut dire que si vous lachez une icône au-dessus d'une fenêtre d'édition,
une nouvelle fenêtre d'édition sera automatiquement ouverte pour le fichier
ou volume correspondant.
Pour fermer la fenêtre d'édition, il vous suffit de cliquer sur son
gadget de fermeture. Si le bloc a été modifié mais non sauvé, AZap vous
demandera confirmation. Le programme s'arrête automatiquement quand vous
fermez la dernière fenêtre.
Le_menu_Projet
Ouvre fichier...
Permet d'éditer un fichier : une requête de fichier apparait,
sélectionnez le fichier désiré. AZap ouvre alors une fenêtre
supplémentaire d'édition. Si vous avez sélectionné "RAM:", la
fenêtre sera une fenêtre d'édition de la mémoire. Si vous avez
sélectionné un nom d'unité (par exemple "DH0:" ou "Work:"), AZap
ouvrira une fenêtre d'édition d'unité.
Ouvre mémoire
Ouvre une fenêtre supplémentaire, permettant l'édition de la
mémoire.
Ouvre unité
Un sous-menu vous permet de sélectionner l'unité à éditer. AZap
ouvre alors une fenêtre supplémentaire d'édition.
Palette...
Vous permet de modifier les couleurs de l'écran (une requête de
couleur apparait).
Sauve prefs
Vous permet de sauvegarder la configuration de AZap : les
couleurs de l'écran et la police de caractères. Les options de
la fenêtre courante sont également enregistrées comme options
par défaut. Le nom du fichier de configuration est
"S:AZap.Config".
A propos...
Affiche des informations sur le programme.
Quitte
Termine l'exécution de AZap. Le programme vous demandera
confirmation.
Le_menu_Edite
Annule
Relit le bloc courant. Ceci permet d'annuler toutes les
modifications, tant que vous ne les avez pas enregistrées.
Revient
Chaque fois que vous vous déplacez avec les boutons "aller au
premier bloc", "aller au dernier bloc", ou "GOTO", l'ancienne
position est conservée en mémoire, et cette commande vous permet
d'y revenir par la suite. L'ancienne position est également
mémorisée dans ce cas, ce qui peut être utile si vous travaillez
toujours sur les deux mêmes blocs.
Bloc suivant
Lorsque vous éditez une unité DOS, cette commande vous permet
d'aller soit au premier bloc de données (si vous êtes sur une
entête de fichier), soit au bloc suivant (si vous êtes sur un
bloc de données d'une disquette en OFS).
Bloc parent
Lorsque vous éditez une unité DOS et que le bloc courant est une
entête de fichier (ou un répertoire), cette commande vous permet
d'aller au bloc de type "répertoire" correspondant au répertoire
père de ce fichier (ou répertoire).
Bloc racine
Lorsque vous éditez une unité DOS, cette commande vous permet de
vous positionner directement sur le bloc racine de cette unité.
Bloc d'entête
Lorsque vous éditez une unité DOS, cette commande vous permet de
vous positionner sur le bloc d'entête (de fichier ou de
répertoire) suivant.
Dans les quatre cas précédents, l'ancienne position est mémorisée
afin que vous puissiez y revenir avec la commande "Revient" (voir
chapitre "Le_menu_Edite").
Le_menu_Outils
Infos
Affiche les caractéristiques de ce que vous éditez
(fichier/mémoire/unité).
Examine
Lorsque vous éditez une unité DOS et que le bloc courant est un
bloc d'entête, cette commande vous permet d'afficher les mêmes
informations que la commande "Infos" sur le fichier ou
répertoire correspondant à ce bloc d'entête.
Imprime...
Vous permet d'imprimer un ou plusieurs blocs à partir du bloc
courant. Une boite de requête apparait pour vous permettre
éventuellement d'envoyez la sortie vers un fichier, plutôt que
vers l'imprimante ("PRT:"). AZap vous demandera ensuite le
nombre de bloc à imprimer.
Conversion
Fait apparaitre une fenêtre supplémentaire, avec quatre gadgets,
qui vous permet d'effectuer des conversions entre nombres
binaires, décimaux, hexadécimaux et chaines de caractères. Toute
valeur saisie, c'est-à-dire une expression complête pour les
gadgets "BIN", "DEC", et "HEX" ou une chaine de caractères pour
le gadget "ASC", est convertie dans les autres unitées. Notez
que cette fenêtre ne bloque pas les fenêtres d'édition.
Sauve bloc
Vous permet de sauver le contenu d'un ou de plusieurs blocs à
partir du bloc courant. Une requête de fichier apparait pour
vous permettre d'indiquer le fichier où sauver les blocs. AZap
vous demandera ensuite le nombre de bloc à sauver.
Remplit bloc...
Vous permet de mettre tous les octets du bloc courant à la même
valeur. Une boite de requête apparait, entrez la valeur
désirée : soit 'c' pour remplir avec le caractère "c", soit un
nombre qui indique le code ASCII du caractère (précédé par "0x"
pour une valeur hexadécimale).
Le_menu_Recherche
Cherche...
Vous permet de commencer une recherche. Une boite de requête
apparaît, entrez la valeur à chercher : soit une valeur
hexadécimale (précédée par "0x", attention à donner un nombre
pair de chiffres), soit une chaine de caractère (recherche
ASCII). Pour chercher une chaine commençant par "0x", mettez
toute la chaine entre guillemets.
Cherche texte...
Vous permet de chercher des suites de caractères affichables.
Cela peut être utile par exemple pour chercher une zone de
textes. Une boite de requête apparaît, entrez le nombre minimal
de caractères que doit avoir une suite pour être prise en
compte. Une valeur inférieure à 4 n'est en général pas très
intéressante.
Cherche suivant
Vous permet de poursuivre la recherche à partir de la position
courante.
Dans les trois cas précédents, si la valeur que vous avez entrez est
trouvée, AZap se positionne automatiquement à l'endroit
correspondant. L'ancienne position est mémorisée afin que vous
puissiez y revenir avec la commande "Revient" (voir chapitre
"Le_menu_Edite"). Il est possible d'interrompre la recherche, et
AZap est capable de trouver une chaine à cheval sur deux blocs.
Cherche fichier
Vous permet de vous positionner directement sur le bloc d'entête
d'un fichier ou d'un répertoire. Une requête de fichier
apparait, pour que vous puissiez sélectionner le fichier à
chercher. AZap ouvre alors une fenêtre d'édition sur l'unité
correspondante, et se place sur le bloc d'entête du fichier.
Le_menu_Options
Notez que les options sont locales à chaque fenêtre : changer une
option n'affectera que la fenêtre courante. Lorsque vous ouvrez une nouvelle
fenêtre, elle hérite des options de la fenêtre courante.
Somme de contrôle
Vous permet d'indiquer à AZap quand il doit recalculer les
sommes de contrôle des blocs (ceci n'est pris en compte que si
vous éditez une unité). Les choix sont : "Recalcule" (AZap
recalcule la somme de contrôle pour *TOUS* les blocs), "Demande"
(AZap vous posera la question à chaque écriture), "Blocs 0 & 1"
(seulement pour le bloc d'amorçage) et "Automatique" (seulement
si la somme de contrôle était correcte à la lecture).
Sauveg. auto
AZap sauvegarde automatiquement tout bloc modifié dès que vous
demandez à changer de bloc.
Lecture seule
AZap interdit toute modification des données.
min = MAJ
Indique si les majuscules et les minuscules seront différenciées
ou non lors des recherches.
Copie de sauveg.
Indique si AZap doit créer une copie de sauvegarde des fichiers
édités. Si cette option est sélectionnée, à la prochaine
tentative d'écriture, une boite de requête apparaitra pour vous
demander le nom de la copie à créer. AZap fera alors une copie
du fichier, avant d'enregistrer vos modifications. En cas
d'erreur pendant la copie, la boite de requête réapparaitra,
pour vous permettre d'indiquer un autre nom. Si vous cliquez sur
"Cancel", aucune copie ne sera faite mais les modifications
seront enregistrées quand même.
Syntaxe_des_expressions
AZap est capable de calculer des expressions entières. La base par
défaut est soit le décimal pour la saisie des adresses (gadget "GOTO") soit
la base correspondant au gadget pour la fenêtre de conversion. Il est
possible de préciser la base, en préfixant un nombre par "%" pour le
binaire, "#" pour le décimal, et "$" ou "0x" pour l'hexadécimal. Les
opérateurs connus sont :
+ addition
- soustraction
| "ou" logique
& "et" logique
* multiplication
/ division entière
% reste de la division entière
< décalage à gauche
> décalage à droite
Normalement, les opérateurs "*", "/", "%", "<" et ">" sont plus prioritaires
que les autres, mais vous pouvez utiliser des parenthèses. En cas d'erreur
de syntaxe, le résultat d'une expression sera égal à -1.
Remarques_importantes
Lors du démarrage du programme, AZap consulte la structure ExecBase
pour connaitre votre configuration mémoire. Seules les zones indiquées dans
les listes de gestion de mémoire peuvent être éditées. Sauf lors des
recherches, AZap considère ces zones comme contigües et passe
automatiquement de l'une à l'autre. Utilisez la commande "Infos" (voir
chapitre "Le_menu_Outils" pour avoir la liste des zones mémoires. Notez que
la lecture et l'écriture des blocs mémoire se fait après blocage temporaire
du multi-tâches, afin d'éviter des conflits d'accès.
Lorsque vous ouvrez une fenêtre d'édition sur une unité, AZap est
capable de détecter son type. Certaines opérations seront impossibles sur
une unité non AmigaDOS (commandes "bloc suivant", "bloc père" et "bloc
racine", voir chapitre "Le_menu_Edite"), mais pensez à désactiver le
recalcul de la somme de contrôle ! Le programme sait reconnaitre le système
de fichier utilisé (OFS = Old File System, FFS = Fast File System) et gérer
ces deux systèmes.
Historique
AZap a été écrit principalement en langage C, sur un Amiga 3000
UNIX-1 (10 Mo de mémoire, lecteur de disquettes interne HD, disques internes
de 100 Mo et 160 Mo, lecteur SyQuest externe de 88 Mo, lecteur de disquettes
externe, moniteur 1960 et imprimante Star LC24-10) connecté par un cable
null-modem à un A500 avec 1 Mo de mémoire.
v1.00 14-Oct-92, 36084 octets (Fish #759)
o Première version diffusée
v1.01 16-Oct-92, 36084 octets
o Bug corrigé: ne marchait pas si l'écran public par défaut faisait
moins de 648 pixels de large
v1.10 15-Nov-92, 36960 octets
o Ajout des commandes "Bloc d'entête" et "Examine"
o Après une requête de fichier, ouvre une fenêtre mémoire si on a
choisi "RAM:" ou une fenêtre d'unité si on a choisi un nom d'unité
(e.g. "DH0:")
v1.11 21-Nov-92, 36976 octets
o Bug corrigé: ne comprenait plus la forme "§n" pour le GOTO.
v1.20 25-Dec-92, 40000 octets
o Compilé avec le SAS/C 6.1
o Ajout de la fonction "Cherche fichier"
o La requête de la commande "GOTO" conserve l'ancienne valeur saisie
o Si une recherche de chaine échoue, affiche un message "toto non
trouvé"
o Les unités peuvent être désignées par leur nom logique (à l'appel
et dans la requête de fichier, sauf RAM:)
v1.30 02-Jan-93, 40612 octets
o Ajout de la fonction "Sauve bloc"
o La fonction "Imprime" demande le nombre de blocs à imprimer
o La fonction "Infos" donne le type de disque (OFS/FFS/NDOS)
o Fonctions de recherche regroupées dans un nouveau menu
o Fonction "Remplit bloc" déplacée dans le menu "Outils"
o Quelques erreurs corrigées dans la gestion de la police par
défaut, et de l'écran WorkBench
v2.00 07-Feb-93, 42116 octets
o Compilé avec le SAS/C 6.2
o Entièrement localisé
v2.01 21-Feb-93, 41768 octets
o Gestion de la requête de fichier améliorée
o Quelques erreurs corrigées dans la gestion des options des
fenêtres
v2.02 13-Mar-93, 42264 octets
o Plus de gourous avec un 68000 (quelques pointeurs mal alignés)
o Se détache à nouveau du CLI
o La fenêtre "A propos..." a un gadget de fermeture
v2.03 15-Apr-93, 42292 octets
o Quelques erreurs corrigées dans l'évaluation des expressions
o Erreur corrigé: oubliait parfois de remettre à zéro l'indicateur
"bloc modifié" quand on changait de bloc
v2.04 24-Apr-93, 42468 octets (Fish #875)
o Indique le nom complet des fichiers dans le titre de la fenêtre et
dans la fenêtre "info"
o Reconnait tous les systèmes de fichiers de l'OS 3.0
o Quelques erreurs corrigées dans la gestion des menus
v2.05 10-May-93, 42604 octets
o Plusieurs erreurs corrigées dans la fonction de recherche (hexa et
chaine)
v2.06 18-May-93, 42692 octets
o Quelques erreurs corrigées dans la fonction de convertion
(bin/dec/hex/asc)
v2.07 03-Jul-93, 43548 octets
o Compilé avec le SAS/C 6.3
v2.08 29-Jul-93, 43580 octets
o En cas d'erreur de lecture sur une disquette ou un disque, fait
flasher l'écran et affiche un secteur à zéro.
v2.10 15-Sep-93, 44200 octets
o Ajout d'un ascenseur en bas de la fenêtre
o Utilise les nouvelles versions des fonctions GetDefaultTextFont()
et OuvreEcran()
v2.11 22-Sep-93, 44184 octets (Fish #934)
o Erreur très drôle corrigée dans la recherche: en cas d'échec,
l'affichage n'était pas mis à jour. Du coup, les valeurs des
octets étaient modifiées quand on déplaçait le curseur. Dans
certain cas on pouvait même faire descendre le curseur en dessous
de la dernière ligne, et les valeurs des octets s'affichaient par
dessus les boutons.
v2.12 02-Oct-93, 44216 octets
o Plusieurs erreurs corrigées dans la gestion de l'ascenseur:
division par zéro quand le fichier faisait moins de 512 octets,
"knob" remplissant tout le containeur quand le fichier faisait
deux secteurs, etc...
v2.13 30-Oct-93, 44332 octets
o On peut passer une icône en argument lors d'un appel depuis le
Workbench
v2.14 26-Dec-93, 42776 octets
o Gère les caractères accentués (ne les considère plus comme non
affichables)
o La fonction "cherche suivant" commence après la dernière chaine
trouvée
o Compilé avec le SAS/C 6.50
v2.20 17-Apr-94, 43168 octets
o Toutes les fenêtres d'édition sont maintenant des "AppWindow", et
permettent donc le laché d'icône
o Compilé avec le SAS/C 6.51
v2.21 21-May-94, 43168 octets
o Interface légèrement modifiée pour pouvoir (enfin !) fonctionner
sur un écran de 640x200.