Ayant pas mal avancé sur les interactions avec le TRS-80, afin de poursuivre rapidement, j'ai envisagé d'abord faire au plus simple et coder un OS minimaliste. Au final il aurait fallu écrire également des outils de transfert qui ne m'aurait pas forcément fait gagner beaucoup de temps.

Par mesure de compatibilité et de simplicité, j'ai décidé de me consacrer dans une premier temps sur la FAT16 . La FAT 32 on verra plus tard, si besoin.

Le but n'est pas de redévelopper une librairie complète , je ne cherche qu'a réaliser une lecture et une écriture de fichiers pour échanger avec un PC. Aussi, je décide de faire l'impasse sur plusieurs points:

  • Pas de datation des fichiers.
  • Prise en compte mais pas de gestion des noms long.
  • Pas de gestion des répertoires, je ne m'intéresserai qu'au répertoire racine.
  • Prise en compte mais pas de gestion des attributs des fichiers.

Voilà, avec tout ça en moins, ça ne devrait pas être ni trop compliqué, ni trop consommateur de mémoire, en tout cas je ne serais pas embêté par la gestion des interruptions.

Les fonctions développées dans ce modules sont les suivantes:

  • FS_mountFile: Initialise le système de fichier FAT16 de la carte connectée. [Validé]
  • FS_goToRoot: Charge le premier secteur de la racine et se positionne sur la première entrée. [Validé]
  • FS_nextFile: Se positionne sur l'entrée fichier valide suivante. [Validé]
  • FS_previousFile: Se positionne sur l'entrée fichier valide précédente. [Validé]
  • FS_exists: Vérifie l'existence d'un fichier. [Validé]
  • FS_openFile : Ouvre un fichier en lecture/écriture.  [Validé]
  • FS_readFile : Lit un octet dans le fichier ouvert. [Validé]
  • FS_nReadFile : Lit n octets dans le fichier ouvert. [Validé]
  • FS_writeFile : Ecrit un octet dans le fichier ouvert.  [Validé]
  • FS_nWriteFile : Ecrit n octets dans le fichier ouvert.  [Validé]
  • FS_seekFile : se positionne dans le fichier ouvert. [Validé]
  • FS_closeFile : ferme le fichier ouvert.  [Validé]
  • FS_flushFile : Enregistre les modifications dans le fichier ouvert.  [Validé]
  • FS_createFile : Créé un fichier vide. Ecrite
  • FS_eraseFile : Efface un fichier. Ecrite