Serial interrupt ACE: Difference between revisions
Adding tags; replacing "exploit" with "glitch" in certain places; adding incomplete/researchneeded notices
(Created the page) |
(Adding tags; replacing "exploit" with "glitch" in certain places; adding incomplete/researchneeded notices) |
||
Line 1:
{{Arbitrary code execution}}{{Researchneeded|In Pokémon Crystal, the Mobile Link functionality might also be exploitable for serial interrupt arbitrary code execution, which could lead to discovering more good target pointers (currently we only have one)}}
{{Arbitrary code execution}}▼
'''Serial interrupt ACE''' (Serial interrupt Arbitrary Code Execution), also known as '''Invalid printer opcode ACE''' (Invalid printer opcode Arbitrary Code Execution), is
The
This
== Mechanism behind the
In {{RB}}, the Game Boy Link Cable feature is used to allow for linking up two instances of the game together. This allows for two players to battle against each other or trade Pokémon. The Game Boy's built-in serial interface was used to implement this. In {{Y}}, as well as in {{GSC}}, the feature was extended to allow the game to be linked up to the Game Boy Printer peripheral, which allowed the player to print out Pokédex entries, among other things.
Line 17:
Some good choices for invalid '''wPrinterOpcode''' values, along with their target locations, are:
{{Incomplete|More options for values for wPrinterOpcode for Generation II games}}
{| class="wikitable"
|+{{Y}}
Line 69 ⟶ 70:
|Echo RAM of wStackBottom + 1
|}
== Setup ==
Invalid printer opcode ACE can be bootstrapped by any other arbitrary code execution technique in {{Y}} or {{GSC}}, but using [[Arbitrary code execution#Via items|glitch items]] (for {{Y}}) or [[TM/HMs outside of the TM/HM pocket|wrong pocket TM/HM ACE]] (for {{GSC}}) is by far the easiest way. See [[Arbitrary code execution#In Generation I|Arbitrary code execution in Generation I]] and [[Arbitrary code execution#In Generation II|Arbitrary code execution in Generation II]] for other ways of executing arbitrary code in Pokémon.
Line 142 ⟶ 141:
* [[Arbitrary code execution]]
* [[OAM DMA hijacking]]
[[Category:Generation I glitches]]
[[Category:Generation II glitches]]
[[Category:Incomplete]]
[[Category:Articles needing further research]]
|