PSPStates Experiment para PSP SLIM
-----------------------------------
Leed cuidadosamente este libro... quiero decir, este leeme antes de proceder y usar este plugin.
Nota: El autor no será responsable de cualquier tipo de daño a cualquier dispositivo o pérdida de datos (incluyendo datos de juego) que este software pueda causar. Esta es la realidad para todo mi software al ser libre, pero en este caso he querido dejarlo en constancia.
Es recomendable que hagas un backup de la NAND y de los datos importantes de tu MS antes de usar este plugin, para evitar las posibles pérdidas de datos.
Este programa nunca se ideó como parte del cfw de M33, sino que siempre se tuvo en mente como un plugin (para aclarar las cosas
)
Este software es todavía experimental, y puede que haya problemas en su funcionamiento o no trabaje en todos los casos.
Requisitos:
----------
- 4.01M33, versión 1 o 2, no importa.
- Una MS buena es recomendable. Las MS falsas son... falsas... y mierdosas, podrían causar que la carga y el guardado de los savestates, demasiado lento.
Instrucciones:
-------------
Copia el contenido de la carpeta seplugins en ms0:/seplugins , y activalo desde el recovery. (IMPORTANTE: El contenido incluye la carpeta vacía SAVESTATE, ya que el plugin no la creará)
Este plugin sólo funcionará en modo de juego, no lo intenteis en el vsh o bajo el pops.
MUY IMPORTANTE: Debido a razones técnicas, NO USES este plugin con UMD's metidos, y no lo uses obviamente con UMD's en el modo normal, ni incluso el modo de isofs es recomendado. Usa sólo con los drivers march33 (recomendado), el np9660, o bajo homebrew. Puedes tener de cualquier manera el plugin cargado en UMD's, mientras NO LO USES.
Proceso para crear un SaveState:
--------------------------------
- Para guardar un estado, presiona el botón HOME durante el juego, y una vez en la pantalla de HOME, presiona R más uno de los siguientes botones: ARRIBA, ABAJO, DERECHA, IZQUIERDA, CUADRADO, TRIÁNGULO, CRUZ, CÍRCULO, o START. Cada botón tiene un slot, de manera que puedes tener hasta 9 estados guardados. Por el momento, estos estados son de caracter global (son todos para juego, no uno en especial)
- En ese momento, la PSP entrará en modo sleep, y saldrá de él automáticamente.
- Tras eso, verás una pantalla negra por unos segundos (terminará, no te preocupes). Este tiempo puede variar dependiendo de los juegos, de la velocidad de la cpu; mientras este estado guardado se copia de la RAM de un sitio a otro.
- Cuando la pantalla vuelve a estar encendida, verás que el LED de la MS se enciende, esto es por la escritura de los archivos. Si tu MS es buena, este paso debería de ser rápido.
- Tras esto, el estado es guardado, y puede ser cargado durante el juego o en cualquier otra sesión de juego (Si la MS es la misma o con contenido similar, puedes cargar otros estados guardados de un mismo juego, por ejemplo)
El estado es guardado a uno de los siguientes archivos:
ms0:/seplugins/SAVESTATE/globalstate_u.bin -> Botón ARRIBA
ms0:/seplugins/SAVESTATE/globalstate_d.bin -> Botón ABAJO
ms0:/seplugins/SAVESTATE/globalstate_l.bin -> Botón IZQUIERDA
ms0:/seplugins/SAVESTATE/globalstate_r.bin -> Botón DERECHA
ms0:/seplugins/SAVESTATE/globalstate_q.bin -> CUADRADO
ms0:/seplugins/SAVESTATE/globalstate_t.bin -> TRIÁNGULO
ms0:/seplugins/SAVESTATE/globalstate_x.bin -> CRUZ
ms0:/seplugins/SAVESTATE/globalstate_c.bin -> CÍRCULO
ms0:/seplugins/SAVESTATE/globalstate_s.bin -> START
El tamaño del archivo varía según el juego, ya que es un dump de 36mb comprimido. Los tests han mostrado que el tamaño del archivo varía entre 10 y 20mb. El plugin no hará un check para que haya espacio libre en la MS, así que eso es cosa vuestra.
Proceso de carga de estados:
----------------------------
- Para cargar un estado, presiona el botón HOME durante el juego, y una vez en la pantalla de HOME, presiona L más uno de los botones anteriormente mencionados.
- En ese momento, el LED de la MS parpadeará, un proceso que habrá de ser rápido en buenas MS.
- Tras eso, la PSP entrará en modo sleep, tras lo que volverá al estado normal
- La pantalla se volverá negra por unos instantes (mucho más rápido que cuando se guardan)
- Y cuando la pantalla vuelva a encenderse y si todo ha ido bien, tu sistema deberia estar en el estado en el que guardaste.
Comentarios:
------------
- Este release es un plugin específico para 4.01M33. No funcionará en futuros cfw sin un update, a no ser que ese fw tenga muchas similitudes con 4.01
- Para agilizar el proceso, es recomendable que se ponga un overclocking a 333Mhz para juego en el VSHmenu o en el recovery.
- Puedes cargar estados de cualquier otra ISO o Homebrew, siempre que estén en la MS. No cambies el nombre de la ruta hacia las ISOS o los Homebrw tras que hayas guardado el estado, o no funcionará bien la carga (al menos hasta que tenga que cargar desde la MS). De cualquier manera, en algunos casos, en previsión de problemas de hardware, es más recomendado que sólo se haga desde juegos.
- Un estado cargado es cargado con todas sus consecuencias. Digamos por ejemplo que estás jugando un juego ISO con el driver march33 con el plugin X activado y el plugin Y desactivado. Luego, en otra sesión estás jugando otro juego distinto o el mismo, con el driver np9660 con el plugin X desactivado y el Y activado. Cuando cargues el estado, el juego que fue guardado seguirá estando con el driver de march33 y el plugin X activado y el plugin Y desactivado. Debido a que la carga incluso restaura el propio estado del plugin del pspstates, esto causa de igual manera ese problema de versiones comentado anteriormente.
- Este plugin NO es compatible con ningún homebrew o plugin que use la memoria extra de la SLIM. Puede ser habilitado mientra se usan éstos, pero NO DEBE SER USADO.
Interoperatibilidad.
------------------
- Interoperatibilidad entre distintas versiones de sony: Esto no será soportado, por razones técnicas. Digamos que estás en un futuro 4.10M33 y quieres cargar un estado guardado en 4.01 M33; aún con el plugin actualizado para 4.10, la carga causará posiblemente un crash.
- Interoperatibilidad entre distintas versiones internas de M33 (-1 -2 -3 ...): No debería haber ningún problema con esto. Tras a carga, el sistema será bajado de versión temporalmente en RAM, hasta que vuelvas al VSH.
- Interoperatibilidad con versiones futuras: Debido a que este software es aún experimental, versiones futuras pueden cambiar el formato del savestate. Incluso si no cambia, el problema de versiones que comentamos sigue existiendo, de manera que el plugin se mantendrá en la versión más antigua.
- Interoperatibilidad con otras PSP: No es una demasiado buena idea intercambiar savestates entre PSP's... ya que podrían causar una respuesta incorrecta en hardware, o pérdida de datos. Los tests se hicieron entre una TA-085 y una TA-085v2, y mientras la 085 guardó el estado, la v2 cargó el estado, pero con ciertos problemas con los controles (debido posiblemente al cambio entre las placas base, o por cualquier otra razón) De cualquier manera, si quereis testear, hacerlo por vuestra cuenta, pero teniendo en cuenta:
* Problemas de funcionalidad: El hardware habrá de ser lo más similar posible. ISOS y homebrews deberán tener la misma ruta. Mejor sería no tener otro plugin activado.
* Problemas de privacidad: Los savedatas pueden contener tanto en texto como comprimido ciertas claves wep o wpa. De igual manera, si el XMB no ha limpiado correctamente la RAM (refresco), existe la posibilidad de que incluso contenga nombres de archivo o datos binarios de lo que ha sido ejecutado en el XMB, datos que pueden ser recuperados con softwares de recuperación de PC's..
FAQ
----
P: ¿Por qué sólo SLIM?
R: En la actual versión, estoy usando la memoria extra de la slim. El proceso de escritura de archivo es pospuesto mientras termina la lectura del archivo antes del proceso de carga de hecho. Esto es porque hay una cierta falta de un buen driver de la MS que pueda ser usado cuando el kernel no está operativo. El único driver de MS que disponemos es el usado en el Despertar, y es extremadamente lento, de manera que no tiene sentido usarlo aquí. Hasta que el código DMA es estudiado, es imposible implementarlo en la fat.
P: Tras la carga de un savestate, el sonido ha dejado de funcionar.
R: Intenta cargar el estado que has salvado, para ver si eso lo soluciona. Esto sucede a veces en algunos juegos, pero no hay una razón 100% segura, aunque la identificada en los tests es la escritura del archivo. En la versión actual, el plugin hace un savestate real tras volver del modo sleep inducido, comprimiéndolo de la RAM a una temporal; y luego se ejecuta la vuelta del modo sleep, y cuando el sistema está estable, el archivo es escrito. Parrece que en algunos juegos o en algún codigo de Sony, hay cierto impedimento para que un archivo de ese tamaño sea escrito, posiblemente debido al tiempo que se requiere para eso. Si algún dia el código de DMA es estudiado más profundamente, este problema se debería de haber ido también.. con suerte
Licencia
--------
Este programa usa la librería FastLZ, que se encuentra bajo una licencia del MIT. Una copia de la licencia puede ser encontrada en el directorio fastlz_license.