Page 1 sur 1

Mon petit désassembleur

Publié : dim. 21 nov. 2010 18:18
par Tanuki
Voici le petit désassembleur que j'avais fait pour étudier le code de Son Son II.

Ce n'est pas un truc sophistiqué comme celui de Mooz, mais bon, peut-être que celà intéréssera quelqu'un (c'est sous Win32).

Ce serai chouette si quelqu'un pouvait le sauver de ce lien extrémement temporaire...

http://www.mediafire.com/?nq6lb1dxp2vnssy (pcedasm.zip)

Re: Mon petit désassembleur

Publié : dim. 21 nov. 2010 20:40
par touko
C'est sympa, mais perso j'en utilise pas .. :(

Re: Mon petit désassembleur

Publié : dim. 21 nov. 2010 20:45
par MooZ
Pourquoi tu ne mettrais pas les sources sur un truc genre github ou gitorious?

Re: Mon petit désassembleur

Publié : dim. 21 nov. 2010 21:32
par Tanuki
Voici un nouveau lien. (le source est dedans)

http://www.mediafire.com/?nq6lb1dxp2vnssy (pcedasm.zip)

Re: Mon petit désassembleur

Publié : dim. 21 nov. 2010 22:49
par Tanuki
Avis à la population:

Pour tous ceux qui ont eu des problèmes pour télécharger: le lien du dessus fonctionne.
(il sera supprimé après 21 jours sans téléchargements)

Merci à Mooz pour son aide.

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 00:55
par Mathdea
Merci à toi de nous faire partager cet utilitaire.

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 09:57
par touko
Bon je sais bien que je vais me faire lyncher, mais un debugger, personne ne se sentirai d'en faire un ??? :mrgreen:

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 14:18
par MooZ
Il y a celui de mednafen (alt+d pour l'avoir). Mais c'est de l'asm.
Si tu veux faire un debugger C il faudrait générer des infos de ... debug soit dans la rom, soit dans un fichier annexe que tu devras filer à l'émulateur. En gros... des heures de souffrance pour le développeur :)

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 16:28
par touko
Ok merci, on va rester au put_number, put_hex, et put_string alors :wink:

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 18:34
par xav
Ok merci, on va rester au put_number, put_hex, et put_string
A la rigueur, si les infos que tu veux visualiser sont très simpliste, tu peux utiliser la bordure de l'écran, c'est la couleur 0 de la première palette sprite, comme ça:
/* Tu définie d'abord quelque couleurs ( sur 9bits) */
#define BLACK 0x0000
#define GREEN 0x01C0
#define RED 0x0038
#define BLUE 0x0007

/* Puis tu place cette ligne à l'endroit de ton code ou tu veux avoir une info visuelle */
set_color(256, RED);
Ça ne gène pas le gameplay et en utilisant la compilation conditionnel tu peut méme le laisser dans ton code tout le temps, style IFDEF DEBUG :wink:

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 20:41
par MooZ
Sinon tu peux utiliser l'interruption 2 avec l'instruction brk. Tu peux t'en servir comme d'un assert. Si un test échoue (mauvaise valeur, etc...). Paf tu exécutes l'instruction. Ou un solution plus brutale consiste à passer par le port d'extension. Par exemple si tu as un arduino, tu cables un pin sur la pin B21. Comme ça tu pourras déclencher l'interruption depuis ton PC :)
Pour revenir à l'irq2... tu codes une sorte de mode debug qui backup et stoppe certains trucs (sauvegarde de le BAT, arret du player audio). Et ensuite tu affiches ce qui t'intéresse.

Re: Mon petit désassembleur

Publié : lun. 29 nov. 2010 20:51
par touko
Ouaip, l'astuce de xav est pas mal, assez simple en fait ..

Celle de mooz est plus pro, mais bon là c'est un peu difficult pour moi :oops: