Hablemos del interior de Xbox One

Zokormazo escribió:pero tampoco la pura emulacion por la solucion que han tomado. Debe ser una cosa "rara" xD

Pero que es la pura emulación ?

Hace tiempo que los emuladores utilizan JIT y dynamic recompilation, en vez de emular instrucción por instrucción. Esto es ir un paso mas alla en Emulación:

https://en.wikipedia.org/wiki/Binary_translation

@ElOtroDespistao, veo que estabamos poniendo lo mismo [+risas] [carcajad]

@Zokormazo, en un PC también podrias hacer Binary translation desde tu juego físico ... pero no han querido meter una toolchain en ONE, es logico, sería demasiado para el usuario medio de consola.
Zokormazo escribió:Pero jit lo puedes hacer directamente sobre lo que instalas desde el disco original xD


pero aquí no, lo han querido hacer así y ya, es un sistema virtualizado, y como dije no hay acceso directo al hardware, por eso no hay soporte a periféricos mas allá del mando

en cuanto a tu otra duda ya la contesté en un edit, PS3 incluía el hardware de la PS2 (CPU y GPU), y cuando fue emulación por software no fue emulación de todos los títulos, Wii U es básicamente una Wii x 3, apagan 2 cores y ya, el juego se ejecuta de forma directa sin translación
Por si hay dudas, los juegos presentados en el E3 ya llevan las mejoras. Éstos funcionan "a su bola" con su exclusive OS por lo que el juego en sí corre con lo que lleva de forma independiente al resto del sistema. Además que las consolas del E3, por si alguien todavía dudara lo anterior, pueden ir con el sistema beta ya nuevo. Así que esos juegos van a correr como se han mostrado, no van a mejorarse al actualizar la consola a Win10. Tampoco nos pasemos pidiendo :-|

La emulación es puramente software por si alguien lo duda:
https://xbox.uservoice.com/forums/298503-backwards-compatibility/status/1222800
Because this solution is a software-only emulation, titles that require a hardware accessory are not part of this feature.

Y sí, es un puntazo :)
yo supongo que el emulador no está al 100% terminado, y los previews estamos haciendo de beta testers, supongo que en esos 100 de inicio irán bastantes juegos first de MS
@cercata, @elotrodespistao:

Con lo de pura (o llamarlo como querais XD) Me referia a que la consola la emulacion la haga directamente sobre el juego original, vamos usando el disco/download de rom. Y esto parece que no lo hace de esa manera, que los binarios ya llegan traducidos, mas que nada por la forma de hacerlo.
A la pregunta de que por qué no instala el juego desde el disco en vez de tener que descargar cada juego. Ésto lo voy a decir desde mi completa ignorancia y lo que yo entiendo de la emulación de XBOX ONE:

Lo que he entendido es que la "emulación" de XBOX 360 en XBOX ONE no es otra cosa que juegos convertidos de la anterior a la nueva consola. Es que si no, no tendría sentido el tener que descargar cada juego que vayas a instalar. Es en plan, tu metes el disco de XBOX 360 con extensión ".X360" y la consola se encarga de descargar de la base de datos ese mismo juego con extensión ".XONE" (lo de las extensiones es un ejemplo, no es que exista, evidentemente).

Si la consola lo hiciera todo, para que íbamos a estar votando en el feedback para los juegos que queremos que sean retrocompatibles? Pues será porque Microsoft los está porteando.

Es lo que pienso, no sé, tampoco entiendo mucho del tema jaja.
david1995w escribió:Si la consola lo hiciera todo, para que íbamos a estar votando en el feedback para los juegos que queremos que sean retrocompatibles? Pues será porque Microsoft los está porteando.

Eso también podría pasar con un emulador "clásico" ... de hecho casi todos los emuladores en cada versión que sacan te dicen una lista de juegos compatibles. En los emuladores "clasicos" también tienes que ir haciendo cambios por cada juego, cuando lo pruebas descubres problemas, y tienes que ir arreglándolos.

En lo demás estoy de acuerdo contigo.
Zokormazo escribió:@cercata, @elotrodespistao:

Con lo de pura (o llamarlo como querais XD) Me referia a que la consola la emulacion la haga directamente sobre el juego original, vamos usando el disco/download de rom. Y esto parece que no lo hace de esa manera, que los binarios ya llegan traducidos, mas que nada por la forma de hacerlo.


Pero es que el binario digital y el binario del DVD no es el mismo. Recuerda que al prinpcio no se podia instalar el juego por completo.

Ms se ha decidido lógicamente por el binario digital.

Conclusión. Los juegos emulados usan el mismo binario de los juegos digitales. por consiguiente la consola emula el mismo juego. Lo qu eno puede hacer MS es emular la consola leyendo el dvd y emulando a la vez. Eso podria ocasionar fallos en los accesos a la cpu y al dvd. Necesitaria mas ingenieria. Lo lógico es usar los binarios digitales, como han hecho.
darksch escribió:Por si hay dudas, los juegos presentados en el E3 ya llevan las mejoras. Éstos funcionan "a su bola" con su exclusive OS por lo que el juego en sí corre con lo que lleva de forma independiente al resto del sistema. Además que las consolas del E3, por si alguien todavía dudara lo anterior, pueden ir con el sistema beta ya nuevo. Así que esos juegos van a correr como se han mostrado, no van a mejorarse al actualizar la consola a Win10. Tampoco nos pasemos pidiendo :-|

La emulación es puramente software por si alguien lo duda:
https://xbox.uservoice.com/forums/298503-backwards-compatibility/status/1222800
Because this solution is a software-only emulation, titles that require a hardware accessory are not part of this feature.

Y sí, es un puntazo :)

Gracias por la explicación, siendo inminente la actualización de la consola a Windows 10 las dudas sobre los juegos que casi coinciden con esta son muchas.
Zokormazo escribió:@cercata, @elotrodespistao:

Con lo de pura (o llamarlo como querais XD) Me referia a que la consola la emulacion la haga directamente sobre el juego original, vamos usando el disco/download de rom. Y esto parece que no lo hace de esa manera, que los binarios ya llegan traducidos, mas que nada por la forma de hacerlo.

Es puramente emulador. Si hay que instalarlo digital además de votarlos es porque no es automático. El sistema de seguridad de XOne requerirá un empaque especial (para empezar con un exclusive OS) para funcionar. Además a eso suma licencias.

En resumen, hay que "pedir permiso" a la propietaria de añadir su juego al bazar XOne (supongo que pondrán pocas pegas, pero es lo legal), y empacarlo en formato XOne (añadir sus firmas y exclusive OS). Luego además imagino que será como en el emulador de N64, cada juego le vendrán mejor unos settings y otros, y ajustarán el emulador para cada juego para evitar glitches y cosas así. Pero como puse en el enlace anterior, el emulador es puramente software según dicen ellos mismos.
ya dijeron que no tenían que cambiar absolutamente nada al juego, así que la "rom" es la misma que en xbox 360
Zoko, la Xbox 360 ejecuta los juegos desde la unidad lectora. Convertirlos en ejecutables para guardarlos en el HDD es algo que vino después y que algunos juegos dieron problemas hasta que se pulio.

Eso raro que comentas es lo que hace la 360 para crear el ejecutable. Si el emulador que usa ONE, que recordemos es una beta, no está preparado para crear el ejecutable pues se baja de internet y punto.

Si mas adelante cuando el emulador esté más maduro puede crear ejecutables pues ya no hará falta descargarse el ejecutable de internet.



david1995w escribió:A la pregunta de que por qué no instala el juego desde el disco en vez de tener que descargar cada juego. Ésto lo voy a decir desde mi completa ignorancia y lo que yo entiendo de la emulación de XBOX ONE:

Lo que he entendido es que la "emulación" de XBOX 360 en XBOX ONE no es otra cosa que juegos convertidos de la anterior a la nueva consola. Es que si no, no tendría sentido el tener que descargar cada juego que vayas a instalar. Es en plan, tu metes el disco de XBOX 360 con extensión ".X360" y la consola se encarga de descargar de la base de datos ese mismo juego con extensión ".XONE" (lo de las extensiones es un ejemplo, no es que exista, evidentemente).

Si la consola lo hiciera todo, para que íbamos a estar votando en el feedback para los juegos que queremos que sean retrocompatibles? Pues será porque Microsoft los está porteando.

Es lo que pienso, no sé, tampoco entiendo mucho del tema jaja.



No portean juegos, eso es de locos, simplemente tienen que ajustar y pulir el emulador para que vaya bien con ciertos juegos.

Es algo que sucede en todos los emuladores del mercado, sobretodo nada más salir que tienen juegos que van, otros que no y otros van pero con fallos gráficos, de sonido o de framerate.

Con este lo mismo pero peor, pues es oficial así que el juego que vaya ha de ir 100% bien. De ahí la lista para votar.
yo no veo nada de raro en como están implementando la emulación, es mas, la veo igual a como se hace en PC cualquier emulador, salvo que por la forma en que está diseñado el sistema sea todo por digital, si los mismos juegos de Xbox One son así, es mas, hasta los juegos se comportan tal cual en Xbox 360, con los mismos bajones de framerate en el caso de Mass Effect y los juegos van a 720p y los reescala, si fuesen "rehechos" para la consola, como intentan hacer ver algunos, los juegos se notarían distintos, aparte que hacer eso con cada juego no se xD
Igualito que en pc. Si es que en MAME metes la rom original de un juego, la detecta el emulador y de la nube se baja otra copia del juego con modificaciones o sin ellas y es eso lo que ejecutad en vez de la rom que te bajaste de tpb
ElOtroDespistao escribió:yo no veo nada de raro en como están implementando la emulación, es mas, la veo igual a como se hace en PC cualquier emulador, salvo que por la forma en que está diseñado el sistema sea todo por digital, si los mismos juegos de Xbox One son así, es mas, hasta los juegos se comportan tal cual en Xbox 360, con los mismos bajones de framerate en el caso de Mass Effect y los juegos van a 720p y los reescala, si fuesen "rehechos" para la consola, como intentan hacer ver algunos, los juegos se notarían distintos, aparte que hacer eso con cada juego no se xD


No va igual la versión de 360 que la de One, mirate el video comparativo ;)
URTYK escribió:
ElOtroDespistao escribió:yo no veo nada de raro en como están implementando la emulación, es mas, la veo igual a como se hace en PC cualquier emulador, salvo que por la forma en que está diseñado el sistema sea todo por digital, si los mismos juegos de Xbox One son así, es mas, hasta los juegos se comportan tal cual en Xbox 360, con los mismos bajones de framerate en el caso de Mass Effect y los juegos van a 720p y los reescala, si fuesen "rehechos" para la consola, como intentan hacer ver algunos, los juegos se notarían distintos, aparte que hacer eso con cada juego no se xD


No va igual la versión de 360 que la de One, mirate el video comparativo ;)

¿Dónde está eso? Yo quiero ver ese vídeo.
URTYK escribió:
ElOtroDespistao escribió:yo no veo nada de raro en como están implementando la emulación, es mas, la veo igual a como se hace en PC cualquier emulador, salvo que por la forma en que está diseñado el sistema sea todo por digital, si los mismos juegos de Xbox One son así, es mas, hasta los juegos se comportan tal cual en Xbox 360, con los mismos bajones de framerate en el caso de Mass Effect y los juegos van a 720p y los reescala, si fuesen "rehechos" para la consola, como intentan hacer ver algunos, los juegos se notarían distintos, aparte que hacer eso con cada juego no se xD


No va igual la versión de 360 que la de One, mirate el video comparativo ;)


hombre, está claro que habrá algo de mejora en tiempos de carga, no es lo mismo la velocidad de transferencia del DVD de la Xbox 360 que el disco duro de la Xbox One, es un beneficio colateral XD

pero hasta donde se, siguen existiendo los bajones de framerate

espero que con esto se terminen las dudas:

explicación de uno de los ingenieros de Xbox en reddit:

The publisher doesn't have to do any additional work. The emulator is a very complex piece of software, and we're not yet in a place where all games just work flawlessly, so we have to test every game end-to-end and then fix any bugs we find.


http://www.reddit.com/r/xboxone/comment ... ne/csas5jq


un par de detalles mas:

There's quite a lot of variability between games, in terms of how they utilize the Xbox 360 hardware, so games won't all work flawlessly right away. The amount of effort required for each individual game has been surprisingly low so far, and I expect this to improve rapidly over time.


lo que significa (según explica en otro post también) es que el emulador ha requerido de poco "fine tuning" para rular cada juego, en pocas palabras, rula bastante bien

Per the official announcement, we'll have support for 100+ titles in retail by the end of the year. It's in preview because we still have bugs to iron out, and there's still work to do on the overall user experience.


vamos, que el emulador está aun algo verde, de ahí que esté por ahora solo para los preview

A PC emulator would be great. I've no idea if this is something we'll tackle, but what I can say is that there would be massive technical hurdles to overcome, particularly around GPU support. Right now we only have to support a single GPU that has a lot in common with the GPU in the Xbox 360.


explica que ha sido mas "fácil" realizar el emulador en la consola porque no tienen que lidiar con múltiples hardwares, solo es una GPU, no la inmensa combinación que hay en PC

y por último, en el emulador ha participado gente de Microsoft Research:

I'm not sure if I'm allowed to say either, tbh :). It's actually a slightly hard question to answer, because it leverages other Microsoft internal projects (principally from Microsoft Research and Developer Division) that have been worked on for many years, however this Engineering team has been in existence for about a year.
Un gran trabajo, que demuestra el potencial de esta gente. Solo falta que la lista sea completa y q sea pronto.
Con este movimiento, cortan de raiz la fuga que tienen de 360 a la nueva consola de la competencia.
Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?
da igual lo que piense cada quién, no hay pruebas de como sea la emulación
cercata escribió:Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?

¿Pero eso cómo lo haces?, porque convertir código máquina PowerPC + arquitectura X360 a lo equivalente XOne lo veo muy jodido. ¿Eso se ha hecho alguna vez?, ¿es siquiera posible?. Conversiones de ese tipo me las veo con freeze cada 2 segundos, si es que llega a arrancar siquiera.

Es decir, si pudiera hacerse eso...llevamos más de 20 años de emulación y hasta ahora no conozco ningún emulador que haga eso. Si realmente se pudiera ¿no sería más normal que se usara a menudo?. Que al cargar un juego en el MAME, éste se tire 10 segundos extra para cargar que sería convertir el binario y cachearlo en HDD y venga a correr. Sin embargo no se hace.
darksch escribió:
cercata escribió:Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?

¿Pero eso cómo lo haces?, porque convertir código máquina PowerPC + arquitectura X360 a lo equivalente XOne lo veo muy jodido. ¿Eso se ha hecho alguna vez?, ¿es siquiera posible?. Conversiones de ese tipo me las veo con freeze cada 2 segundos, si es que llega a arrancar siquiera.

Es decir, si pudiera hacerse eso...llevamos más de 20 años de emulación y hasta ahora no conozco ningún emulador que haga eso. Si realmente se pudiera ¿no sería más normal que se usara a menudo?. Que al cargar un juego en el MAME, éste se tire 10 segundos extra para cargar que sería convertir el binario y cachearlo en HDD y venga a correr. Sin embargo no se hace.


yo entiendo que quiere decir que han tomado el juego y lo han convertido a un ejecutable de Xbox One, aunque no entiendo de donde saca eso si todo hace suponer lo contrario, que el ejecutable de Xbox 360, el binario, no tiene modificación

https://www.youtube.com/watch?v=Pjh1Uo_xaSQ&t=11158
Como ejemplo cuando Apple paso de usar procesadores PowerPC a Intel dentro del sistema operativo había un emulador de código llamado Rosetta que lo traducía al vuelo, sin modificar el binario original.
firewire escribió:Como ejemplo cuando Apple paso de usar procesadores PowerPC a Intel dentro del sistema operativo había un emulador de código llamado Rosetta que lo traducía al vuelo, sin modificar el binario original.


y el rendimiento no era el mejor, me consta pues llegué a catar varias aplicaciones y se dejaba usar, pero luego era comparar con la versión nativa y se notaba el cambio


How does it work, technologically?

It wasn't easy. It took some pretty dedicated engineering effort and very talented engineers. What they did was they created a software-based 360 emulation within the Xbox One architecture. So, when you put your disc in the drive, we're actually loading up an emulator, and then we put up a little portion of the Xbox 360 dashboard and you use that dashboard to launch into your game. You still have access though to all the great Xbox One features: game streaming, game DVR, screenshots. It works for digital games as well and your saved games do transfer. Gamers have put so much into 360 games, so much passion, energy, time, money, and that value I think is important for us to bring into the Xbox One story.

Will every Xbox 360 game eventually be available via backward compatibility?

It's up to gamers to tell us what they want. We do all the work, but there is a little bit of work and part of that involves talking with the publisher and making sure that this is consistent with their goals for the game as well. So, as gamers ask us, we will deliver.


http://www.engadget.com/2015/06/18/xbox ... -it-works/
Solo hay que ver, como al ejecutar el juego, se emula la 360 con su dashboard y todo. Para mi que consiguen interpretar el soft de la 360 virtualizado, despues el ejecutable es el mismo. Los parametros que tocan son en el propio emulador. para que puedas grabar la partida en la one y puedas utilizar las funciones. Nada más. Eso es lo que tienen que ver que funciona bien. Ya que de lo contrario, si hiciese falta cambiar cosas del propio juego, sería muy costoso e inviable.
cercata escribió:Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?


Yo no. Mi apuesta a que es una maquina virtual optimizada y a correr. Lo que hacen es ajustarla y habilitar los juegos que den permiso las empresas [angelito]
antoniokratos escribió:
URTYK escribió:
ElOtroDespistao escribió:yo no veo nada de raro en como están implementando la emulación, es mas, la veo igual a como se hace en PC cualquier emulador, salvo que por la forma en que está diseñado el sistema sea todo por digital, si los mismos juegos de Xbox One son así, es mas, hasta los juegos se comportan tal cual en Xbox 360, con los mismos bajones de framerate en el caso de Mass Effect y los juegos van a 720p y los reescala, si fuesen "rehechos" para la consola, como intentan hacer ver algunos, los juegos se notarían distintos, aparte que hacer eso con cada juego no se xD


No va igual la versión de 360 que la de One, mirate el video comparativo ;)

¿Dónde está eso? Yo quiero ver ese vídeo.

¿Hola?
darksch escribió:
cercata escribió:Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?

¿Pero eso cómo lo haces?, porque convertir código máquina PowerPC + arquitectura X360 a lo equivalente XOne lo veo muy jodido. ¿Eso se ha hecho alguna vez?, ¿es siquiera posible?. Conversiones de ese tipo me las veo con freeze cada 2 segundos, si es que llega a arrancar siquiera.

Es decir, si pudiera hacerse eso...llevamos más de 20 años de emulación y hasta ahora no conozco ningún emulador que haga eso. Si realmente se pudiera ¿no sería más normal que se usara a menudo?. Que al cargar un juego en el MAME, éste se tire 10 segundos extra para cargar que sería convertir el binario y cachearlo en HDD y venga a correr. Sin embargo no se hace.


No se se ha hecho mucho pq no es facil, igual es mas complicado aun que JIT y dynamic recompilation, que si se usa en emuladores. Pero si se ha hecho alguna vez:

"In 2014, an ARM architecture version of the 1998 video game StarCraft was generated by static recompilation and additional reverse engineering of the original x86 version.[1][2] The Pandora handheld community was capable of developing the required tools[3] on their own and achieving such translations successfully several times.[4][5]

For instance, a successful x86-to-x64 static recompilation was generated for the procedural terrain generator of the video game Cube World in 2014.[6]

Another example is the NES-to-x86 statically recompiled version of the videogame Super Mario Bros. which was generated under usage of LLVM in 2013.[7]"


https://en.wikipedia.org/?title=Binary_translation

Como veis es algo bastante reciente, pero de aqui a unos años creo que lo veremos mucho ...
cercata escribió:Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?


Yo pensaba lo mismo pero recompilar estáticamente un código tiene un problema si trabajas a bajo nivel, cosa que hacen mucho los motores gráficos. Te pongo un ejemplo, ¿Qué ocurre si se carga un código generado dinámicamente? con el método de recompilado del binario éste seguiría generando ese código dinámico con instrucciones de 360 provocando errores.

Desconozco si esta generación de código se usa o no, pero la posibilidad existe.
DarKDoG escribió:
cercata escribió:Yo sigo pensando que el emulador es través de Recompilación de binarios ... ¿ alguien apuesta algo ?


Yo pensaba lo mismo pero recompilar estáticamente un código tiene un problema si trabajas a bajo nivel, cosa que hacen mucho los motores gráficos. Te pongo un ejemplo, ¿Qué ocurre si se carga un código generado dinámicamente? con el método de recompilado del binario éste seguiría generando ese código dinámico con instrucciones de 360 provocando errores.

Desconozco si esta generación de código se usa o no, pero la posibilidad existe.

En eso tienes razón, si algún juego usa eso, daría problemas. ¿Con JIT no daría problemas también?.

La verdad que no creo que muchos juegos usen eso a nivel de CPU, ademas de complicado de hacer, es problematico, pero como bien dices, es una posibilidad.

Otra opción posible es que la CPU sea así, y la GPU sea emulada en tiempo real.
Fijaos que es algo que da mucho trabajo, incluyendo trabajo manual, para llegar a un objetivo uno a uno. Para algo masivo no lo veo tan factible. Algo más o menos automático (y la conversión no va a ser a juego cada 6 meses precisamente) ese tipo de conversión binaria acabaría como digo en cuelgues cada 2 por 3 me da a mí. A nivel de binario, a nada que una dirección o puntero no sea correcta o una simple operación no esté donde debe es cuelgue completo.

Veo más factible incluso emular el PowerPC y espacio de memoria de la X360, y capturar los CALL (que es una operación binaria muy conocida y fácil de identificar) de DirectX (gráficos) y convertirlas en las CALL DirectX de la consola actual, ya que son compatibles. Al fin y al cabo es lo que vienen a hacer los emuladores por ejemplo de PSX o N64 que van acelerados por hardware.
Mass Effect se ve mejor en Xbox One

Microsoft nos trajo la retrocompatibilidad y, a pesar de que de momento no hay muchos títulos para jugar, sí que está uno de los mejores del catálogo de Xbox 360, Mass Effect. El juego de Bioware se convirtió en una saga por méritos propios y ahora es uno de los primeros juegos que pueden funcionar en Xbox One.

Pero la noticia no es esa. El asunto recae en que os traemos un vídeo que muestra que el juego tiene mejoras en ciertos aspectos gráficos en Xbox One. Seguramente por la capacidad mayor de la máquina de nueva generación. El hecho es que se ve mejor, os dejamos con el vídeo:

https://youtu.be/kjblk1ADq9k

Como se puede observar durante el vídeo, las pantallas de carga duran menos tiempo, se solucionan algunos problemillas de popping casi por completo (aunque no sucede siempre), se reduce la iluminación sobre los personajes (excepto en la piel) y los vídeos duran ligeramente menos ya que no hay ralentizaciones por los cambios de cámaras.

Esperemos que esto siga así y Microsoft nos traiga un gran número de juego para que podamos disfrutar de su retrocompatibilidad y también de estas ligeras mejoras. El programa estará abierto de manera gratuita y para todos los usuarios en otoño de este año, aunque los miembros del preview ya pueden acceder a él.


Fuente: ÁreaJugones
darksch escribió:Fijaos que es algo que da mucho trabajo, incluyendo trabajo manual, para llegar a un objetivo uno a uno. Para algo masivo no lo veo tan factible. Algo más o menos automático (y la conversión no va a ser a juego cada 6 meses precisamente) ese tipo de conversión binaria acabaría como digo en cuelgues cada 2 por 3 me da a mí. A nivel de binario, a nada que una dirección o puntero no sea correcta o una simple operación no esté donde debe es cuelgue completo.

Veo más factible incluso emular el PowerPC y espacio de memoria de la X360, y capturar los CALL (que es una operación binaria muy conocida y fácil de identificar) de DirectX (gráficos) y convertirlas en las CALL DirectX de la consola actual, ya que son compatibles. Al fin y al cabo es lo que vienen a hacer los emuladores por ejemplo de PSX o N64 que van acelerados por hardware.


Yo he entendido que van probando juegos y van detectando bugs en el emulador. Lo parchean y ese bug ya está corregido para todos los juegos. Por eso dice que cada vez necesitarán menos cambios para soportar los distintos juegos.

Por los datos que da el ingeniero de microsoft es una emulación del hardware total. Obviamente habrá partes que posiblemente se ejecuten de forma nativa (llamadas a la API de la GPU al ser de la misma marca). Pero una vez tengan testeadas todas las instrucciones y llamadas de la API cualquier nuevo juego que carguen por primera vez funcionará sin problemas.

Eso si, sigo sin saber dónde está la magia para que un procesador con más cores pero menos velocidad de reloj (Xbox one) emule a otro con menos cores pero más frecuencia de reloj (Xbox 360). ¿Han encontrado una forma de paralelizar las instrucciones?, ni idea.
@DarKDoG pues como con todo lo que tiene esta consola:

Imagen
¡BRUJERÍA!

Mientras tanto, en Redmond...
Imagen
darksch escribió:Fijaos que es algo que da mucho trabajo, incluyendo trabajo manual, para llegar a un objetivo uno a uno. Para algo masivo no lo veo tan factible. Algo más o menos automático (y la conversión no va a ser a juego cada 6 meses precisamente) ese tipo de conversión binaria acabaría como digo en cuelgues cada 2 por 3 me da a mí. A nivel de binario, a nada que una dirección o puntero no sea correcta o una simple operación no esté donde debe es cuelgue completo.

Yo es que esos problemas que dices los veo también en un emulador clasico. Lo que yo dijo imaginalo que es como un emulador con JIT, pero en vez de traducir bloques de 100 instrucciones, las traduce todas de golpe.

DarKDoG escribió:Eso si, sigo sin saber dónde está la magia para que un procesador con más cores pero menos velocidad de reloj (Xbox one) emule a otro con menos cores pero más frecuencia de reloj (Xbox 360). ¿Han encontrado una forma de paralelizar las instrucciones?, ni idea.

Pues no lo había pensado, pero es verdad ...

Cuantas veces mas potente es la CPU de ONE respecto a la 360 ? No hay que mirar sólo la velocidad del reloj, si la PIPELINE del AMD paraleliza mas, puede que cada nucleo haga mas con menos frecuencia.
cercata escribió:
darksch escribió:Fijaos que es algo que da mucho trabajo, incluyendo trabajo manual, para llegar a un objetivo uno a uno. Para algo masivo no lo veo tan factible. Algo más o menos automático (y la conversión no va a ser a juego cada 6 meses precisamente) ese tipo de conversión binaria acabaría como digo en cuelgues cada 2 por 3 me da a mí. A nivel de binario, a nada que una dirección o puntero no sea correcta o una simple operación no esté donde debe es cuelgue completo.

Yo es que esos problemas que dices los veo también en un emulador clasico. Lo que yo dijo imaginalo que es como un emulador con JIT, pero en vez de traducir bloques de 100 instrucciones, las traduce todas de golpe.

DarKDoG escribió:Eso si, sigo sin saber dónde está la magia para que un procesador con más cores pero menos velocidad de reloj (Xbox one) emule a otro con menos cores pero más frecuencia de reloj (Xbox 360). ¿Han encontrado una forma de paralelizar las instrucciones?, ni idea.

Pues no lo había pensado, pero es verdad ...

Cuantas veces mas potente es la CPU de ONE respecto a la 360 ? No hay que mirar sólo la velocidad del reloj, si la PIPELINE del AMD paraleliza mas, puede que cada nucleo haga mas con menos frecuencia.


Añado además que, según tengo entendido, la 360 era RISC. Lo único que se me ocurre es que o bien por recompilación estática o bien por JIT se las han apañado para hacer una tabla de agrupaciones de instrucciones RISK de 360 y sustituirlas por una nativa CISC en la xbox one.

Algo así como que cada vez que me encuentre un set de instrucciones tal que así:
X360 - Cargo registro con posicion de memoria #AAAA -> Decremento en 1 -> Comparo con 0 -> Si es cero salto a #BBBB.
Lo sustituyo por una única instrucción CISC de one del estilo:
ONE - DecrementaYSaltaSiCero #AAAA, #BBBB

Eso, o bien como decía @darksch BRUJERIA!!
DarKDoG escribió:Añado además que, según tengo entendido, la 360 era RISC. Lo único que se me ocurre es que o bien por recompilación estática o bien por JIT se las han apañado para hacer una tabla de agrupaciones de instrucciones RISK de 360 y sustituirlas por una nativa CISC en la xbox one.

Algo así como que cada vez que me encuentre un set de instrucciones tal que así:
X360 - Cargo registro con posicion de memoria #AAAA -> Decremento en 1 -> Comparo con 0 -> Si es cero salto a #BBBB.
Lo sustituyo por una única instrucción CISC de one del estilo:
ONE - DecrementaYSaltaSiCero #AAAA, #BBBB

Interesante eso que comentas. Buscando un poco parece que ya esta trillado el tema en el mundo academico:

http://www.weihenstephan.org/~michaste/down/steil-recompilation.pdf

"Dynamic Re-compilation of Binary RISC Code for CISC Architectures
...
recompiler technology that only needs about 25% more time per instruction for translation
compared to a single interpretation, and produces code that is only 3 to 4 times
slower than native code."
Esto es offtopic porque se trata de otra plataforma pero como veo que estais interesados en la retrocompatibilidad os dejo este articulo de eurogamer

http://www.eurogamer.net/articles/2015-06-19-dont-hold-your-breath-for-ps4-backwards-compatibility
Nuhar escribió:Esto es offtopic porque se trata de otra plataforma pero como veo que estais interesados en la retrocompatibilidad os dejo este articulo de eurogamer

http://www.eurogamer.net/articles/2015-06-19-dont-hold-your-breath-for-ps4-backwards-compatibility


Yoshida escribió:I didn't think it was possible. There must be lots of engineering effort

Suena a, "Mis ingenieros me dijeron que era imposible y que teniamos que hacer PS Now" [+risas] [carcajad]

No se si será posible emular la PS3 en la PS4, y si fuese posible no se si los ingenieros de Sony serían capaces de hacerlo. Pero aunque lo fuesen, tengo claro que Sony no lo va hacer.

Si hace un par de dias cuando dijeron que no lo harían se hubiese montado un revuelo como el del E3 de hace 2 años con la ONE, pues tendriamos U-Turn, pero como no ha habido reacción, está claro que no lo van a intentar.
Si lo que dicen es verdad y no es una excusa para no hacerlo. Lo único que saco en claro es que Microsoft se ha debido de dejar una pasta para conseguirlo.

De cualquiera de las maneras se agradece que hayan escuchado a la comunidad y hagan el esfuerzo de intentar traer el maximo posible de titulos de xbox360 a xbox one. La verdad que el feedback esta funcionando muy bien por ahora, espero que sigan como hasta ahora.
Yo simplemente creo que no son capaces. En PS3 sólo "emulaban" PS2 cuando llevaba todo el hardware dentro duplicado. En cuanto lo metieron a medias y tenían que hacer ya parte por software la cosa empezó a torcerse. Ya si dependen de 100% software pues va a ser que no.
indigo_rs está baneado por "saltarse el ban con un clon"
Yo quiero ver a Mafia II en X1, todavía guardo el juego físico y me gustaría volver a jugarlo.
Nuhar escribió:Lo único que saco en claro es que Microsoft se ha debido de dejar una pasta para conseguirlo.

Con lo que cobraba Don Matrick, da para que 50 ingenieros trabajen en la retrocompatibilidad, y otros 50 en optimizar DX12 para la ONE.
El re-empaque es obligatorio también porque el emulador debe ir en el exclusive OS, no puede ir en el sistema. De hecho la actualización del sistema lo único que te hace es abrir la tienda a los juegos de X360. Pero con la versión actual se pueden ejecutar de hecho http://www.elotrolado.net/hilo_el-que-quiera-probar-la-retrocompatibilidad-y-no-este-en-la-preview-que-entre_2103887
Por lo tanto había que crear las ISO para XOne sí o sí por su forma de hacer las cosas.
darksch escribió:El re-empaque es obligatorio también porque el emulador debe ir en el exclusive OS, no puede ir en el sistema.

Es obligatorio pq han decidido hacerlo así, podían haber empacado el Emulador con el exclusive OS a secas, y que los juegos fuesen datos para el emulador, si no es recompilacion binaria.
cercata escribió:
darksch escribió:El re-empaque es obligatorio también porque el emulador debe ir en el exclusive OS, no puede ir en el sistema.

Es obligatorio pq han decidido hacerlo así, podían haber empacado el Emulador con el exclusive OS a secas, y que los juegos fuesen datos para el emulador, si no es recompilacion binaria.


This.

Es una decision explicita ese tipo de distribucion, no un impedimento tecnico
Zokormazo escribió:
cercata escribió:
darksch escribió:El re-empaque es obligatorio también porque el emulador debe ir en el exclusive OS, no puede ir en el sistema.

Es obligatorio pq han decidido hacerlo así, podían haber empacado el Emulador con el exclusive OS a secas, y que los juegos fuesen datos para el emulador, si no es recompilacion binaria.


This.

Es una decision explicita ese tipo de distribucion, no un impedimento tecnico

No, de donde sacais que el exclusive OS puede leer datos de fuera. ¿Decís que algún software actualmente que funciona bajo exclusive OS pilla datos de otra parte?. Que yo sepa son sandboxed.

"Si no es recompilacion binaria ", ¿de donde has sacado eso, has hecho el emulador?.

Es que no entra en la lógica ahora mismo. A ver, entonces cual es la pega para no instalar los datos desde el DVD del juego?. Los ficheros de assets son exactamente los mismos, así que ni entran en esa "recompilacion binaria", vamos que te bastaba con recompilar el EXE y los datos pillarlos del DVD.

Así que eso del empaque es igualmente valido para esa recompilacion binaria, por lo tanto no explica ni justifica absolutamente nada que se trate de eso.
el único que tiene acceso al hardware libremente es el hypervisor, es mas, hasta hablaron de que la gpu es virtualizada, no hay un acceso directo a ella, al menos no de parte del código del juego, lo explicaron a eurogamer y es lógico, es como funcionan mas VMs
darksch escribió:No, de donde sacais que el exclusive OS puede leer datos de fuera. ¿Decís que algún software actualmente que funciona bajo exclusive OS pilla datos de otra parte?. Que yo sepa son sandboxed.

La arquitectura entera es de Microsoft, y pueden permitirlo si quieren, no es como si es un tercero que no puede cambiar nada.
17587 respuestas