TimeMachine 0.1
---------------

TimeMachine es un programa que te permite cargar firmwares oficiales y custom firmwares previos 
(no oficiales) desde tu memory stick, usando Pandora. Es ms o menos como devhook, 
pero funciona mediante Pandora y usando custom IPLs (no oficiales); funcionando incluso si la flash y el
IPL de la Nand estn destruidos.
TimeMachine es til para usar software antiguo que no es soportado en el presente, y de igual
manera, una forma de cargar PSPs an teniendo el firmware interno destruido o no funcional. Por otro
lado, puede ser til para desarrolladores, para probar su homebrew en distintos firmwares.

Por ahora, TimeMachine puede instalar los siguientes firmwares:

- 1.50 Original (slo desde phat)
- 1.50 con algunos mdulos de hardware de 3.40 (tanto en phat como en slim)
- 3.40 OE (slo en phat)
- 3.60 M33 (slo en slim)

El resto de los cfw sern aadidos en el futuro.


Requerimientos de TimeMachine:

- TimeMachine, de por s, no necesita ningn firmware, slo una batera Pandora.
  La carga del firmware de la Nand en la psp slim requiere, sin embargo, 3.90M33-2 o superior.
- El instalador de la TimeMachine requiere 2.71SE o superior.


Instrucciones: Copia la carpeta llamada TIMEMACHINE a /PSP/GAME y ejectalo.

Todos los firmwares pueden ser instalados en cualquier PSP (slim o phat), pero slo pueden ser
usados en la PSP indicada en las opciones.


Explicacin de las opciones:

- Opcin 1: Instalar iplloader. Esto instalar el iplloader de la TimeMachine en la Memory Stick.
El iplloader es tan pequeo que no requiere la ejecucin de mspformat. (como al crear la Memory Stick de Pandora)

Este paso es necesario antes de hacer nada ms.
El iplloader de la TimeMachine es un multiipl loader que puede cargar diferentes IPL dependiendo
de la configuracion  en /TM/config.txt (este archivo ser creado automticamente
por el instalador de la TimeMachine)

Las configuracin de "fbrica" para cargar IPLs es presionando lo siguiente:

- 1.50: Cruz (X)
- 1.50+3.40hw: Crculo (O)
- 3.40 OE: Tringulo (/\)
- 3.60 M33: Cuadrado ([])
- IPL de Pandora o Despertar del Cementerio 1-4 (convertido al formato del TM): Arriba en el pad digital.
- Presionando cualquier otro botn, cargar el firmware instalado en la flash.
(Nota: Como se dijo anteriormente, en la slim, la opcin de arrancar el firmware de la nand
solo funcionar si el firmware de la nand es 3.90 M33-2 o superior.
Ni un anterior cfw ni cualquier fw original podr ser cargado desde la Nand cuando se ha arrancado
desde la batera de Pandora debido a una proteccin de Sony que ha de ser evitada en el propio cdigo del IPL de la nand)


Puedes modificar esta configuracin siguiendo las instrucciones del archivo config_readme.txt, que 
ser escrito en la carpeta /TM tras instalar el iplloader.


- Opcin 2: Convertir la IPL de Pandora al formato TimeMachine.

Ya que el IPL usado en Pandora y en DC1-4 (son todos el mismo) no es compatible
con el formato IPL de la TimeMachine, y el usuario puede querer cargar Pandora/DC1-4 con el iplloader
de la TimeMachine, esta opcin hace la conversin.

Requerimientos: El IPL de Pandora/DC1-4 en la raz de la Memory Stick, con nombre "msipl.bin".
Este archivo es creado por los instaladores de Pandora/DC1-4.

Tras la conversin, el IPL final ser localizado en /TM/pandora.bin


- Opcion 3: Instalar 1.50

Esto instalar 1.50, que slo puede ser cargado en la PSP phat, (para tener un 1.50 que se pueda cargar en
la Slim, ve a la siguiente seccin).

Requerimientos: EBOOT.PBP de 1.50 en la raz de la Memory Stick con el nombre "150.PBP"


- Opcion 4: Instalar 1.50 con mdulos de hardware de 3.40 (phat o slim)

Esto instalar una mezcla de los modulos de software de 1.50 con algunos mdulos de hardware de 3.40, por lo que
funcionar en Slim. Con este, funcionar la mayora del homebrew de 1.50.

Requerimientos: EBOOTs de 1.50 y 3.40 en la raz de la Memory Stick, renombrados a "150.PBP" y "340.PBP",
y el 360.PSAR en la raiz, de igual manera. (Si no sabes lo que el 360.PSAR es, lee ms adelante en la seccin
de instalacin de la 3.60 M33

De 1.50, extraer la mayora de los mdulos, normalmente los relacionados con el software.
De 3.40, extraer unos pocos, normalmente los relacionados con el hardware.
De 3.60, slo extraer la BIOS chip WLAN de la Slim.

Problemas conocidos o consideraciones del 1.50+3.40hw:

- Los archivos multimedia no funcionan bien en el XMB (msica, videos, etc)
  Si, este bug es conocido, pero de cualquier manera el propsito bsico de este fw es ejecutar homebrew,
  ya que para usar el XMB, mejor usar uno ms moderno.

- El bug del videocodec,  la reproduccion incorrecta de pmf's (slo pasa en la slim).
  Por alguna incompatibilidad en hardware, que no ha podido ser resuelta todava, los videos en pmf, 
  incluido el gameboot, se ejecutan de una forma bastante rara en la slim.

  Esto sucede tambin en los juegos de 1.50 que intentes ejecutar, los videos aparecern incorrectamente.

  Ya que los videos de PMPAVC usan de igual manera la API del videocodec, tambin se vern afectados.
  Los PMP normales(Xvid) (usados tambin en el pimpstreamer) sern ejecutados sin problema, ya que son decodificados
  por la CPU.

- Al salir con HOME aparecen "colores raros".
  Al salir usando la tecla HOME desde un homebrew o un juego, puede que veas colores al azar al final del framebuffer.
  Nada importante, incluso le da un toque estilista accidental :)

- Tu PC puede detectar la PSP Slim como un nuevo dispositivo.
  Esto es normal, la PSP Slim tiene una id de producto (pid) diferente, pero el driver USB de 1.50 slo usa
  el pid de la phat. Nada importante, el USB funcionar sin problema.

- Wlan. El Wlan parece funcionar sin problema, ha sido testeado usando las descargas del Network Update, y con el 
  pimpstreamer 201 para 1.50

  Sin embargo, hay un par de acciones recomendadas:
  
  * Desactiva el ahorro de energa Wlan.
  * Usa una configuracin manual de IP/DNS (de otra manera puedes tener problemas de DNS)
    Si no conoces la configuracin manual de tu router, haz una conexin automtica en un fw superior,
    y escribe los datos que aparecen al final de la configuracin, para usarlos de nuevo en la manual
    del 1.50+3.40hw.
  
 *  Como en el 1.50 oficial, no hay soporte para WPA.


- Opcion 5: Instalar 3.40 OE.

Esto instalar el 3.40 OE original, que slo podr ser cargado desde una PSP phat.

Requerimientos: EBOOTs de 1.50 y 3.40 en la raiz de la Memory Stick como "150.PBP" y "340.PBP"


- Opcion 6: Instalar 3.60 M33.

Esto instalar el 3.60 M33 original, que solo podr ser cargado desde una PSP Slim.

Requerimientos: 360.PSAR en la raz de la Memory Stick.

Ya que no hay ningn EBOOT de 3.60 disponible ya que la Slim vena directamente con ese fw de 
fbrica, el 360.PSAR es un archivo que habr de ser creado en una PSP que tenga 3.60 M33.

Para dumpear el 3.60, ejecuta el programa 360DUMPER que est en esta release, en una PSP con 3.60M33.

El 360.PSAR resultante es un archivo que usa el formato PSAR desencriptado (lo que sera un PSAR de SCE 
si le quitas la encriptacin), que fue usado ya en 3.51/3.52 M33, y tendr el siguiente tamao y md5: (checkeados
de cualquier manera por el instalador de la TimeMachine:

Tamao: 18189502 bytes.
MD5: EAA13343C70D9B0337C75B295474C69A



Diferencias entre usar un fw en la TimeMachine y un fw en la flash:

Habitualmente, la TimeMachine usara el firmware o cfw sin modificar,           
incluyendo sus bugs no criticos.                                               
                                                                               
Sin embargo, hay unas excepciones:                                             
                                                                               
- En 3.40 OE, existe un bug critico en cuanto al descriptor del archivo de     
  configuracion no cerrado, esta solucionado por el Core de la TimeMachine,      
  parcheando el Core del OE en RAM.                                                                                                                          
- El brillo en placas TA-086 esta solucionado para cualquier cosa que tenga    
  el kernel 1.50                                                               
                                                                               
- El cuarto nivel de brillo (no puedo vivir sin el) esta habilitado para       
  cualquier firmware, ya sea porque era soporte nativo (3.40 OE, 3.60 M33, o por    
  el codigo de la TimeMachine (1.50, 1.50+3.40hw)                                
                                                                               
- La firma de los prx's especifica para cada psp (signcheck) esta parcheada, 
  y el firmware es escrito sin esa proteccin, por lo que las meory sticks con la Time Machine
  pueden ser compartidas entre diferentes PSP.                              
                                                                               
- Memory Sticks de 8GB y superiores estan permitidas en cualquier firmware.      
                                                                               
- 1.50 y 1.50+3.40hw pueden cargar tambien PBPs sin kxploit.  

- El flash usb no funciona. Esto es normal, el flash usb usa el dispositivo de bloque "lflash",
  y en la timemachine este dispositivo es innecesario y tiene una implementacin "vacia".
  Simplemente usa el usb de la memory stick, ya que el firmware est ahi :)
          
                                                                               
                                                                               
                                                                               
Otras Consideraciones
                                                                               
- Habitualmente, el fw ejecutndose en la TimeMachine, necesitara de menos memoria       
  kernel que el habitual, ya que el modulo lfatfs es cambiado por el Core de la  
  TimeMachine, que debera estar usando menos memoria.                                
                                                                               
- Si ves en cualquier sitio (posiblemente en el navegador) un error 0x80010018, 
  es porque hay demasiados archivos abiertos en la Memory Stick    
  (ya que el driver de la MS es compartido con uno de la flash)                                                                                               
  La TimeMachine intenta, sin embargo, minimizar las posibilidades de tener este     
  error.  

- La Time Machine funciona ms rapido si instalas todos los firmwares que vayas a usar 
  despus de haber formateado la memory stick, y despues pones todo lo dems.

- Asegurate de distinguir entre un bug de la timemachine y uno de OE/M33.
  Por ejemplo, al ejecutar 3.60 M33, usas el modo no-umd March33 y al salir del juego
  se cuelga, ese era un bug de 3.60 M33, no de la timemachine.                                                      
                                                                                                                                                              
- Al cargar con una Bateria Pandora el fw residente en la Nand, recuerda que 
a menos que cambies la bateria por una normal, necesitaras de la misma Memory Stick para      
volver del sleep mode!      

Pequea FAQ:

- Que es cargado de la nand, y que de la memory stick?
Slo el idstorage se lee de la nand, todo lo dems, el ipl y los archivos de las flashes son
cargados de la memory stick. Ni una sola instruccin de Sony relacionada con los archivos y particiones
de la flash es ejecutada.

En el futuro, la carga del idstorage desde la memory stick es planeado como opcin, para hacer
el firmware de la memory stick 100% independiente del contenido de la nand.

- Por que no sacas un addon 1.50 para 3.90 M33 para la slim si 1.50 puede cargar ahora en la slim?
Actualmente, solo es posible ejecutar el 1.50+3.40hw en una maquina que acaba de ser arrancada por el usuario.
Ni siquiera una psp que sufre un cold-reset por software puede ejecutar el 1.50+3.40hw mientras estaba en 3.XX debido
a algunos problemas relacionados con el hardware de la slim.
Hay otros problemas de implementacin, pero ese es el mas crucial.