Что такое формат файла N64?
.n64 - это ROM-образ игры Nintendo 64 в порядке байтов little-endian (с перестановкой слов). Он содержит полный дамп картриджа N64, где каждый 32-битный сегмент (слово) имеет обратный порядок байтов относительно нативного для консоли формата big-endian.
Аппаратное обеспечение Nintendo 64 хранит данные картриджа в формате big-endian (стандарт .Z64). В эпоху эмуляции конца 1990-х годов различные устройства для копирования картриджей создавали дампы с разным порядком байтов. Появились три основных стандарта: .z64 (big-endian, нативный порядок консоли), .v64 (побайтовая перестановка 16-битных пар) и .n64 - также записываемый как .u64 - (little-endian/перестановка слов). Все три содержат идентичные игровые данные; различается только расположение байтов. Современные эмуляторы определяют порядок байтов по первым четырем «магическим байтам» и выполняют перестановку автоматически, поэтому все три расширения открывают одну и ту же игру без ручной конвертации.
Магические байты .n64 - 40 12 37 80 по смещению 0. Тот же ROM в порядке .z64 начинается с 80 37 12 40, а в порядке .v64 - с 37 80 40 12. 64-байтовый заголовок ROM (с перестановкой слов в .n64) хранит точку входа, две контрольные суммы CRC, проверяемые загрузочным кодом IPL3 на соответствие чипу CIC, 20-символьное название игры, идентификатор картриджа и носителя, код региона (N=NTSC, P=PAL, J=Япония) и байт ревизии.
На практике .n64 является самым редким из трех вариантов порядка байтов. Формат .z64 считается предпочтительным для сохранения и эмуляции. Конвертация между .n64, .v64 и .z64 - это побайтовая перестановка без потерь, игровые данные при этом не изменяются.
Безопасность и защита
РИСК: MEDIUMROM-файл .n64 - это данные, а не исполняемый файл, он не может запуститься или установиться на ПК самостоятельно. Реальные риски: (1) Юридические - создание дампов собственных картриджей обычно допускается, но скачивание ROM-файлов для игр, которыми вы не владеете, является нарушением авторских прав в большинстве стран. (2) Источники - сайты с ROM-файлами часто содержат вводящие в заблуждение кнопки, рекламное ПО и поддельные установщики «загрузчиков»; опасность представляет сайт или оболочка, а не сам файл ROM. Всегда скачивайте эмуляторы с официальных сайтов и опасайтесь комплектов «все в одном» (ROM + эмулятор).
Детали формата
в двух словахПрограммы, открывающие файлы N64
Технические подробности
глубокая спецификация| Магические байты | 40 12 37 80 по смещению 0 (форма с перестановкой слов нативного big-endian 80 37 12 40) |
| Порядок байтов | Little-endian (с перестановкой слов) - в каждом 32-битном слове порядок 4 байтов обратный по сравнению с .z64 |
| Заголовок ROM | 64 байта (с перестановкой слов): точка входа, CRC1/CRC2, 20-байтное название игры, ID картриджа/носителя, байт кода региона, байт ревизии |
| Байт кода региона | В заголовке по смещению 0x3E (с перестановкой слов): N = NTSC, P = PAL, J = Япония |
| Пара CRC | CRC1/CRC2 в заголовке по смещениям 0x10-0x17 (с перестановкой слов); проверяются загрузочным кодом IPL3 на соответствие чипу CIC - несовпадение приводит к ошибке загрузки на реальном железе |
| Диапазон размеров картриджа | 4 МБ - 64 МБ (32-512 Мбит); большинство коммерческих игр 8-32 МБ; самый большой релиз - 64 МБ |
| Контейнер | Чистый двоичный файл (flat binary) - без файловой системы или внешней оболочки; заголовок ROM + загрузочный блок IPL3 + программа/данные игры |
| Внутреннее сжатие | Отсутствует на уровне файла; отдельные игровые ресурсы могут использовать внутриигровое сжатие (например, Yaz0) |
| Связь с .z64 | То же содержимое, что и в .z64 (big-endian), но во всех 32-битных словах изменен порядок байтов; конвертация в обе стороны происходит без потерь |
| Альтернативное название | .u64 - идентичный формат и порядок байтов, альтернативное расширение от некоторых ранних копировщиков |
| Автоопределение порядка байтов | Первые 4 байта однозначно идентифицируют вариант порядка байтов; все основные эмуляторы N64 выполняют перестановку автоматически при загрузке |
| Загрузочный блок IPL3 | Следует сразу за 64-байтовым заголовком; содержит зависимую от CIC процедуру проверки контрольной суммы и инициализацию оборудования |
| MIME-тип | application/x-n64-rom |
| Выпущен | 1996 (Nintendo 64 console); .n64 byte-order convention from copier/emulator era late 1990s |
| Спецификация | n64brew.dev |
Конвертации N64
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах N64.