Basic Intel 8052...!
Modérateurs : Papy.G, fneck, Carl
Basic Intel 8052...!
Bonjour à tous,
Je lis avec intérêt vos différents sujets, mais ne poste pas souvent car j'ai très peu de choses intéressantes à raconter . Mais là c'est différent ! Ce n'est pas directement de l'informatique, mais c'est du 8 bits ! (J'espère poster au bon endroit ?)
Connaissez vous le Basic 8052 d'Intel ? C'est un BASIC interprété directement par un microprocesseur conçu dans les années 80 (par Intel, donc). C'était une petite révolution : plus besoin d'environnements de développement coûteux, plus de compilation ni de programmation, l'utilisation et la programmation du micro se faisaient via sa liaison série, via un terminal ou un PC. Les programmes BASIC pouvaient êtres stockés en EEPROM ou en ROM. Il était possible de mêler basic et assembleur sur un même projet et de faire des appels à une routine assembleur via un CALL en BASIC. La doc de ce basic est dispo ici.
Le micro 8052 est difficile à trouver (surtout pour un profane pour moi ) mais heureusement des parades existent. Il est possible d'utiliser des micro-contrôleurs compatibles avec la norme et le brochage de ce microprocesseur, ceux répondant à la norme 8051. Il se trouve que j'avais en stock des AT89S52 de chez Atmel (doc), qui sont compatibles 8051, et que je programme en assembleur.
On trouve facilement la ROM du (des) basic d'Intel sur la toile (comme sur cet excellent site). Problème toutefois : flasher la ROM basic dans le µC ne suffit pas (j'ai essayé...) ! Il faut obligatoirement lui fournir de la SRAM externe, et étudier (encore une fois pour un profane comme moi c'était pas évident au début ^^) la notion de bus de données, d'adresse, et de démultiplexage.
Mais en lisant les docs et en étudiant des exemples, rien d'impossible. Le câblage étant un peu compliqué, j'ai dessiné et réalisé cette petite carte contenant l'AT89S52, un chip de SRAM de 32k et un latch permettant de démultiplexer une partie du bus d'adresse (plus les autres composants divers : alim, quartz...).
Et ça fonctionne ! Pour la liaison série, j'utilise un adaptateur USB-série TTL, mais un montage à base de MAX232 peut aussi convenir.
Pour le transfert des programmes, il n'est pas possible de balancer un fichier "d'un coup", mais il faut l'envoyer ligne par ligne, le système traitant les lignes une par une. Il faut envoyer une ligne et attendre que le système renvoie l'invite (un ">"), montrant que la ligne a été enregistrée. Les logiciels de transfert que j'avais ne fonctionnant pas, j'ai dû coder vite fait une petite application VB6.
Le basic est un peu "limité" : les fonctions d'analyse de chaine de caractères sont limitées (bon après c'est pas du VB6 non plus...), il n'est apparemment pas possible d'afficher des caractères accentués, on est limités à 76 caractères par ligne, et certains paramètres de dimensionnement de variable sont... étranges. Mais on a accès aux différents ports du micro, et il est possible de manipuler directement le contenu mémoire apparemment.
J'ai adapté une fiction interactive "dont vous êtes le héros" qui s'appelle "L'histoire vraie de Yoruk" pour tourner dessus. On donne le numéro de la page, et l'histoire se déroule !
Je suis aussi en train de tester les autres fonctionnalités : la génération de MLI, possibilité de faire de la musique, les bus...
La prochaine étape de ce projet est de concevoir une nouvelle carte contenant de l'EEPROM me permettant d'enregistrer des programmes. Mais le décodage des adresses se complique un peu...!
Y a t'il des pros sur ce sujet ? Avez-vous déjà utilisé ce micro ?
PS : je n'y connais RIEN en contrôleurs vidéos. Existait-il des circuits permettant de créer facilement un "terminal" ayant une sortie vidéo ? J'imagine qu'il faudrait stocker les caractères dans une mémoire à part et avoir un composant qui lit tout ça... J'imagine bien des bricoleurs se fabricant une sorte de "micro-ordinateur" maison...? (Sans évoquer le problème du clavier...Limite on peut se dépatouiller avec une arduino et un clavier PS/2 ! )
Je lis avec intérêt vos différents sujets, mais ne poste pas souvent car j'ai très peu de choses intéressantes à raconter . Mais là c'est différent ! Ce n'est pas directement de l'informatique, mais c'est du 8 bits ! (J'espère poster au bon endroit ?)
Connaissez vous le Basic 8052 d'Intel ? C'est un BASIC interprété directement par un microprocesseur conçu dans les années 80 (par Intel, donc). C'était une petite révolution : plus besoin d'environnements de développement coûteux, plus de compilation ni de programmation, l'utilisation et la programmation du micro se faisaient via sa liaison série, via un terminal ou un PC. Les programmes BASIC pouvaient êtres stockés en EEPROM ou en ROM. Il était possible de mêler basic et assembleur sur un même projet et de faire des appels à une routine assembleur via un CALL en BASIC. La doc de ce basic est dispo ici.
Le micro 8052 est difficile à trouver (surtout pour un profane pour moi ) mais heureusement des parades existent. Il est possible d'utiliser des micro-contrôleurs compatibles avec la norme et le brochage de ce microprocesseur, ceux répondant à la norme 8051. Il se trouve que j'avais en stock des AT89S52 de chez Atmel (doc), qui sont compatibles 8051, et que je programme en assembleur.
On trouve facilement la ROM du (des) basic d'Intel sur la toile (comme sur cet excellent site). Problème toutefois : flasher la ROM basic dans le µC ne suffit pas (j'ai essayé...) ! Il faut obligatoirement lui fournir de la SRAM externe, et étudier (encore une fois pour un profane comme moi c'était pas évident au début ^^) la notion de bus de données, d'adresse, et de démultiplexage.
Mais en lisant les docs et en étudiant des exemples, rien d'impossible. Le câblage étant un peu compliqué, j'ai dessiné et réalisé cette petite carte contenant l'AT89S52, un chip de SRAM de 32k et un latch permettant de démultiplexer une partie du bus d'adresse (plus les autres composants divers : alim, quartz...).
Et ça fonctionne ! Pour la liaison série, j'utilise un adaptateur USB-série TTL, mais un montage à base de MAX232 peut aussi convenir.
Pour le transfert des programmes, il n'est pas possible de balancer un fichier "d'un coup", mais il faut l'envoyer ligne par ligne, le système traitant les lignes une par une. Il faut envoyer une ligne et attendre que le système renvoie l'invite (un ">"), montrant que la ligne a été enregistrée. Les logiciels de transfert que j'avais ne fonctionnant pas, j'ai dû coder vite fait une petite application VB6.
Le basic est un peu "limité" : les fonctions d'analyse de chaine de caractères sont limitées (bon après c'est pas du VB6 non plus...), il n'est apparemment pas possible d'afficher des caractères accentués, on est limités à 76 caractères par ligne, et certains paramètres de dimensionnement de variable sont... étranges. Mais on a accès aux différents ports du micro, et il est possible de manipuler directement le contenu mémoire apparemment.
J'ai adapté une fiction interactive "dont vous êtes le héros" qui s'appelle "L'histoire vraie de Yoruk" pour tourner dessus. On donne le numéro de la page, et l'histoire se déroule !
Je suis aussi en train de tester les autres fonctionnalités : la génération de MLI, possibilité de faire de la musique, les bus...
La prochaine étape de ce projet est de concevoir une nouvelle carte contenant de l'EEPROM me permettant d'enregistrer des programmes. Mais le décodage des adresses se complique un peu...!
Y a t'il des pros sur ce sujet ? Avez-vous déjà utilisé ce micro ?
PS : je n'y connais RIEN en contrôleurs vidéos. Existait-il des circuits permettant de créer facilement un "terminal" ayant une sortie vidéo ? J'imagine qu'il faudrait stocker les caractères dans une mémoire à part et avoir un composant qui lit tout ça... J'imagine bien des bricoleurs se fabricant une sorte de "micro-ordinateur" maison...? (Sans évoquer le problème du clavier...Limite on peut se dépatouiller avec une arduino et un clavier PS/2 ! )
Dernière modification par Falkor le 15 mars 2016 13:39, modifié 1 fois.
Re: Basic Intel 8052...!
Il y avait eu aussi la description dans la revue Elektor d'un carte avec ce processeur : le SCALP et le MatchBox (?)
De nos jours, il y a les magnifiques réalisations de Geoff Graham avec ses Maximites et Micromites :
http://geoffg.net/maximite.html
http://geoffg.net/micromite.html
Et le terminal autonome que tu recherches :
http://geoffg.net/terminal.html
C'est dans l'esprit de ce 8052 mais en beaucoup plus puissant et pas cher du tout à réaliser.
Bon bricolage.
Pierre.
De nos jours, il y a les magnifiques réalisations de Geoff Graham avec ses Maximites et Micromites :
http://geoffg.net/maximite.html
http://geoffg.net/micromite.html
Et le terminal autonome que tu recherches :
http://geoffg.net/terminal.html
C'est dans l'esprit de ce 8052 mais en beaucoup plus puissant et pas cher du tout à réaliser.
Bon bricolage.
Pierre.
- fneck
- Site Admin
- Messages : 17541
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Re: Basic Intel 8052...!
@Falkor, les images que tu as postées ne s'affichent pas si on est pas connecté sur ce forum en question.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Re: Basic Intel 8052...!
Mais il est vrai que ces réalisations à base de PIC32 ne sont pas à leur place dans la rubrique 8 bits.
Re: Basic Intel 8052...!
Corrigé (normalement ?).fneck a écrit :@Falkor, les images que tu as postées ne s'affichent pas si on est pas connecté sur ce forum en question.
Merci pour les liens, F1FCO, je vais regarder tout ça.
Pour le terminal, je suis en attente de réceptions d'adaptateurs Dsub pour pouvoir brancher une autre antiquité que j'ai en stock (un vieux terminal 100% made in France )
- Papy.G
- Modérateur
- Messages : 3054
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Basic Intel 8052...!
Bonsoir, bien sûr que c'est de l'informatique, quelques machines parmi celles qui sont collectionnées ici, sont animées par des micro-contrôleurs!
Les articles sur le Scalp auraient dû te mettre sur la voie, tu peux utiliser ton SBC avec un minitel (qui peut même y fournir l'alimentation), et, mieux, certains minitels (M1B, M2, M12) sont dotés d'un 8052/8032, et leur carte-mère permet l'extension (ajout de RAM, plus de ROM...). Les plus anciens ayant des 8048, et les M1 retournables des 8051, mais l'eprom optionnelle est limitée à 24broches sur la carte-mère, de plus, le VDP ne dispose que de 2kO de Ram, et ne permet pas le 80 colonnes, ils sont toutefois utilisables en terminaux pour SCALP (SBC).
Dans mon projet de modification de Minitels en "ordinateurs", j'ai fait, avec d'autres, le rétro-engineering permettant d'envisager toutes sortes de choses plus ou moins folles, mais pour ce qui est de fabriquer un micro-ordinateur maison, pourquoi s'embêter? tout est là: 8052, VDP couleur (avec 8kO de Ram) et sortie RGB, écran intégré 9", clavier, alim, et pour un prix dérisoire, on en trouve en don un peu partout, et dans les 5€ sur LBC le cas échéant.
Jettes un œil ici,par exemple, mais sur d'autres sujets concernant le minitel ou le EF9345 (le VDP qui se trouve aussi dans les Matra Alice et VG5000µ)
A l'extérieur du forum, voir aussi ici ce que l'on peut obtenir, c'est la seule démo à ce jour exploitant le couple 8052/EF9345, dans un Minitel 2 RTIC.
Les articles sur le Scalp auraient dû te mettre sur la voie, tu peux utiliser ton SBC avec un minitel (qui peut même y fournir l'alimentation), et, mieux, certains minitels (M1B, M2, M12) sont dotés d'un 8052/8032, et leur carte-mère permet l'extension (ajout de RAM, plus de ROM...). Les plus anciens ayant des 8048, et les M1 retournables des 8051, mais l'eprom optionnelle est limitée à 24broches sur la carte-mère, de plus, le VDP ne dispose que de 2kO de Ram, et ne permet pas le 80 colonnes, ils sont toutefois utilisables en terminaux pour SCALP (SBC).
Dans mon projet de modification de Minitels en "ordinateurs", j'ai fait, avec d'autres, le rétro-engineering permettant d'envisager toutes sortes de choses plus ou moins folles, mais pour ce qui est de fabriquer un micro-ordinateur maison, pourquoi s'embêter? tout est là: 8052, VDP couleur (avec 8kO de Ram) et sortie RGB, écran intégré 9", clavier, alim, et pour un prix dérisoire, on en trouve en don un peu partout, et dans les 5€ sur LBC le cas échéant.
Jettes un œil ici,par exemple, mais sur d'autres sujets concernant le minitel ou le EF9345 (le VDP qui se trouve aussi dans les Matra Alice et VG5000µ)
A l'extérieur du forum, voir aussi ici ce que l'on peut obtenir, c'est la seule démo à ce jour exploitant le couple 8052/EF9345, dans un Minitel 2 RTIC.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
Re: Basic Intel 8052...!
Il y a aussi eu le magazine Soft et Micro qui avait conçu et commercialisé une carte sur base 8052ah basic : cette carte s'appelait Neurone de mémoire. Je l'ai toujours dans sa boîte A l'origine le projet de la revue était de faire des robots sur cette plateforme ! Le mien n'a jamais marché mais à l'époque j'ai appris beaucoup de chose avec
Re: Basic Intel 8052...!
Elektor avait fait aussi des montages sur cette version du 8052.Mumu21 a écrit :Il y a aussi eu le magazine Soft et Micro qui avait conçu et commercialisé une carte sur base 8052ah basic
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Re: Basic Intel 8052...!
Pour le minitel, j'ai effectivement vu passer des montages pour utiliser ça en tant que terminal. Par contre apparemment tout les minitels ne le permettaient pas. C'est du TTL ou du RS232 par contre ?
Je vais parcourir le sujet du forum consacré au minitels plus en détails. (Je n'ai JAMAIS touché à un minitel de ma vie faut dire )
Je vais parcourir le sujet du forum consacré au minitels plus en détails. (Je n'ai JAMAIS touché à un minitel de ma vie faut dire )
- Papy.G
- Modérateur
- Messages : 3054
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Basic Intel 8052...!
En réalité, il y a très peu de Minitels dépourvus de la fameuse prise, pour te dire, les Alcatel ABCD l'avaient déjà!
C'est du TTL en 5V, c'est quasiment comme si la prise était directement câblée sur le Microcontrôleur (ou l'ACIA dans les plus anciens), à tel point qu'il faut sur certains, ajouter une résistance de pull-up sur une des lignes selon l'appareil branché dessus.
Le câble Minitel DB9-Din5 fait la conversion vers RS232.
Pour ton premier minitel, essaies de trouver un Matra ou Alcatel (M1b, M2...), avec les touches FNCT et CTRL (et les flèches), eux ont le bus d'extension pour modification du plan d'adressage mémoire.
Si tu fais un saut du côté de la Vendée, jai quelques minitels et le câble RS232.
Notator> Le Scalp mentionné par F1FCO semble avoir été publié dans Elektor deuxième semestre 90, le Matchbox à partir d'octobre 95, un autre projet de SBC avec clavier et affichage a été publié dans Elektuur (nov1987).
C'est du TTL en 5V, c'est quasiment comme si la prise était directement câblée sur le Microcontrôleur (ou l'ACIA dans les plus anciens), à tel point qu'il faut sur certains, ajouter une résistance de pull-up sur une des lignes selon l'appareil branché dessus.
Le câble Minitel DB9-Din5 fait la conversion vers RS232.
Pour ton premier minitel, essaies de trouver un Matra ou Alcatel (M1b, M2...), avec les touches FNCT et CTRL (et les flèches), eux ont le bus d'extension pour modification du plan d'adressage mémoire.
Si tu fais un saut du côté de la Vendée, jai quelques minitels et le câble RS232.
Notator> Le Scalp mentionné par F1FCO semble avoir été publié dans Elektor deuxième semestre 90, le Matchbox à partir d'octobre 95, un autre projet de SBC avec clavier et affichage a été publié dans Elektuur (nov1987).
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
Re: Basic Intel 8052...!
Le saison des brocantes va bientôt commencer, c'est bien le diable si je ne croise pas un minitel ! Après la Vendée c'est pas très loin, je suis en Anjou^^
J'ai regardé sur le bon coin, les prix vont de 10 à 75€....
J'ai commencé à regarder le fil sur le minitel, j'aurais quelques questions à poser...!
J'ai regardé sur le bon coin, les prix vont de 10 à 75€....
J'ai commencé à regarder le fil sur le minitel, j'aurais quelques questions à poser...!
- Papy.G
- Modérateur
- Messages : 3054
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Basic Intel 8052...!
Lol, je crois que le plus cher que j'ai vu en France devait être dans les 150€, 100€ sûr.
J'ai du matériel pour ENMM qui est aussi du côté d'Angers.
Vu un Matra M1b et RTIC M1 (b?) samedi dernier en vide-grenier, pas demandé le prix.
J'ai quelques Telic ABCD (8039/EF9340) pour à peu près 0€ (état moyen, mais fonctionnels).
Markerror a un kit de programmation 8048 à vendre, pour aller avec. Si jamais ça t'intéresse, je peux faire en sorte de t'en fournir un dont l'Eprom est sur support.
J'ai un Minitel Alcatel comme celui du sujet, "en trop", mais sans carte fille (8052/9345), il faudra le modifier pour utiliser Eprom et Ram ou autre périphérique supplémentaire (shunts à enlever sur la CM). Je suis en train de réfléchir au plan d'adressage à adopter pour une carte assez garnie (Basée sur les périphériques de la TriplEX), tu es le bienvenu.
N'hésites pas à poser des questions, je pense aussi que ton aide sera précieuse.
J'ai du matériel pour ENMM qui est aussi du côté d'Angers.
Vu un Matra M1b et RTIC M1 (b?) samedi dernier en vide-grenier, pas demandé le prix.
J'ai quelques Telic ABCD (8039/EF9340) pour à peu près 0€ (état moyen, mais fonctionnels).
Markerror a un kit de programmation 8048 à vendre, pour aller avec. Si jamais ça t'intéresse, je peux faire en sorte de t'en fournir un dont l'Eprom est sur support.
J'ai un Minitel Alcatel comme celui du sujet, "en trop", mais sans carte fille (8052/9345), il faudra le modifier pour utiliser Eprom et Ram ou autre périphérique supplémentaire (shunts à enlever sur la CM). Je suis en train de réfléchir au plan d'adressage à adopter pour une carte assez garnie (Basée sur les périphériques de la TriplEX), tu es le bienvenu.
N'hésites pas à poser des questions, je pense aussi que ton aide sera précieuse.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
- irios
- Messages : 3398
- Inscription : 04 nov. 2007 19:47
- Localisation : Rochefort du Gard (30)
- Contact :
Re: Basic Intel 8052...!
Des liens intéressants ici : http://matthieu.benoit.free.fr/8031.htm Voir ce site : http://avrj.cours.pagesperso-orange.fr/Famille_8051.htm et celui-ci http://dsaprojects.orgfree.com/electron ... 1-bas.html
http://irioslabs.over-blog.com/
La connaissance ne vaut que si elle est partagée par tout le monde.
I2C
La connaissance ne vaut que si elle est partagée par tout le monde.
I2C
Re: Basic Intel 8052...!
Pour poser encore une question hors sujet sur les minitels, en gros si je repère un minitel en brocante, à quoi je peux reconnaitre s'il permet de passer en mode terminal ? (Prise à l'arrière ?). J'ai cru voir qu'il fallait repérer certaines touches sur le clavier ?
Re: Basic Intel 8052...!
C'est fou. En gros, quel est le concept ? Flasher un programme maison dans l'EEPROM (celle de 256k ?)Papy.G a écrit :A l'extérieur du forum, voir aussi ici ce que l'on peut obtenir, c'est la seule démo à ce jour exploitant le couple 8052/EF9345, dans un Minitel 2 RTIC.
Le 8048, c'est un microprocesseur qui équipait certains modèles ?Papy.G a écrit :Markerror a un kit de programmation 8048 à vendre, pour aller avec.