А вот как мне найти это имя я не понимаю , сори я не всё догнал из поста выше , что это за значения RAM $3DC CPU $E853, JSR $E9BC?
RAM - ОЗУ, CPU - пространство процессора (данные ROM обычно $8000-FFFF), JSR - инструкция вызова подпрограммы (функция), PRG - это код и данные без CHR (графики) и заголовка рома.
Например надпись возле ножика и брони это имя персонажа 5D 58 62 69 индексы букв.
Но как мне это в хексе найти?
Я это пытался объяснить, в роме есть изначальный байт символа, от него вычитается 0x10 (16), байт заменяется по таблице и получается индекс тайла, который у вас есть. Таблица в файле с 1EA00 (PRG $1E9F0) размером 174 байта:
98 0B 0C 0D 0E 0F 1B 1C 1D 1E 1F 58 5B 5C 9C 06
07 08 09 0A 16 17 18 19 1A 24 25 26 27 28 29 2A
2B 2C 2D 2E 2F 34 35 36 37 38 39 3A 3B 3C 3D 3E
3F 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 54 55 56
57 16 17 18 19 1A 24 25 26 27 28 29 2A 2B 2C 2D
37 38 39 3A 3B 37 38 39 3A 3B 5D 5E 5F 60 61 62
63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72
73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82
83 84 85 86 87 90 91 92 93 94 95 96 8C 5F 62 63
64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 76 77 78
7A 76 77 78 7A 97 BC AB AC 8D 9D 8A 9A 8B
Если в роме байт символа 0x10, то 0x10 - 0x10 = 0x00, значит по таблице = 0x98, у ножика "6A - 10 = 5A", находим порядковый байт 0x5A в таблице с нуля = 5D. Проблема в том, что таблица имеет повторы, значит обратное преобразование не всегда верно.
Можно сделать так, открываете в Mesen Debugger, в списке Breakpoints > ПКМ > Add: CPU Memory, [v] Execution, Specific:
E870. Теперь отладчик останавливается после декодирования символов, но до записи на экране (можете проматывать время назад для удобства), для продолжения F5, для отключения остановок снять галочку в списке Breakpoints. Когда будет остановка, смотрите в Debugger выше жёлтой строки CPX $AA, после = размер строки текста, например = $0A, в окне Memory Tools с выбранным CPU Memory смотрите байты с $3A0, например, 44 28 2A 3D 33 47 32 61 45 4B, это байты в роме, а индексы тайлов с $3DC, например, 47 1A 25 3C 2E 4A 2D 38 48 4E, т. е. то, что вы знаете и что вам нужно превратить в байты в роме (с $3A0) для поиска.
UPD: Для некоторых экранов нужно ставить E83A вместо E870, как на статусе на Select, там например 6A 1B 9E 76, которые на самом деле превращаются в 5 символов на экране. Для поиска конкретно этих байтов, удобно в Memory Tools (PRG ROM) искать после остановки, байты будут синими (недавно прочитаны).
UPD2: Можно ещё Lua-скрипт написать, который будет выводить все пары значений.
Вам нужно найти ромхакера желающего переводить эту игру, если сами не хотите изучать код.