[Exelvision] Nouvel émulateur EXL100

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

l'émulation du son avance un peu. Pour le moment il fait des "prout" légèrement modulés... ce qui est bon signe :)
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Exelvision] Nouvel émulateur EXL100

Message par OlivierP »

Voici un binaire pour Mac OS X 10.5 (qui devrait marcher aussi en 10.4) : http://dl.free.fr/getfile.pl?file=/V1Id6mXI
SDL 1.2 étant antérieur à Snow Leopard (10.6), il peut y avoir des problèmes.
jvernet
Messages : 2460
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par jvernet »

Great clap clap clap ! Enfin un Papillon sous l'OsX !
Ca se lance sous SL 10.6. Par contre, ça déchire la CPU, 100% sur les 2 Core.

Aller hop, un petit projet XCODE pour fouiller tout ça !
Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

je ne peux pas tester sur macosX pour le moment, 100% sur les 2 cores il y a forcement du Wxwidget la dedans parceque l'émulateur en lui même n'est pas multi-thread...
En WX sur PC je tournais plutot à 30-40% sur mon Pentium M 900, contre environ 60% pour la version Allegro.
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Exelvision] Nouvel émulateur EXL100

Message par OlivierP »

Merci pour les clap.
Je n'ai pas utilisé XCode, tout se compile en ligne de commande.
Pour les perfs, il devrait être possible de faire une version uniquement SDL, avec juste une fenêtre et un menu.
Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

J'ai mis l'archive (sans les sources) sur ma page, le makefile et les qqs modifications de source seront dans CVS ce soir.
Mais cela ne nous explique pas le 100% de cpu...
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Exelvision] Nouvel émulateur EXL100

Message par OlivierP »

Il faut utiliser OpenGL pour avoir l'accélération matérielle en mode fenêtre sous MacOSX http://www.libsdl.org/faq.php?action=li ... egory=7#68.


SDL 1.3 devrait améliorer les choses :
extrait de http://www.nabble.com/Re%3A-SDL-perform ... 33711.html
Increasingly, OpenGL and Direct3D are going to be the best way for 2D, too. The "hardware accelerated" 2D interfaces don't exist in most targets (including Mac OS X and Linux), and on Windows, DirectDraw has been deprecated for literally years now. Apple and Microsoft both recommend you use the 3D interfaces, even for 2D work, if you can.
In SDL 1.3, we can use Direct3D or OpenGL behind the scenes with the current 2D SDL APIs (and fall back to a software renderer when we can't). In 1.2 there's a patch floating around called "glSDL" if you want to experiment.
Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

sinon on peut aussi ne mettre à jour que ce qui est nécessaire... retracer tout l'écran est une solution un peu riche pour un EXL100...
jvernet
Messages : 2460
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par jvernet »

OlivierP a écrit :Il faut utiliser OpenGL pour avoir l'accélération matérielle en mode fenêtre sous MacOSX http://www.libsdl.org/faq.php?action=li ... egory=7#68.
Oui, il faut le spécifier à la compilation. Ca amèliore bien les choses. La CPU est en fait chez moi à 90% sur la version recupèrèé hier. Je n'ai aps encore réussi à la compiler chez moi, mais j'avais un gros mal de crane, pas trop cherché.

SDL 1.3 devrait améliorer les choses :
extrait de http://www.nabble.com/Re%3A-SDL-perform ... 33711.html
Increasingly, OpenGL and Direct3D are going to be the best way for 2D, too. The "hardware accelerated" 2D interfaces don't exist in most targets (including Mac OS X and Linux), and on Windows, DirectDraw has been deprecated for literally years now. Apple and Microsoft both recommend you use the 3D interfaces, even for 2D work, if you can.
In SDL 1.3, we can use Direct3D or OpenGL behind the scenes with the current 2D SDL APIs (and fall back to a software renderer when we can't). In 1.2 there's a patch floating around called "glSDL" if you want to experiment.
Il faut le prévoir dans les softs en passant par les fonctions SDL 3D, en effet. EUAE est passé à ça, avec des accélérations drastiques sous MacOsX (120% de mieux).
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Exelvision] Nouvel émulateur EXL100

Message par OlivierP »

L'exel devient célèbre :
http://www.emunova.net/news/detail/13338.htm
http://www.emunova.net/news/detail/13335.htm
Quelqu'un connaît ce Kékidi ?
EDIT : sur www.emu-france.com aussi, mais uniquement DCexel
Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

L'admin d'emunova suit déjà certaines de mes pages dont mon emu MO5 en java. Par ailleurs il annonce les nouvelles sorties des émulateurs de Daniel dont DCexel.
J'ai posté un petit message d'annonce dans le forum pour que l'info remonte. Ce site étant repris par les autres, l'info suivra assez vite ailleurs.
Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

il commence à dire des chose...
il demande qui ose défier 0àé# ... la gestion des trames se plante un peu sur la fin... (et se plantait tout de même beaucoup avant, du fait d'un décalage inversé).
J'utilise les tables de calcul de MAME tms5220_r.c mais le son me parait trop métallique... faut encore bosser le sujet mais la version 0.7 allegro parlera... probablement en début de semaine prochaine
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Exelvision] Nouvel émulateur EXL100

Message par jester »

Et encore, il peut même jouer de la musique ce synthe vocal... et sous interruption en plus.
Quand ton émulateur pourra faire tourner le petit programme Basic à la fin D'Exelement Votre N°1 sur le sujet, ça sentira bon ! (Une note est jouée en tâche de fond, mais il faut détecter la fin de lecture d'une note dans une boucle programme et calculer la nouvelle note... si quelqu'un arrive à faire la routine complète sous interruption - via le Timer par exemple - je paie un canon).
Avatar de l’utilisateur
gilles
Messages : 2782
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par gilles »

ca ne doit pas être si difficile que cela en ASM, il y a un flag sur un registre qui détermine si un son est en cours. Il suffit de faire une interruption régulière et de tester la valeur de ce registre. qui doit simplement être FLGCOM si je ne me trompe pas... par contre il y a toujours arrêt du 5220 entre 2 notes et probablement un peu de délai.
je ne pense pas qu'il existe un moyen de détourner le retour buffer_low du 7041 ce qui est dommage... mais il faut relire le code (du 7020), parfois la modification d'un double registre après le trap permet de faire des choses...

sinon, on peut aussi le faire à chaque VBL.
Genre le programme attend la synchro.
Gère la musique.
Gère les graphisme
se remet en attente de Sync.
50 fois par seconde ça devrait suffire comme résolution pour de la musique... Sur ST les musique YM sont généralement gérées comme ca...
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Exelvision] Nouvel émulateur EXL100

Message par jester »

Oui FLGCOM... sur ! Mais quoiqu'on fasse ça foire, la gestion du son par le 7041 n'étant pas complètement terminé pendant qu'une autre interruption détecte que le son est fini et Boum... et oui le contrôle du FLGCOM n'est valide qu'en dehors d'une interruption, ou peut être sur la même ligne d'interruption (INT 1)... mais pour avoir un Timer sur INT1 il faut l'Exeltel dont on peut utiliser le Timer3 du 7042 en programmant le port série, mais je suis pas encore certain de la fiabilité de ce Timer.

Le faire à chaque VBL ? On parle bien de l'Exl100 la... sérieusement tu as déjà testé des trucs sur l'engin. Pour tester la VBL il faut envoyer une commande au VDP et lire la réponse dans le VDP... autant tester la fin d'un son dans une boucle de programme, ça sera beaucoup moins gourmand (comme le fait le prog Basic qui fait de la musique avec le 5220 à l'aide d'une routine assembleur).

Je pense que tu n'as pas encore bien réalisé la lenteur du TMS3556, et surtout de lenteur de communication avec ce VDP.
Répondre