jeudi 27 septembre 2012

Les outils de développement (suite)

L'OrdiGFA Nano utilise un afficheur LCD commandé par RS485 de la société Droids : le Muin LCD.
Pour pouvoir tester l'envoi correct des données vers l'afficheur LCD, j'ai développé un simulateur de cet afficheur écrit en GFA Basic, à l'aide de l'excellent IDE GBE (hi LP060 !) sous le non moins excellent aranym.
Le programme est exécuté sous l'émulateur Hatari, qui permet d'émuler le port série via un fichier.
En configurant Hatari pour utiliser donc comme port série le fichier généré par le Simulateur/assembleur AVR décrit dans le précédent billet, on peut simuler une partie supplémentaire du Nano.


mercredi 26 septembre 2012

Planning prévisionnel du projet

Un joli diagramme de Gantt (qui ne reflète pas l'avancement actuel, mais celui du début du mois) qui illustre les différentes étapes, objectifs et dates prévues.


Les outils de développement

Pour faciliter le prototypage, j'ai conçu un simulateur/assembleur pour Atmega Attiny, reprenant plus particulièrement les caracteristiques de la carte de développement utilisée, l'AVR-P20 d'Olimex.
Ce simulateur/assembleur est écrit en Java/Swing, et permet l'assemblage du code assembleur en un fichier .hex directement uploadable dans le microcontroleur, et d'un simulateur permettant de concevoir la partie logicielle sur un micro-ordinateur supportant Java.

La plupart du jeu d'instructions AVR est supportée, et l'assembleur génère un fichier "rapport" listant les instructions qu'il gère.
La syntaxe gérée par l'assembleur est pour le moment assez contraigante, et les instructions de macro-assemblage sont pour l'heure très limitées.
L'écran ci-contre est assez vide, car les fenêtres de débogage sont celles de l'éditeur Eclipse. Je prévois dans une prochaine version d'afficher des informations pertinentes (registres, mémoire, eeprom, série) dans des fenêtres dédiées. La sortie série est néanmoins facile à débugguer car disponible dans un fichier de type "serial.out".



OrdiGFA Nano, premier prototype

Ce projet commence par la réalisation d'une première plateforme prototype : l'OrdiGFA Nano.




L’originalité logicielle de cette nouvelle machine est de faire du GFA Basic le langage principal d’exploitation du matériel.
Il s’agit donc de s’affranchir des nombreuses couches logicielles présentes sur les ordinateurs du marché, et d’avoir le Basic comme langage de prédilection dans l’esprit des ordinateurs 8 bits des années 1980.
Cependant, là où à l’époque le Basic en question était très souvent le Microsoft Basic, l’idée est ici d’utiliser le GFA Basic, plus puissant et plus riche.
A l’avenir, si un système d’exploitation s’avère utile, il faudrait envisager la réalisation « sur mesure » d’un DOS-like écrit en GFA/AVR.
De même, l’objectif de ce projet étant de retrouver un maximum l’expérience de la programmation en GFA Basic sur ST, il y a réimplémentation des appels systèmes du système d’exploitation Atari TOS, et notamment de certaines fonctions BIOS, BDOS et XBIOS (la partie CP/M 68k donc).



But du projet

Le projet OrdiGFA a débuté le 3 septembre dernier, et a été abordé en suivant l'état de l'art de la gestion de projet informatique, avec charte et plan projet, dossier d'architecture et spécifications détaillées.
En attendant de mettre en ligne les documents correspondants, voici la description tout droit extraite de la charte projet :

Le but de ce projet, nom de code « Ordi GFA», est la conception d’un ordinateur compatible au niveau source avec le Basic GFA du micro-ordinateur Atari ST, offrant également une certaine compatibilité au niveau API avec le système d’exploitation de l’Atari ST, le TOS.
Ce projet a pour but d’offrir une plateforme moderne aux fans de programmation en GFA Basic, et s’adresse donc principalement à ces derniers.
L’objectif n’est pas de concevoir une machine « mainstream » mais plutôt d’ouvrir les portes à d’autres initiatives du même genre. Par ailleurs, la possibilité de faire fonctionner des applications graphiques fluides (jeux ou démos) n’est pas un objectif, ceci en raison de l’approche amatrice et des contraintes techniques (compétences, matériel, temps, ressources).
Le budget n’est pas fixe est dépend exclusivement de la bonne volonté des participants, il en va de même pour le planning qui sera fonction de la disponibilité de chaque intervenant (approche hobbyiste).

mardi 25 septembre 2012

Nouveau projet

Ce blog se consacre à la description du projet OrdiGFA et à son évolution au fil du temps. Le projet est déjà bien démarré dans sa version "nano", et les premiers billets se succéderont rapidement pour décrire les différentes étapes déjà achevées ou bien débutées.