Cela a absolument tout à voir avec le timing. Gardez à l'esprit que si la PS1 était avancée pour l'époque, elle était encore assez basique par rapport aux normes actuelles. Les temps de lecture des CD étaient fixes, tout comme les temps d'écriture des cartes mémoire. Cela signifie que si les développeurs le souhaitaient, certaines opérations pouvaient être exécutées ou lancées pendant que certaines opérations de lecture et d'écriture avaient lieu. Les développeurs pouvaient démarrer une écriture sur carte mémoire et savoir exactement combien de cycles CPU il leur faudrait pour la terminer.
En réalité, il y avait probablement un sous-système qui était utilisé pour écrire le bloc de RAM contenant les données sur la carte mémoire. Une fois le processus terminé, une interruption est appelée pour dire à l'unité "écriture sur la carte mémoire, terminée". Si les développeurs savaient que l'écriture de 256 octets dans la RAM de la carte mémoire prenait X cycles, ils pourraient utiliser ces cycles d'arrière-plan pour précharger un stage ou préparer les données de la RAM pour gérer l'interaction du joueur pour la suite du jeu.
En général, la PS1 avait un contrôle de timing très serré. Pour cette raison, les développeurs pouvaient l'utiliser comme un "truc" dans leurs manches pour précharger des données et rendre le jeu plus rapide. L'inconvénient de cette astuce est que, des années plus tard, nous sommes obligés d'émuler des vitesses qui, pour nous, sont lentes.
Mais il y a du caviat ! Apparemment, Sony a en partie trouvé le moyen de dépenser certaines de ces opérations sans casser trop de jeux. Je ne peux pas parler pour la PS3, mais il existe des options pour accélérer les temps de chargement dans la PS2 pour les jeux PS1. Je sais qu'il y a eu des avertissements indiquant que cette fonction pouvait ne pas fonctionner avec tous les jeux, Sony était donc conscient qu'il s'agissait d'une fonction de qualité de vie à utiliser à ses risques et périls. A ma connaissance, la PS2 n'a pas également intégré des opérations de sauvegarde mémoire plus rapides, donc ils étaient définitivement conscients que c'était une fonction qu'ils ne devaient pas modifier (bien que les vitesses d'écriture maximales pour la PS1 aient pu faire partie de cette décision).
Je pense que l'état de l'émulation de la PS1 n'est pas ce qu'il devrait être pour surmonter intelligemment la possibilité d'avoir certains jeux qui ont besoin d'un comportement juste et précis. Mon instinct me dit que si une telle fonction était implémentée dans un émulateur moderne, les développeurs voudraient tester minutieusement la fonction sur les centaines de jeux de la bibliothèque. Il est vrai que cette fonction pourrait être activée par jeu et sauvegardée dans les paramètres de l'utilisateur, mais je pense que ce n'est pas encore une priorité.
Je recommande de faire quelque chose comme cela une demande de fonctionnalité sur GitHub où tout émulateur principal est hébergé. Je suis sûr que les développeurs peuvent vous donner une réponse plus spécifique sur la raison pour laquelle cela est intentionnellement retardé, et les obstacles impliqués pour surmonter le problème dans l'émulateur. Cependant, le fait que cela soit mentionné comme une fonctionnalité qui peut être définie par jeu et qui est considérée comme "expérimentale" pourrait être quelque chose qu'ils essaieraient d'implémenter un jour.