Автор Тема: Messida - Sega Genesis Debugger for IDA Pro  (Прочитано 9660 раз)

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

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #30 : 05 Сентябрь 2015, 00:09:48 »
MetalliC, ну, если ида тянет проц этот, и ты мне дашь инфы по нем, то можно попробовать будет.
А лодырь - тоже надо инфу, и могу сделать.

Добавлено позже:
А пока, зарелизил версию v1.4: https://github.com/DrMefistO/messida/releases/tag/v1.4
  • Added VRAM, VSRAM, CRAM segments;
  • Added VDP registers (Debugger windows->VDP Registers).
« Последнее редактирование: 05 Сентябрь 2015, 02:51:54 от DrMefistO »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9372
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #31 : 05 Сентябрь 2015, 13:25:53 »
DrMefistO,
инфа вот
pdf-ка с докой на проц, плюс мои конфиг с метками внутренних регистров, и скриптик который создает сегменты для них (почему-то командами area в конфиге они не создаются)

в ида он обзывается Renesas SH-4 (little endian), модель 7750
думаю что зная М68К разобраться будет не сложно, тут заместо мотороловских отдельных по 8 штук регистров данных и адреса - 16 штук универсальных, последний тоже используется как стек, да и в остальном оно имхо схоже.
шина адреса - 29бит, старшие три бита используются для управления кешем.
т.е. допустим 0x8C000000 или 0x0C000000 - это первый адрес RAM, чтение/запись будет через кеш, 0xAC000000 - тот же адрес, но доступ будет напрямую. к сожалению ида это не хавает ( и считает за разные адреса.

дока на дрим вот , карта памяти на 16й странице

а вот пример базы  - это  VF4 с наоми2 но там те же яйца, только всего по два штука - видеопамятей, регистров, по Program Segmentation я надеюсь будет понятно.

собсно что хотелось бы получить - загрузчик, который будет хавать дамп всей оперативки, спросит куда его грузить (бывает 2 варианта - с 0x8C000000 или 0x0C000000), и потом пропишет сегменты, регистры и тому подобное. т.е. в принципе то же что делают мои sh3.cfg и sh4.idc но в более цивильном виде.

понятно, что всяких регистров много и они для тебя все не знакомые, так что вполне устроит "скелет" загрузчика, со всем основным, в который я уже сам смогу подобавлять еще меток регистров или там сегментов.
« Последнее редактирование: 05 Сентябрь 2015, 13:33:21 от MetalliC »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #32 : 05 Сентябрь 2015, 13:50:49 »
Ну что ж, попробую.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #33 : 05 Сентябрь 2015, 14:56:26 »
зарелизил версию v1.4
Сейчас заценим) спасибо

А вообще как у MESS с эмуляцией дела обстоят, лучше, чем у Kega/Regen?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #34 : 05 Сентябрь 2015, 15:09:52 »
worm, он по крайней мере всякие мапперы держит. В отличии от Кеги. Но в плане звука и некоторых других фич, Кега лучше.

Оффлайн tgitv

  • Пользователь
  • Сообщений: 21
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #35 : 05 Сентябрь 2015, 15:12:22 »
Обновил до версии 1.1. Тестируйте, не стесняйтесь.
Спасибо! Работает!

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9372
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #36 : 05 Сентябрь 2015, 15:41:28 »
Цитата: worm
А вообще как у MESS с эмуляцией дела обстоят, лучше, чем у Kega/Regen?

с эмуляцией таймингов доступа к VDP так почти никак, так что играм к этому критичным будет не хорошо.

на счет звука не согласен, он лучше/точнее чем в Кега, хотя и может звучать не так сочно т.к. нет интерполяций и прочих улучшательств.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #37 : 06 Сентябрь 2015, 00:15:38 »
Иногда вылетает. Возможно из-за моего вмешательства в дизассемблируемый код?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #38 : 06 Сентябрь 2015, 01:20:05 »
worm, было бы неплохо, если ты сможешь понять, когда и при каких обстоятельствах происходит вылет. Тогда я смог бы пофиксить.

MetalliC, лодырь готов: https://github.com/DrMefistO/sdc_loader. Только убери арии из конфига.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9372
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #39 : 06 Сентябрь 2015, 15:57:48 »
супер, спасибо. буду пробовать.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #40 : 06 Сентябрь 2015, 15:59:13 »
Если захочешь чего коммитить, сообщи, и я тебя добавлю в контрибуторы.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #41 : 06 Сентябрь 2015, 19:20:52 »
Цитата: DrMefistO
было бы неплохо, если ты сможешь понять, когда и при каких обстоятельствах происходит вылет. Тогда я смог бы пофиксить.

во время остановки эмуляции, при этом я долго (час, примерно) эмулировал без остановки и немного правил указатели в ida до этого. Если что-то узнаю об этом подробнее - обязательно сообщу.

Кстати, насколько сложно сделать linux версию сего лакомого кусочка?
« Последнее редактирование: 06 Сентябрь 2015, 19:30:16 от worm »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #42 : 06 Сентябрь 2015, 19:34:31 »
worm, если у тебя есть Ида под линукс, то можно. У меня нету. А какая у тебя?

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #43 : 06 Сентябрь 2015, 21:15:30 »
worm, если у тебя есть Ида под линукс, то можно. У меня нету. А какая у тебя?
6.5 :)
На дропбоксе валяется, могу расшарить, если нужна. Только она недоломана и базу не сохранить и не загрузить. Вместо этого, нужно использовать Dump Database to IDC file и Script file :lol:
Без SDK, конечно, раздавали.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #44 : 06 Сентябрь 2015, 21:24:34 »
worm, если там нету процов из про-версии, то не выйдет.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #45 : 06 Сентябрь 2015, 21:39:34 »
Кажется, все работает, за исключением сохранения/загрузки баз. :)
Нужен ведь именно сеговский проц?)

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #46 : 06 Сентябрь 2015, 22:04:13 »
worm, собрать-то можно. Но придется вникать долго, как все то, что я наконфигурил для студии, перенести в параметры для Make.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #47 : 06 Сентябрь 2015, 22:18:17 »
worm, собрать-то можно. Но придется вникать долго, как все то, что я наконфигурил для студии, перенести в параметры для Make.
Аа, тогда ну его) проще с виртуалки запускать - конечная цель все равно одна)

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #48 : 12 Сентябрь 2015, 02:28:59 »
Обновил до версии 1.4.1. Изменения в шапке.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #49 : 12 Сентябрь 2015, 13:46:43 »
Версия v1.4.2:
  • Исправлено продолжение запуска эмуляции после первого бряка;
  • Исправлено отображение содержимого памяти для всех регионов.
Критический апдейт.
« Последнее редактирование: 12 Сентябрь 2015, 13:57:53 от DrMefistO »

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #50 : 12 Сентябрь 2015, 19:22:47 »
Исправлено продолжение запуска эмуляции после первого бряка
Вот это очень хорошо) напрягало немного

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #51 : 12 Сентябрь 2015, 19:43:23 »
worm, ну так надо сообщать) А то "все хорошо", "все замечательно".. )

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #52 : 13 Сентябрь 2015, 23:08:25 »
worm, ну так надо сообщать) А то "все хорошо", "все замечательно".. )
Так это пустяковый баг)) не хотел напрягать, у тебя, наверно, и без того работы по плагину хватает))
Кстати, я узнал про вылет кое-что. Он случается чаще, когда выхожу escape'ом из эмуляции)

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #53 : 13 Сентябрь 2015, 23:30:45 »
worm, окей, проверю это. А про баги все равно лучше сообщать.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #54 : 21 Сентябрь 2015, 17:02:18 »
Цитата
Желательно установить отсюда последние версии дополнительных модулей в помощь реверсеру: https://github.com/DrMefistO/smd_ida_tools/tree/master/build
404. Так и должно быть?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #55 : 21 Сентябрь 2015, 19:09:41 »
В шапке я уже давно поправил линки. Это просто папки build уже нету.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #56 : 25 Сентябрь 2015, 13:21:52 »
Я заметил вот какую штуку. На всех ромах, что я "вспарывал", одинаковая функция инициализации (с оффсета $200) ее можно было бы занести в базу плагина :) (если, конечно, эти данные действительно статичны.)
Код: (Содрано с соника) [Выделить]
$200 ; Setup
$20e ; PortA_Ok
$22E ; SkipSecurity
$238 ; VDPInitLoop
$24A ; WaitForZ80
$250 ; Z80InitLoop
$25C ; ClrRAMLoop
$268 ; ClrCRAMLoop
$272 ; ClrVSRAMLoop
$27A ; PSGInitLoop
$28C ; run game

P.S.
Цитата
В шапке я уже давно поправил линки. Это просто папки build уже нету.
Сразу попрошу прощения за тупость - ничего не могу с собой поделать :D
т.е. smd_loader и smd_consts теперь вшиты в messida.plw? Или их нужно билдить вручную?
Потому, что линк на папку build в шапке остался, а скомпилированных smd_loader и smd_consts нигде не могу найти. Так что сижу на старых версиях)

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #57 : 25 Сентябрь 2015, 13:26:52 »
worm, в шапки ссылка на проект messida, smd_loader и smd_consts лежат в проекте smd_ida_tools. Перейти в раздел Releses и там лежат бинарники последних версий smd_loader и smd_consts.

Оффлайн worm

  • Пользователь
  • Сообщений: 1074
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #58 : 25 Сентябрь 2015, 13:34:58 »
s1nka, спасибо! :)
Перейти в раздел Releses и там лежат бинарники последних версий smd_loader и smd_consts.
Если бы Вы не предоставили ссылку на эту папку, я бы и в smd_ida_tools ее не нашел. Мистика.
Поковырялся и нашел все таки, прогресс))
« Последнее редактирование: 25 Сентябрь 2015, 13:43:45 от worm »

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: MESSIDA - Sega Genesis Debugger for IDA Pro (beta testing)
« Ответ #59 : 25 Сентябрь 2015, 14:10:58 »
worm, уличная магия. :). Рад помочь.