[APLICACION] Iris Manager (v3.00)

Por cierto, leo que LoboGuara confirma que el ftp le vuelve a funcionar, en otro foro, asi que por lo menos ha merecido la pena el esfuerzo de añadir lo antiguo en la nueva librería :)

¿Que os ha parecido la nueva fuente añadida?. La verdad es que era la manera más sencilla de añadirla (y aún así tiene su trabajo) pues la otra forma, sería crear una especie de array de texturas y una tabla que indexara caracteres y los desechara según su uso (tendría que cubrir las necesidades durante un refresco de pantalla, al menos) y resulta complicado encontrar caracteres que se encorseten a un tamaño fijo, con lo que acaba siendo una jodienda, ciertamente...
Si, se pueden jugar. Algunos requerirán que montes BD Emu (con disco dentro, claro) y otros podrns instalar los bigfiles dentro, de forma temporal.

Sobre lo que comentas de Multiman es normal: no se deben usar a la vez. Iris detecta el payload pero no tiene acceso a el y encima, hay cosas que cambian (con las nuevas versiones podría ser peor, por que podemos no detectar el payload si lo ha suprimido y sin embargo, colisionar código). NUNCA y repito NUNCA se deben usar dos aplicaciones que modifiquen LV1/LV2 a menos que se esté seguro de que no hay ninguna incompatibilidad.


Sobre lo primero, ¿cual sería el directorio de los juegos en el USB? ¿Carpeta GAMES valdría? Es que como en el Iris, cuando pregunta por la ruta de los juegos, solo salen rutas del HDD, pensaa que en el USB no miraría.

Sobre lo segundo, la verdad es que no entiendo del tema, no sé lo que es un payload ni lo que hacen [+risas], pero está bien saber lo subrallado para el futuro. [oki]
Hola a tod@s!

No sé si os dais cuenta de lo que está haciendo este hombre. No sólo por la "matada" a currar que se ha pegado desde su regreso, que nada mas que por eso ya habría que ponerle un piso [carcajad] . Ahí están todos los fuentes y un entorno con el que trabajar disponible para todo aquel que sepa y quiera seguir el camino. Y no sólo eso, sino que no tiene reparo alguno en explicar paso a paso, a quien lo requiera, qué es lo que ha hecho, el cómo y el por qué. A fin de cuentas, ahí está el código fuente, podría limitarse a decir que él ya ha hecho bastante, que lo estudiéis, que aprendáis cómo funciona y que lo apliquéis, pero él escoge la vía didáctica sin ningún tipo de complejo, supongo que intentando sembrar la semilla que "nos dé de comer" en un futuro. [plas]

Que pena que no todo el mundo, bueno, no todos, eso es practicamente imposible, pero si una mayoría optara por seguir esta línea de compartir y explicar cómo hace las cosas el panorama sería muy diferente, y a buen seguro que habría bastantes mas personas interesadas que se habrían implicado en ésto.

Bueno, no quiero aburriros mas, a fin de cuentas estas estas palabras acabarán cayendo en saco roto, puesto que en realidad, a la gran mayoría no le aportan nada interesante, sólo eso, palabras..., así que termino con lo único que yo puedo aportar, un simple gracias :)

PS: Estwald, no sé si habrás tenido tiempo de echarle un ojo al código del payload que ha soltado el amigo Deank, y si es así, para una vez que comparte algo [+risas] , saber si aporta algo realmente interesante.

Un saludo!
Pichake escribió:Sobre lo primero, ¿cual sería el directorio de los juegos en el USB? ¿Carpeta GAMES valdría? Es que como en el Iris, cuando pregunta por la ruta de los juegos, solo salen rutas del HDD, pensaa que en el USB no miraría.

Para los juegos de PS3 es en la carpeta GAMEZ, para juegos de PSX es PSXGAMES.
Saludos
The_Observer escribió:PS: Estwald, no sé si habrás tenido tiempo de echarle un ojo al código del payload que ha soltado el amigo Deank, y si es así, para una vez que comparte algo [+risas] , saber si aporta algo realmente interesante.

Un saludo!


Pues no ¿está disponible por algún sitio?. Por que yo solo he oído hablar de el, pero fuente no he visto ninguno.

También decía DeanK que iba a hacer público el código de Multiman y no se por que me da que lo del nuevo payload ha surgido como excusa para decir "ya no tengo que liberar nada porque uso lo mío" (si ya lo tenemos fichado, que se dice XD).

Para el que tenga curiosidad, tampoco es que sea tan complicado hacer lo que dice el de reducir espacio: yo podría eliminar la syscall 36 o utilizarla de manera diferente y espérate que no lo haga, por que voy necesitando hacer otras cosas en el payload y sería razonable.

Desde que existen los montajes en syscall 8 la razón para mantener la 36 no es mas que un tema de compatibilidad hacia atrás. Y como ahora no parece haber nadie interesado en ello pues...

El payload es una caja de herramientas y en ese sentido, encuentro absurdo que desconecte de una syscall si se trabaja más fácil así y ahorrarse unos bytes en el payload y gastarlos en el loader para vender la moto.

Esto es como el payload de PSX: es largo, ¿y?. No necesito parchear los emuladores, me puedo permitir cosas como corregir los datos en ps1_netemu o ejecutar la ISO del disco de Cheats y luego el CD, etc. Y el espacio que ocupe, es espacio libre en el kernel...

Pero eso ya es cuestión de cada uno y como quiera trabajar.
Muchas gracias por la nueva versión Estwald, ahora mismo la estoy probando y funciona genial.
Para lo juegos con titulos en Japonés ahora se ven sin problemas.
Gracias nuevamente y éxito en lo que hagas ^^
Estwald escribió:
The_Observer escribió:PS: Estwald, no sé si habrás tenido tiempo de echarle un ojo al código del payload que ha soltado el amigo Deank, y si es así, para una vez que comparte algo [+risas] , saber si aporta algo realmente interesante.

Un saludo!


Pues no ¿está disponible por algún sitio?. Por que yo solo he oído hablar de el, pero fuente no he visto ninguno.

Solo lo menciona en un comentario en un hilo de psx-scene, de forma digamos "oficial" no ha sacado nada.

Aqui el comentario:
/* (c) 2013 multiMAN path-substitute routine by dean

Example for 4.30CFW LV2:

MM_FUNCTION    : 0x2D2418 (this is where the code of MM_FUNCTION is)
Function_Base    : 0x2C3CD4 (this is the intercepted function)
Code change at    : Function_Base + 0x24

---    mr    r29, r3        // 7C 7D 1B 78     <-- Here is the ONLY 4-byte code change we make to LV2 to call the new function
+++    bl    MM_FUNCTION    // 48 00 E7 21    <-- 0xE720 (+1 for blr) = (MM_FUNCTION - Function_Base - 0x24)

... and here is the MM_FUNCTION: */

#define MAP_TABLE    (0xE8)    // address of path-map table        (set to 0x80000000007FAE00)
//    NEW_PATH    (0xF0)    // address of the returned spoofed path (set to 0x80000000007FFBE0)

#define ABS2(target)    ((target) - .)
.org 0

    mr    %r29, %r3

    li    %r27, 1
    rldicr    %r27, %r27, 63, 0
    ori    %r27, %r27, (MAP_TABLE)@l

    ld    %r26, 0(%r27)

    cmpwi    %r26, 0
    beqlr

    ld    %r31, 8(%r27)

check_next:
    ld    %r5, 0(%r26)
    cmpwi    %r5, 0
    beq    return_1

    mr      %r3, %r29
    ld    %r4, 16(%r26)

//strncmp
    lbz    %r11, 0(%r4)
    lbz    %r9, 0(%r3)
    clrlwi    %r0, %r11, 24
    cmpw    cr7, %r9, %r11
    bne    cr7, cmp_end
    cmpwi    cr7, %r0, 0
    mtctr    %r5
    bne    cr7, skip_to_next
    b    ABS2(cmp_end)

cmp_loop:
    lbz    %r11, 0(%r4)
    lbz    %r9, 0(%r3)
    clrlwi    %r0, %r11, 24
    cmpw    cr7, %r9, %r11
    cmpwi    cr6, %r0, 0
    bne    cr7, cmp_end
    beq    cr6, cmp_end

skip_to_next:
    addi    %r3, %r3, 1
    addi    %r4, %r4, 1
    bdnz    cmp_loop
    b    ABS2(found_match)
//strncmp end

cmp_end:
    addi    %r26, %r26, 32
    b    ABS2(check_next)

found_match:
    ld    %r4, 24(%r26)
    mr    %r3, %r31

//strcpy
    lbz    %r0, 0(%r4)
    cmpwi    cr7, %r0, 0
    stb    %r0, 0(%r3)
    beq    cr7, go_on_1
    mr    %r9, %r3

next_char_1:
    lbzu    %r0, 1(%r4)
    cmpwi    cr7, %r0, 0
    stbu    %r0, 1(%r9)
    bne    cr7, next_char_1
//strcpy end

go_on_1:

    ld    %r5, 8(%r26)
    add    %r3, %r3, %r5

    mr    %r4, %r29
    ld    %r5, 0(%r26)
    add    %r4, %r4, %r5

//strcpy
    lbz    %r0, 0(%r4)
    cmpwi    cr7, %r0, 0
    stb    %r0, 0(%r3)
    beq    cr7, go_on_2
    mr    %r9, %r3

next_char_2:
    lbzu    %r0, 1(%r4)
    cmpwi    cr7, %r0, 0
    stbu    %r0, 1(%r9)
    bne    cr7, next_char_2
//strcpy end

go_on_2:

    mr    %r29, %r31

return_1:
    mr    %r3, %r29
    blr

That's it. Here are the offsets for other firmwares:

4.31CEX:
MM_FUNCTION    : 0x2D2428 (this is where the code of MM_FUNCTION is)
Function_Base    : 0x2C3CE0 (this is the intercepted function)

4.21CEX:
MM_FUNCTION    : 0x2D0C98
Function_Base    : 0x2C2558

4.21DEX:
MM_FUNCTION    : 0x2EB418
Function_Base    : 0x2D9718

3.55CEX:
MM_FUNCTION    : 0x2BE0D0
Function_Base    : 0x2B3274

3.55DEX:
MM_FUNCTION    : 0x2D5B20
Function_Base    : 0x2C8A94

MAP_TABLE:
The MAP_TABLE has the following structure (32 bytes per path-substitute-entry):

u64 org_path_len; (8 bytes - length of the path to be replaced)
u64 new_path_len; (8 bytes - length of the new path)
u64 org_path_adr; (8 bytes - LV2 address of the string with the path to be replaced)
u64 new_path_adr; (8 bytes - LV2 address of the new path)

The MAP_TABLE can be located anywhere and the pointers to the path strings can be anywhere.

Example of a MAP_TABLE:

peek(0x80000000000000E8): 0x80000000007FAE00 <-- Address of the MAP_TABLE
peek(0x80000000000000F0): 0x80000000007FFBE0 <-- Address of the replaced path

===

MAP_TABLE (for 5 path substitutions):

peek(0x80000000007FAE00): 0x0000000000000009 <-- org_path_len
peek(0x80000000007FAE08): 0x0000000000000016 <-- new_path_len
peek(0x80000000007FAE10): 0x80000000007FAEC0 <-- org_path_adr
peek(0x80000000007FAE18): 0x80000000007FAED0 <-- new_path_adr

peek(0x80000000007FAE20): 0x0000000000000012
peek(0x80000000007FAE28): 0x000000000000001F
peek(0x80000000007FAE30): 0x80000000007FAEE8
peek(0x80000000007FAE38): 0x80000000007FAF00

peek(0x80000000007FAE40): 0x0000000000000010
peek(0x80000000007FAE48): 0x0000000000000026
peek(0x80000000007FAE50): 0x80000000007FAF20
peek(0x80000000007FAE58): 0x80000000007FAF38

peek(0x80000000007FAE60): 0x000000000000000A
peek(0x80000000007FAE68): 0x0000000000000027
peek(0x80000000007FAE70): 0x80000000007FAF60
peek(0x80000000007FAE78): 0x80000000007FAF70

peek(0x80000000007FAE80): 0x0000000000000009
peek(0x80000000007FAE88): 0x0000000000000016
peek(0x80000000007FAE90): 0x80000000007FAF98
peek(0x80000000007FAE98): 0x80000000007FAFA8

MAP_PATHS:
peek(0x80000000007FAEC0): 0x2F6465765F626476 | /dev_bdv | <-- org_path (1)
peek(0x80000000007FAEC8): 0x6400000000000000 | d.......
peek(0x80000000007FAED0): 0x2F6465765F686464 | /dev_hdd | <-- new_path (1)
peek(0x80000000007FAED8): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAEE0): 0x506F505446530000 | PoPTFS..

peek(0x80000000007FAEE8): 0x2F6170705F686F6D | /app_hom | <-- org_path (2)
peek(0x80000000007FAEF0): 0x652F5053335F4741 | e/PS3_GA
peek(0x80000000007FAEF8): 0x4D45000000000000 | ME......
peek(0x80000000007FAF00): 0x2F6465765F686464 | /dev_hdd | <-- new_path (2)
peek(0x80000000007FAF08): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAF10): 0x506F505446532F50 | PoPTFS/P
peek(0x80000000007FAF18): 0x53335F47414D4500 | S3_GAME.

peek(0x80000000007FAF20): 0x2F6170705F686F6D | /app_hom
peek(0x80000000007FAF28): 0x652F555352444952 | e/USRDIR
peek(0x80000000007FAF30): 0x0000000000000000 | ........
peek(0x80000000007FAF38): 0x2F6465765F686464 | /dev_hdd
peek(0x80000000007FAF40): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAF48): 0x506F505446532F50 | PoPTFS/P
peek(0x80000000007FAF50): 0x53335F47414D452F | S3_GAME/
peek(0x80000000007FAF58): 0x5553524449520000 | USRDIR..

peek(0x80000000007FAF60): 0x2F6170705F686F6D | /app_hom
peek(0x80000000007FAF68): 0x652F000000000000 | e/......
peek(0x80000000007FAF70): 0x2F6465765F686464 | /dev_hdd
peek(0x80000000007FAF78): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAF80): 0x506F505446532F50 | PoPTFS/P
peek(0x80000000007FAF88): 0x53335F47414D452F | S3_GAME/
peek(0x80000000007FAF90): 0x5553524449522F00 | USRDIR/.

peek(0x80000000007FAF98): 0x2F6170705F686F6D | /app_hom
peek(0x80000000007FAFA0): 0x6500000000000000 | e.......
peek(0x80000000007FAFA8): 0x2F6465765F686464 | /dev_hdd
peek(0x80000000007FAFB0): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAFB8): 0x506F505446530000 | PoPTFS..

For the improved disc-less compatibility, here is the map-order (assuming /dev_hdd0/GAMES/POPTFS is the game backup):
/dev_bdvd        /dev_hdd0/GAMES/POPTFS
/app_home/PS3_GAME    /dev_hdd0/GAMES/POPTFS/PS3_GAME
/app_home/USRDIR    /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR
/app_home/        /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR/
/app_home        /dev_hdd0/GAMES/POPTFS

The cool 252 bytes MM_FUNCTION which makes it happen:
7C 7D 1B 78 3B 60 00 01 7B 7B F8 06 63 7B 00 E8
EB 5B 00 00 2C 1A 00 00 4D 82 00 20 EB FB 00 08
E8 BA 00 00 2C 05 00 00 41 82 00 CC 7F A3 EB 78
E8 9A 00 10 89 64 00 00 89 23 00 00 55 60 06 3E
7F 89 58 00 40 9E 00 40 2F 80 00 00 7C A9 03 A6
40 9E 00 24 48 00 00 30 89 64 00 00 89 23 00 00
55 60 06 3E 7F 89 58 00 2F 00 00 00 40 9E 00 18
41 9A 00 14 38 63 00 01 38 84 00 01 42 00 FF DC
48 00 00 0C 3B 5A 00 20 4B FF FF 98 E8 9A 00 18
7F E3 FB 78 88 04 00 00 2F 80 00 00 98 03 00 00
41 9E 00 18 7C 69 1B 78 8C 04 00 01 2F 80 00 00
9C 09 00 01 40 9E FF F4 E8 BA 00 08 7C 63 2A 14
7F A4 EB 78 E8 BA 00 00 7C 84 2A 14 88 04 00 00
2F 80 00 00 98 03 00 00 41 9E 00 18 7C 69 1B 78
8C 04 00 01 2F 80 00 00 9C 09 00 01 40 9E FF F4
7F FD FB 78 7F A3 EB 78 4E 80 00 20

Fuente:
http://psx-scene.com/forums/f6/article-multiman-v04-20-00-base-new-payload-officially-released-111160/index7.html#post1041239
Muchas gracias por esta actualización, Estwald. Todo funciona perfectamente =]

El FTP es más estable que nunca, acabo de transferir 200 GB de archivos entre ps3 y pc sin tener ningún problema.

(Como siempre, lo siento por ofender o idioma español con google translator)
esmjanus escribió:Solo lo menciona en un comentario en un hilo de psx-scene, de forma digamos "oficial" no ha sacado nada.

Aqui el comentario:
/* (c) 2013 multiMAN path-substitute routine by dean

Example for 4.30CFW LV2:

MM_FUNCTION    : 0x2D2418 (this is where the code of MM_FUNCTION is)
Function_Base    : 0x2C3CD4 (this is the intercepted function)
Code change at    : Function_Base + 0x24

---    mr    r29, r3        // 7C 7D 1B 78     <-- Here is the ONLY 4-byte code change we make to LV2 to call the new function
+++    bl    MM_FUNCTION    // 48 00 E7 21    <-- 0xE720 (+1 for blr) = (MM_FUNCTION - Function_Base - 0x24)

... and here is the MM_FUNCTION: */

#define MAP_TABLE    (0xE8)    // address of path-map table        (set to 0x80000000007FAE00)
//    NEW_PATH    (0xF0)    // address of the returned spoofed path (set to 0x80000000007FFBE0)

#define ABS2(target)    ((target) - .)
.org 0

    mr    %r29, %r3

    li    %r27, 1
    rldicr    %r27, %r27, 63, 0
    ori    %r27, %r27, (MAP_TABLE)@l

    ld    %r26, 0(%r27)

    cmpwi    %r26, 0
    beqlr

    ld    %r31, 8(%r27)

check_next:
    ld    %r5, 0(%r26)
    cmpwi    %r5, 0
    beq    return_1

    mr      %r3, %r29
    ld    %r4, 16(%r26)

//strncmp
    lbz    %r11, 0(%r4)
    lbz    %r9, 0(%r3)
    clrlwi    %r0, %r11, 24
    cmpw    cr7, %r9, %r11
    bne    cr7, cmp_end
    cmpwi    cr7, %r0, 0
    mtctr    %r5
    bne    cr7, skip_to_next
    b    ABS2(cmp_end)

cmp_loop:
    lbz    %r11, 0(%r4)
    lbz    %r9, 0(%r3)
    clrlwi    %r0, %r11, 24
    cmpw    cr7, %r9, %r11
    cmpwi    cr6, %r0, 0
    bne    cr7, cmp_end
    beq    cr6, cmp_end

skip_to_next:
    addi    %r3, %r3, 1
    addi    %r4, %r4, 1
    bdnz    cmp_loop
    b    ABS2(found_match)
//strncmp end

cmp_end:
    addi    %r26, %r26, 32
    b    ABS2(check_next)

found_match:
    ld    %r4, 24(%r26)
    mr    %r3, %r31

//strcpy
    lbz    %r0, 0(%r4)
    cmpwi    cr7, %r0, 0
    stb    %r0, 0(%r3)
    beq    cr7, go_on_1
    mr    %r9, %r3

next_char_1:
    lbzu    %r0, 1(%r4)
    cmpwi    cr7, %r0, 0
    stbu    %r0, 1(%r9)
    bne    cr7, next_char_1
//strcpy end

go_on_1:

    ld    %r5, 8(%r26)
    add    %r3, %r3, %r5

    mr    %r4, %r29
    ld    %r5, 0(%r26)
    add    %r4, %r4, %r5

//strcpy
    lbz    %r0, 0(%r4)
    cmpwi    cr7, %r0, 0
    stb    %r0, 0(%r3)
    beq    cr7, go_on_2
    mr    %r9, %r3

next_char_2:
    lbzu    %r0, 1(%r4)
    cmpwi    cr7, %r0, 0
    stbu    %r0, 1(%r9)
    bne    cr7, next_char_2
//strcpy end

go_on_2:

    mr    %r29, %r31

return_1:
    mr    %r3, %r29
    blr

That's it. Here are the offsets for other firmwares:

4.31CEX:
MM_FUNCTION    : 0x2D2428 (this is where the code of MM_FUNCTION is)
Function_Base    : 0x2C3CE0 (this is the intercepted function)

4.21CEX:
MM_FUNCTION    : 0x2D0C98
Function_Base    : 0x2C2558

4.21DEX:
MM_FUNCTION    : 0x2EB418
Function_Base    : 0x2D9718

3.55CEX:
MM_FUNCTION    : 0x2BE0D0
Function_Base    : 0x2B3274

3.55DEX:
MM_FUNCTION    : 0x2D5B20
Function_Base    : 0x2C8A94

MAP_TABLE:
The MAP_TABLE has the following structure (32 bytes per path-substitute-entry):

u64 org_path_len; (8 bytes - length of the path to be replaced)
u64 new_path_len; (8 bytes - length of the new path)
u64 org_path_adr; (8 bytes - LV2 address of the string with the path to be replaced)
u64 new_path_adr; (8 bytes - LV2 address of the new path)

The MAP_TABLE can be located anywhere and the pointers to the path strings can be anywhere.

Example of a MAP_TABLE:

peek(0x80000000000000E8): 0x80000000007FAE00 <-- Address of the MAP_TABLE
peek(0x80000000000000F0): 0x80000000007FFBE0 <-- Address of the replaced path

===

MAP_TABLE (for 5 path substitutions):

peek(0x80000000007FAE00): 0x0000000000000009 <-- org_path_len
peek(0x80000000007FAE08): 0x0000000000000016 <-- new_path_len
peek(0x80000000007FAE10): 0x80000000007FAEC0 <-- org_path_adr
peek(0x80000000007FAE18): 0x80000000007FAED0 <-- new_path_adr

peek(0x80000000007FAE20): 0x0000000000000012
peek(0x80000000007FAE28): 0x000000000000001F
peek(0x80000000007FAE30): 0x80000000007FAEE8
peek(0x80000000007FAE38): 0x80000000007FAF00

peek(0x80000000007FAE40): 0x0000000000000010
peek(0x80000000007FAE48): 0x0000000000000026
peek(0x80000000007FAE50): 0x80000000007FAF20
peek(0x80000000007FAE58): 0x80000000007FAF38

peek(0x80000000007FAE60): 0x000000000000000A
peek(0x80000000007FAE68): 0x0000000000000027
peek(0x80000000007FAE70): 0x80000000007FAF60
peek(0x80000000007FAE78): 0x80000000007FAF70

peek(0x80000000007FAE80): 0x0000000000000009
peek(0x80000000007FAE88): 0x0000000000000016
peek(0x80000000007FAE90): 0x80000000007FAF98
peek(0x80000000007FAE98): 0x80000000007FAFA8

MAP_PATHS:
peek(0x80000000007FAEC0): 0x2F6465765F626476 | /dev_bdv | <-- org_path (1)
peek(0x80000000007FAEC8): 0x6400000000000000 | d.......
peek(0x80000000007FAED0): 0x2F6465765F686464 | /dev_hdd | <-- new_path (1)
peek(0x80000000007FAED8): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAEE0): 0x506F505446530000 | PoPTFS..

peek(0x80000000007FAEE8): 0x2F6170705F686F6D | /app_hom | <-- org_path (2)
peek(0x80000000007FAEF0): 0x652F5053335F4741 | e/PS3_GA
peek(0x80000000007FAEF8): 0x4D45000000000000 | ME......
peek(0x80000000007FAF00): 0x2F6465765F686464 | /dev_hdd | <-- new_path (2)
peek(0x80000000007FAF08): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAF10): 0x506F505446532F50 | PoPTFS/P
peek(0x80000000007FAF18): 0x53335F47414D4500 | S3_GAME.

peek(0x80000000007FAF20): 0x2F6170705F686F6D | /app_hom
peek(0x80000000007FAF28): 0x652F555352444952 | e/USRDIR
peek(0x80000000007FAF30): 0x0000000000000000 | ........
peek(0x80000000007FAF38): 0x2F6465765F686464 | /dev_hdd
peek(0x80000000007FAF40): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAF48): 0x506F505446532F50 | PoPTFS/P
peek(0x80000000007FAF50): 0x53335F47414D452F | S3_GAME/
peek(0x80000000007FAF58): 0x5553524449520000 | USRDIR..

peek(0x80000000007FAF60): 0x2F6170705F686F6D | /app_hom
peek(0x80000000007FAF68): 0x652F000000000000 | e/......
peek(0x80000000007FAF70): 0x2F6465765F686464 | /dev_hdd
peek(0x80000000007FAF78): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAF80): 0x506F505446532F50 | PoPTFS/P
peek(0x80000000007FAF88): 0x53335F47414D452F | S3_GAME/
peek(0x80000000007FAF90): 0x5553524449522F00 | USRDIR/.

peek(0x80000000007FAF98): 0x2F6170705F686F6D | /app_hom
peek(0x80000000007FAFA0): 0x6500000000000000 | e.......
peek(0x80000000007FAFA8): 0x2F6465765F686464 | /dev_hdd
peek(0x80000000007FAFB0): 0x302F47414D45532F | 0/GAMES/
peek(0x80000000007FAFB8): 0x506F505446530000 | PoPTFS..

For the improved disc-less compatibility, here is the map-order (assuming /dev_hdd0/GAMES/POPTFS is the game backup):
/dev_bdvd        /dev_hdd0/GAMES/POPTFS
/app_home/PS3_GAME    /dev_hdd0/GAMES/POPTFS/PS3_GAME
/app_home/USRDIR    /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR
/app_home/        /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR/
/app_home        /dev_hdd0/GAMES/POPTFS

The cool 252 bytes MM_FUNCTION which makes it happen:
7C 7D 1B 78 3B 60 00 01 7B 7B F8 06 63 7B 00 E8
EB 5B 00 00 2C 1A 00 00 4D 82 00 20 EB FB 00 08
E8 BA 00 00 2C 05 00 00 41 82 00 CC 7F A3 EB 78
E8 9A 00 10 89 64 00 00 89 23 00 00 55 60 06 3E
7F 89 58 00 40 9E 00 40 2F 80 00 00 7C A9 03 A6
40 9E 00 24 48 00 00 30 89 64 00 00 89 23 00 00
55 60 06 3E 7F 89 58 00 2F 00 00 00 40 9E 00 18
41 9A 00 14 38 63 00 01 38 84 00 01 42 00 FF DC
48 00 00 0C 3B 5A 00 20 4B FF FF 98 E8 9A 00 18
7F E3 FB 78 88 04 00 00 2F 80 00 00 98 03 00 00
41 9E 00 18 7C 69 1B 78 8C 04 00 01 2F 80 00 00
9C 09 00 01 40 9E FF F4 E8 BA 00 08 7C 63 2A 14
7F A4 EB 78 E8 BA 00 00 7C 84 2A 14 88 04 00 00
2F 80 00 00 98 03 00 00 41 9E 00 18 7C 69 1B 78
8C 04 00 01 2F 80 00 00 9C 09 00 01 40 9E FF F4
7F FD FB 78 7F A3 EB 78 4E 80 00 20

Fuente:
http://psx-scene.com/forums/f6/article-multiman-v04-20-00-base-new-payload-officially-released-111160/index7.html#post1041239


Hombre, eso de que no ha sacado nada...

en realidad, me quito el sombrero ésta vez, por que ha pegado la rutina y ha dicho como funciona. En ese sentido, cada uno puede tener sus formas de explicar/sacar las cosas y lo único malo, es que yo podría no haberme enterado de nada, por que lo habrá colgado como un comentario perdido en un foro que no visito o que si visito, lo hago de vez en cuando para leer alguna noticia en portada, pero al no colgar el código fuente de Multiman de la manera que sea, lógicamente, dificulta el que otros desarrolladores lo vean.

Básicamente utiliza la idea que yo introduje en syscall 8 de crear una tabla en LV2. Tampoco creo que sea ningún secreto que si metes unos pokes y la rutina de redirección, el resto del payload lo puedes suprimir, mientras no lo uses, pero el payload es una herramienta para la aplicación, realmente (por ejemplo, yo llamo a las funciones de LV1 desde el payload, sin depender de que el que desarrolle el CFW meta rutinas que no debería meter el, por cierto y menos si va a interferir con nuestros métodos). Para hacer el copiado, etc, en lugar de usar rutinas de LV2, hace como yo en el payload PSX y se proporciona las suyas propias: de esa manera consigues que la rutina sea fácilmente portable (en concreto, en mi caso, la rutina de PSX vale para todos los firmwares directamente)

Lo que me interesa en particular, es poder detectar su payload o desactivarlo cuando estéis en Iris Manager. Me tengo que bajar el Multiman ese, por que aquí hay cosas que no aparecen, como que hace para activar los permisos... y desactivarlos (¿los desactiva?)

En el copiado de rutinas hacia LV2 hay que tener mucho cuidado con la caché: ya os digo que hace cosas raras y no es casualidad que los códigos peten al tratar de ejecutarlos hasta que metes un bucle por medio que copia las cosas repetidamente. De hecho, es algo que me molesta muchísimo y por lo que me estoy planteando revisar los payloads para poder añadir una rutina que haga flush de caché (como la que D_Skywalk conecta al principio, cuando instalamos el payload)

La otra cosa que me interesa es lo que hace para ganar en compatibilidad disc less. Cómo veis es muy sencillo, pues simplemente, asegura rutas particulares que por alguna razón necesitan un chequeo particular:

/app_home/PS3_GAME /dev_hdd0/GAMES/POPTFS/PS3_GAME
/app_home/USRDIR /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR
/app_home/ /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR/
/app_home /dev_hdd0/GAMES/POPTFS

Esta información si es interesante y además, fácil de llevar a cabo desde Iris Manager. Así que si funciona, gracias DeanK por compartirlo con nosotros ;).

En mi caso, voy a intentar mantener la compatibilidad hacia atrás en lo posible y mantendré los payloads, quizá con reformas y quizá algún CFW se pierda definitivamente (el de Waninkoko con payload residente, que si alguien está ahí, hace tiempo que debió cambiarse), pero 3.41, 3.55 kmeaw y el resto de los soportados, no los voy a descartar por mucho que ahora esté en 4.31. Si suprimo el uso de syscall 36, en 3.41 se mantendrá y la estructura del payload lo mismo. Me estoy planteando mover el desmontaje de seguridad de BDVD en BDEMU hacia HDD0 (payload +0x500) hacia la zona donde alojo el payload de PSX y así recuperar parte del del espacio perdido para el payload principal.

Porque la otra idea que me ronda la cabeza es recuperar la capacidad de deshabilitar todas las syscalls y mandar las nuevas que han metido a la mierda de forma definitiva o dar la posibilidad de recuperarlas en ciertos casos, para como dice DeanK "no romper la compatibilidad con otras aplicaciones". Pero las syscalls no deberían estar mostrando el chocho a los juegos, como diría mi cuñado
Estwald escribió:La otra cosa que me interesa es lo que hace para ganar en compatibilidad disc less. Cómo veis es muy sencillo, pues simplemente, asegura rutas particulares que por alguna razón necesitan un chequeo particular:

/app_home/PS3_GAME /dev_hdd0/GAMES/POPTFS/PS3_GAME
/app_home/USRDIR /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR
/app_home/ /dev_hdd0/GAMES/POPTFS/PS3_GAME/USRDIR/
/app_home /dev_hdd0/GAMES/POPTFS

Esta información si es interesante y además, fácil de llevar a cabo desde Iris Manager. Así que si funciona, gracias DeanK por compartirlo con nosotros ;).

En cuanto a lo del disc-less y conforme a lo que he leido en otros foros, es que algunos juegos que requieren (o requerian) disco e instalan datos, al iniciarlos sin disco, puede que no pidan instalar los datos y se salte esa parte, lo cual es bueno, ya que se ahorra espacio en el disco duro interno, y talvez el juego funcione bien, pero tambien puede haber errores, ya sea de sonido, graficos o de plano se quede bloqueado.
En algunos otros casos donde si pide que se instalen los datos, puede haber errores de instalacion o los marca como datos corruptos.
En estos casos lo que estan recomendando es que el juego se inicie con disco y una vez que los datos se hayan instalado, ya se puede jugar sin disco, aunque tambien (vaya avalancha de detalles [carcajad]) puede que algunos juegos pidan que se instalen los datos otra vez.
Lo que ha dicho deank al repecto, es que algunos juegos al usar este metodo de carga, se pueden comportar de manera extraña y que no se puede hacer nada al respecto, ademas recomienda que se debe decidir si empezar el juego con o sin disco y no mezclar ambos metodos hasta terminar el juego.
Esto no ocurre con todos los juegos que necesitan (o en este caso necesitaban) disco para funcionar, como en todo siempre hay excepciones, la mayoria funcionan bien, algunos persentan esos detalles y otros siguen sin funcionar sin disco.
esmjanus escribió:En cuanto a lo del disc-less y conforme a lo que he leido en otros foros, es que algunos juegos que requieren (o requerian) disco e instalan datos, al iniciarlos sin disco, puede que no pidan instalar los datos y se salte esa parte, lo cual es bueno, ya que se ahorra espacio en el disco duro interno, y talvez el juego funcione bien, pero tambien puede haber errores, ya sea de sonido, graficos o de plano se quede bloqueado.
En algunos otros casos donde si pide que se instalen los datos, puede haber errores de instalacion o los marca como datos corruptos.
En estos casos lo que estan recomendando es que el juego se inicie con disco y una vez que los datos se hayan instalado, ya se puede jugar sin disco, aunque tambien (vaya avalancha de detalles [carcajad]) puede que algunos juegos pidan que se instalen los datos otra vez.
Lo que ha dicho deank al repecto, es que algunos juegos al usar este metodo de carga, se pueden comportar de manera extraña y que no se puede hacer nada al respecto, ademas recomienda que se debe decidir si empezar el juego con o sin disco y no mezclar ambos metodos hasta terminar el juego.
Esto no ocurre con todos los juegos que necesitan (o en este caso necesitaban) disco para funcionar, como en todo siempre hay excepciones, la mayoria funcionan bien, algunos persentan esos detalles y otros siguen sin funcionar sin disco.


Aún así, el truco mola bastante: en su dia se me ocurrió la idea del /app_home que tanto juego nos ha dado ¿verdad? y ahora DeanK lo ha reforzado, haciendo que juegos que no iban, tiren de esa manera.

Aquí las posibilidades depende de como trate el juego app_home, pero de momento tengo varios que han echado a andar y ya solo por eso, merece la pena, pese a los problemas que pueda presentar.

En las rutas hay un error, por cierto, pues el montaje de /app_home/ no debería realizarse así, si no como /app_home y el último de /app_home (el que hacíamos normalmente), saltarlo, para evitar interferencias raras (en caso de opendir) o simplemente, un chequeo inútil. Los juegos comerciales están dentro de PS3_GAME luego en raíz no vamos a encontrar nada (aparte de PS3_GAME y al actualización del sistema), salvo...

PS3_DISC.SFB

Yo he incluido ese path. No se si servirá de algo o no, pero cuesta menos trabajo incluirlo de forma inútil que pasar de él y tener a lo mejor, problemas en las instalaciones o de otro tipo. En todo caso, es el único dato útil que tenemos en raíz...

En mi caso, se hace así (incluyo la syscall 36 antigua comentada)

//syscall36(directories[currentgamedir].path_name); // is bdvd game

sprintf(temp_buffer, "%s/PS3_DISC.SFB", directories[currentgamedir].path_name);
add_sys8_path_table("/app_home/PS3_DISC.SFB", temp_buffer);

sprintf(temp_buffer, "%s/PS3_GAME", directories[currentgamedir].path_name);
add_sys8_path_table("/app_home/PS3_GAME", temp_buffer);

sprintf(temp_buffer, "%s/PS3_GAME/USRDIR", directories[currentgamedir].path_name);
add_sys8_path_table("/app_home/USRDIR", temp_buffer);

sprintf(temp_buffer, "%s/PS3_GAME/USRDIR", directories[currentgamedir].path_name);
add_sys8_path_table("/app_home", temp_buffer);

add_sys8_bdvd(directories[currentgamedir].path_name, NULL);



La nueva función, add_sys8_bdvd() consiste en un montaje a la tabla especial, diferente al resto.

El primer parámetro es la ruta de reemplazo para /dev_bdvd y el segundo para /app_home (en este caso NULL por que no lo necesitamos: ya lo hemos hecho en las redirecciones de arriba)

Estas nuevas rutas adicionales se incluyen siempre en ultimo lugar, independientemente del orden de introducción y no son afectadas por reset_sys8_path_table().

Así pues, tenemos hasta 16 montajes "custom" y 2 estándar de los cuales, /app_home no se está utilizando (ya que los juegos que requieren BD Emu, no pueden tirar de /app_home y el resto de juegos, lo montan)

Tengo que modificar eso que pego para que si activamos el flag "requiere disco" no se haga ningún montaje de /app_home

Lo siguiente, será eliminar la syscall36 de todos los payloads (excepto en 3.41), dado que ya no la usamos para nada (ya no tiene sentido, haciendo el montaje de otra forma y sin que haya que reservarla para nadie) y ver que cosillas nuevas interesa meter [+risas]

Saludos

EDITO

Para que os hagáis una idea del tema de la syscall 36: la he eliminado y condensado el payload y a pesar de haber introducido una rutina nueva para el caso (que se da, por eso lo añadí al payload 3.41 en su momento) de que haya dobles barras al inicio del path, la cosa ha pasado de 1280 bytes a 688 bytes casi, la mitad.

Esto da espacio suficiente para que pueda implementar otras cosas XD
Ya que mencionas el PS3_DISC.SFB y parece que estas interesado en emular la estructura del disco copletamente (y aunque se que el PS3_DISC.SFB no contiene nada importante) voy a dejar aqui unas notas que no se si te ayudaran pero quiza te dan alguna idea, hace tiempo estuve experimentando con estructuras de discos hechas a mano y lo fui documentando en ps3devwiki

http://www.ps3devwiki.com/wiki/PS3_DISC.SFB
Basicamente contiene el TITLE_ID (se puede decir que es el archivo mas alto de la estructura del disco donde se puede leer el TITLE_ID), se que multiman no lee el TITLE_ID de aqui porque lo he visto con mis propios ojos (o no lo hacia hara 1 año cuando yo experimentaba con esto), no se si en realidad interesa leerlo de aqui no parece muy importante de donde se lea, pero siendo muy puristas creo que la PS3 lo lee de aqui
Tambien contiene unos "flags" que indican el contrenido del disco... los tipicos son "g" (obligatorio en todos los juegos) y el "u" (indica que el juego contiene un update de firmware) se podria parchear esa "u" desde aqui y eso bloquearia todos los updates que vienen en los juegos... los otros flags indican subestructuras de carpetas del disco, o contenidos extras

No se si iris monta todos estos contenidos extras o como los monta (multiman creo que busca todas las rutas predefinidas que corresponderian a estos archivos), en resumen... los diferentes tipos de discos los tienes aqui (los que he podido encontrar, aunque se que hay mas no documentados)
http://www.ps3devwiki.com/wiki/PARAM.SFO#CATEGORY (la lista debajo de la tabla)
Y aqui algunas notas de como funcionan algunos de esos discos especiales
http://www.ps3devwiki.com/wiki/PARAM.SFO#Creating_Discs

Algunos de estos discos usan mas "flags" en el ATTRIBUTE (dentro del PARAM.SFO)
http://www.ps3devwiki.com/wiki/PARAM.SFO#ATTRIBUTE
Esa combinacion entre los flags dentro del PS3_DISC.SFB + los flags dentro del PARAM.SFO ya complica mas las cosas, pero bueno... asi es como monta los diferentes contenidos del disco la PS3
Y no seria mejor... valga la aclaracion... que se haga un metodo comun que cargue la mayoria de juegos y luego se haga un listado de todos los juegos que hagan problemas raros.. ( Suele repetirse el error en varios juegos ) y hacer una rutina diferente identificando bien ya sea por el ID de los juegos o por alguna caracteristica que solo esos juegos puedan tener? no se... puede que solo suceda en los juegos de X desarrollador...

se que es jodido pero tambien es una posibilidad.
Bueno, he subido la 2.16 en fase de prueba.

Como comento en la cabecera, la syscall 36 se ha eliminado y los payloads han cambiado. Espero no haber metido la pata en algún sitio, pero si no te funciona (que podría pasar), me das un toque diciéndome con que CFW y haciendo qué y ya lo reviso yo XD

Como curiosidad, la desaparición de la syscall 36 ha redundado en un nuevo método que permite ajustar una ruta hacia /dev_bdvd y otra hacia /app_home. Ahora el proceso funciona así:

- Juegos lanzados normalmente: desde /dev_bdvd y /app_home

- Juegos que requieren disco, o con Bd Emu: /dev_bdvd solo

Desde el punto de vista de los fuentes, he reunificado todos los payloads y ahora se fabrican todos desde el mismo fuente y lo único que varía es el fichero .h con las direcciones de las funciones, etc

Saludos
gracias, la provaré con 3.55

- Juegos lanzados normalmente: desde /dev_bdvd y /app_home--------esto lo entiendo

- Juegos que requieren disco, o con Bd Emu: /dev_bdvd solo-----------pero aquí no se como vá

tengo en interno God of war 3, que sé que necesita disco en la bandeja, pero no sé como se puede lanzar sin él, pruebo opciones al tuntún y no doy con ninguna

saludos
Podria el Iris manager lanzarme el Mw3? sin lector, no tengo controladora, y si es asi como se debe de configurar? gracias
Estwald escribió:Bueno, he subido la 2.16 en fase de prueba.

Como comento en la cabecera, la syscall 36 se ha eliminado y los payloads han cambiado. Espero no haber metido la pata en algún sitio, pero si no te funciona (que podría pasar), me das un toque diciéndome con que CFW y haciendo qué y ya lo reviso yo XD

Como curiosidad, la desaparición de la syscall 36 ha redundado en un nuevo método que permite ajustar una ruta hacia /dev_bdvd y otra hacia /app_home. Ahora el proceso funciona así:

- Juegos lanzados normalmente: desde /dev_bdvd y /app_home

- Juegos que requieren disco, o con Bd Emu: /dev_bdvd solo

Desde el punto de vista de los fuentes, he reunificado todos los payloads y ahora se fabrican todos desde el mismo fuente y lo único que varía es el fichero .h con las direcciones de las funciones, etc

Saludos


Thanks very much for your hard work

Iris Manager is great because it does what everyone wants and the size is very small

Anyways I tried v2.16 beta on cfw rebug 4.21.2

I get black screen had to do a hard reset
faith genesis raven escribió:Thanks very much for your hard work

Iris Manager is great because it does what everyone wants and the size is very small

Anyways I tried v2.16 beta on cfw rebug 4.21.2

I get black screen had to do a hard reset


Ok. I have revised the code and for one strange reason the umount offset patch (now it is done always when you launch, Iris Manager), is displaced 8 bytes :O

Incorrect:

#define UMOUNT_SYSCALL_OFFSET (0x1B46C8 +0x8) // SYSCALL (838)

Correct:

#define UMOUNT_SYSCALL_OFFSET (0x1B46C8) // SYSCALL (838)

By other way, the mount table is badly working: the real size for entry is 0x110 and not 0x118

I am sure it have the same problem with 3.55dex and 4.21dex, but i don´t have a lv2 dump to compare it (the support for it is from Rancid-o)

--------------------------------------------------------

Por otro lado, ayer se me ocurrió hacer unas pruebas que mejoraron la compatibilidad disc-less. Miralatijera, me pasó hace poco una beta de lo que está trabajando en este sentido y ayer, después de reinstalar su CFW (precisamente para eliminar lo que añadió esa beta), me dió por hacer un pequeño experimento: enlazar los módulos mediante la syscallo 8 en lugar de meterlos en la flash.

Solo me hizo falta conectar uno y hacer el apaño del montaje falso de hdd1, aparte del modo "Sin Controladora" para conseguirlo.

Mirando las tripas del módulo en cuestión, lo único que contiene es un renombrado de rutas, por lo que ya tengo utilidad para generarlo, al estilo de libfs ;)

Entre esto, la libfs parcheada y el truco de las rutas /app_home, quizá, la verdad es que he conseguido lanzar los juegos que tengo que requerían disco, sin el, incluso con la unidad BDVD desconectada, utilizando varios modos. Vamos, que la compatibilidad es más alta, sobre todo por que los que tenemos controladora, podemos combinar métodos.

El problema está en los juegos desde disco externo: el montaje desde USB no me funcionó, lo que es unproblema, pero algunos les vale que monte HDD0 para poder ser lanzados sin problema.

En este sentido, creo que no estoy haciendo bien la suplantación de unidades y a lo mejor es por eso: es algo que tengo que mirar detenidamente, por que creo que está detrás de cierta inestabilidad que observo y además, viendo el problema que reporto en inglés, quizá habría que usar una forma más automatizada.

Por cierto, si alguien me quiere hacer el favor, necesitaría estos dumps:

355 dex lv1 y lv2
421 dex lv1 y lv2

Ya bastante complicado es ajustar algo a un CFW que no puedo usar, como para tener que hacerlo a ciegas: aviso que si el uso de las tablas de montaje en 4.21 no es correcto, dudo mucho que el de 3.55dex y el de 4.21dex lo sean.

Yo estoy en 4.31 y por bajar desde 4.30 a 3.41, ya he jodido DOS veces los trofeos, partidas guardadas (eso no me importa tanto) y es algo que no voy a hacer más, por lo que necesito vuestra colaboración si se producen problemas, cómo es lógico
Hola, en otro foro un usuario dice que Iris v2.16 no está funcionando en 3.55 Kmeaw, que cuando lanza Iris le da pantalla negra. La v2.15 le funciona perfecto. Ya le daras un vistazo al payload en 3.55.

Saludos.
Probado en cfw miralatijera y logicamente va perfecto XD
ERMaCDR escribió:Hola, en otro foro un usuario dice que Iris v2.16 no está funcionando en 3.55 Kmeaw, que cuando lanza Iris le da pantalla negra. La v2.15 le funciona perfecto. Ya le daras un vistazo al payload en 3.55.

Saludos.



Si, ya se donde está el problema... concretamente, en la función que gestiona los permisos.

Es lo malo de haber unificado todo en uno: que la puedes cagar, sin darte cuenta [+risas]

En concreto, cambia un offset:

Original:

ld %r9, -0x7B48(%rtoc)
mflr %r0
b ABS(perm_patch_func + 8)

Cagada:

ld %r9, -0x7FF8(%rtoc)
mflr %r0
b ABS(perm_patch_func + 8)

Lo bueno de estas cosas, es que sirve para descubrir errores potenciales y facilitar los ports, puesto que ahora ese offset irá al include y cuando haya que portar algo, alguien mirará la etiqueta para ver con que se corresponde.

Es posible que el error de pantalla negra en 4.21 sea por lo mismo, aparte de los otros fallos.

Lo interesante del tema, es que puede que la 2.16 sea una versión con problemas, pero una vez resueltos estos, tendremos payload para rato y si se toca algo, ya no afectará tanto (esta vez, los cambios desde dentro han sido bastantes)
Thanks for your reply

Have a question about iris manager

i notice in the last few changelogs
i saw categories for games
how does that work?
hola Estwald bajo a 3.55 dex y te dumpeo lv2 , luego subo a 4.21 y mas de lo mismo en unos minutos los tienes

EDITO: hay los llevas , el de 3.55 esta como oculto ya que al dumpearlo con pre3 los guarda así

https://mega.co.nz/#!xUs32QyI!aS9ruwEp5 ... Cq93X0Mzzk

saludos
ederedereder escribió:Probado en cfw miralatijera y logicamente va perfecto XD

A mi no me detecta los juegos del usb en ese firm, había que hacer algo?
offtopic on

creo que alguien pidió tener el entorno de compilación para mac. Sólo par mountain lion el que quiera algo por abajo que se lo curre

bueno ahi va con algunos extras

http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html

offtopic off
2.16 Iris Manager probado en 4.31, todo OK.

Parece increíble que Estwald "resucitase" y portase el I.M. de 3.55 porque un usuario lo sugiriese en un hilo, si no hubiese sido por ese user, nada de esto habría pasado, así que, bienvenido sea ;).

Pd: Estwald, te gustaría meter algo de diseño más "elegante" o más curtido al manager? Controlo el photoshop bastante bien, no como para hacer milagros, pero sí puedo mirar alguna cosa chula ;)
Aqui tengo dumps de LV1 y LV2 de 3.55 DEX

http://www.sharechannels.com/lv12.tgz

Gracias a Ozkaa usuario de ps3hax por los dumps.
bigboss escribió:offtopic on

creo que alguien pidió tener el entorno de compilación para mac. Sólo par mountain lion el que quiera algo por abajo que se lo curre

bueno ahi va con algunos extras

http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html

offtopic off



Muchas gracias tío, los de mac en este tema estamos un poco de lado!!

Salu2
rau7 escribió:
bigboss escribió:offtopic on

creo que alguien pidió tener el entorno de compilación para mac. Sólo par mountain lion el que quiera algo por abajo que se lo curre

bueno ahi va con algunos extras

http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html

offtopic off



Muchas gracias tío, los de mac en este tema estamos un poco de lado!!

Salu2


A ver, programar no sabre, pero por el amor de dios, si teneis un mac, haceis una particion pequeñita, e instalais un w7, aunque sea para cosas como esta. Un amigo mio se compro un mac, y usa mas el w7 que el lion XD
Kuza escribió:
rau7 escribió:
bigboss escribió:offtopic on

creo que alguien pidió tener el entorno de compilación para mac. Sólo par mountain lion el que quiera algo por abajo que se lo curre

bueno ahi va con algunos extras

http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html

offtopic off



Muchas gracias tío, los de mac en este tema estamos un poco de lado!!

Salu2


A ver, programar no sabre, pero por el amor de dios, si teneis un mac, haceis una particion pequeñita, e instalais un w7, aunque sea para cosas como esta. Un amigo mio se compro un mac, y usa mas el w7 que el lion XD


Y desperdiciar espacio con Windows xD creo que el ultimo que toqué fue el 98, ni loco. Tu amigo no sabe usar un Mac, montar un Windows para compilar... Dios perdonalo porque no sabe lo que hace jajaj
bigboss escribió:offtopic on

creo que alguien pidió tener el entorno de compilación para mac. Sólo par mountain lion el que quiera algo por abajo que se lo curre

bueno ahi va con algunos extras

http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html

offtopic off


Fui yo, se agradece ^^.

Cuando vuelva del curro te comento.

Saludos.
Kuza escribió:
rau7 escribió:
bigboss escribió:offtopic on

creo que alguien pidió tener el entorno de compilación para mac. Sólo par mountain lion el que quiera algo por abajo que se lo curre

bueno ahi va con algunos extras

http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html

offtopic off



Muchas gracias tío, los de mac en este tema estamos un poco de lado!!

Salu2


A ver, programar no sabre, pero por el amor de dios, si teneis un mac, haceis una particion pequeñita, e instalais un w7, aunque sea para cosas como esta. Un amigo mio se compro un mac, y usa mas el w7 que el lion XD



No es por ofender, pero si tiene un mac y utiliza mas W7 que lion, para que se compro un mac?? Ademas no tengo un mac para instalarle un windows por poco GB que le de a la particion!!

De nuevo gracias bigboss
Estwald: I've sent you lv1/lv2 421dex dump ;)
Check pm
Una cosilla, recientemente he actualizado de una version antigua de iris a la mas actual y me he dado cuenta que la config individual para cada juego se ha perdido, hay alguna forma de recuperarla o tengo que ir configurando de nuevo cada juego?
puede ser mi consola 3.55 rogero, pero no funciona,
se queda en negro, he vuelto a 2.15 y si vá

al actualizar de 2.15 a2.16 me salen datos corruptos

edit: ahora reinstalando de 2.15 a 2.16 sale el mensaje de la syscall 8 ¿reiniciar? ...si
y otra vez pantalla negra

edit2: si le digo que no reinicie la consola, sale el XMB y vuelve a preguntar " Syscall 8 very old or not detected" bla..¿reiniciar?

saludos
Estwald escribió:Si, ya se donde está el problema... concretamente, en la función que gestiona los permisos.
Es lo malo de haber unificado todo en uno: que la puedes cagar, sin darte cuenta [+risas]
...
Lo bueno de estas cosas, es que sirve para descubrir errores potenciales y facilitar los ports.

Yo diria que lo bueno de estas cosas es SER HUMANO, puesto que tienes la posibilidad de remediar los pequeños errores. [+risas]
sonoro escribió:puede ser mi consola 3.55 rogero, pero no funciona,
se queda en negro, he vuelto a 2.15 y si vá

al actualizar de 2.15 a2.16 me salen datos corruptos

edit: ahora reinstalando de 2.15 a 2.16 sale el mensaje de la syscall 8 ¿reiniciar? ...si
y otra vez pantalla negra

saludos

Estwald está al tanto de ese fallo.
Bueno, ante todo, perdonad la tardanza, pero es que he estado demasiado ocupado.

Antes de nada: la versión 2.16 ya sabéis que es una prueba y que da problemas en casi todos los firmwares. La razón por la que no he eliminado la descarga, es... por que cometí el error de no conservar copia de la 2.15 [+risas] (si, un despiste tonto XD)

Bueno, antes de nada, comentar lo que estoy haciendo y por qué no suelo tener tiempo para "chuminadas" gráficas y por qué a veces tengo esos cabreos, sobre todo por que no tengo obligación a hacer absolutamente nada, pero hago más de lo que debería y encima, alguno viene con tonterías... y por esa razón duele doblemente.

Ayer bajé a 3.55, está vez, con menos problemas que las dos anteriores. La razón es muy simple: o bajaba a 3.55 o difícilmente puedo arreglar esos problemas. Y claro, yo solo tengo una consola, con barba blanca ya y no es que me guste tener que hacer este tipo de cosas, con lo cual, como haya algún problema, no solo me quedaré sin consola, sin posibilidad de tener otra, si no que encima me daré de tortas por someterla a cosas que no debería y ¿para qué?. Si yo no estaba mal en 4.31 y encima, no se agradece muchas veces el trabajo.

Lo que no esperaba encontrarme es que hay un problema con la autentificación de los discos que NADIE me ha reportado. Y mira que es extraño, por que si metes un BR en la bandeja dentro de Iris, el disco irá saliendo y entrando hasta el infinito [+risas].

Este tipo de cosas me molesta, por que que tenga que bajar yo y darme cuenta al minuto de un problema, que no es de la 2.16, y que la gente que está ahí ni siquiera mencione.. me hace sentirme más gilipollas todavía por bajar de firmware ¬_¬ .

En fin, la 3.55 ya va viento en popa: no solo he arreglado eso y los otros problemas que había, si no que también tiene el soporte para el nuevo modulo (tiene que ser el mismo módulo de la versión de firmware, por lo que veo, por que la de 4.31 petaba VSH.SELF), para arrancar juegos en modo "sin controladora" (monta HDD1 y sobre ello, HDD0 o los dispositivos USB, que ahora si funcionan ;) ).

El problema es que parece que con los juegos así, el tema de los trofeos no va: en realidad, algunos de los juegos presenta error de trofeos, como Homefrom, que sale al XMB, a no ser que pongas que no requiere disco (en este caso, significa que ponga las rutas a /app_home como hace DeanK) en cuyo caso el juego tira, pero seguramente, no existan los trofeos o de problemas mas adelante (de eso no tengo ni idea).

A mi el tema de los trofeos me parece una bobada la verdad: muchos te los dan por el simple hecho de respirar y los que no, es haciendo tontadas igualmente, asi que...

Volviendo al grano, ahora estoy en 4.21.2 REX Rebug que no abandonaré hasta que la deje plenamente funcionando. La 3.41 confio que irá con los cambios metidos desde la 3.55 y tanto en 3.55DEX, como 4.21DEX he visto problemas con el offset de la rutina umount, aparte de que las tablas de desmontaje son menores a lo que había.

Desde la 4.21 espero resolver los problemas de esa versión y puede que me salte la 4.30 puesto que tampoco es muy diferente a 4.31 y los problemas de uno resolverán los de otra, se supone.

Las versiones DEX las estoy tratando por encima, puesto que no puedo/no se/no tengo tiempo de acceder a ellas directamente. Si alguien me comenta por aquí como coño tengo que hacer para poder poder probar la 4.21 DEX y que consecuencias tiene eso, etc, a lo mejor me animo, pero es que no tengo tiempo para buscar y si algo me sobra, es carga de trabajo a todos los niveles.

Una cosa que estoy tratando en la nueva versión es la syscall 8 stealth. Esto hace que tanto desde Iris Manager como desde Homelaunc1 (o vuestras aplicaciones), podáis identificar fácilmente el payload, la posición de este en memoria y la base de conexión de la syscall 8, para que al entrar se pueda conectar la syscall 8 del programa y al salir, se conecte lo que hubiere en syscall 8. Con eso, se solucionarán los problemas de la gente que usa esa syscall (indebidamente en mi opinión) como peek LV1.

Particularmente no me gusta mucho tener syscalls que están en todo momento conectadas de cara a los juegos: de cara a nuestras aplicaciones es lógico y lo lógico es que haya un payload de referencia, en vez de que cada uno haga lo que le parezca bien, pero eso ya es cosa de la gente.

El tema es que estoy trabajando y progresando, pero queda mucho trabajo por hacer aún y quizá queden flecos pendientes en las versiones DEX o no, pero es mucho pedir que los resuelva uno solo y sin estar en esas versiones (y yo al menos, lo desconozco todo sobre ellas). Por cierto, gracias por los dumps, me están siendo de utilidad, ciertamente.

Saludos
los reportes que hago, son con caracter informativo de errores y en ningún caso pidiendo una solución, porque si quisiera que me funcionase estaria sienpre a la cola de situación (CFW) de Estwald, pero eso no serviría para nada (aunque al final no ha sido suficiente),

Lo que no esperaba encontrarme es que hay un problema con la autentificación de los discos que NADIE me ha reportado. Y mira que es extraño, por que si metes un BR en la bandeja dentro de Iris, el disco irá saliendo y entrando hasta el infinito [+risas].

pues es verdad, también es que es rebuscado, siempre tengo un disco en la bandeja y no lo toco mucho, que fallo

iva a subir a 4.31 por el tema del TOMB RAIDER y los problemas del fix 3.55, pero voy a aguardar hasta las proximas versiones

saludos
sonoro escribió:l
pues es verdad, también es que es rebuscado, siempre tengo un disco en la bandeja y no lo toco mucho, que fallo


Lo curiosos de ese fallo, es que si no estuviera lo de la bandeja (que por cierto, he corregido para solo lo haga UNA vez y a la segunda, en vez de sacar disco, muestre un mensaje en pantalla), tu podrías copiar ese juego al HDD... y estarían los ejecutables sin descifrar [+risas]. Precisamente, eso se activa por hay un chequeo que mira los primeros bytes del EBOOT.BIN y si no pone "SCE" ya sabe que está chungo y que debe expulsar/introducir para que se corrija el problema... solo que no se corrige.

sonoro escribió:l
iva a subir a 4.31 por el tema del TOMB RAIDER y los problemas del fix 3.55, pero voy a aguardar hasta las proximas versiones

saludos


Ignoro que problemas tiene ese juego, pero si es un problema de que no se puede fixear, entonces lo lógico es subir, obviamente.

Tampoco es bueno que haya mucha dispersión en los firmwares por que ya vez que pasa cuando tenemos 50 (que se vuelve loco el que tiene que desarrollar algo con todas las variables que tiene que manejar)
Estwald escribió:Bueno, ante todo, perdonad la tardanza, pero es que he estado demasiado ocupado.

Antes de nada: la versión 2.16 ya sabéis que es una prueba y que da problemas en casi todos los firmwares. La razón por la que no he eliminado la descarga, es... por que cometí el error de no conservar copia de la 2.15 [+risas] (si, un despiste tonto XD)

Bueno, antes de nada, comentar lo que estoy haciendo y por qué no suelo tener tiempo para "chuminadas" gráficas y por qué a veces tengo esos cabreos, sobre todo por que no tengo obligación a hacer absolutamente nada, pero hago más de lo que debería y encima, alguno viene con tonterías... y por esa razón duele doblemente.

Ayer bajé a 3.55, está vez, con menos problemas que las dos anteriores. La razón es muy simple: o bajaba a 3.55 o difícilmente puedo arreglar esos problemas. Y claro, yo solo tengo una consola, con barba blanca ya y no es que me guste tener que hacer este tipo de cosas, con lo cual, como haya algún problema, no solo me quedaré sin consola, sin posibilidad de tener otra, si no que encima me daré de tortas por someterla a cosas que no debería y ¿para qué?. Si yo no estaba mal en 4.31 y encima, no se agradece muchas veces el trabajo.

Lo que no esperaba encontrarme es que hay un problema con la autentificación de los discos que NADIE me ha reportado. Y mira que es extraño, por que si metes un BR en la bandeja dentro de Iris, el disco irá saliendo y entrando hasta el infinito [+risas].

Este tipo de cosas me molesta, por que que tenga que bajar yo y darme cuenta al minuto de un problema, que no es de la 2.16, y que la gente que está ahí ni siquiera mencione.. me hace sentirme más gilipollas todavía por bajar de firmware ¬_¬ .

En fin, la 3.55 ya va viento en popa: no solo he arreglado eso y los otros problemas que había, si no que también tiene el soporte para el nuevo modulo (tiene que ser el mismo módulo de la versión de firmware, por lo que veo, por que la de 4.31 petaba VSH.SELF), para arrancar juegos en modo "sin controladora" (monta HDD1 y sobre ello, HDD0 o los dispositivos USB, que ahora si funcionan ;) ).

El problema es que parece que con los juegos así, el tema de los trofeos no va: en realidad, algunos de los juegos presenta error de trofeos, como Homefrom, que sale al XMB, a no ser que pongas que no requiere disco (en este caso, significa que ponga las rutas a /app_home como hace DeanK) en cuyo caso el juego tira, pero seguramente, no existan los trofeos o de problemas mas adelante (de eso no tengo ni idea).

A mi el tema de los trofeos me parece una bobada la verdad: muchos te los dan por el simple hecho de respirar y los que no, es haciendo tontadas igualmente, asi que...

Volviendo al grano, ahora estoy en 4.21.2 REX Rebug que no abandonaré hasta que la deje plenamente funcionando. La 3.41 confio que irá con los cambios metidos desde la 3.55 y tanto en 3.55DEX, como 4.21DEX he visto problemas con el offset de la rutina umount, aparte de que las tablas de desmontaje son menores a lo que había.

Desde la 4.21 espero resolver los problemas de esa versión y puede que me salte la 4.30 puesto que tampoco es muy diferente a 4.31 y los problemas de uno resolverán los de otra, se supone.

Las versiones DEX las estoy tratando por encima, puesto que no puedo/no se/no tengo tiempo de acceder a ellas directamente. Si alguien me comenta por aquí como coño tengo que hacer para poder poder probar la 4.21 DEX y que consecuencias tiene eso, etc, a lo mejor me animo, pero es que no tengo tiempo para buscar y si algo me sobra, es carga de trabajo a todos los niveles.

Una cosa que estoy tratando en la nueva versión es la syscall 8 stealth. Esto hace que tanto desde Iris Manager como desde Homelaunc1 (o vuestras aplicaciones), podáis identificar fácilmente el payload, la posición de este en memoria y la base de conexión de la syscall 8, para que al entrar se pueda conectar la syscall 8 del programa y al salir, se conecte lo que hubiere en syscall 8. Con eso, se solucionarán los problemas de la gente que usa esa syscall (indebidamente en mi opinión) como peek LV1.

Particularmente no me gusta mucho tener syscalls que están en todo momento conectadas de cara a los juegos: de cara a nuestras aplicaciones es lógico y lo lógico es que haya un payload de referencia, en vez de que cada uno haga lo que le parezca bien, pero eso ya es cosa de la gente.

El tema es que estoy trabajando y progresando, pero queda mucho trabajo por hacer aún y quizá queden flecos pendientes en las versiones DEX o no, pero es mucho pedir que los resuelva uno solo y sin estar en esas versiones (y yo al menos, lo desconozco todo sobre ellas). Por cierto, gracias por los dumps, me están siendo de utilidad, ciertamente.

Saludos


Yo te ago dex si quieres en unos minutos , solo necesito tu root_key y un dump de tu nand , echo con pre3 mismamente
Leo en otro hilo que Miralatijera ha dejado el tema de la scene por problemas personales: una lástima, la verdad (espero que resuelva sus problemas, independientemente de si vuelve a la scene o no, por supuesto) y aquí se puede ver cuan importante es contar con los códigos fuentes/información necesarios para los que quedamos en la brecha podamos tener un poco más fácil seguir.

Y no lo digo desde el punto desde un punto de vista egoísta: yo cuando me fui, pude dejaros todo mi legado. Incluso hubo quien se puso en contacto conmigo y recibió por mail los gits completos (después de eso los borré XD) de Tiny3D y la soundlib, a pesar de que ya había puesto todos los fuentes a vuestra disposición en uno de mis famosos RAR. Si luego la gente le diómejor o peor provecho, eso ya no estaba en mi mano, pero quien lo quiso lo tuvo.

En el caso de Miralatijera, deja inconcluso el trabajo que estaba haciendo en el tema de disc-less y dudo que yo pudiera seguirle (y menos sin medios técnicos XD), aunque en realidad, viendo el problema que suelen presentar los juegos disc-less en general (fallo de trofeos) quizá sea esa la pista a seguir.

Lo malo es que yo desconozco cosas necesarias para este tema. Por ejemplo, no conozco como exportan las funciones los .sprx por que en realidad, nunca lo he mirado. Desde el lado de los self, aunque he olvidado cosas, mas o menos está claro.

El tema es importante por que si conseguimos cortar ese error, cosa que se logra en parte con las rutas de /app_home en algunos juegos (Doom3, te avisa de que el sistema de trofeos está desactivado incluso de esa manera, pero va y habrá alguno que ahí se quede "pensando"), seguramente vayan muchos más juegos y quien sabe, lo mismo se puede arreglar el tema sin que tenga que tirar de syscalls raras.

Hay que tener en cuenta que los juegos pueden conectar con el sistema por dos vías: syscalls y funciones que importan desde los sprx, pero tiran principalmente de estás últimas funciones, por lo que si se les hace un apaño... (si averiguamos como y donde).

Esto lo dejo como un apunte, por si alguien lo quiere mirar. Yo por el momento, me centro en la 4.21 y sus problemas.

Saludos
Estwald, no sirve como pista a seguir la incorporación de los managers que compatibilida el 80% de los disc-less?

Y por otra parte, te centras en 4.21 o 4.31? Que no se si te ha "bailao" el dedo al escribir o qué xD.
MrMento escribió:Estwald, no sirve como pista a seguir la incorporación de los managers que compatibilida el 80% de los disc-less?

Y por otra parte, te centras en 4.21 o 4.31? Que no se si te ha "bailao" el dedo al escribir o qué xD.


Si sirve, de hecho, por eso lo digo, porque el problema que me aparece al lanzar los juegos desde /dev_bdvd sin disco, es que no puede instalar trofeos o que estos están desactivados en ciertos casos y si agrego las rutas de /app_home en el caso del Homefrom, "desaparece" el problema, pero en el Doom3 no es así:

/dev_bdvd -> con disco, trofeos

/dev_bdvd -> sin disco: problemas con trofeos

/dev_bdvd ->sin disco, pero con /app_home nuevo -> en uno desaparece el problema de los trofeos

/app_home nuevo -> van mas juegos, pero aquí mismo me comentan que da ciertos problemas...

/app_home se utiliza en el desarrollo del juego, luego tiene sentido que el programador incluya chequeos de esa ruta para esquivar código que corresponde a la versión retail. Y cuando se lanza desde /dev_bdvd, pero sin disco y suplantando /dev_bdvd te aparecen problemas con los trofeos, pero el juego va... No cuesta mucho atar cabos XD

Sobre lo de 4.21, estoy en 4.21 intentando resolver un problema con los montajes que me tiene loco [+risas] (ya que bajo a 3.55 que menos que pasar por la 4.21 Rebug y ver los problemas que se presenta ahí, antes de volver a 4.31 y arreglar lo que tenga que arreglar allí tambien)
Estwald escribió:
MrMento escribió:Estwald, no sirve como pista a seguir la incorporación de los managers que compatibilida el 80% de los disc-less?

Y por otra parte, te centras en 4.21 o 4.31? Que no se si te ha "bailao" el dedo al escribir o qué xD.


Si sirve, de hecho, por eso lo digo, porque el problema que me aparece al lanzar los juegos desde /dev_bdvd sin disco, es que no puede instalar trofeos o que estos están desactivados en ciertos casos y si agrego las rutas de /app_home en el caso del Homefrom, "desaparece" el problema, pero en el Doom3 no es así:

/dev_bdvd -> con disco, trofeos

/dev_bdvd -> sin disco: problemas con trofeos

/dev_bdvd ->sin disco, pero con /app_home nuevo -> en uno desaparece el problema de los trofeos

/app_home nuevo -> van mas juegos, pero aquí mismo me comentan que da ciertos problemas...

/app_home se utiliza en el desarrollo del juego, luego tiene sentido que el programador incluya chequeos de esa ruta para esquivar código que corresponde a la versión retail. Y cuando se lanza desde /dev_bdvd, pero sin disco y suplantando /dev_bdvd te aparecen problemas con los trofeos, pero el juego va... No cuesta mucho atar cabos XD

Sobre lo de 4.21, estoy en 4.21 intentando resolver un problema con los montajes que me tiene loco [+risas] (ya que bajo a 3.55 que menos que pasar por la 4.21 Rebug y ver los problemas que se presenta ahí, antes de volver a 4.31 y arreglar lo que tenga que arreglar allí tambien)


Genial entonces maestro ;).

Si necesitas ayuda con la 4.21 REX puedo echarte una mano, estuve una temporada larga en 4.21.2 REX trateándolo al completo, no me importa downgradear hasta allí para echarte una mano con lo que necesites de testeos ;)
me parece muy bien que compartais toda la info que vais consiguiendo de la compatibilidad, como no!
pero me da ha mi, que si lo estan poniendo un poco dificil para las cargas (por fin), cuando la "PS3-Police" actue...

yo no os conozco de na!! je,je

S2
Al parecer lo de Miralatijera fue solo un malentendido, acaba de pasarse por su hilo y ha aclarado el asunto, aun no ha resuelto sus problemas personales del todo, pero por el momento aun no ha abandonado el desarrollo del CFW.
Espero que pronto se resuelva su situacion.
Saludos
esmjanus escribió:Al parecer lo de Miralatijera fue solo un malentendido, acaba de pasarse por su hilo y ha aclarado el asunto, aun no ha resuelto sus problemas personales del todo, pero por el momento aun no ha abandonado el desarrollo del CFW.
Espero que pronto se resuelva su situacion.
Saludos


Pues me alegro que haya sido un malentendido por que cuando saque la nueva versión de Iris Manager, creo que lo tendrá más fácil para mirar el tema de disc-less, que ya esta mejorando lo suyo.

Me ha costado tres cojones y medio dar con la tecla correcta, con 800 reseteos y recuperaciones de una carpeta con un juego entero de por medio y tengo que downgradear para verificar que el sistema es correcto a todos los niveles, pero ya tengo la 4.21 completamente operativa ;)
Estwald escribió:
esmjanus escribió:Al parecer lo de Miralatijera fue solo un malentendido, acaba de pasarse por su hilo y ha aclarado el asunto, aun no ha resuelto sus problemas personales del todo, pero por el momento aun no ha abandonado el desarrollo del CFW.
Espero que pronto se resuelva su situacion.
Saludos


Pues me alegro que haya sido un malentendido por que cuando saque la nueva versión de Iris Manager, creo que lo tendrá más fácil para mirar el tema de disc-less, que ya esta mejorando lo suyo.

Me ha costado tres cojones y medio dar con la tecla correcta, con 800 reseteos y recuperaciones de una carpeta con un juego entero de por medio y tengo que downgradear para verificar que el sistema es correcto a todos los niveles, pero ya tengo la 4.21 completamente operativa ;)


Enhorabuena Hermes, igualmente, repito que, si necesitas ayuda con testear cosas, puedes contar conmigo ;).
Para el tema Dex, necesitaré que reportéis si hay algún problema, ya que yo no voy a meterme en ese tipo de jaleos.

Por otro lado, mirad que problema mas curioso:

firmware= 0x355C;

Pues bien en una función hago:
firmware < 0x421C

y me da que firmware es mayor [+risas]

Esto es lo que pasa con la mierda de las optimizaciones, con meter funciones inline y además, combinar ensamblador con C: se acaba haciendo la picha un lío el compilador.

Lo fuerte es que vale, "firmware" es una variable global y encima, se está leyendo desde una callback (estoy usando su valor para cambiar el método de autentificación en la callback de inserción de disco), pero coño, que lo pongo como variable local y pasa lo mismo [+risas].

Si no fuera por que no tengo ganas de perder el tiempo, miraría a ver que coño compila, pero en su lugar, he optado por separar los procedimientos en dos funciones y ahora si, se ha aislado el problema [+risas]
Estwald escribió:Para el tema Dex, necesitaré que reportéis si hay algún problema, ya que yo no voy a meterme en ese tipo de jaleos.

Por otro lado, mirad que problema mas curioso:

firmware= 0x355C;

Pues bien en una función hago:
firmware < 0x421C

y me da que firmware es mayor [+risas]

Esto es lo que pasa con la mierda de las optimizaciones, con meter funciones inline y además, combinar ensamblador con C: se acaba haciendo la picha un lío el compilador.

Lo fuerte es que vale, "firmware" es una variable global y encima, se está leyendo desde una callback (estoy usando su valor para cambiar el método de autentificación en la callback de inserción de disco), pero coño, que lo pongo como variable local y pasa lo mismo [+risas].

Si no fuera por que no tengo ganas de perder el tiempo, miraría a ver que coño compila, pero en su lugar, he optado por separar los procedimientos en dos funciones y ahora si, se ha aislado el problema [+risas]


Jajaj los compiladores los carga el diablo.

Pero no te creas, que el gcc con los parches de Sony necesita parchear el codigo que genera, una chapu de la guena llamada ppu-lv2-prx-fixup, sólo tengo publicado codigo funcional para la opcion --stub-fix-only (cambia nombre de section, fija los fnid y chuminadas varias ) del resto de opciones cuando tenga tiempo :P
5412 respuestas