• lokalhorst@feddit.org
    link
    fedilink
    arrow-up
    5
    ·
    9 hours ago

    Thanks for the explanation. Sounds interesting, I’ll try to read up on the topic!

    One thing I am still confused about:

    Does that mean Super Mario and Zelda are somehow stored as legacy code in the Game Boy Game version of Pokemon Yellow, or is the code for these games injected by the TAS?

    • ChaoticNeutralCzech@feddit.org
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      5 hours ago

      Everything is injected. Even most of Pokémon Gold, including the code enabling GBC features (the font is the same tho). This can’t be done on the NES because the character (graphics) is in CPU-inaccessible memory (and therefore ROM on most cartridges). There are several stages of the payload that write and execute each other:

      1. name+item manipulation
        • a few bytes in several seconds
      2. copying existing button input buffer
        • 60 bytes per second
      3. polling buttons in a loop
        • only CPU-constrained, almost as fast as copying from the cartridge to RAM, literally fast enough to stream video

      The Ocarina of Time “Triforce%” TAS speedrun activates some debug code such as the F-Zero spaceship model

      • printf("%s", name);@piefed.blahaj.zoneOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 hour ago

        What have you done. I saw your comment the moment I entered my flat. I shouldn’t have pressed the link (pun intended). But I did.

        I didn’t change, shower, eat or any other of my coming home on a workday routines. I just watched. And cried at the end.

        My childhood is now complete. Thank you 🫶