EMaDeLoC escribió:No es el primero en intentar un core de N64 en FPGA:
En el vídeo sale una demo gráfica corriendo en un core del RCP en una placa Nexys A7, junto a una placa custom que tiene un slot para el cartucho y un VR4300, la CPU de la N64. La Nexys A7 es una placa que cuesta sobre 450-500€ (depende de si lleva IVA o no) y lleva de FPGA un Xilinx XC7A100T con 100k celdas lógicas. La DE-10 nano lleva un Cyclone® V de 110k celdas lógicas. Parece que estan bastante igualadas, pero el Xilinx es superior en otros aspectos, de ahí que su precio sea el doble que la DE-10 nano (o casi, que la DE-10 va subiendo poco a poco).
El tema es que la CPU de la N64 no es lo más complejo, lo es el RCP. Es un procesador que ejecuta sus propios códigos, tanto para gráficos como para audio. Con juegos que usan el SDK oficial de Nintendo no hay mucho problema, se emulan las mismas funciones de las librerias y no es necesario emular todo el RCP. Así surgió el primer emulador de N64. El problema es que juegos posteriores usan su propias librerias y microcódigo del RCP y ahí ya hay que emular el RCP al completo, o al menos la parte de los juegos que actualmente están usando.
Una cosa que dice el desarrollador del core es que el ancho de banda de la RAM del Mister es suficiente para emular la RAM de la N64... A ver, una cosa es que haya mucho ancho de banda, y otra es la velocidad. La RAM de la N64 funciona a 18bits y 250MHz (lee 9bits dos veces por ciclo de reloj, por eso se dice que va a 50MHz, pero en realidad va a 250MHz). El RCP no pide 64bits en 100MHz, quiere 18bits a 250MHz. Supongo que si dicen que hay ancho de banda suficiente es porque piensan hacer algún truco para que la RAM del core vaya a 250MHz o que todo el proceso este optimizado de alguna forma para que no haya problemas aún corriendo a 100MHz.
En fin, veremos a ver que tal va el desarrollo del core. Igual no se puede, igual si se puede, o solo se puede con determinados juegos.
Mientras, como parece que hay competencia, igual se ponen ambos desarrolladores las pilas o comparten información: