Spiiin's blog

Система паролей и секреты Best of the Best. Championship Karate [NES]

Чтение дизассемблированного листинга процедуры генерации (расположена по адресам $9449-$94F4) заставляет задуматься о том, что у разработчиков были какие-то генерирующие код инструменты, либо код писался просто не очень аккуратно, так как выполняется много лишних действий.

Пароль сохраняет параметры бойца игрока и побежденных соперников (по биту на каждого), а также пройденных соперников в кумитэ (открывается после победы над Ivanoff).

Процедура генерации пароля, переписанная на Python:
http://www.everfall.com/paste/id.php?tiqnj0fqdev7
Последний пароль : 4$KW\_\_\_39

Функция проверки правильности сделана более защищенной, игра не позволяет указывать пароли с запредельными значениями параметров игрока.

Значения все равно остаются в диапазоне 0..99 и прокачаться сильнее не удастся. Но это еще не все.

Просматривая оперативную память во время боя можно найти имена и соперников бойцов по адресу $804D.

Тут можно посмотреть параметры бойцов кумитэ, которые обычно игра не показывает (расположены на 3 байта раньше имени):

Имя     Реакция Сила Защита
Bear 50 70 40
Puncher 60 75 60
Doc Jump 70 80 70
Crasyleg 80 85 80
Hammer 90 90 90
Warrior 95 95 95

По адресу $D6F1 расположены очень странные строки LAYER и OLRAC.

AND WE NEED TO GO DEEPER!
Я решил, что нашел секретных бойцов наподобие Ермака в самом первом Мортал Комбате.

LAYER показалось очень похожим на имя игрока 1, после вычеркивания оттуда ненужных символов (P и 1) ничего особого не происходит, но после начала боя оказывается, что у соперника остается только один почти потухший фонарик жизни.

Видимо это код, введенный разработчиками для тестирования нокдаунов и не убранный в финальной версии игры.

Если же ввести в качестве имени игрока вместо LAYER OLRAC (два пробела в начале и 3 в конце), то перед началом боя получаем секретное сообщение от девелопера.

А вот и этот парень в фейсбуке: http://www.facebook.com/carlo.perconti Bonjour Carlo!