|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Сб Янв 20, 2007 12:08 pm Заголовок сообщения: Разница смещений |
|
|
Хотелось бы узнать, каким образом игры NES, а конкретно LIttle Ninja Brothers, получают конечный адрес строки из поинтера, а также адрес самого поинтера.
Просто в игре используется жёсткая система сжатия: двойной MTE + слова берутся разные, в зависимости от кол-ва игроков, т.е. с рус. языком не совместимо. Короче, гемморно всё.
Вот если бы можно было сослаться на пустое место... |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Сб Янв 20, 2007 9:16 pm Заголовок сообщения: |
|
|
Ну так в чём проблемы-то, дебаггер в в руки и вперёд! Всё равно универсального метода в NES-играх не существует, поэтому то, что будет найдено в LIttle Ninja Brothers, не особо поможет при взломе других игр. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Вс Янв 21, 2007 12:19 pm Заголовок сообщения: |
|
|
АнС писал(а): | Ну так в чём проблемы-то, дебаггер в в руки и вперёд! Всё равно универсального метода в NES-играх не существует, поэтому то, что будет найдено в LIttle Ninja Brothers, не особо поможет при взломе других игр. |
Да, вот научиться бы только асм понимать По отдельности то я прекрасно понимаю, что делает отдельная команда, но в совокупности код не понимаю... Да и с дебаггером на НЕС пока не очень дружу(на Сеге дела получше ). |
|
Вернуться к началу |
|
|
Shiru
Зарегистрирован: 25.10.2006 Сообщения: 295 Откуда: Russia, Moscow
|
Добавлено: Вс Янв 21, 2007 7:41 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | По отдельности то я прекрасно понимаю, что делает отдельная команда, но в совокупности код не понимаю... |
А ты записывай расшифровку действий команд на бумажку, или в текстовый файл. Скажем, есть у тебя какой-то фрагмент кода, который тебе надо понять. Смотришь - ага, пересылка регистр-регистр - записываешь:
имя регистра-получателя=имя регистра-источника
Дальше - ага, операция сложения. Пишешь. В итоге получаешь список действий. Дальше упрощаешь их - скажем, если там много вычислений, пишешь в одну строчку. Если много пересылок из-за проблем с кол-вом регистров - глядя такую на запись ты сможешь понять, что и куда реально пересылается. В итоге получишь запись алгоритма на высокоуровневом псевдо-языке, которую понять будет гораздо легче. Со временем, когда накопишь опыт, всё это будет происходить в голове, без бумажек и записей. |
|
Вернуться к началу |
|
|
-=#Griever#=- Гость
|
Добавлено: Пн Янв 22, 2007 11:52 pm Заголовок сообщения: |
|
|
Конечно, на твоём бы месте, я взялся бы за что-нибудь полегче. Ну раз уж разговор зашёл об указателях, то:
- Так как, сам текст хранится вообще в CHR банке ROM'а [фраза 'one day there was an emergency...' по адресу $0372AB] и они указывают
уже не на место в основном RAM'е игры, а на PPU, доступ куда производится через регистр $2006/2007, то они уже не обязательно должны быть большими числами(>$80). Плюс, свои особенности игры (программно поинтер не сможет адресовать дальше $7FF), плюс приколы адресации в PPU. Всё это накладывает свой отпечаток на значения поинтеров, однако нас это не касается =)
- Указатели двухбайтовые, однако в таблице перед каждым стоит один байт, отвечающий за отображение звука
выводящегося текста, скорость, вроде, и ещё какие-то вещи.
- Непосредственно сами указатели хранятся, похоже, по адресам начиная с $36c14 (это указатель на первую фразу) |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Вт Янв 23, 2007 3:31 pm Заголовок сообщения: |
|
|
Спасибо всем Буду учиться...
Похоже, в LNB без MTE не обойтись... |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|