désassemblage de Vera Cruz (version MO5)

Cette catégorie traite de développements récents destinés à 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 : 406
Inscription : 22 juil. 2020 20:56

désassemblage de Vera Cruz (version MO5)

Message par nouvelhermes »

Bonjour,

Comme ça n'a pas l'air de poser de problèmes, je vais proposer le désassemblage d'un premier jeu.

(Pour ceux qui ont proposé une page perso, je vais aussi le faire, l'intérêt d'un forum c'est qu'il y a du monde qui passe et qui peut répondre aux messages).

On parlera ici de la version MO5.

Le jeux est composé de deux parties.

Lors du chargement de la version K7, il y a d'abord le chargement d'un loadeur suivi d'une page "INFOGRAMES PRESENTE", une page de présentation et un programme en BASIC (le jeu).

Globalement dans le jeu, il n'y a qu'une seule routine en assembleur, (et un peu d'enrobage pour la page de présentation et le tatou).

Pour les adresses (en hexadécimal)

3006 : début de la page noire
300A-3014 : affichage de texte "PRESENTE VERA CRUZ"
3014-30AA : dessin du tatou
30AA suite du chargement


Pour la page de présentation

9ED5-9EE3 : page blanche et affuchage de "1ère partie"
9EE3 : affichage du dossier et des menottes
9EEE suite du chargement du programme

et notre fameuse routine, la seule réellement utilisée par le jeu :
9F43-9FEC
nouvelhermes
Messages : 406
Inscription : 22 juil. 2020 20:56

Re: désassemblage de Vera Cruz (version MO5)

Message par nouvelhermes »

Voici pour l'nstant la routine sans commentaires

Code : Tout sélectionner

9f43 347f      4    PSHS  U,Y,X,DP,B,A,CC
9f45 1a50      .P   ORCC  #$50
9f47 86a0      ..   LDA   #$a0
9f49 f69f42    ..B  LDB   $9f42
9f4c 58        X    ASLB  
9f4d 3d        =    MUL   
9f4e fb9f41    ..A  ADDB  $9f41
9f51 8900      ..   ADCA  #$00
9f53 fd9f3a    ..:  STD   $9f3a
9f56 fd9f3c    ..<  STD   $9f3c
9f59 10ff9f3f  ...? STS   $9f3f
9f5d 10cea7c0  .... LDS   #$a7c0
9f61 fe9f3c    ..<  LDU   $9f3c
9f64 be9f30    ..0  LDX   $9f30
9f67 ec81      ..   LDD   ,X++
9f69 fd9f32    ..2  STD   $9f32
9f6c bf9f36    ..6  STX   $9f36
9f6f 58        X    ASLB  
9f70 3d        =    MUL   
9f71 318b      1.   LEAY  D,X
9f73 10bf9f34  ...4 STY   $9f34
9f77 f69f32    ..2  LDB   $9f32
9f7a 58        X    ASLB  
9f7b 5a        Z    DECB  
9f7c f79f3e    ..>  STB   $9f3e
9f7f 7f9f39    .9  CLR   $9f39
9f82 f69f33    ..3  LDB   $9f33
9f85 f79f38    ..8  STB   $9f38
9f88 a6e4      ..   LDA   ,S
9f8a 8a01      ..   ORA   #$01
9f8c a7e4      ..   STA   ,S

9f8e 6ae4      j.   DEC   ,S
9f90 a680      ..   LDA   ,X+
9f92 c608      ..   LDB   #$08
9f94 a7c4      ..   STA   ,U
9f96 33c828    3.(  LEAU  $28,U
9f99 5a        Z    DECB  
9f9a 26f8      &.   BNE   $9f94
9f9c 6ce4      l.   INC   ,S
9f9e e684      ..   LDB   ,X
9fa0 8608      ..   LDA   #$08
9fa2 3d        =    MUL   
9fa3 f39f34    ..4  ADDD  $9f34
9fa6 1f02      ..   TFR   D,Y

9fa8 fe9f3c    ..<  LDU   $9f3c
9fab c608      ..   LDB   #$08
9fad a6a0      ..   LDA   ,Y+
9faf a7c4      ..   STA   ,U
9fb1 33c828    3.(  LEAU  $28,U
9fb4 5a        Z    DECB  
9fb5 26f6      &.   BNE   $9fad
9fb7 7a9f38    z.8  DEC   $9f38
9fba 2709      '.   BEQ   $9fc5
9fbc f69f3e    ..>  LDB   $9f3e
9fbf 3a        :    ABX   
9fc0 ff9f3c    ..<  STU   $9f3c
9fc3 20c9       .   BRA   $9f8e

9fc5 7a9f32    z.2  DEC   $9f32
9fc8 271e      '.   BEQ   $9fe8
9fca f69f39    ..9  LDB   $9f39
9fcd 5c        \    INCB  
9fce f79f39    ..9  STB   $9f39
9fd1 be9f3a    ..:  LDX   $9f3a
9fd4 3a        :    ABX   
9fd5 bf9f3c    ..<  STX   $9f3c
9fd8 fe9f3c    ..<  LDU   $9f3c
9fdb be9f36    ..6  LDX   $9f36
9fde 58        X    ASLB  
9fdf 3a        :    ABX   
9fe0 f69f33    ..3  LDB   $9f33
9fe3 f79f38    ..8  STB   $9f38
9fe6 20a6       .   BRA   $9f8e

9fe8 10fe9f3f  ...? LDS   $9f3f
9fec 35ff      5.   PULS  CC,A,B,DP,X,Y,U,PC
Dernière modification par nouvelhermes le 23 juil. 2020 21:42, modifié 2 fois.
__sam__
Messages : 7967
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: désassemblage de Vera Cruz (version MO5)

Message par __sam__ »

Tu devrais utiliser la balise CODE (le truc avec </> dans la barre d'outil) pour avoir une mise en page correcte (fonte à pas fixe par exemple).
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
nouvelhermes
Messages : 406
Inscription : 22 juil. 2020 20:56

Re: désassemblage de Vera Cruz (version MO5)

Message par nouvelhermes »

Merci beaucoup pour le conseil, je ne connaissais pas.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: désassemblage de Vera Cruz (version MO5)

Message par jasz »

La routine n'a pas l'air d'une grande complexité. Après il faut voir avec le programme comment il l'exploite par le biais des nombreux POKE.
nouvelhermes a écrit : 23 juil. 2020 19:51 et notre fameuse routine
9F43-9FEC
Attention, elle utilise une zone de stockage d'information propre (tampon) à partir de l'adresse &H9F30

Je constate aussi que la routine peut-être d'avantage optimisée.
nouvelhermes
Messages : 406
Inscription : 22 juil. 2020 20:56

Re: désassemblage de Vera Cruz (version MO5)

Message par nouvelhermes »

Pour l'utilisation c'est très simple
que ce soit en basic ou en assembleur d'ailleurs
9F30-9F31 contient l'adresse du début de l'image
9F41 la position de l'image en X sur l'écran (en nombre de caractères)
9F42 la position de l'image en Y sur l'écran (en nombre de caractères)
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: désassemblage de Vera Cruz (version MO5)

Message par jasz »

Personnellement, j'aurais commencé par la routine de chargement k7 d'infogramme utilisée dans les passagers du vents ou bob morane. Il y a beaucoup plus à apprendre ;)
nouvelhermes
Messages : 406
Inscription : 22 juil. 2020 20:56

Re: désassemblage de Vera Cruz (version MO5)

Message par nouvelhermes »

Je ne serais pas connecté pendant une semaine. (juste pour dire que je ne pourrai pas réponde, donc pas d'inquiétude)

Je viens de regarder la k7 les passagers du vent, je ne vois rien de spécial concernant le chargement (même pas de page de présentation), à part la traditionnelle protection d'Infogrames (Dianel en sait beaucoup plus que moi sur le sujet, et les connaissances que j'ai à ce sujet viennent de lui).

En ce qui concerne Bob Morane, je vais me pencher sur le sujet, mais pour l'instant je n'ai fait que du MO5.

Est-ce que quelqu'un sait comment est géré en mémoire le mode 160x200, comment on l'active en assembleur, et où peut-on trouver de la doc à ce sujet ?

Merci beaucoup par avance.

Une dernière question : est-ce que les "Passagers du vent II" est sorti en version MO6?
__sam__
Messages : 7967
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: désassemblage de Vera Cruz (version MO5)

Message par __sam__ »

Tu parles du 160x200 pour les MO ou pour les TO ? Pour les TO cela se fait par l'envoi de caractères d'échappements à la routine PUTC du moniteur. La doc de référence se trouve être la 2e partie du "manuel technique des TO8/TO9/TO9+".
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
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: désassemblage de Vera Cruz (version MO5)

Message par jasz »

nouvelhermes a écrit : 24 juil. 2020 23:44 est-ce que les "Passagers du vent II" est sorti en version MO6?
Oui mais c'est étrange car elle ne figure pas sur le site de Daniel :shock:
__sam__ a écrit : 25 juil. 2020 00:53 Tu parles du 160x200 pour les MO ou pour les TO ?
Pour le MO6 c'est la même chose il me semble. Je n'arrive pas à remettre la main sur mes notes à ce sujet :?
__sam__
Messages : 7967
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: désassemblage de Vera Cruz (version MO5)

Message par __sam__ »

Les caractères d'échappement ne sont pas les mêmes entre TO et MO :evil:

Pour le 160x200 sur TO8/TO9/TO9+ il faut envoyer les caractères $1B,$5E et pour le MO6 c'est $1B,$7F. Pour le retour en 40 colonnes, c'est $1B,$5A sur TO et $1B,$7C sur MO.
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 : 17412
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: désassemblage de Vera Cruz (version MO5)

Message par Daniel »

jasz a écrit : 25 juil. 2020 02:41
nouvelhermes a écrit : 24 juil. 2020 23:44 est-ce que les "Passagers du vent II" est sorti en version MO6?
Oui mais c'est étrange car elle ne figure pas sur le site de Daniel :shock:
Pour qu'un logiciel figure sur le site dcmoto il faut qu'un collectionneur m'en envoie une copie.
Les Passagers du Vent II pour MO6 ne m'a jamais été envoyé, mais il n'est pas trop tard :wink:
Daniel
L'obstacle augmente mon ardeur.
Répondre