Dump de la rom IO_CPU

Tout sur le micro français le plus ambitieux mais si malchanceux

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Dump de la rom IO_CPU

Message par gilles » 25 juin 2009 14:03

J'ai trouvé qq part sur le net (un forum yahoo a priori), une méthode interessante pour dumper une rom TMS7041. Or cette petite chose m'interesse pour avancer mon emu exl100 (sur lequel je retravaille depuis qqs semaines).

La methode serait "assez" simple:
_ booter en mode ROM externe
_ implanter un programme en RAM interne (256octets registres+pile)
_ passer en mode microcontroleur (ROM interne)
_ recopier en ram interne une partie de la ROM interne
_ revenir en mode ROM

Il n'est théoriquement pas possible de passer d'un mode microprocesseur à l'autre mais le fait de faire résider le programme en RAM interne au moment du basculement serait la clef.

pour le moment il me manque du matériel pour réaliser ca mais autant partager l'info... (avec les 2 ou 3 personnes sur la surface de la terre que cela interesse)

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 25 juin 2009 14:06

Je pensais effectivement qu'il y avait quelque chose à faire avec les différents mode du TMS7000... c'est une bonne nouvelle.
La méthode semble quand même assez technique et demande une plateforme développée juste pour l'occasion, je ne sais pas si la carte mère d'un exl100 peut supporter ce genre de changement de mode ???

Je suis prêt à sacrifier un Exl100 (en forme moyenne) pour l'occasion, mais il faut que le projet soit viable. Nous sommes un peu éloigné malheureusement.

Par contre il existe déjà un émulateur fonctionnel à 95% et qui attend un dump de la ROM du TMS7041: http://dcexel.free.fr/

Si Fabrice ou Daniel, qui sont géographiquement plus proches, ont les compétences pour tenter l'opération, je veux bien fournir le macabé !

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Message par gilles » 25 juin 2009 14:17

jester a écrit :Je pensais effectivement qu'il y avait quelque chose à faire avec les différents mode du TMS7000... c'est une bonne nouvelle.

Par contre il existe déjà un émulateur fonctionnel à 95% et qui attend un dump de la ROM du TMS7041: http://dcexel.free.fr/
Je regrette d'avoir du arrêter mon projet alors que les documents étaient enfin dispo... Ceci étant, je ne lancerai l'emulateur de Daniel que lorsque le mien commencera à faire tourner de choses.
Du reste, l'émulation de haut niveau est normalement suffisante pour le 7041 sauf qu'il me manque les codes retournés pour l'affichage du papillon... mais c'est un détail, et je peux aussi obtenir ces codes directement sur la bête.

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 25 juin 2009 14:28

Par émulation de "haut niveau" tu veux dire quoi ? émuler les fonctionnalités sans chercher à exécuter la ROM.... si c'est cela ça marche justement très mal et la ROM du 7041 contient tous les secrets de synchronisation des periphs et de la comm avec le 7020.
Bref, c'est la qu'est l'os !

Mais ton info risque fort d'être utile... même si la mise en application réclame un circuit imprimé complet pour permettre au programme en RAM interne de communiquer le contenu de la ROM recopié... en considérant que le changement de mode soit possible sans claquer le processeur :roll:

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Message par gilles » 25 juin 2009 14:47

jester a écrit :Par émulation de "haut niveau" tu veux dire quoi ? émuler les fonctionnalités sans chercher à exécuter la ROM.... si c'est cela ça marche justement très mal et la ROM du 7041 contient tous les secrets de synchronisation des periphs et de la comm avec le 7020.
Bref, c'est la qu'est l'os !
l'erreur qui est souvent faite lorsqu'on émule ce genre de composant est d'oublier de prendre en compte le temps de réaction.
Ajouter des temporisation permet de prendre en compte des OS buggés (ex des Unix sur lisa)
Par contre il est clair que les temporisations seront plus par déduction et tatonnement que précis.
jester a écrit : Mais ton info risque fort d'être utile... même si la mise en application réclame un circuit imprimé complet pour permettre au programme en RAM interne de communiquer le contenu de la ROM recopié... en considérant que le changement de mode soit possible sans claquer le processeur :roll:
je ne pense pas que l'on puisse les claquer, par contre le risque est que les 7041 exelvision ne puissent pas passer en mode microprocesseur puisqu'il existe une partie customisable du masque sur ces procs. Tant que personne n'a tenté la manip cela reste une piste. mais c'est clair qu'un dump de cette rom simplifie la conception d'un emulateur, meme s'il ne s'agit que d'analyser puis faire une émulation fonctionnelle

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 25 juin 2009 15:02

Et bien je ne peux que te souhaiter bon courage.
En espérant que les résultats sur un émulateur permettront d'améliorer l'autre, et vice et versa.

Et attention les TMS7000 ne sont pas cadencés en interne à 4.91Mhz, mais à la moitié, soit 2,455Mhz. Cette découverte avait bien amusé tout le monde... et corrigé plein de bugs d'un coup :lol:

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Message par gilles » 25 juin 2009 16:08

jester a écrit :Et bien je ne peux que te souhaiter bon courage.
En espérant que les résultats sur un émulateur permettront d'améliorer l'autre, et vice et versa.

Et attention les TMS7000 ne sont pas cadencés en interne à 4.91Mhz, mais à la moitié, soit 2,455Mhz. Cette découverte avait bien amusé tout le monde... et corrigé plein de bugs d'un coup :lol:
l'info est interessante, pour l'émulation des K7 par exemple... mais je n'en suis pas encore là.
pour le moment c'est le TMS3556 qui m'interesse le plus...

Avatar de l’utilisateur
yvesffr
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2039
Inscription : 03 juin 2002 22:07
Localisation : 77
Contact :

Re: Dump de la rom IO_CPU

Message par yvesffr » 25 juin 2009 17:24

gilles a écrit :
pour le moment il me manque du matériel pour réaliser ca mais autant partager l'info... (avec les 2 ou 3 personnes sur la surface de la terre que cela interesse)
Qu'est ce qu'il te manque ? Je peux peut être te prêter ce qu'il te faut...


Yves
"Je vous aime" (© Pocket 1969)
"et moi je suis la vierge marie" (© Stamba 2009)
"Resistance is futile (if < 1 Ohm)"
"Un velux est un linux portugais"
"j'en vois encore un bout, yves" (© 2010 SbM)
"In minitel we trust" - Silicium

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Re: Dump de la rom IO_CPU

Message par gilles » 25 juin 2009 22:29

yvesffr a écrit :
gilles a écrit :
pour le moment il me manque du matériel pour réaliser ca mais autant partager l'info... (avec les 2 ou 3 personnes sur la surface de la terre que cela interesse)
Qu'est ce qu'il te manque ? Je peux peut être te prêter ce qu'il te faut...


Yves
j'imagine qu'en version oldschool il va falloir commencer par sortir la bete de l'excel. puis alimenter le tout, fournir les horloge, mettre une EPROM, un peu de SRAM (pas certain), probablement faire du décodage d'adresse (avec une PAL ?) et trouver un moyen de communiquer vers l'exterieur ensuite...
en version plus moderne... une carte de dev FPGA et quelques lignes de VHDL devraient etre plus efficaces... mais il faudra sortir la bete de l'exl quand meme... idéalement une épave d'exl serait bien (les 2 miens fonctionnent bien...)

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10283
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 25 juin 2009 22:44

J'ai également réfléchi au moyen de faire basculer le 7041 du mode single chip en mode microprocesseur en déroutant la programmation d'usine.
En Théorie, cela ne semble pas compliqué car il faut jouer avec le mode contol et les deux bits de poids fort ( 6 & 7 ) du registre de contrôle E/S. Mais je doute que l'on puisse faire cela à chaud sans provoquer un crash ou un reset du système ...
L'idéal me semble de désolidariser le 7041 du micro ordinateur et de l'installer sur une carte de développement. Nous pourrions aussi dumper la ROM sans soucis.

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Message par gilles » 25 juin 2009 23:01

Fabrice Montupet a écrit :J'ai également réfléchi au moyen de faire basculer le 7041 du mode single chip en mode microprocesseur en déroutant la programmation d'usine.
En Théorie, cela ne semble pas compliqué car il faut jouer avec le mode contol et les deux bits de poids fort ( 6 & 7 ) du registre de contrôle E/S. Mais je doute que l'on puisse faire cela à chaud sans provoquer un crash ou un reset du système ...
L'idéal me semble de désolidariser le 7041 du micro ordinateur et de l'installer sur une carte de développement. Nous pourrions aussi dumper la ROM sans soucis.
l'astuce serait d'avoir le programme qui tourne sur les 128 octets de pile/registre pendant l'opération. Je n'ai pas testé, mais un type l'a visiblement fait pour dumper la rom d'un 70xx d'une extension vocale pour un tandy (coco?) basé sur un SPO256.
Information au "très conditionnel" donc...

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10283
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 26 juin 2009 00:23

Cette manière m'intrigue et me laisse dubitatif... As-tu un lien vers le message de cette personne?

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2727
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Message par gilles » 26 juin 2009 10:32

Fabrice Montupet a écrit :Cette manière m'intrigue et me laisse dubitatif... As-tu un lien vers le message de cette personne?
pour le moment je ne retrouve pas la page... je l'ai probablement bookmarquée sur un PC quelque part...
Il s'agissait de l'émulation du speech pack tandy, le soit disant PIC7040 se révele être un TMS7040 d'après ce forum et le type aurait dumpé la ROM tandy par cette méthode.

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 26 juin 2009 11:00

ça demande quand même un gros développement pour se construire une carte dédiée à l'extraction de la ROM (par partie en plus, je suppose que le programme en RAM recopie au max 128octets, qu'il transfert à l'extérieur sur un port dédié).
Le support pourra être utilisé pour le 7041 (Exl100) et le 7042(Exeltel).

Je n'ai aucune compétence sur ce genre d'outil, je laisse les spécialistes juger de la faisabilité (c'est à dire en moins de 10ans).

Par contre je ne pense pas que cela implique le sacrifice d'un Exl, si tout se passe bien le puce pourra être ressoudée dans la machine d'origine. par contre trouver quelqu'un prêt à risquer son exeltel... OUlalalala !

Tu parlais aussi du VDP3556 sur lequel tu souhaitais te concentrer. Daniel a déjà émulé le chip, et je pense qu'il vaut mieux faire du "Best Effort" et ne pas réinventer la roue... à moins que tu possèdes des docs supplémentaires qui éclairent les zones d'ombre de ce contrôleur video que même TI semble avoir totalement oublié.

D'autre part, si tu es un pro du FPGA, le truc super hyper utile que beaucoup rêve de posséder (bien plus qu'un autre émulateur): une extension autonome d'exeldisk+exelmémoire virtuelle à connecter sur un vrai EXl100/Exeltel, et contrôlable via un PC !!!
Les fans d'exelvision me semblent plus demandeur de d'extension FPGA que d'émulation. Mais je dis ça, je dis rien... chacun fait ce qu'il lui plait, je ne suis pas la pour juger :wink:

Avatar de l’utilisateur
yvesffr
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2039
Inscription : 03 juin 2002 22:07
Localisation : 77
Contact :

Message par yvesffr » 26 juin 2009 11:23

jester a écrit :
Tu parlais aussi du VDP3556 sur lequel tu souhaitais te concentrer. Daniel a déjà émulé le chip, et je pense qu'il vaut mieux faire du "Best Effort" et ne pas réinventer la roue...
Les sources sont dispos ?
"Je vous aime" (© Pocket 1969)
"et moi je suis la vierge marie" (© Stamba 2009)
"Resistance is futile (if < 1 Ohm)"
"Un velux est un linux portugais"
"j'en vois encore un bout, yves" (© 2010 SbM)
"In minitel we trust" - Silicium

Répondre

Revenir vers « Exelvision »