Blog Personal.

Uncategorized

Retrocompatibilidad en Vita y 3DS

Comentario Original:

Hola, sabía que Sony tuvo que implementar un mips, sus coprocesadores (vfpu) y el chip gráfico de la psp (GU) en vita para la compatibilidad hacia atrás, pero lo de 3ds me ha sorprendido mucho.
Por curiosidad ¿podrían usarse ambos en paralelo?
Una parte de la pantalla el de DSi y el resto para el de 3ds (del estilo los raster effect que se hacían en las máquinas de 8-16 bit para simular más colores o más resolución)
Gracias

Uy, a mi me cayerón criticas enormes en cierto foro cuando dije las velocidades de reloj reales de PS Vita, reveladas por el famoso hacker de la consola Yifan Lu.

El motivo de esta velocidad es que es un multiple del hardware de PSP, normalmente en los SoC se suelen utilizar velocidades de reloj basadas un multiplo concreto. ¿El motivo? Como dices el hardware de PSP esta en el SoC y este se ha de comunicar con el uncore y si el sistema tiene una velocidad dispar a esta o un múltiple de esta entonces la sincronización…

Y esto provoca que el resto del SoC tenga que ir a esas velocidades y si, a mucha gente le sentó fatal esa revelación pero el motivo es el que dices, la inclusión del hardware de PSP. ¿Y como es que Sony no tiro de emulación? Pues porque así se ahorran muchos problemas de compatibilidad hacía atrás de un plumazo. Es normal en los fabricantes de consolas hacer esto porque es mucho más práctico y no ha sido hasta la implementación de hardware de PC que la retrocompatibilidad y la forma de entenderla no ha cambiado.

¿Significa esto que por regla general a todos los uncore les ocurra lo mismo? Pues no, pero es más fácil crear un SoC con un solo dominio en la velocidades de reloj que no con varios dominios distintos. Los SoC actuales más avanzados tienen dispositivos conectados con varias velocidades de reloj, pero no creo que los ingenieros que hicieron la Vita

En cuanto a lo de 3DS ocurre lo mismo, 3DS tiene una CPU a 268Mhz aprox porque la CPU de DSi que lleva dentro va a 134Mhz, incluso New 3DS tiene un multiplo de esa velocidad de reloj. ¿Se puede utilizar el ARM9 en paralelo? No, pero curiosamente la DS original tenía algo curioso y era el uso del ARM7 de GBA que estaba ahí para el procesamiento del audio y este por lo tanto se encuentra en 3DS tambien, porque sin él los juegos de DS no tienen audio y como curiosidad… ¿Os acordáis de los juegos de embajador que regalo Nintendo en 3DS? Eran juegos de GBA que… ¡No funcionaban bajo emulador! ¿El motivo? El hardware de GBA esta integro en 3DS.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Daniel

Voy a empezar a leer el artículo, gracias por hacerlo.
No se si has leído esto:

https://theofficialflow.github.io/2019/06/18/trinity.html

Curiosamente no hay ningún homebrew que haga uso de ello..

BOYAMAN

Que sorpresa tan agradable, no sabía que el hardware de GBA estuviese dentro de mi 3DS. Con razón se me hacía raro que no hubiese tablas de compatibilidad cuando conviertes las roms de GBA en .CIA si es que al final todo funciona XD. Recuerdo que en el otro blog nos explicaste el por qué en las old3DS no podía haber emulación de juegos de SNES que sí que puede las versiones new3DS y se me hacía raro como GBA que es hardware mpas moderno si, y SNES no…y aquí la respuesta. Muchas gracias Urian por el post.

Juancho

Por suerte en la old3ds se pudo hacer andar el emulador Snes9x, según dicen porteando el código para que se ejecute completamente en la GPU.

Daniel

No, la GPU se encarga de ciertos efectos (rotaciones, escalados..), pero el emulador en sí, va en los arms. De todas formas existían dos emuladores de SNES en la nds normal, eran limitados pero corrían bien algunos juegos.
De esto ya no estoy seguro, pero me parece que incluso hubo uno para la gba,.. Fijo que de máster system y más, pero me suena el de SNES (una prueba de concepto).
Hay dos desarrolladores que se curraban los emuladores en asm y hacían maravillas. Uno era Flubba y el otro no me acuerdo ahora :/