Maximite Couleur - Une autre façon de découvrir la programmation Basic et le hacking électronique

C'est en consultant une vidéo de "The 8-Bit Guy" que nous avons découvert un projet presque aussi excitant que la MicroPython Pyboard.

Le Color Maximite de Geoff's Project se présente comme un ordinateur (sortie VGA, entrée clavier, carte SD comme disque) avec un GPIO, un connecteur Arduino et un interpréteur Basic prêt à l'emploi.

Que diriez vous d'avoir un Mini Ordinateur style "Commodore 64" prêt à l'emploi avec un interpréteur Basic récent (MMBasic) capable de contrôler des Entrées/Sorties ?
Branchez l'alimentation et c'est prêt!

Source: Cette vidéo YouTube de "The 8-Bit Guy"
Le Maximite existe en plusieurs versions mais le "Colour Maximite" est certainement le plus intéressant de tous. Il se décline en version hacking (avec une zone de prototypage) et en version Desktop dans un boîtier.

N'hésitez pas à consulter la vidéo de "The 8-bit Guy" (anglais, YouTube), vous allez voir, c'est vraiment pas mal pour une machine mono-carte.


Le Colour Maximite en action avec shield Arduino - source: inconnue
Utiliser un PIC32MX795F de MicroChip (128Ko de RAM et 512 Ko de Flash), I2C, SPI, ...) pour propulser la plateforme.

Détail de la carte "Colour Maximite" - 3.3V
La sortie audio peut être utilisée pour générer de la musique stéréo, des effets sonores et tonalité sinusoïdale.
Les deux sorties audio peuvent également être utilisées pour générer deux tension de sortie indépendante contrôlée par la commande PWM de MMBasic.

MMBasic - un interpréteur basic performant
Le Maximite est propulsé par un interpréteur Basic disposant de commandes étendues pour faciliter la réalisation de nombreux projets.
MMBasic dispose également d'un éditeur de texte facilitant l'édition de vos programmes basic.

David Murray, The 8-Bit Guy, à porté sa version de Tetris pour Commodore 64 sur le Maximite en quelques heures... et le résultat est plutôt bien réussi.
Portage de Tetris par David Murray - source: cette vidéo de The 8-bit guy




L'interpréteur réside sur la carte, ce qui permet de tester des commande facilement par essai-erreur. L'interpréteur MMBasic permet également de saisir des programme et de les déboguer via une interface USB. Pas besoin d'utiliser un compilateur ou autre environnement de développement.

L'interpréteur dispose de fonctionnalités avancées pour améliorer le confort d'utilisation.
Parmi ces fonctionnalités, nous retrouvons:
  • Support des noms longs pour les variables
  • Support des calculs en virgule flottante
  • Traitement des chaînes de caractères
  • Support des tableaux
  • Support de fonction graphiques
  • Utilisation de balises nommées (plutôt que des n° de ligne) pour les commandes Goto et Gosub.
  • Gestion de fichier (en mémoire Flash ou sur carte SD)
  • Envoi des commandes Print vers sortie VGA et interface USB; voire vers un fichier.
  • Utilisation d'une carte SD pour stockage de programmes basics et autre.
L'interpréteur MMBasic de Maximite en action.
Compatibilité Arduino
La carte Maximite est pourvue d'une connecteur Arduino. Cela permet de brancher des shield Arduino (compatible 3.3V) sur le Maximite et de pouvoir les contrôler avec l'interpréteur MMBasic.
Source: Geoff's project
Les nombreux GPIO du Maximite couplé au support I2C, série (RS485 ou RS232 optionnels), SPI, CAN (optionnel), 1-Wire permettent d'envisager de nombreuses types d'applications allant au-delà de la simple découverte de la programmation.
 

Ressources
Voici quelques liens utiles où vous trouverez plus d'information sur ce projet captivant... même s'il n'est pas tout récent.