Some games, such as Pokémon Yellow or Ocarina of Time, have exploits that allow you to write your own code (ACE). How were these exploits found? I want to learn how to find these exploits, for speedrunning and elsewhere.
From my current understanding, code-savvy speedrunners read through the game's code (even as low down as assembly language) in an attempt to find an exploit where they can jump to memory, where their code lays.
On a related note, I want to compile a list of games which allow for ACE; there seems to be no popular list online. Even if the ACE would require TAS-only input, I would like to keep it recorded.