Page 1 sur 4

ACE 2G

Posté : jeu. 25 juin 2015 18:28
par Haxel
Ce topic est dédié aux codes ACE 2G, questions, discussions etc... si vous avez des problemes n'hésitez pas c'est ici :noel:
http://www.prama-initiative.com/index.php?page=ace-2G

Re: ACE 2G

Posté : mer. 4 janv. 2017 19:32
par thelinekioubeur
En attendant de m'y mettre, voici la programmation d'un Snake sur Crystal :
https://sites.google.com/site/crystalgl ... cles/snake

Re: ACE 2G

Posté : sam. 13 janv. 2018 00:50
par Link_enfant
A tout hasard, est-ce que je pourrais faire une demande de code ? C'est pour expérimenter des trucs sur la version Console Virtuelle (et un peu pour le fun et montrer aux potes, bien sûr).
Le site donne un Code Boite permettant de rencontrer n'importe quel Pokémon systématiquement à chaque rencontre en utilisant l'ACE avec la CT17 dans la Poche Balls, parfaitement fonctionnel, mais est-ce qu'il serait compliqué de trouver un code similaire (et les noms de boîtes qui vont avec, forcément) permettant de rencontrer uniquement des Pokémon shiny ?
Ou disons à 1 chance sur 2 d'en croiser, en forçant les trois IV concernés à une valeur de 10 (donc Défense, Spécial et Vitesse) mais en laissant l'IV Attaque généré au hasard.

Merci :)

Re: ACE 2G

Posté : sam. 13 janv. 2018 12:57
par Krys3000
Pour ajouter à la discussion sur Discord, par rapport au code de rencontre fr, il faudrait ajouter un sous-code qui modifie $D0F5 et $D0F6 en AA. Si tu veux faire un code qui laisse de l'aléatoire, il n'est probablement pas possible de modifier l'IV Défense sans modifier l'IV Attaque, donc il te faudrait uniquement modifier $D0F6. Du coup, ça te laisserait 1/16 d'avoir un chromatique. Dans les deux cas, l'inexistence de hex:D0 en tant que caractère étant à la base de la complexité du code boîte de rencontre, ajouter deux autres fois ce problème ça promet d'être sympa à développer :noel:

Comme nous l'avons déjà dit, notre équipe ne peut pas consacrer du temps aux demandes de développement de codes boîtes pour le moment, c'est un trop gros travail. On est pas assez nombreux. Si quelqu'un d'autre peut le faire, qu'il n'hésite pas ! Sinon, tu peux toujours te lancer dans les explications techniques et essayer de comprendre le glitch et l'asm afin de concevoir ton propre code :hap:

Re: ACE 2G

Posté : mer. 31 janv. 2018 15:42
par Haxel
Un petit code pour ceux ayant la VC 2G mais pas la VC 1G permettant de... rendre un mew passable a la banque,
en se servant des codes sur les boites (par ce que c'est plus simple a preparer) (globalement ça change le DO en "GF" et l'ID en 22796 (0x590C))

Pour cela il suffit de placer Mew en 6éme place de l'équipe, executer ce code.

Code : Tout sélectionner

ld A,(D8F5)
ld (DB81),A
ld A,A
ld A,A
ld A,(D8F6)
ld (DB82),A
ld A,A
ld A,(D8F7)
ld (DB83),A
reti
soit
Boite 1 = "A 4♀m' éBs' _ "
Boite 2 = "_ 40m' éCs' _"
Boite 3 = "41m' éDs' n' "
Boite 7 = "GF"

puis de le placer en 3éme place et exécuter celui ci.

Code : Tout sélectionner

xor A
ld A,(D8F5)
sbc 80
ld A,A
ld (DA90),A
ld A,A
ld A,(D8F6)
sbc F1
ld (DA91),A
reti
soit
Boite 1 : "A p 4♀m' u'A _"
Boite 2 : "éQp' _ 40m' _ "
Boite 3 : "u'[multiplication] éRp' n' "
Boite 7 : "n'7"

il existe surement une méthode plus optimisée en un seul code, mais au moins ça marche :noel: (_ correspond a un espace et les "vrais" espaces dans les noms de boites sont juste la par soucis de clarté)

Re: ACE 2G

Posté : ven. 25 janv. 2019 11:17
par Ioupy
J’ai rien compris au fonctionnement des codes...
Les premières lettres sont assez similaires à chaque codes, mais après les lettres diffèrent, les lettres de la premiere boite servent à quoi? Et celles de la deuxieme? Et celles de la troisieme? Et celle de la 7eme j’ai compris!
C’est pour essayer de faire mes propres codes...

Re: ACE 2G

Posté : sam. 26 janv. 2019 11:35
par Krys3000
Salut Ioupy !

Le fonctionnement des codes boîtes est exactement similaire aux codes objets, si ce n'est que ça commence à la deuxième lettre de la boîte 1. Deux choses complexifient la création de codes.

Il n'y a que très peu d'opcodes disponibles avec les lettres, ce qui oblige à faire des trucs un peu sioux. Nous n'avons pas accès à ld a,d8 par exemple, donc tous les codes commencent généralement par xor a, un opcode qui revient globalement à faire ld a,00. Ainsi, on peut enchaîner avec un or, car en effet, écrire "xor a ; or $FB" revient à faire ld a,$FB.

Aussi, comme tu le sais peut-être, certains opcodes affectent les flags. Dans le tableau de pastraiser, tu peux voir 4 valeurs en bas de chaque case. Elles correspondent respectivement aux flags Zero (Z), Add/Substract (N), Half-carry (H) et Carry (C). Si la valeur pour le flag est "-", alors cet opcode n'affecte pas le flag. Si c'est 0, l'opcode enlève le flag, si c'est 1, elle le met, et si c'est la lettre Z, N, H ou C, ça veut dire que l'opcode enlève le flag si il était présent et le met s'il était absent. Or, certains opcodes, qui sont dit "conditionnels", dépendent du flag : ret c se comporte comme un ret si le Carry est présent, et comme un nop s'il est absent. Dans les codes objets, on se prend rarement la tête avec ça, mais avec les lettres on a parfois besoin d'utiliser les versions conditionnelles des ret, jp, etc. et donc, xor A en début de code est un allié intéressant car il affecte le Zero et enlève le Carry.

La deuxième problématique majeure c'est que tu ne peux pas contrôler toutes les lettres : le terminateur de chaque nom de boîte est toujours $50 ! Si tu veux donc utiliser un opcode sur plusieurs octets, tu peux te retrouver coincé par ce $50 et être obligé de mettre un ou plusieurs opcodes bidons pour aller jusqu'au $50 et continuer ton code seulement sur la boîte suivante.

Dans les faits, les codes boîtes les plus complexes modifient certaines lettres de leur propre code, plus loin dans le code, pour introduire un opcode qui permet de faire quelque chose de normalement impossible avec les lettres. C'est souvent pour ça qu'ils sont si longs :)

Si tu as besoin d'aide détaillée sur un code ou pour faire le tien, n'hésite pas à demander ici ou sur discord !

Re: ACE 2G

Posté : sam. 9 févr. 2019 10:15
par Ioupy
Ok merci, j’espère ne pas trop t’avoir dérangé avec ca...
Sinon c’est un peu plus clair maintenant, mais je crois que je vais continuer avec les objets finalement ^^’

Re: ACE 2G

Posté : sam. 9 févr. 2019 22:34
par Krys3000
Pas de souci on est là pour ça :)

Re: ACE 2G

Posté : lun. 25 févr. 2019 15:43
par Ioupy
Euh, en éxécutant le premier code de Haxel pour rendre mew passable je me suis heurté à un problème, quand je renomme ma 7eme boite, je crashe genre avec un ecran bleu rayé blanc. Est-ce lié au fait que j’aie utilisé un code boîte qui fait passer un p derriere la boite de texte où les noms sont sensé etre ecris (ce code c’est le premier de votre site pour avoir les pokemon de notre choix)?

Nan c’est bon je crois que c’est corrigé désolé de vous avoir dérangé pour un probleme aussi futile et un peu nul que celui là si vous l´avez lu