› Foros › PlayStation 3 › Scene
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.
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.
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 , saber si aporta algo realmente interesante.
Un saludo!
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 , 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.
/* (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
http://psx-scene.com/forums/f6/article-multiman-v04-20-00-base-new-payload-officially-released-111160/index7.html#post1041239
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
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 .
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 ) 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.
//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);
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
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
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
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.
ederedereder escribió:Probado en cfw miralatijera y logicamente va perfecto
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
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
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
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
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
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
...
Lo bueno de estas cosas, es que sirve para descubrir errores potenciales y facilitar los ports.
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
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 .
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
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
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 (si, un despiste tonto )
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 .
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
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.
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
Sobre lo de 4.21, estoy en 4.21 intentando resolver un problema con los montajes que me tiene loco (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)
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
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
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
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 .
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