Jump to content

Recommended Posts

Posted

 

Goal

I am building a real-time Pokemon Emerald tracker for OBS.

The long-term goal is to read live game data directly from emulator memory and eventually display:

  • Current party Pokemon
  • HP values
  • Levels
  • Fainted status
  • Inventory information
  • Potentially badges and run statistics

The tracker should work in real time while the game is running.

 

Current Setup

  • RetroArch 1.21.0
  • mGBA core
  • Python 3.13
  • UDP Network Commands enabled
  • Command Port: 55355

 

I can successfully communicate with RetroArch using UDP commands.

Working commands include:

  • VERSION
  • GET_STATUS
  • READ_CORE_MEMORY


Example:

READ_CORE_MEMORY 02000000 32

returns valid memory data.

 

Current Progress

I have confirmed that live memory reading works.

I am currently exploring the Emerald memory layout and trying to identify useful gameplay data.

So far I have:

  1. Created memory dump tools in Python.
  2. Compared memory snapshots before and after gameplay actions.
  3. Identified reproducible memory changes when purchasing items (Poké Balls).
  4. Built a live memory watcher that continuously monitors selected addresses.

 

Current Problem

I am trying to locate stable gameplay values such as:

  • Money
  • Inventory counts
  • Party data

I found a candidate around:

0202065C

but live monitoring showed that the value changes constantly during menu interactions and shop dialogs, suggesting it is probably a menu/script state variable rather than actual money or inventory data.

 

What I Need Help With

I am looking for information about:

  • Pokemon Emerald RAM structure
  • SaveBlock1 / SaveBlock2 locations
  • Party data locations
  • Inventory data locations
  • Money offsets
  • Emerald-specific memory maps
  • Anyone who has experience reading Emerald RAM through RetroArch’s READ_CORE_MEMORY command

Any documentation, existing projects, or research would be extremely helpful.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...