désassemblage de jeux

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Répondre
nouvelhermes
Messages : 401
Inscription : 22 juil. 2020 20:56

désassemblage de jeux

Message par nouvelhermes »

Bonjour à tous,

J'aimerais parler de désassemblage de jeux sur MO5 écrits partiellement ou totalement en assembleur, et faire part de mes recherches.

Pour l'instant j'aimerais m'adresser aux modérateurs, est-ce qu'un tel sujet pose problème ?

En attendant la réponse, je voudrais préciser :

j'utilise principalement deux outils :
- l'émulateur DCMO5 version 6.7 (DOS32) de Daniel Coulom avec la cartouche assembleur (et son fabuleux moniteur)
- le désassembleur IDA (version 6.8)

Si c'est OK, je commencerai par décrire une routine d'affichage d'image que l'on retrouve dans tous les jeux Infogrames que j'ai pu tester jusqu'ici.

En fait, j'ai déjà posté ce message sur le forum logicielsmoto.com, il y a quelques jours, et je n'ai toujours pas reçu de réponse, il est probable que cela soit hors-sujet sur un forum Thomson. Toutes mes excuses par avance.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: désassemblage de jeux

Message par __sam__ »

Petit aparté: logicielsmoto est juste un peu "endormi". Les gens y passent tous les 36 du mois, ce qui fait qu'il n'y a pas souvent de réponse aux messages.
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
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: désassemblage de jeux

Message par Markerror »

Bonjour,

Le sujet est intéressant, mais à mon avis, ce n'est pas sur un forum qu'il doit être traité, mais sur un site perso, ne serait-ce que pour une meilleure visibilité. Après, je ne vois pas trop en quoi décortiquer le code de vieux programmes pour mettre en lumière les astuces des auteurs (ou les bugs :-) ) poserait problème.
Avatar de l’utilisateur
Gege34
Messages : 639
Inscription : 25 avr. 2015 22:35
Localisation : 31

Re: désassemblage de jeux

Message par Gege34 »

Très bonne idée, et effectivement plus sur un site perso ou blog pour que ça ne se perde pas.
Commodore (64/128/Amiga), HP (28/41/48/50/71/75/200/Prime) et autres (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl, Amstrad)
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: désassemblage de jeux

Message par jasz »

nouvelhermes a écrit : 22 juil. 2020 21:01 Pour l'instant j'aimerais m'adresser aux modérateurs, est-ce qu'un tel sujet pose problème ?
Pas que je sache ;)

L'idée est intéressante si elle peut apporter un plus aux nombreux bidouilleurs qui débutent avec le LM du Thomson :)
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17424
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: désassemblage de jeux

Message par fneck »

nouvelhermes a écrit : 22 juil. 2020 21:01 Pour l'instant j'aimerais m'adresser aux modérateurs, est-ce qu'un tel sujet pose problème ?
Pour ma part je ne vois pas de problème, pourquoi ?

Nota: j'ai juste déplacé le topic dans la catégorie adaptée.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: désassemblage de jeux

Message par Fool-DupleX »

Il y a des années en arrière, prehisto et moi-même avons entièrement désassemblé Mandragore. J'espérais y trouver un easter egg mais il n'y en a pas. Par contre, il y a beaucoup de marge pour optimiser le code et la vitesse. On y trouve même des zones de variables non initialisées avec des résidus de code mort, autrement dit du temps de chargement inutile, alors même que le chargement sur cassette est interminable :D
Jacobert
Messages : 572
Inscription : 18 janv. 2018 23:30
Localisation : Paris

Re: désassemblage de jeux

Message par Jacobert »

Gege34 a écrit : 23 juil. 2020 08:34 Très bonne idée, et effectivement plus sur un site perso ou blog pour que ça ne se perde pas.
Un site perso a plus de chance de disparaître rapidement qu'un forum.
Jacobert
Messages : 572
Inscription : 18 janv. 2018 23:30
Localisation : Paris

Re: désassemblage de jeux

Message par Jacobert »

Fool-DupleX a écrit : 24 août 2020 10:15 ...On y trouve même des zones de variables non initialisées avec des résidus de code mort, autrement dit du temps de chargement inutile, alors même que le chargement sur cassette est interminable :D
Ce code mort, ne proviendrait-il pas de conversion de code d'une machine à une autre?

Serait-il possible d'optimiser ce jeu et donc d'accroître sa vitesse?
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: désassemblage de jeux

Message par Daniel »

Réponse : non à la première question, oui à la deuxième.
Daniel
L'obstacle augmente mon ardeur.
Jacobert
Messages : 572
Inscription : 18 janv. 2018 23:30
Localisation : Paris

Re: désassemblage de jeux

Message par Jacobert »

Qui se charge de l'optimiser? :)
nouvelhermes
Messages : 401
Inscription : 22 juil. 2020 20:56

Re: désassemblage de jeux

Message par nouvelhermes »

En ce qui concerne Mandragore, il ne faut oublier qu'il s'agit à la base d'une conversion d'un jeu ayant été produit originellement sur C64 et que les conversions n'ont pas été pensées lorsque le jeu a été écrit, donc il y a pas mal de code émulant par exemple les "sprites" du C64, avec une efficacité relative.

Si le jeu a été désassemblé, serait-il possible de le publier quelque part ? Pour ne pas refaire un travail déjà fait.

Oméga Planète Invisible est une reprise du moteur de Mandragore corrigé de la plupart de ses bugs (et peut-être optimisé?)

Pour revenir à Mandragore, une partie du chargement de CREAT.BIN, avec un morceau de code source dedans.

Une autre façon d'optimiser serait de faire sauter toutes les protections contre la copie qui font perdre inutilement du temps.

Quelqu'un a-t-il déjà désassemblé "l'aigle d'or", parce que là c'est un foutoir sans nom, on comprend aisément pourquoi le jeu est si lent.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: désassemblage de jeux

Message par Daniel »

Il ne faut pas confondre les programmes en assembleur et les programmes Basic. L'Aigle d'Or est écrit en Basic, il ne faut pas le désassembler, il faut lister le programme Basic. On voit qu'il appelle quelques rares routines en langage machine, celles-ci on peut les désassembler.
Daniel
L'obstacle augmente mon ardeur.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: désassemblage de jeux

Message par jasz »

Le Temple de Quauhtli qui en est un clone mais en assembleur cette fois, est un poil plus rapide
Répondre