Bonjour à tous
Sur la demande de Fool Duplex, une rubrique OS9 a été ouverte et je vais tenter d'y mettre des nouvelles du projet.
OS9 est un projet qui ne fait pas couler beaucoup d'encre, et dont peu de monde se préoccupe.
Ce n'est pas grave, mais d'un autre coté ça m'arrange comme ça j'ai pas la pression
Pour ceux qui ne sont pas trop au courant, voila un petit résumé:
- OS9, qui est un système multi-tache, multi-utilisateur tourne actuellement sur 3 machines:
- MO5
- MO6
- TO9+
Les début ont été fait sur le MO5, puis ayant un MO6, je mis suis attelé car coté graphique c'est plus intéressant du fait que le Gate array gere le 80 colonnes.
Ayant découvert très tardivement le TO9+, je me suis mis en quête d'en acheter un pour y mettre dessus OS9 aussi (c'est un peu une manie chez moi).
En fait le TO9+ est bien car il a plein de mémoires ROM et donc je peux y loger pleins de programme OS9 :-)
Je me suis mis en tête d'écrire un serveur NR sur le TO9+, et donc j'ai un peu laissé tomber le MO5/6
Mais ces temps ci je m'y suis remis.
Car une chose manquait à OS9: un éditeur. Fool me l’avait souvent fait remarquer
Donc j'ai réussi à trouver un petit éditeur de texte que j'ai adapté et qui tourne pas trop mal sur le TO9+.
En plus, l'avantage de cet éditeur, c'est qu'il m'a fait trouver pleins de bugs sur le driver vidéo, mais aussi sur le noyau OS9.
Et maintenant que le TO9+ est a peu prés clean, je me sui remis sur le MO5 et le MO6.
Bien sur, je fais tout cela sous émulateur (pour l'instant).
Mais malheureusement (ou heureusement) ce foutue éditeur me revèle encore des bugs dans les drivers vidéo du MO5 et du MO6.
Donc je ne suis pas sortie d'affaire. mais je ne désespère pas.
OS9 est intéressant s'il y a un disque connecté afin d'avoir des commandes.
J'ai donc écrit un driver de disque virtuel qui est commun a chaque machine mais qui gère différentes zones mémoires.
Voila une résumé pour chaque machine:
Pour le MO5 : R0 = RAM disque sur la cartouche 256ko
MO5E R1 = ROM disque sur la cartouche 256Ko
Pour le MO5NR: R0 = RAM disque sur la cartouche 256ko
MO5N R1 = ROM disque sur la cartouche 256Ko
MO6 R2 = RAM disque mémoire interne
R3 = ROM disque dans IW01/IW02
Pour le TO9+ : R0 = RAM disque mémoire interne
R1 = ROM disque dans IW12/IW13
R2 = ROM disque sur la Megarom T2
Afin de debugger tout cela j'utilise un émulateur qui n'a jamais été diffusé: XEMUL56.
C'est l'émulateur qu'avait ecrit au départ Fool (xemul5) et que j'ai complètement repris et qui émule MO5/MO6/MO5N/MO5NR/TO9+
Je ne travail qu'avec lui car il a l'avantage de simuler tous les circuits hard (alors qu'un certain emulateur DCMOTO pour ne pas le nommer detourne les appels systemes ce qui n'est pas envisageable pour OS9)
Mais ce n'est pas la panacé, car rien ne vaut le hard.
En effet j'ai toujours un gros problème sur le MO6 pour le disque R3. J'ai toujours pas réussi à comprendre pourquoi je n'arrive pas a acceder à la 2eme partie de la ROM sans faire planter la machine.
De plus j'ai intégré dans le Boot d'OS9 un chargeur XModem.
Si le bouton du crayon optique est appuyé, OS9 se configure pour remplacer une partie de la ROM par de la RAM (pour ca les Thomson sont tres bien fait) et la rom peut être téléchargé en respectant le protocole XModem.
Une fois le téléchargement terminé, OS9 continue sont boot, et demarre normalement.
C'est grâce a cela que j'arrive aussi à debuguer OS9.
Je n'ai, ainsi, pas besoin de griller pleins de ROM.
Et enfin, pour terminer, cerise sur le gâteau, OS9 a été également prévu pour tourner sur le 6309 (le "6809" de chez Hitachi).
J'ai équipé mon TO9+ d'un 6309, et je ne tourne que en mode 6309 natif. Le gain est visible sur le driver vidéo.
Et bien sur XEmul56 émule également le 6309 (d'ailleurs sans ca je n'aurais jamais réussi)
Bien sur tout cela se fait avec des outils qui ont été créer au fur et a mesure, qui maintenant sont obligatoire pour le développement d'OS9.
Voila donc une présentation succincte du projet actuel
Et ce qu'il faudrait qui avance temps ci:
- Correction des drivers video MO5/MO6
- Comprendre pourquoi sur le MO6 l’accès à la 2eme partie de la ROM fait tout planter
- Continuer l’écriture du serveur NR sur le TO9
Jacques