1

Tema: Mister: el FPGA que nos viene.

Dicho mal y pronto -- "FPGA" es "hardware" programable al vuelo, de manera que permite cada vez ejecutar código que, en nuestro caso, emule sin capas una configuración determinada de circuitos integrados (otro "hardware", vaya), en tanto en cuanto haya capacidad. "Sin capas" es el término clave, ya que es lo que lo distingue, en la práctica, de la emulación por "software" de toda la vida, librándose de las imposiciones de un sistema operativo y de unos componentes supeditados al mismo. Dicho de otra manera, a la hora de emular sistemas antiguos, son tres las ventajas de un sistema FPGA frente a un ordenador: cuasi-inmediatez de instalación y uso, predecibilidad (universalización) de los resultados y optimización de la latencia (respuesta al control). A nivel de desarrollador, la portabilidad e independencia del código creado es el principal aliciente.

Mister [ > ] es un proyecto por aficionados que crean y ofrecen código (núcleos) destinado a emular (replicar) todo tipo de "hardware" y sistemas antiguos bajo una instalación FPGA basada en la placa Terasic DE-10 Nano. Al ser un proyecto más o menos "abierto", ya es posible aprovecharse de él sin más coste que el de los componentes requeridos.

https://i.imgur.com/BWMdcBw.png

La lista de sistemas y placas emulados crece mes tras mes (hay un listado actualizado en la columna de navegación de la página tras el enlace anterior), y, aunque parece ser que el grado de fidelidad en general es considerable actualmente, es raro el sistema o placa replicado al 100 % a fecha de hoy, aunque los avances se pueden producir en cualquier momento ya que el grado de entusiasmo no ha dejado de crecer, lo que hace que sea una opción tan interesante. Lo malo --como ha ocurrido tradicionalmente con MAME-- es la dificultad que existe para saber qué falta por emular en cada núcleo para considerar que está libre de fallos a nivel de usuario. El foro que centraliza la información oficial es éste:

http://www.atari-forum.com/viewforum.php?f=117

...donde cada núcleo viene a tener un hilo y se publican religiosamente las fechas de cada progreso o arreglo, pero raramente el contenido de éstos.

Que nadie espere, por otra parte, que Mister emule algún día "hardware" de 32 bits en adelante mientras se base en la mencionada placa (aunque parece que la aparición de Analogue Pocket vendría a demostrar que, al menos, GBA sería posible incluso con menor capacidad). No es un sustituto de Groovy MAME, si no un complemento. Y, si algún día MAME ofrece emulación sin deficiencias de FC, SFC, MD, PCE, etc. etc., es probable que Mister sea redundante para un usuario que tiene una buena instalación de Groovy MAME (e incluso ya hoy la existencia de Retro Arch puede ser una buena solución para muchos de esos sistemas), pero hay quien afirma que hasta cosas que llevan tantos años perfeccionándose en MAME como Makaimura y otras placas primigenias de Capcom ya se emulan con más fidelidad en Mister.


<Sigue>

2

Re: Mister: el FPGA que nos viene.

Una configuración básica de "hardware" es poco aconsejable si se quiere abarcar la totalidad de los sistemas actualmente emulados, o acaso, buena parte de los más interesantes. El núcleo que más "hardware" demanda a día de hoy es el de Neo Geo, que, aunque aún por llegar a un estado plenamente funcional, promete hacerlo próximamente, para lo que se indica actualmente el mayor módulo de SDRAM (128 MB), recientemente lanzado, incluso si sólo se termina usando para el puñado de juegos de mayor peso de esta plataforma (aunque parece que se trabaja en otras opciones). Algunos núcleos de ordenadores (familia MSX, por ejemplo) necesitan una segunda tarjeta SD, y, por tanto, el "slot" que incluye el módulo de I/O --además de que este módulo es el que permite la instalación directa de un más-que-recomendado ventilador/disipador--, pero para la conexión de dispositivos de interfaz (teclado, mandos, etc.), a priori, basta con el DE-10 Nano y un concentrador de USB.

Nótese que el módulo de I/O se revisa con cierta frecuencia. La última versión integra soporte de USB 3.0. En función del módulo de SDRAM escogido, se dan, además, limitaciones físicas para dicho módulo. Existen, no obstante, soluciones todo-en-uno, incluso para 128 MB, pero echan por tierra una de las ventajas de Mister -- la condición modular:

https://www.cbmstuff.com/proddetail.php … 10-SEB-128



Las dos cuestiones clave en relación a la configuración de "hardware" para un usuario de CRT:

- Salidas analógicas: El grueso de los núcleos de Mister se programan ya para poder optar por los modos de vídeos nativos de los sistemas emulados, (mayormente, de 15 kHz), pero es un dato a confirmar antes, ya que depende del autor del núcleo. Hasta hace poco, requería módulo de I/O (con su salida D-sub para vídeo), pero actualmente existe un modo experimental consistente en usar un conversor digital-analógico externo. Detalles, dispositivos probados y progresos, aquí:

http://www.atari-forum.com/viewtopic.ph … mp;t=37304


- Respuesta al control: Para mínima latencia (o virtualmente inexistente) hay (o habrá, con suerte) tres opciones que vienen a hacer las veces de módulo de puertos USB (por lo que requieren módulo de I/O), si bien parece que dependen de una implementación por núcleo, que no he llegado a ver hasta qué grado existe actualmente:

         a) Blisster: Básicamente, un módulo con 5 entradas USB y 2 HDMI. Estas entradas permiten la conexión de la práctica totalidad de los mandos naturales de cualquier sistema antiguo (lista aquí: [ > ]) mediante cables-adaptadores de la casa a adquirir independientemente. Las entradas USB emplean una tecnología propia (LLAPI) para minimizar la respuesta, pero parece que no permiten dispositivos bajo otros protocolos (si bien, para eso estaría el módulo de I/O, en cualquier caso):

https://www.facebook.com/blissboxadapter/

https://bliss-box.net/support

https://github.com/Kitrinx/LLAPI

         b) LL Cool Joy: Actualmente, sólo es un prototipo en pruebas, pero se espera que integre, además de un nº de puertos USB, puertos DB-9 y DB-15, que permiten conexión directa de mandos según norma Atari y demás:

https://pbs.twimg.com/media/DuwnsRLWwAElzV1.jpg

https://twitter.com/MisterAddons/status … 0474768384

         c) Low-Latency Open Adapter: Sólo en fase de proyecto aún. Protocolos X-Input y LLAPI:

https://github.com/bootsector/LLOAD

3 (editado por Recap 09-12-2019 17:36:16)

Re: Mister: el FPGA que nos viene.

Ejemplo de uso y configuración de uno de los núcleos más populares:

https://youtu.be/_1bZfnlKsEc?t=236




Espacio para enlazar vendedores en Europa:

https://www.mouser.es/ProductDetail/Ter … 3fBfOCA%3D

https://www.digikey.com/product-detail/ … ND/6817231 (EE. UU.)

https://www.facebook.com/retroshoppontopt/

https://www.antoniovillena.es/store/

https://ultimatemister.com/

4

Re: Mister: el FPGA que nos viene.

¿Próximamente...?

https://youtu.be/BYSXY-xh_aE

https://twitter.com/SmokeMonsterTWI/sta … 5936389120

5

Re: Mister: el FPGA que nos viene.

Muchas gracias por esta concisa y precisa introducción. El asunto en cuestión bien merece un hilo propio.

6

Re: Mister: el FPGA que nos viene.

Para corregir y ampliar la información sobre Blisster, que es la única solución terminada para minimización de la respuesta al control (con mandos de otros sistemas):

https://i.imgur.com/6wsFG81.png

- Necesita el módulo de I/O en versión 5.6 o superior.

- Los puertos USB funcionan como los de cualquier otro módulo de USB, con protocolo SDL 2.0 (equivalente a Direct Input, se ve)

- Son la entradas HDMI (2) las que son compatibles con LLAPI y los cables adaptadores (se necesita al menos uno, pero son baratos y de infinidad de estándares)

- LLAPI ha de estar implementado en el núcleo a ejecutar y, de momento al menos, se mantiene en conjunto en forma de variante: https://github.com/MiSTer-LLAPI

- Reasignación de funciones por botón aparentemente no se puede hacer desde Mister por ahora; sólo externamente y se salvan por puerto

7

Re: Mister: el FPGA que nos viene.

Primeros pasos publicados para GBA:

Hardware is Terasic DE2-115 so about same size of FPGA as Mister but without ARM Core. The GBA core is rather small, so it would fit in most modern FPGA boards as well. External Memory is the main concern, as GBA games take up to 32Mbyte + external Ram + FlashSave.

Code will be uploaded to github soon, you also find some more technical details there:

https://github.com/RobertPeip/FPGBA

I took a lot of info from GBAtek and VBA-m sourcecode, especially the affine drawing formulas. The code itself is writting 100% from me, partly reusing my old GBC Core, e.g. for Soundchannels.

https://www.reddit.com/r/fpgagaming/com … ial_games/

8

Re: Mister: el FPGA que nos viene.

Núcleos para Green Beret y Tora he no Michi, parece que, al menos éste, aún por depurar:

https://github.com/MrX-8B/MiSTer-Arcade … r/releases

https://github.com/jotego/jtbin/tree/master/mister/tora

https://twitter.com/topapate/status/1195029067868917761

9

Re: Mister: el FPGA que nos viene.

Gracias por este hilo

10

Re: Mister: el FPGA que nos viene.

Núcleos para GBA y MCD lanzados, aún con deficiencias:

https://github.com/MiSTer-devel/GBA_MiSTer

https://github.com/MiSTer-devel/MegaCD_MiSTer


Uno para Black Dragon y otro para Double Dragon estarían cocinándose.

11

Re: Mister: el FPGA que nos viene.

The regular interval for USB controllers is usually 4 ~ 8ms. On this black magic chapter, we will set it to 1ms for pretty much 99.99% of the controllers out there or 0.125ms for high/super speed controllers.

https://github.com/eniva/MisSTer_Guides … lling-Rate

Básicamente, lo pondría al nivel de LLAPI/Blisster usando meramente "software".




Primeros pasos para un posible núcleo de PS:

https://twitter.com/Laxer3A/status/1198341493502750721

https://twitter.com/Laxer3A/status/1201880251816710150

12

Re: Mister: el FPGA que nos viene.

Implementación para uso de unidad de almacenamiento por USB en sustitución de tarjeta SD (o casi), en curso:

https://twitter.com/SmokeMonsterTWI/sta … 9416354816