Emulateur

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 : 3033
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Message par gilles » 30 nov. 2007 20:54

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 :roll:
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.

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

Message par gilles » 01 déc. 2007 17:10

et hop, rom du 7020 partiellement commentée sur le repository CVS du projet exl100 sur sourceforge.

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

Message par gilles » 06 déc. 2007 21:44

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...

Avatar de l’utilisateur
gatesbillou
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 60
Inscription : 06 oct. 2005 23:48

Message par gatesbillou » 06 déc. 2007 22:21

Juste une petite question , comment patchera tu la ROM ? va tu la modifier de facon a simplifier les communications entre TMS7020 et 7041 de facon a ce qu'ils dialogues "directement" si je comprend bien ?

En tous ca bon courrage et demande si tu a besoin de quelque chose.

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

Message par gilles » 06 déc. 2007 23:08

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.

Avatar de l’utilisateur
gatesbillou
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 60
Inscription : 06 oct. 2005 23:48

Message par gatesbillou » 07 déc. 2007 22:28

J'ai du mal a comprendre mais je te fais confiance :wink:

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.

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

Message par gilles » 08 déc. 2007 21:59

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.
Mon désassemblage commenté de la rom 7020 est déjà sur le site sourceforge (projet exl100).
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.

Avatar de l’utilisateur
gatesbillou
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 60
Inscription : 06 oct. 2005 23:48

Message par gatesbillou » 24 déc. 2007 15:55

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+

Avatar de l’utilisateur
happyleptic
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 5
Inscription : 21 févr. 2008 10:41
Localisation : grenoble

émulateur

Message par happyleptic » 21 févr. 2008 10:58

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? :D

Avatar de l’utilisateur
Pocket
Administrateur
Administrateur
Messages : 5336
Inscription : 24 mai 2002 16:55
Localisation : Toulouse
Contact :

Message par Pocket » 21 févr. 2008 11:13

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+
Pocket, voit tout, sait tout, lit l'avenir dans les entrailles d'une base phpBB ...
Image

starlord
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 42
Inscription : 01 mars 2008 14:52

Message par starlord » 01 mars 2008 14:59

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.

Potrzebie
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 10731
Inscription : 09 mars 2003 17:23
Localisation : Vendée - France
Contact :

Message par Potrzebie » 01 mars 2008 15:23

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+
Image

Avatar de l’utilisateur
dyter
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 42
Inscription : 16 oct. 2005 22:56
Localisation : Lyon
Contact :

Message par dyter » 05 mars 2008 19:34

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

Avatar de l’utilisateur
gatesbillou
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 60
Inscription : 06 oct. 2005 23:48

Message par gatesbillou » 14 mars 2008 21:02

>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.

Avatar de l’utilisateur
pstriolo
Modérateur
Modérateur
Messages : 3449
Inscription : 22 mai 2002 07:05
Localisation : Dans ton cul... au fond à gauche

Message par pstriolo » 15 mars 2008 07:30

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
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

Répondre

Revenir vers « Exelvision »