Le réseau logique programmable CPLD créé l'interface avec le TRS-80, le microcontrôleur assure la partie logicielle du driveur de lecteur de disquette.

Les actions du TRS-80 sont adressées au CPLD qui interagit avec le microcontrôleur.

Les fonctions développées pour assurer cette gestion sont ls fonction qu'exécute normalement le FD1771B. Ce sont les suivantes :

  • FDC_regWrite : Ecrit un octet dans un registre du CPLD.
  • FDC_regRead : Lit un octet à partir d'un registre du CPLD.
  • FDC_changeData : Modifie la valeur du registre DATA à la demande du CPLD. (à l'initiative du TRS-80, écriture dans le registre ${$}$37EF)
  • FDC_changeSector : Modifie la valeur du registre SECTOR à la demande du CPLD. (à l'initiative du TRS-80, écriture dans le registre ${$}$37EE)
  • FDC_changeTrack : Modifie la valeur du registre TRACK à la demande du CPLD. (à l'initiative du TRS-80, écriture dans le registre ${$}$37ED)
  • FDC_changeDrive : Modifie la valeur du lecteur sélectionné à la demande du CPLD. (à l'initiative du TRS-80, écriture dans le registre ${$}$37E1)

 

  • FDC_fonctionRestore : Positionne le lecteur courant sur la piste 0.
  • FDC_fonctionSeek : Positionne le lecteur courant sur la piste spécifiée par le registre TRACK
  • FDC_fonctionStep : Positionne le lecteur courant sur la piste suivante ou précédente  en fonction du dernier mouvement effectué
  • FDC_fonctionStepIn : Positionne le lecteur courant sur la piste suivante
  • FDC_fonctionStepout : Positionne le lecteur courant sur la piste précédente
  • FDC_fonctionReadSector : Lit le secteur spécifié par le registre SECTOR du lecteur sélectionné
  • FDC_fonctionWriteSector : Ecrit le secteur spécifié par le registre SECTORE sur le lecteur sélectionné
  • FDC_fonctionReadAddress : 
  • FDC_fonctionForceInt : Stoppe l'instruction en cours d'exécution et lève une interruption
  • FDC_readTrack : Lit la totalité de la piste spécifiée par le registre TRACK du lecteur sélectionné
  • FDC_writeTrack : Ecrit la totalité de la piste spécifiée par le registre TRACK sur le lecteur sélectionné