**STUCAM.HLP****************(C) Alexandre MONTARON 1990**********1.01**********

*****Structure des messages applicatifs echanges entre le LECAM et le serveur:
<d> bloc 1 <f> <d> bloc 2 <f> <d> bloc n <f> CR

*****Les drapeaux.
+-Nom--+-ASCII--------+-DEC-----------+-HEXA----------+-Explication-----------+
! <d>  ! US < IT [IC] ! 31 60 IT [IC] ! 1F 3C IT [IC] ! Debut                 !
! <f>  ! US < (       ! 31 60 40      ! 1F 3C 28      ! Fin srv => term.      !
! <f>  ! US < 8       ! 31 60 56      ! 1F 3C 38      ! Fin term. => srv      !
! <dc> ! US < +       ! 31 60 43      ! 1F 3C 2B      ! Debut chiffree.       !
! <fc> ! US < >       ! 31 60 46      ! 1F 3C 2E      ! Fin chiffree.         !
! <r>  ! US < *   IC  ! 31 60 42  IC  ! 1F 3C 2A  IC  ! Demande de rep. s=>t. !
! <r>  ! US < :   IC  ! 31 60 58  IC  ! 1F 3C 3A  IC  ! Demande de rep. t=>s. !
+------+--------------+---------------+---------------+-----------------------+

*****Description de l'octet IT:
+-7-+-6-+--5--+---4--+--3--+--2--+--1--+-0--+
! P ! 1 ! RTM ! sens ! SSP ! TLV ! CRC ! IC !
+---+---+-----+------+-----+-----+-----+----+
   RTM=indique dans le dernier drapeau <d> le retournement immediat du modem 
        du minitel sur detection d'une fin de message (CR).
>>>>>>>> LECAM 210 uniquement.
  sens=sens des echanges (1=terminal vers serveur).
   SSP=dans le sens serveur vers lecteur un 1 indique que le serveur n'attend
        pas de reponse du lecteur.
   TLV=indique le format des donnees (1=format TLV code en P/1/6).
   CRC=indique la presence d'un CRC (1=present).
    IC=indique la presence de l'octet IC (1=present).

*****Description de l'octet IC:
+-7-+-6-+-5-+---4--+--3-+--2-+--1-+--1-+
! P ! 1 ! 1 ! rep. ! n3 ! n2 ! n1 ! n0 !
+---+---+---+------+----+----+----+----+
  rep.=indique que le bloc est repete (1=bloc emis suite a une demande de rep.)
 n3-n0=no de bloc (0-15).

*****CRC
 Polynome generateur: X^16 + X^12 + X^5 + 1 ... en partant de 0.

 Les 16bits du CRC sont eclates en 4 quartets X, Y, Z, T et transmis en 4
  octets 3X, 3Y, 3Z, 3T  -X represente le quartet de poids fort-  juste avant
  le drapeau de fin de bloc.

*****Le format TLV.
 Vient des initiales suivantes:
  T: 1o : Type des informations (consigne/reponse).
  L: 1o : Longueur en octet du champ V.
  V: Lo : informations proprement dites.

*****Le codage P/1/6.
 But: Transferer un octet (8bits) via un modem V23 (soit 7bits: le 8eme bit
  servant de bit de parite paire) et eliminant les car. < 32 qui pourraient
  gener.

  P: bit 7    : Parite.
  1: bit 6    : force a 1 (car. => 64).
  6: bits 5-0 : bits utiles.

 Les octets de 8bits sont donc divise en groupe de 6bits.
 Ainsi 2octets code en P/1/6 prendrons 3octets et il restera 2bits de libre.

*****Liste des consignes (format TLV):
+Type+-Type,Lg,V...-----------------------------------------------------------+
! 41 ! CM,02,mode,rg                                     Mise en mode.        !
! 43 ! C1,Lg,adr.,donnees                                Chargement.          !
! 45 ! C2,Lg,donnees                                                          !
! 46 ! C3,01,n                                                                !
! 44 ! CC,Lg,donnees                                                          !
! 47 ! LI,02,adr.                                        Execution            !
! 5D ! FS,02,adr.                                                             !
! 4D ! CA,Lg,texte                                       Editeur              !
! 4F ! CE,Lg,texte                                                            !
! 51 ! CS,01,val                                                              !
! 53 ! TC,01,val                                                              !
! 55 ! XS,01,val                                                              !
! 57 ! CH,Lg,type,synchro,[cle de dechiffrement]         Securite.            !
! 58 ! PR,02,rang                                                             !
! 49 ! CD,00                                             Saisie et affichage. !
! 4B ! CF,00                                                                  !
! 5F ! AC,01,dest                                                             !
! 59 ! SC,01,ncs                                                              !
!*59 ! SC,Lg,ligne1,colonne1,ncs1,ligne2,colonne2,ncs2,...                    !
! 5B ! SS,01,ncs                                                              !
!*5B ! SS,Lg,ligne1,colonne1,ncs1,ligne2,colonne2,ncs2,...                    !
+----+------------------------------------------------------------------------+
*: LECAM 210 uniquement.

*****Liste des reponses aux consignes:
+Type+-Type,Lg,V...-----------------------------------------------------------+
! 70 ! IL,04,TM,VM,TL,VL                                                      !
! 72 ! EL,Lg,ME,[CC,TC],[CI,adr],[CT]                                         !
! 74 ! EC,03,ME1,ME2,MDC                                                      !
! 76 ! RZ,Lg,donnees                                                          !
! 78 ! SE,Lg,donnees en clair                                                 !
! 79 ! SE,Lg,donnees chiffres                                                 !
! 7C ! IF,01,val                                                              !
+----+------------------------------------------------------------------------+

*****Quelques adresses connu dans la carte:
+-----------------------------------------------------------------------------+
! 09C8: ADLibre, ADTransaction                                                !
! 09F0: Adr. du no de serie de la carte.                                      !
! 09F8: locks (?)                                                             !
+-----------------------------------------------------------------------------+

*****Differents modeles de cartes:
+-Type+-Application---+-Nom+-Cnx-aut.-+-Bloc de securite-+--------------------+
! M4  ! Masque        ! BC !   Oui    !       Non        !                    !
! M6  !               ! CC !   Oui    !       Non        !                    !
!*M8  !  Bull CP8     ! ?C !          !                  !                    !
! B0  ! Bancaire      ! BC !   Non    !       Non        !          ?         !
! B1  !               ! CB !   Oui    !       Oui        !                    !
!*B2  !               ! CB !          !                  !                    !
! PC1 ! Portes-clefs  ! AC !   Oui    !       Oui        !                    !
!*DES !  Philips      ! D0 !          !                  !                    !
+-----+---------------+----+----------+------------------+--------------------+
*: LECAM 210 uniquement.

*****Instruction Afnor:
*****Format:
+----------------------------+----+-------------------------------------------+
!Nom (cf. tableau precedent) ! 1o ! type de carte                             !
!Ins                         ! 1o ! ordre                                     !
!A1 A2                       ! 2o ! adresse                                   !
!L                           ! 1o ! longueur des donnees                      !
+----------------------------+----+-------------------------------------------+

*****Quelques ordres:
+Ordr+-Explication------------------------------------------------------------+
! 20 ! Demande de verification du code.                                       !
! 40 ! Validation de lecture                                                  !
! A0 ! recherche sur argument.                                                !
! B0 ! lecture de n octets a l'adresse A1 A2.                                 !
! C0 ! demande de resultat (cf. A0).                                          !
+----+------------------------------------------------------------------------+

*****Quelques blocs:
*****Bloc de connexion automatique (23h).
     En tete:
***Cas des cartes de type M4(B0)/M6/M8:     [Bit systeme: 0xx1]
   !! 0yx0 ! xxxx !! 23 !! longueur !! 111 ! CCR !!
    y=0 donnees en zone de lecture libre (ADL).
    y=1 donnees en zone de transaction (ATD).
    x quelconque.

***Cas des cartes de type B1:               [Bit systeme: 0xx1]
   !! 0010 ! c1xx !! 23 !! longueur !! 111 ! CCR !!
     c=0 donnees protegees.
    xx=10 cle banque.
    xx=01 cle d'ouverture.

***Cas des cartes de type PC1:              [Bit systeme: 0x1x]
   !!      40     !! 23 !!    00    !!     00    !!

***Cas des cartes de type D1:
   !! 0010 ! yyyy !! 23 !!    ...   !!     ...   !!
     yyyy= 0010, 0100, 1011, 1101.

***Liste des TLV qui peuvent figurer dans ce bloc:
+Type+-Type,Lg,V...-----------------------------------------------------------+
! 01 ! NA,Lg,numero d'appel.                                                  !
! 02 ! TX,Lg,texte a transmettre.                                             !
! 03 ! DF,01,delai de detection de fin de message.                            !
! 04 ! DS,01,delai de suspension.                                             !
!*05 ! T,Lg,numero_d'ordre,mnemonique.                                        !
+----+------------------------------------------------------------------------+
*: LECAM 210 uniquement.


*****Bloc de securite (24h).
     En tete:
***Cas des cartes de type B1:
   !!      2E     !! 24 !!    ...   !!     ...   !!

***Cas des cartes de type PC1:
   !!      40     !! 24 !!    00    !!     00    !!

***Cas des cartes de type D1:
   !!      2B     !! 24 !!    ...   !!     ...   !!

***Liste des TLV qui peuvent figurer dans ce bloc:
+Type+-Type,Lg,V...-Description-----------------------------------------------+
! 10 ! T,Lg,EMPLACEMENT,PROFIL_BINAIRE_A_RECHERCHER,MASQUE                    !
!    !  ordre entrant a surveiller pour les calculs de signature.             !
! 11 ! T,01,POSITION                                                          !
!    !  position du champ ou placer le comprime dans les donnees entrantes.   !
!*12 ! T,01,C                                                                 !
!    !  definit la longueur du comprime devant etre genere par le LECAM.      !
! 20 ! T,Lg,EMPLACEMENT,PROFIL_BINAIRE_A_RECHERCHER,MASQUE                    !
!    !  ordre entrant utilise pour le calcul de la cle de chiffrement.        !
! 21 ! T,05,NOM,INS,A1,A2,L                                                   !
!    !  ordre sortant a executer pour obtenir la cle de chiffrement.          !
! 22 ! T,05,NOM,INS,A1,A2,L                                                   !
!    !  idem a 21, mais l'ordre sortant est suivi d'une mise hors tension.    !
!*23 ! T,05,NOM,INS,A1,A2,L (?)                                               !
!    !  ordre entrant a executer immediatement apres l'ordre sortant.         !
+----+------------------------------------------------------------------------+
*: LECAM 210 uniquement.
-+-Nom+-Cnx-aut.-+-Bloc de securite-+--------------------+
! M4  ! Masque        ! BC !   Oui    !       Non        !          