Создадим настройку эмулятора
PolyGame Master –
MAMEUI32 0.146 с поиском
нулевого адреса через встроенный в эмулятор отладчик с редактором памяти.
Карта памяти PolyGame Master:
http://mamedev.org/source/src/mame/drivers/pgm.c.html
Код:
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
Рабочая область памяти MainRam 800000-81FFFF размером 128кб.
Хэш файла запуска эмулятора:
Искать нулевой адрес можно с любой работающей в эмуляторе игрой, здесь это
DoDonPachi Dai-Ou-Jou V101 (2002.04.05.Master Ver) ddpdoj
Вначале нужно включить в эмуляторе отладчик для этой системы. Можно
сделать это через главнео меню эмулятора: Options – Debug, как в статье
по CPS3, или через Properties for pgm.c – Debug:
Включили. Далее запускаем игру, в появившемся окне дебаггера нажимаем
Run, в игре доходим хотя бы до окна выбора игрока, затем ставим паузу
(клавиша P). После этого в окне Debug открываем окно мемори вьювера:
Debug - New Memory Window:

В открывшемся окне просмотра памяти перемещаемся на адрес 800000 (адрес начала RAM для PolyGame Master).
(1) Для этого вводим 800000 в поле ввода адреса, один раз нажимаем Enter, затем один раз нажимаем Tab.
(2) Видим, что по этому адресу сейчас значение 80D0h. Ищем это значение в ArtMoney по всей памяти эмулятора, тип 2 байта целое.

Далее изменяем значение по адресу 800000, для этого внизу главного окна
отладчика печатаем в поле ввода команд w@800000=1234, затем нажимаем
Enter. Тем самым мы записываем по адресу 800000 двухбайтовое значение
1234 в Hex. Разумеется, Вы можете записывать любые другие значения.

Возвращаемся в окно просмотра памяти, нажимаем Tab, видим, что значение
изменилось на 1234h. Отсеиваем в ArtMoney на это значение.
Получаем сразу один адрес (если больше — повторяем процедуру еще раз,
записывая в адрес 800000 другое значение), на него ищем указатель с
учетом модульной адресации — отмечаем «Использовать модульную адресацию»
и «только статические адреса в модулях» при поиске:

Такой указатель один. Нам нужен адрес в модуле (04464228h):

Получаем настройку
Код:
MAMEUI32 0.146;MameUI32.exe;N;186eceda7f11b313fc5576fbb2d92678
;RAM 128kb;800000;MameUI32.exe+P04464228;20000
После этого проверяем ее на
играх
Knights of Valour: Sangoku Senki (ver. 117) kov Windows 7 (после перезапуска!)
На скрине видно Hex значение по нулевому адресу в окне мемори вьювера в
отладчике эмулятора и десятичное значение в правой таблице и окне
редактирования адреса. Именно так и проверяется нулевой адрес при
создании настроек эмуляторов.
The Killing Blade (ver. 109, Chinese Board) killbld
Статьи по Final Burn Alpha, FBA-Shuffle в процессе (ждем выхода новых версий).