Re: Minitel dé-programmation d'obsolescence et reprogrammation
Publié : 15 août 2015 18:25
Tu peux nous en dire plus sur cet équipement ?
Forum des collectionneurs et utilisateurs d'ordinateurs anciens
http://forum.system-cfg.com/
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).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.
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.
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.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.
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.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).
Ah, oui, c'est pas Atmel Studio que tu m'avais conseillé, c'est ton truc que je voulais essayer.6502man a écrit :Ca existe sous windows il y en a plusieurs émulateurs 8051/80xx qui te permettent d'injecter un binaire ou HEX
J'avais déjà donné des liens notamment WICE pour ne faire que du désassemblage
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.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.
Pour une simulation ca seras transparent, tu auras juste des appels à des routines systèmes et des lectures/écritures de zones RAM partagéesPapy.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?