Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Как делать трейнеры для приставочных игр

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Ромхакинг в России и в мире
Предыдущая тема :: Следующая тема  
Автор Сообщение
iddqd



Зарегистрирован: 25.04.2006
Сообщения: 78

СообщениеДобавлено: Вс Окт 28, 2007 11:41 am    Заголовок сообщения: Как делать трейнеры для приставочных игр Ответить с цитатой

Как делают трейнеры в ромах? Что для этого нужно? напишите по шагам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вс Окт 28, 2007 1:38 pm    Заголовок сообщения: Re: Как делать трейнеры для приставочных игр Ответить с цитатой

iddqd писал(а):
Как делают трейнеры в ромах? Что для этого нужно? напишите по шагам.

Найти, где хранятся значения, добавить в процедуру проверки на нажатие клавиш твой код, а в нём уже отсканивать нажатия нужных тебе клавиш и при необходимости изменять значения в памяти.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вс Окт 28, 2007 9:03 pm    Заголовок сообщения: Ответить с цитатой

Что-то не видел я настоящих трейнеров для игрушек НЕС/Сеги. О чём именно речь?

Мне встречались встроенные трейнеры в качестве интро для GBA-ромов, но там и методика та же, что использовалась в 90-х годах для DOS-игр - берут компилятор и нормально пишут интро/трейнер без всякого ромхакинга (разве что хакинг может потребоваться для вставки интро в игру, защищённую от подобных модификаций).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Ghost



Зарегистрирован: 24.04.2004
Сообщения: 237

СообщениеДобавлено: Пн Окт 29, 2007 1:16 am    Заголовок сообщения: Ответить с цитатой

Любой ром с [t...] должен по идее содержать трейнер.
_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
iddqd



Зарегистрирован: 25.04.2006
Сообщения: 78

СообщениеДобавлено: Вт Окт 30, 2007 1:32 pm    Заголовок сообщения: Ответить с цитатой

Вот мне и нужно узнать, как делать ромы [t] и патчи для игр на CD-консолей. Какие программы для этого нужны?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
TiberiyLTim
RRC2008
RRC2008


Зарегистрирован: 14.07.2006
Сообщения: 446
Откуда: 39

СообщениеДобавлено: Вт Окт 30, 2007 7:33 pm    Заголовок сообщения: Ответить с цитатой

iddqd писал(а):
Вот мне и нужно узнать, как делать ромы [t] и патчи для игр на CD-консолей. Какие программы для этого нужны?


патчи делать Ipsexe
___

Объясни что из себя представляет этот трейнер, как ты задумал. А, кажись, ты не туда движешься...
_________________
http://RomHacking.RU
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Окт 30, 2007 8:07 pm    Заголовок сообщения: Ответить с цитатой

TiberiyLTim писал(а):
патчи делать Ipsexe

PPF, либо X-Delta. Другие мне пока не известны. Ипс тут не катит.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
BoreS



Зарегистрирован: 03.04.2004
Сообщения: 347
Откуда: KarmaSociety

СообщениеДобавлено: Вт Окт 30, 2007 11:16 pm    Заголовок сообщения: Ответить с цитатой

ещё отличные программы для создания патчей psxt001z и ImageDiff. Взять их можно на их официальном сайте, точнее форуме Smile
http://redump.org/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
iddqd



Зарегистрирован: 25.04.2006
Сообщения: 78

СообщениеДобавлено: Ср Окт 31, 2007 12:06 pm    Заголовок сообщения: Ответить с цитатой

Я пока никуда не движусь, просто хочу узнать как это делается - чем находить адреса и т.д.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ghost



Зарегистрирован: 24.04.2004
Сообщения: 237

СообщениеДобавлено: Ср Окт 31, 2007 1:30 pm    Заголовок сообщения: Ответить с цитатой

Предположим, адреса ты найдёшь, причём это должны быть адреса в роме, а не оперативке. Но чтобы сделать сам трейнер, надо хотя бы немного кодить. Отсюда и надо начинать. А тот, кто умеет кодить, без особого труда найдёт адреса.
_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Окт 31, 2007 2:35 pm    Заголовок сообщения: Ответить с цитатой

Ghost писал(а):
Предположим, адреса ты найдёшь, причём это должны быть адреса в роме, а не оперативке.

Вообще-то нужно узнать, где хранятся значения именно в оперативие, чтобы написать тренер.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Ghost



Зарегистрирован: 24.04.2004
Сообщения: 237

СообщениеДобавлено: Ср Окт 31, 2007 6:10 pm    Заголовок сообщения: Ответить с цитатой

А я не уточнил, адреса чего надо знать Wink
_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
iddqd



Зарегистрирован: 25.04.2006
Сообщения: 78

СообщениеДобавлено: Чт Ноя 01, 2007 10:03 pm    Заголовок сообщения: Ответить с цитатой

Вот кодить-то я и не могу:(Ассемблер?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Ноя 01, 2007 10:19 pm    Заголовок сообщения: Ответить с цитатой

Естественно ассемблер.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Shiru



Зарегистрирован: 25.10.2006
Сообщения: 295
Откуда: Russia, Moscow

СообщениеДобавлено: Пт Ноя 02, 2007 3:47 pm    Заголовок сообщения: Ответить с цитатой

Трейнер - это не только и не столько оболочка, сколько хак кода игры. В отличии от игр для компьютеров с приставками всё не так просто.

Код игр для компьютеров грузится в ОЗУ, поэтому трейнер может спокойно заменить код некоторых операций (условно: заменяем декремент NOP'ом, убираем убавление энергии). В этом случае трейнер является автономной программой, он может быть вообще в виде отдельного исполняемого файла, модифицирующего исполняемый файл игры.

На картриджных приставках код находится в ПЗУ. Изменить его трейнер не может. Значения в ОЗУ (условно: непосредственно кол-во энергии) он изменить может, но толку от этого не будет, т.к. код игры инициализирует эти значения при старте игры. Поэтому нужно модифицировать код игры так, чтобы определённые действия выполнялись или не выполнялись в зависимости от флажков в ОЗУ, выставленных трейнером. Для них надо ещё освободить место, чтобы оно не инициализировалось кодом игры.

Сам трейнер (оболочку с выбором опций) лучше писать на ассемблере, т.к. код относительно несложный в написании, и, что важно, он займёт немного места (т.к. надо найти или освободить место в картридже, где его можно разместить). Если написать на C, будет легче написать оболочку, но существенно сложнее вставить её в игру (больше места, расположение по определённым адресам, и т.д).

Имхо, весь этот гемморой не стоит свеч. Встроенного GG в эмуляторах более чем достаточно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Griever
RRC2008
RRC2008


Зарегистрирован: 15.07.2005
Сообщения: 112
Откуда: Н.Новгород

СообщениеДобавлено: Вс Ноя 18, 2007 2:03 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Значения в ОЗУ (условно: непосредственно кол-во энергии) он изменить может, но толку от этого не будет, т.к. код игры инициализирует эти значения при старте игры. Поэтому нужно модифицировать код игры так, чтобы определённые действия выполнялись или не выполнялись в зависимости от флажков в ОЗУ, выставленных трейнером. Для них надо ещё освободить место, чтобы оно не инициализировалось кодом игры.

Не согласен - легче изменять значения ОЗУ каждый VBLANK.
Цитата:
он займёт немного места (т.к. надо найти или освободить место в картридже, где его можно разместить)

Для примера, формат заголовка .nes файла (конкретно - 7-й байт):

Код:
  bit 0     1 for vertical mirroring, 0 for horizontal mirroring.
         bit 1     1 for battery-backed RAM at $6000-$7FFF.
     :!: bit 2     1 for a 512-byte trainer at $7000-$71FF. :!:
16-...   ROM banks, in ascending order. If a trainer is present, its
         512 bytes precede the ROM bank contents.
 

Конкретно для трейнера адреса уже определены (если располагать в свободном месте ПЗУ, то это уже будет хак =)).
Цитата:
Что-то не видел я настоящих трейнеров для игрушек НЕС/Сеги.

Узри.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Shiru



Зарегистрирован: 25.10.2006
Сообщения: 295
Откуда: Russia, Moscow

СообщениеДобавлено: Вс Ноя 18, 2007 2:31 pm    Заголовок сообщения: Ответить с цитатой

Griever писал(а):
Не согласен - легче изменять значения ОЗУ каждый VBLANK.

Неуниверсально. Например, не поможет в R-Type (убивают с одного попадания и перемещают на чекпоинт). Хотя и применимо в некоторых случаях, но опять-же - добавление нового кода непосредственно в игру.

Griever писал(а):
Для примера, формат заголовка .nes файла (конкретно - 7-й байт):

Я так понимаю, что это будет работать только на эмуляторе. Такой подход я не рассматриваю, в эмуляторах и так есть GG, сейвы, и.т.п.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
TiberiyLTim
RRC2008
RRC2008


Зарегистрирован: 14.07.2006
Сообщения: 446
Откуда: 39

СообщениеДобавлено: Пн Ноя 19, 2007 10:56 pm    Заголовок сообщения: Ответить с цитатой

тут много "Trainer" и не только для GBA и не только:
http://bubbz.pocketheaven.com/?system=gba&section=patch

Это это?
_________________
http://RomHacking.RU
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
iddqd



Зарегистрирован: 25.04.2006
Сообщения: 78

СообщениеДобавлено: Пт Дек 21, 2007 2:59 am    Заголовок сообщения: Ответить с цитатой

Внутри лежат ips-патчи.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mesutso



Зарегистрирован: 25.12.2007
Сообщения: 14
Откуда: Moscow

СообщениеДобавлено: Чт Дек 27, 2007 7:04 pm    Заголовок сообщения: Ответить с цитатой

Ну чё вы так мучаетесь. Зачем так париться. Париться надо где? На парах. А узнавать адреса и значения в ромах можно с помощью ArtMoney SE v7.13 (2). Создаёшь там таблицу потом сохраняешь. Получаются файлики. Так прошёл многие игры на денди.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Чт Дек 27, 2007 7:23 pm    Заголовок сообщения: Ответить с цитатой

Ну не все же знают, что существует такая программа - ArtMoney. вот в наше время... Вот iddqd теперь будет знать. Гы-гы!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Дек 27, 2007 7:30 pm    Заголовок сообщения: Ответить с цитатой

mesutso писал(а):
Ну чё вы так мучаетесь. Зачем так париться. Париться надо где? На парах. А узнавать адреса и значения в ромах можно с помощью ArtMoney SE v7.13 (2). Создаёшь там таблицу потом сохраняешь. Получаются файлики. Так прошёл многие игры на денди.

Это адреса в памяти эмулятора (то бишь в виртуальной памяти приставки), но никак не в роме.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
iddqd



Зарегистрирован: 25.04.2006
Сообщения: 78

СообщениеДобавлено: Пт Дек 28, 2007 1:28 am    Заголовок сообщения: Ответить с цитатой

>Ну не все же знают, что существует такая программа - ArtMoney. вот в наше время... Вот iddqd теперь будет знать.

Юморист.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Ромхакинг в России и в мире Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group