D
Dudulle
Compagnon
Bonjour à suite
Suite au fil ouvert par Wika58 et à son invitation à détailler mon message je me permet d’ouvrir un fil pour vous parler de MMbasic
Il s’agit d’une adaptation du BASIC originel (très proche de Qbasic, quickbasic, ou les versions comme on pouvait trouver sur amstrad ou MO5) sur carte microcontrôleur 32 bits.
Le projet est l’œuvre du Geoff Graham, qui a fait un travail fantastique : https://geoffg.net/
Les cartes sous MMBasic sont assez différentes du concept arduino : Il s’agit d’un langage et d’un environnement, qui peuvent fonctionner de façon autonome ; c’est à dire que si on relie un clavier en PS2 et un moniteur en VGA sur la carte on obtient l’équivalent d’un ordinateur complet sur lequel on peut coder et relier des périphériques.
Par exemple on peut voir ma carte maximite ci dessous, qui est juste connectée à une alim et un clavier. Il est possible de l'utiliser et la programmer sans équipement supplémentaire.
On peut aussi l’utiliser avec un terminal, c’est-à-dire que l’ordi personnel remplace le clavier et le moniteur.
Un espace mémoire est alloué sur le pico (quelques centaines de ko) sur lequel on peut sauvegarder ou charger différents programmes, ou sauver des données. On peut aussi le faire sur une carte sd pour avoir plus d’espace.
A la base MMbasic était porté sur des cartes peu communes à base de PIC 32 bits : Pour la petite histoire J’ai commencé sur une « duinomite » il y a une 12aine d’années, qu’il fallait commander en Nouvelle Zélande.
La famille s’est agrandie petit à petit, et depuis peu le concepteur du langage l’a adapté sur le raspberry pico, ce qui est une excellente chose étant donné les performances de la carte, les connectiques, la disponibilité et le prix de cette carte (autour de 5 euros en ce moment).
Alors pourquoi s’attarder sur ce type de carte que personne ne connait ?
Il y a plusieurs raisons :
Il est possible de coder en « basic spaghetti » avec des n° de lignes, ou bien d’utiliser un langage plus structuré, avec des procédures nommées, ou des fonctions.
L’interpréteur basic rend l’exécution du code plus lente qu’avec un arduino, mais on tourne tout de même aux alentours de 100 000 lignes de code par seconde. Si plus de rapidité est nécessaire il est possible d’effectuer certaines opérations en parallèle assembleur.
Il est difficile de détailler toutes les particularités de MMBASIC, le mieux est de regarder l’excellent manuel rédigé par le concepteur du langage : https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf
On pourra aussi jeter un œil à cet article pour une présentation rapide : https://www.siliconchip.com.au/Issue/2022/January/The+Raspberry+Pi-based+PicoMite
Suite au fil ouvert par Wika58 et à son invitation à détailler mon message je me permet d’ouvrir un fil pour vous parler de MMbasic
Il s’agit d’une adaptation du BASIC originel (très proche de Qbasic, quickbasic, ou les versions comme on pouvait trouver sur amstrad ou MO5) sur carte microcontrôleur 32 bits.
Le projet est l’œuvre du Geoff Graham, qui a fait un travail fantastique : https://geoffg.net/
Les cartes sous MMBasic sont assez différentes du concept arduino : Il s’agit d’un langage et d’un environnement, qui peuvent fonctionner de façon autonome ; c’est à dire que si on relie un clavier en PS2 et un moniteur en VGA sur la carte on obtient l’équivalent d’un ordinateur complet sur lequel on peut coder et relier des périphériques.
Par exemple on peut voir ma carte maximite ci dessous, qui est juste connectée à une alim et un clavier. Il est possible de l'utiliser et la programmer sans équipement supplémentaire.
On peut aussi l’utiliser avec un terminal, c’est-à-dire que l’ordi personnel remplace le clavier et le moniteur.
Un espace mémoire est alloué sur le pico (quelques centaines de ko) sur lequel on peut sauvegarder ou charger différents programmes, ou sauver des données. On peut aussi le faire sur une carte sd pour avoir plus d’espace.
A la base MMbasic était porté sur des cartes peu communes à base de PIC 32 bits : Pour la petite histoire J’ai commencé sur une « duinomite » il y a une 12aine d’années, qu’il fallait commander en Nouvelle Zélande.
La famille s’est agrandie petit à petit, et depuis peu le concepteur du langage l’a adapté sur le raspberry pico, ce qui est une excellente chose étant donné les performances de la carte, les connectiques, la disponibilité et le prix de cette carte (autour de 5 euros en ce moment).
Alors pourquoi s’attarder sur ce type de carte que personne ne connait ?
Il y a plusieurs raisons :
- Beaucoup « d’anciens » connaissent déjà le basic ce qui permet une prise en main rapide, moi-même je l’ai appris à l’école pendant la période assez brève où la programmation faisait partie de l’enseignement secondaire.
- C’est un langage extrêmement facile à apprendre ; à mon sens beaucoup plus que le C++ d’arduino, ou même python.
- L’exécution d’un projet est très rapide et simplifié par les librairies intégrées et « transparentes ». par exemple pour utiliser un écran tft il y a 1 ligne de config à taper en début d'appli, puis il suffit d'utiliser la commande print pour afficher, cls pour effacer...
Il est possible de coder en « basic spaghetti » avec des n° de lignes, ou bien d’utiliser un langage plus structuré, avec des procédures nommées, ou des fonctions.
L’interpréteur basic rend l’exécution du code plus lente qu’avec un arduino, mais on tourne tout de même aux alentours de 100 000 lignes de code par seconde. Si plus de rapidité est nécessaire il est possible d’effectuer certaines opérations en parallèle assembleur.
Il est difficile de détailler toutes les particularités de MMBASIC, le mieux est de regarder l’excellent manuel rédigé par le concepteur du langage : https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf
On pourra aussi jeter un œil à cet article pour une présentation rapide : https://www.siliconchip.com.au/Issue/2022/January/The+Raspberry+Pi-based+PicoMite
Dernière édition: