Au premier regard ça pourrait se faire: il "suffirait" de geler le jeu, et d'enregistrer tous les états et toutes les mémoires dans un fichier. Chemin inverse pour reprendre la partie.
Le sieur en question m'indiqua que certaines Everdrive ont cette fonctionnalité.
Cependant: sur NeoCD, le jeu décide de lui même où charger les fichiers qu'il souhaite dans les 7Mo de cache.
Alors je ne vois que deux choix:
- Je dump et recharge absolument tout sans réfléchir. Sachant qu'écrire toute la RAM, la VRAM, les registres, et le cache entier (~8Mo) va demander aux joueurs beaucoup de patience (un peu dommage pour un mod qui est censé accélérer les chargements). Pareil dans l'autre sens, ça sera l'équivalent de charger un jeu entier.
- J'essaye de trouver un moyen de suivre la fragmentation du cache, pour savoir quels morceaux de quels fichiers utiliser pour le reconstituer. Il n'y aurait dans ce cas qu'à enregistrer une liste de noms de fichiers et quelques pointeurs / tailles de copies.
Qu'en pensez-vous ? Quelle voie devrais-je tenter ? La bête et lente, ou la casse-tête et rapide ?
Auriez-vous une autre idée ?