Control keys that open or dismiss menus and startup screens are passed to the emulated system
Author: pgalbraithCreated Sep 13, 2026Updated Sep 15, 2026
MAME version
0.289
System information
Windows 11 Pro, 64-bit (10.0.26200), x86-64
INI configuration details
default configEmulated system/software
h89
Incorrect behaviour
The key used to open or dismiss a menu or startup screen is also typed into the emulated system:
- Pressing Tab to close the main menu types a Tab.
- Choosing Close Menu with Enter types a carriage return.
- Pressing Esc to leave the menu types an Esc.
- Pressing Tab to open the menu sometimes types a Tab.
- Pressing a key to dismiss the system information screen at startup types that key.
Expected behaviour
The emulated system doesn't see the keys used to open and dismiss menus and startup screens. MAME Menus says: "Emulated system inputs are ignored while menus are displayed."
Steps to reproduce
These use the H89's terminal in off-line mode, where it shows whatever you type, so a stray key shows up on screen.
Closing the main menu
- Run
mame h89 -ui_active. UI controls start disabled on systems with a keyboard, and-ui_activeturns them on so Tab opens the menu. - Wait for the
H:prompt. - Press F12 to put the terminal off line. F12 is the terminal's Off Line key; MAME also saves a snapshot, which doesn't matter here.
- Type
abc. The line readsH: abc. - Press Tab to open the menu, Tab again to close it, then type
d.- What happens:
H: abc d. The closing Tab reached the terminal and moved the cursor to the next tab stop. - What should happen:
H: abcd.
- What happens:
- Press Tab, then End, then Enter to choose Close Menu, then type
X.- What happens: the
Xappears at the very start of the line, in front ofH:. The Enter reached the terminal as a carriage return. - What should happen: the
Xfollows the last letter you typed.
- What happens: the
- Press Tab, then Esc to close the menu, then type
E(Shift+E).- What happens: the screen clears. The Esc reached the terminal, and Esc followed by
Eis the terminal's clear-screen command. - What should happen: the
Efollows theX.
- What happens: the screen clears. The Esc reached the terminal, and Esc followed by
The Tab that opens the menu can get through as well; the H89 received it on 2 of 9 opens with the Lua script below. If it does, the gap in step 5 is one tab stop wider.
Dismissing the startup screen
- Run
mame h89 -ui_active -noskip_gameinfo. - When the system information screen says "Press any key to continue", press
b.- What happens: the prompt reads
H: Boot. Thebreached the H89, and the MTR-89 monitor took it as its Boot command. - What should happen: the prompt reads just
H:.
- What happens: the prompt reads
Additional details
No response
Source: mamedev/mame