; LIBE2P.TXT

;              Sous-programmes de gestion des E2PROM SERIE
;              -------------------------------------------
;
;                      (C) E+E CHAMOUARD 1996
;
; Programme fonctionnant avec :
;   - E2PROM NMC9314B avec liaison 3 ou 4 fils (E2PNAD=6)
;   - E2PROM ST93CS56B1 avec liaison 3 ou 4 fils (E2PNAD=8) et ORG=+5 V
;       (hors erase et erase all non dispo avec cette PROM)

; Version avec attente systematique apres envoi d'une commande
;   (pas de time out)
; Les bits E2PDO et E2PDI peuvent etre le meme bit du uP

; Dans le programme principal initialiser :
;    E2PCS  bit  Px.x
;    E2PCK  bit  Px.x
;    E2PDO  bit  Px.x
;    E2PDI  bit  Px.x
;    E2PNAD byte x (le nombre de bits d'adresse de la PROM soit 6 ou 8)

; Sous-programmes utilisateur :
; -----------------------------

E2PWriteEnable:
    Fonction  :   Deverouillage en ecriture de l'E2PROM
    Entree(s) :   Rien
    Sortie(s) :   Rien
    Utilise   :   Registre B non sauvegarde, bits de l'E2PROM
    Pile      :   4 avec l'appel et le sous prog
    Cycles    :   ?

E2PWriteDisable:
    Fonction  :   Verrouillage en ecriture de l'E2PROM
    Entree(s) :   Rien
    Sortie(s) :   Rien
    Utilise   :   Registre B non sauvegarde, bits de l'E2PROM
    Pile      :   4 avec l'appel et le sous prog
    Cycles    :   ?

E2PRead:
    Fonction  :   Lecture de 16 bits dans l'E2PROM
    Entree(s) :   Adresse dans DPL (6 ou 8 LSB) conservee
    Sortie(s) :   Sortie des 16 bits dans {B,A} (B=MSB)
    Utilise   :   Registre A,B,DPL, bits de l'E2PROM
    Pile      :   5 avec l'appel et le sous prog
    Cycles    :   ?

E2PWrite:
    Fonction  :   Ecriture de 16 bits dans l'E2PROM
    Entree(s) :   Donnees dans {B,A} (B=MSB) detruites
                  Adresse dans DPL (6 ou 8 LSB) conservee
    Sortie(s) :   Rien
    Utilise   :   Registre A,B,DPL, bits de l'E2PROM
    Pile      :   6 avec l'appel et sous progs
    Cycles    :   Indetermine

E2PErase:
    Fonction  :   Effacage de 16 bits dans l'E2PROM
    Entree(s) :   Adresse dans DPL (6 ou 8 LSB) conservee
    Sortie(s) :   Rien
    Utilise   :   Registre A,B,DPL, bits de l'E2PROM
    Pile      :   4 avec l'appel
    Cycles    :   Indetermine

E2PEraseAll:
    Fonction  :   Effacage de la totalite de l'E2PROM
    Entree(s) :   Rien
    Sortie(s) :   Rien
    Utilise   :   Registre B non sauvegarde, bits de l'E2PROM
    Pile      :   4 avec l'appel et le sous prog
    Cycles    :   Indetermine

E2PWriteAll:
    Fonction  :   Ecriture de la totalite de l'E2PROM
    Entree(s) :   Donnees dans {B,A} (B=MSB) detruites
    Sortie(s) :   Rien
    Utilise   :   Registre A,B, bits de l'E2PROM
    Pile      :   6 avec l'appel et sous progs
    Cycles    :   Indetermine

; Sous-programmes internes :
; --------------------------

E2PDataPooling:
    Fonction  :   Data Pooling E2PROM
    Entree(s) :   Rien
    Sortie(s) :   Rien
    Utilise   :   Registre B non sauvegarde, bits de l'E2PROM
    Pile      :   2 avec l'appel
    Cycles    :   Indetermine

E2PClock:
    Fonction  :   Envoi d'une sequence clock a l'E2PROM (version E2PROM lente)
    Entree(s) :   Rien
    Sortie(s) :   Rien (5 us bas 10 us haut 5 us bas)
    Utilise   :   E2PCK
    Pile      :   2 avec l'appel
    Cycles    :   24
