Empaquetando NES en FPGA

Cuando el desarrollador del cliente de torrent µTorrent y el intérprete del juego de aventuras de ScummVM, LucasArts, se aburran, sucederá algo genial. feliz por nosotros [Ludde] estaba un poco lento en Navidad, y con más tiempo que energía para gastar, implementó Nintendo Entertainment System en una placa de desarrollo FPGA.

El NES funcionaba con una CPU Ricoh 2A03, un chip casi idéntico al 6502 que se encuentra en los Commodore 64 y Apple II de principios de la década de 1980. Sin embargo, hay algunas diferencias entre los dos: la CPU de NES incluye una unidad de procesamiento de audio en el chip y está conectada a una unidad de procesamiento de imágenes muy interesante en otra parte de la NES. [Ludde] poner todos estos chips en su Spartan-6 FPGA con mucho código Verilog.

El resto del sistema: la RAM, la salida de pantalla y la entrada del controlador provienen de los periféricos conectados a la placa de desarrollo FPGA. [Ludde]La placa específica de no tenía un buen convertidor de digital a analógico, por lo que la salida compuesta se cambió por una salida VGA. No es una paleta de colores completamente precisa, pero sigue siendo un trabajo maravilloso para alguien que se aburre.

  • No sé dice:

    Muy agradable.

  • jero dice:

    Hay otra diferencia entre el II03 y el 6502 además del audio. El controlador de E/S está parcialmente dentro de 2a03. Nintendo también copió todo el dado 6502, pero grabaron con láser dos transistores que permitirían activar el modo decimal por razones legales. Entonces no puedes usar el modo decimal (aunque básicamente está ahí)

  • DanielG dice:

    ¿Por qué está sosteniendo un controlador SNES?

    • Daniel dice:

      “La interfaz USB de Digilent también se puede usar como un canal de comunicación bidireccional entre la FPGA y un programa que se ejecuta en la computadora. Los únicos controladores que tenía eran controladores USB SNES, así que conecté el controlador a la computadora y tiene un pequeño un programa que lee los movimientos de un joystick y los envía vía cable a la FPGA.

    • mr_jrt dice:

      El controlador SNES es básicamente un controlador NES extendido… y probablemente solo estaba mintiendo sobre SNES. Si observa los detalles, puede ver una progresión muy lógica en el pinout y la señalización de los controladores NES al controlador Gamecube. Es bastante fácil conectar un controlador SNES a la NES y hacer que funcione… porque los botones no tienen el diseño lógico (IIRC, creo que el SNES B&Y se asigna a la NES B&A, en lugar de la lógica B.&A en la almohadilla de SNES).

  • Dr. DFTBA dice:

    Pregunta estúpida, pero ¿es la FPGA la placa gigante con las 7 sierras?

    • Felipe dice:

      Así es como se ve en el artículo …

    • fdsghfd dice:

      Técnicamente es el chip negro en el centro de ese tablero 😛

  • MooglyGuy dice:

    Ya hecho hace 4 años: http://kevtris.org/Projects/console/index.html

    • gusto dice:

      Efectivamente, por lo tanto [Ludde] lo menciona en el tercer párrafo.

  • steveg dice:

    Hola brian; 6510! = 6502

    Mientras que Commodore era dueño de la tecnología mos, la compañía que diseñó y fabricó los procesadores 6501, 6502 y 6510, además de usar el 6502 en sus computadoras PET y Vic-20, ¡no lo usaron en el c64! El Commodore 64 usó el 6510 actualizado que agregó un puerto de entrada digital y un bus de direcciones de tres estados. Me doy cuenta de que puede que seas demasiado joven para recordar y que el c64 es muy similar al vice-20, pero ¿te vendría mal dedicar unos minutos a revisar tu artículo? Sé que esto es solo un blog, pero ¿podríamos obtener una apariencia de integridad periodística? Este sitio publica habitualmente descripciones que contienen errores evidentes que podrían detenerse con 5 minutos de google o, en algunos casos, incluso con solo leer el artículo original al que también está vinculado. Cuando haces esto, demuestra que no te importan los lectores, tu trabajo o las personas que hacen la piratería original que vuelves a publicar y obtienes ingresos por publicidad. Pasé mucho más tiempo en este comentario que tú en tu artículo y se nota.

    • electrón excéntrico dice:

      Eres nuevo aquí, ¿no?

      • revelación dice:

        ¡ja ja!

      • steveg dice:

        En realidad, no he leído este sitio durante mucho tiempo y recuerdo con cariño cuánto mejor era antes de que se convirtiera en un negocio, sé que estos muchachos nunca se esforzarán tanto en él, pero teniendo en cuenta que este sitio gana dinero reabastecido. otras personas trabajan y las descripciones son casi el único contenido original aquí, realmente no creo que sea mucho pedir a los bloggers que lean lo que publican y vuelvan a revisar lo que escribieron para asegurarse de que no hablen. de sus @ss.

        • punkguyta dice:

          Desafortunadamente, Steveg tiene razón, muchachos.

        • Robar dice:

          Hay discusiones filosóficas sobre la calidad y la profundidad de la educación (primaria, secundaria, postsecundaria) de las generaciones más recientes… y lo que se observa aquí sería sin duda un buen punto de partida para tales discusiones, aunque esto. probablemente no sea el foro adecuado para una larga discusión sobre esto.

          Sin embargo, como miembro de una generación más reciente, he observado entre mis compañeros y yo una tendencia hacia la precisión aproximada sin tener en cuenta la delicadeza más profunda. Queda por determinar si esto es producto de la apatía educativa (maestros o estudiantes) o dependencia tecnológica o alguna combinación de ambos, sin embargo, me complace informar que ciertamente no es intencional (en su mayor parte). El conocimiento adicional siempre es bienvenido para llenar los vacíos y prevenir futuros errores, sin embargo, la gran cantidad de información parece empujarnos a centrarnos en la retención de hechos a corto plazo a expensas del aprendizaje / evitación de patrones a largo plazo. Creo que se trata tanto del estilo educativo como de la calidad, pero desde una perspectiva macro, creo que muestra problemas obvios con nuestro sistema educativo en su conjunto. El compromiso es el de la información pura frente a la precisión/especialización técnica.

          Uno solo puede suponer que esta no es la primera vez que tales diferencias en la precisión frente a la magnitud se han determinado dentro de las ciencias. Ciertamente no creo que sea el último. Mientras tanto, sin embargo, HAD y otros foros similares existen tanto para la enseñanza como para la corrección, y si aquellos de nosotros que los necesitamos estamos tan ansiosos por recibirlos como aquellos de nosotros que los poseemos estamos dispuestos a brindarlos, entonces creo que podemos. todo seguirá prosperando.

  • Marcos dice:

    Solo me gustaría decir que también estoy “simplemente aburrido”, pero no me ven escribiendo un emulador de NES en un FPGA. Vale, no es porque no quiera, sino porque no puedo 😛

    • Greenaum dice:

      Buen punto, bien hecho, hermano!

Fernando Román
Fernando Román

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *