Комментарии 9
а вот было бы круто сделать хакнутую версию контры, где тебе бы давалась всего одна жизнь и устроить чемпионат с друзьями, кто дальше сможет пройти.
Эффект Даннинга — Крюгера какой-то.
Но 6502 — little-endian процессор.
То, что вы описываете уже во второй статье, никто не делает уже лет двадцать. Зачем вы учите новичков выписывать вручную опкоды и вставлять в ROM, когда FCEUX, не помню с какой версии, имеет прекрасный inline ассемблер?
Даже ознакомить новичка с отличным asm6 в разы полезнее, даже для нескольких байт кода.
Зачем вы вставляете куски своего кода там, где можно обойтись обычным байт-хаком.
Хочется спредган на старте и после смерти? Game Genie код XGKLPGIS (в ROM 0x1B451).
Хочется, чтобы пули при этом тоже были из спредгана? Game Genie код YOXUGSTO (в ROM 0x1b5bc). Всего два байта вместо вашего, с позволения сказать, injection.
но 6502 процессор типа «Big Endian»
Но 6502 — little-endian процессор.
То, что вы описываете уже во второй статье, никто не делает уже лет двадцать. Зачем вы учите новичков выписывать вручную опкоды и вставлять в ROM, когда FCEUX, не помню с какой версии, имеет прекрасный inline ассемблер?
Даже ознакомить новичка с отличным asm6 в разы полезнее, даже для нескольких байт кода.
Зачем вы вставляете куски своего кода там, где можно обойтись обычным байт-хаком.
Хочется спредган на старте и после смерти? Game Genie код XGKLPGIS (в ROM 0x1B451).
Хочется, чтобы пули при этом тоже были из спредгана? Game Genie код YOXUGSTO (в ROM 0x1b5bc). Всего два байта вместо вашего, с позволения сказать, injection.
Помню мне очень хотелось пройти Jurassic Park, но для меня она была адски сложна. Когда появились первые nes-образы на PC, я пытался её снова пройти, но не получалось пройти дальше, кажется, третьего уровня. Я гуглил читы, но если что-то и было, не сильно помогало.
И тогда — не зная как устроена архитектура дампа картриджа — я решил пойти на отчаянный поступок. Я сделал нечто такое, что с нами делает эволюция :D А именно, я решил попортить случайные байты в коде. Делал я это в попытках добиться бессмертия в игре. Игра переставала работать, и я начинал сначала. В итоге мне удалось сделать так, что игра — хоть и глючила — но персонаж отображался вечно мигающим (так, как будто его только что кто-то ранил и он временно не уязвим). В итоге мне осталось удалить путём перебора все неудачные «мутации». Оставшаяся «мутация» была закреплена путём успешного прохождения игры до финала. Она, кстати, оказалась не такой уж и длинной. Кстати, даже с миганием есть трудности прохождения, потому что мигающего персонажа все равно может затоптать «босс-динозавр». Если кому-то сильно интересно, могу попробовать отыскать дамп.
И тогда — не зная как устроена архитектура дампа картриджа — я решил пойти на отчаянный поступок. Я сделал нечто такое, что с нами делает эволюция :D А именно, я решил попортить случайные байты в коде. Делал я это в попытках добиться бессмертия в игре. Игра переставала работать, и я начинал сначала. В итоге мне удалось сделать так, что игра — хоть и глючила — но персонаж отображался вечно мигающим (так, как будто его только что кто-то ранил и он временно не уязвим). В итоге мне осталось удалить путём перебора все неудачные «мутации». Оставшаяся «мутация» была закреплена путём успешного прохождения игры до финала. Она, кстати, оказалась не такой уж и длинной. Кстати, даже с миганием есть трудности прохождения, потому что мигающего персонажа все равно может затоптать «босс-динозавр». Если кому-то сильно интересно, могу попробовать отыскать дамп.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
История взлома классической игры на Dendy или Contra со спрэдганом в начале