Logicielsmoto.com

Nous sommes le 28 Mar 2024, 16:11

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 39 messages ]  Aller à la page 1, 2, 3  Suivante
Auteur Message
 Sujet du message: DCMOTO version 10.0
MessagePosté: 13 Oct 2007, 06:40 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Copie des "release notes" :

La version 10.0 de l'émulateur dcmoto est disponible depuis le 13 octobre 2007 à http://dcmoto.free.fr
DCMOTO émule tous les ordinateurs 8 bits Thomson : MO5, MO5E, MO5NR, MO6, T9000, TO7, TO7/70, TO9, TO8, TO8D, TO9+ et Olivetti PC128.

La principale nouveauté est la refonte des fonctions d'affichage de l'écran. Chaque ligne video est affichée à raison d'un petit segment entre chaque instruction exécutée par le processeur 6809. L'ancienne méthode affichait une ligne complète au moment de la synchronisation horizontale, et ne permettait pas de rendre les changements de palette et/ou de mode video effectués en cours de ligne. Maintenant tous les écrans de la démonstration HCL sont parfaitement bien rendus, y compris celui dont la palette change au milieu de chaque ligne, et celui dont le mode écran change deux fois à chaque ligne. Cet affichage plus sophistiqué n'a pas d'influence mesurable sur la charge du processeur (toujours aux alentours de 6% avec un Pentium IV à 3GHz).

D'autres fonctions demandées par les utilisateurs ont été ajoutées :
- Initialisation automatique de la date système des TO8, TO8D et TO9+
- Désactivation de l'émulation des manettes par le pavé numérique du PC
- Désactivation de l'émulation du pavé numérique des TO8 et TO9

De nombreuses améliorations de détails ont été réalisées

Deux bugs ont été corrigés :
- Lecture des 6 bits envoyés vers le CNA
- Redimensionnement de la boîte de dialogue de l'aide

Rappel d'une nouveauté de la version 9.6 SR1 :

Le temps de latence du son a été divisé par 4, pour rendre totalement imperceptible le décalage avec l'image. Le résultat est excellent sur toutes les machines à ma disposition. En revanche, certains utilisateurs ont signalé de grosses distortions avec du matériel pourtant rapide et récent. Nous avons vérifié le paramétrage de DirectX, il n'est pas en cause. L'hypothèse la plus vraissemblable est l'impossibilité pour certaines cartes son de travailler avec des buffers trop petits. J'ai donc ajouté la possibilité de changer la taille des buffers. L'option "8 buffers" correspond à l'ancienne taille utilisée par la version 9.5, et doit permettre à tous de retrouver un son correct.

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 18 Juil 2010, 20:32 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
Bonjour,

Je viens de tester DCMOTO en mode To9, et je m'apercois qu'il n'execute pas les disquettes démarables par l'option E.

La disquette en question qui fonctionne très bien sur un vrai To9: http://dcmoto.free.fr/prog/html/041.html

Sinon, j'aime bien DCMOTO. :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Juil 2010, 08:10 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Merci pour cette information :)
Il m'est impossible de vérifier toutes les fonctions de dcmoto, en particulier pour les machines que je n'ai pas, comme le TO9. La participation des utilsateurs est le meilleur moyen de faire progresser l'émulateur, alors n'hésitez pas à signaler les bugs.
J'ai ajouté le problème dans la liste des anomalies à corriger, et j'espère qu'il sera résolu dans la prochaine version.

[Edit - 14:30]
L'anomalie était due à une erreur de lecture du secteur de boot. Elle ne concernait pas uniquement Bactron-MGT, mais toutes les disquettes avec le DOS, aussi bien avec le TO9 français qu'avec le TO9 allemand. Ma version de test est corrigée et fonctionne bien. La prochaine version de dcmoto, prévue après les vacances, n'aura donc plus cette erreur. J'ai apporté beaucoup d'autres améliorations depuis la version 2010.04, mais j'ai peur d'avoir aussi introduit de nouveaux bugs. Il faudra faire le maximum de tests, et encore une fois je compte beaucoup sur les utilisateurs.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Juil 2010, 14:56 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
Vivi, bien entendu l'erreur concernait tout ce qui bootait en 1.0, je ne l'avais pas précisé.
En tout cas, merci pour ton efficacité.
Je vais te taquiner un peu mais tu n'as pas une version bêta que je pourrai tester? :) Connaissant très bien le To9 pour l'avoir exploité des années, j'ai plus de chances de trouver ce qui ne va pas si jamais il y a d'autres "bugs".


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Juil 2010, 15:12 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
A propos de bugs, tant que j'y pense:
Je ne sais pas si tu as remarqué mais la musique de Sapiens n'est pas correctement restituée par DCMOTO. Le problème est audible surement sur tous les To/Mo émulés.

Sapiens utilise le buzzer pour sa musique. Il semble que celui du vrai thomson (le buzzer) soit bridé sur les hautes fréquences, ce qui expliquerait pourquoi DCMOTO restitue un bruit très aigu par dessus la musique de sapiens.
J'ai tracé le code et je n'ai pas vu de problème dans l'émulation. C'est donc dans la restitution du son qu'il faut chercher...

Enfin je dis ça mais ce serait bien que quelqu'un d'autre recoupe mes interprétations.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 19 Juil 2010, 20:29 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Le problème de la musique de Sapiens fait partie de la liste des bugs. J'ai aussi un problème se sons parasites avec la version cassette TO8 d'Androïdes, et je compte me pencher bientôt sur le problème. J'ai une petite idée sur la cause des sifflements, car j'ai eu le même problème avec un autre émulateur (dcexel) : Le signal du buzzer est intégré sur la période d'échantillonnage. Cette intégration est théoriquement plus juste que la valeur tout ou rien instantanée en fin de période. Malheureusement elle introduit de petites erreurs d'arrondi, car il n'y a pas toujours un nombre entier d'instructions dans une période d'échantillonnage. Les erreurs sont relativement faibles par rapport au signal, mais suffisent à produire un sifflement audible.

L'autre problème de Sapiens est lié à sa technique de production de musique. Je suppose qu'il utilise une porteuse haute fréquence modulée par le signal audio. Dcmoto échantillonne à 44100 Hz. Si ce n'est pas une fréquence multiple de la porteuse de Sapiens il y a de fortes distortions. La solution n'est pas forcément simple, ce n'est pas uniquement une question de filtrage du signal.

Actuellement dcmoto est en plein bouleversement, avec la refonte de l'émulation 6809 (pour permettre une conversion facile en javascript), le chargement en mémoire des cassettes et des disquettes, et une quantité d'autres améliorations de détails, en particulier dans le debugger. Je n'ai pas aujourd'hui de version assez stable pour tester, mais dès que possible (probablement début août) je posterai ici une version beta, dans le but de découvrir le maximum d'erreurs avant la diffusion officielle.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 21 Juil 2010, 19:52 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Daniel Coulom a écrit:
Le problème de la musique de Sapiens fait partie de la liste des bugs. J'ai aussi un problème se sons parasites avec la version cassette TO8 d'Androïdes, et je compte me pencher bientôt sur le problème.

Ce que tu trouvera sera interressant, car androide joue du son pendant l'intro sans ralentir l'animation. Je me demande s'il n'utilise pas le timer pour produire du son. Du coup les retards dans l'emulation du timer ou de gestion des interruptions peut introduire des parasites.

Mais bon je n'en sais rien, j'ai jamais désassemblé ce jeu. En tout cas la la façon de produire du son (même un bit) sans blocage m'intéresse techniquement.

sam.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 21 Juil 2010, 23:12 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
Androide utilise bien le Timer pour produire du son. MAis il n'utilise pas le buzzer. Le son part vers le CNA.

a+


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 22 Juil 2010, 12:31 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Gros progrès de l'émulation du son dans dcmoto. Avec ma version de développement :
- Le son de Sapiens est bon pour toutes les machines
- Le son d'Androides TO8 est bon
- Le son de Bob Winner est bon
- Les sons du style Music3V sont bons (ex: Mach3)

J'ai obtenu ce résultat en gardant ma technique d'intégration du signal sur la période d'échantillonnage. Mais au lieu de diviser par le nombre de cycles théoriques (ce qui produisait des sifflements), je divise par le nombre de cycles réellement exécutés. Le son est excellent. Pour Androïdes TO8, j'ai corrigé un petit bug dans l'émulation du 6846 qui faussait la valeur du signal Mute.

Il y a une subtile différence entre le mute du TO8,TO8D et le beep des autres machines. Comme son nom l'indique, le mute neutralise le son du CNA, alors que le beep s'ajoute. On peut toutefois utiliser le mute pour jouer de la musique tout ou rien, en hachant le signal du CNA (si toutefois il n'est pas à zéro). C'est utilisé par exemple dans Bob Winner : une musique est jouée sur le CNA et hachée par le Mute pour jouer une deuxième voix.

Dans quelques jours je diffuserai une version de test. Il faudrait l'essayer avec tous les programmes existants, mais j'en suis incapable sans aide extérieure.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 22 Juil 2010, 14:21 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
Qu'est-ce que tu sous entends par "nombre de cycles réels" et "nombre de cycles théoriques". J'ai bien mon idée mais est-ce que tu peux développer?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 22 Juil 2010, 17:10 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour une sortie son à 44100 Hz la période d'échantillonnage théorique est 22,676 microsecondes, donc environ 23 cycles du processeur 6809. Mais on ne peut récupérer l'échantillon qu'entre deux instructions. Chaque instruction dure un nombre variable de cycles, et si on vise 23 cycles on va en obtenir plus ou moins en fonction de l'assortiment des instructions. Par exemple 28 ou 22. C'est ce que j'appelle le nombre de cycles réels.
Pour intégrer le signal, je cumule après chaque instruction le produit du nombre de cycles de l'instruction par la valeur instantanée du signal. A la fin de la période d'échantillonnage, l'échantillon envoyé à la carte son est obtenu en divisant ce cumul par le nombre de cycles réels (28 ou 22 ou autre). Mon erreur dans les versions précédentes était de toujours diviser par le nombre théorique (22,676). C'est ce qui provoquait le sifflement.

La version de développement est à http://dcmoto.free.fr/download/prog/dcmoto_20100722.zip
Attention, j'ai mis une première version incorrecte à 17h, remplacée par la bonne version à 21h55. Dans le doute recommencez le téléchargement.
(ne pas la diffuser s.v.p., elle n'est pas terminée)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 22 Juil 2010, 23:31 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
Je l'ai testé très rapidement avant de me coucher:
1) les disquettes démarrent bien en 1.0 en mode To9
2) Sapiens est beaucoup plus propre maintenant mais il reste un très leger sifflement, en mode To8
3) le son ne fonctionne plus en mode To9.

Bonne nuit.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 23 Juil 2010, 00:22 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Ben moi j'ai testé le mode TO9 avec ma routine de torture test timer + audio sur TO9: ici (/!\ lien c-joint durée de vie réduite. Il faudrait l'archiver ailleurs)

Cette routine (auto.bat) joue des extraits audio des guignols de l'info en tache de fond en envoyant les échantillons via une routine timer et une reprogrammation de ce dernier pour tourner à 4Khz (on ne peut pas aller plus haut car le moniteur mange trop de cycles).

Bien évidemment le basic et le reste de l'os TO9 continuent de faire leur taf habituel sans se rendre compte de rien: On peut lister le prog basic, le sauver, lire sur disk, modifier le prog alors que le son tourne par derrière (jusqu'à la plante si on titille trop la machine, mais c'est normal, c'est moi qui ait programmé ce truc).

Résultat du test: impec! J'entends la même chose que sur un vrai TO9 (de mémoire). Donc perso de ce que je peux dire c'est que l'emul son + timer n'est pas complètement disfonctionelle pour le TO9 dans cette version de DCMOTO.

sam.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 23 Juil 2010, 06:52 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Merci de vos retours. Le plus difficile est de ne pas introduire de nouveaux bugs en améliorant un point particulier. Il y a tellement de différences entre les machines qu'il faut tout tester à nouveau après chaque modification. J'ai encore du travail pour que tout fonctionne bien, mais avec votre aide je garde l'espoir d'y arriver...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 23 Juil 2010, 09:58 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
J'ai essayé le truc de Sam qui fonctionne bien.
Par contre, le son de sapiens ne fonctionne pas en mode To9. Je pense donc que c'est le buzzer qui est HS en mode To9.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 39 messages ]  Aller à la page 1, 2, 3  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 28 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com