home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
hamradio
/
7plus202.zip
/
7PLUS_F.DOC
< prev
next >
Wrap
Text File
|
1992-06-16
|
97KB
|
2,330 lines
=============================================================
### ###### ####
##### ########## ######
################## #######
#################### ######
##### ##################
#### ################
#### ############# #####
##### ###### #####
##### ####### #####
###### ####### #####
###### ######## #####
#### ######## #####
######## #####
####### #########################
####### #########################
####### #########################
####### #####
###### #####
####### #####
###### #####
###### #####
####### #####
####### #####
#######
#######
######
#### 7PLUS v2.0 - (c) 1991,1992 by DG1BBQ
Un encodeur ASCII intelligent incluant la possibilité
de corrections automatiques.
=============================================================
--------------------------------------
Manuel multi-systèmes pour 7PLUS v2.00
--------------------------------------
7PLUS est un logiciel radio-amateur. Il ne peut être dis-
tribué que gratuitement et sous sa forme originale, c'est à
dire les fichiers formant 7PLUS (source C, manuel,etc.).
7PLUS peut être utilisé sans limitation de temps et ce dans
un but non-commercial.
=============================================================
| Axel Bauda Compte bancaire: |
| DG1BBQ @DB0CL.DEU.EU Postgiroamt Hamburg |
| Postdamer Str.43 Bank-No. 200 100 20 |
| D-w2850 Bremerhaven 1 Compte 5413 91-206 |
| Allemagne |
=============================================================
Contenu
-------------------------------------------------------------
CONTENU
=======
La phobie-de-non-lecture-de-documentation (DOCphobie) .....1
Préface ...................................................1
L'évolution de 7PLUS ......................................2
L'encodeur ASCII-7PLUS ....................................3
Principes de base d'un transfert 7PLUS ....................3
Theorie de 7PLUS ..........................................4
Algorithme d'encodage .................................5
Jeu de caractères .....................................6
Algorithme de décodage ................................6
Correction automatique d'UN byte ......................7
La structure des fichiers codes 7PLUS .....................7
En-tête ............................................8
Lignes codées ......................................9
Ligne de conclusion ................................9
Fichiers 7PLUS mono et multi-parties ..................9
Division .............................................11
Le fichier 'méta' ....................................11
Le rapport d'erreur ..................................12
Le fichier de correction .............................14
Sauvegarde des rapports d'erreurs et de corrections
endommagés ........................................15
Compatibilité des versions 7PLUS .........................15
Appellation des fichiers .................................16
Utilisation ..............................................17
Encodage .............................................17
Extraction ...........................................18
Décodage .............................................19
Compilation d'un fichier de correction ...............20
Corrections ..........................................21
Groupage des rapports d'erreurs ......................21
Récomposition d'un fichier d'erreur depuis le fichier
'méta' ............................................22
Résumé d'aide ........................................22
Options supplémentaires ..............................22
-K (Effacement automatique) ......................22
-N (Suppression de la dernière frappe en fin de
travail) .......................................22
-P (Utilisation de <CR> comme delimiteur de ligne)22
-R (Re-encodé une partie unique) .................23
-T (Defini la chaine de fin de fichier) ..........23
-TB (Ajoute le texte d'en-tête et de conclusion
lors de l'encodage) ..........................23
-Y (Suppose 'Oui' lors de demandes) ..............25
I
Contenu
-------------------------------------------------------------
-# (Crée un fichier d'infos pour serveur) ........25
Astuces pour configuration TNC et 7PLUS ..................25
Généralités ..........................................25
Prise et mise de fichiers en mode binaire ............26
Prise .............................................27
Mise ..............................................27
7PLUS sur AMIGA ...................................27
Astuces pour la prise/mise de fichiers 7PLUS .............27
Prise ................................................28
Prise automatique sur BBS .........................30
Interception en mode lecture ......................30
Mise .................................................31
Mise de fichiers de corrections ...................33
Notes générales ..........................................33
Le transfert parfait est-il possible? ....................33
Où et comment commander 7PLUS ............................34
II
Préface
-------------------------------------------------------------
La phobie-de-non-lecture-de-documentation (DOCphobie)
=====================================================
Le plus grand soin a eté apporté à la redaction de ce manuel,
neanmoins on me pose souvent des questions sur des points
bien precis décrits dans ce manuel.
Je sais, la lecture d'un manuel n'a rien de passionant, mais
cette lecture attentive, peut m'épargner beaucoup de temps,
si chaque utilisateur de 7PLUS voulait se donner la peine de
lire attentivement CE MANUEL avant de me poser des questions.
Bien sur, personne n'est parfait, je peux avoir oublier
certaines choses. Certaines parties peuvent paraitre plus
ardues pour des debutants, j'ai tente d'expliquer les choses
le plus simplement possible.
Je ne sais pas inclure un cours MS-DOS/ATARI/AMIGA dans ce
manuel. Vous devrez, donc, maitriser les principes de bases
de votre ordinateur et logiciel utilisés.
Préface
=======
Lors de la transmission de données par le réseau Packet
Radio, des erreurs peuvent se produire en dépit du mecanisme
incorporé dans l' AX.25. On doit garder à l'esprit que les
données transitent par plusieurs interfaces sans protocoles
et par lesquelles une seule impulsion risque de modifier ces
données. De plus, lors du transfert, les données transitent
par de multiples cases memoires, et sur les ordinateurs qui
n'utilisent pas de contrôle de parite ces erreurs sont par-
fois indétectées. Un fichier texte, même avec des erreurs,
reste lisible et compréhensible pour un lecteur. Nous sommes
à même de corriger ou d'ignorer des erreurs (pour autant que
les chiffres ne soient pas faux) et ainsi interpréter la
signification du texte. Meme avec un taux d'erreur de 10%, il
est encore possible de saisir le sens du texte.
Les choses sont différentes lorsqu'il s'agit de langage
machine, comme des logiciels. Une erreur sur 100000 bytes
peut rendre ce logiciel inexploitable. Un logiciel erroné ne
tournera probablement pas ou du moins de façon erratique, une
image sera même meconnaisable ou inutilisable.
Si un logiciel a eté transmis en code source, il pourra être
corrigé, mais seulement par quelqu'un qui a des connaissances
approfondies du langage utilisé. Pour la majorité des utili-
sateurs ce n'est pas le cas.
Un autre problème: Comment transférer un logiciel ou une
image sur un réseau de serveurs (BBS) qui sont concus en
général pour du texte ?
1
Préface
-------------------------------------------------------------
La réponse est simple...convertir le fichier programme en un
format compatible avec les BBS's. Cette tache est accomplié
par des encodeurs ASCII (en court: encodeurs). Les encodeurs
utilises par le passée avait un problème en commun:
- Si un fichier etait corrompu, il devenait inutile et devait
être retransmis à nouveau.
- Certains encodeurs ne détectaient même pas les erreurs, de
ce fait les fichiers resultants donnaient des resultats
bizarres! Ceci allait du simple crash à la destruction de
données sur le disque dur.
- Certains détectaient les erreurs mais pas l'endroit exact
ni dans quel fichier.
- L'allongement provoqué par ces encodeurs etaient fort con-
sequent et variait de 27% à 100% (!). Pour transferer un
fichier de 10K, cela prenait de 12,7K à 20K, en fonction de
l'encodeur utilisé.
Cette situation n'etait pas très favorable, il etait donc
grand temps de lancer un encodeur capable de gérer le
problème
- en utilisant un checksum pour chaque ligne du fichier afin
de localiser avec exactitude l'erreur.
- en procurant une méthode de correction des erreurs sans
pour cela devoir réexpédier le fichier complet.
- en corrigeant certaines erreurs sur le champ et
- en diminuant l'allongement (env.15%).
L'encodeur qui permet cela -et plus- c'est >> 7PLUS <<.
L'évolution de 7PLUS
====================
7PLUS a eté developpé sur base de mon précédent décodeur
SEVEN. 7PLUS permet la détection et la correction des
erreurs. Ces possibilités sont la cause de l'incompatibilité
avec SEVEN. Ce n'est pas trop grave, 7PLUS a des tas d'avan-
tages compare à SEVEN et surtout evite ces mises et remises
en réseau de fichiers corrompus. Ceci est du passé.
Vu l'incompatibilité de 7PLUS avec SEVEN, j'ai implémenté
l'algorithme RADIX216 qui permet un compactage efficace.
Au debut, il y a eu une très forte opposition à l'utilisation
de 7PLUS. Certains etaient convaincus que les encodeurs
utilisant des caractères au-delà de 7Fh, provoqueraient plus
de mal que de bien.
2
L'évolution de 7PLUS
-------------------------------------------------------------
7PLUS c'est, très vite, imposé comme LE standard en
Allemagne. Preuve que les refractaires avaient tort. A ce
jour, 7PLUS est non seulement utilisé en Allemagne mais aussi
dans le monde entier. Certaines BBS's utilisent 7PLUS comme
serveur.
Un aspect important est que 7PLUS est disponible pour la
grande majorité des systèmes informatiques utilisés en Packet
Radio: IBM-PC/ATARI ST/AMIGA et UNIX. (Il existe des versions
pour Apple MacIntosh et Acorn Archimedes. Je ne possède pas
ces versions. Demandez les par la voie des BBS's).
L'encodeur ASCII-7PLUS
======================
De part sa structure le protocole Packet Radio (AX.25) est un
système 8 bit. Lors de son utilisation en 7 bits, le protoco-
le n'est utilisé qu'a concurrence de 87.5% de ses possibili-
tés. Lors de l'encodage de données en n'utilisant qu'un algo-
rithme de 6 ou 7 bits, un allongement inutile se produit.
7PLUS (toutes versions)
- exploite toutes les possibilités du réseau en utilisant les
8 bits.
- crée les lignes codées en 7PLUS, de telle façon que lors du
décodage on sache si la ligne est correctement transmise.
- détecte quelles lignes sont endommagées ou manquantes.
- simplifie la reconstitution des lignes endommagées, par
l'utilisation d'une procédure automatisée (impliquant un
minimum de cooperation entre expéditeur et destinataire.
Principes de base d'un transfert 7PLUS
======================================
1. OM A encodé le fichier TEST.TXT sous le nom TEST.7PL et
lancé ce fichier sur le réseau Packet Radio.
2. OM B prend ce fichier TEST.7PL et essaie de le décoder.
....Malheureusement, le fichier a eté endommagé lors de
l'acheminement sur le réseau...
3. OM B détecte une erreur, grace à 7PLUS, dans TEST.7PL et
crée le fichier 'méta' (TEST.7MF) dans lequel toutes les
lignes valables sont déjà stockées sous la forme defini-
tive et de plus un rapport d'erreurs TEST.ERR est crée.
(TEST.7PL peut-être effacé à ce stade car il ne sera plus
nécessaire pour le décodage).
4. OM B envoie TEST.ERR vers OM A.
3
L'encodeur ASCII-7PLUS
-------------------------------------------------------------
5. Avec l'aide de 7PLUS, l'original TEST.TXT et le fichier
TEST.ERR, OM A crée le fichier de corrections TEST.COR.
Fichier qui sera envoye vers OM B ou le met comme bulletin
sur une BBS en cas d'utilite possible pour d'autres.
6. OM B, avec l'aide de 7PLUS, utilise TEST.COR afin de
completer les espaces vides dans le fichier 'méta'
TEST.MF. Si les espaces sont comblés, 7PLUS transforme ce
fichier et crée le fichier TEST.TXT et reconstitue la date
et l'heure.
En cas de corruption du fichier TEST.COR, OM A doit le re-
expédier. Etant donné que TEST.COR et TEST.ERR sont normale-
ment courts, cette procédure de correction de fichiers endom-
magés (points 3 à 6) est de loin plus efficace que de ren-
voyer des parties complètes dans l'espoir d'un succès de
transfert. Toute la procédure échange/envoi de corrections et
erreurs semble compliquée mais ne l'est pas en realité.
La procédure de la méthode de correction en 7PLUS se compose
de 5 points :
1. "Chez OM B: Decode et découvre des lignes erronées et
les memorise dans un fichier TEST.ERR (automatiquement).
2. "Envoi du rapport d'erreurs TEST.ERR de B vers A".
3. "Chez OM A: Compilation du fichier de corrections
TEST.COR" (automatiquement).
4. "Envoi du fichier de corrections TEST.COR de OM A vers
OM B".
5. "Chez OM B: Effectue la correction" (automatique).
Si le fichier de correction TEST.COR (pour l'OM B) est pris
par OM B2 (autre OM ayant capturé TEST.7PL) ne couvre pas
toutes les lignes corrompues, il suit la procédure de 3 à 5,
un fichier TEST.ERR aura eté généré lors de la tentative
infructeuse de correction de son fichier TEST.7MF.
Dès que OM A et OM B ont réussi le transfert du logiciel ou
de l'image, ils se rendront vite compte de l'efficacité du
procédé.
Un OM C, charitable, qui lui a décodé avec succès le fichier
TEST.7PL, peut prendre le rôle de l'OM A et transmettre les
fichiers de corrections nécessaires. De même une station
automatique (BBS-F6FBB utilisant 7PSERV de SM0NCS) peut aussi
générer les fichiers de corrections.
Theorie de 7PLUS
================
Le procédé d'encodage, utilisé par 7PLUS, pourrait s'appeller
"encodage à 7bit et 3/4", parce qu'a l'echelle la plus
petite, 31 bits des données originales sont encodées en 32
4
Theorie de 7PLUS
-------------------------------------------------------------
bits (4 caractères) en 7PLUS. Voilà une des raisons pourquoi
7PLUS s'appelle 7PLUS. Simple non ?
7PLUS utilise un algorithme RADIX216 lors de l'encodage.
Pour 31 bytes de données au depart, 32 7PLUS-bytes sont
produits. Ceci produit, donc, un allongement de 1/32 =
3.125%. A cause des separateurs de lignes, checksums, en-
têtes et ligne de conclusion, l'allongement augmentera
jusqu'a 13% à 15%.
Des encodages avec les algorithmes simples comme RADIX64
(UUE), RADIX128(SEVEN) sont accomplis par bit-shifting
(multiplication par 2^n ou division par 2^n). Ce que des
microprocesseurs font à grande vitesse.
RADIX216 (7PLUS) n'est pas base sur des multiples de 2, donc
des divisions et multiplications entières sont nécessaires et
ceci prend plus de temps que le système bit-shifting.
Certains vieux(!) microprocesseurs n'ont pas de commandes
directes pour les divisions et multiplications entières, ces
operations devront donc être implémentées dans des boucles
add-shift. Ce qui est lent. Les microprocesseurs actuels
(80x86, 680x0) ont tous des commandes directes pour ces
operations. C'est donc pour cette raison que 7PLUS tournera à
une vitesse acceptable sur ces machines.
Algorithme d'encodage
---------------------
Lors du codage, 7PLUS interprèter 31 bits des données
originales en un nombre entier N. Ce nombre est ensuite
divisé par 216 et à trois reprises.
Les restes des divisions (A1, A2, A3) et le troisième
quotient (A4)
- peuvent être une des 216 valeurs possibles (0 à 215) et
- représente 4 caractères de base (= 4 bytes = 32 bits) du
codage 7PLUS.
Après le codage d'un groupe de 31 bytes des données origina-
les, il resulte un ensemble 7PLUS de 32 caractères de base.
Les caractères ainsi trouvés par l'algorithme RADIX216 ne
peuvent être directement utilisés vu que ceux-ci comprennent
des caractères de contrôles de la table ASCII. Entre en jeu
ici une attribution de valeurs qui ne provoqueront pas de
conflit au égard à la table ASCII.
5
Theorie de 7PLUS
-------------------------------------------------------------
Jeu de caractères
-----------------
Caractères utilisés par l'algorithme 7PLUS (en hexa)
21 - 29, 2B - 7E, 80 - 90, 92 - FC
Caractères non-utilisés:
00 à 20 : Codes de contrôles et espace.
2A : L'asterisque (*) ne doit pas être utilisée, parce
que -par hasard- la chaine '***end' pourrait être
produite, causant la fermeture de fichier sur BBS
The-Box. (Je dois admettre que je n'ai pas tenu
compte des systèmes utilisés hors de l'Allemagne...
Le signe de clôture '/EX' peut être produit par
hasard! Je n'ai pas encore reçu de plaintes à ce
sujet. Axel)
7F : DEL, un autre caractère de contrôle.
91 et 93: Certains logiciels pour modem téléphonique
interprètent ces caractères comme XON et XOFF (11h
et 13h).
Si vous rencontrez des difficultés avec le jeu de caractères
de 7PLUS, voir 'Astuces pour la configuration...'.
Algorithme de décodage
----------------------
Lors du décodage,
- 7PLUS lit 4 caractères du code 7PLUS ( = 32 bits) et
- regroupe ceux-ci en 4 valeurs A1, A2, A3 et A4.
La valeur N est ensuite reconstituée:
N = A1 + A2*216^1 + A3*216^2 + A4*216^3
La valeur N représente 31 bits des données originales (près
de 4 bytes). Après lecture et décodage un groupe complet de
32 caractères 7PLUS, 31 bytes des données originales sont
recontituées.
6
Theorie de 7PLUS
-------------------------------------------------------------
Correction automatique d'UN byte
--------------------------------
Depuis la version 1.60, 7PLUS utilise un procédé simple mais
efficace de correction immediate d'un byte, quand
- un byte par ligne est erroné, ou
- un byte est manquant, ou
- un byte est superflu.
Lors du décodage d'une ligne, 7PLUS verifie la ligne par un
contrôle du checksum 'interne', présent depuis la version
1.0. En cas d'erreur, 7PLUS tente de reconstituer la ligne en
testant toutes les combinaisons (plus de 14.000). Si une com-
binaison est trouvée, ce que le checksum 'externe' confirmera
(checksum présent depuis la version 1.60), une nouvelle véri-
fication s'effectue alors avec le checksum interne. A ce ni-
veau il peut y avoir plusieurs possibilités. Si les contrôles
des deux checksums sont concluants, alors la ligne a eté re-
constituée. Si non, la vérification continue et ne s'arrêtera
que quand toutes les possibilités auront eté verifiée.
Une situation où les checksums internes ET externes donne un
test positif et que malgré tout la ligne est mauvaise sera
EXTREMEMENT rare. Pour plus de securité, le checksum externe
est calculé de façon inverse à l'interne.
La correction d'UN byte peut prendre un certain temps
(jusqu'à trois secondes) sur des ordinateurs lents, mais
cette possibilité évite de devoir demander un fichier de
correction, cela vaut la peine d'attendre. De plus des
erreurs sur un byte sont rares.
Je suis conscient qu'il existe de meilleures méthodes. Le
problème est que, cela demande plus de places et d'espaces
memoires. Ceci risquerait de devenir un problème sur des
systèmes serveurs ou sur de simples terminaux.
La structure des fichiers codes 7PLUS
=====================================
Les fichiers 7PLUS se composent en général de:
- une en-tête
- jusqu'à 512 lignes de code et
- une ligne de conclusion.
Chaque ligne se termine par la combinaison LF/CR (sur MS-DOS
et ATARI; sur d'autres systèmes se seront des normes diffé-
rentes, p.ex: LF sur AMIGA/UNIX). Pendant un transfert par
Packet Radio, le signe de separation de ligne est toujours et
seulement le caractère <CR>.
7
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
La transformation de CR/LF (LF sur AMIGA/UNIX) en CR est
faite automatiquement par le programme terminal.
Exception: Lors d'envoi ou de réception en binaire avec
certains logiciels. Voir 'Astuces pour la configuration...'.
En-tête
-------
(Presentation scindée par manque d'espace)
go_7+. 005 of 010 TEST.TXT 0010453 ->
+-----+ +-+ +-+ +----------+ +-----+
1 2 3 4 5
-> 6488 166 (7PLUS v2.0) XXXXYZZ
+--+ +-+ +----------+ +-----+
6 7 8 9
1) Indicateur de depart, à partir de la deuxième colonne.
2) Numérotation de la partie, décimale (partie 5).
3) Nombres de parties. décimale (10 parties).
4) Nom du fichier original (TEST.TXT), avec des espaces
jusqu'au 12ième car. Même sur des systèmes autorisant des
noms plus longs, un nom compatible MS-DOS sera toujours
utilisé! Ceci afin de garantir l'échange entre systèmes
différents.
5) Longueur en bytes du fichier non-encodé (décimal).
6) Nombre de bytes ASCII dans cette partie. Plus utilisé dans
la version 2.0. Toujours présent pour assurer la compati-
bilité avec les anciennes versions.
7) Nombre de lignes par fichier (hex).
8) Nom et version de l'encodeur utilisé.
9) XXXX: Caractères de test afin de détecter le 8ième bit.
Est aussi utilisé afin d'indiquer que le nom complet
du fichier apparait sur la ligne suivante (depuis
version 1.4).
Y: Minichecksum pour l'en-tête (depuis v. 1.5).
ZZ: Autre checksum utilisé pour la correction d'un byte.
(depuis v. 1.60).
(Calcul du checksum, voir 7PLUS code-source)
8
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
Lignes codées
-------------
(Presentation scindée par manque d'espace)
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ->
+------------------------------>
1
-> BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBPPPQQ
>------------------------------++---+
2
1) A: Premier groupe de 7PLUS (32 bytes 7PLUS représentant 31
bytes des données originales).
B: Deuxième groupe de 7PLUS 2.
P: Checksum (14 bit) et numérotation de ligne (9 bit).
Q: (Depuis 7PLUS 2.0) Checksum supplémentaire pour la
correction d'un byte (15 bit).
Un fichier 7PLUS contiendra au maximum 512 lignes.
(Calcul du checksum, voir code-source de 7PLUS)
Ligne de conclusion
-------------------
stop_7+. (TEST.P05/0A) [18398BE4] XXXXYZZ
+-------+ +-----------+ +--------+ +---------------+ +-----+
1 2 3 4 5
1) Indicateur de fin, dans la deuxième colonne.
2) Nom du fichier encodé et indication des parties.
3) Date et heure du fichier non-encodé en format MS-DOS:
Valeur de 32 bits, bits 0 -4 -> secondes / 2
bits 5 -10 -> minutes
bits 11-15 -> heures
bits 16-20 -> jour
bits 21-24 -> mois
bits 25-31 -> année depuis 1980
4) Reserve
5) Voir position 9 en en-tête.
(Calcul du checksum, voir code-source de 7PLUS)
Fichiers 7PLUS mono et multi-parties
====================================
7PLUS utilise 9 bits pour la numérotation de lignes. Ceci
permet donc une longueur maximale de 2^9 (=512) lignes par
fichier encodé. Etant donné qu'une ligne encodé représente 62
bytes du fichier original, la longueur maximale d'un fichier
encodé en 7PLUS sera de 512 * 62 = 31744 bytes. Des fichiers
plus long seront automatiquement scindés en plusieurs fich-
iers 7PLUS.
9
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
Néanmoins, 7PLUS commence déjà une séparation à 8557 bytes,
afin de maintenir une dimension de +- 10K. Il vous est loisi-
ble de donner d'autres longueurs par les commandes ad-hoc si
nécessaire.
Notes:
------
La raison de cette restriction de taille de fichiers vers
les 10K est due au système de transfert utilisé dans le
réseau serveurs.
Un exemple:
Un message de 40.000 bytes doit être transféré de la BBS A
vers la BBS B. Si le transfert est interrompu par une rup-
ture de la liaison (cela arrive souvent), le transfert
entier doit être répété depuis le debut, et ce jusqu'a ce
que la liaison reste stable pendant le transfert complet.
Aussi longtemps que les auteurs de logiciels BBS n'auront
pas amélioré le système de reacheminement afin de reprendre
un transfert à l'endroit de la cassure, il est préférable
de limiter la taille des fichiers.
Des fichiers en une partie, auront un nom comprenant le
préfixe du nom original suivi de l'extension '.7PL'.
Exemple: 'FUNCTION.EXE' ou 'FUNCTION.PAS' deviendront
'FUNCTION.7PL'.
Des fichiers multi-parties auront une extension différente
des fichiers mono-partie. L'extension '.Pxx' indiqueront que
ce fichier fait partie d'un ensemble de fichiers. 'XX' est
une valeur hexadécimale comprise entre 01 à FF (1 à 255
dec.).
Exemple: 'XMIT.EXE' sera encodé en 'XMIT.P01', 'XMIT.P02',
'XMIT.P03' etc....
7PLUS peut produire 255 parties. Donc, 255 * 31.744 =
8.094.720 bytes peuvent être encodés en 7PLUS.
Pour un but radio-amateur, cela me semble suffisant.
10
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
Division
========
7PLUS peut scinder les fichiers de différentes façons.
Les possibilités sont:
division en un nombre precis de fichiers,
où la dimension des fichiers dependra
- du nombre souhaite de fichiers et
- de la taille originale du fichier à encoder.
ou division en fichier de taille precisé,
où le nombre de fichiers dependra de
- de la taille souhaité des fichiers et
- de la taille original du fichier à encoder.
Comment la division de 7PLUS peut-être influencé par l'utili-
sateur ?
Voir la déscription de cette division dans 'Emploi/Encodage'.
Le fichier 'méta'
=================
Une nouveauté en 7PLUS est le fichier 'méta'. Cette méthode
elimine plusieurs étapes lors de correction des fichiers.
Avec les versions plus anciennes de 7PLUS, l'utilisateur
devait conserver les fichiers non-décodés jusqu'a ce qu'il
recoive le fichier de correction, ensuite il pouvait enfin
procéder au décodage. Ceci, au cas où plusieurs erreurs sur
un byte se produisaient, pouvaient prendre un temps assez
long et en cas de corrections non-réussies, la procédure
devait être répétée. En principe les fichiers sont décodés
trois fois: décodage, correction, re-décodage. Peu efficace
pour le moins.
Maintenant, 7PLUS va créer un fichier 'méta', lors du premier
décodage. Le fichier 'méta' contient toutes les lignes cor-
rectement décodées et les endroits erronés seront remplis de
NUL bytes.
A partir d'ici le fichier encodé 7PLUS peut être effacé, il
ne sera plus utilisé pour le décodage.
Après le décodage, le fichier 'méta' a la même taille que le
fichier original plus des informations pour des corrections,
la seule différence se situe aux endroits endommagés ou
manquants, ces endroits seront traités par le fichier de
correction.
11
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
Des informations importantes seront ajoutées à la fin du
fichier 'méta' (en fait les mêmes informations que dans le
rapport d'erreur), ainsi 7PLUS pourra retrouver les endroits
à corriger.
Lorsqu'un fichier de correction est disponible, les blancs
sont simplement completés. Un pointeur indiquera les endroits
à corriger. Les endroits avec des NUL seront réécrits.
La procédure de correction est extremement rapide. Vous aurez
l'impression que rien ne s'est passe!
Si tous les blancs du fichier 'méta' sont remplis, le fichier
'méta' sera renommé avec le nom du fichier original, et mis à
sa longueur original (les informations ayant eté ajoutées,
seront enlevées du fichier) et la date/heure seront mise à
jour (date du fichier original).
Les noms des fichiers 'méta' sont composés du prefixe du
fichier original plus une extension '.7MF'. Il faut conserver
les fichiers 'méta' car sans eux la correction n'est pas
possible!
Note: Sur des systèmes qui n'accepte pas la manipulation de
taille de fichiers, les infos ne seront pas ajoutées au
fichier 'méta' mais seront écrits dans un fichier
separé avec extension '.7IX'. MS-DOS, DR-DOS, OS/2 et
TOS (Atari) autorisent les modifications de taille,
donc pas de creation de fichier separé '.7IX'.
Le rapport d'erreur
===================
Lorsque des fichiers 7PLUS sont endommagés lors du transfert,
7PLUS ne reconnait pas spécifiquement les erreurs, mais
- reconnait quelles lignes sont manquantes ou endommagées et
qui devront être réemisés.
- memorise les lignes correctes et les décode dans un fichier
'méta' et
- crée un fichier d'erreur dans lequel toutes les informa-
tions nécessaires seront écrites afin de permettre une
correction par l'expéditeur du fichier encodé.
Exception: Si UN byte sur une ligne est endommagé, superflu
ou manquant 7PLUS corrigera l'erreur sur le champ.
12
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
Exemple d'un rapport d'erreur:
go_text. TEST.ERR
7PLUS error report: TEST.TXT 113 /Test.TXT/ 34028
01
005 006 007 03D FFF
02
10C 10D 10E FFF
[18398BE4]
00
CRC A17D
stop_text.
Le rapport d'erreur de l'OM B est pratiquemment la demande de
correction de l'OM A afin de renvoyer les lignes endommagées
et de les ajouter ensuite au fichier 'méta' chez l'OM B.
Les lignes ' go_text.' et ' stop_text.' sont aussi utilisés
par mon programme FFR (Mailbox File Fractionizer) qui utilise
les marque pour extraction automatique. Uniquement lorsque
l'extension du nom de fichier qui suit ' go_text.' est soit
'.ERR' ou '.COR', ce sont des rapports d'erreurs ou de
corrections! (Axel)
L'en-tête '7PLUS error report...' contient des informations
que 7PLUS utilisera lors de la compilation du fichier de
correction:
- Nom du fichier original,
- nombre de lignes par fichier,
- le nom complet (depuis v 1.4 sur AMIGA/UNIX) et
- la taille du fichier original (depuis 7PLUS v.1.5).
La valeur hexa à deux chiffres definit le numéro de la partie
(01 - FF) dans laquelle les lignes mentionnées sont endomma-
gées. Un fichier 7PLUS mono-partie est traité ici comme
'partie 1'.
Une ou plusieurs lignes comprenant des valeurs à 3 chiffres
en hexa viennent ensuite (la premiere ligne d'un fichier
encodé est 000 et la 512ième est la 1FF).
Un numéro de ligne 'FFF' est la conclusion de l'inventaire
des lignes endommagées de cette partie.
Ceci sera répété pour chaque partie contenant des lignes
endommagées ou manquantes.
Depuis la version 2.0 de 7PLUS, la ligne de conclusion du
rapport d'erreurs contient la date/heure entre []. L'ancien-
ne conclusion '00' est toujours présente pour des raisons de
compatibilité avec les anciennes versions.
Enfin, le checksum du rapport d'erreur suit (depuis v. 1.5)
afin de permettre à 7PLUS de contrôler la validité du rapport
d'erreur et de decider de son utilisation.
13
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
Le fichier de correction
========================
A la réception du rapport d'erreur de l'OM B, OM A (espérons
le) compilera un fichier de correction. Le fichier de correc-
tion comprendra toutes les lignes demandées par le rapport
d'erreurs. OM A enverra ensuite le fichier de correction vers
OM B ou le mettra sous forme de bulletin sur un serveur, au
cas où il aurait reçu plusieurs demandes de corrections iden-
tiques. Ceci permet une correction groupée.
Lors de l'utilisation d'un fichier de correction, 7PLUS n'ira
remplacé que les lignes qui ne sont pas encore décodées, de
ce fait OM B2 pourra utiliser le fichier de correction de
l'OM B et ce sans risques. La correction sera réussie, si
toutes les lignes endommagées chez OM B2 sont remplacées.
Exemple d'un fichier de correction:
go_text. TEST.COR
7PLUS correction: TEST.TXT 34028 113 [18398BE4]
P01:
L005:
sdWKLRjwEK...(ligne 5 de partie 1)
L006:
"rt4rWER7Z...(ligne 6 de partie 1)
L007:
eeERG35ERG...(ligne 7 de partie 1)
L03D:
$%&H$%6TZJ...(ligne 61 de partie 1)
P02:
L10C:
AdD$%SFFDr...(ligne 268 de partie 2)
L10D:
sFG$sFw4rf...(ligne 269 de partie 2)
L10E:
56fZTddfDg...(ligne 270 de partie 2)
P00:
CRC A9B6
stop_text.
' go_text.', ' stop_text.' et checksum: voir chapitre 'Le
rapport d'erreur...'
14
La structure des fichiers codes 7PLUS
-------------------------------------------------------------
L'en-tête '7PLUS correction...' comprend les informations
suivantes:
- nom du fichier original
- taille du fichier original (décimale) (depuis 7PLUS 1.5),
et en plus depuis 7PLUS 2.0:
- la taille, en nombre de lignes (hex), des parties et
- la date/heure du fichier original.
Une ligne avec la mention ' Pxx:' indique pour quelle partie
les lignes suivantes sont destinées. Les lignes sont
précédées de la mention ' LXXX:'. XX et XXX représente des
valeurs (hex) à deux ou trois chiffres.
La structure du fichier de correction a eté gardé simple.
Sauvegarde des rapports d'erreurs et de corrections
endommagés
===================================================
Lorsqu'un rapport d'erreur ou de correction est endommagé et
qu'il à un checksum, 7PLUS va interrompre l'execution et
prevenir l'utilisateur du checksum incorrect ou manquant.
Ceci ne signifie pas nécessairement que le fichier est inu-
tilisable. Etant donné que la structure de ces fichiers est
simple, il sera aise d'effacer les parties fautives. Vu que
le checksum (CRC XXXX) est incorrect, il devra être effacé
sinon 7PLUS refusera d'utiliser le fichier. De plus l'option
'-F' devra être émisé, lors du lancement des commandes de
décodage. De cette façon, on pourra au moins utiliser les
parties valables des fichiers d'erreurs ou de corrections, et
de permettre ainsi de lancer une nouvelle demande de correc-
tion moins volumineuse.
Si le fichier de correction a eté pris par notre OM fictif
B2, il peut être chanceux et avoir plus de lignes que néces-
saire à sa correction. Donc son fichier sera corrigé (si les
lignes nécessaires sont reprises dans le fichier de
correction, bien sur).
Compatibilité des versions 7PLUS
================================
7PLUS va décoder tous les fichiers crées par les anciennes
versions de 7PLUS. Les fichiers crées avec 7PLUS 1.0 seront
sans difficultes décodés par la version 7PLUS 2.0.
Depuis la version 1.60, la correction automatique d'un byte
par ligne est possible. A cet effet, chaque ligne a un check-
sum en fin de ligne. A cause de cette astuce, les versions
anterieures à 1.4 ne décoderont pas les fichiers de la
version 1.60!
15
Compatibilité des versions 7PLUS
-------------------------------------------------------------
Il est possible d'effacer manuellement ce checksum sur chaque
ligne (les deux derniers caractères) et d'ensuite effectuer
le décodage avec une version anterieure à 1.4. Mais comme la
grande majorité des utilisateurs possede une nouvelle version
ceci n'est pas un problème. Peu d'encodeurs offre une telle
compatibilité.
Il en va de même pour les rapports d'erreurs et de correc-
tions.
Depuis 7PLUS v.1.5, les rapports d'erreurs et de corrections
sont accompagnés d'un checksum global. Ce checksum n'est uti-
lisé que s'il est présent. Si 7PLUS ne trouve pas un check-
sum, l'utilisateur recevra le message:
'no CRC. File may be corrupted or from version earlier than
7PLUS v1.5'.
Ceci veut dire que 7PLUS n'a pu verifier l'integrité du fich-
ier. Editez ce fichier et lisez le chapitre 'Sauvegarde des
fichiers emdommagés....'.
Appellation des fichiers
========================
Les fichiers manipulés par 7PLUS doivent se conformer à
certaines règles identiques à la procédure MS-DOS, peu
importe le système sur lequel 7PLUS sera exploité.
Ils seront toujours du format:
- un mom (8 caractères max.) et
- une extension (3 car. max.) separé par un point.
Les noms de fichiers en 7PLUS seront toujours en majuscules!
Exemple pour un nom de fichier, en accord avec les normes
precitées: TERMINAL.EXE
Sur disque, des minuscules peuvent être utilisées, si le
système le permet. Ceci est important sur les systèmes qui
font la différence entre miniscules et majuscules (UNIX).
Afin de permettre le passage du nom de fichier sur des
systèmes avec des structures de noms différents que sur
MS-DOS, le nom complet est transmis séparément (voir 'En-
tête'). Au même moment un nom compatible MS-DOS sera crée
afin d'assurer la compatibilité.
P.ex: le nom 'Hyper_Term_Plus' deviendra 'HYPER_TE'.
Lors de l'encodage sans divisions, l'extension sera '.7PL'
(TERMINAL.7PL).
16
Appellation des fichiers
-------------------------------------------------------------
Les fichiers scindés auront comme extension '.Pxx', 'xx' est
une valeur hexadécimale comprise entre 01 à FF.
Les rapports d'erreurs auront l'extension '.ERR' et les cor-
rections '.COR'. Ceci est de la plus haute importance, car
7PLUS agira en fonction de l'extension!
- '.ERR' indique à 7PLUS la necessité de compiler un fichier
de correction.
- '.COR' indique à 7PLUS la necessité de procéder à la
correction.
Vous pouvez changer le nom des fichiers, MAIS en conservant
l'extension.
Si vous avez reçu plusieurs rapports d'erreurs, il est
possible d'appeller ces fichiers autrement. Le premier
fichier portera l'extension '.ERR', les suivants auront
'.Exx', xx sera une valeur hexa à deux chiffres.
Exemple:
Vous avez reçu trois rapports d'erreurs concernant le même
fichier original (TEST.7PL). Lors de l'extraction avec
l'option '-X', le premier rapport d'erreur sera appellé
TEST.ERR, le deuxième TEST.E01 et le troisième TEST.E02. Les
trois fichiers peuvent être rassemblés sous un seul fichier
grace à l'option '-J'.
Par analogie, les fichiers de corrections suivront la même
règle.
Les fichiers 7PLUS seront toujours sauvegardés en suivant ces
règles. Ceci est de la plus grande importance pour les fich-
iers scindés et les corrections, sinon 7PLUS ne retrouvera
plus ses jeunes!
Utilisation
===========
Les exemples suivants sont d'application sur des systèmes MS-
DOS. Si vous utilisez des systèmes Atari-ST, vous ne devez
plus introduire '7plus' à nouveau, mais uniquement les para-
mètres des exemples. Sur un Amiga, le CLI doit d'abord être
lance. La syntaxe est la même alors dans les exemples, sauf
dans la structure des noms et des chemins.
Encodage
--------
7plus test.txt
7PLUS encodera le fichier TEST.TXT et le divisera (si
nécessaire) automatiquement en fichiers de +- 10K.
17
Utilisation
-------------------------------------------------------------
7plus test.txt -s
7PLUS encodera TEST.TXT et le divisera en fichiers de
maximum 512 lignes.
7plus test.txt -s 30
Encodera et divisera TEST.TXT en fichiers de 30 lignes
chacun.
7plus test.txt -sp 3
Encodera et divisera TEST.TXT en 3 parties égales.
7plus test.txt -sb 5000
Encodera et divisera TEST.TXT en fichiers de +- 5000
bytes.
Extraction
----------
(Extraction = copie de fichiers 7PLUS à partir d'un fichier
de capture)
On peut utiliser un editeur pour extraire les fichiers 7PLUS
stockés dans un fichier de capture, mais 7PLUS fera ce
travail bien plus rapidement, plus sur et plus facilement.
L'extracteur 7PLUS verifie dans le fichier de capture la
présence de fichiers 7PLUS:
- fichier qui commence par ' go_7+.', ' go_info.' ou
' go_text.', et
- fichier qui se termine par ' stop_7+.',' stop_info.' ou
' stop_text.'.
La commande pour extraire les fichiers 7PLUS d'un fichier de
capture est:
7plus <fichier_de_capture> -x [<texte_de_recherche]
Exemples:
7plus spsave.c10 -x 999.err
7PLUS extrait (et numérote) tous les fichiers d'erreurs
dans le fichier de capture 'spsave.c10' si le nom com-
prend '999.err'. Ceci pourrait être 'TERM999.ERR' ou
'MEGA1999.ERR' etc.
7plus a:term.log -x
Si un texte de recherche n'est pas donné, TOUS les
fichiers 7PLUS, contenu dans le fichier de capture,
seront extraits.
18
Utilisation
-------------------------------------------------------------
7plus 91-05-15 -x ###
Lorsqu'une recherche est faite sur un texte fictif
(p.ex:###), l'extraction ne sera pas effectuée, mais la
commande indiquera quels fichiers se trouvent dans le
fichier de capture. Vous obtenez une sorte de répertoire
du contenu.
Lors de l'extraction, pas de problèmes peu importe si la fin
de ligne est CR/LF, CR ou LF, les lignes seront correctement
terminées en accord avec le système utilisé: CR/LF sur IBM et
Atatri_ST et LF sur AMIGA et UNIX.
Si le fichier de capture a eté crée par une prise en mode
binaire, la fin de ligne ne sera qu'un CR, ceci en empe-
chera l'edition. 7PLUS est non seulement à même de faire
l'extraction mais aussi de procéder à l'appellation correcte
des fichiers.
En même temps que l'extraction des fichiers 7PLUS, les rap-
ports d'erreurs, corrections et les infos sont également
extraits. Les fichiers infos sont a designer manuellement
avant la mise sur réseau en inserant ' go_info. FILENAME.EXT'
en premiere ligne et ' stop_info.' en dernière ligne.
FILENAME.EXT est le nom du fichier qui sera attribue au
fichier info lors de son extraction.
Le moment est venu de vous présenter un autre de mes program-
mes qui permet l'extraction de fichiers 7PLUS et bien
d'autres choses: FFR (Mailbox File Fractioner). Le logiciel
FFR extraira egalement d'autres fichiers tels que des
bulletins ou d'autres encodeurs (RADIX95, CODEX, 7BIT etc.).
Le logiciel FFR peut être configure afin de travailler avec
n'importe laquelle des BBS's. Pour l'instant il connait
TheBox, F6FBB, W0RLI, MSYS et bien d'autres.... C'est aussi
populaire que 7PLUS en Allemagne...(Axel)
Décodage
--------
7plus test.7pl
7PLUS décode TEST.7PL. S'il n'y a pas d'erreurs dans
TEST.7PL, 7PLUS créera un fichier identique à l'original
et avec un nom compatible au format MS-DOS (a moins de
décoder sur un Amiga ou Unix. En ce cas le nom entier
sera utilisé si disponible). En cas d'erreurs, 7PLUS
créera un rapport d'erreurs (TEST.ERR). Si 7PLUS trouve
un fichier 'TEST.COR' dans le même répertoire, il l'uti-
lisera automatiquement ainsi que les fichiers de correc-
tions additionnels (TEST.C01, TEST.C02 etc.).
Voir aussi 'Le fichier 'méta''.
7plus test.p01
7PLUS va décoder toutes les parties (*.P01, *.p02 etc.).
Voir exemple précédent.
19
Utilisation
-------------------------------------------------------------
7plus test
7PLUS commencera
- le décodage de 'TEST.7PL' ou 'TEST.Pxx'
- ou encodera le fichier 'TEST'.
Compilation d'un fichier de correction
--------------------------------------
7plus test.err c:\pr\
7PLUS compilera le fichier de correction 'TEST.COR'. Il
ira verifier si le fichier 'TEST.TXT' se trouve dans le
répertoire 'C:\PR\'. S'il n'y a pas de répertoire de
recherche indique, 7PLUS ira chercher 'TEST.TXT' dans le
répertoire actif. Il n'est pas nécessaire que l'expédi-
teur garde les fichiers encodés (TEST.7PL ou TEST.Pxx),
ils ne sont pas nécessaire à la compilation du fichier de
correction. La seule chose qu'il DOIT conserver est le
fichier original non-codé 'TEST.TXT'! Sans ce dernier,
pas de fichier de correction possible. De plus, il doit
se rappeller comment il a scindé le fichier 'TEST.TXT'
afin de savoir re-expédier certaines parties si néces-
saire.
7PLUS scinde automatiquement les très longs fichiers de
correction en fichier de +- 10K. La taille à partir de
laquelle 7PLUS commence à scinder les fichiers est active et
defini par l'option '-SB'. Voir 'Encodage'
Une situation particuliere peu apparaitre, lorsque des
fichiers 7PLUS sont crées sur des systèmes avec une
structure de noms de fichiers non-MS-DOS.
Exemple:
Un OM, qui possède un AMIGA, encode 'Hyper_Term_Plus'. 7PLUS
accorde un nom de fichier compatible MS-DOS: 'HYPER_TE' (le
nom complet est transferé dans les fichiers 7PLUS, mais n'est
pas utilisé sur les systems MS-DOS et Atari). L'OM (avec
l'Amiga) lance le fichier et un OM (avec un système MS-DOS)
le prend et le décode au moyen d'une version de 7PLUS plus
ancienne que 1.4. En cas d'erreurs, l'OM (avec MS-DOS) envoie
son fichier d'erreur à l'OM (avec un Amiga). Ce dernier
essaie de compiler un fichier de correction, mais son 7PLUS
cherche 'HYPER_TE' au lieu de 'Hyper_Term_Plus'! Dans ce cas
le nom complet, y compris le répertoire, doit être specifié:
p.ex: 7plus hyper_te.err df0:utils/Hyper_Term_Plus
Ce problème ne se serait pas présenter, si l'OM (avec MS-DOS)
avait utilisé une version de 7PLUS plus récente que 1.4,
parce que 7PLUS aurait ajouté le nom complet du fichier au
rapport d'erreurs.
20
Utilisation
-------------------------------------------------------------
Corrections
-----------
7plus test.cor
7PLUS va utiliser le fichier de correction 'TEST.COR'
afin de remplir les espaces vides du fichier 'méta'
'TEST.7MF'. Si tous les espaces vides ne sont pas com-
blés, 7PLUS créera un nouveau fichier d'erreurs. Il fau-
dra envoyer à l'expéditeur le nouveau fichier d'erreurs
et demander un nouveau fichier de corrections. Si 7PLUS
trouve d'autres fichiers de corrections (TEST.C01,
TEST.C02 etc...) dans le même répertoire que 'TEST.COR'
il les utilisera automatiquement.
7plus test.p03 -c
7PLUS autorise egalement l'usage d'un fichier normal
comme correction. Il prendra les lignes nécessaires du
fichier 'TEST.P03' et comblera les vides dans le fichier
'méta' 'TEST.7MF', comme dans l'exemple précédent.
Si le fichier de correction a eté crée par une version ante-
rieure à 1.5, 7PLUS arrêtera l'execution car il ne trouvera
pas de checksum. Vous saurez forcer 7PLUS a accepter un tel
fichier grace à l'option '-F'. Vous serez prudent d'editer ce
fichier auparavant!
Voir aussi 'Sauvegarde de fichiers endommagés...'
Tuyaux pour amateurs:
Si 'TEST.7PL/PXX' a eté mis sur un serveur, il est inter-
ressant d'attendre un peu pour le décoder, car les cor-
rections nécessaires pourraient être disponiblle aussi.
Vous pouvez utiliser autant de fichiers de corrections que
vous desirez, toutes les lignes corrigées avec succès seront
stockées dans le fichier 'méta'. A un certain moment tous les
espaces vides seront comblés.
Groupage des rapports d'erreurs
-------------------------------
La jonction de rapports d'erreurs est utile surtout au cas où
un expéditeur a reçu plusieurs rapports d'erreurs. Il peut
ainsi utiliser tous les rapports d'erreurs afin de ne créer
qu'un seul fichier de correction collectif et qui comprendra
toutes les lignes endommagées mentionnées dans les rapports
d'erreurs. Si tous les rapports d'erreurs sont identiques, la
jonction est superflue.
21
Utilisation
-------------------------------------------------------------
7plus test.err test2.err -j
7PLUS va joindre les rapports d'erreurs 'TEST.ERR' et
'TEST2.ERR'.
7plus test.err -j
7PLUS va joindre automatiquement tous les rapports
d'erreurs crées lors de l'extraction avec l'option '-X'.
7PLUS verifie la présence de 'TEST.E01', 'TEST.E02' etc.
Récomposition d'un fichier d'erreur depuis le fichier 'méta'
------------------------------------------------------------
En cas de perte d'un fichier d'erreurs ou si vous desirez en
envoyer un nouveau (parce que le premier est resté sans ré-
ponses), ce fichier peut être récomposé à partir du fichier
'méta'.
7plus test.7mf
7PLUS lit les informations indexées à la fin du fichier
'méta' et les utilisera afin de créer 'TEST.ERR'.
NOTE: Sur certains systèmes, 'TEST.7IX' doit être specifié au
lieu de 'TEST.7MF'. La raison en est expliquée dans le
chapitre 'Le fichier 'méta'.
Résumé d'aide
-------------
7PLUS -H (ou simplement 7PLUS)
Une aide courte est affichée. L'aide est plus longue que
25 lignes, vos doigts doivent être pret à taper CTRL-S
afin d'arrêter le défilement.
Options supplémentaires
-----------------------
-K Par cette option, 7PLUS procédera au nettoyage de tous
les fichiers qui ne sont plus nécessaire et les effacera.
Exception: Lors de la compilation de fichier de correc-
tion les rapports d'erreurs ne seront pas effacer parce
que ceux-ci peuvent être nécessaire à la compilation d'un
fichier de correction collectif.
-N (sur ATARI_ST) Habituellement 7PLUS place un curseur
après l'introduction d'une commande, l'option '-N'
supprimera ce curseur. Ceci est utile lorsque 7PLUS est
appelle à partir d'un autre programme (shell).
-P Les fichiers encodés, d'erreurs et les corrections auront
un CR comme fin de ligne. Ceci est nécessaire afin de
permettre leurs utilisation avec des logiciels où les
fichiers 7PLUS doivent être transmis en mode binaire,
parce qu'ils ne peuvent traiter les textes avec les
22
Utilisation
-------------------------------------------------------------
caractères avec le 8ième bit. Ceci est même primordial
sur AMIGA et UNIX, car la fin de ligne est le LF!.
L'envoi d'un fichier, qui a LF comme fin de ligne, en
mode binaire créerait un fichier inutilisable chez le
recipiendaire, car les caractères LF sont toujours
tronques en PR. La fin de ligne standard en Packet Radio
est le CR! Le resultat serait un fichier extremement long
d'UNE ligne!
-R Au cas où une seule partie d'un fichier multi-parties
devrait être réencodé (p.ex: parce il n'est pas arrivé à
destination), il n'est pas nécessaire de réencoder tout
le fichier original. 7PLUS est à même de réencoder une
partie bien detérminée.
Exemple: 7plus test.txt -sp 10 -r 5
Dans cette exemple, 7PLUS encodera la partie 5
uniquement, et non pas celle de 1 à 4 ni 6 à 10.
Il est TRES IMPORTANT d'encoder de la MEME façon que lors
de l'encodage original. Assurez-vous d'utiliser les mêmes
options de division!
-T Cette option sert à ajouter une chaine de caractères à la
fin de fichier 7PLUS, d'erreurs ou de corrections afin de
marquer la fin d'un fichier lors de la mise sur le
réseau.
Exemple: 7plus test.txt -t /ex
Note: Si la chaine de fin commence par un signe '-', La
chaine entiere doit être mise entre guillemets ("-EX")
sinon 7PLUS pourrait l'interpréter comme une option.
-TB format.dat
Lors de l'encodage, l'en-tête et la ligne de conclusion
contenue dans 'FORMAT.DAT' sont ajoutées automatiquement
aux fichiers 7PLUS.
Exemple de 'FORMAT.DAT':
@@top
sb ibm @ ww
%O %P/%Q 7+
@@bottom
Send ERR-files to DG1BBQ @DB0CL.DEU.EU!
73s, Axel.
/ex
23
Utilisation
-------------------------------------------------------------
Les variables ont les valeurs suivantes:
%n -> Nom du fichier encodé.
%N -> dito, en lettre majuscules.
%o -> Nom du fichier original non-encodé.
%O -> dito, em majuscules.
%p -> nombre de parties.
%P -> dito, en majuscules.
%q -> nombre total de parties.
%Q -> dito, en hexadécimal.
%% -> Le signe '%'.
L'exemple de fichier de formatage créerait un fichier
7PLUS comme ce qui suit:
sb ibm @ ww
TERM999.EXE 01/04 7+
... Fichier 7PLUS...
Send ERR-files to DG1BBQ @DB0CL.DEU.EU!
73s, Axel
/ex
L'option '-TB' ne fonctionne que lors de l'encodage, mais
pas lors de creation de fichiers d'erreurs ou de correc-
tions.
Jusqu'à 256 caractères peuvent être specifié avec '@@top'
et '@@bottom'.
Un mot d'avertissement:
Les fichiers crées avec cette option ne sont pas à
utiliser avec les systèmes TheBox. Il y a un bug dans
TheBox qui provoquera des problèmes lors de l'envoi
(d'une traite) de fichiers 7PLUS. Si vous recevez le
message d'erreurs 'invalid command', vous saurez que le
bug a frappe!. Celui-ci se manifeste lorsque la première
trame contient des ';'!
Il ne vous reste plus qu'à aller effacer le fichier et à
le mettre manuellement sur le réseau par la commande
'send' et ce pas à pas.
Ce bug dans TheBox est présent dans toutes les versions
de TheBox, même dans les versions tests de la version
1.9. Je ne peux vous garantir qu'il sera eliminé lors de
la diffusion officiel de la version 1.9.
L'option '-TB' fonctionnera parfaitement avec tout autre
système de serveur!
24
Utilisation
-------------------------------------------------------------
-Y 7PLUS accepte 'YES' par defaut lors de question. Cette
option est utile lorsque 7PLUS est appellé à partir d'un
autre programme (shell, serveur).
-# Lors de l'utilisation de 7PLUS sur un serveur, le
problème est de faire connaitre au serveur combien de
fichiers ont eté crées lors de l'encodage. Le serveur
pourrait calculer combien de parties seront crées, mais
7PLUS peut créer un court fichier info '7PLUS.FLS'
contenant les informations sur le nombre de parties et
leur nom. Le contenu de 7PLUS.FLS serait p.ex: '10 TEST'.
Astuces pour configuration TNC et 7PLUS
=======================================
Généralités
-----------
Pour être à même de traiter des fichiers 7PLUS, il est
important que le logiciel utilisé et le TNC utilisé soient
configurer correctement.
Avec les TNC2 (avec soft du TAPR), KAM, PK232, PK88, MFJ etc.
les commandes suivantes sont à donner afin de ne pas gêner la
transmission du 8ième bit:
8BITCONV ON, AWLEN 8 et LCOK ON
- ou commandes equivalentes en fonction du TNC -
La liaison serie entre ordinateur/terminal sera mise à 8
bits, 1 stopbit et pas de parité (8n1).
Il est récommandé de mettre la valeur de streamswitch sur $01
(CTRL-A) - sur un KAM, le deuxième streamswitch sera mis à la
valeur de $02 (CTRL-B) - parce que 7PLUS utilise prèsque tous
les signes de la table ASCII.
Avec streamswitch sur $7C (|) p.ex,
- vous aurez des problèmes, car votre tnc changera de stream
lors de la mise de fichier sur le serveur!
- le programme terminal pourrait détecter des changements de
stream lors de la prise de fichier sur serveur.
Avec streamswitch sur $01, il n'est pas nécessaire de passer
en mode transparent sur votre TNC pour envoyer des fichiers
7PLUS.
25
Astuces pour configuration TNC et 7PLUS
-------------------------------------------------------------
Tous les TNC's commerciaux et les TNC's multimodes sont à
même de traiter le 8ième bits en mode non-transparent!
La table d'interprétation des caractères sur un terminal doit
être mise à la valeur 1:1. Certains programmes ont une option
afin d'ignorer le 8ième bit ou une commande concernant le bit
de poids fort (MSB, high bit). Mettez cette commande de façon
à ce que le bit de poids fort soit utilisé et ne puisse être
change.
L'emulation de terminal (VT100, ANSI etc.) ne posent pas de
problèmes avec 7PLUS, car en général, les commandes avec ces
emulations commencent par le signe 'ESC' (7PLUS n'utilise pas
le caractère ESCAPE!). En cas de problèmes, utilisez un
simple emulateur TTY.
Si malgré tout, vous avez quand même des problèmes avec les
fichiers 7PLUS, le problème se situera au niveau du logiciel
de communication que vous utilisez. Dans ce cas, lisez le
chapitre traitant de l'expédition et de la réception de
fichiers en mode binaire. Si cela ne solutionne toujours pas
vos problèmes, entrez en contact avec l'auteur de votre logi-
ciel de communication. Il y va de son intérêt, ceci n'est
probablement pas valable pour des programmes commerciaux.
En général, il n'est pas conseiller d'utiliser des programmes
pour modem telephonique.
Il existe pas mal de programmes sophistiqués pour le packet
radio. La plupart sont gratuits ou peu onéreux. Parfois le
vendeur du TNC fournit un programme.
Depuis le lancement de 7PLUS, de nouvelles versions des
programmes d'emulation de terminal sont disponibles.
Nouvelles versions compatibles 7PLUS!.
Malgré les critiques, cela a eté très rapide, hi (Axel).
Prise et mise de fichiers en mode binaire
=========================================
Avec certains logiciels moins récents, il est parfois diffi-
cile de recevoir ou d'expédier des programmes encodés en
7PLUS. Dans ce cas, le mode binaire peut être utilisé. Ne pas
confondre avec certains protocoles comme YAPP, X-, Y, Z-modem
etc. Le mode binaire permet d'envoyer ou de recevoir des
fichiers sans que le TNC ne tente d'interpréter le contenu
des données et sans emploi d'un protocole particulier.
26
Astuces pour configuration TNC et 7PLUS
-------------------------------------------------------------
Prise
-----
Lors de la réception des données en mode binaire, tout ce que
vous recevez sera sauvé TEL QUEL. Etant que la fin de ligne
en packet radio est le <CR>, le fichier reçu ne contiendra
que des fins de lignes avec CR.
La conversion des CR en LF/CR ou LF se fait automatiquement
par le logiciel utilisé pour le dialogue avec le TNC.
Il ne vous est pas possible d'editer ce fichier et d'en
extraire les parties 7PLUS.
Si vous avez utilisé l'option '-X', il vous sera possible de
le faire. Voir 'Utilisation/Extraction'.
Une autre méthode est d'utiliser un programme de conversion
des caractères de fin de ligne. (p.ex. CRLF. Disponible sur
simple demande). Les fichiers ainsi traités sont editables.
La réception/emission en mode binaire a des effets benefi-
ques:
Plus de problèmes avec les "umlauts" et les signes graphiques
même si le programme ne les interprète pas.
Mise
----
Lors de l'envoi de fichiers 7PLUS, l'option '-P' DOIT être
utilisée. 7PLUS utilisera alors le signe CR comme fin de
ligne.
Les fichiers d'erreurs ne doivent pas être envoyés en mode
binaire, donc l'option '-P' est inutile ici.
7PLUS sur AMIGA
---------------
La plupart des programmes sur AMIGA ne sont pas à même de
traiter le 8ième bit. Le mode binaire est donc impératif.
Voir 'Envoi/réception en mode binaire'
Astuces pour la prise/mise de fichiers 7PLUS
============================================
Une foule de choses peuvent influencer le fonctionnement
correct de l'envoi/réception de fichiers 7PLUS. Voici
quelques trucs et astuces pour vous faciliter le travail.
27
Astuces pour la prise/mise de fichiers 7PLUS
-------------------------------------------------------------
Prise
-----
Avant de capturer de longs fichiers sur une BBS, assurez vous
que votre TNC et que votre programme sont bien configurés. A
cet effet vous avez à votre disposition le fichier ASC.TXT
sur la disquette de distribution de 7PLUS. Mettez ce fichier
sur votre BBS et recapturez ce fichier. S'il n'est pas confo-
rme à l'orginal, verifiez votre configuration et lisez le
chapitre 'Astuces pour la configuration....
Si le test est ok, alors vous etés pare.
La façon la plus simple de capturer des fichiers 7PLUS est
d'ouvrir un fichier de capture et d'y stocker les données.
Attention de ne pas nommer le fichier de capture du même nom
que le fichier 7PLUS que vous prenez. Utilisez un nom comme
'savefile' par exemple.
Lorsque vous avez terminé (avez-vous pensé à prendre les
corrections eventuelles?), il vous reste à extraire les
parties 7PLUS du fichier de capture. Un editeur sera utile
mais -bien mieux- 7PLUS avec l'option '-X'. 7PLUS non seu-
lement fera l'extraction mais créera aussi les fichiers de
correction ad-hoc.
Donnez la commande suivante:
'7plus savefile -x'
fera l'affaire et extraira les fichiers du fichier de cap-
ture.
Maintenant, les fichiers sont au format 7PLUS et le décodage
peut commencer.
Voyons ce que nous avons sur disque:
(Ce n'est qu'un exemple)
TERM999.INF
TERM999.P01
TERM999.P02
TERM999.P03
TERM999.P04
TERM999.COR
TERM999.C01
Ah, parfait.... Vous avez pensé à retirer les corrections.
Le fichier 'TERM999.INF' a eté automatiquement extrait par
7PLUS parce que l'expéditeur de TERM999 a utilisé les
marqueurs: ' go_info. TERM999.INF' et ' stop_info.' De cette
façon vous recevez le fichier info en même temps que les
fichiers 7PLUS. Pratique, non....
28
Astuces pour la prise/mise de fichiers 7PLUS
-------------------------------------------------------------
Le décodage, y compris les corrections, est simple à faire:
'7plus term999'
Au cas où un fichier 'TERM99' (sans extension) existe déjà
dans le répertoire, 7PLUS tentera d'encoder 'TERM999' plutôt
que de décoder 'TERM999.P01'!
Ceci est la raision pour laquelle je vous ai recommandé
d'utiliser un nom pour le fichier de capture, sans relation
avec le nom du fichier 7PLUS.
Si vous rencontrez ce problème, utilisez la commande:
'7plus term999.p01'
Si le décodage est réussi, 7PLUS affichera:
'Decoding successful! 'term999.exe' 43210 Bytes'
TERM999.EXE est le fichier décodé. Que vous reste-t-il a
faire à présent ? Cela dependra de l'expéditeur. En tant
qu'auteur de 7PLUS mon boulot est terminé.
Supposons que le décodage n'a pas réussi.
7PLUS affichera:
'Decoding not successful.'
Ceci signifie que vous devrez expédier 'TERM999.ERR' vers
l'expéditeur de 'TERM999.EXE' et attendre la correction.
Le fichier 'méta' 'TERM999.7MF' doit être conservé à tous
prix. Sans ce dernier, il ne vous sera pas possible de
procéder aux corrections lors de la réception du fichier de
correction.
Le fichier 'TERM999.P01' etc ne sont plus nécessaires et
peuvent être effaces.
De par le passé, il m'est arrivé que certains OM's m'envoient
des rapports d'erreurs concernant des programmes que je n'ai
pas mis sur le réseau. Soyons clair et precis, celui qui a
mis les programmes sur le réseau est responsable des envois
de corrections. Personnellement, je ne peux être tenu pour
responsable des envois de corrections. Comparaison: Une
agence de transport livre des objets qui ont eté endommagés
lors du transport. Personne ne rendra le constructeur du
moyen de transport responsable des dégâts (moi), quand le
camion est bon (7PLUS), mais que le réseau routier (réseau
PR) est mauvais...
29
Astuces pour la prise/mise de fichiers 7PLUS
-------------------------------------------------------------
Prise automatique sur BBS
-------------------------
Certains logiciels d'émulation de terminal permettent une
capture automatique de certains messages sur les BBS's.
Lors de l'emploi de tel logiciel, ce qui suit est TRES
IMPORTANT:
Il arrive frequemment que les fichiers soient incomplets à
cause d'une rupture de liaison.
Vous devez toujours si chaque fichier est vraiment complet.
Lors de décodage de fichier incomplet, de trop long rapport
d'erreurs vont être crées!. Verifiez sur la BBS, si les
fichiers sont en bon etat. Si vous envoyez un rapport
d'erreur gigantesque à l'expéditeur, vous mettrez sa bonne
volonté à rude épreuve. Il risque même de perdre patience et
de ne plus envoyer de corrections.
Interception en mode lecture
----------------------------
Certains logiciels ont la possibilité de limiter le moni-
toring sur le trafic de deux stations et ainsi de sauver ce
trafic sur disque. Il est possible d'alleger le trafic sur
une BBS de cette façon et de capturer "au passage" les
fichiers interessants.
Cette façon de procéder donnera en général plus d'erreurs que
la méthode traditionnelle. Les trames ne sont pas contrôlés
par des 'ack's' et toutes les trames ne seront pas capturées.
Les trames en double ne poseront pas de problèmes. Vous ne
devrez même pas les editer.
Lors du décodage de fichier crée de cette façon, inutile de
vous preciser DE NE PAS ENVOYER de fichier d'erreurs à
l'expéditeur du fichier encodé !
Pourquoi? Primo, cela lui procurera une surcharge de travail
et secundo au cas où il utiliserait votre rapport d'erreurs,
il risque de créer un fichier de correction collectif bien
plus long que nécessaire et même de comprendre des lignes qui
ne sont et n'ont jamais eté corrompues.
Il est préférable de soit:
- envoyé un rapport d'erreur vers la station qui a pris le
fichier et de lui expliquer pourquoi vous procéder de la
sorte. Si cette station a réussi son décodage, elle pourra
vous fournir les corrections nécessaires. Si non, vous
attendrez que cette station recoive une correction.
30
Astuces pour la prise/mise de fichiers 7PLUS
-------------------------------------------------------------
ou
- ecoutez les stations d'autres, qui réceptionnent ces mêmes
fichiers 7PLUS et utilisez les fichiers pour tenter la
correction de votre fichier 'méta'. Si des erreurs sub-
sistent, procédez comme au paragraphe précédent.
Voir 'Correction'
Mise
----
Comme dans le chapitre précédent, assurez-vous que votre
terminal et votre TNC sont configures de façon adéquate pour
traiter les fichiers 7PLUS. Si vous ne prenez pas toutes les
precautions nécessaires, les fichiers risquent d'être indéco-
dables. Evitez de frustrer les autres et réfléchissez avant
d'agir.
Vous aurez pris soin d'écrire une courte information dans la
laquelle vous expliquez:
- quel logiciel est compris dans les fichiers expédiés,
- quel système informatique est nécessaire,
- quel equipement est nécessaire,
- quel compresseur est utilisé (ARJ, LHA, LZH, ZIP),
- quels sont les fichiers dans l'archive et
- quel encodeur a eté utilisé (ici 7PLUS).
De cette façon, vous verrez immediatement si le logiciel est
d'une quelconque utilité.
Le titre de cette info sera quelque chose de simple mais
complet, p.ex:
'TERM999.EXE Info'
Lors de l'envoi vers un serveur multi-taches, n'oubliez pas
de preciser le système informatique sur lequel le logiciel
tournera:
'TERM999.EXE Info (IBM)'
Le texte d'info sera précédé d'un marqueur, afin de permettre
son extraction en même temps que les fichiers 7PLUS:
go_info. TERM999.INF
Info est écrite ici....
stop_info.
Le nom du fichier avec ' go_info. ...' sera écrit en lettres
majuscules et en conformité avec les règles MS-DOS/Atari_TOS!
Voir 'Appellation des fichiers'
OK, procédez à l'encodage.
31
Astuces pour la prise/mise de fichiers 7PLUS
-------------------------------------------------------------
Gardez à l'esprit que certaines BBS's limitent la taille des
fichiers. Informez-vous après de votre SYSOP. Prenez cette
limitation en compte lors de la division des fichiers (les
options '-s','-sp' ou '-sb').
En utilisant l'option '-SB', vous savez preciser la taille
des fichiers encodés 7PLUS ou des fichiers de correction.
En appellant 7PLUS par:
'7plus term999.exe -sb 4000'
vous indiquez à 7PLUS de créer des fichiers de +- 4000 bytes
chacun.
Sans precisions de partage, 7PLUS créera des fichiers de
taille de +- 10000 bytes.
Après l'encodage, vous aurez les fichiers TERM999.P01 à
TERM999.P?? (supposons 12 fichiers) sur le disque. Les
fichiers peuvent être maintenant expédiés un à un. Ici aussi
vous choisirez un nom "informatif":
'TERM999.P01 / 0C 7+'
Signification: TERM999 est encodé avec 7PLUS et est la 1ère
partie de 12 (0C hexa) fichiers.
Même mieux, mais plus déroutant pour des débutants:
'TERM999.EXE.SFX.P01/0C.7+'
La meilleure façon de lire cela est à l'envers:
1) Fichier 7PLUS
2) une partie de 12 fichiers.
3) première partie
4) le programme original est self-extractable TERM999.EXE.
Après avoir expédier tous les fichiers, il vous reste à les
verifier en prenant une copie, à partir de la bbs, sur votre
disque. Ils peuvent avoir eté corrompu lors de la mise sur la
BBS! En cas d'erreurs, créez un fichier de correction sur le
champ et mettez le sur la BBS. Il n'est pas nécessaire de
recommencer l'expédition de toutes les parties du fichier
testé.
Et maintenant: attendez les fichiers d'erreurs.....
Voir aussi 'Options supplémentaires / -TB'
32
Astuces pour la prise/mise de fichiers 7PLUS
-------------------------------------------------------------
Mise de fichiers de corrections
-------------------------------
Il a eté prouvé que c'est une bonne idée d'expédier à deux
reprises les fichiers de corrections (en un seul fichier).
Il est fort improbable que les deux copies soient corrompues.
Au cas où cela se produirait, l'OM qui recevra le fichier
peut toujours utiliser un editeur afin de faire de deux
copies une copie valable.
Notes générales
===============
Lors de prise de fichiers 7PLUS sur une BBS, verifiez tou-
jours la présence eventuelle de fichiers de corrections qui
peuvent déjà avoir eté mis par l'expéditeur. Il est fort
probable que le fichier de correction couvrira les erreurs.
Ceci évitera du travail à l'expéditeur.
Si vous avez mis des fichiers 7PLUS sur un réseau, il est
nécessaire de veiller à l'envoi des fichiers de corrections
et ce dans le plus pur HAM SPIRIT! Des fichiers expédiés sans
un suivi des corrections sont inutiles et ne feront qu'encom-
brer le réseau. Bien sur, il est toujours probable que tous
les fichiers passent à 100%, mais ce n'est malheureusement
pas assez souvent le cas.
Le transfert parfait est-il possible?
======================================
Meme si un jour le réseau Packet Radio permet des transferts
sans erreurs, cela ne signifierait pas la fin de 7PLUS.
Il faut prendre en consideration que:
- certaines BBS's ont un trafic de plusieurs millions de
caractères par jour.
- qu'un message, de A à B, traverse des centaines de cases
memoires et voyage sur plusieurs disques durs.
- certains ordinateurs ne contrôlent pas la parite, donc des
erreurs resteront indétectées.
- le protocole AX25 n'est pas parfait et ne présente pas une
garantie sans failles.
- le réseau actuel n'est pas parfait et enfin
- une seule impulsion peut causer la perte d'un caractère!
33
Notes générales
-------------------------------------------------------------
7PLUS peut vous garantir la réconstruction éxacte d'un
fichier comme au depart, même en etant passé par plusieurs
BBS's.
7PLUS est disponible pour un grand nombre de systèmes et
présente une securité d'emploi pour les transferts de fi-
chiers binaires entre systèmes différents. Et il est plus
compact que les vieux encodeurs tel que UUE ou RADIX95...
Où et comment commander 7PLUS
=============================
7PLUS est disponible sur disquette.
Envoyez une disquette 3.5 plus une enveloppe self-adressée et
affranchisée (et peut-être une petite contribution) à mon
adresse (voir la premiere page du manuel).
Si vous commandez à partir d'un pays autre que l'Allemagne,
ajoutez US$ 3,- afin de couvrir les frais d'envoi.
Indiquez le système sur lequel vous travaillez. Je sais vous
procurer les versions pour IBM clones, Atari_ST et AMIGA.
Important pour l'AMIGA:
Je ne suis pas à même d'écrire ou de lire des disquettes
AMIGA. Je vous fournirai 7PLUS au format MS-DOS, vous aurez
donc besoin d'un utilitaire vous permettant de lire les
disquettes MS-DOS p.ex: DOS_2_DOS.
73's, Axel à Bremerhaven, DG1BBQ @ DB0CL.DEU.EU
(Traduction de Eric ON7LE @ ON7RC.BEL.EU. Tnx Eric!)
34