Community · E2 · artifact verified

Pick Pokémon turns from live ROM state

A battle harness reads FireRed state from RAM and lets Jev choose the next legal move or switch while ordinary code advances the fight.

01 · Role in the system

What Jev does here

Each turn the host parses battle state into a JSON snapshot covering party HP, statuses, stats, abilities, PP, weather, and only the moves and switches that are legal right now. Jev returns one action plus a probability for every option, and an illegal answer stops the battle with no fallback model. On the ROM runner, switches are addressed by the Pokémon's personality value so a moving party menu cannot misfire, and damage estimates are computed by code as plain math rather than model suggestions.

02 · Control boundary

Where Jev sits

RAM-derived legal action list to one bounded action Choice; deterministic code executes the pick on the emulator or Showdown and records every decision.

Code owns the loop, permissions, thresholds, validation, and side effects. Jev owns only the bounded judgments described above.

03 · Known limits

What this evidence does not prove

  • Recorded wins use one deliberately underleveled party; no win rate or repeated-seed evidence is published.
  • State reads assume the harness pauses the battle, and item use, overworld play, and other games are outside the demo.

04 · Attribution

Public sources

This is a Community record: the project was published by a third-party community author.

  • anxkhnCommunity · github · public · checked 2026-09-18
  • AnxKhnCommunity · x · public · checked 2026-09-18