Open MAME service mode and change DIP switches safely on Android
Map and test MAME's user-interface menu control first, then inspect the running machine's DIP Switches, Machine Configuration, and Input Settings entries. Use the Service Mode or Service input only when the machine documents it, because F2 may be a momentary button, toggle, or DIP switch depending on the hardware. Record every original value and change one setting at a time; do not use Memory Reset as a generic way to enter service mode.
Do this in order
- 01
Back up the machine-specific CFG and NVRAM, record the short name and MAME version, and photograph or transcribe the current in-game operator values without copying copyrighted screen assets into publication.
- 02
In the Android port, map a reachable Show/Hide Menu control separately from game buttons and confirm you can enter and leave MAME's own menu with the authorized test machine running.
- 03
Inspect DIP Switches and Machine Configuration before pressing Service Mode; if an item is absent, the running driver does not expose that class of setting through the current configuration.
- 04
Open Input Settings and identify Service Mode versus Service 1–4, noting whether the machine expects a momentary press, a latched toggle, or a DIP-controlled boot path.
- 05
Change one documented operator value, exit the menu, apply any machine-requested reset, and verify the visible behavior without using Memory Reset unless erasing supported credits, scores, or operator data is intentional.
- 06
Exit MAME normally, cold-start the same machine, verify persistence, and restore the recorded CFG/NVRAM if the port changed an unintended global or machine-specific scope.
Decision and diagnostic table
| Control or menu | Purpose | Common mistake |
|---|---|---|
| Show/Hide Menu | Open MAME configuration UI | Mapping it as an ordinary game button |
| Service Mode | Machine-specific service switch | Assuming it is always a one-shot F2 press |
| Service 1–4 | Credits or operator navigation on some machines | Treating every service input as the same function |
| Memory Reset | Erase supported retained operator data | Using it as a harmless service-menu shortcut |
The MAME menu and the machine service menu are separate
MAME's Show/Hide Menu opens the emulator configuration surface. Inside it, DIP Switches and Machine Configuration are driver-defined settings, while Service Mode and Service buttons are emulated inputs sent to the machine.
An Android wrapper may put its own preferences in front of MAME or consume controller buttons before MAME sees them. Prove which menu is open and keep the UI-control mapping separate from the machine's coin, start, and service inputs.
Available items come from the running configuration
The official MAME menu guide says DIP Switches, machine settings, toggle inputs, and analog adjustments appear only when the running system exposes them. Slot options and configuration can change which inputs exist.
Do not copy another game's DIP labels or service sequence. Use the current short name, driver warnings, and the machine's own operator documentation where you lawfully possess it.
Reset and persistence are explicit tests
Some changes apply immediately, some need an emulated reset, and some operator values live in NVRAM. A force-stop can prevent a write, while Memory Reset can deliberately erase supported high scores, credits, statistics, or settings.
Change one value, use the documented reset path, exit cleanly, and cold-start. Keeping before-and-after CFG/NVRAM copies makes an accidental global mapping or destructive reset reversible.
Operator settings and service controls do not authorize commercial game data, paid public play, or bypassing access controls. Test only a lawfully obtained game and do not publish copyrighted operator manuals, ROMs, BIOS, CHDs, artwork, or music as part of a configuration guide.