DJ Deu escribió:Bueno, nos nos olvidemos que hace cosa de año y medio se liberaron por vía "underground" los esquemáticos de las tripas de N64 y varias consolas más de Nintendo.
Quizá parte del rápido progreso se deba en parte a eso.
Yo mismo tengo esos archivos por ahí, pero no se pueden usar porque es código propietario y podría caerle una demanda a quien los usara, y Nintendo es de gatillo fácil a la hora de poner demandas.
Por eso ya de principio el core no es preciso a nivel de transistores, pero tampoco creo que lo sean el resto excepto los basados en Jotego que creo que se dedica a decapar chips de placas rotas para ser completamente fiel.
Elazul escribió:No te respondo yo, responde el autor del core en Discord, que justo han estado hablando de eso:
"to be honest: i don't know them and i don't care. RSP executes program code. It doesn't matter which. That was only at the time emulators did high level emulate it"
El RSP está implementado en la FPGA.
Hombre, obvio, si no, los juegos no irian.
Elazul escribió:NO se está haciendo emulación por software, ni emulación de alto nivel (HLE) ni hostias en vinagre.
Bueno, yo no he afirmado eso rotundamente, solo he mostrado mis dudas de cómo lo hace.
Él ha descartado el HLE y me parece bien.
Elazul escribió:Es el RSP lo que se está implementando en la FPGA y por tanto traga con los microcódigos como la máquina real (otra cosa es que ahora mismo, en pleno desarrollo, fallen algunos, pero es cuestión de tiempo).
Lo que dice Robert es que se la sudan los microcódigos: él implementa el RSP, que es donde se ejecutan, y ya ahí que se apañe con ellos, que le importan un carajo y ni los mira, para eso está el RSP. Vamos, lo mismo que hace una N64 de verdad.
Lo que me extraña es que un día el core no tiene z-buffer y al otro sí, cuando se supone que si el RSP esta implementado eso debería hacerlo desde el primer momento. El z-buffer de la N64 lo ejecuta el microcódigo del RSP, no es un modulo especial del hardware que se pueda activar o desactivar por separado. En el SDK ya especifica algunas librerias de microcódigos
como la gspFast3D se puede activar o desactivar el Z-buffer a conveniencia. Si en el core la ejecución de los microcódigos estan implementados, ¿por qué no estaba el z-buffer implementado desde el primer momento? ¿Por qué no estaba implementado como si fuese una parte de las librerias del SDK?
Esto es lo que me hace sospechar que se ha trabajado más a nivel de función de las librerias originales (es decir, en HLE) que ejecutando el microcódigo en una réplica del RSP.
Por ejemplo, cuando el core estaba muy verde, no había Z-buffer, pero
el jumbotron de Mario Kart funcionaba correctamente (dentro de los glitches de imagen) ya que es una manipulación que hace la CPU recortando el framebuffer y pasandolo como textura. No intervienen librerias raras y por tanto si la CPU esta bien implementada, el efecto funciona sin problemas.
Pero este es el único razonamiento que tengo que me hace dudar de cómo se esta programando el core. Si el creador dice que no es así, pues no me queda otra que creer en su palabra. Al fin y al cabo ni he visto su código ni soy una eminencia en emuladores. Aparte, si luego se llega a poder ejecutar World Driver Championship sin problemas, mejor prueba de que se ha implementado el RCP al completo no habrá.
Si que entiendo que algunas cosas no esten activas como el filtrado de texturas ya que eso sí que es un modulo separado y diferenciado dentro del RDP y que es mejor pulir otras cosas y dejarlas perfectas antes de dedicarse a ello.
Elazul escribió:Si quieres saber más, pregúntale a él, es un tio muy accesible.
Si pasas el enlace al Discord lo agradecería. Supongo que no necesitaré preguntar porque no creo que haya sido el único en expresarle las mismas dudas que las mias.
Zak_pepinillo escribió:Buenas, igual este hilo os ayuda un poco a entender de qué se trata esto de emular mediante una FPGA.
Nuked-MD MegaDrive Core
Claro, como dicen por el hilo, no es lo mismo replicar un chip transistor a transistor (o mejor dicho, cada puerta lógica del chip) que replicar la funcionalidad del mismo sin entrar en cómo lo hace especificamente.
Seguro que la mayoría de cores del Mister no estan replicando chips a nivel de puerta lógica, excepto los bien documentados o los decapados por Jotego.
¿Es Mister un emulador o no? Pues ya depende de la opinión de cada uno.
Lo importante es que sea lo más fiel posible al hardware original.