Ex-academic, current tech monkey by day & speedrunner by night


bluesky
leggystarscream.bsky.social
discord
@leggystarscream

medibot
@medibot

i'm glad to have finally posted something about my investigation of yoshi's cookie. i worked on this on and off for... a long time. it's definitely been more than a year since i started. even if i only count the time spent working on it, it was a lot of hours. i started out with no knowledge of the 65816 assembly language used by the SNES, having to constantly check and double-check the behavior of operators. by the end, i could move through the debugger pretty quickly, identifying patterns instead of having to stop on every instruction.

if you're interested in a game investigation of your own, i encourage you to do so. here are some resources that were useful in my investigation:

  • bizhawk: an emulator with lots of good memory watching features. i used this a lot starting out in order to identify important memory addresses.
  • mesen: an emulator with an excellent debugger. the memory watch and search wasn't as easy to use in the version i used, but the debugger was critical for my analysis. lots of control over breakpoints, expression evaluations, and inline notes made this truly joyous to use. it looks like the current version is newer than the one i used, which was named "mesen-s" and was specifically for the SNES.
  • 65816 primer: the primary reference document i used for understanding 65816 operations. i kept it open at all times while working on my analysis. if you're working on a something other than a SNES, then you'll need to find the instruction reference for your console's architecture.

i'm continuing work on some other types of analysis of yoshi's cookie. there is always more to learn.


You must log in to comment.

in reply to @medibot's post:

Looking into how a game works is a fun activity... I remember feeling like the biggest genius of brain when I figured out how to move bits of GBC Puchi Carat's dialogue around into unused memory banks and change the code to point to their new locations