E-mail: [damien.picard@etudiant.univ-brest.fr]                                  
URL:    [xoa-dos.sourceforge.net]                        
XOA-DOS
eXperience Of A Disk Operating System

*Introduction*
Qu'est ce que XOA-DOS? XOA-DOS est un projet de programmation d'un système d'exploitation de type DOS. Il a pour but principal l'apprentis- sage de la programmation d'un tel système, il n'a pas pour prétention de vouloir remplacer MS-DOS ou autres et ni celle de vouloir être commercialisé (ça serait difficile mais c'est pour situé les choses :)). Donc ce système est developpé pour apprendre, comprendre et éventuellement partager des idées. Il se veut simple et fonctionnel. Personnellement je suis novice dans la programmation de ce type et mon niveau n'est pas extraordinaire en Assembleur, donc ne vous étonnez pas de voir parfois du code pas très "propre". Il faut un début à tout :) Toutes les sources sont disponibles en plus des binaires, ils peuvent être distribués GRATUITEMENT et comme bon vous semble. Bonne programmation!
Picard Damien


-Description:

Nom:          XOA-DOS
Auteur:       Picard Damien
Version:      1.0 Beta
Catégorie:    Système d'exploitation (Operating system)
Spécificité:  Programmation 16 bits et en mode réel.
              Système mono-tâche, mono-utilisateur.
              Programmé en langage Assembleur, syntaxe NASM.
              Programmé pour les processeurs x86.
              Système de fichier: FAT12
	      Kernel monolithique.
Remarque:     Le support du système est une disquette 1.44mb.    


-Chronique: 20/01/2002 Lançement du projet XOA-DOS. 22/01/2002 Programmation du secteur de boot. Il charge le noyau "cmd.bin" en mémoire. 23/01/2002 Programmation du module principale "cmd.asm". Fonctions gérant l'affichage des caractères dans "SCREEN.INC". Début de la programmation de la console: -Ligne de commande -Saisie et affichage des touches appuyées 24/01/2002 Mise en place d'un gestionnaire de commandes. Programmation de la commande "ver" qui indique la version du noyau "cmd" (On ne peut pas faire plus simple comme commande :)). Fonctions de comparaison de deux chaînes de caractères. 27/01/2002 Possibilité de saisir une seule commande du fait d'un bug dans la fonction de comparaison de chaînes. 29/01/2002 Bug résolu. Gestionnaire de commande prêt à l'emploi. Commande à programmer: -Reboot, comme son nom l'indique il redémarre le sytème. -Cls, efface l'écran. 30/01/2002 Commandes mises en place. Systéme de fichiers de type FAT12. 5/02/2002 Utilisation et adaptation d'un secteur de boot qui charge un programme en mémoire via la FAT. (temporaire) 24/02/2002 Programmation d'un gestionnaire d'interruptions logicielles. 25/02/02 Interruption 21h mise en place. Programmation d'une fonction "essai" dans le gestionnaire de commande qui appelle cette interruption, pour l'instant elle afiche "int21" à l'écran. Ca marche!!!!!!!!!!!!!! :)) Plusieurs fonctions similaires à MS-DOS sont en projet. 26/02/02 Gestionnaire de l'int 21h pour répartir les fonctions, fonctionnelle. Programmation de l'int 22h qui redémarre totalement le système. 28/02/2002 Bientôt, une doc des api's disponible sur XOA-DOS sera disponible en download. Début de la programmation des fonctions de l'interruption 21h. 04/03/2002 Interruptions sont disponibles et fonctionnelles: Int 21h, Fct 00h et Fct 01h (voir doc) 10/03/02 Fonction convertissant au "format FAT" les noms de fichiers tapés en ligne de commande, fonctionnelle. 17/03/2002 Fonction pour la recherche de fichiers en debugging. 02/07/02 Et c'est reparti! Aprés ma petite pause de 3 mois (avec les études on fait pas tout le temps ce qu'on veut...) :) 05/07/2002 Driver pour le clavier français debuggé et fonctionnel. Projets: Reprise de la programmation de la fonction pour la recherche de fichier. programmation d'un bootloader utilisant le systéme de fichier FAT12. Driver FAT. (Ca en fait du boulot! :P) 04/08/2002 Hébergement chez sourceforge.net. XOA-DOS est désormais sous license GPL, celle-ci sera dorénavant fourni avec les packages. Bientôt une version anglaise du site sortira (quand j'aurai le temps là je me consacre à 100% à xoa-dos vu le peu de temps libre que j'ai...) 09/08/2002 Commande "search" fonctionnelle en debugging. Commande pour éxecuter des programmes en avancement. Driver FAT fonctionnel et débuggé. 10/08/2002 Ajout d'une partie archives où vous pourrez télécharger les dernières sauvegardes du kernel mais je ne garantie pas la stabilité des versions sachant qu'aucune version stable de XOA-DOS n'est encore sortie. Donc soyez prudent, étudiez plutôt les sources, que de vouloir les compiler... 31/08/2002 NOTE: Dans le fichier kernel.asm, je conseil de changer la valeur de SS et de la mettre à 0x1000 car j'ai fait l'erreur de la laisser à 0x0000, je vous laisse imaginer les conséquences :( je corrigerai moi même plus tard. 03/09/2002 Version 1.0 Beta fonctionnelle en debugging. Driver FAT12: ajout de divers fonctions liées à Load_File, debuggées et fonctionnelles :) Commande pour l'éxecution d'un programme fonctionnelle. Commande ls en cours...Vu les bugs qu'elle produit je dois utiliser une mauvaise méthode. Projets: Mise au propre du code source, plus ajout des commentaires. Amélioration du gestionnaire d'interruptions. Programmation des interruptions de manipulation de fichiers. 18/09/2002 Sortie de la première version stable de xoa-dos. Version 1.0 :) Beaucoup encore à faire mais je continue et la motivation est la même! Version 1.1 en cours... Problème avec la fonction "DrvFAT.Name_FAT", la fonction convertit uniquement les noms mis dans la variable "VAR.Kernel.linevar" et ensuite pointé par DI. Donc la fonction ne convertie pas n'importe quel nom pointé par DI :( 22/09/2002 Problème résolu. Doc à propos mise en ligne. 21/10/2002 Sans être sur à 100%, je pense arrêter le développement de XOA-DOS aprés la sortie de la version 1.1. Je n'abandonne pas l'"osdev" mais je désire me lancer dans un projet plus sérieux et élaboré c'est à dire un OS en mode protégé, multi-taches, multi-utilisateurs et programmé en C/ASM...Je n'ai pas trouvé encore de nom pour le projet, je communiquerai l'url ici, je vous tiens au courant pour ceux qui s'y intéresse ;)