ScummVM Logo
Game EngineNo BIOS Required400+ Games

ScummVM

The definitive engine re-implementation for classic LucasArts and Sierra adventure games. Run Monkey Island, Day of the Tentacle, Sam & Max, and 400+ more on your arcade cabinet — no BIOS required.

Platform
Classic PC / Multi
Engine Type
Game Engine Re-impl.
BIOS Required
No
Input
Mouse / Joystick-to-Mouse
Frontend
LaunchBox / BigBox
Graphics Mode
OpenGL (Recommended)
Shaders
GLSL / CRT Support
OS
Windows / Linux / macOS

Overview

ScummVM is not a traditional hardware emulator. Rather than recreating the internals of a specific piece of hardware, ScummVM is a re-implementation of the game engines used by classic point-and-click adventure games — primarily the SCUMM engine developed by LucasArts and the AGI/SCI engines used by Sierra On-Line. The result is that games originally written for DOS, Amiga, Atari ST, and other platforms run natively on modern operating systems with enhanced compatibility, higher resolutions, and improved audio.

For arcade cabinet builders, ScummVM represents a unique opportunity. Bartop cabinets, cocktail tables, and multi-game cabinets can offer a curated selection of classic adventure games alongside traditional arcade titles — and ScummVM's LaunchBox integration makes this seamless. The primary challenge is input: these games were designed for mouse-driven interfaces, and adapting them to joystick and button controls requires a specific approach covered in detail in Step 2.

If You Only Remember One Thing

ScummVM requires no BIOS files — only your original game data folders. The single most important configuration step for arcade cabinets is using JoyToKey or Xpadder to map your joystick to mouse movement. Without this, point-and-click games are unplayable on arcade hardware.

Step 1: Core Setup

1.1 Acquisition and Version Selection

Always use the latest stable version of ScummVM from the official website at scummvm.org. The project is continuously updated with new engine re-implementations and bug fixes. Select the correct build for your operating system — Windows users should download the 64-bit installer.

Version Selection Guide
VersionRecommendationNotes
Latest Stable✅ RecommendedBest compatibility, fully tested
Daily Build⚠️ Advanced users onlyNewer engine support, may have bugs
Older releases❌ AvoidMissing engine support and bug fixes

1.2 Game Files — No BIOS Required

ScummVM does not require BIOS files. It only needs the original game data files from your legally owned copies. These are typically found in the installation directory of the original game. Copy each game's folder to a designated location on your arcade cabinet system — for example, C:\Games\ScummVM\ with a subfolder for each title.

Important: Legal Compliance

We do not provide, link to, or endorse game file downloads. You must legally own the original games. Many ScummVM-compatible titles are available for purchase on GOG.com, which provides DRM-free versions that work directly with ScummVM.

1.3 Adding Games and Initial Configuration

Launch ScummVM and use the GUI to add your games:

  1. 1.Click Add Game and navigate to the folder containing your game files. ScummVM auto-detects the game and engine.
  2. 2.Once added, right-click the game and select Edit Game to access per-game settings.
  3. 3.Note the Game ID (target_id) shown in the game properties — you will need this for LaunchBox integration.
  4. 4.In Global Options → Graphics, set Graphics Mode to OpenGL and enable Aspect Ratio Correction.
Configuration File Location

All settings are stored in scummvm.ini, located at %APPDATA%\ScummVM\scummvm.ini on Windows. Back this file up after configuring your setup.

Video Tutorial: ScummVM + LaunchBox Integration
Unbroken Software — Complete LaunchBox 13.15 native ScummVM setup

Step 2: Arcade-Specific Configuration

2.1 Command-Line Arguments for Automation

For seamless LaunchBox or Hyperspin integration, ScummVM accepts command-line arguments that allow games to launch directly with specific settings — no GUI interaction required.

Essential Command-Line Arguments
ArgumentEffectExample
[target_id]Launch specific game directlyscummvm.exe monkey
-f / --fullscreenLaunch in fullscreen modescummvm.exe monkey -f
--aspect-ratioForce original 4:3 aspect ratioscummvm.exe monkey -f --aspect-ratio
--graphics-mode=openglUse OpenGL renderer (recommended)scummvm.exe monkey --graphics-mode=opengl
--no-consoleHide background terminal windowscummvm.exe monkey -f --no-console
--joystick=0Enable basic joystick supportscummvm.exe monkey --joystick=0
Recommended LaunchBox Launch String
scummvm.exe [target_id] -f --aspect-ratio --graphics-mode=opengl --no-console

2.2 Input Mapping: The Arcade Challenge

This is the most critical configuration step for arcade cabinet integration. Classic adventure games are designed entirely for mouse input — cursor movement, left-click to interact, right-click to examine. An arcade joystick and buttons must be translated into this mouse-driven interface.

The Core Problem

ScummVM's built-in joystick support (--joystick=0) maps the joystick to cursor movement but lacks the precision and configurability needed for a comfortable arcade experience. For serious arcade cabinet use, external mapping tools are required.

Joystick-to-Mouse Mapping Solutions
JoyToKey (Windows) — Recommended

Maps joystick axes to mouse cursor movement with configurable speed and acceleration. Map Button 1 to left mouse click, Button 2 to right mouse click. Runs in the background and works with any arcade encoder board.

Xpadder (Windows)

Similar to JoyToKey with a more visual interface. Supports per-game profiles, making it easy to switch between different button layouts for different ScummVM titles.

Recommended Button Mapping
JoystickMouse cursor movement
Button 1Left mouse click (interact)
Button 2Right mouse click (examine)
Button 3F5 (in-game menu / save)
Button 4Escape (exit to launcher)
Button 5Space (skip dialogue)

2.3 Graphics and CRT Shaders

ScummVM offers robust graphics options for arcade monitor optimization, including GLSL shader support for authentic CRT aesthetics.

Graphics Configuration
Graphics Mode:opengl is the recommended mode for modern arcade hardware. Enables hardware acceleration and shader support.
Aspect Ratio:Always enable --aspect-ratio to prevent classic 4:3 games from stretching on widescreen arcade monitors.
CRT Shaders:Apply GLSL shaders via --shader=[path] or through GUI Settings → Graphics → Shader. Popular choices: crt-geom, crt-lonescreen.
Stretch Mode:Set to Fit to window (keep aspect ratio) in Global Options for clean letterboxed display on widescreen monitors.
Video Tutorial: ScummVM via RetroArch Core
Alternative setup using the RetroArch ScummVM core for unified frontend management

Step 3: Advanced Tuning & Edge Cases

3.1 Kiosk Mode and Frontend Integration

For a fully integrated arcade experience, ScummVM games should launch directly from LaunchBox or BigBox without showing the ScummVM launcher GUI. LaunchBox 13.15+ supports native ScummVM auto-importing, which is the recommended approach.

LaunchBox Integration Steps
  1. 1.In LaunchBox, go to Tools → Manage Emulators → Add. Set the emulator path to scummvm.exe.
  2. 2.Set the Default Command-Line Parameters to: -f --aspect-ratio --graphics-mode=opengl --no-console
  3. 3.When importing games, use the game's target_id (visible in ScummVM's game properties) as the ROM file name.
  4. 4.LaunchBox 13.15+: Use Tools → Import ScummVM Games for automatic detection and import of all added ScummVM titles.

3.2 ScummVM Directory Structure

Path / FilePurposeNotes
scummvm.exeMain executableRun directly or via frontend
%APPDATA%\ScummVM\scummvm.iniConfiguration fileAll global and per-game settings
C:\Games\ScummVM\[game_folder]\Game data filesOne subfolder per game
shaders\GLSL shader files.glsl files for CRT effects
%APPDATA%\ScummVM\saves\Save game filesBacked up automatically

3.3 Essential Hotkeys for Arcade Cabinets

HotkeyFunctionCabinet Mapping Tip
F5Open in-game menu (save/load)Map to a dedicated button
EscapeExit to ScummVM launcherMap to coin/exit button
SpaceSkip dialogue / pauseMap to Button 5 or 6
Ctrl+F5Open ScummVM global menuAdvanced users only
Alt+F4Close ScummVM entirelyMap to admin exit combo
Ctrl+ZUndo last action (some games)Optional mapping
Video Tutorial: ScummVM Advanced Setup & Game Showcase
90s point-and-click adventure games — configuration, CRT shaders, and game showcase on Steam Deck

Top ScummVM Titles for Arcade Cabinets

These are among the most popular and well-supported titles in ScummVM. All require legally owned game files.

GameDeveloperEngineTarget IDCabinet Fit
The Secret of Monkey IslandLucasArtsSCUMMmonkey⭐⭐⭐⭐⭐
Monkey Island 2: LeChuck's RevengeLucasArtsSCUMMmonkey2⭐⭐⭐⭐⭐
Day of the TentacleLucasArtsSCUMMtentacle⭐⭐⭐⭐⭐
Sam & Max Hit the RoadLucasArtsSCUMMsamnmax⭐⭐⭐⭐⭐
Full ThrottleLucasArtsSCUMMft⭐⭐⭐⭐
Grim FandangoLucasArtsGrimEgrim⭐⭐⭐⭐
Indiana Jones and the Fate of AtlantisLucasArtsSCUMMatlantis⭐⭐⭐⭐
King's Quest VISierra On-LineSCIkq6cd⭐⭐⭐⭐
Space Quest IVSierra On-LineSCIsq4cd⭐⭐⭐⭐
Broken Sword: Shadow of the TemplarsRevolution SoftwareSword1sword1⭐⭐⭐⭐
Maniac MansionLucasArtsSCUMMmaniac⭐⭐⭐
Zak McKracken and the Alien MindbendersLucasArtsSCUMMzak⭐⭐⭐

Troubleshooting

Resolution Mismatch / Stretching
Games appear stretched or have incorrect aspect ratios on widescreen arcade monitors.
Fix: Always use --aspect-ratio in your launch string. In Global Options, set Stretch Mode to 'Fit to window (keep aspect ratio)'. For 4K monitors, consider launching ScummVM at a lower native 4:3 resolution using a display resolution utility.
Audio Issues — No Sound or Distorted Audio
No sound, distorted audio, or incorrect musical instrument playback (especially MIDI).
Fix: Ensure correct audio device is selected in ScummVM's Audio settings. For games that originally used Roland MT-32 MIDI, configure ScummVM to use FluidSynth with a high-quality SoundFont (.sf2 file) for optimal music reproduction.
Cursor Lag / Input Delay
Mouse cursor movement feels sluggish or unresponsive when using joystick-to-mouse mapping.
Fix: Switch graphics driver to OpenGL if not already set. In JoyToKey/Xpadder, increase mouse movement speed and reduce polling interval. Close unnecessary background applications to improve system responsiveness.
Game Not Launching
ScummVM closes immediately or shows an error when attempting to launch a game.
Fix: Verify game data files are complete and correctly located. Ensure the target_id in your launch string exactly matches the ID shown in ScummVM's game properties. Remove --no-console temporarily to see error messages in the console output.
ScummVM Launcher Appears Instead of Game
When launched from LaunchBox, the ScummVM GUI appears instead of launching the game directly.
Fix: Verify the target_id is being passed correctly in LaunchBox's command-line parameters. The target_id must be the first argument after scummvm.exe. Check for spaces or special characters in the game ID.
Save Games Not Persisting
Save games are lost between sessions or cannot be found.
Fix: Check that ScummVM has write permissions to its save directory (%APPDATA%\ScummVM\saves\). Do not run ScummVM as administrator unless necessary, as this can redirect save paths. Back up the saves folder regularly.