| Разработка и ромхакинг > Ромхакинг и программирование |
| С чего лучше всего начать изучение ассемблеров 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); } --- Конец кода --- |
| Навигация |
| Главная страница сообщений |
| Предыдущая страница |