Essaies d'ajouter ça à la section globale d'UberASM:
Code!FreeRAM = $58
PHX
LDX $1422
CPX !FreeRAM
BEQ Return
STX !FreeRAM
LDA $13CC
CLC
ADC AddedAmount,x
STA $13CC
Return:
PLX
RTL
AddedAmount: db $00,$00,$01,$04,$09,$18
Ton code comportes plusieurs problèmes. Si tu as une pièce, tu exécutes le code PlusOne, mais puisqu'il n'y a pas de RTL, tu exécutes aussi tous les autres codes en-dessous, ainsi que tout ce qu'il y a après cela, sans revenir, ce qui planterais le jeu.
De plus, ton code ajouterais ce montant chaque frame de jeu. Mon code fais en sorte qu'il ne soit ajouté que chaque fois que le compteur augmentes.
Il ne faut pas utiliser $0DBF pour ajouter des pièces. Si tu excèdes 100 pièces, le jeu ne s'occuperas pas d'ajouter une vie et de repartir à zéro. Il faut ajouter à $13CC, une adresse qui s'occupe spécifiquement d'ajouter des pièces au compteur principal sans souci.
Mais la raison pourquoi ton compteur est de 5 plutôt que 48 est que ton code n'est probablement jamais exécuté. Si tu te contentes de compiler le code dans une section inutilisée de la ROM, il ne sera jamais exécuté, tout comme une route qui serait construite au beau milieu d'un champs sans être reliée à un autre chemin. C'est pourquoi il faut faire un "hijack", ce qui reviendrait à modifier une route pour qu'elle mène à et revienne de ta route. UberASM s'occupe de tout ça.
En tout cas, essaie UberASM avec mon code copié dans le fichier global.asm et redonnes m'en des nouvelles, car je ne peux pas tester pour le moment.
N'oublies pas de faire une copie de secours au cas où quelque chose ne se passerait pas comme prévu!
EDIT: Le mieux aurait été de modifier directement le code des pièces Yoshi, mais je suis trop paresseux pour m'en occuper >_<
J'ai modifié le code pour prendre en compte le fait que les pièces Yoshi ajoutent déjà une pièce.
Follow Us On