Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesTo use a USB controller with standalone MAME, connect it before launching MAME, verify that your operating system detects it, enable joystick input, confirm the device in Input Settings → Input Devices, then assign controls under Input Assignments (this system) or Input Assignments (general). Exit normally so MAME can save the configuration.
This guide covers standalone MAME, not RetroArch’s MAME cores. Menu labels and available joystick providers can vary by MAME version and build; the current documentation is labeled MAME 0.289 at docs.mamedev.org.
What you need
- A working standalone MAME installation and a legally obtained ROM set that matches it.
- A USB gamepad, arcade stick, encoder, or other supported input device.
- A keyboard for initial setup. MAME notes that a keyboard may be needed before controller UI assignments are configured; see MAME’s user-interface guide.
- The controller connected before MAME starts.
- An operating system that recognizes the device in its game-controller settings.
Choose the right kind of controller
A USB controller might be an Xbox-compatible XInput pad, DirectInput pad, arcade stick, six-button fight pad, USB arcade encoder, wheel, spinner, trackball, flight stick, or light gun. A normal gamepad is versatile, but it is not an equivalent replacement for hardware designed for a spinner, trackball, steering wheel, light gun, or dual-joystick game. Four-way maze games and six-button fighters also benefit from purpose-appropriate controls.
MAME’s input system supports keyboards, mice, game controllers, analog controls, and other devices; the controls available for assignment depend on the emulated machine. See the MAME input-system documentation.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →#1 Best Overall
- With broad game support, the Logitech Gamepad F310 works with old standbys to today's biggest titles, so it's easy to set up and use with your favorite games.
- Profiler software allows the gamepad to be programmed to perform keyboard and mouse commands for games without gamepad support.* * Requires software installation.
- A familiar control layout that doesn't require a learning curve to be able to use, with all the same buttons as on an Xbox 360.
- The unique floating D-pad rests on four switches-instead of a single pivot point-making it responsive to quick changes in direction.
- The six-foot cord lets you lean back and play a comfortable distance from your PC monitor.
Enable joystick input
Current MAME documentation lists joystick input as disabled by default (-nojoystick). Enable it either when launching a game or in your configuration file.
Use the command line
mame -joystick pacman
Replace pacman with the game’s short name. The abbreviated form also works:
mame -joy pacman
The exact options supported by your build are listed by mame -help. The command-line reference is at docs.mamedev.org/commandline/commandline-all.html.
Enable it in mame.ini
Add this line to the mame.ini generated or used by your installation:
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutejoystick 1
Do not assume one universal file location. MAME’s installation method and platform determine where its configuration directory is. If a front end launches MAME, test the standalone executable first: the front end may add -nojoystick, select another configuration directory, or override options.
Check whether MAME sees the controller
- Start a game with joystick support enabled.
- Open MAME’s menu (the normal default is Tab, but verify your release in Default Keyboard Controls).
- Choose Input Settings → Input Devices.
- Select the joystick or game-controller category and move each stick or press buttons.
The device should appear and its button and axis states should change. MAME’s menu documentation also describes copying a device ID.
- No device listed: remapping cannot fix this; investigate the cable, operating-system detection, mode switch, provider, or build.
- Device listed but no state changes: check the controller’s XInput/DirectInput or PC/console switch, cable, driver, and selected provider.
- State changes here but not in the game: assign the game’s controls under the correct player and input category.
Assign controls for one game
For a specific title, use Input Settings → Input Assignments (this system). This avoids changing unrelated games.
Rank #2
- Wide Compatibility: VOYEE wired 360 controller compatible with Microsoft Xbox 360 & Slim/ PC (Windows 11/10/8.1/8/7). Just plug and play, not for FPS games
- Enhanced Game Controller: Upgraded PC 360 controller with new left and right trigger buttons and more sensitive joysticks and buttons - Respond quickly to player commands without delay
- Astonishing Gaming Experience: VOYEE wired pc controller provides rumble control and according to the game automatic vibration feedback to enhanced game experience and match your personal preference
- Ergonomic Design: Grips's contours have been designed to fit your hands more comfortably to hold for a long time and 7.2ft cord allows greater
- What You Get: VOYEE wired 360/PC Controller, 45 Days Money Back, 365 Days Guarantee Against quality defect and 24 Hours Friendly Customer Support
- Highlight a control such as P1 Joystick Up and press Enter.
- Move the desired stick direction or press the desired physical button.
- Press Enter again, or follow the on-screen completion prompt.
- Repeat for left, right, down, action buttons, Coin 1, and Start 1. Add P2 controls when required.
- If MAME records an unintended extra input, edit that entry and remove the unwanted assignment.
Common controls include P1 Joystick Up/Down/Left/Right, P1 Button 1 through Button 6, Coin, Start, Service, Test, and game-specific analog inputs. Assign by pressing the physical control rather than guessing from generic button numbers, since DirectInput and XInput can expose different orders.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Create defaults for multiple games
Input Settings → Input Assignments (general) establishes defaults across systems. It is useful for a standard Player 1 layout, coin and start buttons, Player 2, six-button fighters, and common UI controls. A general layout is not automatically ideal everywhere: Pac-Man-style four-way games, Street Fighter-style six-button games, and driving games use different control schemes. Keep game-specific exceptions in Input Assignments (this system).
A practical two-player starting layout
| Controller control | Suggested assignment |
|---|---|
| D-pad or left stick | P1 movement |
| Face buttons 1–4 | P1 Button 1–4 |
| Shoulder buttons | P1 Button 5–6 |
| Select/View | Coin |
| Start/Menu | Start |
For fighting games, six reachable buttons are more useful than a four-button arrangement. For simple one-button games, an arcade stick or compact layout may be preferable.
Navigate MAME without a keyboard
A controller can work in a game while remaining unable to operate MAME’s menus. MAME’s default first-joystick navigation generally uses vertical movement to move through menu items, horizontal movement to change a setting, the first joystick button to select, and the second joystick button to go back where supported.
For reliable keyboard-free operation, assign controller buttons to Show/Hide Menu, UI Back, and UI Cancel in the user-interface assignments. The exact labels and defaults can vary by release; consult the UI guide and default controls.
Free tools Windows power users keep installed
One-click scans. No signup required.
Save and back up your configuration
Exit MAME normally after mapping controls. Current-system assignments are saved for that game/system, while general assignments provide defaults. MAME stores controller settings in XML .cfg files. Controller profiles can be selected with the ctrlr option and searched through paths set by ctrlrpath; see controller configuration.
Back up working configuration files. If one game becomes unusable, close MAME and rename or delete that game’s configuration file, then launch it again to restore defaults. The exact directory is controlled by MAME’s cfg_directory setting, so inspect your own configuration rather than relying on a platform-wide path.
Rank #3
- 【Supported Operating System】The Game Controller is specifically designed for playing classic old school retro snes games on computer or laptop. Compatible with Windows 98 / ME / Vista / 2000/2003 / XP / 7 / 8 / 8.1 / 10/11, Mac OS X/ OS X 10.0 and beyond, Raspberry Pi, Raspberry PI 2 model B,Model A, Raspberry Pi 1 Model B+, Raspberry Pi 2,Raspberry Pi OS, Raspberry Pi 3 Model B+, Raspberry Pi 3, Raspberry Pi Zero.
- 【Simple USB Plug and Play】If your program or application accepts USB controller input, this classic game controller do not need install drivers or patches. 1.5 meter external cable(approx. 5 ft. Long). Notice: Please download the game emulator first before start the games, and then you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. If on the Steam platform, you need to first enable Steam's "Universal Controller Configuration Support" and then restart Steam. After entering the game, you also need to manually bind key positions in the game
- 【High Sensitivity without Delay】Super sensitive buttons for precision control: 6 fire buttons, a 'Start' button and a 'Select' button, motion control cross. Play your favorite old school games with classic retro feel. Fits perfectly in the hand and also perfect for two player action.Note: Not applicable to Switch/PS games. Not Compatible with TV/ TV Box, third Mini Games Box and Tesla Model 3
- 【Supported Game Emulators】The game controller works with most emulators. Download any emulator you wish to download and use from Google and do the same with ROMS. Notice:Third party controller, not original controller. But it works phenomenal with the Raspberry Pi game emulation and so on
- 【Product Service】If you have any problem during use, send message to us and we will help you to solve the problem soon
Keep Player 1 and Player 2 stable
MAME normally numbers devices in enumeration order. Reconnecting devices, changing USB ports, adding a wireless receiver, or pairing another controller can turn yesterday’s Joy 1 into Joy 2.
- Connect Player 1 first and use the same ports consistently.
- Connect every controller before assigning final mappings.
- Check the device names and IDs in Input Devices.
- For a permanent cabinet or multi-player setup, use stable device mapping.
MAME documents mapdevice in controller configuration files. A conceptual example is:
<mapdevice device="XInput Player 1" controller="JOYCODE_1" />
<mapdevice device="XInput Player 2" controller="JOYCODE_2" />
Replace the device values with the exact identifiers shown by your own MAME build; do not paste these names blindly. Details are in MAME’s device-mapping documentation.
Fix four-way, eight-way, and analog behavior
Four-way versus eight-way games
Analog sticks can generate diagonals even when a game was designed for a four-way joystick. Pac-Man-like maze games and some platformers may therefore stop, turn unexpectedly, or behave inconsistently. MAME’s joystick_map converts analog positions into digital directions; its documented default, auto, chooses a map from the system’s input-port configuration.
Prefer a per-system .ini adjustment so a four-way correction does not damage eight-way games. Related settings include:
joystick_map auto
joystick_deadzone 0.3
joystick_saturation 1.0
joystick_threshold 0.3
- Dead zone: ignores small movements around center.
- Saturation: defines how much of the outer physical range is treated as the usable range.
- Threshold: sets how far an axis must move before a digital direction activates.
- Joystick map: determines how analog X/Y positions become digital directions.
Those numbers are examples, not universal recommendations. A physical D-pad or four-way restrictor may be a better solution.
Analog games
When the running system has analog controls, open Input Settings → Analog Input Adjustments. Depending on the game, MAME can expose sensitivity, auto-centering speed, inversion, and response behavior. This menu appears only for systems with analog inputs.
Rank #4
- ✅【Compatibility】Compatible with Raspberry Pi, Windows PC, Linux ,Mac. Specifically designed for playing classic old school retro snes games on computer or laptop.This is the USB controller what has a USB plug for PC, NOT compatible for Original SNES super Nintendo console
- ✅ 【Ergonomic Design】Super precise cross key and function buttons,the cross direction key adopts frosted concave design,anti-sweat and anti-slip.The shape of the controller is designed to fit the contour of your hands,easy and comfortable to hold.
- ✅ 【Advanced Game Experience】PC running operating system:Windows 98/2000/ ME/XP/Vista/Win7/8/8.1/11 or later,or Mac running OS X 10.0/Mac OS X or above.It works with most of emulators you wish to download and use,such as VirtuaNES(PC),sens9x,Zsens,sensgt,Uosnesw,RetroArch,OpenEmu(MAC),NESEmu and Jnes etc.
- ✅ 【Wired USB Connection】Standard USB 2.0 port with a 1.5 meters (5ft) cable, don't need to install any drivers, you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. Notice: please download the game emulator first before start the games, you can download the emulator “VirtuaNES” on PC and “OpenEmu”on MAC.
- ✅【Satisfaction】Third party controller(USB Version), not for original snes console and not support for switch. If there is an incompatibility on MAC or Raspberry Pi , please contact the seller for a support.
Racing games may need steering, accelerator, and brake; Arkanoid uses paddle-like control; Tempest uses a spinner; Missile Command uses trackball-like aiming; flight games may use analog stick or throttle; light-gun games require pointer-style input. A standard gamepad can work in some cases but is not the same experience as the original control type.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Windows joystick providers
Windows builds may offer winhybrid, dinput, and xinput. MAME describes winhybrid as using XInput for compatible controllers with DirectInput fallback; xinput supports up to four XInput controllers; dinput can be useful with more than four XInput-compatible controllers, with differences such as trigger handling.
Use providers as troubleshooting alternatives, not mandatory settings:
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →mame -joystickprovider winhybrid pacman
mame -joystickprovider xinput pacman
mame -joystickprovider dinput pacman
Builds differ in which providers are compiled and selected by default. Check yours with:
mame -showconfig
mame -help
SDL provider and mapping-file fallback
SDL-based builds can expose sdlgame, sdljoy, or none. sdlgame uses SDL’s game-controller API where mappings exist and falls back to SDL joystick handling; sdljoy uses the SDL joystick API for all controllers.
For an SDL2/Steam-style mapping database, an advanced test is:
mame -joystickprovider sdlgame
-controller_map gamecontrollerdb.txt
sf2ce
The documented -controller_map option currently applies to the sdlgame provider. Most users should first use MAME’s assignment menus.
Best Value
- Wired Controller, USB cable: 1.8M.
- Compatible with Switch (version 3.0.0 or above), Windows, Raspberry Pi devices.
- Rumble vibration.
- Support turbo function.
Troubleshooting by symptom
The operating system does not detect the controller
- Try a data-capable USB cable, another port, and another cable.
- Check an XInput/DirectInput or PC/console mode switch.
- Inspect the operating-system game-controller panel and Device Manager or its equivalent.
- Close software that may have exclusive access and test with a basic gamepad tester.
Until the operating system sees the device, MAME configuration is not the first problem.
The OS sees it, but MAME does not
- Confirm
joystick 1or launch with-joystick. - Check that
joystickprovideris notnone. - Try an available provider appropriate to the controller.
- Connect the controller before launching MAME.
- Test the standalone executable rather than a front end.
- Use Input Devices as the decisive MAME-side test.
Buttons work in menus but not the game
You probably assigned only UI controls, edited the wrong player, or configured the wrong input type. Return to Input Assignments (this system) and map the emulated machine’s controls.
The wrong player responds
Check Joy 1/Joy 2 labels, connection order, controller profiles, and any mapdevice rules. Reconnect all controllers in the intended order and remap, or configure stable IDs.
Settings do not persist
Check configuration-directory permissions, read-only folders, abrupt termination, per-game overrides, and whether the front end launches a different MAME executable or configuration directory. Exit normally and back up working .cfg files.
Recommended Free Tools
The controller works in RetroArch but not standalone MAME
These are separate systems. RetroArch uses its own input abstraction, core settings, autoconfig files, and overrides. Standalone MAME uses its Input Settings menus, MAME .ini files, and controller .cfg files; a RetroArch profile is not automatically usable in standalone MAME.
Which USB controller is suitable?
| Need | Practical choice |
|---|---|
| General arcade library | Wired USB gamepad with a good D-pad |
| Fighting games | Six-button pad or arcade stick |
| Custom cabinet | USB arcade encoder with full-size joystick and buttons |
| Spinner, trackball, wheel, or light-gun games | Purpose-built matching hardware |
Wired USB is usually simplest: no pairing, battery, or wireless receiver to reconnect under a new device identity. Wireless controllers reduce cable clutter but add charging, pairing, and numbering variables.
For a low-cost wired Windows pad, the 8BitDo Ultimate 2C Wired Controller is one example; its official shop showed $19.99 USD on August 16, 2026. The 8BitDo Ultimate Wired Controller for Xbox was listed at a $29.99 sale price (former displayed price $44.99) on the same date. These are price observations, not permanent prices, and neither replaces a spinner, trackball, wheel, or cabinet panel. The six-button-oriented 8BitDo M30 Wired Controller for Xbox may suit fighters; verify current compatibility, stock, and regional availability before buying.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




