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é