Emulateur
Modérateur : Politburo
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
Le TMS7000 est un CPU 8-bit monolithic et non un PAL (programmable logic array ou logique cablée programmable pour les non phylosophe)
Il contient un timer , 128 octets de memoire interne MAIS PAS DE ROM.
Il faut donc trouver l'equivalent opcode->binaire/hexa
par exemple :
ADD R3,R4 se code 48 03 04 en hexa ou 43 est l'instruction ADD reg,reg
ADD R3,A se code 18 03 en hexa ou 18 est l'instruction ADD reg,A
Un exemple de programme TMS7000 :
ECRIT MOV ATT,A ; Charge A dans de registre ATT
MWDP A ; Ecrit la valeur contenue dans le registre A
MOV CAR,A ; Charge A dans le registre CAR
MWDP A ; Ecrit la valeur contenue dans le registre A
RETS ; Return from subroutine
Un truc très important :
STSP ; Stoque pe pointeur d'instruction dans le deuxiéme des 128 registres.
Le CPU a trois registres propre :
- SP (Stack Pointer / reigstre de pile)
- ST (Status Register)
- PC (Program Counter -> Le registre d'instruction)
C'est toujours unpeu pareille l'assembleur , qu'on passe du x86 au tms7000 c'est la même logique , sauf que là c'est certainement plus simple a emuler car moins de registres et pas de ROM interne à la différence des CPU que nous utilisons sur nos PC.
Il contient un timer , 128 octets de memoire interne MAIS PAS DE ROM.
Il faut donc trouver l'equivalent opcode->binaire/hexa
par exemple :
ADD R3,R4 se code 48 03 04 en hexa ou 43 est l'instruction ADD reg,reg
ADD R3,A se code 18 03 en hexa ou 18 est l'instruction ADD reg,A
Un exemple de programme TMS7000 :
ECRIT MOV ATT,A ; Charge A dans de registre ATT
MWDP A ; Ecrit la valeur contenue dans le registre A
MOV CAR,A ; Charge A dans le registre CAR
MWDP A ; Ecrit la valeur contenue dans le registre A
RETS ; Return from subroutine
Un truc très important :
STSP ; Stoque pe pointeur d'instruction dans le deuxiéme des 128 registres.
Le CPU a trois registres propre :
- SP (Stack Pointer / reigstre de pile)
- ST (Status Register)
- PC (Program Counter -> Le registre d'instruction)
C'est toujours unpeu pareille l'assembleur , qu'on passe du x86 au tms7000 c'est la même logique , sauf que là c'est certainement plus simple a emuler car moins de registres et pas de ROM interne à la différence des CPU que nous utilisons sur nos PC.
- Fabrice Montupet
- Administrateur
- Messages : 11105
- Enregistré le : 17 mai 2002 11:39
- Localisation : Nevers - France
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
> sauf que tu doit emuler plus que le tms7000 mais aussi un reseau logic > de ti les fameux tal present aussi dans le ti 99/4a QI
Bonjour jean louis, Oui , effectivement , mais comme je ne sais pas encore comment on écrit un emulateur je commence pas à pas , donc par le tms7000.
J'ai récupéré des docs sur le tms7000 , j'ai tous les opcodes avec correspondances hexa , et ca , c'est déja bien.
Finalement , au plus j'y pense ,au moins nous avons besoins d'exelmax , puisque c'est possible de programmer sur PC et de transferer sur exeltel.
Pour en revenir a nos moutons , je ne connais rien à l'émulation , mais je ne comprend pas pourquoi le TL004 doit être émulé.
J'ai donc quelques questions qui peuvent interresser tout le monde :
- Ce n'est pas écrit TMS7040 et TMS7042 mais L34003NL-4 QCU8631 (1081) et PC34900NL-4 QDW8640 2656 pourquoi ?
- A-t-on de la documentation technique sur chacun des composants (si oui pourquoi ne les regroupons-nous pas sur 'l'exelent site de fabrice" ? (Ou est la doc du TAHC06 ?
- Peut-on expliquer simplement comment fonctionne un emulateur ; Admetons que le CPU soit émulé , comment dialogue-t-il avec le reste du materiel , doit-t-on emuler toute la carte mere avec tous ses composants (c'est unpeu floue pour moi).
- quelqu'on a-til extrait la ROM "EXELTEL 1.4" avec un lecteur d'eprom ?.
Bref , je suis optimiste sur la faisabilitée d'un émulateur et sur la programmation assembleur sur TSM7000 (je suis toujours acheteur pour l'exelmax .
Bonjour jean louis, Oui , effectivement , mais comme je ne sais pas encore comment on écrit un emulateur je commence pas à pas , donc par le tms7000.
J'ai récupéré des docs sur le tms7000 , j'ai tous les opcodes avec correspondances hexa , et ca , c'est déja bien.
Finalement , au plus j'y pense ,au moins nous avons besoins d'exelmax , puisque c'est possible de programmer sur PC et de transferer sur exeltel.
Pour en revenir a nos moutons , je ne connais rien à l'émulation , mais je ne comprend pas pourquoi le TL004 doit être émulé.
J'ai donc quelques questions qui peuvent interresser tout le monde :
- Ce n'est pas écrit TMS7040 et TMS7042 mais L34003NL-4 QCU8631 (1081) et PC34900NL-4 QDW8640 2656 pourquoi ?
- A-t-on de la documentation technique sur chacun des composants (si oui pourquoi ne les regroupons-nous pas sur 'l'exelent site de fabrice" ? (Ou est la doc du TAHC06 ?
- Peut-on expliquer simplement comment fonctionne un emulateur ; Admetons que le CPU soit émulé , comment dialogue-t-il avec le reste du materiel , doit-t-on emuler toute la carte mere avec tous ses composants (c'est unpeu floue pour moi).
- quelqu'on a-til extrait la ROM "EXELTEL 1.4" avec un lecteur d'eprom ?.
Bref , je suis optimiste sur la faisabilitée d'un émulateur et sur la programmation assembleur sur TSM7000 (je suis toujours acheteur pour l'exelmax .
- yvesffr
- Fonctionne à 2400 bauds
- Messages : 2127
- Enregistré le : 03 juin 2002 22:07
- Localisation : 77
- Contact :
Salut,gatesbillou a écrit : - Peut-on expliquer simplement comment fonctionne un emulateur ; Admetons que le CPU soit émulé , comment dialogue-t-il avec le reste du materiel , doit-t-on emuler toute la carte mere avec tous ses composants (c'est unpeu floue pour moi).
si ton CPU est émulé, il va écrire et lire en mémoire, mémoire qui est représentée dans l'émulateur par exemple par un ou plusieurs tableaux d'octets (dans le cas d'un "bankswitching")
Donc, il va te falloir savoir ce que font les composants de la machine quand tu accèdes à telle ou telle adresse, et savoir également si tel ou tel composant
a une "vie séparée" du CPU qui amène des changements d'états en mémoire et à l'écran sans que le CPU ait été sollicité...
EDIT: La réponse n'est pas complète.
Tu peux aussi choisir d'émuler chacun des composants de la carte mère (à la manière de MAME) et transmettre des "signaux" de chaque composant à chaque autres composants qui lui est relié (pour être hyper précis par rapport à la réalité) mais bon, est-ce bien nécessaire vu la masse de travail à fournir ?
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
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
Lien vers une discution sur un emulateur exel100 :
http://www.archivum.info/fr.comp.emulat ... 00253.html
Extrait : "Remarque : si un heureux possesseur d'EXL100 peut désassembler la rom,
il trouvera assez facilement comment sont structurés les blocs des
fichiers sur cassette."
extrait2:"Je crois qu'il y a déjà un émulateur TMS70x0 dans MESS, en revanche
il n'existe probablement rien pour la video et le son. Pour résumer ma
pensée : ça n'a pas été fait parce que c'est très difficile "
Pour resumer ma pensée : Impossible ? , PAS FRANCAIS !
http://www.archivum.info/fr.comp.emulat ... 00253.html
Extrait : "Remarque : si un heureux possesseur d'EXL100 peut désassembler la rom,
il trouvera assez facilement comment sont structurés les blocs des
fichiers sur cassette."
extrait2:"Je crois qu'il y a déjà un émulateur TMS70x0 dans MESS, en revanche
il n'existe probablement rien pour la video et le son. Pour résumer ma
pensée : ça n'a pas été fait parce que c'est très difficile "
Pour resumer ma pensée : Impossible ? , PAS FRANCAIS !
- yvesffr
- Fonctionne à 2400 bauds
- Messages : 2127
- Enregistré le : 03 juin 2002 22:07
- Localisation : 77
- Contact :
gatesbillou a écrit : Extrait : "Remarque : si un heureux possesseur d'EXL100 peut désassembler la rom,
il trouvera assez facilement comment sont structurés les blocs des
fichiers sur cassette."
Tu peux toujours dumper une cassette EXL100 et regarder le contenu
pour tenter connaitre son organisation, pas forcément besoin de désassembler la rom pour cette action.
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
-
- Fonctionne à 1200 bauds
- Messages : 637
- Enregistré le : 30 juil. 2004 21:47
- Localisation : Vendée
j'avais dumper voici dejas un bon moment la rom interne je doit avoir cela si cela peut te servir.gatesbillou a écrit :Lien vers une discution sur un emulateur exel100 :
http://www.archivum.info/fr.comp.emulat ... 00253.html
Extrait : "Remarque : si un heureux possesseur d'EXL100 peut désassembler la rom,
il trouvera assez facilement comment sont structurés les blocs des
fichiers sur cassette."
extrait2:"Je crois qu'il y a déjà un émulateur TMS70x0 dans MESS, en revanche
il n'existe probablement rien pour la video et le son. Pour résumer ma
pensée : ça n'a pas été fait parce que c'est très difficile "
Pour resumer ma pensée : Impossible ? , PAS FRANCAIS !
jl
jean louis ( humeur)
Chercheur en Texas instruments Ti 99/4a, jeux educatifs tm990 etc....
et Exelvision
Chercheur en Texas instruments Ti 99/4a, jeux educatifs tm990 etc....
et Exelvision
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
la premiere étape serait au moins d'avoir une copie de ceci:
"Manuel technique (organisation mémoire interne, usage synthèse vocale, traitement des interruptions, générateur de fréquence, mappage des differents chips mémoire, schéma électronique de la carte mère, listing assembleurs pour l'accès au bas niveau, tout les opcodes assembleurs et leurs cycles d'exécution, moniteur 7020, ...) "
ben, on dirait bien que c'est sur une page de m'sieur Montupet ca non?
(c'est pas moi qui l'dit... c'est google)...
"Manuel technique (organisation mémoire interne, usage synthèse vocale, traitement des interruptions, générateur de fréquence, mappage des differents chips mémoire, schéma électronique de la carte mère, listing assembleurs pour l'accès au bas niveau, tout les opcodes assembleurs et leurs cycles d'exécution, moniteur 7020, ...) "
ben, on dirait bien que c'est sur une page de m'sieur Montupet ca non?
(c'est pas moi qui l'dit... c'est google)...
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
D'exelvision ? Si tu veux, en effet, j'en ai un en rab.gilles a écrit :Emuler une machine qui n'a pas encore été émulée m'interesse également... au fait, tu ne devais pas m'en revendre un?jvernet a écrit :l'Exelvision n'est il pas proche du TI/99 ? Il existe bien un emulo de TI 99...
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Aha, on dirait que l'emulo EXL est en ébullition ! C'est cool, ça !
Je met mes modestes compétences à votre projet si vous partez ! En particulier, sur la build MacOsX (utilisez des trucs standards Unix/Win, genre SDL....).
Jerome
Je met mes modestes compétences à votre projet si vous partez ! En particulier, sur la build MacOsX (utilisez des trucs standards Unix/Win, genre SDL....).
Jerome
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."