AgonLight 2 - BBC Basic Z80 - Ordinateur Retro
AgonLight2 ordinateur Z80 mono-carte - Modern Retro Computer
- processeur eZ80 avec 128Kio Flash et 8KB SRAM
- 512 Kio SRAM externe
- VGA VDP (Video Display Output)
- BBC Basic
- MOS - Micro System d'exploitation
Les paiements sont sécurisés par LyraCollect, une société de collecte de paiements française
Il est possible de se faire livrer chez soi, en point relais ou retirer sur rendez-vous chez MCHobby
Nous préparons, emballons et expédions vos commandes avec un grand respect et un grand soin.
AgonLight 2 : retro Z80 moderne à haute performance
Avec le Commander X16, l'AgonLight sont les plateformes retro-modernes les plus intéressantes du moment.
AgonLight2 est une plateforme rétro bâtît autour d'un processeur eZ80 à 20 MHz, d'un processeur graphique appelé VDP et de 512 Kio de RAM additionnel.
Le eZ80 est un processeur Z80 moderne incluant déjà de nombreux périphériques Z80 ainsi un bus d'adresse 24 bits!
Equipé de 512 Kio de RAM, l'AgonLight2 est capable d'adresser jusqu'à 16 Mio de mémoire RAM grâce à son bus d'adresse.
AgonLight2 est un re-design complet de la plateforme AgonLight originale publiée Open Source Hardware par Bernardo Kastrup (dit TheByteAttic) et d'un firmware développé par Dean Belfield.
L'intérêt de ce type de système est:
- Allumez et il est instantanément prêt à l'emploi (il ne faut pas attendre le démarrage du système d'exploitation)
- Totalement HACKABLE! Il est possible de modifier le firmware, MOS (le système d'exploitation), VDP (le processeur graphique) et même le BBCBasic.
L'AgonLight n'est pas un émulateur mais une vraie plateforme rétro disposant des caractéristiques suivantes:
- MOS: le système d'exploitation minimal permettant d'interagir avec les périphériques du système. MOS gère les interactions utilisateurs via un terminal, il permet de charger des programme binaires, code basic, fichiers de données, mise-à-jour depuis la carte microSD. A noter que BBC Basic est disponible sous forme binaire.
- BBCBasic: un portage du BBCMaster BBC Basic sur Z80, le basic le plus puissant jamais produit. Ce dernier permet également de saisir du code assembleur dans les programmes basics.
- micro SD: lecteur permettant de stocker fichiers, données et aussi mise-à-jour des firmware. Ce support permet de lire et écrire programmes et données directement depuis le eZ80.
- Port GPIO et UEXT: permettant à l'AgonLight d'interagir avec le monde extérieur à l'aide d'entrée/sorties numérique mais aussi avec un bus I2C, un SPI (partagé avec microSD) et UART (port série).
- Port I2C: le eZ80 dispose d'un bus I2C rendu disponible sur un connecteur I2C, un connecteur GPIO et le port UEXT (propre à Olimex).
- Sortie VGA: piloté par le VDP, il supporte différent différents modes graphique et non graphique de la plateforme.
- Clavier: une prise USB pour brancher un clavier USB supportant le mode PS2 (voir note).
- Buzzer: pour produire une réponse à l'action utilisateur
- Sortie audio: permettant de profiter d'un meilleur rendu audio en branchant un haut-parleur amplifié sur le connecteur jack.
- USB-C: permettant d'alimenter la plateforme facilement (mais aussi à la mise-à-jour du VDP).
- Chargeur Lipo: ce connecteur permet de brancher un accumulateur Lipo permettant ainsi à l'AgopnLight de devenir totalement autonome.
A propos du VDP
Video Display Peripheral (ou VDP) est un firmware responsable de:
- la sortie VGA,
- la sortie audio ou buzzer (si le jack audio n'est pas utilisé)
- du clavier.
Le VDP propose de nombreuses fonctionnalités graphiques VGA avec des modes standard 320x200 64 couleurs, 512x384 16 couleurs, 640x480 16 couleurs, 1024x768 2 couleurs.
L'affichage de sprite, détection de collision, etc. Côté audio, il propose plusieurs canaux avec la possibilité de généré différents type de signaux.
VDP prend également en charge les interactions utilisateurs grâce au mode terminal (permettant d'afficher des caractères et acquérir les saisies utilisateurs).
Le VDP est propulsé par un ESP32-C4 accompagné de 1 Mo de PSRAM et programmé en C à l'aide d'Arduino IDE (code open-source) via le connecteur USB-C.
L'ESP32 est ici utilisé pour ses performances brutes uniquement (pas de support WiFi envisageable).
L'utilisation d'un ESP32-C4 à la place d'un FPGA pour le VDP permet d'améliorer les fonctionnalités du VDP avec des mise-à-jour logicielle simple à effectuer (avec Arduino IDE).
Il y a actuellement un travail sur le rendu des sprites (semi-transparence) et du son (augmenter le nombre de canaux).
Enfin, pour être complet, le eZ80 communique avec VDP par l'intermédiaire d'un UART à 115200 bauds.
Clavier USB avec mode PS/2
Il y a très lontemps, dans l'histoire de l'informatique, le clavier USB est né. A cette époque, la plupart des ordinateurs diiposaient d'un connectique PS/2. Par conséquent, les claviers qui était fabriqués étaient livrés avec un adaptateur USB--vers-->PS/2 (contenant uniquement des raccordements).
Ces vieux claviers USB disposaient d'une électronique leur permettant de détecter s'ils étaient connectés sur un port USB ou un port PS/2 (à l'aide d'un adaptateur passif). Ces vieux claviers USB fonctionneront sur l'AgonLight.
Les claviers USB récents ne se soucient plus du mode PS/2, ils ne fonctionneront plus sur l'Agon... rien ne se passe lorsque l'on presse une touche.
Si vous disposez d'un clavier PS/2, branchez y un convertisseur PS/2--vers-->USB. Ils fonctionneront sur l'Agon.
Programmer l'AgonLight
AgonLight2 combine les mondes modernes et retro, vous pouvez y programmer de vieux jeux d'écoles mais aussi réaliser des tâches de systèmes domotiques ou brancher des capteurs (et relais) sur le port GPIO (ou UEXT).
Agon dispose également de l'éditeur nano bien connu dans le monde Linux.
The Retro Desk a réaliser une excellente vidéo sur les langages de programmation disponibles pour AgonLight.
BBC Basic
BBC Basic est l'un des basics les plus aboutit et les plus performant même encore en 2023. Il a été porté vers de nombreux processeurs dont le Z80 par R.T. Russell. BBC Basic fait des merveilles sur l'AgonLight!
BBC Basic inclus des instructions pour modes graphiques et support audio. Il peut également manipuler des fichiers, sauver et charger des programmes Basic depuis la carte microSD. BBC Basic n'est pas en ROM, il est charger en mémoire depuis la microSD par MOS (MicroOS).
A la différence d'autres Basics, BBC Basic permettait de saisir du code assembleur dans le basic (Inline Assembler) pour optimiser l'exécution.
Pour les makers enthousiaste, il est visiblement possible d'étendre/personnaliser le code source du basic pour y inclure des fonctionnalités complémentaires.
Assembleur eZ80
AgonLight fonctionne avec un bus d'adresse 24 bit, il y a donc un assembleur spécifique.
- Support le mode ADL (Long Address & Long Data mode).
- Supporte l'API MOS avec un restart vecteur en RAM ($00 reset, $08 MOS, $10 caractère, $18 Chaîne VDU).
- ez80asm : un assembleur qui fonctionne sur toutes les plateformes (y compris sur l'Agon)
Compilateur C
AgonLight peut également être programmé en C à l'aide de SDCC (Small Device C Compiler).
Un tel compilateur s'utilise sur un PC. Il pourrait probablement fonctionner sur l'Agon mais la compilation prendrait une éternité.Le compilateur SDCC est disponible sous Linux/Mac/Windows
- Supporte l' eZ80 en mode Z80 (support ADL viendra probablement plus tard)
- Nécessite un implémentation de la bibliothèque C pour Agon.
putchar/getchar sont déjà implémentés par la communauté mais le portage de la bibliothèque C standard est loin d'être complet.
Détails techniques
- MCU: processeur eZ80 avec 128Kio flash et 8Kio SRAM
- RAM: 512Kio SRAM externe
- Processeur Affichage: ESP32-D4-PICO co-processor
- Affichage: sortie VGA
- Clavier: USB supportant mode PS/2
- Stockage: carte MicroSD
- Batterie: chargeur Li-Po avec régulateur step-up
- GPIO: 34-broches
- connecteur UEXT (voir la gamme UEXT)
- Dimensions: 106mm x 65mm
- 6 trous de montage
- AgonLight2 schéma au format PDF
- AgonLight2 fichiers CAD au format KiCad
- AgonLight conception originale
Contenu
Pour chaque commande, vous recevrez un AgonLight2 completement assemblé et testé. Carte microSD, casque audio, clavier, extension GPIO, accu Lipo be sibt pas inclus.
Ce produit nécessite les éléments suivants pour fonctionner correctement:
- Une alimentation USB-C 5V (comme cette alimentation noire ou alimentation branche)
- Un moniteur VGA avec son câble VGA
- Un clavier USB avec mode PS/2
Tutoriels
- AgonLight2 Manuel utilisateur (Anglais, en cours d'écriture)
- BBC Basic star commands and specific implementation for Agon (Anglais, GitHub)
- BBC Basic (Z80) Manual for AgonLight (Anglais, GitHub.io, R.T. Russel)
- AgonDocs Documentation de Dean sur le Firmware (anglais)
- AgonDocs - set Keyboard Layout (anglais)
Et bien d'autres commandes MOS. - Serveur Discord d' AgonLight
- Documentation connecteur UEXT (MCHobby Wiki)
Software
- Quark™ BBC BASIC
- Quark™ MOS
- Quark™ VDP
- Guide d'installation du Firmware (anglais)
- The Byte Attic (blog, anglais)
Bonne source de logiciels pour Agon - agon-ez80asm (GitHub)
- agon-hexload (GitHub)
Videos
- Langages de programmation sur AgonLight (YouTube, Anglais)
BBC Basic, z80asm, C - Collection de vidéo autour d'AgonLight (YouTube)