Автор Тема: Smd IDA Tools - Sega Mega Drive reversing helpers  (Прочитано 21663 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« : 08 Февраль 2015, 21:16:43 »
Собственно, проект по написанию крутых специфичных плагинов в помощь ромхакерам 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
« Последнее редактирование: 26 Январь 2023, 03:03:14 от DrMefistO »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #30 : 26 Март 2017, 13:49:56 »
Много-много изменений, читаем шапку (и историю коммитов на гитхабе).

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1084
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #31 : 30 Март 2017, 12:57:27 »
Возможно, всему виной моя невнимательность, но почему в архиве 2 папки -  ida68 и ida695?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #32 : 30 Март 2017, 12:58:11 »
worm, потому что вторая для тех, у кого есть IDA v6.95  :)

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1084
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #33 : 30 Март 2017, 13:05:41 »
Теперь понятно) Спасибо)

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #34 : 30 Март 2017, 13:07:21 »
DrMefistO, откуда дровишки ?  ^_^

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #35 : 30 Март 2017, 13:17:53 »
DrMefistO, откуда дровишки ?  ^_^
Отписал в ЛС.)

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4451
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #36 : 01 Апрель 2017, 11:04:35 »
MetalliC, DrMefistO,
можно мне тоже дровишек отсыпать?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #37 : 03 Апрель 2017, 12:28:18 »
Yoti, чуточку позже. Сорян.

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1084
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #38 : 03 Апрель 2017, 15:02:14 »
Мое любопытство меня погубит. На что дровишки?)

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #39 : 02 Октябрь 2017, 11:14:45 »
обновление под IDA 7.0 планируется ? (недавно вытекшую на публику)

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #40 : 02 Октябрь 2017, 15:15:30 »
Планируется:) Вместе с переходом на Genesis Plus GX, от ekeeke.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #41 : 02 Октябрь 2017, 21:11:10 »
ясно, тогда уже на Blastem, он по-прогрессивнее будет ))

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #42 : 02 Октябрь 2017, 21:40:19 »
Он Пьера Солара умеет?

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1084
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #43 : 02 Октябрь 2017, 23:00:39 »
ясно, тогда уже на Blastem, он по-прогрессивнее будет ))
Бластома имеет те же глюки, что и генс (в МК, например, меню опций, так же как и в генсе, живет своей жизнью) а нам нужна точность эмуляции.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #44 : 03 Октябрь 2017, 02:17:24 »
Он Пьера Солара умеет?
не, этого маппера и еепромки он не умеет. но там есть свои прелести по части отладки типа gdb.

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

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

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #45 : 03 Октябрь 2017, 10:29:46 »
не, этого маппера и еепромки он не умеет. но там есть свои прелести по части отладки типа gdb.
Это плохо. Потому как я задумывал перенос на GX именно с целью подебажить Pier Solar, разобрать форматы, сделать полную отвязку от проверок CRC и т.д.

при желании не так и сложно добавить еще других.
Если реально сделать маппер от Pier Solar в обозримое время, то это было бы очень здорово. Иначе сейчас мне Blastem видится не таким крутым как GX (в частности, тайминги, поддержка Sega CD и т.д.).

Добавлено позже:
Огромный минус - это ядро на ассемблере, вместо чистого C, как Musashi.
Скомпилировать это дерьмо - то ещё дерьмо.
« Последнее редактирование: 03 Октябрь 2017, 10:40:36 от DrMefistO »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #46 : 03 Октябрь 2017, 12:27:47 »
Это плохо. Потому как я задумывал перенос на GX именно с целью подебажить Pier Solar, разобрать форматы, сделать полную отвязку от проверок CRC и т.д.
тут да, с точки зрения "вам шашечки или ехать" для соляра лучше GenPlusGX, как проверенный рабочий вариант.

мне Blastem видится не таким крутым как GX (в частности, тайминги
вот как раз эти тайминги в бластеме более правильные, потому на нем тот же овердрайв2 и работает, тогда как на GenPlus он виснет. собсно в первую очередь таймингами и правильной эмуляцией SMD он и интересен, в остальном, по удобности или мапперам он пока уступает другим эмуляторам.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #47 : 03 Октябрь 2017, 22:01:48 »
MetalliC, не хочешь заняться запилом маппера от Пьера?

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1084
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #48 : 04 Октябрь 2017, 14:15:07 »
глянул морталы 1-2-3-U3 - нормально там всё с меню опций.
Подтверждаю - только что проверил, все корректно. Но раньше эта бага была.

реализация эмуляции в GenesisPlus  оказалась уже как-то не достаточно точной чтоб оно нормально работало. а переделывать всё на новый уровень автор не хочет
Очень жаль - у нас были большие надежды на этот эмулятор. -.-

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #49 : 04 Октябрь 2017, 19:16:24 »
не хочешь заняться запилом маппера от Пьера?
а сам не осилишь ? по образу и подобию уже имеющихся маперов в romdb.c
тут "свои" эмуляторы тянуть особо некогда, уже больше года новых demul-ов не выкладывал ))

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #50 : 07 Октябрь 2017, 17:51:54 »
кто-нить мне обьяснит, что в лодере z80 означает вот такая строка:
ex af, af'
как я понял, это обмен между двумя разными регистрами информацией, но вот как заставить понимать это компилятор, потому что он думает, что в конце этой команды начинается строка текста из-за знака '  :-\

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #51 : 07 Октябрь 2017, 18:07:53 »
серьезно ? ну и ромхахакеры пошли..
http://z80-heaven.wikidot.com/instructions-set:ex
Цитата
EX AF,AF' exchanges AF with its shadow register

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

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #52 : 07 Октябрь 2017, 22:03:21 »
MetalliC, разобрался.

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

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #53 : 07 Октябрь 2017, 23:27:34 »
Segaman, MAME, Exodus

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #54 : 08 Октябрь 2017, 00:08:17 »
MetalliC, попробовал маму - там нет бряков
попробовал эксодус (крутая штука) - вылетает после 1 секунды после установки брейкпоинта в Z80
 :'( :'(

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #55 : 08 Октябрь 2017, 00:23:52 »
попробовал маму - там нет бряков
всё там есть, введи в консоли "help bpset" или "help wpset"
процессоры переключаются командой focus x, в мегадрайве x=0 - M68К, x=1 - Z80

на счёт эксодуса - сам на практике не пользовал, глянул что вроде как есть и не более. возможно там глюков больше чем дебагера ))

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #56 : 08 Октябрь 2017, 17:21:25 »
Собранный студией blastem отказывается работать. Собирал 32-битным компилятором. Говорит про far offset не должно так быть.

Добавлено позже:
Вот исходник, если кому интересно собрать и разобраться: https://mega.nz/#!zNVHnagS!BPmVvNgqAXeLZWYEy5JwycLViGemb6NqkjbVBRR1rtA
Я не осилил.
« Последнее редактирование: 08 Октябрь 2017, 17:35:29 от DrMefistO »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #57 : 14 Октябрь 2017, 22:58:47 »
Автор починил работу после компиляции в Visual Studio. Супер. Осталось присобачить маппер.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #58 : 25 Январь 2018, 19:21:17 »
DrMefistO, под IDA 7.0 не будешь обновлять? А то я смотрю под nes ты на 7 делал.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Smd IDA Tools - Sega Mega Drive reversing helpers
« Ответ #59 : 25 Январь 2018, 23:42:29 »
Пока нет. Генс нету 64-битного, а остальные эмули долго в плагин совать