Dump de la rom IO_CPU
Modérateur : Politburo
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
Dump de la rom IO_CPU
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)
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)
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é !
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é !
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
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.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/
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.
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
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
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
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.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 !
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.
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 fonctionnellejester 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
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
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
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
l'info est interessante, pour l'émulation des K7 par exemple... mais je n'en suis pas encore là.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
pour le moment c'est le TMS3556 qui m'interesse le plus...
- yvesffr
- Fonctionne à 2400 bauds
- Messages : 2127
- Enregistré le : 03 juin 2002 22:07
- Localisation : 77
- Contact :
Re: Dump de la rom IO_CPU
Qu'est ce qu'il te manque ? Je peux peut être te prêter ce qu'il te faut...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)
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
"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
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
Re: Dump de la rom IO_CPU
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...yvesffr a écrit :Qu'est ce qu'il te manque ? Je peux peut être te prêter ce qu'il te faut...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)
Yves
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...)
- Fabrice Montupet
- Administrateur
- Messages : 11106
- Enregistré le : 17 mai 2002 11:39
- Localisation : Nevers - France
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.
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.
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
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.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.
Information au "très conditionnel" donc...
- Fabrice Montupet
- Administrateur
- Messages : 11106
- Enregistré le : 17 mai 2002 11:39
- Localisation : Nevers - France
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
pour le moment je ne retrouve pas la page... je l'ai probablement bookmarquée sur un PC quelque part...Fabrice Montupet a écrit :Cette manière m'intrigue et me laisse dubitatif... As-tu un lien vers le message de cette personne?
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.
ç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
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
- yvesffr
- Fonctionne à 2400 bauds
- Messages : 2127
- Enregistré le : 03 juin 2002 22:07
- Localisation : 77
- Contact :
Les sources sont dispos ?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...
"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
"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