TASEmulators / TASEmulators/BizHawk
Evaluate pointers in RAM watch
Open
Nobody has claimed this yet.
Request: Feature/Enhancement
Tool: RAM Watch
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
I've been doing some work with N64 games using BizHawk 1.9.1 lately and have
run into the issue of games storing data I want to monitor in different areas
of memory each execution, locating them using a pointer + offset system.
An example is character position in Donkey Kong 64. The 4 byte pointer is
located at 0x807FBB4C and X, Y & Z position values are 4 byte floats stored at
[base + 0x7C], [base + 0x80] and [base + 0x84] respectively, where base is the
location on the system bus that 0x807FBB4C points to.
Monitoring these values requires me to write some Lua to resolve the pointer
and display the value on screen or hook BizHawk with an external tool that
supports pointer evaluation such as Cheat Engine.
Needless to say both workarounds aren't as elegant as using BizHawk's built in
tools for watching and poking values. This feature would make my work a lot
quicker and allow distribution of tables to the TAS and glitch hunting
communities without bundling Lua scripts that simply evaluate pointers.
Thanks in advance, Isaac.
Original issue reported on code.google.com by partyatm...@gmail.com on 21 Jan 2015 at 3:51
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with BizHawk's RAM watch tools and the existing Lua workaround described in the issue. Trace how watched addresses and offsets are currently represented, then define the pointer-resolution behavior using the Donkey Kong 64 example. Done means RAM watch can resolve a pointer plus offset for monitored values without requiring Lua or an external tool.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100