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: