TASEmulators / TASEmulators/BizHawk

[F.Rq.] Search for text in RAM Search, maybe RAM Watch as text, maybe other encodings for Hex Editor

Open
#1,653 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Request: Feature/Enhancement Tool: Hex Editor Tool: RAM Search Tool: RAM Watch Waiting on dev consensus
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

While this might get rejected for similar reasons as #1011, and/or because it's already technically possible for the user to do this by manually translating unsigned ints into characters, I think it might be worth bringing up.

I think it might be interesting to support character values on memory watch and memory search.

This could allow finding useful values for botting by looking up characters displayed by the game's own HUD, which is easier to find than the variable(s) otherwise being used to store the value internally.

The obvious complication here is that many games use "unusual" text encodings that are not compatible with ASCII or UTF-8.

However, I do know that the (common?) Japanese encoding "JIS X 0201" is already partly ASCII compatible, and I have a bot that automates luck manipulation for wind values for Mario Golf which checks its result by reading the memory locations that store the characters displayed by the HUD for wind speed (0x0F6F56 and 0x0F6F57), which was much easier than trying to find the internal representation of the weather.

While this is already possible just using 1-byte unsigned int values, it might be interesting to have a built-in option in the ram watch/ram search modules for displaying a 1-byte value as "char" rather than "signed", "unsigned", or "hex".

Or maybe it might be too niche to be worthwhile, IDK. 🤷‍♂️

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the RAM Search and RAM Watch modules, including how their existing signed, unsigned, and hex display options are represented. Then review the Hex Editor entry point to determine whether encoding support belongs there as well. Done means the scope and supported character encodings are agreed and the affected tools have consistent, tested behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.