Как в nintendo 64 эмулятор сделать бесконечную жизнь

Обновлено: 01.07.2024

В недавней презентации Nintendo Direct коропрация представила нам свой новый подписочный план для сервиса Nintendo Switch Online; в этот новый план, за который будут просить дополнительную сумму, будет содержать в себе, кроме прочего, игры для Nintendo 64.

Всего в сервис по новому подписочному плану войдут 9 игр для Nintendo 64:

И все это, конечно, прекрасно, наконец-то лицензионщики смогут поиграть в игры от Nintendo 64 на лицензионном эмуляторе, но что там в бесплатном аналоге на той же операционной системе свича (который, к тому же, появился уже фиг знает когда, в 2018–2019 годах, что ли?)? Как работает бесплатный эмулятор в вышеперечисленных играх? Более того — как он работает с лучшими настройками, чем то, что показала нам Нинтендо на своей презентации.

Настройки эмулятора Nintendo 64:

Тут важны первые 3 пункта:

4:3 Resolution отвечает за внутреннее разрешение эмулируемых игр для выбранного в 3 пунтке соотношения 4:3;

Wide Resolution — то же, что и 1, но для соотношения 16:9;

Все остальные настройки вроде бы стоковые.

Что касается «разгона» (стоковых частот самого процессора tegra, который Nintendo занижает), то я его делал, но не для всех игр.

Запускал эмулятор в доке. Это значит, что тактовая частота будет разогнона в сравнении с портативным режимом. В портативе нинтендо делает 1300 mhz, в доке — 1600 mhz.

Стабильные 30 фпс на стоковых частотах процессора (1020 mhz) в Wide Resolution.

60 fps в видео означают, что фпс удвоен одним повторяющемся кадром

Падения фпс на стоковых частотах, но если повысить — играбельно.

Также лагает стартовое меню на стоковых частотах.

Очень сильно лагает меню и сюжетные вставки, но игра сама вроде бы идет с играбельным фпс. Серьезно я ее не проверял, так как ну говно же какое-то.

Игра не идет нормально никак. Проверял на разных вышеописанных настройках (в том числе неописанных), но лаги не проходят. Хотя играть в принципе с высокими частотами можно в 4:3 Resolution (в том числе и с высокими частотами графического процессора).

Почти стабильные 24 кинематографичных кадра на стоковых частотах.

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

А вот с продолжением Окарины времени эмулятор уже не справляется — лаги на любых настройках.

А можно ли на свиче поиграть в Маску Маджоры нормально?

В настройках эмулятора внутреннее разрешение повышено в 3 раза.

Стабильные 30 фпс с незначительными просадками в стоковых частотах.

И все это можно запустить уже сейчас, достаточно лишь иметь первую ревизию свича или чип для других ревизий. Более того, на первую ревизию можно поставить андроид или операционку от ретроарч и играть в игры от геймкуба и вии. И тут я не понимаю Нинтендо, у них уже есть эмулятор для геймкуба и вии, так почему же они дают своим подписчикам только то, что некоторые запускали в году этак 2019?! И ладно было бы это все бесплатно (ну или хотя бы купил один раз — играй навсегда), так нет же, подписочный сервис. Для кого это хорошо? И кто вообще ждал игры от Нинтендо 64? Эти игры уже устарели. Как вам Окарина и Маска в 24 кадров в секунду? Нравится в такое играть на неоригинальной консоли? Что касается соотношения сторон, то мы еще посмотрим, сделает ли Нинтендо то, что любительские эмуляторы умеют уже, или останется только 4:3 с оригинальным разрешением 640:420. Вряд ли Нинтендо что-то улучшит.

Хороший, добрый Миямото, посмотрите, это же не он отвечает за всякие подписочные сервисы. Нет, не он, это другие. Вы видели, какой он был вчера милый, когда представлял фильм по Марио от студии, подарившей нам денгососущих миньенов?

Ожидаем - Nes, Genesis/SMD.

Поиск PAR кодов средствами эмулятора Nes & SMD – часть 1.

Создание RAW кодов в эмуляторе Nes – часть 1.
Воспользуемся эмулятором Nestopia 1.40. Запускаем в нём ром Moon Crystal (J) [T+Rus] – русский перевод от Шедевра:) Можно любой другой ром этой игры.
На экране две жизни:
Идём в Nestopia – Options – Cheats – Add:
A=0 B=0 то есть пока эти поля не трогаем, ниже оставляем отметку на «None» - получается что мы выполняем просто поиск неизвестного значения.
Далее возвращаемся в игру (кнопку Cancel не нажимаем!). В игре теряем одну жизнь. На экране стало 1. Возвращаемся в меню читов, в поле B впечатываем значение 1 и после этого выбираем условие поиска (фильтр) R0-R1=B:
Поясню – это означает, что значение уменьшилось на единицу. То есть R0 – первое состояние, R1 – второе, B – разница между ними.
Далее слева смотрим – из найденных нам подходят два адреса – 05ED и 0799. Проверяем первый из них (смотрим сверху вниз):
В разделе Raw: Adress 05ED
Value = 7 (можно другое)
Далее жмём кнопку Validate (обязательно!) – слева появится надпись Valid; Description – описание адреса, я вписал Inf. Lifes. Дальше жмём Submit – появится меню, как на скрине внизу. Выделяем чит мышью и жмём OK.
В игре проверяем код – умираем один раз и жизней стало 6:
Значит в памяти значение количества жизней отличается от экранного на единицу больше. Это очень распространённый вариант – жизни кончаются, если умереть когда на экране осталось 0 жизней. Но с этим всё. Теперь можем этот код сохранить – код выделен, жмём кнопку Export:
И сохраняем в файл .xml:

Добавлено позже:
Найдём некоторые параметры с помощью VirtuaNes 0.97e в игре Super Contra (ром Super C (U) [T+Rus].
На экране количество жизней 2. Делаем быстрое сохранение и далее Tool – Cheat Support:
Количество жизней хранится как 1 байт целое, поэтому оставляем Length – 1 byte. Жмём кнопку Start для начала поиска:
Теряем одну жизнь, отсеиваем на «уменьшилось» - нажимаем кнопку Old>Now:
Без изменения счётчика жизней продвигаемся в игре, отсеиваем на «не изменилось» - Old=Now. Вот и нашли :
Далее Tool – Cheat Code:
Input – вводим код на адрес 0053. Пишется так: Адрес-тип переменной (в байтах – 1, 2 или 4) и значение. Ниже пишем комментарий к чит-коду:
Жмём OK:
В игре стало 4 жизни, которые не уменьшаются при умирании:
Сохраняем код:
Так как жизни хранятся точным значением, можно жизни второго игрока найти элементарно. Нажимаем Start в меню поисковика читов, дальше вводим Data = 2 и жмём Search:
Есть смысл проверить адрес 0054, так как он идёт сразу за адресом жизней первого игрока. Так и есть – это адрес жизней второго игрока:

Идём дальше. Найдём адрес здоровья в игре Moon Crystal. Сохраняемся при начальном уровне здоровья и начинаем поиск с нажатия кнопки Start:
Ранение – отсеиваем кнопкой Old>Now:
Грузим сохранение с полным здоровьем – Old<Now:
В игре без ранений проводим какое-то время – Old=Now:
Адрес 05F0 очень похож на адрес здоровья – так и есть, вот код на него:
Почему я поставил значение больше 3 поймут те кто в эту игру играл – там в дальнейшем добавляется уровень специальным призом.


_____________
Добавлено позже:
Поиск PAR кодов средствами эмулятора SMD – часть 1.
Fusion 3.63 – в этом замечательном эмуляторе очень неудобный поисковик кодов, и это серьёзный недостаток. Но некоторые приёмы можно применять без проблем. Рассмотрим пока что два из них.
Запускаем игру Caliber Fifty.
Найдём количество жизней (попыток). На экране 2 жизни. Делаем сохранение и идём в меню GameGenie/PAR:
Далее жмём кнопку CodeFinder:
Жмём кнопку Count. Она предназначена для поиска точного значения:
Жмём Find. У меня нашлось 97 результатов. Жмём OK, в открывшемся новом (старом) окне также OK и возвращаемся в игру. Там теряем одну жизнь, то есть становится 01 на экране – возвращаемся в окно поиска и отсеиваем на значение 1:
Остаётся 7 адресов. Грузим сохранение с 02 жизнями и отсеиваем на 2:
Не теряя и не приобретая новых жизней продвигаемся в игре и снова отсеиваем на 2. Количество результатов не изменилось? Тогда определим нужный адрес перебором.
Пробуем код со значением на адрес FF9968. Вводим адрес:значение, жмём Add code, выделяем код в списке мышью (обязательно!) и жмём OK:
результате получаем бесконечные жизни:)
Примечание: эмулятор Kega Fusion использует для хранения данных перевёрнутый порядок байтов (спасибо разработчикам ArtMoney)у . Поэтому адреса Fusion, в первую очередь те, которые 1 байт целое, могут различаться на 1 байт. То есть в Fusion код на адрес FF9968 – в других эмуляторах (Gens всех видов) надо использовать код на адрес FF9969.
Теперь найдём код на гранаты. На экране 39 гранат. Идём в CodeFinder и в этот раз жмём кнопку Difference («Разница»). Этот вариант подходит для поиска разницы значений или интервала в таймерах – на сколько уменьшилось/увеличилось значение, столько и надо писать в поле Find.
Нас просят запомнить изначальное значение.
Возвращаемся в игру. Бросаем, скажем, две гранаты, стало 37. Вводим разницу 2 и жмём Lower (если бы значение увеличилось – нажали бы Higher):
Получили результаты:
Ну тут уже всё понятно. Добавляем код, не забываем выделить его в списке – иначе он не будет работать:
В результате имеем это:

Создание PAR кодов в эмуляторе SNES – часть 2.

Сделаем неуязвимость в игре Axelay на эмуляторе SNES9X fix 4.
Invincibility – мой любимый приём. Во многих играх существует неуязвимость при мигании, которая появляется после пропущенного удара, респауна или начала уровня. В памяти по адресу неуязвимости отсчитывается время до её окончания. Этот адрес можно просто найти – по сути это тот же таймер, только скрытый (без экранных значений). Но есть ещё одна фишка – адресов неуязвимости обычно несколько, все они идут друг за другом без всяких смещений и значение предыдущего равно x256 следующего – проверено на практике.
В самом начале игры при мигании ставим паузу, сохраняемся и идём в Cheat – Search for new cheats:
В открывшемся окне поиска задаём нужные условия поиска – Значение больше нуля, тип переменной 4 байта целое, беззнаковое: Greater than – Entered value – 0 – Unsigned – Integer 4 bytes:
Жмём OK, в игре дожидаемся окончания мигания, снова пауза и отсеиваем на «уменьшилось»: Less than – Previous value:
Далее возвращаемся в игру, без мигания проводим какое-то время и отсеиваем на «не изменилось»:
Далее всё сначала – мигание и «увеличилось»: Greater than – Previous value:
Снова «уменьшилось» и т.д. Смотрим те значения что «по нулям» - таких значений 4, и предыдущие значения были как раз x256. Остальные все не подходят – я делаю код на адрес 7E0324. Фактически это адрес 1 байт целое, работать с ним проще, так как меньше значение, которое нужно вписать:
Получаем готовый PAR код. Не забудьте проверить что отмечено Apply cheats:
Также смотрим в окне Cheats – GameGenie, Pro Action Replay codes:
Примечание – значение 14 по адресу неуязвимости в этой игре заморозило мигание спрайта в неподходящий момент (когда корабль не видно вообще), поэтому надо поставить другое значение – для начала можно попробовать на единицу больше или меньше, или любое нечётное число:
Вот и всё – враги и их выстрелы проходят сквозь игрока (который не мигает), можно записывать TAS-видео=)

Что такое эмуляция?
Проигрывание игр, сделанных для игровых приставок на ПК. Подробнее: специальный софт, который заставляет игру "поверить" в то, что она работает на родной приставке.

Насколько хороши эмуляторы?
Все эмуляторы на этом сайте проигрываю коммерческие игры. Однако не все это делают отлично. Ни один эмулятор не эмулирует "железо" приставки на 100%. Результат - не все игры идут. Как говорится - хочешь, чтобы всё шло - покупай приставку :)

Легальна ли вообще эмуляция?
Легальна на все 100 процентов, причём так же легально иметь РОМ игры, если вы уже имеете её картридж. А вот распространение РОМов может привести к большим проблемам.

Где я могу взять приставочные игры на ПК?
Ты не сможешь физически вставить картридж в компьютер. Для проигрывания в эмуляторе они должны быть сохранены в виде файлов на вашем диске. Эти файлы называются "ROM"ами.

Что такое "ROM"?
Слово ROM означает "Read Only Memory". Это не значит ничего, покуда ты не узнаешь, что игры находятся в силиконовой памяти внутри картриджа. Итак, когда мы "ROM", а реально это значит "копия ROM игры в файле" - 'ROM' как-бы сокращение.

Где я могу взять "ROM"ы?
Пути всего три: (1) Из реального картриджа (нереально для большинства) :) (2) Закачать из сети (3) Скопировать с дисков (CDs, диски, и.т.д.).

А возможно ли играть игры на клавиатуре?
Как правило да. Но некоторые игры требуют строго аналоговый джойстик (Pilotwings64).

Могу ли я подключить настоящий джойстик от приставки к компьютеру?
Да! народ рекомендует Adaptoid. Есть альтернатива - джойстик для ПК, но они не так хороши как оригинальные джойстики. Если вам интересен этот вопрос - отправляйтесь на железячную страничку сайта, там есть всё, начиная с грамотного описания и заканчивая схемами и драйверами.

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

Что мне надо, чтобы начать?
Сначала посмотри системные требования, и исходя из них выбирай наиболее подходящий эмулятор.

Всё о плагинах:

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

Для чего нужны плагины?
Идея в том, чтобы создать библиотеку совместимых частей, которые вместе создавали бы эмулятор чтобы (a) играть в игры независимо от системы (b) в случае, если автор написал превосходный плагин, просто позаимствовать его.

Что такое "Zilmar Spec.?
Параллельно с написанием Project64, Zilmar написал дополнительно документацию по эмуляции n64, обеспечивающую поддержку эмуляторов n64 других авторов. Он так же написал ряд простых примеров плагинов для демонстрации системы потенциальным авторам плагинов (Zilmar не вкладывал много времени для написания плагинов самому). Это было несколько переделок спецификации плагинов, полностью совместимых между собой.

Типы плагинов
Существует определение для трёх основных типов плагинов - видео, аудио и игровых. Есть также четвёртый тип, RSP (N64 сопроцессор). Видео плагин, как вы понимаете, отвечает за весь вывод графики эмулятора, однако существуют большие сложности их написания, ввиду огромного разнообразия видеокарт. Поэтому в данный момент доступны только HLE (эмуляция высокого уровня), различающихся по API - Direct3D, OpenGL and Glide. Аудио плагины управляют музыкой и звуковыми эффектами, но они могут и не иметь эмулятора - некоторые просто управляют выводом (Аудио плагин Project64 не имеет эмулятора, а использует плагин RSP Project64). Игровые плагины не так распространены, как другие плагины, В будущем возможно выйдут спецификации для других частей эмулятора, как расширения ядра и GUI extensions, системы ввода читов и.т.д.

Какие эмуляторы поддерживают спецификацию?
Авторы эмуляторов N64 свободны в выборе частей спецификации. Так, они могут написать только ядро и положиться на производителей плагинов для видео, аудио и ввода (На практике почти все авторы пишут свои плагины). Некоторые авторы хотят всё делать сами, создавая свои спецификации (Nemu) эти плагины не совместимы с другими. С моей точки зрения идеальным вариантом было бы, чтобы плагин, написанный для одного эмулятора был доступен для других. Некоторые эмуляторы, вышедшие до спецификации несовместимы (uHLE, Corn)!

Как инсталлировать плагин?

    1. Сперва надо проверить какие спецификации поддерживает ваш эмулятор. Как правило, если есть меню "select plugin", то всё в порядке.
    2. Закачайте интересующий плагин.
    3. Определите место, где эмулятор ищет плагины, как правило это папка в папке эмулятора с названием "plugins" или похожим.
    4. Извлечь .dll файлы из архива в эту папку.
    5. Запустить эмулятор (не игру. ) и выбрать новый плагин из меню.
    6. Посмотреть кнопочку "configure". Здесь можно настроить плагин по своему усмотрению, главное не перестараться :)
    7. Нажать OK.
    8. Играть!

    Это важно:

    1. Невозможно поменять плагин во время игры.
    2. Не всегда можно конфигурировать плагин во время игры, всё зависит от автор.
    3. Серия "Basic" плагинов строго должна игнорироваться геймерами, пользы от них мало.

    Wrappers (Риппер)

    Риппер представляет собой маленькую программку, преобразующую вызовы одного графического API в другие. Это означает, что вы можете запустить UltraHLE (glide эмулятор) или Glide видео плагин или glide видео карту (типа 3dfx Voodoo2), используя установленную Direct3D или OpenGL видеокарту (типа nVidia GeForce). (Но учтите, что по-любому нужно иметь 3D видеокарту для нормальной скорости игры!). Конечно, риппер не панацея от всех проблем, их создают такие же живые люди, так что, возможно некоторое изменение видеоинформации (туман, мелкие глюки), и вдобавок, рипперы тоже едят процессорную мощность.

    Некоторые рипперы не работают под Windows 2000 - скорее всего потому, что они не пишут свои настройки в реестр.

    Хочу пояснить, что Dolphin тоже может эмулировать Nintendo 64, но есть одно НО! для качественной эмуляции N64 лучше использовать Project64 , так как "дельфин" использует для эмуляции библиотеки Wii - то есть "эмуляция через эмуляцию". Думаю на один из будущих возможных вопросов уже ответил / нам нужны все мощности компьютера для действительно качественной эмуляции *

    • Теперь давайте загрузим плагин управления N-Rage DirectInput8
    "Эксклюзивов" больше нет! Теперь все доступно для запуска на нашем ПК. "Эксклюзивов" больше нет! Теперь все доступно для запуска на нашем ПК.
    • Также от вас потребуется загрузка программы nomousy - я не знаю где сейчас находится официальный сайт этой утилиты, более того / я сам скачал эту программу около 5 лет тому назад для другого случая, но она как нельзя кстати подходит под сегодняшний гайд для работы в паре с Project64 и N-Rage DirectInput8 . Поэтому ссылка будет на наш Telegram чат, ЕСЛИ ВЫ ЗНАЕТЕ ОФИЦИАЛЬНЫЙ САЙТ СОЗДАТЕЛЕЙ nomousy ИЛИ РЕПОЗИТОРИЙ, ГДЕ ОНИ ВЫКЛАДЫВАЛИ/хранят* ОФИЦИАЛЬНЫЕ СБОРКИ ПРОГРАММЫ, то пожалуйста напиши адрес в комментариях под статьей и я внесу правки; но пока я уверен в "чистоте" только своего экземпляра данной утилиты , поэтому прилагаю ссылку на загрузку моей копии в Telegram.

    Мы загрузили все необходимое для работы с программой. Дополнительно можно скачать утилиту Rivatuner Statistics Server для мониторинга FPS (о ее настройке мы поговорим в самом конце / в качестве бонуса), когда вы будете отлаживать производительность и качество графики конкретно под свою комплектацию ПК (многие другие бенчмарки "отваливались" при работе с Project64 так как режимы фильтрации текстур для многих из них были " непонятны " и счетчики кадров либо отваливались, либо отображались с артефактами. ) RSS показала себя достойно на всех этапах отладки:

    - для скрытия курсора мыши, сохраняем в формате hide.bat (НЕ! *.TXT) и немного другая команда для второго документа (также открываем блокнот):

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

    Если хотите узнать чуть больше о ретро консолях или аксессуарах к ним, то здесь мы записали подкаст с Александром Каменских:

    - чтобы курсор снова вернулся на прежнее место. Сохраняем как show.bat

    Оба полученных файла надо переместить к "nomousy.exe" в папку "Project64", если вы все делаете, как я вас просил*

    Создаем ярлыки файлов hide.bat и show.bat - в свойствах каждого в разделе "Быстрый вызов" задаем необходимую вам комбинацию для "скрытия" и "включения" обратно курсора на экране компьютера. Ярлыки можете переместить в любое место.

    7. Если вы собираетесь мониторить производительность эмуляции и установили RivaTuner Statistics Server, то вот быстрый гад по настройке для корректной работы с графическим плагином Glide64 for PJ64 :

    • запускаем программу, в левом нижнем угле жмем на зеленую кнопку "Add" и указываем пусть до эмулятора, а именно файла Project64.exe
    • чтобы счетчик FPS со временем не "падал" за игровые текстуры, в правом окне выставите параметр "On-Screen Display rendering mode" в положение " Vector 3D " и далее в самом низу выберете удобное для себя положение счетчика на экране (правый нижний, левый и т.д.)

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

    • Опции > Настройки или просто нажмите Ctrl+T на экране с ромами
    • снимите галочку с пункта "Спрятать дополнительные опции", жмем "Apply", затем "OK"
    • Опции > "Настроить графику. " > "Emulation Settings" > Aspect ratio выбираем "Stretch" ( это удивительно!но эмулятор позволяет растягивать игры под мониторы 16:9 или 16 на 10, а проекты выпущенные без поддержи данного соотношения сторон запускаются только в 4:3, но через дополнительные опции мы принудительно будем запускать все игры на "весь экран" =)

    И вот теперь вам надо будет ориентироваться по снимкам моего экрана / если что, на видео я поясняю как в плане производительности влияет на игру та или иная настройка:

    Читайте также: