SMZ3Randomizer icon indicating copy to clipboard operation
SMZ3Randomizer copied to clipboard

See if Tracker can automatically track Pegworld

Open CPColin opened this issue 9 months ago • 4 comments

I was thinking about other stuff we could do with custom ASM and Matt suggested that Tracker could auto-track Pegworld. I found some RAM values via this project and some experimentation: https://github.com/walkingeyerobot/alttp-disassembly

The count of flattened pegs is stored as four bytes, starting at address $04C8. Tracker could watch this address and say "pop" for every value it increases by. We might have to find a way for Tracker to speak faster, so she could react to hammer-dashes.

We could also watch the "Map16" data, which is two kilobytes of 16-bit values, starting at address $7E2000. The pegs all start with value 0x021B and end up as 0x0DC5 when they're flattened. The specific RAM addresses for the tiles we care about are here:

          $7E2822   $7E2826   $7E282A   $7E282E   $7E2832
          $7E2922   $7E2926   $7E292A   $7E292E   $7E2932
$7E2A1E   $7E2A22   $7E2A26   $7E2A2A   $7E292E   $7E2A32
$7E2B1E   $7E2B22   $7E2B26         
$7E2C1E   $7E2C22   $7E2C26         

Tracker could watch these and update the display to accurately reflect the current state.

CPColin avatar May 13 '24 00:05 CPColin