Progresos en la emulación de xbox360

Desde hace unos años existe un emulador en desarrollo de código abierto con el Alias Xenia .

https://github.com/benvanik/xenia

con los siguientes requisitos :

- CPU Haswell o superior ya que requiere la instruccion AVX2
- GPU Directx11 / Opengl 4.3 o superior


Ya comienza arrancar varios juegos con buena velocidad , eso sí con fallos gráficos ya que la parte gráfica que emula aún está verde e incompleta.

Dragon Ball Raging Blast

https://www.youtube.com/watch?v=g5FKb2j2Yx8

Sonic The Hedgehog (2006)

https://www.youtube.com/watch?v=e-xYac4ODKY

Braid

https://www.youtube.com/watch?v=E4onMq2DVNc

Nights into Dreams

https://www.youtube.com/watch?v=r2wlxWT2jQQ

Me ha sorprendido el salto que está dando a unas velocidades razonables [flipa]
Han rebajado los requisitos a Sandy Bridge, ya no es necesario un Haswell.
He probado varios juegos y me he llevado la grata sorpresa de que ya funcionan varios juegos de naves, uno de mis generos favoritos.

Death Smiles

https://www.youtube.com/watch?v=js4yT_p8UZI

Dodonpachi Daifukkatsu BL

https://www.youtube.com/watch?v=TBQ47gfXfQw
ganicus está baneado por "saltarse un ban con un clon"
Esto si es una grata sorpresa, menudo catálogo ganaría el pc emulando los títulos más punteros de 360, solo por poder jugar la saga Halo a 1080p ya merecería la pena.
beatle escribió:Han rebajado los requisitos a Sandy Bridge, ya no es necesario un Haswell.
He probado varios juegos y me he llevado la grata sorpresa de que ya funcionan varios juegos de naves, uno de mis generos favoritos.

Death Smiles

https://www.youtube.com/watch?v=js4yT_p8UZI

Dodonpachi Daifukkatsu BL

https://www.youtube.com/watch?v=TBQ47gfXfQw


Si ya he visto fue desde hace unos días que solo requiere Sandy bridge .con WIndows 8.1 o Windows 10 de 64bits

Lo que me ha sorprendido es la velocidad a la que corren ha dado un vuelco muy importante está evolucionando más que en su día otras emulaciones . :)
Muy soprendido con este emulador [boing] habra que seguirle la pista
en los graficos se nota muy verde todavia, pero se le prevee un buen futuro XD
Basicamente como requerimiento por narices es AVX2, entonces hablamos de Intel de cuarta y quinta generación, vamos que ningún Intel anterior y en AMD ninguno de los que hay en el mercado ahora mismo.

Parece que AVX2 es muy conveniente para temas de emulación, y entiendo que ese rendimiento solo es gracias a dichas instrucciones.
Darumo escribió:Basicamente como requerimiento por narices es AVX2, entonces hablamos de Intel de cuarta y quinta generación, vamos que ningún Intel anterior y en AMD ninguno de los que hay en el mercado ahora mismo.

Parece que AVX2 es muy conveniente para temas de emulación, y entiendo que ese rendimiento solo es gracias a dichas instrucciones.

Ya no requiere AVX2, con AVX es suficiente.

Por lo que he visto el rendimiento es bárbaro y promete muchísimo, y cuando salga Vulkan y termine de despegar esto va a ser ya la ostia.
josemurcia escribió:
Darumo escribió:Basicamente como requerimiento por narices es AVX2, entonces hablamos de Intel de cuarta y quinta generación, vamos que ningún Intel anterior y en AMD ninguno de los que hay en el mercado ahora mismo.

Parece que AVX2 es muy conveniente para temas de emulación, y entiendo que ese rendimiento solo es gracias a dichas instrucciones.

Ya no requiere AVX2, con AVX es suficiente.

Por lo que he visto el rendimiento es bárbaro y promete muchísimo, y cuando salga Vulkan y termine de despegar esto va a ser ya la ostia.

Recuerdo que dejaron de lado AVX, pero lo mismo echaron el culo atrás, supongo que el rendimiento no será el mismo pero dejan la puerta abierta al menos para que se pueda probar.

Y si, por lo visto sus miradas están en DX12 y Vulkan, y probablemente el emulador termine siendo multiplataforma (no solo Windows)
En el FAQ comentan todo eso, además acaban de renovar la página.

http://xenia.jp/faq/

System Requirements:

Windows 8.1 or Windows 10
Intel Sandy Bridge or Haswell processor (supporting AVX or AVX2)
An OpenGL 4.5-compatible GPU (NVIDIA preferred)
An XInput-compatible controller


Supongo que utilizarán tanto AVX como AVX2 para los procesadores que lo soporten y será mejor el rendimiento en estos.

No va a dar soporte a OSx hasta que Apple soporte Vulkan.

Does Xenia run on Linux or OSX?

The project is designed to support non-Windows platforms but until it’s running games it’s not worth the maintenance burden. OSX will likely remain unsupported until Apple supports Vulkan.
Esto es lo que han hecho por encima no he visto todo Han hecho un If para hasswell

if (FLAGS_enable_haswell_instructions) {
+ feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tAVX2) ? kX64EmitAVX2 : 0;
+ feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tFMA) ? kX64EmitFMA : 0;
+ feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tLZCNT) ? kX64EmitLZCNT : 0;
+ feature_flags_ |= cpu_.has(Xbyak::util::Cpu::tBMI2) ? kX64EmitBMI2 : 0;
+ }
+}

Si tienes hasswell pues las optimizaciones que utilicen AVX2 , FMA , LZCNT y BMI2 pues saldrás beneficiado de lo contrario hará caso omiso a esas optimizaciones .

En cuanto a Mac os x reclaman la espera que apple mueva ficha o implemente vulkan ya que actualmente solo soporta Opengl 4.1 y el emulador requiere como mínimo Opengl 4.3 con varias extensiones Opengl 4.5 de ahi que recomiendan Opengl 4.5 por ahora solo funciona bien en NVIDIA.

AMD Solo dá soporte Opengl 4.5 a unos drivers beta en Windows 10 .
AMD siempre va con retraso...
Se que es muy muy pronto, pero será la única manera de disfrutar algún día de Red Dead Redemption en PC.

De los Gears 2 y 3... en fin, dentro de unos 5 años me paso por este topic [360º] .

saludos.
Pues mi i5 460M no soporta AVX así que hasta que no lo jubile [buuuaaaa]
Se me ha caído la mandíbula al suelo al ver la velocidad a la que se mueve todo (pese a que tenga millones de fallos gráficos). [boing] [boing] [boing]
Joder he estado viendo mas videos en YouTube y sorprende lo bien que va el emulador a pesar de los fallos gráficos ¿no se suponía que haría falta un pepino de pc para emular la 360?
alitanet escribió:Joder he estado viendo mas videos en YouTube y sorprende lo bien que va el emulador a pesar de los fallos gráficos ¿no se suponía que haría falta un pepino de pc para emular la 360?


Todavía tiene que engordar el emulador, a mas perfecto mas tragará, y habrá juegos que consuman poco y otros que pidan lo que no existe aún. Y por las instrucciones AVX que si no esto hubiese sido imposible.
Pensaba que anda en via muerta este proyecto, pero no, ha avanzado bastante !!!!! [plas]
Estoy convencido de que en unos años lo veremos funcionando a tope. Esta época me recuerda a la que vivimos hace muchos años cuando empezaban a salir los emuladores de Neo Geo, Super Nintendo, Mega Drive... ¿os acordáis cuando todo era sin sonido? :D
Y lo que molaba tener la rom del dragon ball z de super en 2 disketes?

Imagen

Aun guardo una caja entera de estos xD
gordon81 escribió:Se que es muy muy pronto, pero será la única manera de disfrutar algún día de Red Dead Redemption en PC.

De los Gears 2 y 3... en fin, dentro de unos 5 años me paso por este topic [360º] .

saludos.


https://www.youtube.com/watch?v=jRw4miJDsg0

Aún no llega a ingame pero ya lo comienza leer solo el logo y poco más :p

Quizás no tengas que esperarte a esos 5 años si sigue a este ritmo [Ooooo] .
Increíble! Y se supone que con Vulkan - Dx12 mejorará muchísimo, cosa que espero ya que el de los vídeos utiliza una GTX970.

PD.: Al parecer el de PS3 también está dando sorpresa, aunque este tiene mucho más curro.

https://www.youtube.com/watch?v=IngaDDzHI4U
El de Ps3 también avanza incluso tienen render ya corriendo con Directx12 mejorando fps en algunos casos sacando doblando fps

https://www.youtube.com/watch?v=G9bD7Zomwk4
Esto avanza que da gusto.

Estos son dos de los últimos vídeos:

https://www.youtube.com/watch?v=7H61KttkxrU
https://www.youtube.com/watch?v=XOGFlqXIb_I

Por fin parece que se ha acabado la pose en T de los vídeos anteriores y la verdad es que ese juego es perfectamente jugable a pesar de los fallos gráficos.

Alucino, de verdad.
Vaya, menudo avance! Veremos en un par de añitos una versión totalmente jugable del emulador ? XD
Joder, increíble, me voy a pasar toda la tarde de hoy probando cosas, a ver qué tal se comporta.

Saludos.
Eternal sonata comienza arrancar ingame pero con multittud de glitches y solo se visualiza parcialmente no toda la pantalla.

https://www.youtube.com/watch?v=L0rsY8XMGBs

No lo probéis si no teneis una GPU que soporte GL_ARB_bindless_texture ya que no os irá requiere esa extensión obligatoria. resumidas cuentas son NVIDIA 600 y superior y AMD 7000 y superior .
A ver si la cosa sigue a este ritmo o mayor :)
Pero lo mejor es que no solo están con el emu de x360, sino también con el de la xbox original.

A este paso, para principios del año que viene es totalmente funcional, ya que van a pasos agigantados.
esto no lo hace una empresa con pasta no? por que no tiene sentido que un pc bueno no mueva juegos de xbox 360..
el_languii escribió:esto no lo hace una empresa con pasta no? por que no tiene sentido que un pc bueno no mueva juegos de xbox 360..

Emulados...

Demasiado bien esque lo mueva rápido, lo general esque requiera x10 veces más maquina.
BLUE_FIRE escribió:Se me ha caído la mandíbula al suelo al ver la velocidad a la que se mueve todo (pese a que tenga millones de fallos gráficos). [boing] [boing] [boing]


Impresionante, habrá que seguir de cerca este emulador y sus progresos.
De todas formas esto no es un progreso "real", a medida que vayan corrigiendo cosas va a ir mucho más lento, hasta llegar a los 1-10fps. A ver si intel integra de una buena véz la instrucción "AVX-512" (v3.0) en CPU's de escritorio, saludos.

Salu2 - Darkness Knight
joder! pues si que va bien este emu en sus primeros pasos [boing]
parece que sera alreves da la anterior generacion de emuladores y el microsoft sera la primera de la clase.
le echaba yo bastante años para ser jugable,viendo esto a finales del 2017 tendremos algo mas que digno a este paso.

pd: ya queda menos para jugar a soul calibur 4 en mi pc [angelito]
DarknessKnightES escribió:De todas formas esto no es un progreso "real", a medida que vayan corrigiendo cosas va a ir mucho más lento, hasta llegar a los 1-10fps. A ver si intel integra de una buena véz la instrucción "AVX-512" (v3.0) en CPU's de escritorio, saludos.

Salu2 - Darkness Knight


Pues según el autor la parte del CPU no le preocupa en ningún momento que AVX 512 ayudará en dar más rendimiento del que ya hay? Sí pero lo que le preocupa y dolor de cabeza es la parte de la GPU que le sorprendre que en PC hasta la llegada de Directx12/Vulkan no trabajaban de una manera similar como la GPU xbox360 hace y eso dificultará emular la parte gráfica como se debe.

Otra cosa que se encontro el desarrollador es que la parte del sonido no tendrá que hacer mucha ingenieria inversa debido a que todo lo trabaja un nucleo del CPU y el mismo descodifica el sonido si el juego va rápido el sonido trabajará bien , si la descodificación falla el juego se estrellará o puede provocar lentitud.

Entre este y el 3DS creo que son los vinientes en la emulación de consolas más reciente , conjunto el de la primera xbox.(por fin se ha logrado emular muy preciso los gráficos ahora solo queda la velocidad).
ganicus está baneado por "saltarse un ban con un clon"
Es impresionante y promete muchisimo, soul calibur 4 y 5 y la saga halo a 4k tiene que ser la leche. Deseando probarlo
alguien pone algun video o algo de como se ejecuta la emulacion de la primera xbox actualmente?
DarknessKnightES escribió: A ver si intel integra de una buena véz la instrucción "AVX-512" (v3.0) en CPU's de escritorio, saludos.

Salu2 - Darkness Knight


Creo recordar que los VMX eran de 128 bits y como los PPC eran CPU que ejecutaban en orden no se si supondrá alguna ventaja AVX2 o AVX-512

aunque no me acuerdo como iba la cosa exactamente.
MaXiMu escribió:Pues según el autor la parte del CPU no le preocupa en ningún momento que AVX 512 ayudará en dar más rendimiento del que ya hay? Sí pero lo que le preocupa y dolor de cabeza es la parte de la GPU que le sorprendre que en PC hasta la llegada de Directx12/Vulkan no trabajaban de una manera similar como la GPU xbox360 hace y eso dificultará emular la parte gráfica como se debe.

Otra cosa que se encontro el desarrollador es que la parte del sonido no tendrá que hacer mucha ingenieria inversa debido a que todo lo trabaja un nucleo del CPU y el mismo descodifica el sonido si el juego va rápido el sonido trabajará bien , si la descodificación falla el juego se estrellará o puede provocar lentitud.


Muy interesante lo que comentas, no he buscado mayor info sobre este emulador ya que esta muy verde, pero quizás llegue a un nivel aceptable en un par de años.
La XBOX360 posee un CPU PowerPC de 3 nucleos y un GPU hecho por AMD-ATi con shaders unificados, quizás el problema real sea la comunicación entre el CPU y GPU, ya que para emular ciertos efectos graficos se pueden emplear shaders (como en cualquier emulador). Con respecto al audio, deberia ser parecido al sistema usado en la XBOX, comparten cosas con el estandar PC pero con ciertas funciones especificas...


ROTOR escribió:
DarknessKnightES escribió: A ver si intel integra de una buena véz la instrucción "AVX-512" (v3.0) en CPU's de escritorio, saludos.

Salu2 - Darkness Knight


Creo recordar que los VMX eran de 128 bits y como los PPC eran CPU que ejecutaban en orden no se si supondrá alguna ventaja AVX2 o AVX-512

aunque no me acuerdo como iba la cosa exactamente.


La emulación no se ejecuta directamente sobre el hardware de PC, sino que se emula la plataforma completa aprovechandose de extensiones modernas para lograr mayor velocidad.

Salu2 - Darkness Knight.
DarknessKnightES escribió:
ROTOR escribió:
DarknessKnightES escribió: A ver si intel integra de una buena véz la instrucción "AVX-512" (v3.0) en CPU's de escritorio, saludos.

Salu2 - Darkness Knight


Creo recordar que los VMX eran de 128 bits y como los PPC eran CPU que ejecutaban en orden no se si supondrá alguna ventaja AVX2 o AVX-512

aunque no me acuerdo como iba la cosa exactamente.


La emulación no se ejecuta directamente sobre el hardware de PC, sino que se emula la plataforma completa aprovechandose de extensiones modernas para lograr mayor velocidad.

Salu2 - Darkness Knight.

No en este caso, aquí se usa el recompilador en tiempo de ejecución y se ejecuta directamente.
De todos modos hasta dentro de 3 años no creo que pueda correr juegos comerciales al 100 %. Entoces ya habrá nuevas instrucciones que ayuden a la emulación.
amchacon escribió:No en este caso, aquí se usa el recompilador en tiempo de ejecución y se ejecuta directamente.


Ah si, entonces es una maquina virtual? mira tú, ejecutar codigo PPC sobre x64 de manera nativa, que curioso...

Salu2 - Darkness Knight
DarknessKnightES escribió:
amchacon escribió:No en este caso, aquí se usa el recompilador en tiempo de ejecución y se ejecuta directamente.

Ah si, entonces es una maquina virtual? mira tú, ejecutar codigo PPC sobre x64 de manera nativa, que curioso...

Esque lo que hace es convertir el código ppc a x64
amchacon escribió:
DarknessKnightES escribió:
amchacon escribió:No en este caso, aquí se usa el recompilador en tiempo de ejecución y se ejecuta directamente.

Ah si, entonces es una maquina virtual? mira tú, ejecutar codigo PPC sobre x64 de manera nativa, que curioso...

Esque lo que hace es convertir el código ppc a x64


Claro, como todos los emuladores... para que un codigo se ejecute de manera nativa tendria que compartir arquitectura, como PS4 y XBOX One con PC (x86-x64).

Salu2 - Darkness Knight.
DarknessKnightES escribió:Claro, como todos los emuladores... para que un codigo se ejecute de manera nativa tendria que compartir arquitectura, como PS4 y XBOX One con PC (x86-x64).

Salu2 - Darkness Knight.

Que nooo [+risas]

Para emular la CPU de una maquina, hay dos técnicas:

Emulador clásico: Se va leyendo las instrucciones una a una, se interpretan y se emulan. Esto es a lo que te refieres tú.
Emulador moderno: Igual que el anterior, PERO, cuando un trozo de código se repite mucho, el compilador coge esas instrucciones, las traduce a instrucciones nativas y las ejecuta de forma nativa.

Cómo puedes ver, en los emuladores más modernos hay ejecución nativa del código. Esta técnica se conoce como JIT, y se usa también en lenguajes interpretados como java.
amchacon escribió:Que nooo [+risas]

Para emular la CPU de una maquina, hay dos técnicas:

Emulador clásico: Se va leyendo las instrucciones una a una, se interpretan y se emulan. Esto es a lo que te refieres tú.
Emulador moderno: Igual que el anterior, PERO, cuando un trozo de código se repite mucho, el compilador coge esas instrucciones, las traduce a instrucciones nativas y las ejecuta de forma nativa.

Cómo puedes ver, en los emuladores más modernos hay ejecución nativa del código. Esta técnica se conoce como JIT, y se usa también en lenguajes interpretados como java.


???? Yo solo conozco dos tecnicas, 1) "interprete" y 2) "recompilador"; el primero ejecuta el codigo y lo translada a un lenguaje que pueda entender el PC (C++, etc) lo cuál es lentisimo (XQEMU?). El segundo recompila el codigo usando tecnicas truculentas como JIT, Dynarec, etc, es mucho más rapido pero impreciso.
Se habla de nativo cuando el proceso no requiere conversión y el CPU lo puede leer directamente ya que hablan el mismo idioma, como una maquina virtual, al menos para mi es eso.

Salu2 - Darkness Knight.
DarknessKnightES escribió:???? Yo solo conozco dos tecnicas, el "interprete" y "recompilador"; el primero ejecuta el codigo transladolo a algo conocido por el PC (C++, etc) lo cuál es lentisimo (XQEMU?), el segundo recompila el codigo usan tecnicas como JIT, Dynarec, etc, es más rapido pero impreciso. Se habla de nativo cuando el proceso no requiere coversión y el CPU lo puede leer directamente ya que hablan el mismo idioma, al menos para mi es eso.

Salu2 - Darkness Knight.

Pues eso hablo, recompilador. Y digo nativo porque el código recompilado lo puede leer la cpu directamente.

De donde venía esto es de:

DarknessKnightES escribió:La emulación no se ejecuta directamente sobre el hardware de PC, sino que se emula la plataforma completa aprovechandose de extensiones modernas para lograr mayor velocidad.

Si se usa la recompilación, no vas a poder usar las extensiones modernas (normalmente). Es una traducción 1:1, no vas a reescribir código.

En un interprete tiene más sentido, puesto que puedes implementar el interprete con esas nuevas extensiones.

EDITO: Bueno ahora que pienso, si puede tener sentido, al menos teórico, lo que no sé si en la práctica está tan optimizados los jit como para rescribir la semantica del código.
amchacon escribió:
DarknessKnightES escribió:???? Yo solo conozco dos tecnicas, el "interprete" y "recompilador"; el primero ejecuta el codigo transladolo a algo conocido por el PC (C++, etc) lo cuál es lentisimo (XQEMU?), el segundo recompila el codigo usan tecnicas como JIT, Dynarec, etc, es más rapido pero impreciso. Se habla de nativo cuando el proceso no requiere coversión y el CPU lo puede leer directamente ya que hablan el mismo idioma, al menos para mi es eso.

Salu2 - Darkness Knight.

Pues eso hablo, recompilador. Y digo nativo porque el código recompilado lo puede leer la cpu directamente.

De donde venía esto es de:

DarknessKnightES escribió:La emulación no se ejecuta directamente sobre el hardware de PC, sino que se emula la plataforma completa aprovechandose de extensiones modernas para lograr mayor velocidad.

Si se usa la recompilación, no vas a poder usar las extensiones modernas (normalmente). Es una traducción 1:1, no vas a reescribir código.

En un interprete tiene más sentido, puesto que puedes implementar el interprete con esas nuevas extensiones.

EDITO: Bueno ahora que pienso, si puede tener sentido, al menos teórico, lo que no sé si en la práctica está tan optimizados los jit como para rescribir la semantica del código.


Bueno, a ver si este emulador nos sorprende (más aún), saludos!

Salu2 - Darkness Knight.
59 respuestas
1, 2