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

Daniel, tu avais raison pour Vega... le loader BASIC -> LM se plante car il n'utilise pas le LDVDP mais un MOVP P36,x
du coup il commence à lire un octet trop tard (apres le TRAP) et décale tout d'un quartet...
La spécification du 3556 ne nous aide pas dans ce cas...
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Exelvision] Nouvel émulateur EXL100

Message par Daniel »

C'est pareil dans KungFu.
Dans ce cas de figure je fais -1 dans le registre ACMP et tout fonctionne bien.
Mais pour la satisfaction intellectuelle il faudrait comprendre la cause de ce comportement :wink:
Daniel
L'obstacle augmente mon ardeur.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Exelvision] Nouvel émulateur EXL100

Message par jester »

J'ai renvoyé la question à Repetto et Petiot.
Il reste encore Duplouy qui pourrait répondre, mais je n'ai pas le carnet d'adresse de tous les anciens d'Exelvision.
Mais c'est sans espoir car à moins d'avoir conservé des docs/notes dans un carton, c'est un point trop précis pour qu'ils s'en souviennent (en admettant qu'ils répondent :? ).

Je pense qu'il faudra se débrouiller seul, comme d'hab... mais c'est le TAL qui réalise la correspondance des ports avec les les périphériques, non ? Dans ce cas à part de l'imagination... ou étudier les signaux au niveau de la carte mère, je ne vois pas.
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'imagine qu'il y a un lien avec l'absence d'acces vers l'autre port de lecture (partie du message éditée... pas P39 en tout cas).
Je vois bien comment l'émuler... et comment tester sur matériel réel... mais pas vraiment le pourquoi de la chose... la doc du TMS dit qu'il faut doubler la lecture pour une question de timing. Peut être que seule la première lecture est à doubler... la réponse est dans le microcode et/ou un éventuel latch dans le TAL
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Exelvision] Nouvel émulateur EXL100

Message par jester »

SI tu as le matos gilles, je suppose que le seul moyen d'élucider les actions des ports P36,P39 et P40 sur le TMS3556 est l'étude des signaux en entrée du VDP ou en sortie du TAL ???
Moi je suis totalement inutile sur ce problème :cry:
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 »

au contraire, on peut l'étudier totalement en soft...
Tu inscrit en VDPRAM des valeurs connues.
Tu initialises tes pointeurs de manière exotique...
Puis tu relis la VDPRAM pour enfin afficher.
On peut raffiner en intercalant la lecture vers l'autre port de RAM.
Mon gros problème pour la machine réélle pour le moment est ma limitation au format K7...
Mais je pense me monter une EPROM sur cartouche...
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 »

Avec une règle assez simple véga fonctionne... Si on est passé par p40 avant d'initialiser en read alors traitement normal sinon on decremente... Le rdvdp étant suppose faire une lecture de p40 puis p36... Un peu pifometrique ... Mais ça marche
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 »

Mise en ligne version 0.8, la version wxwidget est à utiliser en priorité (plus stable et gestion de tout le clavier).
Vega fonctionne.
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Exelvision] Nouvel émulateur EXL100

Message par OlivierP »

Voici le binaire MacOSX du CVS HEAD : http://dl.free.fr/ohDg9Da2B

Attention, il faut changer la ligne 82 de wxRenderLoop.cpp pour compiler en unicode :
wxPanel(parent,-1,wxDefaultPosition,wxDefaultSize,wxWANTS_CHARS,_T("panel"))
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 en ligne la version 0.8 macos.
Les sources comportent la gestion du son 1bit mais ce n'est pas parfait...
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Exelvision] Nouvel émulateur EXL100

Message par jester »

La version PC n'est pas en ligne ?

Pour le son, je n'ai pas identifié de différences entre DcExel et Exl100/Exeltel... mêmes les parasites sont reproduits.

Sinon j'ai testé le registre statut du VDP... et le mode accès rapide indiqué dans la doc du 3556. ça ne semble pas utilisable dans la pratique car dés qu'on accède à un autre registre cela annule la lecture du automatique du registre d'état (normal puisque qu'on remplace les bits RT8...RT1). Du coup ça sert à rien en pratique !
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Exelvision] Nouvel émulateur EXL100

Message par OlivierP »

jester a écrit :La version PC n'est pas en ligne ?
Si, depuis le 17/02.
EDIT : la gestion du son 1 bit n'est que dans les sources pour l'instant
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 suis pas certain d'avoir tout mis sur CVS... je vais mettre en ligne une petite prerelease... (voir dans lignes de news) mais c'est trop grave avec le timer.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Exelvision] Nouvel émulateur EXL100

Message par jester »

Je viens de tester les deux dernières versions (Allegro et l'autre) avec ma routine de musique 1bit.
Bon il y a encore du travail, c'est clair : je n'ai reconnu ni la mélodie globale, ni la hauteur des notes... même si l'écoute semble cohérente il y a des bugs dans la gestion du timer, c'est évident car ni la durée des notes ni leur hauteur ne sont respectées. Et il y a cet horrible ronflement avec des craquements en arrière plan :cry:

Je te rassure ça marche parfaitement sur un Exl100 et un Exeltel... juste quelques parasites dans les notes très hautes, sinon le son est bien carré, la mélodie bien précise.

Autre chose, si j'ai bien compris tu émules bien les différents composants et pas les fonctionnalités comme DcExel. Donc il est possible de tester des lectures K7 à vitesse accélérer sur ton émulateur ? J'aimerais bien modifier la routine de la ROM pour lire à double vitesse les K7. ça évite d'être devant un Exl100.
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 »

Oui tu peux parfaitement faire un loader rapide en RAM pour lire les K7 plus rapidement, le principe est très simple. Le fichier WAV est relu à sa fréquence réelle (en phase avec l'horloge du 7020). Lorsque le niveau sur la K7 dépasse la moitié (4 cas entre 8 et 16 bits signé ou non) alors c'est un 1 sinon c'est un 0 qui est présenté sur le port du 7020.
Cela craque effectivement beaucoup avec Allegro je dirai même que c'est inutilisable. C'est moins catastrophique avec WX mais il coupe trop souvent des choses.
Le son 1bit est correct avec certaines K7 et lors du message d'intro de menkar par exemple. donc le problème vient bien des timers. Il y a encore du boulot sur ce module d'emulation du TMS7xxx... la prochaine fois j'écrit mon code... debugger celui des autres c'est la mort...

{edit}
pour tester à vitesse rapide, utilise la version Allegro et dans les options : vitesse maximale. l'effet au niveau du son sera étrange, car chaque frame sera quand même rejouée à sa fréquence normale, avec donc une surimpression...
Répondre