Logicielsmoto.com

Nous sommes le 28 Mar 2024, 21:12

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 29 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
MessagePosté: 30 Aoû 2006, 16:02 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
DCMOTO n'est plus le seul émulateur multi-machines Thomson : un programmeur de très grand talent, Antoine, a lui aussi réalisé cet exploit. Pour en savoir plus, vous pouvez visiter http://www.di.ens.fr/~mine/mess/

Au départ je lui ai donné quelques éléments, en particulier les roms des machines et des fichiers .wav de cassettes originales. Il a réalisé ce travail considérable en un temps record. Connaissant bien la difficulté de l'entreprise, je suis admiratif, et j'espère que vous le serez aussi.

L'intérêt d'avoir le choix entre plusieurs programmes est évident, et en plus la compétition va probablement me motiver pour améliorer encore dcmoto. Les thomsonistes ont donc beaucoup à gagner !

Daniel

Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 30 Aoû 2006, 16:45 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Daniel Coulom a écrit:
L'intérêt d'avoir le choix entre plusieurs programmes est évident, et en plus la compétition va probablement me motiver pour améliorer encore dcmoto. Les thomsonistes ont donc beaucoup à gagner !


Avec autant d'emulateurs on aurait tendance a dire "What a mess!" ;) Mais si ca permet d'emuler les programmeur d'emulateurs.. c'est sans doute bon a prendre :D

sam.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 30 Aoû 2006, 17:43 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Daniel Coulom a écrit:


Impressionnant la quantite de machines emulees! (Meme un amiga!).

J'ai essaye l'emul TO9.. la prise en main ne m'a pas ete facile (GUI recalcitrante, il faut passer par la ligne de cmd), souris/lightpen pas emule, layout clavier bizzare.

Il m'afiche 100% de fps, mais je le trouve lent (c'est peut-etre parce que je fais marcher DCMoto a 400%). La vitesse est peut-etre trop fidele au TO9 ?

Par contre la palette a l'air de marcher comme il faut (inversion 8-15 avec 0-7 et couleur 1-6). J'ai teste sur une diskette d'images, et sur l'exemple bitmap4. Le son n'a pas l'air de marcher via le PIA musique&jeux (teste sur une diskette de samples que j'aie). Seul le son monobit passe. Pour le clavier &hE7C8 repond 1 quand une touche est appuyee. Par contre &HE7DF semble remonter des valeurs (principalement 5 et 0) qui n'ont pas de rapport avec le code ASCII (comme ca varie il doit y avoir une raison derriere mais je ne la saisi pas. Peut etre l'emul d'une souris branchee sur le clavier).

La chinese stack m'a fait un "device I/O error" en chargement sur TO8 :-(

sam.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 30 Aoû 2006, 18:18 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Samuel Devulder a écrit:
J'ai essaye l'emul TO9.. la prise en main ne m'a pas ete facile (GUI recalcitrante, il faut passer par la ligne de cmd), souris/lightpen pas emule, layout clavier bizzare.

Même impression :L Il y a encore des améliorations à apporter.

Samuel Devulder a écrit:
Il m'afiche 100% de fps, mais je le trouve lent (c'est peut-etre parce que je fais marcher DCMoto a 400%). La vitesse est peut-etre trop fidele au TO9 ?

C'est facile à tester en programmant une horloge basée sur les cycles du 6809. Sur mon PC l'occupation CPU avec Mess(TO8D) est de 16%, donc pas de raison de ralentissement. DCMOTO est plus économe (6% d'occupation CPU). A fond, il pourrait tourner à 1500% de la vitesse du 6809 !!!

Samuel Devulder a écrit:
Par contre la palette a l'air de marcher comme il faut (inversion 8-15 avec 0-7 et couleur 1-6).

C'est tout l'intérêt de la compétition : la version 9.4 de DCMOTO doit sortir !

Samuel Devulder a écrit:
La chinese stack m'a fait un "device I/O error" en chargement sur TO8 :-(

Attention, la disquette Chinese Stack a deux faces. As-tu monté les deux, en device 0 et en device 1 ?

Daniel


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 30 Aoû 2006, 18:36 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Daniel Coulom a écrit:
A fond, il pourrait tourner à 1500% de la vitesse du 6809 !!!


chiche? Ca serat bien un bouton "fullspeed" (plein pot en francais).

sam.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 30 Aoû 2006, 22:09 
Hors ligne

Inscription: 30 Aoû 2006, 20:05
Messages: 13
Localisation: Paris (France)
Bonjour,

Ici Antoine, l'auteur du driver MESS en question et c'est mon premier post.

Samuel Devulder a écrit:
Impressionnant la quantite de machines emulees! (Meme un amiga!).

MESS est connu pour émuler beaucoup de machines... pas toujours très bien. Beaucoup de gens y ont travaillé et y travaillent encore, donc ça devrait s'améliorer. Je ne suis pas affilié officelement à l'équipe MESS et je ne travaille que sur la partie Thomson. Comme c'est open-source, tout le monde peut participer!

Samuel Devulder a écrit:
la prise en main ne m'a pas ete facile (GUI recalcitrante, il faut passer par la ligne de cmd), souris/lightpen pas emule, layout clavier bizzare.

La GUI n'est effectivement pas super.
Une fois l'émulation lancée, il est possible de changer le layout clavier dans Options->Keyboard->Customize Emulated Keyboard (il faut le faire pour chaque machine, mais c'est sauvegardé automatiquement).
Je n'arrive pas non plus à faire marcher la souris depuis la version 108 :( Ca a l'air d'être un problème général avec tout MESS et cela ne dépend pas trop de moi.

Samuel Devulder a écrit:
Il m'afiche 100% de fps, mais je le trouve lent (c'est peut-etre parce que je fais marcher DCMoto a 400%). La vitesse est peut-etre trop fidele au TO9 ?

Si je ne me suis pas trompé, l'émulateur respecte la vitesse des Thomsons. Qui est lente. (Surtout pour lire les cassettes). MESS a un mode "throttle" pour accélerer les choses (mais j'ai l'impression qu'il est actuellement buggé et la case "throttle" est cochée quand le mode est désactivé au lieu de l'inverse).

A vitesse émulée égale, MESS consomera plus de resources CPU de l'hôte que DCMOTO. Ou, une autre manière de voir les choses: le mode "plein pot" n'ira pas à 1500%!
Ce n'est pas (que) parceque c'est mal programmé. C'est que l'émulation est assez "bas-niveau". Plustôt que d'émuler les routines du BIOS, je fais tourner les ROMs d'origine sur une émulation un peu fine du hardware.
C'est le cas en particuliar du clavier (facile sous MO5,TO7, dur sous TO8/TO9), souris, crayon optique (pas évident), lecteur de cassettes, controlleurs de disquettes (dur dur les disquettes!).

Samuel Devulder a écrit:
Par contre la palette a l'air de marcher comme il faut (inversion 8-15 avec 0-7 et couleur 1-6). J'ai teste sur une diskette d'images, et sur l'exemple bitmap4.

Je ne suis pas sûr de tous mes modes graphiques: je suis preneur de tout programme qui permet de les tester!
Mon émulation du système vidéo du TO9 est légèrement différente de celle des TO8/TO9+/MO6/MO5NR. D'un côté, le bit 3 (pastel) d'une entrée palette est inversé (j'ai cru voir ça quelque part dans le Manuel Technique). D'un autre coté, pour compenser, ce bit est re-inversé dans le décodage du mode video compatible TO7/70. Conclusion: le comportement paraît identique au TO8 sous ce mode et différent sous les autres modes. Je ne sais pas si c'est la bonne approche.

Samuel Devulder a écrit:
Le son n'a pas l'air de marcher via le PIA musique&jeux (teste sur une diskette de samples que j'aie). Seul le son monobit passe.

Je suis preneur de tout programme qui exhibe un bug!

Samuel Devulder a écrit:
Pour le clavier &hE7C8 repond 1 quand une touche est appuyee. Par contre &HE7DF semble remonter des valeurs (principalement 5 et 0) qui n'ont pas de rapport avec le code ASCII (comme ca varie il doit y avoir une raison derriere mais je ne la saisi pas. Peut etre l'emul d'une souris branchee sur le clavier).

&hE7C8 est effectivement à 1 dans l'émulateur tant qu'une touche est enfoncée (KTEST), et ce, même si le 6850 du clavier n'a pas de caractère à envoyer dans &hE7DF (par exemple, durant les 70ms de delai entre deux répétitions d'une touche).
Je ne sais pas si c'est censé être le cas, ou bien si KTEST n'est vrai que quand une touche est disponible dans le 6850.

Dès l'initialisation, le BIOS envoie un code $fd pour passer le clavier en "mode périphérique". Celui-ci envoie alors en continu des trains de quatre octets: code touche (0 si rien), souris X, souris Y, flag (le 5 vient de là, j'ai supposé que les bits 0 et 3 restaient à 1 tant que les deux boutons sont relâchés).
Là encore, je ne suis pas 100% sur. Je suis preneur de programme d'exemples utilisant la souris TO9 (elle est assez différente celle des TO8 et autres).

Désole pour la longueur de ce premier post (qu'on peut résumer par: plus on rentre dans les détails, plus ça devient obscur... ou comment l'émulation est dure).

Antoine.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 30 Aoû 2006, 22:58 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Antoine a écrit:
Bonjour,

Ici Antoine, l'auteur du driver MESS en question et c'est mon premier post.


Bonjour :)

Citation:
MESS est connu pour émuler beaucoup de machines... pas toujours très bien. Beaucoup de gens y ont travaillé et y travaillent encore, donc ça devrait s'améliorer. Je ne suis pas affilié officelement à l'équipe MESS et je ne travaille que sur la partie Thomson. Comme c'est open-source, tout le monde peut participer!


J'ai poste sur le newsgroup fr.comp.emulateurs un article sur Mess et ton travail. Je n'avais rien vu circuler la bas autour de Mess.


Citation:
(mais j'ai l'impression qu'il est actuellement buggé et la case "throttle" est cochée quand le mode est désactivé au lieu de l'inverse).


On dirait que c'est ca.

Citation:
C'est que l'émulation est assez "bas-niveau". Plustôt que d'émuler les routines du BIOS, je fais tourner les ROMs d'origine sur une émulation un peu fine du hardware.
C'est le cas en particuliar du clavier (facile sous MO5,TO7, dur sous TO8/TO9), souris, crayon optique (pas évident), lecteur de cassettes, controlleurs de disquettes (dur dur les disquettes!).


prehisto a l'air de s'y connaitre en controleur de D7 thomson. Visiblement il y a pas mal de difference entre les gammes a ce niveau.

Citation:
Je ne suis pas sûr de tous mes modes graphiques: je suis preneur de tout programme qui permet de les tester!


Ben les demos sont un bon moyen. HCL a l'air de passer. La synchro ligne a l'air OK pour les rasters, mais pour la demo qui melange les resolution sur la ligne (la partie ou il est ecrit HCL en 3D isometrique en mode 80 cols au centre de l'ecran) a quelques pbs. On dirait que les timings 6809e sont pas strictement identiques. En tout cas le changement de resolution vertical marche lui dans la partie qui affiche les differents modes graphiques sur le meme ecran.

Citation:
Mon émulation du système vidéo du TO9 est légèrement différente de celle des TO8/TO9+/MO6/MO5NR. D'un côté, le bit 3 (pastel) d'une entrée palette est inversé (j'ai cru voir ça quelque part dans le Manuel Technique). D'un autre coté, pour compenser, ce bit est re-inversé dans le décodage du mode video compatible TO7/70. Conclusion: le comportement paraît identique au TO8 sous ce mode et différent sous les autres modes. Je ne sais pas si c'est la bonne approche.


Dans la doc to8 dispo sur le site de dcmoto (manuel technique des to8/9/9+) il y a l'explication du decodage de l'octet E7DC avec les differents aspects: L'inversion du bit pastel, l'activation du mode transcodage qui decale le bits 4-6 en 5-7 et insertion du bit pastel (inverse) en 4, puis le decodage de ce bit suivant le mode video: TO7, col80, bm4, bm4 special ou bm16.

Citation:
Je suis preneur de tout programme qui exhibe un bug!


La chinese stack a des sons digitalises. Par contre elle passe pas dans l'emul. Je crois que c'est prehisto qui s'est occupe du systeme disk de la chinese stack, il sera peut-etre pourquoi.

Citation:
&hE7C8 est effectivement à 1 dans l'émulateur tant qu'une touche est enfoncée (KTEST), et ce, même si le 6850 du clavier n'a pas de caractère à envoyer dans &hE7DF (par exemple, durant les 70ms de delai entre deux répétitions d'une touche).
Je ne sais pas si c'est censé être le cas, ou bien si KTEST n'est vrai que quand une touche est disponible dans le 6850.


je ne sais plus.. il me semble que le manuel tehcnique n'est pas super clair. A l'epoque je peek()ais dedans sans m'occuper de l'auto-repeat. Apparement d'apres le manuel, le bit KTST vient directement du µP du clavier sur une ligne separee de celle transmettant le code ascii serie. La page 75 sur le 6821 dit que PA0 (KTST) contient un 1 envoye par le clavier a chaque appui sur une touche. Il semble que ton hypothese est correcte.

Citation:
Je suis preneur de programme d'exemples utilisant la souris TO9 (elle est assez différente celle des TO8 et autres).


Perso je dirais que si les routines du moniteur acceptent sans broncher l'emul clavier en mode peripherique tu peux etre rassure sur l'emulation du chip clavier.

Citation:
Désole pour la longueur de ce premier post (qu'on peut résumer par: plus on rentre dans les détails, plus ça devient obscur... ou comment l'émulation est dure).


Tu ne vas pas nosu faire croire que ceux qui sont a l'ENS n'aiment pas les defits meme ceux qui sont inutiles ... aux yeux de certains qui ne sont pas sur ce forum ;) )

Bon boulot! plus proche d'un simulateur temps reel finalement, mais donc plus fidele a terme.

A propos de simulation temps reel et fidelite meme au niveau des signaux circulant sur les bus.. personne n'a encore eu l'idee tordue de faire un TO9/8/9+ dans un FPGA (circuit reconfigurable) ? Il y a des cores VHDL 6809e (et me 6309) libre et dans un spartan il y a de la place pour coller tous les circuits d'un THOMSON je presume (on y met bien des Amstrad, des C64, et meme des A500 avec tous ses chips gfx copper et son).

Sam.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 30 Aoû 2006, 23:30 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Antoine a écrit:
Je n'arrive pas non plus à faire marcher la souris depuis la version 108 :( Ca a l'air d'être un problème général avec tout MESS et cela ne dépend pas trop de moi.


En fait il faut passer par les fleches du clavier!

sam (decouvert par hasard en testant les D7 que je t'envois pour tester MESS. A ce propos l'emul "amiga" a un pb avec les couleurs.. le rouge (2) et le blanc (1) sont inversees).


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 31 Aoû 2006, 00:14 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 492
Felicatations pour ce nouvel emulateur et tres beau travail :jap:


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 31 Aoû 2006, 00:19 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 492
Daniel Coulom a écrit:
Au départ je lui ai donné quelques éléments, en particulier les roms des machines


C'est mon TO9+ qui est a nouveau dans l'emulateur ? :rs:


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 31 Aoû 2006, 07:35 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Yoann Riou a écrit:
C'est mon TO9+ qui est a nouveau dans l'emulateur ? :rs:

Et grâce à ce don, ton TO9+ n'est pas tout à fait mort et vivra encore longtemps :tourne:

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 31 Aoû 2006, 07:42 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Samuel Devulder a écrit:
A propos de simulation temps reel et fidelite meme au niveau des signaux circulant sur les bus.. personne n'a encore eu l'idee tordue de faire un TO9/8/9+ dans un FPGA (circuit reconfigurable) ?

L'idée tordue : oui
Le courage : pas encore :L

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 31 Aoû 2006, 10:55 
Hors ligne

Inscription: 30 Aoû 2006, 20:05
Messages: 13
Localisation: Paris (France)
Samuel Devulder a écrit:
pour la demo qui melange les resolution sur la ligne (la partie ou il est ecrit HCL en 3D isometrique en mode 80 cols au centre de l'ecran) a quelques pbs.

Est-ce que la démo change le mode plusieurs fois par ligne?
Ce n'est pas prévu par l'émulateur qui garde une seule information de mode par ligne (de même qu'une seule palette).
Je suis parti du principe que les programmeurs changeraient toujours ces paramètres pendant le retour de balaygae horizontal (on fait ca avec la palette pour eviter l'effet 'neige')!

Au passage, quelqu'un sait il ce qu'il se passe si on change de numéro de page affichée (&HE7DD) au milieu d'une image (est-ce pris en compte tout de suite, ou seulement au début de la prochaine image?)

Samuel Devulder a écrit:
Dans la doc to8 dispo sur le site de dcmoto (manuel technique des to8/9/9+) il y a l'explication du decodage de l'octet E7DC avec les differents aspects:

Apperemment, mon mode 80-colonnes TO9 est buggé car un CONSOLE,,,,1 donne du cyan sur fond noir.
En fait, j'avais mappé la couleur forme du mode 80 sur l'entrée palette SBVR=0001 alors que le manuel dit que c'est SBVR=0110. En corrigeant ca me fait du rouge sur fond noir, mais le cardre rèste toujours cyan. C'est bon?
Sur le TO8, le CONSOLE ne reprogramme pas l'entrée palette, donc pour avoir toujours du rouge, il faut que je laisse la couleur forme comme avant (i.e., PBVR=0001, car l'entrée palette Saturation se transforme en Pastel).

J'en déduis que la correspondance mémoire video => entrée palette a changé entre le TO9 et le TO8.
Le Manuel Technique explique bien les choses pour le TO9.
Pour le TO8, il se contente de dire que les couleurs sont différentes.

Au passage, est-il normal que le fond de l'écran d'acceuil du TO9 soit un peu verdâtre par rapport au beau cyan des TO7, TO8, TO9+ ?

J'ai probablement d'autres bugs de couleurs sur les modes un peu exotiques et pas trop testés (modes pages et surimpositions...).

Tiens, (encore) une autre question. Que se passe-t-il si on met une valeur non documentée dans &HE7DC? Peut-on obtenir, disons, un mode 160x200 monochrome?

Samuel Devulder a écrit:
La chinese stack a des sons digitalises. Par contre elle passe pas dans l'emul.

Chez moi, j'entend un bruit de vagues sur le premier écran
(avec, justement, un bateau), mais plus rien après.
Est-ce normal?
J'ai remarqué aussi que le TO8(D) est le seul à ne pas avoir de buzzer 1-bit (surement à cause du son 6-bit intégré).

Samuel Devulder a écrit:
Tu ne vas pas nosu faire croire que ceux qui sont a l'ENS n'aiment pas les defits meme ceux qui sont inutiles ...

Aïe, je suis repéré!

Samuel Devulder a écrit:
A propos de simulation temps reel et fidelite meme au niveau des signaux circulant sur les bus.. personne n'a encore eu l'idee tordue de faire un TO9/8/9+ dans un FPGA (circuit reconfigurable) ? Il y a des cores VHDL 6809e (et me 6309) libre et dans un spartan il y a de la place pour coller tous les circuits d'un THOMSON je presume (on y met bien des Amstrad, des C64, et meme des A500 avec tous ses chips gfx copper et son).

Alors là, je suis enfoncé.
J'avais comme projet inutile d'émuler le clavier des TO8 et TO9 en faisant tourner le 6804 ou 6805 en parallèle avec le CPU pour améliorer la fidélité (d'ailleurs, quelqu'un a-t-il les ROMs des controlleurs clavier?). Mais ça parait un peu trivial à côté!

Antoine


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 31 Aoû 2006, 11:03 
Hors ligne

Inscription: 30 Aoû 2006, 20:05
Messages: 13
Localisation: Paris (France)
Yoann Riou a écrit:
Felicatations pour ce nouvel emulateur et tres beau travail :jap:

Merci beaucoup!

Merci également pour la ROM du TO9+. Ainsi qu'à tous les contributeurs que je ne connais pas pour leurs ROMs et leurs docs scannées.
J'aimerais bien mettre la main sur des ROMs un peu exotiques. J'ai récupéré celle du TO7/70 arabe de Sylvain Huet.
Qu'en est-il des ROMs avec écrans d'acceuil alternatifs?

Antoine.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 31 Aoû 2006, 12:37 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
En réponse globale aux multiples questions d'Antoine : je crois que toute la doc et toutes les roms connues sont disponibles sur internet. Nous sommes tous contraints de rechercher les informations manquantes en étudiant les schémas et en désassemblant les programmes. L'intérêt d'être plus nombreux pour partager le travail est évident, et l'arrivée récente dans ce forum d'éminents spécialistes Thomson est de bonne augure. Le moral des troupes est passé par des points bas, il va remonter :)

Plus précisément : dans toutes les démos, le mode écran et/ou la palette ne changent qu'entre les lignes. DCMOTO affiche aussi ligne par ligne, et les démos HCL et Chinese Stack fonctionnent bien. Pour cette dernière, le timing doit être précis pour que le changement de palette intervienne après (et pas avant) l'affichage de la ligne. Il y a du son dans Chinese Stack, en particulier la voix de madame Yoann pendant l'affichage des caractères chinois, la bande sonore de la séquence video et la musique de la page "credits".
Le changement de page video est instantané, sauf erreur de ma part. En général les programmeurs attendent la VBL pour le faire (les spécialistes du groupe Puls pourront en dire plus).

Daniel


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

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 19 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