Сначала за пару часов изучается общая структура рома, затем когда известно, что где примерно находится и как ром взаимодействует с оперативкой, можно более подробно его рассматривать, и уже конкретные команды менять.
т.е. фактически открываешь ром хексом и читаешь код, зная что вот эта процедура отвечает за прыжок, эта за появление врагов, а эта за выстрел? - почти так, только не (зная), а примерно догадываясь, где это находится, специально порчу небольшой участок рома, скажем, 700 строк в HEX. Если игра повисла на нужном мне действии, более подробно рассматриваю данный участок. (Но это именно для BATTLE TOADS, в мортале адрес через оперативку глянуть можно.) И через пару минут находится то небольшое количество строк из 700, которые отвечают за процедуру удара, к примеру. Затем я читаю в виде HEX команд рассмотренные условия в процедуре, и добавляю, например, звук, когда удар именно попал по врагу, (именно в то место, где идёт разветвление проги при попадании удара, вмешиваюсь в эту процедуру и дописываю, то, что надо