› Foros › PlayStation 3 › Scene
ERMaCDR escribió:Puede que sí o no, por alguna razón se refiere que no utiliza syscall que afecten o quiebren otras aplicaciones.Estwald escribió:Me parece estupendo que Deank comparta lo que saca, pero ¿aún no se ha enterado Deank de que tenemos la syscall emulada?. De hecho, el solo emula una ISO y en el caso de netemu, te pide datos adicionales que en mi caso, simulo al vuelo, pero en el suyo, como no haga un conversor ISO, le faltan datos.
Estwald escribió:ERMaCDR escribió:Puede que sí o no, por alguna razón se refiere que no utiliza syscall que afecten o quiebren otras aplicaciones.Estwald escribió:Me parece estupendo que Deank comparta lo que saca, pero ¿aún no se ha enterado Deank de que tenemos la syscall emulada?. De hecho, el solo emula una ISO y en el caso de netemu, te pide datos adicionales que en mi caso, simulo al vuelo, pero en el suyo, como no haga un conversor ISO, le faltan datos.
Bueno, por mi no hay ningún problema si el motivo por el que no usa la rutina de la syscall, es por que quiebra supuestas aplicaciones o las afecta
Es más, lo lógico es que si afecta algo, se me reporte y se me presenten datos que me sirvan para encontrar una solución y de hecho, se me ocurren una docena de soluciones a posibles problemas que puedo llegar a imaginar que pudieran ocurrir, pero los hechos concretos son, que a día de hoy, yo no tengo ni un dato que aporte información sobre que o quienes se ven afectados por esa syscall o por el alojamiento de la rutina (de hecho, tiene un chequeo y si no encuentra la zona donde se va a copiar a cero, se va a negar)
Pero repito, si hay algún problema, algo se podrá hacer, pero sería gracioso que los problemas nosedonde se pudieran evitar corriendo la rutina 1KB hacia abajo, que se puede hacer sin problemas, aparte de otras cosas y alguien se estuviera ahogando en un vaso de agua por no informarme o por no preguntar (esa syscalls tiene modos de operación: en uno es transparente y es como si no estuviera. En otro, con el lector en la mano (literalmente, por que lo tengo fuera de la consola ) arranco los PSX sin problemas, por que se lo salta todo
------
Por otro lado, estoy subiendo ya los compiladores y librerías, después de haber tenido un montón de problemas con el gestor git que estaba usando y los ficheros grandotes. Al final, Cygwin me vuelve a salvar la papeleta (toquemos madera, que despues del test, estoy subiendo ahora el fichero mas tocho, de unos 200MB a 20KB... para cagarse )
En cuanto lo tenga todo, daré el aviso, pero ojo, esto no va a ser un git normal y aqui no hay un fork para psl1ght, ni mis librerías irán por separado, ni estaré encantado de subir modificaciones que quiera hacer la peña: esto son unas herramientas de trabajo en la que el dicho "si algo funciona, no lo toques" tiene que prevalecer y lo digo a las claras: me importa un huevo si alguien se molesta con mi forma de llevar las cosas.
Si alguien quiere clonarlo, está en su derecho. Si alguien quiere tomar por ejemplo, los cambios que he introducido en Tiny3D, me parece bien, igual que me parece bien si quieren seguir con su propia versión portada de Tiny3D. Pero Estwald va a ir a lo suyo a partir de ahora y lo que quiere es subir sus herramientas de trabajo para facilitarle la vida en lo posible a la gente que quiere hacer aplicaciones (y no un mucho abarco y poco aprieto) y no está interesado en otras cosas, que bastante trabajo tengo ya.
De hecho, tal vez os guste más así: un entorno que compila y que si hay que añadir algo, será añadir, no restar, ni cambiar, ni tocar los cojones sin venir a cuento. Eso si, no he tocado los ejemplos de PSL1GHT, asi que seguro que alguno no compila y otros, faltan (ya arreglaré eso)
Iris Manager será subido aparte, como proyecto separado (en cuanto lo prepare, que tengo que añadir cosas todavía y hoy ha sido improductivo para ello), pero ojo, aviso igual que antes, que eso no significa que automáticamente acepte cambios y las ocurrencias de la gente. Y tampoco garantizo que cada cambio que haga se vaya a reportar, por que trabajaré siempre en directorio aparte y el git será para subir a "limpio" el programa.
El git será una fuente de publicación pero no necesariamente una fuente de trabajo en colaboración. Si veo que algo me interesa, se añadirá y si no, pues no se añade, cómo es lógico y normal. Pero lo fundamental es que sea un sitio seguro y como dice el refrán "mas vale solo, que mal acompañado" y si cuando antes como Hermes estaba interesado en colaborar y cierta gente pasaba de mi, pues si ahora como Estwald paso de ellos, es lo que hay. Pero lo que está claro, es que no voy a permitir el cachondeo de ahora con las librerías, compiladores y demases, ni voy a convertir a Iris Manager en un Multiman, que conste (si queréis un gestor de ficheros, etc, eso se puede hacer aparte: no tiene por que formar parte de la misma aplicación y de hecho, es contraproducente)
Saludos
Estwald escribió:Bueno, por mi no hay ningún problema si el motivo por el que no usa la rutina de la syscall, es por que quiebra supuestas aplicaciones o las afecta
Es más, lo lógico es que si afecta algo, se me reporte y se me presenten datos que me sirvan para encontrar una solución
Con esta actualización la saga de soporte a backups de PS1 debe quedar por concluida.
Estos son los dos parches importantes en ps1_netemu. Iris ya no utiliza emuladores parcheados pero proporciona syscall emuladas, pero prefiero mantenerlo así - es mucho más claro y sencillo:
ATAPI 0x4A GET EVENT/STATUS NOTIFICATION//case 8 = [fill sector buffer with 0xFF]
//case 7 = [0xBE READ CD]
//case 6 = [0x51 READ DISC INFORMATION]
//case 5 = [0x4A GET EVENT/STATUS NOTIFICATION]
//case 4 = [fill sector buffer with 0xFF]
//case 3 = [0x00 TEST UNIT READY]
//case 2 = [sys_storage_close()]
//case 1 = [sys_storage_open() ]
//4.30
//#define BASE (0x11C8F8) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
//#define RETURN (0x11CA10) //+118 // case 5 return
//#define RETURN_ERR (0x11CFC4) //+6CC // case 5 return
//4.20
//#define BASE (0x11C7E8) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
//#define RETURN (0x11C900) // case 5 return
//#define RETURN_ERR (0x11CEB4) // case 5 return
//3.55
//#define BASE (0x11B038) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
//#define RETURN (0x11B150) // case 5 return
//#define RETURN_ERR (0x11B704) // case 5 return
//3.41
#define BASE (0x11B2D8) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
#define RETURN (0x11B3F0) // case 5 return
#define RETURN_ERR (0x11B9A4) // case 5 return
#define SECTOR_SIZE (0xD0) // address in lv2 memory to store sector size
#define HANDLE (0xD8) // address in lv2 memory to store fd (open handle)
#define DISC (0xE0) // address in lv2 memory to store current disc number (0..7)
#define ABS(target) ((target) - (BASE) - .)
#define ABS2(target) ((target) - .)
#define MEM_BASE(dest) \
li dest, 1; \
rldicr dest, dest, 63, 0;
#define LOAD_LABEL(base, dest, source, address) \
oris dest, source, ((base) + (address))@h; \
ori dest, dest, ((base) + (address))@l;
#define LOAD_LABEL2(dest, source, address) \
LOAD_LABEL(BASE, dest, source, address)
#define PEEK(address) \
ori %r3, %r25, address; \
li %r11, 6; \
sc;
#define POKE(address) \
ori %r3, %r25, address; \
li %r11, 7; \
sc;
#define SLEEP(ms) \
li %r3, ms; \
li %r11, 0x8D; \
sc;
#define RED 0
#define GREEN 1
#define YELLOW 2
#define OFF 0
#define ON 1
#define BLINK 2
#define LED(color, mode) \
li %r3, color; \
li %r4, mode; \
li %r11, 386; \
sc;
// IN:
// %r26 -> address of local stack buffer
// %r27 -> reserved
// %r28 -> reserved
.org 0
MEM_BASE(%r25)
lis %r4, 0x0002
stw %r4, 0x78(%sp) // 00 02 00 00 = packet length
stw %r4, 0x7C(%sp) // 00 02 00 00 = disc in tray, tray closed
li %r3, 0
LOAD_LABEL2(%r3, %r3, disc_name)
ld %r4, 0(%r3)
std %r4, 0(%r26)
ld %r4, 8(%r3)
std %r4, 8(%r26)
mr %r3, %r26
addi %r4, %r26, 0x10
li %r11, 805 // opendir
sc
cmplwi %r3, 0
bne next_disc
lwz %r3, 0x10(%r26)
li %r11, 807 // closedir
sc
b ABS(RETURN)
next_disc:
PEEK(HANDLE)
cmplwi %r3, 0
beq file_closed
li %r11, 804 // close
sc
li %r4, 0 // invalidate handle
POKE(HANDLE)
PEEK(DISC)
addi %r4, %r3, 1
andi. %r4, %r4, 7
POKE(DISC)
file_closed:
lis %r4, 0x0001 // tray open
stw %r4, 0x7C(%sp) // 00 01 00 00 = no disc in tray, tray opened
SLEEP(1000)
b ABS(RETURN_ERR)
.align 2
disc_name:
.string "/psx_cdrom0"
ATAPI 0xBE READ CD//4.30
//#define BASE (0x11C310) // READCD+0x10 in ps1_netemu
//#define RETURN (0x11BFDC) // +334 // case 7 return
//4.20
//#define BASE (0x11C200) // READCD+0x10 in ps1_netemu
//#define RETURN (0x11BECC) // case 7 return
//3.55
//#define BASE (0x11AA50) // READCD+0x10 in ps1_netemu
//#define RETURN (0x11A71C) // case 7 return
//3.41
#define BASE (0x11ACF0) // READCD+0x10 in ps1_netemu
#define RETURN (0x11A9BC) // case 7 return
//case 8 = [fill sector buffer with 0xFF]
//case 7 = [0xBE READ CD]
//case 6 = [0x51 READ DISC INFORMATION]
//case 5 = [0x4A GET EVENT/STATUS NOTIFICATION]
//case 4 = [fill sector buffer with 0xFF]
//case 3 = [0x00 TEST UNIT READY]
//case 2 = [sys_storage_close()]
//case 1 = [sys_storage_open() ]
#define SECTOR_SIZE (0xD0) // address in lv2 memory to store sector size
#define HANDLE (0xD8) // address in lv2 memory to store fd (open handle)
#define DISC (0xE0) // address in lv2 memory to store current disc number (0..7)
#define ABS(target) ((target) - (BASE) - .)
#define ABS2(target) ((target) - .)
#define MEM_BASE(dest) \
li dest, 1; \
rldicr dest, dest, 63, 0;
#define LOAD_LABEL(base, dest, source, address) \
oris dest, source, ((base) + (address))@h; \
ori dest, dest, ((base) + (address))@l;
#define LOAD_LABEL2(dest, source, address) \
LOAD_LABEL(BASE, dest, source, address)
#define PEEK(address) \
ori %r3, %r25, address; \
li %r11, 6; \
sc;
#define POKE(address) \
ori %r3, %r25, address; \
li %r11, 7; \
sc;
// IN:
// %r24 -> address of local stack buffer
// %r29 -> address of readcd data buffer
// %r9 -> sector number
.org 0
MEM_BASE(%r25)
PEEK(SECTOR_SIZE)
mullw %r30, %r9, %r3
PEEK(HANDLE)
mr %r27, %r3
cmplwi %r3, 0
bne read_sector // handle is valid, file already opened
LOAD_LABEL2(%r3, %r3, iso_name)
ld %r4, 0(%r3)
PEEK(DISC)
sldi %r3, %r3, 8
add %r4, %r4, %r3
std %r4, 0(%r24)
mr %r3, %r24
li %r4, 0
addi %r5, %sp, 0xE0
li %r6, 511
li %r7, 0
li %r8, 0
li %r11, 801 // open
sc
cmpldi %r3, 0
bne abort
lwz %r4, 0xE0(%sp) // store file handle
POKE(HANDLE)
mr %r27, %r4
read_sector:
mr %r3, %r27
mr %r4, %r30
li %r5, 0
addi %r6, %sp, 0xE8
li %r11, 818 // seek
sc
cmpldi %r3, 0
bne close
mr %r3, %r27
mr %r4, %r29
li %r5, 0x940
addi %r6, %sp, 0xE8
li %r11, 802 // read
sc
cmpldi %r3, 0
beq return
close:
mr %r3, %r27
li %r11, 804 // close
sc
li %r4, 0 // invalidate handle
POKE(HANDLE)
abort:
lis %r3, 0x8001
ori %r3, %r3, 0x000A // (BUSY 0x8001000A)
extsw %r3, %r3
return:
mr %r25, %r3
b ABS(RETURN)
.align 2
iso_name:
.string "/psx_d0"
ERMaCDR escribió:En eso tienes razón, pero en este caso el solo se limita a decir que quiebra supuestas aplicaciones y no dice cuales podrían ser las afectadas. En su más reciente publicación dice lo siguiente:Con esta actualización la saga de soporte a backups de PS1 debe quedar por concluida.
Estos son los dos parches importantes en ps1_netemu. Iris ya no utiliza emuladores parcheados pero proporciona syscall emuladas, pero prefiero mantenerlo así - es mucho más claro y sencillo:
ATAPI 0x4A GET EVENT/STATUS NOTIFICATION//case 8 = [fill sector buffer with 0xFF]
//case 7 = [0xBE READ CD]
//case 6 = [0x51 READ DISC INFORMATION]
//case 5 = [0x4A GET EVENT/STATUS NOTIFICATION]
//case 4 = [fill sector buffer with 0xFF]
//case 3 = [0x00 TEST UNIT READY]
//case 2 = [sys_storage_close()]
//case 1 = [sys_storage_open() ]
//4.30
//#define BASE (0x11C8F8) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
//#define RETURN (0x11CA10) //+118 // case 5 return
//#define RETURN_ERR (0x11CFC4) //+6CC // case 5 return
//4.20
//#define BASE (0x11C7E8) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
//#define RETURN (0x11C900) // case 5 return
//#define RETURN_ERR (0x11CEB4) // case 5 return
//3.55
//#define BASE (0x11B038) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
//#define RETURN (0x11B150) // case 5 return
//#define RETURN_ERR (0x11B704) // case 5 return
//3.41
#define BASE (0x11B2D8) // GET EVENT/STATUS NOTIFICATION in ps1_netemu
#define RETURN (0x11B3F0) // case 5 return
#define RETURN_ERR (0x11B9A4) // case 5 return
#define SECTOR_SIZE (0xD0) // address in lv2 memory to store sector size
#define HANDLE (0xD8) // address in lv2 memory to store fd (open handle)
#define DISC (0xE0) // address in lv2 memory to store current disc number (0..7)
#define ABS(target) ((target) - (BASE) - .)
#define ABS2(target) ((target) - .)
#define MEM_BASE(dest) \
li dest, 1; \
rldicr dest, dest, 63, 0;
#define LOAD_LABEL(base, dest, source, address) \
oris dest, source, ((base) + (address))@h; \
ori dest, dest, ((base) + (address))@l;
#define LOAD_LABEL2(dest, source, address) \
LOAD_LABEL(BASE, dest, source, address)
#define PEEK(address) \
ori %r3, %r25, address; \
li %r11, 6; \
sc;
#define POKE(address) \
ori %r3, %r25, address; \
li %r11, 7; \
sc;
#define SLEEP(ms) \
li %r3, ms; \
li %r11, 0x8D; \
sc;
#define RED 0
#define GREEN 1
#define YELLOW 2
#define OFF 0
#define ON 1
#define BLINK 2
#define LED(color, mode) \
li %r3, color; \
li %r4, mode; \
li %r11, 386; \
sc;
// IN:
// %r26 -> address of local stack buffer
// %r27 -> reserved
// %r28 -> reserved
.org 0
MEM_BASE(%r25)
lis %r4, 0x0002
stw %r4, 0x78(%sp) // 00 02 00 00 = packet length
stw %r4, 0x7C(%sp) // 00 02 00 00 = disc in tray, tray closed
li %r3, 0
LOAD_LABEL2(%r3, %r3, disc_name)
ld %r4, 0(%r3)
std %r4, 0(%r26)
ld %r4, 8(%r3)
std %r4, 8(%r26)
mr %r3, %r26
addi %r4, %r26, 0x10
li %r11, 805 // opendir
sc
cmplwi %r3, 0
bne next_disc
lwz %r3, 0x10(%r26)
li %r11, 807 // closedir
sc
b ABS(RETURN)
next_disc:
PEEK(HANDLE)
cmplwi %r3, 0
beq file_closed
li %r11, 804 // close
sc
li %r4, 0 // invalidate handle
POKE(HANDLE)
PEEK(DISC)
addi %r4, %r3, 1
andi. %r4, %r4, 7
POKE(DISC)
file_closed:
lis %r4, 0x0001 // tray open
stw %r4, 0x7C(%sp) // 00 01 00 00 = no disc in tray, tray opened
SLEEP(1000)
b ABS(RETURN_ERR)
.align 2
disc_name:
.string "/psx_cdrom0"
ATAPI 0xBE READ CD//4.30
//#define BASE (0x11C310) // READCD+0x10 in ps1_netemu
//#define RETURN (0x11BFDC) // +334 // case 7 return
//4.20
//#define BASE (0x11C200) // READCD+0x10 in ps1_netemu
//#define RETURN (0x11BECC) // case 7 return
//3.55
//#define BASE (0x11AA50) // READCD+0x10 in ps1_netemu
//#define RETURN (0x11A71C) // case 7 return
//3.41
#define BASE (0x11ACF0) // READCD+0x10 in ps1_netemu
#define RETURN (0x11A9BC) // case 7 return
//case 8 = [fill sector buffer with 0xFF]
//case 7 = [0xBE READ CD]
//case 6 = [0x51 READ DISC INFORMATION]
//case 5 = [0x4A GET EVENT/STATUS NOTIFICATION]
//case 4 = [fill sector buffer with 0xFF]
//case 3 = [0x00 TEST UNIT READY]
//case 2 = [sys_storage_close()]
//case 1 = [sys_storage_open() ]
#define SECTOR_SIZE (0xD0) // address in lv2 memory to store sector size
#define HANDLE (0xD8) // address in lv2 memory to store fd (open handle)
#define DISC (0xE0) // address in lv2 memory to store current disc number (0..7)
#define ABS(target) ((target) - (BASE) - .)
#define ABS2(target) ((target) - .)
#define MEM_BASE(dest) \
li dest, 1; \
rldicr dest, dest, 63, 0;
#define LOAD_LABEL(base, dest, source, address) \
oris dest, source, ((base) + (address))@h; \
ori dest, dest, ((base) + (address))@l;
#define LOAD_LABEL2(dest, source, address) \
LOAD_LABEL(BASE, dest, source, address)
#define PEEK(address) \
ori %r3, %r25, address; \
li %r11, 6; \
sc;
#define POKE(address) \
ori %r3, %r25, address; \
li %r11, 7; \
sc;
// IN:
// %r24 -> address of local stack buffer
// %r29 -> address of readcd data buffer
// %r9 -> sector number
.org 0
MEM_BASE(%r25)
PEEK(SECTOR_SIZE)
mullw %r30, %r9, %r3
PEEK(HANDLE)
mr %r27, %r3
cmplwi %r3, 0
bne read_sector // handle is valid, file already opened
LOAD_LABEL2(%r3, %r3, iso_name)
ld %r4, 0(%r3)
PEEK(DISC)
sldi %r3, %r3, 8
add %r4, %r4, %r3
std %r4, 0(%r24)
mr %r3, %r24
li %r4, 0
addi %r5, %sp, 0xE0
li %r6, 511
li %r7, 0
li %r8, 0
li %r11, 801 // open
sc
cmpldi %r3, 0
bne abort
lwz %r4, 0xE0(%sp) // store file handle
POKE(HANDLE)
mr %r27, %r4
read_sector:
mr %r3, %r27
mr %r4, %r30
li %r5, 0
addi %r6, %sp, 0xE8
li %r11, 818 // seek
sc
cmpldi %r3, 0
bne close
mr %r3, %r27
mr %r4, %r29
li %r5, 0x940
addi %r6, %sp, 0xE8
li %r11, 802 // read
sc
cmpldi %r3, 0
beq return
close:
mr %r3, %r27
li %r11, 804 // close
sc
li %r4, 0 // invalidate handle
POKE(HANDLE)
abort:
lis %r3, 0x8001
ori %r3, %r3, 0x000A // (BUSY 0x8001000A)
extsw %r3, %r3
return:
mr %r25, %r3
b ABS(RETURN)
.align 2
iso_name:
.string "/psx_d0"
PLIS-PLAS escribió:Iris actualmente no sirve para copiar ni borrar ciertos asrchivos, pasa dsde hace algunas versiones.
Estwald ya aclaro que eso se solucionara al portar iris a la nueva libreria.
PLIS-PLAS escribió:Tambien aunque se han ganado algunos se ha perdido compatibilidad con algunos juegos, aunque el re6 anda bien, bajalo o copialo con MM, te aseguro que es el juego.
mm_355dex.c
payload_355dex.c
payload_421.c
payload_421dex.c
payload_430.c
payload_431.c
linking ... irismanager-4-x.elf
CEX self ... irismanager-4-x.self
Faxtron escribió:Instalada la version 2.0 en mi PS3 y trabaja bien hasta donde he podido probar. Me he dado a la tarea de copiar un juego de PSX por probar y eso de la consola con los datos no aparecio. Y "la doble barra de copiado" que hablan tampoco. No sale o no se ve ningun movimiento de archivos en consola como antes solo el tamaño del copiado total y el que anda copiando. No se a que se refiere con eso el compañero con lo de la barra doble. En general todo marchando bien. Gracias Estwald otra vez por tu trabajo que sin animo de lucro amablemente nos sigues trayendo. Si encuentro algo raro ya te dejare saber.
MiralaTijera escribió:mm_355dex.c
payload_355dex.c
payload_421.c
payload_421dex.c
payload_430.c
payload_431.c
linking ... irismanager-4-x.elf
CEX self ... irismanager-4-x.self
QUE GUSTAZO HOYGA!
...
mensaje para algún dev novato : Este hombre ( estwald ) os ha masticado el chicle a base de bien xDDD el pack de compiladores que adjunta es un all in one extract and compile , vamos que te podrías hacer un script .exe que en vez de dar pkg's des el entorno y que se autocompile en el equipo host xD
GUSMAY escribió:Muchas gracias, como siempre te sales... unas preguntillas hace tiempo lei por aqui que iris era incompatible con multiman ¿sigue siendo asi? osea ¿hay problemas por tener los dos instalados y utilizar cada uno para lo que se quiera?
Un saludo.
Estwald escribió:Nueva versión 2.01:
????
O tenemos un expediente X o no se de lo que estas hablando, pues dices que no ves ni la consola y eso, es muy raro ¿no será que estás usando el icono ese que me has comentado vía MP?. Creo que PLIS_PLAS comentó algo al respecto de que había problemas con el, en el otro hilo.
La razón por la que no lo incluyo, si me permites que te responda por aquí, es porque yo vine a ayudar a D_Skywalk y era él el que tenía que tomar ese tipo de decisiones. Creo que su idea era incluirlo por si alguien estaba interesado, pero seguir con el de siempre.
Ahora que yo tomo el relevo, opino lo mismo: por poder se puede añadir al .rar para que no se pierda y por si alguien quiere desempaquetar/empaquetar pero el icono de Iris Manager no se va a cambiar de forma oficial. Eso sím para incluirlo primero, tendría que tenerlo, pero no lo tengo y en enlace que pusiste a mediafire está caído.
Saludos
zitroello escribió:Dejo lo que opina Deank del nuevo Iris en psx-scene .
The issues are 2:
1) Iris intercepts and changes the sys_timer_usleep syscall which is used by apps to control the flow and speed of GUI and other functions. Unless you go back to Iris to reset it - all other apps will fail in one way or another. The payload used for ps1 emulation does other things, too and that's why I decided to stay with the app-patching and worked on ps1_netemu for a week. Estwald mistakenly thought that ps1_netemu depends on some specific timings, that it reads more than one sector at a time and there is no space in ps1_netemu to place the patches. None of this is true. Emulating the syscalls is a great idea, but it still breaks other stuff.
2) 4.21REX, 4.21Rogero, 4.30REX, 4.30ROGERO come with syscalls 8 and 9 already occupied by lv1_peek and lv1_poke. As you know sc8 is used by hermes payload and Iris ignores the fact that it is already used. It overwrites it and then it causes problems in other apps, too. multiMAN checks if syscall8 is used and uses syscall10 for hermes payload and all is ok.
For the next mM update I plan to write my own payload (different from PL3 and Hermes) and I may keep the 3.55+ compatibility.
Mincho escribió:y en el idioma de cervantes que opina deank?
Los problemas son dos:
1) Iris intercepta y cambia la syscall sys_timer_usleep que es utilizada por aplicaciones para controlar el flujo y la velocidad de la GUI (interfaz gráfica de usuario) y otros funciones. A menos que retornes a Iris para restablecerlo todas las demás aplicaciones producirán un error (fallaran) de una manera u otra. El payload utilizado para la emulación de ps1 hace otras cosas también, y por eso decidí quedarme con la aplicación de parches y funcionó en ps1_netemu durante una semana. Estwald pensó erróneamente que ps1_netemu depende de algunos tiempos específicos, que se lee más de un sector a la vez y no hay espacio en ps1_netemu para colocar los parches. Nada de esto es cierto. Emular las syscalls es una gran idea, pero aun así quiebra otras cosas.
2) 4.21REX, 4.21Rogero, 4.30REX, 4.30ROGERO vienen con las syscalls 8 y 9 ya ocupadas por lv1_peek y lv1_poke. Como ustedes saben sc8 es utilizado por hermes payload e Iris ignora el hecho de que ya está en uso, la sobrescribe y luego causa problemas en otras aplicaciones, también. multiMAN comprueba si la syscall8 se utiliza (está en uso) y utiliza la syscall10 para hermes payload y todo está bien.
Para la próxima actualización de mM planeo escribir mi propio payload (distinto del PL3 y Hermes) y puedo mantener la compatibilidad 3.55+.
No lo conseguirás con solo nombrar la imagen a COVER en mayúscula, también tienes que poner en mayúsculas la extensión del archivo .JPG La nomenclatura correcta es COVER.JPGkarlostek escribió:una pregunta,cuando paso los juegos de psx1 al disco duro de mi ps3 puedo hacer que se me vean con las portadas los juegos en el iris manager?es que no he podido conseguirlo,lo he probado de mil maneras:imagen de 800 pixels,nombrada cover en mayuscula,etc...)
/dev_usb000
/PSXGAMES
/Metal Gear Solid
|
|--- COVER.JPG -> caratula
|
|--- MGS1.IMG -> disc 1
|
---- MGS2.IMG -> disc 2
Nadie aquí está comparando y diciendo cual es mejor, si la única ventaja que le ves es para jugar a tus juegos de PSX, pues bien utilizalo para eso.karlostek escribió:y otra cuestion,porque decis que es mejor que multiman?sin ánimo de ofender a nadie lo veo bastante más cutre e incompleto,la única ventaja que le veo es para jugar a los juegos de psx,un saludo
Faxtron escribió:En cuanto a lo del caso del copiado aqui te dejo un video de lo que pasa pues es mas facil de apreciar esto del expediente X :
Faxtron escribió:Por otro lado el problema del MGS 4 que tenia lo pude resolver facil borre y reinstale desapareciendo el problema milagrosamente.
Faxtron escribió:En cuanto al icono, no, no esta caido el enlace sigue vivo desde que lo subi por primera vez aqui te lo dejo :
GUSMAY escribió:Gracias Estwald por esta nueva version mañana por la mañana la pruebo .
Y no creo que el comentario de Deank sea una critica sino una observacion .
Que bonito seria que fuerais amigos pero eso lo veo dificil.
Mucho animo y no te calientes que en realidad no vale la pena un saludo campeon.
ERMaCDR escribió:No lo conseguirás con solo nombrar la imagen a COVER en mayúscula, también tienes que poner en mayúsculas la extensión del archivo .JPG La nomenclatura correcta es COVER.JPGkarlostek escribió:una pregunta,cuando paso los juegos de psx1 al disco duro de mi ps3 puedo hacer que se me vean con las portadas los juegos en el iris manager?es que no he podido conseguirlo,lo he probado de mil maneras:imagen de 800 pixels,nombrada cover en mayuscula,etc...)
Ejemplo de estructura de juego:/dev_usb000
/PSXGAMES
/Metal Gear Solid
|
|--- COVER.JPG -> caratula
|
|--- MGS1.IMG -> disc 1
|
---- MGS2.IMG -> disc 2Nadie aquí está comparando y diciendo cual es mejor, si la única ventaja que le ves es para jugar a tus juegos de PSX, pues bien utilizalo para eso.karlostek escribió:y otra cuestion,porque decis que es mejor que multiman?sin ánimo de ofender a nadie lo veo bastante más cutre e incompleto,la única ventaja que le veo es para jugar a los juegos de psx,un saludo
BUILD_STEALTH=yes
NakedFaerie escribió:HI, I dont hablar español, así que estoy usando Google Translate, espero que haga un buen trabajo.
¿Puedo obtener una característica adicional a Iris Manager, para cambiar el diseño de 4x3 a 8x4.
Solo se necesita mucho tiempo para desplazarse hacia abajo cuando usted tiene un montón de juegos en un disco duro.
gracias
Maito escribió:NakedFaerie escribió:HI, I dont hablar español, así que estoy usando Google Translate, espero que haga un buen trabajo.
¿Puedo obtener una característica adicional a Iris Manager, para cambiar el diseño de 4x3 a 8x4.
Solo se necesita mucho tiempo para desplazarse hacia abajo cuando usted tiene un montón de juegos en un disco duro.
gracias
Faxtron says that, at this time, this feature is not available in Iris Manager. He consideer is a good idea to implement it next releases, why don't you tell with Estwald in order to add it?
If you have a lot of games of ps3 or psx mixed in your hard drives, at least, you can choose what kind of game you want iris manager to show by pressing R2 or L2 (one of them but, at this moment I don't remember the exact button). It will use the boxes to be filled by one of the game type of your choice by pressing those buttons.
See you.
--------------------------------------------------
Lo que dice Faxtron es que, en estos momentos, esa característica no está disponible en Iris Manager. Él considera que es una buena idea el implementarlo para las siguientes versiones. ¿Por qué no se lo comentas a Estwald por si lo puede añadir?
Si tienes un montón de juegos, entre los de ps3 y los de psx, al menos, puedes pulsar R2 o L2 para que Iris Manager pueda elegir mostrar los de un tipo u otro.
Nos vemos.
Maito escribió:NakedFaerie escribió:HI, I dont hablar español, así que estoy usando Google Translate, espero que haga un buen trabajo.
¿Puedo obtener una característica adicional a Iris Manager, para cambiar el diseño de 4x3 a 8x4.
Solo se necesita mucho tiempo para desplazarse hacia abajo cuando usted tiene un montón de juegos en un disco duro.
gracias
Faxtron says that, at this time, this feature is not available in Iris Manager. He consideer is a good idea to implement it next releases, why don't you tell with Estwald in order to add it?
If you have a lot of games of ps3 or psx mixed in your hard drives, at least, you can choose what kind of game you want iris manager to show by pressing R2 or L2 (one of them but, at this moment I don't remember the exact button). It will use the boxes to be filled by one of the game type of your choice by pressing those buttons.
See you.
--------------------------------------------------
Lo que dice Faxtron es que, en estos momentos, esa característica no está disponible en Iris Manager. Él considera que es una buena idea el implementarlo para las siguientes versiones. ¿Por qué no se lo comentas a Estwald por si lo puede añadir?
Si tienes un montón de juegos, entre los de ps3 y los de psx, al menos, puedes pulsar R2 o L2 para que Iris Manager pueda elegir mostrar los de un tipo u otro.
Nos vemos.
ERMaCDR escribió:Estwald leyendo en los foros en ''pitinglish'' hay usuarios que reportan que a partir de la v2.01 no les funciona el FTP, al parecer no pueden obtener la lista de directorios. Uno de ellos dice estar usando la v1.60 beta 4 con un ID diferente como FTP.
Saludos.