DCMOTO - comptage du nombre de cycles

Couvre tous les domaines de l'émulation ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Bentoc
Messages : 178
Inscription : 14 sept. 2019 13:35
Localisation : Var - France

DCMOTO - comptage du nombre de cycles

Message par Bentoc »

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 :D )

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.
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO - comptage du nombre de cycles

Message par Daniel »

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.
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO - comptage du nombre de cycles

Message par Daniel »

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.

debug.png
debug.png (26.21 Kio) Consulté 6611 fois
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jojo
Messages : 667
Inscription : 13 mai 2007 13:27
Localisation : Entre la France, la Suisse et l'Italie ... dans la vallée du bien décolleté.

Re: DCMOTO - comptage du nombre de cycles

Message par jojo »

Daniel a écrit : 08 nov. 2020 08:20 ....Réponse ici dans quelques jours...
:shock: Demande faite à 7h54, réponse à 10h30 ! :wink:
Bentoc
Messages : 178
Inscription : 14 sept. 2019 13:35
Localisation : Var - France

Re: DCMOTO - comptage du nombre de cycles

Message par Bentoc »

Excellent !
Daniel tu es au top 8)
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO - comptage du nombre de cycles

Message par Daniel »

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 :wink:

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.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: DCMOTO - comptage du nombre de cycles

Message par __sam__ »

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
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO - comptage du nombre de cycles

Message par Daniel »

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é.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: DCMOTO - comptage du nombre de cycles

Message par __sam__ »

Daniel a écrit : 08 nov. 2020 18:12 C'est plutôt un programme indépendant qui pourrait aider à équilibrer les branches en analysant le code généré.
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
Bentoc
Messages : 178
Inscription : 14 sept. 2019 13:35
Localisation : Var - France

Re: DCMOTO - comptage du nombre de cycles

Message par Bentoc »

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).
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO - comptage du nombre de cycles

Message par Daniel »

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.
Avatar de l’utilisateur
adnz
Messages : 212
Inscription : 10 janv. 2010 00:07

Re: DCMOTO - comptage du nombre de cycles

Message par adnz »

Super comme par hasard le jour où je me posais la question sur les cycles, ça tombe pile :o

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.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: DCMOTO - comptage du nombre de cycles

Message par jasz »

DCMOTO devient un outil complet et incontournable. C'est du bon boulot 8)
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO - comptage du nombre de cycles

Message par Daniel »

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.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Sebiohazard
Messages : 425
Inscription : 30 avr. 2019 15:07

Re: DCMOTO - comptage du nombre de cycles

Message par Sebiohazard »

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 !
Image
Répondre