Bueno, a ver, no inventemos.
Al principio cuando se miró esto, parecia que podria haber esperanzas de escribir en las flash, pero no se puede escribir ni siquiera en este modo updater ¿por que?
La psp tiene tres configuraciones, en las que en cada una se carga un set de modulos diferentes:
- "vsh" , en el que se cargan los modulos que indica el archivo flash0:/kd/pspbtcnf.txt
- "game", en el que se cargan los modulos que indica el archivo flash0:/kd/pspbtcnf_game.txt
- "updater", en el que se cargan los modulos que indica e larchivo flash0:/kd/pspbtcnf_updater.txt
A parte de eso, en cada programa hay un identificador en el archivo que identifica con que privilegios se ejecutará el programa
- Kernel, indicado por el flag 0x1000. Hay acceso a todo.
- Vsh, indicado por el flag 0x0800. No se puede acceder a la memoria del kernel, y no se pueden hacer otras cosas raras, pero se puede escribir en ambas flashes, ya que el modulo principal de un update de sony tiene este flag y escribe en la flash. En 2.00 tambien estabamos en un modulo con atributos VSH (modulo scePaf), por eso teniamos acceso a la flash.
- Si ninguno de esos dos flags esta puesto, se puede considerar que es un modulo de que se ejecuta en modo usuario, donde aun hay mas restricciones que en el modo vsh.
(luego tambien están los atributos de los threads que son identificados con otros flags diferentes, pero para que extenderme con eso)
Dado que el GTA que es el programa que se carga, no tiene atributos de vsh, poco importa que se ejecute con el sets de modulo de "updater", ya que seguirá sin acceso a la flash.
Otra cosa que parecía promtedora es que hay un modulo en el sets de modulo de "updater" que no se carga en el modo "game": es el modulo sceVshBridge, que contiene cosas muy interesantes. Desgraciadamente, todas las llamadas a funciones de ese modulo dan un error llamado SCE_KERNEL_ILLEGAL_PERM_CALL si son llamadas desde un modulo y un thread con atributos de usuario.
O sea, que al final nada de nada, habrá que esperar a otras cosas...