Разработка и ромхакинг > Ромхакинг
Smd IDA Tools - Sega Mega Drive reversing helpers
<< < (3/15) > >>
DrMefistO:
Собственно, проект по написанию крутых специфичных плагинов в помощь ромхакерам SMD.

Включает:
 - ROM loader - загрузчик, позволяющий грузить ромы сеги в IDA Pro. Благодарности HardwareMan'у за основу;
 - Z80 sound drivers loader - позволяет загружать звуковые драйвера для Sega в IDA Pro. Автоматически именуются порты и создаются сегменты;
 - Z80 sound drivers debugger - позволяет отлаживать звуковые драйвера в IDA Pro;
 - Gensida debugger - дебагер-плагин который позволяет дебажить ромы Sega Genesis / Mega Drive);
 - Smd Constants identifier - при нажатии на J на константе, отправляемой в какой-либо командный регистр, в комментарий выведется инфа о том, что данное число значит, какие флаги устанавливает;
 - ASM Fixer - помогает при экспортировании листинга из IDA, и приведении его к ассемблируемому виду.
 - Генерация компилируемого ассемблерного листинга для AS/VASM/ASM68K прямо из коробки.

Проект развивающийся, поэтому каждый может предлагать свои идеи, изменения.

Исходники проекта и скомпиленые плагины здесь: https://github.com/lab313ru/smd_ida_tools2/releases
DrMefistO:
Планируется:) Вместе с переходом на Genesis Plus GX, от ekeeke.
MetalliC:
ясно, тогда уже на Blastem, он по-прогрессивнее будет ))
DrMefistO:
Он Пьера Солара умеет?
Takamura-kun:

--- Цитата: MetalliC от 02 Октябрь 2017, 21:11:10 ---ясно, тогда уже на Blastem, он по-прогрессивнее будет ))

--- Конец цитаты ---
Бластома имеет те же глюки, что и генс (в МК, например, меню опций, так же как и в генсе, живет своей жизнью) а нам нужна точность эмуляции.
MetalliC:

--- Цитата: DrMefistO от 02 Октябрь 2017, 21:40:19 ---Он Пьера Солара умеет?
--- Конец цитаты ---
не, этого маппера и еепромки он не умеет. но там есть свои прелести по части отладки типа gdb.


--- Цитата: worm от 02 Октябрь 2017, 23:00:39 ---Бластома имеет те же глюки, что и генс (в МК, например, меню опций, так же как и в генсе, живет своей жизнью) а нам нужна точность эмуляции.
--- Конец цитаты ---
шо ? глянул морталы 1-2-3-U3 - нормально там всё с меню опций.
на счёт точности - проблема в том, что SMD сцена шагнула вперед, начала использовать всякие недокументированные фичи, выжимать все соки из железа, типа как в Overdrive 2/
и реализация эмуляции в GenesisPlus  оказалась уже как-то не достаточно точной чтоб оно нормально работало. а переделывать всё на новый уровень автор не хочет, да и в результате его любимая Wii может перестать это дело тянуть. вобщем заглох он считай.

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

--- Цитата: MetalliC от 03 Октябрь 2017, 02:17:24 ---не, этого маппера и еепромки он не умеет. но там есть свои прелести по части отладки типа gdb.
--- Конец цитаты ---
Это плохо. Потому как я задумывал перенос на GX именно с целью подебажить Pier Solar, разобрать форматы, сделать полную отвязку от проверок CRC и т.д.


--- Цитата: MetalliC от 03 Октябрь 2017, 02:17:24 ---при желании не так и сложно добавить еще других.
--- Конец цитаты ---
Если реально сделать маппер от Pier Solar в обозримое время, то это было бы очень здорово. Иначе сейчас мне Blastem видится не таким крутым как GX (в частности, тайминги, поддержка Sega CD и т.д.).

Добавлено позже:
Огромный минус - это ядро на ассемблере, вместо чистого C, как Musashi.
Скомпилировать это дерьмо - то ещё дерьмо.
MetalliC:

--- Цитата: DrMefistO от 03 Октябрь 2017, 10:29:46 ---Это плохо. Потому как я задумывал перенос на GX именно с целью подебажить Pier Solar, разобрать форматы, сделать полную отвязку от проверок CRC и т.д.
--- Конец цитаты ---
тут да, с точки зрения "вам шашечки или ехать" для соляра лучше GenPlusGX, как проверенный рабочий вариант.


--- Цитата: DrMefistO от 03 Октябрь 2017, 10:29:46 --- мне Blastem видится не таким крутым как GX (в частности, тайминги
--- Конец цитаты ---
вот как раз эти тайминги в бластеме более правильные, потому на нем тот же овердрайв2 и работает, тогда как на GenPlus он виснет. собсно в первую очередь таймингами и правильной эмуляцией SMD он и интересен, в остальном, по удобности или мапперам он пока уступает другим эмуляторам.
DrMefistO:
MetalliC, не хочешь заняться запилом маппера от Пьера?
Takamura-kun:

--- Цитата: MetalliC от 03 Октябрь 2017, 02:17:24 ---глянул морталы 1-2-3-U3 - нормально там всё с меню опций.

--- Конец цитаты ---
Подтверждаю - только что проверил, все корректно. Но раньше эта бага была.


--- Цитата: MetalliC от 03 Октябрь 2017, 02:17:24 ---реализация эмуляции в GenesisPlus  оказалась уже как-то не достаточно точной чтоб оно нормально работало. а переделывать всё на новый уровень автор не хочет
--- Конец цитаты ---
Очень жаль - у нас были большие надежды на этот эмулятор. -.-
MetalliC:

--- Цитата: DrMefistO от 03 Октябрь 2017, 22:01:48 ---не хочешь заняться запилом маппера от Пьера?
--- Конец цитаты ---
а сам не осилишь ? по образу и подобию уже имеющихся маперов в romdb.c
тут "свои" эмуляторы тянуть особо некогда, уже больше года новых demul-ов не выкладывал ))
Segaman:
кто-нить мне обьяснит, что в лодере z80 означает вот такая строка:

--- Код: --- ex af, af'

--- Конец кода ---
как я понял, это обмен между двумя разными регистрами информацией, но вот как заставить понимать это компилятор, потому что он думает, что в конце этой команды начинается строка текста из-за знака '  :-\
MetalliC:
серьезно ? ну и ромхахакеры пошли..
http://z80-heaven.wikidot.com/instructions-set:ex

--- Цитата ---EX AF,AF' exchanges AF with its shadow register
--- Конец цитаты ---

почему эту мнемонику не понимает твой компилятор (какой кстати?) - вопрос к его авторам.
Segaman:
MetalliC, разобрался.

между тем посоветуйте эмулятор для удобного дебага z80
а то апельсиновый эмулятор как обрезал регистры и игнорил стэк, так и продолжает это делать.
не могу сделать стабильные сырцы звукового драйвера из-за этого :(
MetalliC:
Segaman, MAME, Exodus
Segaman:
MetalliC, попробовал маму - там нет бряков
попробовал эксодус (крутая штука) - вылетает после 1 секунды после установки брейкпоинта в Z80
 :'( :'(
MetalliC:

--- Цитата: Segaman от 08 Октябрь 2017, 00:08:17 ---попробовал маму - там нет бряков
--- Конец цитаты ---
всё там есть, введи в консоли "help bpset" или "help wpset"
процессоры переключаются командой focus x, в мегадрайве x=0 - M68К, x=1 - Z80

на счёт эксодуса - сам на практике не пользовал, глянул что вроде как есть и не более. возможно там глюков больше чем дебагера ))
DrMefistO:
Собранный студией blastem отказывается работать. Собирал 32-битным компилятором. Говорит про far offset не должно так быть.

Добавлено позже:
Вот исходник, если кому интересно собрать и разобраться: https://mega.nz/#!zNVHnagS!BPmVvNgqAXeLZWYEy5JwycLViGemb6NqkjbVBRR1rtA
Я не осилил.
DrMefistO:
Автор починил работу после компиляции в Visual Studio. Супер. Осталось присобачить маппер.
Марат:
DrMefistO, под IDA 7.0 не будешь обновлять? А то я смотрю под nes ты на 7 делал.
DrMefistO:
Пока нет. Генс нету 64-битного, а остальные эмули долго в плагин совать
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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