Что такое формат файла ROM?
Файлы .rom - это файлы образов игр, используемые эмуляторами для запуска консольных и компьютерных игр. Файл .rom представляет собой побайтовый дамп игрового картриджа или чипа ПЗУ - термин «ROM» расшифровывается как Read-Only Memory (постоянное запоминающее устройство), указывая на оригинальное оборудование, с которого были скопированы данные.
В отличие от специализированных форматов, таких как .n64 или .smc, расширение .rom является общим ярлыком без фиксированной внутренней структуры или магических байтов. Его внутреннее устройство полностью зависит от того, с какой консоли или компьютера был сделан дамп - игра для N64, проект для компьютера MSX, картридж ColecoVision и игра для Game Boy будут иметь совершенно разные бинарные структуры, даже если все они сохранены с расширением .rom.
Игры для Nintendo 64 используют несколько тесно связанных форматов наряду с .rom:
.n64- порядок байтов little-endian.v64- порядок байтов с перестановкой (interleaved).z64- порядок байтов big-endian (родной формат N64)
Чтобы открыть файл .rom, вам понадобится эмулятор для соответствующей системы. Для игр N64 популярными вариантами являются Project64 и Mupen64Plus. RetroArch и OpenEmu поддерживают файлы .rom от множества различных систем через свои системы плагинов (ядер).
Поскольку .rom не содержит встроенного идентификатора системы, некоторые эмуляторы могут не определить автоматически, к какой консоли относится файл, и потребовать ручной настройки.
Безопасность и защита
РИСК: MEDIUMИгровой ROM - это пассивные данные, которые интерпретирует эмулятор, поэтому файл редко запускается в вашей основной ОС, но риски существуют. Сайты с ROM-файлами известны как источники вредоносного ПО и поддельных установщиков «roms.exe», поэтому используйте только проверенные ресурсы и сканируйте загрузки. Важно: файл .rom, являющийся прошивкой или BIOS, опасен иначе - прошивка неверного образа в материнскую плату, видеокарту или роутер может необратимо «окирпичить» устройство. Перед прошивкой убедитесь, что файл точно соответствует вашему оборудованию. С юридической точки зрения, скачивание защищенных авторским правом ROM, которыми вы не владеете, является нарушением.
Детали формата
в двух словах- Образ прошивки / BIOS - BIOS/UEFI материнских плат, видео-BIOS видеокарт (vBIOS), прошивки роутеров и других устройств часто распространяются как файлы .rom для записи на чип - это не игры.
- Option ROM / расширение ROM - Платы расширения ПК (сетевые карты, RAID-контроллеры, GPU) содержат образ Option ROM, иногда с расширением .rom, который загружается системной прошивкой при загрузке.
Программы, открывающие файлы ROM
Технические подробности
глубокая спецификация| Бинарная кодировка | Raw binary - несжатая побайтовая копия данных оригинального картриджа или чипа |
| Внутренняя структура | Зависит от системы; нет универсального заголовка или фиксированной разметки - бинарная структура полностью диктуется исходной консолью или компьютером |
| Магические байты / сигнатура файла | Отсутствуют; расширение `.rom` не имеет фиксированной идентифицирующей сигнатуры - идентификация ложится на эмулятор или пользователя |
| Варианты порядка байтов N64 | Big-endian `.z64` (родной формат MIPS R4300i), byte-swapped `.v64` и little-endian `.n64` - эмуляторы конвертируют их при загрузке |
| MIME-тип | `application/octet-stream` |
| Типичный размер файла | От 256 КБ до 64 МБ в зависимости от картриджа; большинство игр N64 занимают от 8 МБ до 64 МБ |
| Состав данных | Полный исполняемый код игры, графика, аудио и данные уровней в том виде, в котором они хранились на оригинальном чипе ПЗУ |
| Сжатие | Внутри файла отсутствует; пользователи часто архивируют файлы `.rom` внешними средствами в контейнеры ZIP или 7z |
| Связанная экосистема расширений | `.z64`, `.n64`, `.v64` (N64); `.smc` / `.sfc` (SNES); `.nes` (NES); `.gba` (GBA); `.gb` (Game Boy) |
| Поддержка ROM-хакинга | Файл можно модифицировать в шестнадцатеричных редакторах или применять патчи с помощью утилит IPS/BPS, таких как Floating IPS или beat |
| Идентификация системы | Определяется настройками эмулятора или выбором пользователя - не встроена в сам файл `.rom` |
| Заголовок картриджа N64 | Первые 64 байта кодируют регистры PI BSD, тактовую частоту, адрес загрузки, название игры (20 байт), ID картриджа (2 байта) и код страны |
| Проверка целостности CRC N64 | ROM-файлы N64 содержат два 32-битных значения CRC по смещениям 0x10 (CRC1) и 0x14 (CRC2), проверяемых загрузочным ПЗУ консоли при запуске |
| Юридический контекст | Создание дампов собственных картриджей разрешено во многих юрисдикциях; распространение или скачивание сторонних ROM обычно является нарушением авторских прав |
| Выпущен | with console/computer emulation (1990s onward) |
| Спецификация | emulation.gametechwiki.com |
Конвертации ROM
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах ROM.