Gracias por los consejos.
Ahora os cuento mi experiencia. Ya casi me lo he pasado

Estoy usando retroarch con el core mupen64 plus. Leí que era cómodo y con el core adecuado iba muy bien.
RDP plugin: toca usar Angrylion.
Con este juego glideN64 no va bien, el cual nos permitiría subir la resolución y mejorar las texturas.
Esto es debido a que Pokemon snap es puñetero y por ejemplo al sacar fotos con glideN64 no sale el punto rojo.
Retroarch con Core mupen64 plus + RDP Angrylion = perfecto y muy fiel.
Luego tocaría usar shaders (filtros digamos), por ejemplo crt, si te sangran mucho los ojos con los dientes de sierra y los pixeles.
Estoy usando mando de xbox one, sin problemas. No hay que configurar nada. Es encenderlo y ya funciona con los botones mapeados.
Un saludo y espero que le sirva a alguien

EDIT: os recomiendo jugar a la versión americana que va a 60 fps en lugar de a 50 como la española.