Advanced Configuration Guide
This guide covers advanced configuration options in mGBA, including emulation accuracy settings, performance tuning, and optimization techniques for specific use cases.
Emulation Accuracy Settings
CPU Accuracy
mGBA offers two CPU accuracy modes:
- Normal Mode: Balanced accuracy and performance (default). Suitable for most games and general use. Provides excellent compatibility while maintaining good performance.
- Accurate Mode: Maximum accuracy with cycle-accurate timing. Perfect for speedruns, professional testing, and accuracy-critical applications. May have slightly higher CPU usage.
Memory Timing
Configure memory bus timing accuracy:
- Normal Timing: Approximate memory timing (faster, good for most games)
- Precise Timing: Cycle-accurate memory timing (slower, more accurate)
DMA Timing
DMA (Direct Memory Access) transfer timing:
- Normal DMA: Approximate DMA timing
- Accurate DMA: Cycle-accurate DMA timing
Performance Configuration
Frame Skipping
Configure frame skipping to maintain performance on slower hardware:
- None: Render every frame (60 FPS)
- Manual: Manual frame skip control
- Automatic: Automatic frame skipping when performance drops
- Max Frames: Maximum frames to skip (0-10)
Fast Forward
Configure fast forward settings:
- Speed: Fast forward multiplier (1x to 10x)
- Unbounded: Allow unlimited fast forward speed
- Hotkey: Configure fast forward hotkey (default: Tab)
CPU Overclocking
Adjust emulated CPU speed:
- Speed: CPU speed multiplier (0.5x to 10x)
- 1x: Normal speed (default)
- 2x: Double speed (useful for testing)
- 0.5x: Half speed (for debugging)
Video Configuration
Advanced Rendering Options
- VSync: Vertical synchronization (on/off)
- Threaded Video: Run video rendering in separate thread (improves performance)
- Hardware Accelerated Scaling: Use GPU for scaling operations
- Anti-Aliasing: Anti-aliasing level (0-4x MSAA)
Custom Shaders
Load custom GLSL shaders for advanced visual effects:
- Create or download a GLSL shader file (.frag or .glsl)
- Go to Settings β Video β Shader
- Select "Load Shader"
- Choose your shader file
- Adjust shader parameters if available
Audio Configuration
Audio Quality Settings
- Sample Rate: Audio sample rate (8kHz to 48kHz, default: 44.1kHz)
- Buffer Size: Audio buffer size (512 to 8192 samples, default: 2048)
- Resampling Quality: Low, Medium, High quality audio resampling
- Volume Control: Master volume (0% to 200%)
Audio Backends
Select audio backend based on your platform:
- SDL: Cross-platform audio (default on desktop)
- OpenAL: Advanced audio library
- CoreAudio: macOS/iOS native audio
- DirectSound: Windows native audio
Input Configuration
Advanced Input Options
- Input Polling: Polling method for input (immediate, on-frame)
- Analog Input: Enable analog stick support for compatible controllers
- Input Remapping: Save and load input configurations
- Multiple Profiles: Create different input profiles for different games
Save State Configuration
Save State Options
- Auto-Save: Automatically save state at intervals
- Auto-Save Interval: Time between auto-saves (seconds)
- Save State Format: Compression level for save states
- Save State Location: Custom directory for save states
BIOS Configuration
Using Real BIOS
To use a real Game Boy Advance BIOS:
- Obtain a legal Game Boy Advance BIOS dump
- Go to Settings β Emulation β BIOS
- Select "Use BIOS"
- Browse to your BIOS file
- Enable "Skip BIOS" to skip intro sequence (optional)
Rewind Feature
mGBA supports a rewind feature that allows you to "undo" gameplay:
- Enable Rewind: Enable rewind functionality
- Rewind Buffer Size: Number of frames to store in rewind buffer
- Rewind Hotkey: Configure hotkey for rewinding
- Rewind Speed: Speed of rewinding (1x to 10x)
Advanced Features
Frame Advance
Frame advance allows you to step through gameplay frame-by-frame:
- Enable Frame Advance: Enable frame advance mode
- Frame Advance Hotkey: Configure hotkey for advancing frames
- Frame Skip: Number of frames to advance per keypress
Cheat Codes
Advanced cheat code management:
- Cheat Code Formats: GameShark, Action Replay, CodeBreaker support
- Cheat Categories: Organize cheats by category
- Cheat Import/Export: Import cheats from files or export to files
- Cheat Auto-Load: Automatically load cheats when ROM loads
Optimization Tips
For Low-End Hardware
- Use software rendering if hardware acceleration is unavailable
- Reduce resolution scaling (1x or 2x)
- Enable frame skipping to maintain playable framerate
- Reduce audio buffer size
- Disable unnecessary visual effects
For High-End Hardware
- Use hardware acceleration (Vulkan, Direct3D 11, Metal)
- Increase resolution scaling (3x or 4x)
- Enable threaded rendering for better performance
- Use high-quality audio settings
- Enable advanced visual effects and shaders
Configuration Profiles
mGBA supports configuration profiles for different games or use cases:
- Create Profile: Save current settings as a profile
- Load Profile: Load a saved configuration profile
- Profile Management: Create, rename, delete profiles
- Game-Specific Profiles: Automatically load profile for specific games
Related Articles
For more information about mGBA configuration and optimization:
- Configuration API Reference - Programmatic configuration options and settings management
- Performance Tuning Guide - Detailed performance optimization strategies for different hardware configurations
- Getting Started Guide - Basic configuration and setup instructions
- Troubleshooting Guide - Solutions to configuration-related issues