Что такое формат файла GBA?
Расширение файла .gba используется игровой консолью Nintendo Game Boy Advance. Это файл образа видеоигры, сохраненный в формате ROM - необработанный бинарный дамп физического игрового картриджа. Файл .gba содержит точную копию ПЗУ картриджа, начинающуюся со 192-байтового заголовка, который содержит точку входа ветвления ARM, обязательный 156-байтовый блок логотипа Nintendo, код игры и 8-битную дополнительную контрольную сумму, проверяемую BIOS GBA при каждой загрузке.
Эмуляция файлов GBA
Игры, сохраненные в виде файлов .gba, можно запускать на специализированных эмуляторах, доступных для различных операционных систем, например, Windows, macOS или Linux. Первоначально игры предназначались только для консоли Game Boy Advance, поэтому для запуска файла .gba на любой другой компьютерной системе необходимо использовать соответствующее программное обеспечение для эмуляции, такое как mGBA или VisualBoyAdvance-M. Данные сохранений (battery save) не хранятся внутри образа .gba - они записываются в отдельные сопутствующие файлы .sav или .srm.
Другие расширения файлов
Альтернативное расширение .agb, в принципе, идентично формату .gba - оба представляют одну и ту же структуру дампа картриджа. Расширения .gb и .gbc, напротив, относятся к оригинальным Game Boy и Game Boy Color соответственно; это разные, несовместимые форматы. Платформа-преемник Nintendo DS использует вместо них .nds.
Безопасность и защита
РИСК: MEDIUMЮридический риск перевешивает технический: загрузка коммерческих ROM GBA, которыми вы не владеете, является нарушением авторских прав, а сайты с ROM известны рекламным ПО и фальшивыми кнопками «скачать». Законный путь - создание дампов собственных картриджей. С точки зрения структуры, легитимный ROM - это инертные данные, но ROM с сомнительных сайтов могут оказаться замаскированными установщиками - используйте проверенные эмуляторы (mGBA, RetroArch) и сканируйте неизвестные загрузки.
Детали формата
в двух словахПрограммы, открывающие файлы GBA
Технические подробности
глубокая спецификация| Тип файла | Необработанный бинарный дамп ПЗУ картриджа (с заголовком) |
| Порядок байтов | Little-endian (архитектура ARM7TDMI) |
| Размер заголовка | 192 байта (смещения 0x00-0xBF) |
| Сигнатура загрузки | 32-битный код операции ветвления ARM по смещению 0x00; 156-байтовое растровое изображение логотипа Nintendo, начинающееся с 0x04 (hex: 24 FF AE 51 …) |
| Контрольная сумма заголовка | 8-битная дополнительная контрольная сумма по смещению 0xBD, проверяемая BIOS GBA при каждой загрузке |
| Максимальный размер ROM | 32 МБ (256 Мбит) - физический предел картриджа |
| Типичные размеры ROM | 4 МБ, 8 МБ, 16 МБ или 32 МБ (всегда степень двойки) |
| Наборы инструкций процессора | 32-битный ARM и 16-битный THUMB (ядро ARM7TDMI) |
| Внутреннее сжатие | Отсутствует на уровне файла; игровые ресурсы могут использовать сжатие LZ77 или Huffman, декодируемое через вызовы BIOS SWI |
| Хранение данных сохранения | Хранятся отдельно в сопутствующих файлах .sav / .srm (чип SRAM, EEPROM или Flash на картридже) |
| MIME-тип | application/x-gba-rom |
| Поле кода игры | 4-символьный ASCII-идентификатор в заголовке по смещению 0xAC (например, AXVE для Pokémon Ruby) |
| Поле кода производителя | 2-символьный ASCII-код лицензиата в заголовке по смещению 0xB0 |
| Аппаратный дисплей | 15-битный цвет BGR555 (32 768 цветов) при разрешении 240×160 пикселей на родном оборудовании |
| Формат-преемник | .nds (Nintendo DS), который сменил платформу GBA |
| Выпущен | 2001 (Game Boy Advance launch - AGB platform) |
| Последняя версия | N/A (fixed cartridge format; no versioning) |
| Спецификация | problemkaputt.de |
Конвертации GBA
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах GBA.