Автор Тема: Портирование игры SEGA на другой язык  (Прочитано 6168 раз)

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

Оффлайн kadet.89

  • Пользователь
  • Сообщений: 9
    • Просмотр профиля
Re: Портирование игры SEGA на другой язык
« Ответ #30 : 14 Сентябрь 2012, 01:37:01 »
Почитал мануал от Ti, вроде понятно как менять значения в роме, чёто добавлять туда... но вот как портировать я так и не смог понять. Допустим игра начинается с меню, и в первую очередь надо его сделать, пробовал разобраться что к чему, но пока ничего не получается. Тут был бы полезен видео-урок с демонстрацие портирования небольшой части кода от любой игры (допустим меню игры с выделением пунктов). Пробовал через Search GG codes искать нужный код...но  попадаю не на код, а непонятно куда. Может есть способ как то сделать так чтобы как в борланд си - выполнилась строчка кода - она выделилась и вывелись результаты, потом жму enter - выполнилась следующая строчка... так былоб можно легко сопоставить код с тем что вижу на картинке и не надоб было всё искать и разбирать.
Да, кстати не подскажете где в GensKMOD найти в меню пункт Trace, в мануале от Ti сказано что он там есть, но на деле я его не могу найти.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Портирование игры SEGA на другой язык
« Ответ #31 : 14 Сентябрь 2012, 01:49:53 »
Да, кстати не подскажете где в GensKMOD найти в меню пункт Trace, в мануале от Ti сказано что он там есть, но на деле я его не могу найти.
И я не могу - странно может не во всех версиях был.
 В Gens11a или сделанном из него же GensR57shellmod он точно есть.
Добавлено позже:
по реверс-инжинирингу ? спасибо, посмеялся.
Ну а чо есть такие мануалы - пример Крис Касперски - только там сложные моменты.
Цитата
Показывает приемы эффективного использования IDA Pro для исследования
 зашифрованного кода, p-кода, самомодифицирующегося кода и кода, защищенного антиотладочными приемами. 

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Портирование игры SEGA на другой язык
« Ответ #32 : 14 Сентябрь 2012, 02:09:00 »
но вот как портировать я так и не смог понять.
Как портировать - ты должен придумать сам. Ты же портируешь. Нет одного везде рабочего алгоритма.

Допустим игра начинается с меню, и в первую очередь надо его сделать,
Ну никто не говорит, что его нужно делать в первую очередь. Видел мой порт? Там только основной геймплей.

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

Тут был бы полезен видео-урок с демонстрацие портирования небольшой части кода от любой игры (допустим меню игры с выделением пунктов).
Небольшой урок?) Ыыыы это типо, меню за день видео?) (часов этак 10-20).

Пробовал через Search GG codes искать нужный код...но  попадаю не на код, а непонятно куда.
наверно плохо ищешь.

Может есть способ как то сделать так чтобы как в борланд си - выполнилась строчка кода - она выделилась и вывелись результаты, потом жму enter - выполнилась следующая строчка...
Для начала нужно понять, что есть результаты. Результаты - изменения регистров, и памяти. Грубо говоря, изменение "состояния" приставки.
Регистры - показываются в отладчике, и остальное тоже можно посмотреть. (RAM, VRAM) За исключением некоторых вещей.

так былоб можно легко сопоставить код с тем что вижу на картинке и не надоб было всё искать и разбирать.
Надо всё искать, и разбирать. Именно так, и никак иначе. Тебе может быть ещё всплывающих подсказок, что на что влияет, и названия переменных?))) не смеши.
Добавлено позже:
Ах да, забыл сказать, на счёт графики и звука - ты сам должен уметь в "своей среде" работать с графикой и звуком. Так как на приставке другое железо, команды.

Оффлайн kadet.89

  • Пользователь
  • Сообщений: 9
    • Просмотр профиля
Re: Портирование игры SEGA на другой язык
« Ответ #33 : 14 Сентябрь 2012, 03:22:36 »
Я не совсем это имел ввиду. Графический интерфейс и звуки я могу сам создать. Меня больше интересуют технические моменты. Хотя... возможно меню не самый подходящий пример.
Надо всё искать, и разбирать. Именно так, и никак иначе. Тебе может быть ещё всплывающих подсказок, что на что влияет, и названия переменных?))) не смеши.
Ну ведь команды выполняются в определенном порядке который теоретически можно отследить ( в пример - трассировка) Другое дело что не существует инструмента который бы после выполнения команды указывал на нее в коде по соответсвующему адресу и ставил бы процесс на паузу до нажатия enter,. Получить измененное значение теоретически тоже можно. так всё былоб ясно по результатам работы эмулятора. К примеру - переместил указатель в меню игры - сработала команда и отобразилась соответствующая строка по адресу в коде-> сразу видно что откуда и куда.
Gens11a, спасибо, завтра попробую.
« Последнее редактирование: 14 Сентябрь 2012, 03:31:39 от kadet.89 »

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Портирование игры SEGA на другой язык
« Ответ #34 : 14 Сентябрь 2012, 05:45:32 »
Ну ведь команды выполняются в определенном порядке который теоретически можно отследить ( в пример - трассировка)
Что за бардак в голове? "теоретически", и сразу пример в практике.

Другое дело что не существует инструмента который бы после выполнения команды указывал на нее в коде по соответсвующему адресу и ставил бы процесс на паузу до нажатия enter,.
Это называется Breakpoint. Сильное заявление "не существует", тем более, что есть.
GensVKNTrace, Gens_11b r57shell mod

Получить измененное значение теоретически тоже можно. так всё былоб ясно по результатам работы эмулятора. К примеру - переместил указатель в меню игры - сработала команда и отобразилась соответствующая строка по адресу в коде-> сразу видно что откуда и куда.
Полёт мысли неуловим, не понятно ничего ВООБЩЕ. Какое "измененное значение"? "Указатель"? "В меню игры"? "После чего вдруг сработала команда"? О_о. И внезапно стало всё видно откуда и куда.