Используем эмулятор
Gens v2.11 + Advanced Tracer Mod v1.181 full (gensVKNTracer)(русифицированный, частично) с встроенным дебагером (отладчиком);
(
https://consolgames.ru/download.php?view.60 - сам эмулятор;
http://www.gens.me/downloads.shtml - русификатор, в самом низу странички -
"Russian").
Продолжим модифицировать
"Shadowrun (U) [T+Rus1.05 Shedevr (09.04.2005)] GG.gen". Не забудьте настроить кнопки управление в эмуляторе.
1) Загружаем rom:
"Файл" -
"Открыть ROM" - и идём туда, где находиться
"Shadowrun (U) [T+Rus1.05 Shedevr (09.04.2005)] GG.gen".
2) Начинаем
"Новую игру". Выбираем героя. Пропускаем заставку(
"START"). Менеджеру говорим -
"Зайдем позже" (
"B").
И ползем вправо, соседнее здание, магазин оружия
"АРЕС".
3) Денежек,
"нуйен,
¥" у нас в начале игры
20 ¥. Это цифровые данные в десятичной системе (
dec),
а в шестнадцатеричной (далее
hex, значок
$ перед числом) - это
14. (
$14)
Для перевода из одной системы в другую можно использовать стандартный виндовский калькулятор,
"Вид" -
"Программист".
4) Займемся поиском места в памяти эмулятора, где храниться информация о том, сколько у нас нуйен.
а) в эмуляторе выбираем
"ЦПУ" -
"Дебаг" -
"Поиск кодов" [второй пункт сверху; для тех у кого англ. версия эмулятора].
б) поскольку у нас мало деньжат, но есть предметы, которые можно продать, будем продавать, а значит сумма наша будет возрастать,
поэтому, в окне
"Изменился ли", внизу слева, выбираем второй пункт
"больше чем" (новое значение больше, чем предыдущее).
в) в среднем окне выбираем первый пункт
"Compare to: Previous Value" ["Сравнить с предыдущим значением"]. Окно ниже
"Data Type" не трогаем.
г) ну и в
"Data Size" выбираем
"2 byte". Нажимаем кнопку
"Сброс". Появляются данные, которые сейчас используются в игре. нажимаем
"ОК".
д) (помним: у нас на руках
20 ¥),продаем (на экране магазина крайняя справа кнопка
"SL") первый предмет (например, пистолет),
(я выбрал декера в качестве героя, пистолет
"Американ Л6") за
150 ¥, и у нас становиться
170 ¥.
е) повторяем пункт а) и нажимаем вверху справа кнопку
"Поиск". Нам показывают адреса, где произошли изменения согласно нашим настройкам [ от б) до г) ].
И мы видим, что по адресу (первый столбик)
FFFC00, новое значение (второй столбик)
170, а предыдущее (третий столбик)
20.
Других, похожих вариантов невидно, значит, скорее всего, это то, что нужно - в памяти эмулятора, в этом месте (
FFFC00, по этому адресу) находятся наши
¥.
[В нашем случае повезло, что один подходящий адрес, иначе надо повторять пункты д) и е), пока не останется один или хотя бы пара-тройка адресов]. ж) можем попробовать тут же добавить себе малёха, на карманные расходы: щёлкаем по
FFFC00 (выделяем синим) и жмём кнопку
"Добавить код".
В появившемся окне, в первой строке
"New Value" [Новое значение] пишем желаемую сумму, например:
5000, а во втором - название нашего кода,
любое, например:
"Заначка" (можно и не писать, но всё же удобно, когда видно за что отвечает каждый код). Нажимаем
"Ок". И во втором окне тоже
"Ок".
Если зайти в эмуляторе
"Файл" -
"Game Genie", в окошке
"Game Genie/Patch" увидим наш код, так называемый
Patch-код,
т.к. состоит из
"адреса" и, через двоеточие,
"данных" -
"FFFC00:1388 Заначка" (число
$1388 и есть наши
5000 ¥ в
hex исчислении).
[Поскольку для этого "адреса" для "данных" используется четыре знака (2 byte) максимальное значение - 7ААА, это 32767 ¥.
Почему? Есть объяснение ниже, для самых терпеливых]. Для активации кода щелкнуть по нему, он выделиться синим, нажать
"Ок". Теперь обновим экран, например, нажмем в игре
"START", выйдем из магазина.
Снова
"START" -
"Секретер".
И видим - теперь у нас на руках
5000 ¥.
Если пользоваться таким способом, то при закрытии эмулятора, в его корневой папке создаётся файл
"название игры.pat" с вашими введёнными кодами и
при повторном запуске того же
rom-а, снова вводить их уже не нужно, они автоматически появятся в окне
"Game Genie" эмулятора, останется только активировать.
Иногда лучше эти файлы удалять, что бы они не конфликтовали или не мешали работать с кодами, вшитыми в
rom.
5) Но.., хотелось бы, что бы сразу, в начале игры, была хорошая сумма, а не жалкие
20 ¥, и вшить это в
rom.
Проверяем, в эмуляторе
"Файл" -
"Game Genie", в окошке
"Game Genie/Patch" не должно быть кодов, дабы ни что не мешало, если есть - удаляем.
Загружаем
rom:
"Файл" -
"Открыть ROM" -
"Shadowrun (U) [T+Rus1.05 Shedevr (09.04.2005)] GG.gen".
Далее, на экране с
"Новой игрой" или
"Выбор героя" (если раньше, то возможны не значащие для нас сработки брейкпойнта):
a) в эмуляторе выбираем
"ЦПУ" -
"Дебаг" -
"Genesis-Main 68K Debugger".
б) слева внизу, в разделе
"Брейкпоинты на ОЗУ", в первой строке, ставим галочку
(активируем брейкпойнт (он же "бряк" - остановка выполнения программы, согласно поставленным нами условиям);
в соседнем окошке пишем найденный нами выше адрес:
FFFC00; и ставим галочку на
"Запись".
Логика такая: мы хотим узнать, откуда идёт запись данных в этот адрес, наши кровные
¥.
Нажимаем
"Ок" и продолжаем игру.
в) после начальной заставки срабатывает бряк, смотрим:
0007FC 23FC0000001400FFFBFE MOVE.l #$00000014, ($00FFFBFE) Видим
00000014.. а мы помним ( из
3) ), что
$14 это число
20, а команда
MOVE (в ассемблере) - пересылка, копирование, занесение данных..
т.е. в начале игры, в адресе
0007FС, происходит занесение
20 чего-то куда-то.. есть шанс, что это наше.
Надо проверить.
г) запускаем
hex-редактор, например местный
HxD. Грузим в него наш
rom -
"Shadowrun (U) [T+Rus1.05 Shedevr (09.04.2005)] GG.gen".
Выбираем
"Поиск", а там
"Перейти". В появившемся окошке пишем
7FC, оставляем "
hex", ниже выбираем второй пункт -
"к текущему смещению".
Нажимаем
"Ок".
[Можно и просто ручками, прокрутить до 000007F0 и вправо до 7FC]. Видим, курсор стоит на
23 FC, дальше -
00 00 00 14 00 FF FB FE .. всё как в
"Genesis-Main 68K Debugger".
д) заменим
$00 00 00 14, которые являются
20 ¥, на
2 000 000 ¥, в
hex это
1E 84 80, начиная с адреса
7FF, получаем
23 FC 00 1E 84 80 00 FF FB FE.
(как видите, место под запись нашей начальной налички ¥ представлено 8 разрядами: 00 00 00 14 (адреса 7FE 7FF 800 801),
отсчёт разрядов начинается справа налево:[76543210], потому и число 14 стоит справа, на первом и нулевом разряде,
а остальные 6 мест забиты нолями; если бы в начале игры нам давали бы 100000¥, в hex это 186A0, 5-ти разрядное число,
и что бы сделать его 8-ми разрядным нужно дописать спереди три 0, и запись получиться такой: 00 01 86 A0).
Сохраняем:
"CTRL+S" или синяя дискетка вверху слева.
е) проверяем, получилось ли.. запускаем.. А.. в папке, откуда мы загружали
rom в
hex-редактор, появился ещё один файл: копия нашего
rom,
только с расширением
.bak - это оригинальный
rom, до изменений.
А потому, запускаем снова
"Shadowrun (U) [T+Rus1.05 Shedevr (09.04.2005)] GG.gen", который уже с нашими правками.
"Новая игра" -
"выбираем кем играть" - пропускаем заставку - заходим в гостиницу - выбираем
"А",
"В"(поговорим позже) - выходим на улицу -
"START" -
"Секретер"...
И внизу - наши
2 ляма.
Праздравляю! Большие молодцы! Обзываю готовый, денежный,
rom -
"Shadowrun (U) [T+Rus1.05 Shedevr (09.04.2005)] GG_M.gen", где
М = money.
Теперь можете сами добавить в начало игры любую сумму, предварительно переведя её в
hex.
Сумма равная или выше одного лярда возможна, но смотрица не эстетично, да и не надо столько.