Перейти к содержимому
MAXXX-309

Обмен ASM-кодом

Рекомендуемые сообщения

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

 

Я начну:

 

1. Проверяем, есть ли у соника хоть один изумруд:

 

cmpi.b	 #1,($FFFFFE57).w; does Sonic have at least one emerald?
blt.s		LOCATION; if Sonic has less than one emerald, branch

 

Вместо 1 можно подставить любое другое число (например, 6 - проверка наличия всех изумрудов).

 

2. Проверяем, есть ли у соника хотя бы одно кольцо:

 

cmpi.w	#1,($FFFFFE20).w; does Sonic have at least one ring?
bcc.s	LOCATION; if yes, branch

 

Опять же, вместо 1 подставляете нужное число.

 

3. Проверка текущего уровня:

 

Вот примеры:

 

tst.b	($FFFFFE10).w; is level GHZ ?
bne.w	LOCATION; if not, branch

 

cmpi.b	#1,($FFFFFE10).w; is level LZ?
bne.s	LOCATION; if not, branch

 

cmpi.b	#2,($FFFFFE11).w; is act number 02 (act 3)?
beq.s	LOCATION; if yes, branch

 

4. Переключение режима игры:

 

move.b	#0,($FFFFF600).w; set Game Mode to Sega Screen

 

Эта команда включит Sega Screen. Вместо #0 подставте другие значения чтобы переключится в нужный вам режим.

 

5. Проверяем, нажата ли в данный момент определенная клавиша:

 

btst	#5,($FFFFF602).w; check if C button is held
bne.s	LOCATION; if yes, branch

 

Вместо #5 подставьте нужное число:

Up = #0, Down = #1, Left = #2, Right = #3, B = #4, A = #6, Start = #7

 

Внимание! Все, описанное выше работает только на Sonic 1 (на других играх не проверял!)

Поделиться сообщением


Ссылка на сообщение

Все вышеперечисленные куски кода люди запросто смогут составить сами после прочтения гида про основы АСМа ( http://vladikcomper.narod.ru/sonic_guides_view.htm?2 ), если бы здесь были какие-то действительно полезные процедуры.

Но опять же, почти не возможно составить универсальный кусок кода или функцию, так как код может сильно отличаться в зависимости от того, в каких местах он употребляется, а функциями вряд ли кто-то будет пользоваться, если она дана отдельно от зависимого кода. Если расписывать подробно для чего нужен код и где именно он используется, то получится... гид. Так что идея обмена кодами провальна.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×