Emulateur
Modérateur : Politburo
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
ca c'est ce que dit la doc. mais en désassemblant on tombe ensuite sur un JMP $00 qui n'a pas vraiment de sens (meme si c'est une instruction correcte).
Bon, sinon... le mystère du vecteur reset est résolu... c'est un affreux bug dans mon emulateur
Le vecteur de reset est en FEA0 et semble correct.
Environ 3/4 de la ROM du 7020 est maintenant commentée.
=> il faut maintenant emuler le 7041 ou au moins le simuler.
Bon, sinon... le mystère du vecteur reset est résolu... c'est un affreux bug dans mon emulateur
Le vecteur de reset est en FEA0 et semble correct.
Environ 3/4 de la ROM du 7020 est maintenant commentée.
=> il faut maintenant emuler le 7041 ou au moins le simuler.
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
la communication TMS7020 / TMS7041 est un peu complexe, pour le moment je tente une simulation assez proche de la machine (avec des valeurs de tempo hautement pifométriques...), mais si cela devient trop complexe la ROM 7020 sera patchée pour simplifier tout ca. de toute facon l'interruption est cablée en dur dans la ROM sans possibilité de rediriger vers un vecteur RAM (le début de l'interruption, la suite passe éventuellement par de la RAM) donc ce patch serait valide.
Pour le moment, seul l'évenement d'init du 7041 est émulé mais ca avance...
Pour le moment, seul l'évenement d'init du 7041 est émulé mais ca avance...
- 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 :
en gros il existe toute une mécanique utilisant 3 lignes (sur INT0, A0 et B1 vu du 7020) alors que le principe (pour une lecture) consiste a lancer une IRQ et à lire la mailbox. On peut donc neutraliser le code d'attente active sur A0 (en remplacant par NOP) et se syncroniser uniquement sur la lecture de la mailbox.
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
J'ai du mal a comprendre mais je te fais confiance
Ce que je comprend c'est que tu simplifi en synchronisant les 2 CPU sur l'IRQ (intterrupt ReQuest) de lecture de mailbox ...
A+
ps : Accessoirement , plus tard , il faudra expliquer comment tu a fait cet emulateur , ca sera une source immense de connaissance pour toute la communautée.
Ce que je comprend c'est que tu simplifi en synchronisant les 2 CPU sur l'IRQ (intterrupt ReQuest) de lecture de mailbox ...
A+
ps : Accessoirement , plus tard , il faudra expliquer comment tu a fait cet emulateur , ca sera une source immense de connaissance pour toute la communautée.
- gilles
- Fonctionne à 9600 bauds
- Messages : 3100
- Enregistré le : 17 avr. 2007 21:25
- Localisation : 44
- Contact :
Mon désassemblage commenté de la rom 7020 est déjà sur le site sourceforge (projet exl100).gatesbillou a écrit :
ps : Accessoirement , plus tard , il faudra expliquer comment tu a fait cet emulateur , ca sera une source immense de connaissance pour toute la communautée.
Dès qu'un bout de l'émulation écran commencera à tourner je mettrais les sources de l'ému en ligne.
Pour le moment l'emu passe bien sur la cartouche mais l'envoi de commandes vers le 7041 n'est pas implémenté... donc ca bloque.
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
Salut tout le monde et bonnes fêtes de fin d'année 2007 !
Bon , grace a jean louis alias "humeur" j'ai recupéré un superbe livre sur l'exel100 intitulé MAITRISEZ VOTRE EXEL100 dans lequel on parle assembleur tms7000
Le but du jeu etant de repuperer un maximum de doc et d'infos puis de les faire partager avec vous tous , voici (en attendant le scan complet) un extrait utile pour notre emulateur et pour notre bonheur :
Annexe 6 page 138 titre "Adresse importantes de l'exel 100"
C000 BRJOY0 : Vecteur d'interruption joystick 0
C002 BRJOY1 : Vecteur d'interruption joystick 1
C004 BRTIME : Vecteur d'interruption timer
C006 BRLANC : Adresse de lancement progamme
C009 BRTRAP : Adresse de traitement TRAP 23
C00C BRINT3 : Traitement interruption 3
C00F SEED : Pseudo aleatoire
C01B TEPNAM : Nom de fichier cassette
C01F TEMADR : Adresse Fichier cassette
C024 TEPCHK : Checksum fichier cassette
C02A SAVTMP : Début zone temporaire
C03B FINSAV : Fin zone libre
C0BB FINTAB : Fin table speech
C101 HTRAM : Début programme Basib en RAM
C103 BAPPA : Adresse écran
C105 GENE2 : Adresse générateur BACC3
C106 OLDKE3 : Dernier code joystick 1
C108 RAMPTR : Pointeur CMOS RAM pour save et load
C109 TAPIND : Flag cassette
C10A MASQ2 : MLasque interface centronics
C10C HRIND : Flag haute résolution
C129 ROMHED : Pointeur en ROM programme principal
C12B ROMSUB : Pointeur en ROM sous-programme
C12D LININC : Increment en mode NUMBER
C131 ADDRAM : Indicateur de module RAM
C133 DSPPTR : Pointeur "print display"
C138 OLDDEL : Delai de répétition
C139 OLDKEY : Dernier code recu clavier/joystick1
C13A INDIC1 : Flags divers pour CALL COLOR
C13B INDIC2 : Flags DEG,RAD,GRAD,SHIFT,CTL,FNCT
C18D KBINPT : Buffer d'entrée clavier
C1A5 IOROLL : Zone de travail entrées/sorites
C1A7 RND16B : 8 bits pour géné.aléatoire
C1A9 RAMSUB : Pointeur sous-programme en RAM
C1AB DATAPT : Pointeur DATA
C1AD DATANL : Pointeur prochaine ligne DATA
C1AF DATAST : Début de segment pour RESTAORE
C1B1 CURLIN : Pointeur ligne courante
C1B3 STOPLN : Ligne de stop LIST
C1C7 PARNST : Niveau de paramenthèse
C1C8 EQCNT : Compteur signe =
C1C8? CNSBUF : Buffer conversion nombre - chaine
C1CA NLPTR : Pointeur prochaine ligne
C1D2 RNDVAL1 : Valeur aléatoire flottante
C1DA RNDVL2 : Valeur aléatoire flottante
C1DE CURSTM : Pointeur instruction courante
C1E0 FNCPTR : Pointeur table touchesde fonction
C1E2 CURSYM : Adresse table courante des symboles
C1E5 IMPSYM : Pointeur table des symboles mode direct
C1E7 FRELNK : Pointeur 1 er zone libre en RAM
C1E9 ASNSTR : Pointeur touches synonymes
C1EB FPBASE : Adresse de base pile point flottant
C1ED DYNBAS : Adresse fin programme Basic en RAM
C1FA STKEND : Fin de pile sous-programme assembleur
C1FB ONWARN : Flag de ON WARNING
C1FD ONSYMB : Table de gestion ON ERROR
C1FF ONERR : Pointeur gestion on error
C277 CBUF : Buffer ligne a coder
C293 FFRSYM : 1er position libre table des symboles
C295 COLON : Colonne écran
C296 LINE : !ligne ecran
C297 FFRMST : Table des symboles principals
C299 CARCOL : Couleur caractères
C29A BORCOL : Couleur du pourtour
C29B COLPRI : Attribut VDP
C300 SYSEND : Fin zone réservée au système
Bon , je scan ce que j'ai promis , dès que les fêtes sont passées.A+
Bon , grace a jean louis alias "humeur" j'ai recupéré un superbe livre sur l'exel100 intitulé MAITRISEZ VOTRE EXEL100 dans lequel on parle assembleur tms7000
Le but du jeu etant de repuperer un maximum de doc et d'infos puis de les faire partager avec vous tous , voici (en attendant le scan complet) un extrait utile pour notre emulateur et pour notre bonheur :
Annexe 6 page 138 titre "Adresse importantes de l'exel 100"
C000 BRJOY0 : Vecteur d'interruption joystick 0
C002 BRJOY1 : Vecteur d'interruption joystick 1
C004 BRTIME : Vecteur d'interruption timer
C006 BRLANC : Adresse de lancement progamme
C009 BRTRAP : Adresse de traitement TRAP 23
C00C BRINT3 : Traitement interruption 3
C00F SEED : Pseudo aleatoire
C01B TEPNAM : Nom de fichier cassette
C01F TEMADR : Adresse Fichier cassette
C024 TEPCHK : Checksum fichier cassette
C02A SAVTMP : Début zone temporaire
C03B FINSAV : Fin zone libre
C0BB FINTAB : Fin table speech
C101 HTRAM : Début programme Basib en RAM
C103 BAPPA : Adresse écran
C105 GENE2 : Adresse générateur BACC3
C106 OLDKE3 : Dernier code joystick 1
C108 RAMPTR : Pointeur CMOS RAM pour save et load
C109 TAPIND : Flag cassette
C10A MASQ2 : MLasque interface centronics
C10C HRIND : Flag haute résolution
C129 ROMHED : Pointeur en ROM programme principal
C12B ROMSUB : Pointeur en ROM sous-programme
C12D LININC : Increment en mode NUMBER
C131 ADDRAM : Indicateur de module RAM
C133 DSPPTR : Pointeur "print display"
C138 OLDDEL : Delai de répétition
C139 OLDKEY : Dernier code recu clavier/joystick1
C13A INDIC1 : Flags divers pour CALL COLOR
C13B INDIC2 : Flags DEG,RAD,GRAD,SHIFT,CTL,FNCT
C18D KBINPT : Buffer d'entrée clavier
C1A5 IOROLL : Zone de travail entrées/sorites
C1A7 RND16B : 8 bits pour géné.aléatoire
C1A9 RAMSUB : Pointeur sous-programme en RAM
C1AB DATAPT : Pointeur DATA
C1AD DATANL : Pointeur prochaine ligne DATA
C1AF DATAST : Début de segment pour RESTAORE
C1B1 CURLIN : Pointeur ligne courante
C1B3 STOPLN : Ligne de stop LIST
C1C7 PARNST : Niveau de paramenthèse
C1C8 EQCNT : Compteur signe =
C1C8? CNSBUF : Buffer conversion nombre - chaine
C1CA NLPTR : Pointeur prochaine ligne
C1D2 RNDVAL1 : Valeur aléatoire flottante
C1DA RNDVL2 : Valeur aléatoire flottante
C1DE CURSTM : Pointeur instruction courante
C1E0 FNCPTR : Pointeur table touchesde fonction
C1E2 CURSYM : Adresse table courante des symboles
C1E5 IMPSYM : Pointeur table des symboles mode direct
C1E7 FRELNK : Pointeur 1 er zone libre en RAM
C1E9 ASNSTR : Pointeur touches synonymes
C1EB FPBASE : Adresse de base pile point flottant
C1ED DYNBAS : Adresse fin programme Basic en RAM
C1FA STKEND : Fin de pile sous-programme assembleur
C1FB ONWARN : Flag de ON WARNING
C1FD ONSYMB : Table de gestion ON ERROR
C1FF ONERR : Pointeur gestion on error
C277 CBUF : Buffer ligne a coder
C293 FFRSYM : 1er position libre table des symboles
C295 COLON : Colonne écran
C296 LINE : !ligne ecran
C297 FFRMST : Table des symboles principals
C299 CARCOL : Couleur caractères
C29A BORCOL : Couleur du pourtour
C29B COLPRI : Attribut VDP
C300 SYSEND : Fin zone réservée au système
Bon , je scan ce que j'ai promis , dès que les fêtes sont passées.A+
- happyleptic
- Fonctionne à 75 bauds
- Messages : 5
- Enregistré le : 21 févr. 2008 09:41
- Localisation : grenoble
émulateur
Hello,
Je suis un coder, motivé pour faire cet émulateur. Je connais un peu l'électronique, j'ai déjà collaboré à un émulateur 68000, je touche pas mal en assembleur; et j'ai un gros tas de roms à la maison.
Je découvre donc sur le tard ce forum avec toutes les infos déjà super précieuses postées ici... merci à tous ceux qui ont posté ces infos...
et donc, deux possibilités : soit il y a encore des gens qui travaillent activement là dessus, et je serais ravi de rajouter mes forces au projet. Soit c'est tout mort, et je vais voir si je peux reprendre le projet existant ou refaire un truc de zéro avec l'expérience du premier projet. En gros : coucou, y'a kunkun?
Je suis un coder, motivé pour faire cet émulateur. Je connais un peu l'électronique, j'ai déjà collaboré à un émulateur 68000, je touche pas mal en assembleur; et j'ai un gros tas de roms à la maison.
Je découvre donc sur le tard ce forum avec toutes les infos déjà super précieuses postées ici... merci à tous ceux qui ont posté ces infos...
et donc, deux possibilités : soit il y a encore des gens qui travaillent activement là dessus, et je serais ravi de rajouter mes forces au projet. Soit c'est tout mort, et je vais voir si je peux reprendre le projet existant ou refaire un truc de zéro avec l'expérience du premier projet. En gros : coucou, y'a kunkun?
- Administrateur
- Messages : 5957
- Enregistré le : 24 mai 2002 16:55
- Localisation : Toulouse
- Contact :
Bonjour et bienvenue happyleptic,
Je pense que c'est pas mort, mais si personne ne réagit, n'hésites pas à contacter les gens par mail ou MP.
PS : Si tu souhaites participer activement à la vie du forum, n'oublie pas de sacrifier à la tradition :
viewforum.php?f=49
A+
Je pense que c'est pas mort, mais si personne ne réagit, n'hésites pas à contacter les gens par mail ou MP.
PS : Si tu souhaites participer activement à la vie du forum, n'oublie pas de sacrifier à la tradition :
viewforum.php?f=49
A+
Bonjour: C'est mon premier post sur ce forum.
J'aimerai dire un grand merci à ceux qui ont entrepris de faire cet émulateur. l'exl100 était une des rares machines à ne pas en bénéficier que je connaisse.
Merci de préserver le patrimoine vidéoludique de cette manière.
Par la mème occasion, j'aurais 2 questions:
est ce qu'il existe un émulateur (MESS peut être) qui émule le pencil 2 de haminex? Cette machine est vraiment très rare mais pas aussi "difficile" que l'exl100 car batie sur des processeurs connus (1 zilog si je me rapelle bien).
Autre chose, sachant que la gx4000 amstrad est batie sur un hardware CPC 6128+, existe-t-il des jeux exclusifs à la console ou sont ils tous sortis aussi pour CPC6128+
Merci.
J'aimerai dire un grand merci à ceux qui ont entrepris de faire cet émulateur. l'exl100 était une des rares machines à ne pas en bénéficier que je connaisse.
Merci de préserver le patrimoine vidéoludique de cette manière.
Par la mème occasion, j'aurais 2 questions:
est ce qu'il existe un émulateur (MESS peut être) qui émule le pencil 2 de haminex? Cette machine est vraiment très rare mais pas aussi "difficile" que l'exl100 car batie sur des processeurs connus (1 zilog si je me rapelle bien).
Autre chose, sachant que la gx4000 amstrad est batie sur un hardware CPC 6128+, existe-t-il des jeux exclusifs à la console ou sont ils tous sortis aussi pour CPC6128+
Merci.
-
- Fonctionne à 14400 bauds
- Messages : 10726
- Enregistré le : 09 mars 2003 16:23
- Localisation : Vendée - France
- Contact :
Bonjour et bienvenue starlord,
Je pense que c'est pas mort, mais si personne ne réagit, n'hésites pas à contacter les gens par mail ou MP.
PS : Si tu souhaites participer activement à la vie du forum, n'oublie pas de sacrifier à la tradition :
viewforum.php?f=49
A+
Je pense que c'est pas mort, mais si personne ne réagit, n'hésites pas à contacter les gens par mail ou MP.
PS : Si tu souhaites participer activement à la vie du forum, n'oublie pas de sacrifier à la tradition :
viewforum.php?f=49
A+
- dyter
- Fonctionne à 75 bauds
- Messages : 42
- Enregistré le : 16 oct. 2005 22:56
- Localisation : Lyon
- Contact :
gatesbillou
Celà n'est pas trés correcte de copier/coller mes progs sans citer leur sources.
si ça peut aider pour l'émulateur, voici quelques une de mes trouvailles: http://miniordi.free.fr/Downloads/EXL100/Dumps/ et http://miniordi.free.fr/ExlDump.htm
Celà n'est pas trés correcte de copier/coller mes progs sans citer leur sources.
si ça peut aider pour l'émulateur, voici quelques une de mes trouvailles: http://miniordi.free.fr/Downloads/EXL100/Dumps/ et http://miniordi.free.fr/ExlDump.htm
- gatesbillou
- Fonctionne à 75 bauds
- Messages : 60
- Enregistré le : 06 oct. 2005 23:48
>Celà n'est pas trés correcte de copier/coller mes progs sans citer leur sources.
Tout a fait d'accord. Le programme vient du site http://miniordi.free.fr/
J'en profite aussi pour citer le livre "Maitrisez votre exl100" de charles tavernier , edition etsf , dans lequel C.Tavernier explique le CALL POKE(49161,213,22,140,125,126) et le CALL POKE(49161,140,109,8,140,0,0) à la page 123 que tu utilise dans ton programme et qui sert a désactiver puis réactiver la gestion des erreurs.
Pour le scan de l'organisation de la memoire principale de l'EXL100 , on peut trouver le même avec les explications , toujours dans le même livre , page 64 et 65.
Tout a fait d'accord. Le programme vient du site http://miniordi.free.fr/
J'en profite aussi pour citer le livre "Maitrisez votre exl100" de charles tavernier , edition etsf , dans lequel C.Tavernier explique le CALL POKE(49161,213,22,140,125,126) et le CALL POKE(49161,140,109,8,140,0,0) à la page 123 que tu utilise dans ton programme et qui sert a désactiver puis réactiver la gestion des erreurs.
Pour le scan de l'organisation de la memoire principale de l'EXL100 , on peut trouver le même avec les explications , toujours dans le même livre , page 64 et 65.
- pstriolo
- Modérateur
- Messages : 3511
- Enregistré le : 22 mai 2002 07:05
- Localisation : Dans ton cul... au fond à gauche
Et moi je remercie mon père d'avoir niqué ma mère, sinon je serais pas la pour lire cette news.
Merci encore à lui, je compatis encore à sa douleur quarante deux ans plus tard.
Philou
Merci encore à lui, je compatis encore à sa douleur quarante deux ans plus tard.
Philou
Tout près de la Garonne
Non loin des Pyrénées
Il existe une ville
Toulouse où je suis né
Toulouse et son équipe
Son stade des 7 deniers
Les toulousains arrivent
Ils vont tout remporter
Non loin des Pyrénées
Il existe une ville
Toulouse où je suis né
Toulouse et son équipe
Son stade des 7 deniers
Les toulousains arrivent
Ils vont tout remporter