Focused arcade emulation for Windows + Linux

Your arcade shelf.
Built to play.

WhittyArcade brings a hand-picked mix of Namco, Sega and Capcom arcade games into one launcher—with correct screen shapes, remappable controls, operator tools and two-player networking built in.

Ridge Racer running fullscreen in WhittyArcade

Ridge Racer · live capture from the current WhittyArcade build

26working game sets
11board/runtime groups
4single and twin display layouts
2Pautomatic network discovery

Real games, real captures

From Ridge Racer to Galaga

Each screenshot below comes from WhittyArcade itself. The same app moves between 3D racers, light-gun cabinets and classic vertical games without replacing the frontend.

Two apps, one shared launch

Multiplayer without the setup ritual

Open WhittyArcade on two computers. The apps find each other, decide who is Player 1 and Player 2, and show games installed at both ends.

01

Open both apps

Discovery starts automatically from the main menu.

02

See “Connected”

No IP address, cabinet number or role selection is needed.

03

Choose once

Player 1 selects from the shared installed-game list.

04

Play together

Player 2 follows automatically and uses their normal controls.

Native hardware link

Sega Rally only

Sega Rally is the one title currently advertised as a true linked-cabinet game.

  • Two emulated Model 2 boards
  • Automatic CAR1 / CAR2 EEPROM roles
  • Sega’s original cabinet protocol
Alternating turns

One arcade session, shared

Both players see the same game and score. Control moves with the original game’s turn.

  • Galaga, Galaxian, Moon Cresta
  • Phoenix, UniWar S, Shinobi
  • Ghosts’n Goblins, Pac-Mania
Simultaneous

Both players live

Both input sets are active every frame for games designed around two players at once.

  • Virtua Cop
  • Virtua Cop 2
  • Independent light-gun inputs

No ultrawide stretching

The game keeps its real shape

Vertical and horizontal cabinets are fitted from their native framebuffer. Twin mode uses the same integer scale in both directions, then centres the result inside a visible player border.

Galaga twin screen output preserving its vertical arcade raster
Single screenOne correctly fitted arcade display.
Twin fullscreenTwo bordered panes on a wide display.
Two windowsIndependent P1 and P2 windows on one desktop.
Two monitorsOne centred window on each physical display.

Everything around the game

Arcade features that stay out of the way

The frontend is built for sitting down with a controller. Everyday options live in the launcher or pause menu instead of being scattered across keyboard shortcuts.

ROM

Direct ROM folders

Read merged, split or non-merged ZIPs, extracted sets and CHDs in place. No import, copy or repack step.

P

One pause menu

Resume, controls, display, DIP/operator settings, ROM selection and return-to-launcher in one place.

Remappable controls

SDL gamepads, keyboard and mouse with hot-plug detection and per-device saved mappings.

DIP

Operator settings

Game-specific switches plus EEPROM and NVRAM handling, including Sega Rally cabinet roles.

HI

High-score viewers

Decoded and persistent score tables are keyed to the same stable game identity as saves and controls.

GPU

Three output paths

OpenGL, Vulkan and software presenters share the same aspect-correct layout rules.

SND

Board-specific audio

Each cabinet keeps its own sound hardware path, from Namco wave sound to SCSP and C352 audio.

Switch without restarting

Return to the game selector and launch another board while the host window stays alive.

The idea behind it

Small shelf, clear rules

WhittyArcade is not trying to contain every machine ever made. It gives a selected group of boards a common, purpose-built player and operator experience.

Boards are the hardware. Games are profiles.

A Sega Model 2 board or Namco System 22 board owns the CPUs, video, sound and memory. A game profile tells that board which ROM layout, controls and cabinet behaviour to use.

That means adding another supported revision does not require inventing another frontend or copying an entire emulator driver. The launcher, pause menu, display fitting, storage and controller mapping stay consistent.

For normal network two-player games, Player 1 owns the authoritative arcade session and sends the final picture while Player 2 sends live controls back. Sega Rally is different: it genuinely runs two linked emulated cabinets.

ROM folderRecognise a supported set by its real files and stable MAME short name.
Game profileSelect controls, ROM mapping, saves and cabinet behaviour.
BoardRun the original CPU, video, sound and I/O model for that hardware family.
WhittyArcadePresent it through one launcher, one pause menu and the chosen screen layout.

Current working shelf

26 sets across eleven groups

The focus is depth, not a huge compatibility number. Ridge Racer Full Scale is recognised but deliberately marked not working rather than shown as playable.

Namco driving + 3D

Ridge Racer, Ridge Racer 2, Rave Racer, Ace Driver, Victory Lap, Cyber Commando, Dirt Dash, Aqua Jet and Ridge Racer V: Arcade Battle.

Sega 3D

Sega Rally Championship, Virtua Formula, Virtua Fighter, Star Wars Arcade and Wing War.

Light guns

Time Crisis, Virtua Cop and Virtua Cop 2 with mouse and mapped controller input.

Classics + offline

Galaga, Pac-Mania, Galaxian, Moon Cresta, UniWar S, Phoenix, Shinobi, Ghosts’n Goblins and Robotron: 2084.

Different goals, useful choices

How it compares

MAME and FinalBurn Neo are not “worse versions” of WhittyArcade. They solve broader preservation and ecosystem problems. WhittyArcade chooses a smaller target and builds a dedicated experience around it.

AreaWhittyArcadeMAMEFinalBurn Neo
Main goalA curated arcade shelf with one player/operator frontend.Preserve and document as much computer and arcade hardware as possible.Broad, performance-focused arcade and multi-system emulation.
Catalog26 working sets with several Namco and Sega 3D boards.A vast catalog covering many thousands of machines.A much broader catalog than WhittyArcade, especially 2D systems.
FrontendBuilt-in launcher, pause menu, ROM folders, high scores, cabinet and screen modes.General machine UI with extensive configuration and debugging depth.Standalone ports plus a widely used Libretro core.
ROM workflowReads supported current-MAME layouts directly from dedicated folders.Strict audited sets for the selected MAME version.Version-matched FBNeo sets with DAT/rebuild guidance.
Two playersAutomatic two-app discovery, alternating/simultaneous network play and one native Sega Rally link.Machine-dependent networking and broad input support.RetroArch netplay is available through the Libretro ecosystem.
Best fitYou want this particular shelf and its built-in cabinet experience.You need the broadest preservation scope or deep machine controls.You want broad compatibility and RetroArch features.

ROMs are not included

Drop in your supported sets

WhittyArcade reads files directly. A first-run wizard asks where your collection already lives; the paths can be changed later under Settings.

Choose your own folders

Select an existing ROM folder and an optional separate CHD folder. Nothing is imported or moved. These are simply the recommended defaults:

# Linux defaults ~/.local/share/WhittyArcade/roms/ ~/.local/share/WhittyArcade/chd/ # Windows defaults %LOCALAPPDATA%\WhittyArcade\roms %LOCALAPPDATA%\WhittyArcade\chd

Build on Linux or Windows

The native app uses CMake, SDL3, OpenGL/Vulkan and OpenAL. Build instructions and platform packages live in the repository.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release cmake --build build --parallel ctest --test-dir build --output-on-failure ./build/WhittyArcade --list-roms ./build/WhittyArcade --audit-roms