-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Any tips on extracting RAM locations? #40
Comments
Hi @neighthan, Your intuition is correct and we see this happening in multi-room games. Though information in a particular room is stored in separate RAM locations, a single RAM location can correspond to multiple pieces of information across rooms. Check out the new RAM annotations at https://github.com/ankeshanand/atari-representation-learning/blob/master/aari/new_ram_annotations.py that includes labels for multiple rooms per game. We originally referred to disassemblies available at http://www.bjars.com/disassemblies.html and some scattered around Atari forums to figure out the RAM mappings. To try to add new games, I would recommend firing up the Stella Emulator (https://stella-emu.github.io) and playing around. Stella has a RAM map in its debugger screen which allows you to see what RAM bits changed between frames. |
Thanks for the pointers! The disassemblies and the debugger in Stella both look very useful. I'll go ahead and close this; if I do get around to finding out anything new, I'll be sure to submit a PR. |
hey @neighthan, which games are you interested in? I might be able to take this into account in picking which games to add Also I might add this notebook is helpful as well for getting RAMs from games: atari_guess_n_check.ipynb. It allows you to step through the games and see which RAM values have changed at each time step and also filter out RAM values you have already eliminated as not being important. Lastly, if you do figure out RAM values to a game that is not added yet, feel free to send a pull request, so we can add it to the master list! |
Thanks for the pointer to the notebook, Evan. I'm most interested in the RoadRunner game right now; we've been doing some proof-of-concept work there that could benefit (for debugging / comparison) from having ground truth features like locations of objects. |
Ah ok. Good to know. If we add RoadRunner, we'll let you know and hopefully likewise! |
I'd like to see another game or two in the list - do you have any pointers to source code for the games / tips based on previous games about how to find the RAM locations for useful information in the game? (I was initially worried, given the limited memory of the Atari 2600, that multiple pieces of information might be stored in separate bits of the same byte, but from your list, that doesn't seem to be the case, so perhaps it isn't too complicated?).
The text was updated successfully, but these errors were encountered: