--------
                                XSERTEST
                                --------
                              Version 1.0
                              -----------
                      par T.Jaouen     Date:12/10/91



   Introduction:
   -------------

   XSERTEST permet de tester les ports séries.

   L'emploi de XSERTEST demande un minimun de connaissance pour
   fonctionner correctement: en effet, XSERTEST n'est qu'une interface
   vis à vis du matériel, et un paramétre erroné peut rapidement
   planter votre micro.


   XSERTEST est écrit en TP6 (SANS Turbo Vision), avec l'unité
   XSER.TPU version 1.55.

   (Se référer à la doc de XSER 1.55 pour des compléments techniques).


   Fichiers fournis:
   -----------------

   XSERTEST.EXE        Logiciel pour tester vos cartes séries.
   XSERTEST.CFG        Configuration possible (simple exemple).
   XSERTEST.DOC        Le fichier que vous lisez en ce moment.
   INFO.DOC            Informations générales sur les cartes séries.

   XSER.TPU            Unité en TP6, de gestion des ports séries.
   XSER.INT            Partie interface (public) de XSER.TPU.
   XSER.DOC            Documentation destinée aux programmeurs.
   EXEMPLE1.PAS        Exemples de programmes...
   EXEMPLE2.PAS        ...
   EXEMPLE3.PAS        ...



   Lancement:
   ----------

   XSERTEST  [Entrée <+ ]


   Erreur:
   -------

   Une erreur pourrait se produire si le fichier de configuration
   donné en exemple "XSERTEST.CFG" ne correspond pas à votre
   configuration matériel.
   Dans ce cas, veuillez supprimer ce fichier. (En prenant soin d'en
   garder une copie de sauvegarde !).



   Configuration:
   --------------

   XSERTEST supporte des options: Elles commencent toujours par
   un "slash" ("/") suivi d'un ou plusieurs caractères. Dans certains
   cas, l'option est munie d'informations complémentaires.
   Les options peuvent être écrites dans n'importe quel ordre.

   Exemple: XSERTEST /ega /bw

   Les options peuvent être rassemblées dans un fichier texte que vous
   nommerez "XSERTEST.CFG".

   Description des options:
   ------------------------

     Il y a 3 types d'options:
     -------------------------
       - Les options associées à un paramètre dont elles sont séparées
         par le signe "=".
           Exemple:  /COM=1,$3F8,4

       - Les options concluent par le signe "+" ou "-".
           le signe "+" signifiant l'activation, et le signe "-" la
           désactivation de l'option.
           Exemple: /BW+ /OM-

         Note: Le signe "+" peut être omis.

       - Les options se suffisent à elles-mêmes.
           Exemple: /EGA



     Les options:
     ------------

     /ACT+-     : Autorise ou non l'activation des COM déjà définis.
                  Par défaut: /ACT+

     /BW+-      : Force ou non l'affichage en noir & blanc.

     /CGA       : Force l'affichage en mode CGA (80x25 couleur)
                  Par défaut: sélection automatique

     /CKAT=     : Installation du "CheckUp" sur l'IRQ 8.
                  (Cela n'est possible que sur un compatible AT)

                  /CKAT=vitesse (0..15)

                  La vitesse permet de definir le nombre d'interruptions
                  par seconde.

                    2^(vitesse+1) = nombre d'interruptions par seconde.


     /CKNO      : Aucun "CheckUp" n'est installé.


     /CKXT=     : Installation du "CheckUp" sur l'IRQ 0.

                  /CKXT=vitesse (0..15)

                  La vitesse permet de definir le nombre d'interruptions
                  par seconde.

                    18.2*2^vitesse = nombre d'interruptions par seconde.

     /COM=      : Définit un port série:

                  Syntaxe compléte:
                  /COM=n°COM (1..16), adresse registre, n°IRQ (0..15),
                       taille tampon sortie, taille tampon entrée

     /EGA       : Force l'affichage couleur sur 43 ou 50 lignes.

     /MDA       : Force l'affichage en monochrome (pour carte mono).

     /VER+-     : Active ou non la verification de l'existence d'un
                  port série à l'adresse (UART) indiqué.
                  Par défaut: /VER+

     /WIN=      : Définit la position d'une fenêtre.

                  Syntaxe compléte:
                  /WIN=n°fenêtre,colonne,ligne




     Note:  Les paramétres numériques peuvent être exprimés aussi
            bien en décimal, qu'en hexadecimal, ou en binaire ...

            Exemple:  COM=1,1016,4          1016 en décimal
                      COM=1,$3F8,4          1016 ($3F8) en héxadécimal
                      COM=1,3F8h,4          1016 (3F8h) en héxadécimal
                      COM=1,%1111111000,4   1016 en binaire...
                      COM=1,1111111000b,4   1016 en binaire...





   Caractéristiques d'un port série:
   ---------------------------------


                                       +--touche d'appel (ALT+X)
                 Numéro port série--+  |
                                    |  |
                                    |  |
                          +----- COMX ·X-----+
  Adresse des registres------UART: ¦¦¦¦ ¦RDA ¦  \
  Numéro IRQ à utiliser------IRQ : ¦¦   ¦OVRN¦   \
                          ¦ +-----------¦PAR.¦    }(3)
                       /-----BAUD: ¦¦¦¦¦¦FRA.¦    }Etat de la ligne
(5)Contrôleur de ligne/   ¦ ¦PAR.: ¦¦¦¦ ¦BRK ¦    }(non modifiable)
                      \   ¦ ¦DATA: ¦    ¦THRE¦    }
                       \-----STOP: ¦¦   ¦TSRE¦   /
                          ¦ +-----------¦TOUT¦  /
(6) Etat d'envoi BREAK---------BRK ¦DTR +----¦
                          ¦--------¦RTS ¦CTS ¦  \  (4)
(1) Mode de contrôle------- CLOSE  ¦OUT1¦DSR ¦   \ Etat du Modem
                          ¦--------¦OUT2¦RING¦   / (non modifiable)
 (2) Affiche ce qui +------OUT: ¦¦¦¦LOOP¦DCD ¦  /
     est envoyé-----+     ¦----------|-------¦
                          ¦IN: ¦¦¦¦¦¦|¦¦¦¦¦¦¦¦
                          +------|---|-------+
                                 |   |
        Affiche ce qui est reçu--+   |
         (non modifiable)            |
                                     |
            (7) Contrôleur du modem--+



    Généralité:
    -----------

      - Pour utiliser l'une des fenêtres, il faut d'abord l'activer
        ( ou l'appeller) en utilisant la combinaison de touche:

          ALT +  Touche associé.

        Exemple: s'il s'agit du COM1, enfoncez les touches  ALT et puis 1 .


      - Une fois une fenêtre COM activée, le curseur apparaît:

        Vous pouvez déplacer le curseur en utilisant les touches faites
        pour le curseur...

        Le curseur n'ira que sur des champs dont vous pouvez modifier
        le contenu, où effectuer une action.

        Pour tout les champs, on modifie leur contenu, ou induit une
        action en utilisant les touche  PgUp et PgDn:

          (les touches fléchées et barrées par 3 traits...)


    (1) - Mode de contrôle
          ----------------
       Il y a 2 états possibles, et il est important de bien les distinguer:

       - CLOSE :

         Le contrôle du port série est fait directement en controlant
         les registres, SANS UTILISER L'IRQ, ET SANS UTILISER LE
         NOYAU DE COMMUNICATION "XSER".

         IL N'Y AUCUN "BUFFERISATION" DES DONNEES RECUS OU EMISES.

         (En gros, ne fait n'y plus n'y moins ce que fait notre bon vieux DOS)


       - OPEN :

         Le contrôle du port série est fait en utilisant le noyau XSER,
         ET EN UTILISANT L'IRQ TELLE QU'ELLE A ETE PARAMETREE.

         IL Y A "BUFFERISATION" DES DONNEES RECUS ET EMISES...


    (2) - OUT:
          ----

       Une fois placé sur ce champ, ce que vous frappez au clavier est
       directement envoyé sur la ligne, comme une donnée.

       Si vous tapez "PgDn" : les caractéres de codes ASCII entre 33 et
       127 sont envoyés sur la ligne.

       Si vous tapez "PgUp" : la phrase "Portez ce vieux whisky au juge
       blond qui fume" est envoyée sur la ligne.

       Note: Rien ne pourra être envoyé si les champs RTS et/ou DTR ne sont
             pas activés !!! (il s'agit d'une contrainte physique et logique)


    (3) - Etat de la ligne:
          -----------------

       RDA  : Donnée reçue, en attente.
       OVRN : Erreur: Une donnée reçue n'a pas été lu à temps.
                      une nouvelle donnée l'a écrasée.
       PAR. : Erreur: Mauvaise parité.
       FRA. : Erreur: Pas de bit STOP.
       BRK  : Erreur: Signal BREAK sur la ligne.
       THRE : Prêt à envoyer la donnée suivante
       TSRE : Donnée précédente totalement transmise.
       TOUT : "Time Out" ou inutilisé.


    (4) - Etat du Modem:
          --------------

       CTS  : Modem prêt à recevoir.
       DSR  : Modem prêt à émettre.
       RING : Détection d'un appel
       DCD  : Detection d'une porteuse (communication établie)


    (5) - Contrôleur de ligne:
          --------------------

       BAUD : Vitesse de communication: 75, 150, 300, 600, 1200, 2400,
              4800, 9600, 19200 ou 38400.
       PAR. : Parité des données:  Aucune (NONE), Impaire (ODD), Paire (EVEN)
       DATA : Longueur d'une donnée: 5, 6, 7 ou 8 Bits.
       STOP : Nombre de bits STOP: 1 (ou 1½), ou 2.


    (6) - Etat d'envoi BREAK:
          -------------------

       BRK  : Maintenir desactiver.



    (7) - Contrôleur du Modem:
          --------------------

       DTR  : Port série prêt à recevoir.
       RTS  : Port série prêt à émettre.
       OUT1 : ???
       OUT2 : Autorisation de l'emploi de l'IRQ.
       LOOP : Bouclage du circuit sur lui-même (pour test matériel).




   Adresse des registres et IRQ:
   -----------------------------

   L'adresse des registres et le numéro d'IRQ associé à un port série
   ne sont définissable qu'une seule fois:

        - soit en utilisant l'option /COM=....

        - soit au moment de la première activation



   L'adresse des registres ne peut jamais être nulle, et par défaut,
   il y a un test rudimentaire afin de verifier que l'adresse correspond
   bien à celle des registres d'un port série.
   Le test peut echouer: voir l'option /VER.


   IRQ NONE:
   ---------

   En cours d'utilisation ( et tant que la communication est "CLOSE"),
   vous pouvez sélectionner l'IRQ: NONE.
   Cela signifie que lors de l'ouverture ("OPEN"), le noyau mettra un
   mécanisme pour remplacer l'IRQ.

   Cette simulation est faite en allant consulter régulierement et souvent
   l'état des registres des ports séries avec l'IRQ NONE.

   La vitesse de consultation des registres est paramétrable avec les
   options /CKXT ou /CKAT.  Cette vitesse doit être déterminée en fonction
   de la vitesse de communication maximale souhaitée...


   Pour que l'IRQ NONE fonctionne, il faut utiliser l'option /CKXT ou
   /CKAT.

      Si vous avez un XT, et ne souhaitez pas dépasser les 2400 bauds,
      utilisez:  /CKXT=4
      (Il y aura simulation de 291.2 interruptions/s, via l'IRQ 0)

      Si vous avez un AT, et ne souhaitez pas dépasser les 2400 bauds,
      utilisez:  /CKAT=7
      (Il y aura simulation de 256 interruptions/s, via l'IRQ 8)



   Correspondance entre XSERTEST et XSER (le noyau):
   -------------------------------------------------

   Lors de l'ouverture d'une communication:  ComX.Init()

   Lors de la fermeture:  ComX.Done

   Pour supporter les ports séries avec IRQ NONE, voir les procedures
   "CheckUp".






                           ----------------------



+----------------------------------------------------------------------------+
¦Le logiciel "XSERTEST" version 1.0 est dans le Domaine Public.              ¦
¦Ce logiciel et sa documentation ne peuvent pas faire l'objet d'une          ¦
¦transaction commerciale.                                                    ¦
¦Ils peuvent être copiés et utilisés sans restriction, cependant ils ne      ¦
¦doivent pas être modifiés.                                                  ¦
¦L'auteur ne peut pas être tenus responsable de dommages directs ou indirects¦
¦découlant de l'utilisation de ce logiciel.                                  ¦
¦Tous droits réservés.                                                       ¦
¦Copyright (C) T.Jaouen, 1991                                                ¦
+----------------------------------------------------------------------------¦
¦Vous pouvez contacter l'auteur par minitel:                                 ¦
¦  tel.: 3614    code du service: TEASER     boite aux lettres: LOGICOS      ¦
+----------------------------------------------------------------------------+
Thierry JAOUEN , le 12 octobre de l'an 1991.