[Minitel] dé-programmation d'obsolescence et reprogrammation

Si vous n'avez pas trouvé de catégorie correspondante ci-dessus, regroupe les discussions plus générales et à l'occasion peut aussi abriter un fil sur les vielles consoles de jeux.

Modérateurs : Papy.G, fneck, Carl

Marcopolo

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Marcopolo » 15 août 2015 18:25

Tu peux nous en dire plus sur cet équipement ?

Notator
Messages : 378
Enregistré le : 09 août 2015 20:13
Localisation : Lyon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Notator » 15 août 2015 22:36

Bon, évidemment, pour PapyG, il faudrait un système pour 8031 ou 8051 ; ou alors un programme désassembleur sur ces µC, puisqu'il me semble me souvenir que quelqu'un lui a envoyé le dump du contenu de la ROM Minitel.

Perso, je suis équipé pour Z80, avec l'ensemble des cartes du système de développement modulaire de Multitech, le Micro-Professor MPF-1 P. Si j'ai une Rom ou une Eprom à désassembler (issue d'un système à Z80, évidemment), je la mets dans le support de la carte du programmateur d'Eproms, et je lance le programme désassembleur (en indiquant la taille mémoire à désassembler), et j'imprime le résultat (écrit en mnémoniques assembleur Z80) sur la mini-imprimante (papier large comme un ticket de caisse), ou sur une imprimante normale commandée par la carte qui le fait.
S'il faut d'autres détails, il n'a pas de souci, mais ce sera sur un fil MPF1-P, car là, on sort du sujet de PapyG... :)

Avatar du membre
Papy.G
Modérateur
Messages : 1651
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Papy.G » 27 août 2015 01:56

N'étant pas équipé, j'ai envoyé à Irios l'Eprom qu'il m'a dumpée, puis j'ai imprimé le code en hexadécimal et commencé le décodage, mais à un moment, il y a une instruction impossible, alors, j'ai dû faire une erreur qui aurait décalé la lecture du code. :cry:
Il y a certes des assembleurs, désassembleurs, mais je n'ai appris que le code brut, et ne connais pas le langage et la syntaxe de ces applications, et je me demande si c'est intéressant de m'y pencher, dans la mesure où le premier programme que je devrais faire sera précisément un injecteur de code en rom.
Je me lancerai néanmoins probablement dans l'utilisation de Atmel Studio à un moment, pour le côté pratique, et partager plus facilement le code.

Pour le logiciel, le but est de se servir du protocole videotexte en interne, pour simplifier la programmation d'applications pouvant être utilisées localement sur le poste même, par port série sur un minitel, et via modem, sur un minitel distant.
Le but est aussi de pouvoir faire participer un maximum de minitels, sans avoir à les modifier tous (car tous ne sont pas à base de 8052/9345).
En local, il restera envisageable d'accéder au 9345 via la routine vtx, mais aussi via un tampon et une routine optimisée, et encore de façon directe, des flags signalant à chacune d'entre elles si elles doivent intervenir ou non.
Le système devra pouvoir charger indifféremment des programmes, quel que soit leur mode de fonctionnement. Restera à déterminer un format de fichier, une structure, prenant en compte ces variantes.
Pour le matériel, il me faut faire une carte sur la base de la carte-fille rom, mais avec, en plus, de la ram, un accès direct à la matrice clavier, pour simplifier la scrutation et récupérer des broches précieuses (dont une pouvant déclencher une interruption), une gestion de blocs et adressage IO, une rtc, et de la place pour d'autres périphériques ultérieurs.

En ce qui concerne l'avancée du projet, si ça mûrit côté conception, côté réalisation, ça patauge grave: J'ai essayé de copier l'EEprom où j'avais initialement saisi mon programme test de prompt, sur une Flash, et c'est un échec, de plus, j'ai beaucoup de mal à relire les valeurs écrites (avec mon multimètre, broche par broche), il va donc me falloir tout ressaisir avec mes agrafes et mon breadboard. :evil:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Notator
Messages : 378
Enregistré le : 09 août 2015 20:13
Localisation : Lyon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Notator » 27 août 2015 15:42

Papy.G a écrit :N'étant pas équipé, j'ai envoyé à Irios l'Eprom qu'il m'a dumpée, puis j'ai imprimé le code en hexadécimal et commencé le décodage, mais à un moment, il y a une instruction impossible, alors, j'ai dû faire une erreur qui aurait décalé la lecture du code. :cry:
Il y a certes des assembleurs, désassembleurs, mais je n'ai appris que le code brut, et ne connais pas le langage et la syntaxe de ces applications, et je me demande si c'est intéressant de m'y pencher, dans la mesure où le premier programme que je devrais faire sera précisément un injecteur de code en rom.
Il te faudrait un vrai désassembleur 8031 (ou 8051), qui, au lieu de te sortir un listing en hexa, te le sortira en assembleur clair (en mnémoniques).
Exemple : au lieu d'avoir :

E0 56 F1 44
44 35

t'imprimera :

jmp @ F144
add (a,b)

(Ne pas se soucier de la syntaxe de ce que j'ai écrit, c'est juste des valeurs prises au hasard pour l'exemple). :)

Avatar du membre
6502man
Messages : 8512
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par 6502man » 27 août 2015 16:01

Ca existe sous windows il y en a plusieurs émulateurs 8051/80xx qui te permettent d'injecter un binaire ou HEX :lol:

J'avais déjà donné des liens notamment WICE pour ne faire que du désassemblage :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 9754
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Daniel » 27 août 2015 16:01

Papy.G a écrit :à un moment, il y a une instruction impossible, alors, j'ai dû faire une erreur qui aurait décalé la lecture du code. :cry:
Dans un dump de programme en langage machine, il n'y a pas que des instructions exécutables. Il y a aussi des données. Quand on désassemble, il faut localiser ces blocs de données et ne pas chercher à les interpréter comme des instructions.

Pour étudier le contenu d'une ROM, l'outil le mieux adapté est un émulateur. Il permet non seulement de désassembler le code, mais aussi de l'exécuter pas à pas, ou avec des points d'arrêt. C'est le meilleur moyen pour comprendre le programme.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Papy.G
Modérateur
Messages : 1651
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Papy.G » 02 sept. 2015 22:34

Notator a écrit :Il te faudrait un vrai désassembleur 8031 (ou 8051), qui, au lieu de te sortir un listing en hexa, te le sortira en assembleur clair (en mnémoniques).
Exemple : au lieu d'avoir :

E0 56 F1 44
44 35

t'imprimera :

jmp @ F144
add (a,b)

(Ne pas se soucier de la syntaxe de ce que j'ai écrit, c'est juste des valeurs prises au hasard pour l'exemple). :)
Oui, j'ai bien compris l'utilité d'un assembleur/désassembleur, je vais essayer de trouver la solution Windows la plus pratique pour ce que j'ai à en faire (Emulateur/Bootcamp/Headless PC), la mettre en place et enfin le faire.
Pour ton exemple, sans regarder même la validité des codes que tu proposes, le 8052 n'a jamais plus de trois octets par instruction, n'a pas de saut avec adressage direct en 16 bits, et n'additionne jamais l'accumulateur A avec B (l'accumulateur B ne sert d'ailleurs qu'aux instructions de multiplication et de division). :wink:
6502man a écrit :Ca existe sous windows il y en a plusieurs émulateurs 8051/80xx qui te permettent d'injecter un binaire ou HEX :lol:

J'avais déjà donné des liens notamment WICE pour ne faire que du désassemblage :wink:
Ah, oui, c'est pas Atmel Studio que tu m'avais conseillé, c'est ton truc que je voulais essayer.
Daniel a écrit :Dans un dump de programme en langage machine, il n'y a pas que des instructions exécutables. Il y a aussi des données. Quand on désassemble, il faut localiser ces blocs de données et ne pas chercher à les interpréter comme des instructions.

Pour étudier le contenu d'une ROM, l'outil le mieux adapté est un émulateur. Il permet non seulement de désassembler le code, mais aussi de l'exécuter pas à pas, ou avec des points d'arrêt. C'est le meilleur moyen pour comprendre le programme.
Oui, j'y ai été attentif, et j'ai fait en sorte de cerner les blocs contenant du code, notamment en lisant la Rom dans l'ordre que le processeur doit suivre, mais comme le code n'a pas un offset régulier et que lu sur huit bits, il représente 255 possibilités, presque tout est susceptible de représenter du code valide, et la moindre erreur se répand sur la suite de la lecture.

L'émulateur peut être une solution lorsque peu de composants externes entrent en jeu, mais ici, avec l'EF9345 et sa mémoire "partagée", dès que le programme en fera usage, ce qui est probable, le déroulement ne sera pas correct, non?

L'idée avec la Rom d'origine aurait été d'essayer "juste" de modifier la vitesse du port série, pour voir quelle vitesse maximum il pourrait atteindre sans toucher au reste du code. Comme il est câblé, on peut espérer qu'il fasse usage du mode hard avec interruptions qu'il permet, et la relative facilité de modification de la vitesse.


Pour ce qui est de mon programme sur flash (M29F002BNB), le chip que j'ai semble assez pointilleux concernant les signaux, et je ne parviens pas à y écrire dans un montage à deux boutons (alim+/E+/G, et /W), ou alors, c'est qu'il me faut de vraies bascules, au lieu de simples contacts, c'était bien plus facile avec l'EEProm. :evil: :cry:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Avatar du membre
6502man
Messages : 8512
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par 6502man » 02 sept. 2015 22:45

Papy.G a écrit :L'émulateur peut être une solution lorsque peu de composants externes entrent en jeu, mais ici, avec l'EF9345 et sa mémoire "partagée", dès que le programme en fera usage, ce qui est probable, le déroulement ne sera pas correct, non?
Pour une simulation ca seras transparent, tu auras juste des appels à des routines systèmes et des lectures/écritures de zones RAM partagées :wink:
Mais si tu parle d'émulation effectivement il faut un émulateur spécifique qui gère l'EF9345 !

ca n’empêche pas de désassembler le programme!!!

Le dump est disponible quelques part ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
Papy.G
Modérateur
Messages : 1651
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Papy.G » 02 sept. 2015 23:05

Si déjà on peut décoder le programme sans erreurs, ce sera énorme.

Oui, le dump est encore chez irios. ;)

Faut que je résolve mon problème de connexion à internet avec Win XP, car il me faut obligatoirement utiliser cette version, quelle que soit ma solution matérielle (ma partoche bootcamp n'accède plus, ni mon mini-PC, tous deux sous XP).

Pour ton Telic ABCDE, j'ai regardé par les trous dessous l'autre jour, il semble que l'Eprom est soudée sur la carte, contrairement à ce que montraient les photos d'un prototype postées par Carl ou JM... :?
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Avatar du membre
6502man
Messages : 8512
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par 6502man » 03 sept. 2015 12:20

Alors j'ai regarde rapidement le binaire

J'ai désassemblé le dump mais ce n'est pas optimisé donc pas exploitable le plus pratique et le plus simple est d'utiliser SIM51 c'est un programme allemand en mode console, mais il fonctionne sous Windows au moins jusqu'a Vista mais il devrait fonctionner aussi sous Seven et ++

Tu importe ton binaire et tu fait du pas à pas, mais attention tu à des appels hors de la zone du binaire ( est ce que cela correspond au EF9345 ou un autre périphérique ? ), et dans ce cas tu saut à ligne suivante évidement :lol:

En déroulant en pas à pas ca pourrais t'aider tu peux même désassemblé vers un fichier texte chaque partie pour reconstituer l'ensemble clairement listable et même réinjecter le code désassemblé dans un simulateur 8051/8052 :lol: :wink:

Je le met ICI :
SIM51D_BASIC.zip
(96.95 Kio) Téléchargé 49 fois
Il est très simple d'emploi c'est la version shareware mais tu peux l'utiliser sans problèmes, je n'ai pas rencontré de limitations :wink:

Si tu as besoin d'aide sur ce programme fait moi signes :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
Papy.G
Modérateur
Messages : 1651
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Papy.G » 04 sept. 2015 23:28

Oui, c'est ce que je craignais: le code a dû être écrit à la main, et le désassembleur ne retrouve pas l'organisation du truc, probablement trop anarchique dans la structure.
Il doit même y avoir des zones occupées par des octets aléatoires, car le minitel 2 ,avec le DRCS et la gestion d'un répertoire téléphonique en plus, arrive à se contenter de 8Ko de Rom.

Attention, le 8052 est Harvard, le même espace d'adressage sert à la Rom et à la Ram, uniquement différenciés par les mnémoniques, et matériellement, par des lignes d'activation différentes, il n'y a pas de MovC hors des premiers 16Ko d'adressage? (la ligne A13 est câblée sur le support d'Eprom)
Dans l'espace Ram le bit A14 active la lecture du clavier comme indiqué ici, et deux posts plus bas, le bit A15, lui, est directement câblé au CE du 9345 à travers la carte-fille Rom.

Pour ce qui est de l'aide, pour l'instant, c'est surtout pour installer un PC que j'en chie, mais je devrais y arriver! :twisted:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Avatar du membre
Papy.G
Modérateur
Messages : 1651
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Papy.G » 04 déc. 2015 14:47

Nouveau up, début de référencement des minitels.

J'ai refait mon "programmateur", avec des vraies bascules pour les signaux (/CE, /R, /W), je suis dans la mayrde car mon support adaptateur PLCC/DIP a des contacts tout pourris (chromés! :evil: ), je suis dans l'incapacité actuelle d'écrire/lire sur ma flash.
J'ai déjà essayé de nettoyer les contacts de part et d'autre à l'éthanol, si je met en place le composant et que je bombe de WD40 (j'ai pas de bombe contact sous la main), il y a des chances que j'obtienne quelque chose? (je veux pas graisser le truc si ça sert à rien)
C'est trop bête de ramer comme un bagnard pour un truc comme ça, je vais voir chez mon fournisseur à quoi ressemble ses supports de PLCC à souder sur CI, et j'y mettrais des pattes moi-même.
Sinon, je me demandais si c'était jouable de programmer dans une SRAM, auquel cas, il faudrait que je me fasse un panneau de programmation un peu plus ergonomique que l'actuel.
Ou alors, si je met un quartz plus lent au 8052, il y a peut-être des chances que je puisse lui faire exécuter du code depuis mon EEprom? :mrgreen:

J'ai pu étudier deux nouveaux modèles et voilà le début d'une base de données:
Minitel Telic Alcatel (ABCD beige): 8039+rom (sur support parfois) DIP24 jusqu'à 4Ko, EF9340+1kx16bits, +256x4 bits sauvegardé par batterie, deux 6850.
Minitel Matra retournable (probablement idem Telic Alcatel M1 retournable): 8051+ emplacement Rom DIP24 jusqu'à 4Ko, EF9340+1kx16bits, +1kx4 bits sauvegardé par batterie, un 6850.
Minitel Matra bistandard (idem Telic Alcatel M1B): 8052+ brochage bus système, EF9345+8Ko.
Minitel M1B Telic-Alcatel (Cu5, à vérifier si c'est une exception): 8032+ carte fille Rom sur bus système avec support DIP28 jusqu'à 16Ko, EF9345+8Ko.
Minitel 2 RTIC: 8032+ support DIP40 bus système ou Eprom, EF9347+8Ko.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Avatar du membre
6502man
Messages : 8512
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par 6502man » 04 déc. 2015 15:51

Très bonne idée le recensement des modèles de Minitels :D
par contre tu devrais ouvrir un nouveau topic pour ca car ca va être noyé dans ce Topic :roll:

Sinon tu pourrais rajouter les numéros de séries des Minitel car peut être selon les séries le hardware peut changer ???
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
Papy.G
Modérateur
Messages : 1651
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Papy.G » 14 déc. 2015 11:23

Pour le recensement, et surtout le retro-engineering et les photos, j'aurais besoin d'aide, car je ne possèderais jamais tous les minitels possibles. :P
Je vais demander les droits d'édition pour reformuler le premier post, faire une sorte de sommaire, et mettre les différents liens, il y a déjà trop de sujets à ce propos où l'information est dispersée. :|

Malheureusement, je crains que les numéros de série ne seront pas d'une grande aide car les appareils ont été réparés, reconditionnés, et parfois, les pièces mélangées en atelier, ainsi, j'en ai un avec des composants de 86, une révision de carte-mère pas ultime, mais un moulage face de 88, une partie arrière de 98, et un rebadgeage FT de la même époque. :cry:
Bon, c'est le pire de tous, et les beiges récupérés dernièrement ne semblent pas avoir été ouverts depuis leur sortie d'usine. :)
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Gadje
Messages : 9
Enregistré le : 11 déc. 2015 13:15
Localisation : Bannalec

Re: Minitel dé-programmation d'obsolescence et reprogrammation

Message par Gadje » 17 déc. 2015 20:38

Salut la communauté,
je viens de trouver cette annonce pour un minitel 5 sur LBC.
J'en ai déjà 2, un de chaque, donc si ça peut intéresser quelqu'un.
J'ai demandé au vendeur combien il en demandait, 20€.

http://www.leboncoin.fr/informatique/898328972.htm

@+

Répondre