Daniel, pour le SP1, existe t-il une adresse www.exel100update.com ?Daniel a écrit :Si vos réponses confirment mes essais, je diffuserai très rapidement la version 2009.02 SP1
[Exelvision] dcexel 2009.02
Modérateurs : Papy.G, fneck, Carl
- Carl
- Modérateur
- Messages : 13297
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Le Service Pack 1 est disponible sur le serveur indiqué par Carl au post précédent.
Nouveautés :
- La fréquence du processeur est la moitié de la fréquence du timer. Par défaut 2455 kHz.
- Introduction d'un nouveau système de contrôle appelé WGA (Wizord Genuine Advantage). Il est destiné à protéger votre PC des copies pirates de l'abominable Wizord, et à signaler aux autorités votre usage illégal de ROMs sous copyright. C'est uniquement pour votre bien. Et ce système est très discret, il est même indétectable.
Autres nouveautés
Tous les jeux pour Windows ont été recompilés avec dcexel 2009.02 SP1. Ils sont disponibles sur le même site. Théoriquement ils ne devraient plus avoir de problème de timing. Si vous constatez la moindre anomalie (en dehors des touches appuyées simultanément), il faut le dire. Merci
Et je suis désolé pour cet épisode malheureux. J'aurais dû être moins naïf et vérifier l'information avant de faire tourner le processeur à 4,91 MHz
Nouveautés :
- La fréquence du processeur est la moitié de la fréquence du timer. Par défaut 2455 kHz.
- Introduction d'un nouveau système de contrôle appelé WGA (Wizord Genuine Advantage). Il est destiné à protéger votre PC des copies pirates de l'abominable Wizord, et à signaler aux autorités votre usage illégal de ROMs sous copyright. C'est uniquement pour votre bien. Et ce système est très discret, il est même indétectable.
Autres nouveautés
Tous les jeux pour Windows ont été recompilés avec dcexel 2009.02 SP1. Ils sont disponibles sur le même site. Théoriquement ils ne devraient plus avoir de problème de timing. Si vous constatez la moindre anomalie (en dehors des touches appuyées simultanément), il faut le dire. Merci
Et je suis désolé pour cet épisode malheureux. J'aurais dû être moins naïf et vérifier l'information avant de faire tourner le processeur à 4,91 MHz
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- fneck
- Site Admin
- Messages : 17531
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Attends, c'était pas évident à trouver que le TMS7020 divisait la fréquence en interne, il fallait aller la chercher celle-ciDaniel a écrit :... et vérifier l'information avant de faire tourner le processeur à 4,91 MHz
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
C'était écrit clairement, mais deux lignes dans un livre de 540 pages, on peut effectivement passer à côté. Le plus incroyable est que cette information ne soit pas connue de tous. On savait la fréquence du processeur de tous les ordinateurs au monde, sauf ceux d'Exelvision. Il faudrait relire toute la doc et tous les Exelement Votre pour voir si le sujet a déjà été évoqué.
Mais peu importe, cette histoire est terminée et un mystère de plus est élucidé. Maintenant il reste à comprendre l'Exeltel. Après le VDP et le VSP, ça va être un régal. La cerise sur le gâteau
Mais peu importe, cette histoire est terminée et un mystère de plus est élucidé. Maintenant il reste à comprendre l'Exeltel. Après le VDP et le VSP, ça va être un régal. La cerise sur le gâteau
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- fneck
- Site Admin
- Messages : 17531
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Moi je trouve superbe de découvrir un truc comme ça 25 ans après, c'est quand même très fort (et totalement inutile, je sais mais c'est ça qui est bon).
J'essaie de comprendre le fonctionnement du TMS7041, car en regardant les schémas du site de Fabrice, on peux voir que le quartz est également dessus. L'annexe C du bouquin TMS70xx en parle et il y a là une notion de division par 2 ou par 4, tu peux jeter un coup d'oeil Daniel?
J'essaie de comprendre le fonctionnement du TMS7041, car en regardant les schémas du site de Fabrice, on peux voir que le quartz est également dessus. L'annexe C du bouquin TMS70xx en parle et il y a là une notion de division par 2 ou par 4, tu peux jeter un coup d'oeil Daniel?
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
-
- Messages : 128
- Inscription : 31 juil. 2008 14:02
- Localisation : la cadiere d'azur - var (83)
Rien de plus :fneck a écrit :tu peux jeter un coup d'oeil Daniel?
La section 3.4 est celle que j'avais déjà donnée plus haut pour la fréquence du 7020. Le 7041 peut, en plus, diviser la fréquence du quartz par 4, mais rien ne dit comment il faut procéder. Il a aussi 4 Ko de ROM (dont j'aimerais bien récupérer le contenu ) et 128 octets de RAM. Sa fréquence maxi est 2,5 MHz, comme le TMS7020. En revanche le TMS7042 peut atteindre 4 MHz, donc il est possible d'overclocker l'exeltel.
@gatesbillou : pour l'exeltel certaines ROMS ne sont pas copiées, en particulier celles du synthétiseur et celle du TMS7042. Et peut-être aussi d'autres éléments. C'est donc théoriquement impossible à émuler, alors il va falloir ruser, comme pour le TMS7041 de l'EXL100. J'ai analysé tout ce qui entrait et tout ce qui sortait, et petit à petit j'ai réussi à comprendre les traitements qu'il effectuait. Cette approche est simple pour un circuit logique, elle est beaucoup plus problématique pour un microprocesseur complexe. C'est là qu'interviennent la ruse et l'intuition. Il se passe des choses à l'intérieur pas toujours faciles à modéliser. Alors on essaye l'une apès l'autre des hypothèses plausibles, jusqu'à trouver celle qui va bien. Je considère que c'est un art plus qu'une science, mais mon avis n'est pas partagé par tous. Je crois qu'il faut être un peu fou, comme nous le sommes tous ici avec nos vieilles machines.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- fneck
- Site Admin
- Messages : 17531
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
C'est parfait, je voulais simplement que tu jettes un oeil pour voir si ça pouvait avoir une influence sur l'émulation.Daniel a écrit :Rien de plus (...)
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
ça marche foutrement bien... RAS au niveau vitesse, ça tourne très bien : c'est même plus rapide qu'avant dans wizord !!!
Par contre petit bug curieux ? En Basic lorsque j'ai une erreur de lecture cassette (oubli de valider cassette ou rembobinage par exemple) LOAD "1.XXX", le clavier devient fou et je dois rebooter... à vérifier si les erreurs E/S entrainent des Pbs au niveau gestion clavier.
Je pleure de joie en entendant le son de mes vieux jeux pour la première fois depuis 24ans.
Par contre petit bug curieux ? En Basic lorsque j'ai une erreur de lecture cassette (oubli de valider cassette ou rembobinage par exemple) LOAD "1.XXX", le clavier devient fou et je dois rebooter... à vérifier si les erreurs E/S entrainent des Pbs au niveau gestion clavier.
Je pleure de joie en entendant le son de mes vieux jeux pour la première fois depuis 24ans.
Beaucoup de problèmes, en particulier les blocages dans certains jeux et les vitesses fantaisistes, étaient dûs à la vitesse excessive du processeur par rapport au timer. Avec la division de fréquence par deux, non seulement les vitesses des jeux sont bonnes, mais en plus il y a beaucoup moins de blocages intempestifs. Il n'ont pas totalement disparu mais sont devenus très rares.
J'ai constaté aussi le problème de clavier en cas d'erreur cassette. C'est parce que la lecture cassette masque les interruptions. Si elle se plante le relâchement de la touche ENTREE n'est pas détecté, et tout se passe comme si elle était encore appuyée, avec répétition automatique. Je note l'anomalie et je trouverai un contournement. Il suffit probablement de réactiver les interruptions.
J'ai constaté aussi le problème de clavier en cas d'erreur cassette. C'est parce que la lecture cassette masque les interruptions. Si elle se plante le relâchement de la touche ENTREE n'est pas détecté, et tout se passe comme si elle était encore appuyée, avec répétition automatique. Je note l'anomalie et je trouverai un contournement. Il suffit probablement de réactiver les interruptions.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Tous mes émulateurs sont écrits en C compilé avec GCC. Dans Windows : API Win32 et DirectX. Bibliothèque SDL pour les portages sur Linux, Mac et autres de dcmo5, dcto8, dcto9p et dcvg5000. J'ai longtemps utilisé devcpp comme environnement de développement, mais il n'est plus développé alors je suis passé à CodeBlocks.
Pour programmer un émulateur aujourd'hui il n'y a plus de problème de performances, mais je me souviens de DCMO5 en 1992 : il tournait sur un 386SX16, et c'était du sport. Il fallait écrire les modules stratégiques en assembleur. La video était en EGA pour gagner du temps. En VGA l'organisation trop complexe de la mémoire ne permettait pas d'afficher assez vite. Dix-sept ans plus tard dcexel consomme moins de 2% de CPU en plein écran 1280 * 1024 avec 4 octets par pixel On arriverait peut-être même à le faire tourner en Basic
Pour programmer un émulateur aujourd'hui il n'y a plus de problème de performances, mais je me souviens de DCMO5 en 1992 : il tournait sur un 386SX16, et c'était du sport. Il fallait écrire les modules stratégiques en assembleur. La video était en EGA pour gagner du temps. En VGA l'organisation trop complexe de la mémoire ne permettait pas d'afficher assez vite. Dix-sept ans plus tard dcexel consomme moins de 2% de CPU en plein écran 1280 * 1024 avec 4 octets par pixel On arriverait peut-être même à le faire tourner en Basic
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Daniel a écrit :...Et je suis désolé pour cet épisode malheureux. J'aurais dû être moins naïf et vérifier l'information avant de faire tourner le processeur à 4,91 MHz
Sur un vrai composant TMS7xxx, le coefficient de division, qu'il soit de 2 ou de 4, ne peut pas être défini par un quelconque paramètre logiciel car il est prédéfini à la production sur le masque préprogrammé des microcontrolleurs. Il pourrait bien sûr être modifié sur un émulateur mais cela ne serait bien évidement plus réaliste.Daniel a écrit :Le 7041 peut, en plus, diviser la fréquence du quartz par 4, mais rien ne dit comment il faut procéder.
Les informations que tu as collecté sur le net sont justes en ce qui concerne la fréquence à laquelle est cadencé le TMS7020: soit 4.91Mhz; la division de l'horloge est autre chose, elle se fait ensuite, en interne. Daniel, tu n'es pas naif, je pense simplement que tu as appréhendé l'émulation de la vitesse de l'EXL100 de manière purement logicielle avec un seul paramètre matériel de départ pour cette vitesse, le second paramètre matériel (la division interne) t'a échappé. Cela dit, c'est un détail par rapport au boulot abattu et tu l'a rapidement corrigé.