DCMOTO - comptage du nombre de cycles
Modérateurs : Papy.G, fneck, Carl
DCMOTO - comptage du nombre de cycles
Bonjour,
J'ai une demande d'évolution pour DCMOTO :
Ajouter, dans l'outil de mise au point, un champ pour afficher le nombre de cycles processeur écoulé depuis le dernier point d'arrêt :
- à la pause sur le premier point d'arrêt depuis le dernier reset (hard ou soft), on affiche la valeur du nombre de cycles depuis le reset
- à la pause sur le second point d'arrêt et les suivants on affiche la valeur du nombre de cycles écoulé entre les deux points d'arrêts
- si la valeur dépasse la capacité du compteur de cycle, on affiche overflow (ou dépassement )
Un entier sur 32bits suffirait largement à afficher le nombre de cycles
Cette fonction simplifierai le comptage de cycles dans le cas de programmes avec de nombreux branchements.
@Daniel : Penses-tu que ce soit réalisable ? Vois tu une meilleure solution, ou peux t-on déjà le faire d'une autre manière dans DCMOTO ?
Au passage: merci beaucoup pour ce superbe émulateur,
Benoît.
J'ai une demande d'évolution pour DCMOTO :
Ajouter, dans l'outil de mise au point, un champ pour afficher le nombre de cycles processeur écoulé depuis le dernier point d'arrêt :
- à la pause sur le premier point d'arrêt depuis le dernier reset (hard ou soft), on affiche la valeur du nombre de cycles depuis le reset
- à la pause sur le second point d'arrêt et les suivants on affiche la valeur du nombre de cycles écoulé entre les deux points d'arrêts
- si la valeur dépasse la capacité du compteur de cycle, on affiche overflow (ou dépassement )
Un entier sur 32bits suffirait largement à afficher le nombre de cycles
Cette fonction simplifierai le comptage de cycles dans le cas de programmes avec de nombreux branchements.
@Daniel : Penses-tu que ce soit réalisable ? Vois tu une meilleure solution, ou peux t-on déjà le faire d'une autre manière dans DCMOTO ?
Au passage: merci beaucoup pour ce superbe émulateur,
Benoît.
Re: DCMOTO - comptage du nombre de cycles
C'est une bonne idée, utile et probablement réalisable. Je ne promets rien mais je vais regarder. Réponse ici dans quelques jours...
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: DCMOTO - comptage du nombre de cycles
Nouvelle version de "dcmoto nouveau" : http://dcmoto.free.fr/emulateur/dcmoto_20201108.zip
La boîte de dialogue de l'outil de mise au point affiche le nombre de cycles depuis le dernier arrêt.
- En mode "pas à pas" : c'est le nombre de cycles de la dernière instruction exécutée.
- En mode "subroutine" : c'est le nombre de cycles exécutés par la subroutine, en comptant l'appel et le retour.
- En mode "jusqu'au point d'arrêt" : c'est le nombre de cycles depuis le dernier arrêt.
Tout n'a pas été parfaitement testé. S'il y a un problème n'hésitez pas à le signaler.
La boîte de dialogue de l'outil de mise au point affiche le nombre de cycles depuis le dernier arrêt.
- En mode "pas à pas" : c'est le nombre de cycles de la dernière instruction exécutée.
- En mode "subroutine" : c'est le nombre de cycles exécutés par la subroutine, en comptant l'appel et le retour.
- En mode "jusqu'au point d'arrêt" : c'est le nombre de cycles depuis le dernier arrêt.
Tout n'a pas été parfaitement testé. S'il y a un problème n'hésitez pas à le signaler.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: DCMOTO - comptage du nombre de cycles
Excellent !
Daniel tu es au top
Daniel tu es au top
Re: DCMOTO - comptage du nombre de cycles
Bah non, je ne suis pas au top, je n'ai pas pensé moi-même à ajouter cette fonction. Merci d'avoir eu l'idée pour moi.
Le nombre de cycles est indispensable pour synchroniser le son ou l'affichage, et son calcul à la main est très pénible. Le calcul par ordinateur est une aide appréciable que tous les programmeurs de démos vont certainement utiliser. Je n'ai pas travaillé pour rien
Nota: En cas d'overflow le compteur boucle. Comme il est affiché périodiquement sa remise à zéro ne passe pas inaperçue.
Le nombre de cycles est indispensable pour synchroniser le son ou l'affichage, et son calcul à la main est très pénible. Le calcul par ordinateur est une aide appréciable que tous les programmeurs de démos vont certainement utiliser. Je n'ai pas travaillé pour rien
Nota: En cas d'overflow le compteur boucle. Comme il est affiché périodiquement sa remise à zéro ne passe pas inaperçue.
Dernière modification par Daniel le 08 nov. 2020 13:38, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: DCMOTO - comptage du nombre de cycles
Excellent.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: DCMOTO - comptage du nombre de cycles
Il reste un travail non négligeable pour le développeur : En cas de branchement conditionnel, il faut que les deux voies possibles aient le même nombre de cycles. Je ne sais pas comment faciliter la tâche avec l'émulateur.
C'est plutôt un programme indépendant qui pourrait aider à équilibrer les branches en analysant le code généré.
C'est plutôt un programme indépendant qui pourrait aider à équilibrer les branches en analysant le code généré.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: DCMOTO - comptage du nombre de cycles
c6809 affiche dans le fichier *.lst le comptage des cycles.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: DCMOTO - comptage du nombre de cycles
De mon coté je compte utiliser cette nouvelle fonction de dcmoto pour compter le nombre de cycles restant avant le rafraichissement de l'écran, ça évite de faire la somme d'un chemin de l'arbre d'appel (surtout avec les boucles). Mais c'est vrai que dans certains cas on échappe pas au comptage manuel (avec l'aide de la balise (info) de c6809, ça aide quand même pas mal).
Re: DCMOTO - comptage du nombre de cycles
Dans dcmoto le désassembleur affiche le nombre de cycles et on peut récupérer la liste dans un fichier texte. Mais le comptage reste manuel.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: DCMOTO - comptage du nombre de cycles
Super comme par hasard le jour où je me posais la question sur les cycles, ça tombe pile
merci.
Extra, j'ai mis un point d'arrêt et en 1 clic je sais que m'a boucle principale du jeu fais entre 143742 et 147025 cycles
c'est the clic grandiose !
vraiment top.
merci.
Extra, j'ai mis un point d'arrêt et en 1 clic je sais que m'a boucle principale du jeu fais entre 143742 et 147025 cycles
c'est the clic grandiose !
vraiment top.
Re: DCMOTO - comptage du nombre de cycles
DCMOTO devient un outil complet et incontournable. C'est du bon boulot
Re: DCMOTO - comptage du nombre de cycles
La recette est simple : A chaque demande des utilisateurs (dont je fais aussi partie) j'intègre la fonction demandée si elle paraît judicieuse.
Mais ne vous y trompez pas : il y a un gros filtrage. Presque toutes les demandes des développeurs sont réalisées immédiatement, par contre je refuse systématiquement tout ce qui pourrait transformer les ordinateurs Thomson en consoles de jeu, par exemple le lancement automatique en cliquant sur un fichier ou les options permettant d'utiliser dcmoto avec un front-end.
Il y a deux mots magiques pour m'énerver : "rom full-set" et "front-end".
Une cassette n'est pas une ROM, pas plus qu'une disquette ou un Quick Disk. Les jeunes l'ignorent probablement.
Pour utiliser un ordinateur Thomson il faut le mériter, savoir lire la documentation et apprendre les procédures de lancement des applications.
Mais ne vous y trompez pas : il y a un gros filtrage. Presque toutes les demandes des développeurs sont réalisées immédiatement, par contre je refuse systématiquement tout ce qui pourrait transformer les ordinateurs Thomson en consoles de jeu, par exemple le lancement automatique en cliquant sur un fichier ou les options permettant d'utiliser dcmoto avec un front-end.
Il y a deux mots magiques pour m'énerver : "rom full-set" et "front-end".
Une cassette n'est pas une ROM, pas plus qu'une disquette ou un Quick Disk. Les jeunes l'ignorent probablement.
Pour utiliser un ordinateur Thomson il faut le mériter, savoir lire la documentation et apprendre les procédures de lancement des applications.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Sebiohazard
- Messages : 425
- Inscription : 30 avr. 2019 15:07
Re: DCMOTO - comptage du nombre de cycles
Salut Daniel !
Est-ce que le code source de DCMOTO est libre de droit ? Si une personne a les compétences d'ajouter une fonctionnalité à DCMOTO, peut-elle le faire ?
Salutations !
Est-ce que le code source de DCMOTO est libre de droit ? Si une personne a les compétences d'ajouter une fonctionnalité à DCMOTO, peut-elle le faire ?
Salutations !