Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - DrMefistO

Страницы: Назад 1 [2] 3 Далее
31
Собственно, есть звуковой движок от игры Thunder Force 3.
Мне нужно его аккуратно раскочерыжить, разобрать формат сэмплов для последующего написания конвертера из MIDI, ну и в принципе, сделать самостоятельный исходник для встраивания в игры.

32
Лоадер ромов NES для IDA Pro v7.
Ссылка на исходники: https://github.com/lab313ru/inesldr
Ссылка на файлики: https://github.com/lab313ru/inesldr/releases

Процитирую тут Санчеза:
"Простейший вариант. Автоматические переменные получаются только с последним банком (или с первым, если он один), поддержка основных типов маппера, остальное - по дефолту банками по 32 кило. Кому чего надо, прикручивайте сами, дальше лень копаться в сдк по иде. Tip of Day: если надо перебросить вызов подпрограммы в другой банк, на имени функции в опкоде нажать Alt+R и выбрать нужный. Дальше все автоматически."

33
Собственно, если кому нужна помощь в переводе пожатых ресурсов, написании утилит к какой-то игре, с целью её перевести - пишите! Рассмотрю предложения.

Потому что у самого, похоже, не хватает желания самому всё делать.

34
Собственно, рад представить вам восстановленный исходный код RNC компрессора!
Много лет подходов начать декомпиляцию..., и, вот, мне удалось.

Собственно, поддерживаются режимы -m=1, -m=2, и шифрование ключом (-k=0x1234).

Исходники: https://github.com/lab313ru/rnc_propack_source
Релизы: https://github.com/lab313ru/rnc_propack_source/releases


35
Спасибо ARTYRRRRRR за предоставленные картриджи!

GemFire - перевод от MagicGame. На просторах сети перевода нет. Перевод в разы лучше Ньюгеймовского!
World of Illusion Starring Mickey Mouse & Donald Duck - перевод европейской версии (у Ньюгейма был для США). Автор неизвестен. Год перевода 2005.
Worms - более качественный перевод от Шедевр для компании "ГАСТИН". Перевод более проработан, чем тот, что у них есть (понятно, за деньги же!).

36
Вся инфа о нём здесь: https://hackaday.io/project/1507-usb-megadrive-devkit

Очень крутая штука. Чем больше наберётся человек, тем лучше.

Цитата
Мы хотим собрать людей на покупку 10 девайсов. 4 заказа уже есть.
batch of 5 @ $US 517.76/5 = 103.55 USD
batch of 10 @ $US 861.76/10 = 86.176 USD

Чем больше людей соберём, тем дешевле за один девайс.

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

Будет делаться на основе Gensida. Т.е. вы сможете видеть Z80_RAM, пошагово выполнять код, будут работать бряки, и т.д. Будет загрузчик для таких драйверов, с портами и т.д.

38
Собственно, вот. Позволяет производить отладку старых MS-DOS игр и программ в IDA. Всего лишь форк исходника от Eric Fry с некоторыми улучшениями.

Исходники: https://github.com/lab313ru/idados_dosbox
Релизы: https://github.com/lab313ru/idados_dosbox/releases

Инструкция:
  • Put generated dosbox.exe in IDA\ directory (or create standalone dir somewhere, and put ida.wll and dosbox.exe there);
  • Run dosbox.exe;
  • Mount some directory (mount Y d:\somedir\), put your MS-DOS executable in "d:\somedir\";
  • Goto your mounted Y:\ disk (Y:);
  • Run "debug yourexe.exe". It will freeze. Just press Alt+Tab;
  • Open IDA Pro and your executable there;
  • Select "Remote Dosbox debugger";
  • Go to Debugger->Process options... menu and specify host as "localhost";
  • Press F9 to run debugging process.

39
Всем привет!

Рад сообщить Вам, что, спустя много лет, я решил переделать свой перевод этой замечательной игры!
Предыдущая версия зависала после заставки, некоторый текст был переведен с учетом оригинальных длин фраз. Что в итоге выглядело не очень красиво.

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

На данный момент перевод только начат, но, то, что он идет уверенными темпами, это я могу сказать Вам точно!
Скринов не много, но, пока особо показывать нечего, если честно ^_^
Главное, есть инструментарий (который, кстати, будет выложен по окончании перевода вместе с исходниками).

164733-0
164737-1 164735-2

40

Данная утилита позволяет извлекать и вставлять обратно основную графику в играх от Codemasters для Sega Mega Drive. Основные возможности:
  • Поиск сжатых графических данных в ромах от Codemasters;
  • Извлечение сжатой графики в формат BMP;
  • Вставка переделанных изображений обратно в ром;
  • В случае, если сжатое изображение больше по размеру оригинального, файл будет сохранен отдельно, для ручной вставки.

Релизы: https://github.com/lab313ru/CodemastersBinImage/releases
Исходники: https://github.com/lab313ru/CodemastersBinImage

41

Собственно, это утилита компрессор-декомпрессор для игры Tecmo Cup Football Game, она же Captain Tsubasa, она же Boy Soccer Team 3. В большинстве случаев жмет значительно лучше оригинала.

Релизы: https://github.com/lab313ru/LZCapTsu/releases
Исходники: https://github.com/lab313ru/LZCapTsu

Благодарности: Марат.

P.S. Было бы классно перевести игру на русский язык! Но, это уже пусть кто-то другой. Если что, помогу в хакинге немного.

42
Цитата
Только зарегистрированные пользователи имеют доступ в этот раздел.
Пожалуйста, войдите или зарегистрируйтесь на форуме «Форум Emu-Land.net».

Только из одного вложения не дает качать, забавно.

P.S. В общем, удалите топик.

43
Gens+ GIR to GensRR GMV replay movie converter.

Позволяет конвертить из формата реплеев Gens+ в формат реплеев Gens ReRecordings. Мувики с сейвами также поддерживаются.

Как использовать (name.gir - имя вашего файла реплея):
girgmv.exe name.gir

На выходе получите output.gmv (и) output.gst (и) output.srm

Исходники: https://github.com/lab313ru/gir2gmv
Релизы: https://github.com/lab313ru/gir2gmv/releases

44

Да, и такое дерьмо случается... Это китайский хак на RRR!

Выпилены все копирайты, логотипы, инфа в роме, указывающая на Blizzard. Рожи персонажей, которых можно выбрать, заменены на анимешные. Радует, что осталась музыка и тачки не тронули.

В общем, сами судите по скринам:

45
Кто тестил еще? У меня так зависло на уровне где-то пятом, шестом. Точнее, между ними, рандомно.
Затем, во второй заход зависло при вызове магии на боссе.

У кого-нибудь на эмуле висло?

46
159511-0

Вот и дождались! =)

Что это такое: дебагер-плагин для IDA, который позволяет дебажить вашу любимые игры на "Соньку" PS1.
Базируется на PCSXR эмуляторе. Плагины и BIOS в поставке не идут.

Релизы тут: https://github.com/lab313ru/psxida/releases
Исходник: https://github.com/lab313ru/psxida/

Как использовать:
Из вложения качаете plw- и p64-файлики и кладете их в папку plugins вашей IDA Pro (версия не ниже 6.8).
Затем открываете стартующий бинарь игры/BIOS/что-то другое в IDA с помощью psx.ldw/psx.l64 загрузчика, в дебагерах выбираете плагин PsxIda.
Запускаете отладку. Плагины, биос и прочее настраиваете как хотите.

Самое важное: в Configuration->CPU ставите галки "Enable Interpreter Cpu", и "Enable Debugger":


В качестве стартующего файла выбираете всё как всегда: либо образ, либо дисковод. И дебажите!=)
P.S. В IDA в Options->General...->Analysis->Processor specific analysis options желательно подобавлять следующие маппинги:
  • From|To|Size
  • 0x00000000|0x80000000|0x00200000
  • 0xa0000000|0x80000000|0x00200000

История версий:
v1.0.0: Первая рабочая версия.

Видео:

47
Неправильный vimeo url
В этом видео показаны основные возможности специального дебагер-плагина для IDA, позволяющего отлаживать игры для Sega Mega Drive / Genesis. Если вы еще стеснялись использовать Gensida, то вот Вам отличная возможность начать.

Сссылка на тему по Gensida: http://www.emu-land.net/forum/index.php/topic,74337.0.html

48

В этом видео я покажу вам, как можно записать свою собственную демку для игры "Thunder Force 3".
Т.е., в итоге, демо будет встроена прямо в ром.

P.S. Видео старое довольно таки, но, на всякий случай, прикладываю сюда. Вдруг, кто не видел еще.

49
Наболело, вот и захотел поделиться мыслями на сию тему: ромхакинг.
За кадром еще многое осталось несказанным. Например: что такое ромхакинг в принципе; действительно, с чего начиналось все, и т.д.

Это исключительно мои мысли по теме, "мемуары" (с), можно сказать. Особо не трольте, мол, "Забыл того-то!", "Не сказал по NES/SNES!" и т.д. Да, в этом видео в основном по Сеге. И, я всех помню, всех люблю!=) О других платформах я мало что знаю.

Планирую еще сделать видео по теме перевода игр на Сегу. Т.е. особенности доставания ресурсов, хранения текста, и прочее. Утилиты, хитрости... Отличаться от имеющихся статей будет тем, что IDA тоже будет задействована.
На мой взгляд, она обязательна при переводе. Заодно попробую об основном функционале именно IDA расказать тоже.

В общем, камнями не кидаться...

Вообще, на мой взгляд, ромхакинг, это (цитата с Ютуба):
Цитата
Но суть в том: что есть ромхакинг? Юзать чей-то редактор уровней и сделать хак на Дюну? При этом не зная английского, и моторолы 68k? Смешно. Для меня ромхакинг, это когда ты своими исключительно силами разреверсил игру, сделал исправления, улучшения и т.д.
Да даже если собственными силами игру перевел - это тоже ромхак! А не тупо юзание чьего-нибудь редактора.
Сдк - это уже геймдевелопинг, а не ромхакинг, по-моему.

50

В данном видео показан процесс написания распаковщика для сжатой графики в игре Herzog Zwei.

Первая часть видео: https://youtu.be/ADUbNv-6G0M

P.S. Рассчитано на то, что вы знакомы с m68k ассемблером, и владеете хоть немного хоть одним высокоуровневым языком программирования.

51

В данном видео показан алгоритм поиска сжатой графики и процедуры ее распаковки в играх на Sega Genesis / Mega Drive.
В качестве основного инструмента использовался дебагер-плагин Gensida для всеми любимой IDA.

В качестве подопытного была использована игра Herzog Zwei.

52
Всем привет.
В этой статье я расскажу, как найти процедуру вывода текста в любой или почти любой игре на SMD.

Инструментарий:
  • Gensida - дебагер-плагин для IDA, позволяющий отлаживать ромы Sega Genesis / Mega Drive, унаследовавший некоторые фичи Gens Rerecordings, Gens KMod, Gens r57shell mod;
  • Smd Ida Tools - набор из загрузчика ромов Sega в IDA и подсказчика по отправляемым в VDP-регистры значениям;
  • Ром игры (возьмем, например, Caliber .50).
Приступаем:
Для начала, устанавливаем весь необходимый инструментарий (инструкции есть на репозиториях каждой из утилит).

Далее открываем IDA, кидаем в нее ром игры:

В качестве загрузчика у нас выбран smd_loader.ldw. Так и оставляем. Жмем ОК.

Теперь нужно указать дебагер-плагин:
157374-1
Выбираем "GensIDA debugger plugin".

Запуск процесса отладки и установка бряков:
Жмем клавишу F9 (или меню Debugger->Start process). После запуска процесса мы тут же прерываемся на самом старте эмуляции:
157376-2

Далее заходим в меню Tools->Plane Explorer. Откроется окно гляделки:
157378-3

Теперь давайте выберем текст, который мы хотим найти. Для этого снова нажмем в IDA клавишу F9. Мне понравился текст "20 YEARS LATER." (Вы можете выбрать совершенно другой текст. Принцип останется тем же.):

Жмем кнопку Pause на клавиатуре, либо на значок паузы в IDA. Переключаемся на окно Plane Explorer'а. Видим, что на Plane A черный экран. Пробуем Plane B - ага, вот и текст!

Наводим на первую букву курсор:
157382-5
И на последнюю букву:
157384-6

Красными рамками я выделил информацию о тайлах. Нам нужны значения ADDRESS, запомним их.

Теперь самое интересное и муторное: установка бряков и анализ каждого из срабатываний. Алгоритм такой:
  • Перезапустить эмуляцию;
  • Дать игре дойти до места, которое как можно ближе к месту, где текст уже отображен, нажать Pause;
  • В IDA перейти на первое значение ADDRESS (клавиша G), которое мы взяли из Plane Explorer'а;
  • Установить брейкпоинт (клавиша F2) на запись в VRAM;
  • Продолжить эмуляцию (клавиша F9);
  • Проанализировать место остановки.
Итак, с первым пунктом понятно. Далее, нужно дойти до места, где чуть далее будет показан искомый текст. У меня получилась такая вот картинка:

Установим бряк на адрес 0xE69A (у Вас адрес может быть другим):

Это окно можно просто пропустить нажатием OK.

Зато на следующем окошке - собственно установка брейкпоинта:

Обратите внимание на строку диапазона.
Это те самые два значения ADDRESS из Plane Explorer'а.

Жмем OK, и отпускаем эмуляцию дальше... И вот, первое срабатывание:


Судя по диапазону сработавшего бряка, и по коду, на котором остановилась IDA, это всего лишь очистка VRAM.

Отпускаем эмуляцию дальше... А вот это уже интереснее:
157396-12
(Я тут закрыл лишние окна, и оставил самые важные.)

Знающие люди сразу поймут, что этот код именно тот, что нужно. Для менее знающих поясню немного:
ROM:00000A36 movea.l $10(sp),a0Здесь в a0 заносится адрес чего-то, что идет сразу за адресом вызова процедуры. В Вашем случае передача адреса может выглядеть по другому. Главное найти регистр с адресом, откуда читаются символы, которые потом пишутся в VRAM.

Какой именно регистр нужен, станет понятно далее по коду.
ROM:00000A3A move.w  (a0)+,d0
ROM:00000A3C tst.b   d0
ROM:00000A3E beq.s   loc_A50
ROM:00000A40
ROM:00000A40 loc_A40:                                ; CODE XREF: sub_A2C+22j
ROM:00000A40 move.w  d0,(a6)
ROM:00000A42 move.b  (a0)+,d0
ROM:00000A44 move.b  (a0)+,d1
ROM:00000A46 tst.b   d0
ROM:00000A48 beq.s   loc_A50
ROM:00000A4A move.w  d0,(a6)
ROM:00000A4C move.b  d1,d0
ROM:00000A4E bne.s   loc_A40
Весь этот код просто читает из a0 по два байта (word) и пишет их в VDP_DATA. Запись прекращается, когда обнаруживается нулевой байт ($00).

Теперь посмотрим на места вызовов процедуры, чтобы узнать, какие там данные. Становимся на имя процедуры в IDA, жмем клавишу X, и видим три ссылки. Переходим по любой, и видим:
ROM:000040BA jsr     sub_A2C
ROM:000040BE or.b    $20(a2,d3.w),d0
ROM:000040C2 subq.w  #4,d5
ROM:000040C2 ; ---------------------------------------------------------------------------
ROM:000040C4 dc.b $41 ; A
ROM:000040C5 dc.b $52 ; R
ROM:000040C6 dc.b $53 ; S
IDA коряво распознала данные, идущие за вызовом процедуры (оно и понятно, т.к. при jsr ожидается, что возврат будет выполнен на последующий код. Поправим это.

Становимся на следующую за вызовом инструкцию, жмем U.
ROM:000040BA jsr     sub_A2C
ROM:000040BA ; ---------------------------------------------------------------------------
ROM:000040BE dc.b $80 ; А
ROM:000040BF dc.b $32 ; 2
ROM:000040C0 dc.b $30 ; 0
ROM:000040C1 dc.b $20
ROM:000040C2 dc.b $59 ; Y
ROM:000040C3 dc.b $45 ; E
ROM:000040C4 dc.b $41 ; A
ROM:000040C5 dc.b $52 ; R
ROM:000040C6 dc.b $53 ; S
ROM:000040C7 dc.b $20
ROM:000040C8 dc.b $4C ; L
ROM:000040C9 dc.b $41 ; A
ROM:000040CA dc.b $54 ; T
ROM:000040CB dc.b $45 ; E
ROM:000040CC dc.b $52 ; R
ROM:000040CD dc.b $2E ; .
ROM:000040CE dc.b   0
Ага, вот и текст!=)

На этом все... Всем спасибо за внимание!=)
© Dr. MefistO [Lab 313]

53
Релиз от Piko Interactive. Является переводом на английский игры "Shui Hu: Feng Yun Zhuan", плюс некоторые доработки.

54
Собственно, как снять с этого девайса зашитые там 80 ромов?
http://www.atgames.us/Sega-Genesis-Ultimate-Portable-Game-Player-GP2628-80B.htm



Скрины девайса и чипов прилагаю.

55
Все привет.

Что это: это самый, что ни на есть, дебагер-плагин для IDA Pro, чтобы отлаживать ромы для Sega Mega Drive / Genesis. Основан на, и собирается из исходников MESS.

Релизы тут: https://github.com/lab313ru/messida/releases
Исходник: https://github.com/lab313ru/messida/

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

Как использовать:
Желательно установить отсюда последние версии дополнительных модулей в помощь реверсеру: https://github.com/DrMefistO/smd_ida_tools/releases
Затем, из вложения качаете plw-файлик и кладете его в папку plugins вашей IDA Pro (версия не ниже 6.5). Открываете ром, в дебагерах выбираете плагин MESSIDA.

В меню Debug->Process options можно установить дополнительные флаги, которые понимает эмулятор MESS. По умолчанию передаются флаги:
"-debug -cart {путь_до_открытого_рома}", их поменять не выйдет. Ну и установленный по умолчанию "genesis", но его можно сменить на другую SMD-версию (чтобы регион учитывать).

История версий (бета тестирование):
Версия 1.5.5: Адаптировано под IDA v6.8, и свежие исходники MAME;
Версия 1.5.3: Добавлен MAME CLI интерпретатор в IDA. Теперь можно вводить команды MAME дебагера и видеть его консоль прямо в IDA. Некоторые улучшения в VDP VRAM окне. Пофикшен старый баг, когда бряка в цикле срабатывала только один раз. Пофикшено продолжение эмуляции после брейкпоинтов. Пофикшены бряки на read/write памяти.
Версия 1.5.2: добавлено VDP VRAM окно из Gens'а. Теперь окно MAME дебагера тоже отображается при старте эмуляции. Добавлена версия плагина для x64 версии IDA;
Версия 1.4.2: исправлено продолжение запуска эмуляции после первого бряка; исправлено отображение содержимого памяти для всех регионов;
Версия 1.4.1: добавлено отображение текущей позиции записи в VRAM. Исправлено отображение адреса WINDOW;
Версия 1.4: добавлены регионы на VRAM, VSRAM, CRAM. Добавлено отображение регистров VDP (Debugger windows->VDP Registers);
Версия 1.3: исправлен перезапуск процесса отладки, запись в консоль, открытие и закрытие консоли. Исправлен пункт меню выполнения MESS команд;
Версия 1.2: выполненные инструкции теперь отмечаются - можно легко находить код, которые никогда не выполняется. Исправлено выполнение по шагам. Исправлен вывод в консоль. Добавлена возможность выполнять команды дебагера MESS (в меню Debugger). Исправлены другие баги;
Версия 1.1: исправлен повторный запуск в том же сеансе. Исправлено сохранение конфига - теперь в каталоге с конфигом. Жрет меньше проц;
Версия 1.0: начальная версия.

155686-0

56
Собственно. Одному хорошему человеку отдам инвайт на Хабр, чтобы писал тот статьи хорошие и коменты серьезные)

57
Собственно, китайский покер. Игр, судя по меню, здесь 6.

Ничего, кроме того, что музыка здесь очень даже качественная и хорошая (поэтому и размер рома такой), сказать не могу. :lol: В покер играть не умею.

В архиве два рома:
  • Cha Oji Pu Ke - Super Poker (Ch).bin - оригинал, без фиксов в эмуляторы не запустится;
  • Cha Oji Pu Ke - Super Poker (Ch) [f1].bin - пофикшеный ром. Запускается везде.

58
Собственно, сабж. В хедере нет вообще никакой инфы.


59
Вот, нарыл. Но есть вопрос о наличии на них уже дампов:
http://www.ebay.com/itm/161679387674
http://www.ebay.com/itm/SONIC-MEGAMIX-Sega-Genesis-Mega-Drive-game-New-version-Russian-RARE-/221723162620?pt=LH_DefaultDomain_0&hash=item339fbaf7fc
http://www.ebay.com/itm/THE-LORD-OF-THE-RINGS-RARE-UNRELEASED-UNLICENSED-SEGA-MEGADRIVE-ASIA-IMPORT-/151657578207?pt=LH_DefaultDomain_71&hash=item234f7efedf

Было бы прикольно еще нарыть для меня кариков по запросу "sega megadrive rare" на ebay, которые не дампились ранее. Возможно, буду скупать.

60
Картриджи / диски / Tom Clown (Unl) (DUMPED!)
« : 29 Апрель 2015, 01:42:34 »
Встречайте: Tom Clown (Unl) - сдампленый, во всей красе!

Описание:
Tom Clown является интерпретацией игры Circus с Atari 2600. Игра довольно таки хардкорная. Музыка оставляет желать лучшего. А "разнообразность" уровней - типичный арканоид без бонусов. <_<

Благодарности уходят:
babulya - за предоставленный почтой России картридж;
r57shell - за огромную помощь в усовершенствовании прошивки дампера;
EkeEke - за помощь в изучении маппера;
Другу, который пожелал остаться неизвестным, но оказавшему содействие в изучении маппера;
Ну и скромно: мне - за настойчивость, хе-хе!)

Запускается только на MESS, с ручным указанием маппера Realtec, и на RetroArch (собранный не ранее чем 29.04.2015).

P.S. Желающим приобрести дампер, которым я пользовался, советую заглянуть сюда: SGCExplorer
И сюда: SGCExplorer Client

Страницы: Назад 1 [2] 3 Далее