Разработка и ромхакинг > Ромхакинг и программирование
С чего лучше всего начать изучение ассемблеров M68000 и Z80?
<< < (2/2)
Ti_:
Ну оба дизасма кривые. Правильно например так, и даже комментарий не нужен:
lea  l_330f2(pc),a0
CaH4e3:

--- Цитата: Томахомэ от 21 Февраль 2019, 18:27:04 ---Ну, например, дизассемблер Kawaks'а записывает аналогичную строку так:

--- Код: ---0330C4  41FA 002C                  LEA      (0x2C,PC) [0x330F2],A0
--- Конец кода ---
С FBA, к сожалению, проверить не получилось - тамошний дебаггер M68k в случае с данной игрой был заблокирован.

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

эти строки не предназначены для ассемблирования. это не код дизасма.

тамахоме. ты грузил код в иду? ида дает такой код, который можно пересобрать потом. весь этот твой выхлоп от мумуляторов - это мусор. он не годится никуда. он нужен только, чтобы авторы мумуля видели и понимали, что делает код...
Томахомэ:

--- Цитата: CaH4e3 от 21 Февраль 2019, 20:30:28 ---тамахоме. ты грузил код в иду? ида дает такой код, который можно пересобрать потом. весь этот твой выхлоп от мумуляторов - это мусор. он не годится никуда. он нужен только, чтобы авторы мумуля видели и понимали, что делает код...

--- Конец цитаты ---

Пробовал, но поскольку поддержку Neo-Geo туда, насколько знаю, пока не добавили, после выбора M68000 в качестве типа процессора видит IDA при загрузке рома с непосредственно программным кодом игры (055-p1.p1) одни dc.b.
MetalliC:
ну так ищи варианты. до отладчка МАМЕ тыж вроде добрался, пробовал в нем сохранить адресное пространство и потом загрузить его в IDA ?

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

--- Цитата: MetalliC от 22 Февраль 2019, 07:36:14 ---до отладчка МАМЕ тыж вроде добрался, пробовал в нем сохранить адресное пространство и потом загрузить его в IDA ?
--- Конец цитаты ---

Такого - ещё не пробовал. Как это делается?
MetalliC:
ввести help в консоли отладчика и почитать ?
погуглить ? https://docs.mamedev.org/debugger/index.html

еще раз:
--- Цитата: MetalliC от 22 Февраль 2019, 07:36:14 ---если с соображалкой туго - извини, это занятие видимо не для тебя
--- Конец цитаты ---
Томахомэ:

--- Цитата: MetalliC от 22 Февраль 2019, 09:36:09 ---ввести help в консоли отладчика и почитать ?
погуглить ? https://docs.mamedev.org/debugger/index.html

--- Конец цитаты ---

Как я оттуда понял, для сохранения определённого адресного пространства нужна команда save или dump. Так?
CaH4e3:
давай ты уже будешь читать доки, а не спрашивать на мумуленде людей, которые доки читали сами...
ndivision:
Томахомэ, Тема интересная, тем более Neo-Geo.
Но подход - не правильный. Вернее он как "подкоп на чердак" или "выход через задний проход" :))
При чем тут вообще ассемблер. Отталкиваемся же от задачи, а не от средств ее решения.
Есть желание сделать игру для Neo-Geo - ну нашибись, но на 1 месте должна быть идея, интерес. Художноков хороших нужно найти, что бы была не конвертнутая, а грамотно нарисованная качественная графика. Зашибенных музыкантов надо заинтересовать.
На самом деле программирование или хакинг - это вообще самое простое, чего может быть.
Пока просто не видно - основного замысла, идеи, чего хотелось бы получить в итоге, и ДЛЯ ЧЕГО.
Но с чего то взяли что нужно изучать ассемблер для m68k и z80 =///// Амига и Спектрум - компы такие - друзья тебе в этом.
Но это не приблизит к цели.
Томахомэ:

--- Цитата: CaH4e3 от 21 Февраль 2019, 18:25:41 ---этот же мамовский дизасм для облегчения чтения программы ставит автоматический комментарий, в котором раскрывает суть операнда, а конкретно, какой именно адрес будет загружен в регистр А0 - он его вычисляет и ставит как комментарий.
<...>
причем такой, какой в программе задано.

текущий писи: 330С4, плюс 2С будет 330F0, плюс два слова опкода, результат 330F2, что и видно в КОММЕНТАРИИ после точки с запятой.

первое правило ассемблера лол: видишь точку с запятой - ЭТО КОММЕНТАРИЙ!

--- Конец цитаты ---

Как раз глянул в исходники MAME'овского дисассемблера для M68000 - убедился теперь, что так оно и есть.


--- Код: ---case 0x3a:
{
/* program counter with displacement */
u16 temp_value = read_imm_16();
return util::string_format("(%s,PC) ; ($%x)", make_signed_hex_str_16(temp_value), (make_int_16(temp_value) + m_cpu_pc-2) & 0xffffffff);
}
--- Конец кода ---
Навигация
Главная страница сообщений
Предыдущая страница

Перейти к полной версии