Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Экстрим хакинг » Gyromite [NES]


Gyromite [NES]

Сообщений 1 страница 8 из 8

1

Вот начал играть в игру на денди Gyromite_(JUE) - так вот, прикол замутили программеры. Открываешь игру в редакторе и изменяешь какое-нить слово (например game over или player) всего на 1 букву - и игра перестаёт работать! Т.е. она запускается, но профессор не может поднимать и опускать трубы!!!

Это что - разработчики как-то проверяют контрольную сумму любого слова в игре??? Посмотрите, кому не лень... Просто интересно...

Ещё сталкивался я с таким приколом - в игре изменяешь название рома (хоть на 1 букву) - и игра начинает глючить неподетски, пока обратно не переименуешь... А это что такое??? Разве такое может быть??? Проверял на 2 эмулях - фце и виртуанес... Игра Parasol Stars The Story of Bubble Bobble 3 (E) [!]

2

Открываешь игру в редакторе и изменяешь какое-нить слово (например game over или player) всего на 1 букву - и игра перестаёт работать! Т.е. она запускается, но профессор не может поднимать и опускать трубы!!!

Игра изначально была предназначена для использования с Family Computer Robot / R.O.B. Его поддерживает, например, Nestopia. Для тех же, у кого R.O.B.'a нет, имеется возможность поднимать и опускать трубы со второго контроллера (кнопки A и B). Однако тут не все чисто: действительно, если поменять байт, то функция R.O.B.'a в Nestopia перестает работать (остается возможность управлять со второго контроллера): боле чем вероятно, что это проблема эмулятора (по CRC чексумме он, очевидно, определяет, что это именно игра Gyromite и нужно использовать R.O.B. - в пользу этой версии говорит и то, что изменение даже одного байта CHR-ROMa приводит к тому же эффекту), возмжно проверка игры (врядли, потому что организовать подсчет чексуммы в игре без CHR-RAM... Да еще и для игры 85-го года...). В любом случае, выяснить это трудно, т.к. FCEU или NESten (имеют отладчики) не поддерживают ROB (под него были написаны всего две игры).

в игре изменяешь название рома (хоть на 1 букву) - и игра начинает глючить

В смысле, переименовываешь файл образа? Юзай Nestopia - она отлично справляется с этой игрой. У меня лично FCEU было наплевать на название файла - одинаково плохо рисовал титульник. Что касается VirtuaNES, тут все хитрее... Похоже, эмуль реально опирается на имя файла (бред, конечно (почему бы не применить простейшую чексумму для распознания рома?), но титульники и вправду рисуются по-разному в зависимости от имени ROM).

Отредактировано Griever (2007-10-09 19:03:29)

3

В Виртуа НЕС тоже можно управлять трубами с первого контроллера, но перед этим необходимо нажать старт, а уже потом А или В... Но всё-таки они классно замутили с проверкой ;о)))

цЫтата: "но титульники и вправду рисуются по-разному в зависимости от имени ROM" - там не только титульники, ещё на уровнях косяки с верхними кирпичами + на одном из уровней можно провалиться сквозь пол и застрять там НАВЕЧНО...

На счёт имени файла - так я немного изменял ром в самом начале (символы от 10 и до 20) и это вроде помогало... Можно его было потом изменять и графика нормально отображалась... Сейчас уже не помню...

4

А вообще - где есть информация по поводу первых символов в роме (хедер или как это называется?). Что там к чему,  что обозначают коды, для чего нужны и т.д.

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

Хотелось бы понять алгоритм, чтобы не вслепую, а осознанно...

И что такое чексумма, CHR-RAM и т.д. Просвяти...

5

http://www.emu-land.net/forum/showthread.php?t=11531

6

Спасибо, очень интересно ;о)))

7

В Виртуа НЕС тоже можно управлять трубами с первого контроллера, но перед этим необходимо нажать старт, а уже потом А или В... Но всё-таки они классно замутили с проверкой ;о)))

Кхм... Я имел ввиду, что проверки в самой игре нет вообще =) Ну, проще говоря: старт+(а или B) заставляет работать того самого пресловутого R.O.B.! Т.е. операции с трубами со второго контроллера поддерживают все эмули. Операции с трубами через R.O.B. ( с первого контроллера Старт+(а или B) ) поддерживают те эмули, где есть поддержка этого самого R.O.B. Так вот эти эмули перестают поддерживать с первого контроллера Старт+(а или B), если в роме изменен хоть один байт (проверяет сам эмулятор, чтобы не использовать R.O.B. с играми не заточенными под него).

Отредактировано Griever (2007-10-10 15:14:24)

8

Аааааааааааа..... Теперь понятно!


Вы здесь » Chief-NET » Экстрим хакинг » Gyromite [NES]