Agon Light

Pour parler de toutes les réalisations récentes qui ne sont pas directement destinées à être utilisées avec une machine (ou une catégorie de machines) précise.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
fma38
Messages : 196
Inscription : 23 févr. 2022 18:37
Localisation : Grenoble

Agon Light

Message par fma38 »

Hello,

Je viens de recevoir ma carte Agon Light, celle fabriquée par Olimex. J'attend encore un clavier compatible PS2 pour pouvoir faire mumuse avec...

Est-ce qu'il y a d'autres personnes possédant ce petit ordi ? Est-ce qu'un topic sur le sujet a sa place sur ce forum ?
Frédéric
andromeda92
Messages : 549
Inscription : 15 avr. 2020 16:25
Localisation : VAR

Re: Agon Light

Message par andromeda92 »

En ce moment on parle beaucoup de cette carte, ce serais bien d’avoir un topic, sinon il y a un topic 8 bit.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17424
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Agon Light

Message par fneck »

Pas certain que ce soit un matériel 8-bits de collection. J'ai déplacé le sujet ici.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
fma38
Messages : 196
Inscription : 23 févr. 2022 18:37
Localisation : Grenoble

Re: Agon Light

Message par fma38 »

Ah, non, ce n'est clairement pas de la collection. Merci pour la ré-organisation (même si cette catégorie est un peu enfouie !).
Frédéric
Avatar de l’utilisateur
paspeur
Messages : 306
Inscription : 29 avr. 2022 16:28
Localisation : Californie/Bretagne

Re: Agon Light

Message par paspeur »

Ça a l'air assez cool. Je serais intéressé par ton retour d'experience @fma38.

Je ne connaissais pas Olimex et grâce à ton fil, j'ai découvert leurs cartes Duinomite (un clone du Maximite inspiré des TRS-80s, C64, et Apple II et qui se programme principalement en BASIC).
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

L'Agon Light™ est un autre petit micro-ordinateur 8 bits moderne de Bernardo Kastrup (The Byte Attic), successeur de sa carte Cerberus 2080 ou 2100.

Il utilise un eZ80F92 cadencé à 18.432MHz (afin d'adresser en continu 16 Mo de mémoire sans MMU) en communication avec un ESP32 à 240 MHz. L'architecture d'Agon s'inspire de la structure classique mainframe +terminal et du "tube" d'Acorn. Les deux sous-systèmes principaux qui constituent Agon™ (à savoir, le sous-système de processeur eZ80 et le "terminal" A/V ESP32) peuvent être programmés en C standard avec des outils librement disponibles, tels que l'IDE Arduino et l'IDE ZDS-II de Zilog. Au lieu d'avoir à programmer le code du noyau en assemblage pour écrire sur une EPROM, vous pouvez simplement écrire du code C, le compiler avec des outils gratuits et télécharger votre micrologiciel dans les mémoires flash intégrées de l'eZ80 et de l'ESP32.

512 Ko SRAM, 128 Ko de mémoire flash intégrée à l'eZ80, carte μSD, VGA 64 couleurs, PS/2, USB, 20 GPIO, 2 canaux audio.

Firmware officiel : BBC Basic 4 pour le Z80 avec assembleur Z80 en ligne (version modifiée de R.T.Russell), Agon MOS, CP/M, Zeal OS
L'audio et la vidéo sont gérés par le VPD (Visual Display Processor), un micro-contrôleur ESP32 exécutant sous FreeRTOS un micrologiciel personnalisé au-dessus de la bibliothèque FabGL pour ESP32.
Le VDP prend un flux de sortie de texte BBC Basic en entrée. Il traitera toute commande BBC Basic VDU valide via FabGL vers le VGA.
FabGL implémente également : un moteur audio, une interface utilisateur graphique (fenêtres qui se chevauchent, gestion de la souris et de nombreux widgets), un moteur de jeu et un terminal ANSI/VT. Un large éventail de fonctions disponibles pour le programmeur.

Le dépôt github de Dean Belfield est public, vous pouvez participer. Voir aussi son compte Twitter.
Le système est très flexible, il repose sur la puissance de l'ESP32 et la facilité permise par FabGL.

Présentation de la conception électronique Agon light™

agon light.png
agon light.png (220.26 Kio) Consulté 2924 fois
Agon specs.png
Agon specs.png (103.01 Kio) Consulté 2924 fois
Agon system.png
Agon system.png (69.99 Kio) Consulté 2924 fois
Agon memory map.png
Agon memory map.png (49.11 Kio) Consulté 2924 fois

Le fondateur de la société bulgare OLIMEX, Tsvetan Usunov, a créé une nouvelle version améliorée et moins coûteuse d'AGON Light (entièrement compatible avec l'original) et la vend au prix spécial de seulement 50 EUR ( !), entièrement assemblée, programmée et testée.

Comme OLIMEX a une expérience antérieure avec l'ESP32-WROOM-32, ils ont ajouté un connecteur UEXT (Universal-EXTension) qui permet de connecter Agon Light à : capteurs de température, capteurs de qualité de l'air ambiant, pression, humidité, gyroscope, lumière, RS485, LCD, matrice LED, relais, Bluettooth, Zigbee, Lora, GSM, lecteur RFID, GPS, Pulse, EKG, RTC etc...
Voici leurs modules/capteurs actuels se branchant sur le connecteur UEXT :

MOD-IRDA pour envoyer et recevoir des commandes IR
MOD-RS485-ISO pour se connecter aux machines avec interface RS485
MOD-MAG pour mesurer le champ magnétique
MOD-BME280 pour mesurer précisément la pression, la température, l'humidité
MOD-LTR-501ALS pour mesurer la lumière et la couleur
MOD-LCD2.8RTP LCD avec écran tactile pour affichage et interface utilisateur à distance
MOD-IO module à quatre relais pour allumer et éteindre des appareils
Lecteur de carte RFID MOD-RFID1356MIFARE

Pourrait alors être commandé via BBC Basic...

Byte Attic twittter
OLIMEX twitter

Agon Light by Olimex.jpeg
Agon Light by Olimex.jpeg (45.12 Kio) Consulté 2915 fois
The native software development framework for the ESP-32 is called the Espressif IoT Development Framework (ESP-IDF).
The ESP-IDF functionality includes menu based configuration, compiling and firmware download to ESP32 boards.
To develop applications for ESP32 you will need:

A PC loaded with either Windows, Linux or the Mac operating system
Toolchain to build the Application for ESP32
ESP-IDF that essentially contains the API for ESP32 and scripts to operate the Toolchain (ESP-IDF v5.0 is a major update).
A text editor to write programs (Projects) in C, e.g. Eclipse
The ESP32 board itself and a USB cable to connect it to the PC

The quickest way to start development with the ESP32 is by installing a prebuilt toolchain:
Prebuilt Windows GNU Toolchain for ESP32

Dernière modification par gob33 le 22 févr. 2023 13:07, modifié 1 fois.
Avatar de l’utilisateur
fma38
Messages : 196
Inscription : 23 févr. 2022 18:37
Localisation : Grenoble

Re: Agon Light

Message par fma38 »

La version Olimex n'est pas vraiment optimisée, c'est même l'inverse ! Ils ont fait beaucoup de concessions sur le design, comme l'omission des diodes de protection ESD et d'autres choses moins propes que dans la version de Bernardo, genre les changements de taille de pistes non justifiés...

Mais bon, ça marche 😉 Je viens juste de recevoir mon clavier, je vais pouvoir faire mumuse...
Frédéric
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

La version OLIMEX est tout à fait acceptable, la version originale est de conception électronicien minutieux, trop pour une phase industrielle à bas cout. A part le connecteur USB au lieu de PS2 qui peut poser problème avec les claviers récents.

Comparison Olimex vs Original and tests.
Avatar de l’utilisateur
fma38
Messages : 196
Inscription : 23 févr. 2022 18:37
Localisation : Grenoble

Re: Agon Light

Message par fma38 »

Oui-oui, c'est très chouette d'accéder à une telle machine à un prix aussi raisonnable, c'est clair !
Frédéric
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

Une traduction d'un avis facebook intéressant (Phil Dalbeck) sur cette machine hybride, ça résume bien la situation:
Un point de discussion qui me vient à l'esprit pendant que je bricole: la programmabilité et la flexibilité du sous-système graphique basé sur ESP32 sont à la fois une bénédiction et une malédiction dans un système destiné au 8 bits moderne.

Bénédictions :
* Fondamentalement puissant, peut faire beaucoup de choses que les GPU ASIC originaux des années 80 et 90 ne pouvaient pas.
* Disponible neuf en vrac pour un coût très bas aujourd'hui
* Programmable (si, et c'est un gros si - vous êtes compétent/expérimenté avec l'IDE Arduino et codez nativement pour l'ESP32)

Malédictions :
* Conduit à la conception CPU + Terminal - un peu une malédiction car il s'écarte du modèle de RAM vidéo mappé en mémoire traditionnel familier à presque tous les micros 8 bits classiques
* Il manque actuellement une configuration de base complète et flexible capable d'obtenir des micro-fonctions 8 bits courantes telles que le mappage de tuiles de base, etc. )

Mon sentiment instinctif est que l'Agon s'adresse à 3 types d'utilisateurs : -
1) Les utilisateurs suffisamment expérimentés pour bricoler avec le code ESP (en C ou autre) pour obtenir eux-mêmes une énorme puissance du GPU.
2) Les utilisateurs qui souhaitent utiliser l'Internet Of Things pour l'automatisation domestique/industrielle, etc.
3) Les utilisateurs (y compris moi-même) qui souhaitent traiter l'Agon comme un micro 8 bits complet, mais avec les avantages supplémentaires d'une disponibilité facile, d'un Z80A rapide et d'un sous-système GPU/Audio stable qui peut être utilisé prêt à l'emploi pour assembler des jeux simples semblables à ceux de l'ère Spectrum/C64/CPC.

À l'heure actuelle, je pense que l'appareil et le micrologiciel ne sont pas encore là pour servir au mieux le 3e groupe d'utilisateurs (qui, je pense, est le plus grand marché potentiel). Bien que l'ESP32 soit extrêmement puissant, ce groupe (s'il est comme moi) préférerait interagir avec un ensemble solide et bien défini de capacités graphiques 2D d'une manière plus proche de celles du Spectrum ou du CPC (logique des graphiques en force brute gérée principalement via le CPU et certaines capacités ULA limitées) ou C64 (ensemble très bien défini et documenté des capacités du VIC II directement appelables depuis BASIC ou Assembleur).

Jusqu'à ce qu'il y ait ce que je considérerais comme un ensemble de fonctionnalités VDP "de base" en place qui se compare bien au C64, etc., d'une manière bien documentée et avec de bons exemples de code, je pense que l'Agon est un peu en retenu d'un attrait plus large. Tout le monde n'a pas le temps/la patience/les compétences/la volonté d'apprendre à coder un micrologiciel personnalisé pour le VDP, même si en théorie, cela pourrait fournir des performances brutes massives - mais si tel était l'objectif des utilisateurs, ils le feraient probablement plus sur une plate-forme moderne en tout cas...

Ce que je veux vraiment faire, c'est obtenir quelque chose du niveau de Jet Set Willy sautant autour de l'écran en utilisant des capacités graphiques similaires à celles disponibles dans les 8 bits classiques (y compris les extensions GPU de base comme les modes de tuiles, le blitting et de simples sprites "hardware" si possible) et le tout disponible dans le code de base par défaut du VDP sur tous les appareils livrés pour garantir la compatibilité dès le départ.

A Dean Belfield et The Byte Attic, peut-être que convenir d'un niveau de capacités 2D standard basé sur les capacités des principales machines classiques ou même de l'ULA étendu du Spectrum Next (avec ses sprites "matériels", ses modes de tuiles, etc.) peut être utile, afin de donner un une ligne de base claire et capable de fonctionnalités à atteindre ?

Juste une pensée!
Les sprites et autres sont supportés mais l'accès direct en assembleur à la mémoire vidéo pose problème car sous le contrôle de l'ESP32, il faut passer par des appels VDU. En plus c'est de l'assembleur Z80 ce qui fait que les programmes BBC avec code assembleur 6502 ne collent pas.
Il faut reconnaitre aussi que la FabGL est sous-exploitée actuellement depuis le BASIC. Son code est complexe, large, de haut niveau.
Sinon l'Agon est parfait pour des projets type CPCng (FutureOS, SymbOS, ...).
Le Maximite 2 a une architecture plus simple et fait tout sur 1 seul micro-controlleur plus rapide (ARM Cortex-M7 32-bit RISC à 480MHz) avec son MMBasic, à part que c'est pas un 8bits. D'autre part, en raison de la pénurie des composants, ils sont passés au PicoMite VGA.
Dernière modification par gob33 le 06 avr. 2023 00:08, modifié 1 fois.
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

Attention à cette carte, elle est en rupture de stock en raison d'une forte demande (le prix est le facteur déterminant). Elle se vend par centaines.
C'est quand même une conception particulière ou l'ESP32 tourne sur son propre OS interne caché (FreeRTOS) avec un proc 8bits sous un autre OS.
D'ou les performances. L'accès non direct à la mémoire vidéo pose problème. Il faut voir l'ESP32 comme une carte graphique accélérée sur un PC: plus d'accès direct à la mémoire vidéo comme sous MS-DOS / EGA,CGA,VGA mais uniquement par les appels FabGL au lieu de DirectX / OpenGL. C'est un peu similaire à part que l'ESP32 fait aussi les entrées/sorties.

La carte AESIR de Kyle Cardoza (Studio 8502) similaire à l'Agon Light, extrapole encore plus l'utilisation des micro-controleurs. Un CPU WDC W65C265S @ 12Mhz (espace d'adressage linéaire de 16Mb) remplace l'eZ80, deux ESP32-PICO-D4 sont utilisés (l'un gère le clavier, les deux cartes SDHC FAT32 et génère l'audio à l'aide d'un DAC I2S externe, l'autre est dédié au système graphique via FabGL), un CPLD ATF1502 pour la colle.
Contrairement à l'Agon, où leur seul ESP32 est connecté à leur eZ80 via série, dans ÆSIR, les deux ESP32 sont câblés à un bus d'interface parallèle unique au W65C265S.
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

Suite au succès de l'Agon Light (+1000 exemplaires vendus actuellement), il y a 2 projets en développement:
  • Neo6502 par OLIMEX, Tsvetan Usunov
  • Agon 65xx par Kyle Cardoza, Bernardo Karstrup
Yes, the rumours are true: A 6502-family Agon is, indeed in the works. How do I know? I'm the lead on the hardware.
It's called Agon 65X. It uses the same VDP as the classic Agon, but the CPU is a Wester Design Center W65C265S, clocked at 8MHz. It has 512KB of SRAM and 512KB of flash ROM, SD card, the same graphics capabilities as the eZ80 Agon boards, and features two SNES-compatible gamepad ports and a 24-pin GPIO "User port" with ten GPIO pins and an SPI connection.
It runs a custom, 65816 native mode kernel called Esper 65X, written in assembly language and C99 by myself; it does not run BBC BASIC, and will not unless someone else wants to do that port, in which case I will happily and gratefully include it in the ROM image on release.
You will be able to code for it initially with cross-development using the free Calypsi 65816 C99 and assembly toolchain. As the software ecosystem develops, we will gain on-hardware native development tools.
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: Agon Light

Message par Mokona »

À propos de l'Agon Light. La version 1.03 de MOS est sortie.

Est-ce que quelqu'un a fait la mise à jour ?
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

J'attends de voir une démo graphique sur Agon comme dans les années 80 avec scrolling multidirectionnel, effets et musique.
Cela revient à connaitre et programmer avec le SDK ESP32 et fabGL, autant le faire directement sur d'autres cartes en 32bits au lieu de cette carte hybride. De même avec le futur 'émulateur d'Agon, autant attaquer directement sans émuler le micro-controlleur ESP32.
Avatar de l’utilisateur
gob33
Messages : 155
Inscription : 22 mai 2018 15:47

Re: Agon Light

Message par gob33 »

J'apprends maintenant que OLIMEX va mettre en vente une carte ESP32-SBC-FabGL.
C'est l'équivalent de la TTGo VGA ou 1/2 Agon Light. Preuve qu'on peut émuler le sous-système processeur sur l'ESP32.
15€ c'est pas cher.
Répondre