API конфигурации
mGBA предоставляет программный доступ к настройкам конфигурации через различные API. Эта документация описывает, как настроить параметры mGBA программно с помощью параметров командной строки, файлов конфигурации и скриптов Lua.
Файлы конфигурации
mGBA хранит конфигурацию в специфичных для платформы местах:
- Windows: %APPDATA%\mGBA\config.ini
- macOS: ~/Library/Application Support/mGBA/config.ini
- Linux: ~/.config/mgba/config.ini
- Android: /data/data/com.github.mgba_emulator.mgba/
- iOS: App's Documents directory
Формат файла конфигурации
mGBA использует формат INI для файлов конфигурации:
[video] scale = 3 filter = bilinear backend = opengl [audio] sampleRate = 44100 bufferSize = 2048 [input] keyA = X keyB = Z keyL = A keyR = S
Конфигурация через командную строку
Доступные опции
mgba [options] [ROM file] Options: --bios FILE Use real BIOS file --config FILE Load configuration from file --savedata-path DIR Set save data directory --savestate-path DIR Set save state directory --screenshot-path DIR Set screenshot directory --log-level LEVEL Set log level (error, warn, info, debug) --headless Run without GUI --version Show version information --help Show help message
Конфигурация видео
Масштабирование разрешения
- scale: Целочисленное значение (1-10) для масштабирования разрешения
- 1x: Оригинальное разрешение 240x160
- 2x: Разрешение 480x320
- 3x: Разрешение 720x480
- 4x: Разрешение 960x640
Опции фильтрации
- none: Без фильтрации
- bilinear: Билинейная фильтрация
- lcd: Фильтр симуляции LCD
- scanlines: Фильтр сканирующих линий
Бэкенды рендеринга
- software: Программный рендеринг
- opengl: Рендеринг OpenGL
- vulkan: Рендеринг Vulkan
- direct3d11: Рендеринг Direct3D 11 (Windows)
- metal: Рендеринг Metal (macOS/iOS)
Конфигурация аудио
Частота дискретизации
- 8000: 8 kHz sample rate
- 16000: 16 kHz sample rate
- 22050: 22.05 kHz sample rate
- 32000: 32 kHz sample rate
- 44100: 44.1 kHz sample rate (default, recommended)
- 48000: 48 kHz sample rate
Размер буфера
Размер аудио буфера влияет на задержку и качество звука:
- Малый буфер (512-1024): Низкая задержка, могут возникать сбои звука
- Средний буфер (2048-4096): Сбалансированная задержка и стабильность (по умолчанию)
- Большой буфер (8192+): Высокая задержка, стабильный звук
Конфигурация ввода
Сопоставление клавиатуры
Управление с клавиатуры можно настроить в конфигурации:
- keyA: Клавиша кнопки A (по умолчанию: X)
- keyB: Клавиша кнопки B (по умолчанию: Z)
- keyL: Клавиша кнопки L (по умолчанию: A)
- keyR: Клавиша кнопки R (по умолчанию: S)
- keyStart: Клавиша кнопки Start (по умолчанию: Enter)
- keySelect: Клавиша кнопки Select (по умолчанию: Backspace)
- keyUp/Down/Left/Right: Клавиши D-pad (по умолчанию: стрелки)
Конфигурация эмуляции
Настройки точности
- cpuAccuracy: normal или accurate
- memoryTiming: normal или precise
- dmaTiming: normal или accurate
- frameTiming: normal или accurate
Конфигурация BIOS
- useBios: Использовать реальный BIOS (true/false)
- biosPath: Путь к файлу BIOS
- skipBios: Пропустить заставку BIOS (true/false)
Конфигурация сохранений
Пути сохранения
- savedataPath: Директория для сохранений батареи (файлы .sav)
- savestatePath: Директория для состояний сохранения (файлы .ss#)
- screenshotPath: Директория для скриншотов
Конфигурация производительности
Пропуск кадров
- frameSkip: Режим пропуска кадров (none, manual, automatic)
- maxFrameSkip: Максимальное количество пропускаемых кадров (0-10)
Ускоренная перемотка
- fastForward: Включить ускоренную перемотку (true/false)
- fastForwardSpeed: Множитель ускоренной перемотки (1x-10x)
Конфигурация через Lua API
Некоторые параметры конфигурации можно получить через скрипты Lua:
-- Пример: Получение значения конфигурации
local scale = mGBA:getConfig("video.scale")
print("Масштаб видео: " .. scale)
-- Пример: Установка значения конфигурации
mGBA:setConfig("video.scale", 3)
mGBA:setConfig("audio.sampleRate", 44100)
Переменные окружения
Некоторые параметры конфигурации можно установить через переменные окружения:
- MGBA_CONFIG_PATH: Пользовательский путь к config.ini
- MGBA_SAVEDATA_PATH: Пользовательская директория для сохранений
- MGBA_LOG_LEVEL: Установить уровень логирования (error, warn, info, debug)
Рекомендации по конфигурации
- Создайте резервную копию файла config.ini перед внесением ручных изменений
- Протестируйте изменения конфигурации перед использованием в важном геймплее
- Используйте меню настроек GUI для большинства конфигураций (настройки сохраняются автоматически)
- Редактируйте config.ini только когда GUI не предоставляет доступ к настройке
- Сбросьте настройки по умолчанию, если конфигурация вызывает проблемы
Связанные статьи
Для получения дополнительной информации о конфигурации и использовании mGBA:
- Справочник API скриптинга Lua - Полная документация Lua API для программного управления
- Руководство по продвинутой конфигурации - Подробное описание продвинутых настроек и техник оптимизации
- Руководство для начинающих - Базовые инструкции по установке и конфигурации
- Руководство по настройке производительности - Оптимизация производительности эмуляции в зависимости от вашего оборудования