Рубрика «romhacking»

image

За долгие годы написания статей про игры я рассказал о многих удивительных глитчах, неизвестных с давних пор кодах, трюках с выполнением произвольного кода и поисках глубоко сокрытого контента внутри классических игр и оборудования. Но ничто не смогло подготовить меня к этому видео с Twitch, в котором флот летающих Arwing из Star Fox 64 вторгаются в мир Ocarina of Time, чтобы напасть на Линка.

Подобную сцену ожидаешь увидеть только в созданном фанатом мультфильме или ROM-хаке, которые Nintendo так любит изымать из Интернета. Но самое удивительное в этом клипе то, что он демонстрирует немодифицированную версию оригинального японского ROM Ocarina of Time с использованием стандартной консоли и контроллеров N64.

Целое утро я разбирался с тем, как такое вообще возможно. Чтобы объяснить это, придётся совершить глубокое погружение в суть инструкций машинного языка Nintendo 64, управления памятью Ocarina of Time и самого процесса разработки игр середины 90-х. Если вам так же любопытно, как и мне, присоединяйтесь.
Читать полностью »

Раз уж прошлая моя статья, к моему большому удивлению, вас заинтересовала. Я решил дополнить её результат, хакнутую версию игры "Contra (J) [T+Rus_Chronix]", небольшим функционалом, заодно показав "code injection" на NES. В этот раз я сделаю так, чтоб игроки начинали игру с прокачанным Spreadgun, для его получения в игре нужно подобрать иконку "S", а за ней "R".

История взлома классической игры на Dendy или Contra со спрэдганом в начале - 1

Все заинтересовавшиеся welcome под кат.Читать полностью »

В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него.

Удалённое управление эмулятором Fceux с помощью Python - 1

Зачем это нужно?

Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – плохой язык для написания серьёзных программ. Это скорее язык для вызова функций, написанных на Си. Авторы эмуляторов используют его только из-за легковесности и простоты встраивания. Точная эмуляция требует много ресурсов процессора, и ранее скорость эмуляции была одной из главных целей авторов, а о возможности скриптования действий если и вспоминали, то далеко не в первую очередь.

Сейчас мощности среднего процессора с головой хватает для эмуляции NES, почему бы тогда не использовать в эмуляторах мощные скриптовые языки вроде Python или JavaScript?

К сожалению, ни в одном из популярных эмуляторов NES нет возможности использовать эти или другие языки. Я обнаружил только малоизвестный проект Nintaco, который также основан на ядре Fceux, зачем-то переписанном на Java. Тогда я решил добавить возможность написания скриптов на Python для управления эмулятором сам.

Мой результат – это Proof-of-Concept возможности управления эмулятором, он не претендует на скорость или надёжность, но он работает. Я делал его для себя, но так как вопрос о том, как управлять эмулятором с помощью скриптов, встречается достаточно часто, то я выложил исходники на гитхаб.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js