Post subject: Finding certain items in Mario Kart N64
Joined: 5/1/2017
Posts: 5
Hi everyone, new to this forum so hopefully I'm posting this in the right place. I was conflicted between here and the N64 Mario Kart Forum but decided on this one since the other seems more specific to TAS videos. Anyway, I'm having some issues locating items in MK. I've been able to use RAM search for things like time, place, lap, character, etc. but have been unable to find the items. Things that I would like to be able to find are: item boxes, bananas, red, green and blue shells and fake item boxes. Is there a way I should go about doing this or does this data exist somewhere already? Any help would be appreciated
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
This page is pretty helpful. But I didn't see a RAM Address for Item box drops. http://tasvideos.org/GameResources/N64/MarioKart64.html
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Joined: 5/1/2017
Posts: 5
Ya I've seen that but like you've noticed it doesn't contain the addresses for items boxes. Even if someone happens to know the internal value used for an item box I would be able to figure out where it was stored
Experienced player (608)
Joined: 10/23/2004
Posts: 706
Are you asking for the coordinates for the items and boxes? Or something related to their type?
Current Project: - Mario Kart 64
Joined: 5/1/2017
Posts: 5
Weatherton wrote:
Are you asking for the coordinates for the items and boxes? Or something related to their type?
I suppose both? It would be great to have the item coordinates along with the type. My main question is about their coordinates though. They have to be somewhere in RAM with an X,Y,Z position I would think?
Experienced player (608)
Joined: 10/23/2004
Posts: 706
I know there is a hard-coded object limit for items. So they probably occupy some set table. The position would be easy enough to find because you can move and throw items and you can force item boxes to come up through the ground.
Current Project: - Mario Kart 64
Joined: 5/1/2017
Posts: 5
How do you go about moving and throwing items without knowing their coordinates?
Player (80)
Joined: 8/5/2007
Posts: 865
I'm feeling bored and charitable, so I did a RAM search. I don't have definitive results, but here's what I've come up with so far. Here's a summary of my search process:
  • Started a race.
  • Set RAM Search to automatically search for addresses with zero changes. This dropped my framerate to about 1 FPS...
  • Drove up to an item box.
  • Turned off automatic RAM searching.
  • Picked up an item (banana bunch), waited for it to register in my inventory and stop blinking.
  • (Saved the state and my RAM file.)
  • Used my bananas. I made sure no karters were behind me.
  • Searched for addresses that had changed more than once.
  • Reset the change count.
  • Turned around, ran into a banana.
  • Searched again for addresses that had changed more than once.
Edit: I started a new race and picked up a new banana bunch. The results I got were inconsistent with the list of RAM addresses I included in that post. Maybe it's correct, maybe not. In any case, I tried.
Joined: 5/1/2017
Posts: 5
I've tried some similar things. The main thing I was trying was dumping the RAM in 50cc and then dumping the RAM in time trial and seeing if I was able to find differences that I haven't already discovered previously, i.e. I can find 1st, 2nd, 3rd place players, so I can exclude those addresses. Also, do you know what the hard coded object limit for items is? If you do I might be able to search for an array of that size in my RAM diffs.
Experienced player (608)
Joined: 10/23/2004
Posts: 706
I recommend you drive up to an item box and stop and filter to memory addresses that are not changing. Then drive over the item box, wait a couple frames and then check for memory addresses that are now lower (since the item box gets replaced by one that begins below the ground) Then frame advance and filter to addresses that are increasing as the new item box rises back up to the road. Rinse and repeat until you find the value.
Current Project: - Mario Kart 64