Puedes probar dos cosas, la primera inicia un juego de mame en retroarch, luego con el juego iniciado, pulsas F1 (tecla por defecto) para entrar en el RGUI sin salir del juego, desde ahí te vas a menu rápido>opciones de entrada de nucleo y configuras los mandos para el mame.
Luego le das a guardar archivo de reasignación de núcleo para que sea la configuración por defecto para todos los juegos de ese nucleo (mame en este caso), o le das a guardar archivo de reasignación del juego si quieres que esa configuración sólo sea para ese juego.
Para cambiar los botones tienes que darle a izquierda o derecha, no sirve con pulsar el botón que quieres asignar (al menos con mi versión de retroarch).
La configuración se cargará automaticamente la proxima vez que inicies el mame, no es necesario ir al menú a cargarla.
Esto puede ser útil para personalizar la distribución de botones en otros emuladores, yo lo hago así.
La segunda opción es iniciar un juego en mame, pulsar la tecla tabulador, y configurar el mando desde ahí, desde el propio menú del mame.
Espero que alguna de estas soluciones te sea de ayuda.
Un saludo.
Edit: para el compañero @chusan, a mí también me funciona perfectamente retroarch en windows 10, quizás debas probar con una versión más actualizada. Y lógicamente si ejecutas retroarch en el PC tendrás que conectar los mandos en el PC si quieres jugar en el.