Standalone arcade emulation · Windows and Linux x86-64

The arcade boards.
One focused launcher.

WhittyArcade brings Namco System 22, Sega Model 1, Sega Model 2 and selected classic 2D hardware into one purpose-built desktop frontend. Import your own compatible archives, map your controls and go.

  • Windows 10 / 11Portable x86-64 ZIP
  • Five Linux targetsNative distro packages
  • Loading…Desktop package downloads

CURRENT BUILD

VIDEOOpenGL · Vulkan · Software INPUTMouse light guns · SDL · Keyboard HOSTSWindows 10/11 · Five Linux targets LIBRARYMerged · Split · Non-merged SAVESEEPROM · NVRAM · High scores
View every release →

Hardware coverage

Board-aware from launch to controls

Games, input profiles and persistent data stay grouped by the original arcade hardware.

M1

Sega Model 1

Virtua Formula, Virtua Fighter, Star Wars Arcade and Wing War.

4 supported sets
M2

Sega Model 2

Sega Rally Championship Revision C, with native machine, video, I/O and audio paths.

1 supported set
2D

Classic boards

Phoenix, Galaxian, Moon Cresta, UniWar S and Sega System 16B Shinobi.

5 supported sets

Installation

From download to launcher

Choose the portable Windows ZIP or the native archive matching your Linux distribution.

  1. 01

    Choose your desktop package

    Windows 10/11 uses WhittyArcade-windows-x86_64.zip. Linux builds are provided for Ubuntu 24.04, Debian 13, Fedora 43, openSUSE Tumbleweed and CachyOS/Arch. Download the matching checksum beside the archive.

    Open the desktop release →
  2. 02

    Verify the download

    On Windows, compare the PowerShell result with the downloaded .sha256 file:

    Get-FileHash .\WhittyArcade-windows-x86_64.zip -Algorithm SHA256

    On Linux, let sha256sum check it directly:

    sha256sum -c WhittyArcade-<target>-x86_64.tar.gz.sha256
  3. 03

    Extract the whole archive and run

    Windows: extract every file, keep the DLLs beside the executable, then open WhittyArcade.exe. No installer or administrator access is required.

    tar -xzf WhittyArcade-<target>-x86_64.tar.gz
    cd WhittyArcade-<target>-x86_64
    chmod +x WhittyArcade
    ./WhittyArcade

    Linux builds are dynamically linked. If a library is missing, install the equivalent SDL2, SDL2_ttf, OpenAL, OpenGL, GLEW, Vulkan loader, zlib, MiniZip, mpg123 and GLM runtime package from your distribution.

ROM library

Keep your archives intact

The importer copies compatible MAME ZIP archives unchanged. It does not extract, modify or repack them.

Open ROM Library / Import

Launch WhittyArcade with no arguments, then choose ROM Library / Import.

Select ZIPs or scan a folder

Import one or more archives, or point the scanner at an existing MAME ROM directory.

Run the audit

Choose Audit installed ROMs. A set marked ready has passed the loader's size and CRC checks.

BoardSupported short namesCompanions
Namco System 22ridgerac, ridgera2, raverace, acedrive, victlap, cybrcommnamcoc71.zip and namcoc74.zip
Namco Super System 22timecris, dirtdash, aquajetnamcoc71.zip; no C74 archive needed
Sega Model 1vformula, vf, swa, wingwarSplit vformula also needs vr.zip
Sega Model 2srallycNone; segabill.zip is optional
PhoenixphoenixNone
Galaxiangalaxian, mooncrst, uniwarsNone
Sega System 16Bshinobi4Split sets also need shinobi6.zip
Where does WhittyArcade store imported archives?

On Windows, imported ROMs and user data live below %LOCALAPPDATA%\WhittyArcade. On Linux, ROMs normally use ~/.local/share/WhittyArcade/roms and settings use ~/.config/WhittyArcade.

Merged, split or non-merged?

All three layouts are supported. A non-merged game ZIP is self-contained. Split sets need their parent or companion archive beside them. For a merged set, import the parent ZIP; clone entries are found by basename.

Input

Map once—or tune every cabinet

Profiles can be global, board-specific or game-specific. Hot-plugged SDL controllers can be refreshed without restarting.

Xbox-style controller defaults

Left stick
Steering / Player 1 directions
Right stick
Twin-stick secondary directions
Right trigger
Accelerator
Left trigger
Brake
View / Back
Coin 1
Menu / Start
Start 1
Shoulders
Shift down / up

Keyboard essentials

← / →
Steering
↑ / ↓
Accelerator / brake
5 / 1
Coin 1 / Start 1
WASD · Z/X/C
Player 1 directions / actions
F2
Cabinet test switch
S / C
Settings / controls in gameplay
Esc
Return to launcher
Ridge Racer cabinet note

The standard Ridge Racer cabinet has no separate start switch. Insert a coin, then press the accelerator to start or select.

Time Crisis mouse gun

Move the mouse to aim and left-click to fire. The player begins hidden. Hold Space to stand and attack; release it or right-click to take cover and reload. Gameplay replaces the desktop arrow with a thick cyan P1 target sight; two-player gun profiles use a separate red/magenta P2 sight.

Extensible cabinets

One game profile feeds the whole launcher

WhittyArcade keeps game metadata, board behaviour and host controls separate, so a supported set appears consistently everywhere.

Describe the set

A validated ROM profile supplies the short name, regions, interleave and companion archives.

Select cabinet behaviour

The board module owns real hardware differences; the launcher, audit and save tools stay board-neutral.

Map and verify

Game-specific actions use the common controller layer, then loader, bus and live boot checks prove the integration.

Current example: Super System 22

Time Crisis, Dirt Dash and Aqua Jet share the board implementation while retaining their own ROM profiles and cabinet controls. Catalog entries expose each game consistently to the browser, audit and per-game controller pages. Virtua Cop 2 ROM-loading groundwork is also present, but that game is not yet listed as playable.

Launcher tour

Every utility stays inside the arcade shell

These are genuine captures from the current desktop launcher.

Troubleshooting

Fast checks before reporting a problem

The executable will not start

On Windows, extract the complete ZIP so every bundled DLL remains beside WhittyArcade.exe. On Linux, use the archive matching your distribution and run from a terminal to identify any missing runtime library.

A ROM is not marked ready

Run Audit installed ROMs. Confirm the exact supported short name and keep required parent, companion and firmware ZIPs beside the game archive.

My controller is not listed

Connect it, open Controllers / Keyboard, then choose Refresh plugged-in devices. The controller must be recognised by SDL as a game controller.

Is Time Crisis pixel-perfect?

No. Preview 2 validates boot, attract/gameplay scenes, audio, gun coordinates, trigger and pedal behaviour, but some Super System 22 fog and sprite alpha/blend details remain experimental.

Where are settings and saves?

Windows stores settings, input maps, EEPROM/NVRAM and high scores below %LOCALAPPDATA%\WhittyArcade; Linux uses ~/.config/WhittyArcade. The NVRAM Manager can back up, export, restore or factory-reset persistent data.

Open a public support issue