Páginas

viernes, 12 de junio de 2020

MiSTer parte 2: La versión de Antonio Villena

Probablemente dentro de los "fork" o versiones alternativas de un desarrollo, la versión del MiSTer de Antonio Villena sea una de las mejores que se pueden adquirir por la cantidad de mejoras que implementa respecto al MiSTer oficial. Y además es de origen patrio.

Los fork tienen como objetivo mejorar los desarrollos principales creando una línea alternativa con la intención de incluir nuevas implementaciones. Adquirir un fork implica comprometerse en cierta forma con esa versión. Necesitas hardware concreto que difiere del desarrollo oficial y adaptar el software para esa versión (en el caso del MiSTer en realidad con diferencias poco relevantes como veremos). Las actualizaciones de cores, Linux y menús se producen por lo general a un ritmo similar a las oficiales y están disponibles en un repositorio propio en Github.
Antonio Villena es un ingeniero informático especializado en sistemas. Comenzó en el desarrollo de FPGA con el ZX-Uno, que, como comentamos en la primera parte del artículo, está centrado en la simulación de ordenadores de 8 bits mediante el uso de la FPGA XC6SLX9, un chip de 9k celdas. El proceso de creación del ZX-Uno comenzó  en Este hilo del foro "Zona de Pruebas ".

Posteriormente tras la salida de MiSTer Antonio decidió realizar su propia versión ya que consideró que era mejorable en varios aspectos.

MEJORAS DEL MiSTer DE ANTONIO VILLENA

Lo primero a destacar es que la versión de Antonio es más compacta, más baja que la versión oficial. Esto es debido a que presenta dos placas en vez de las tres clásicas (sin contar la SDRAM que no aumenta la altura). Esto ha sido posible porque Antonio ha creado una placa custom que integra la placa IO y la placa hub USB a la vez, que él denomina placa "IOUSB" por lo que se elimina uno de esos "pisos".

La ventaja de esto además de que el MiSTer tiene menos altura, es que los conectores quedan al mismo nivel lo que facilita la conexión de los cables y evita que se enreden con mayor facilidad. Además los conectores USB quedan agrupados en un mismo lateral.

El ventilador pasa a estar dentro, entre ambas placas y directamente encima del disipador. Se dispone además de un potenciómetro para regular la velocidad de dicho ventilador.

Lateral con rueda potenciómetro para velocidad
de ventilador. En ese lateral se encuentra también
la salida HDMI y el conector de la fuente de alimentación.

Otra ventaja, que creo que es clave, es la existencia de un conector DB9 directo que sustituye a Userio. Esto permite conectar directamente un mando de Mega Drive y por tanto mandos nativos. Posteriormente si queremos usar otro tipo de mandos (Snes, Neo Geo, etc) podemos adquirir adaptadores creados también por Antonio Villena que transforman el DB9 en otras conexiones, además para dos jugadores. Este DB9 nos evita el incordio de usar una placa SNAC en el conector Userio y un adaptador de mandos, que es lo que ocurre en la versión oficial de MiSTer. 

Lateral con conector DB9 de Mega Drive. En este
lado se encuentra también la conexión Ethernet y un
MiniUSB.

También se ha realizado una modificación en la DE10-Nano que permite la incorporación de un botón de encendido y apagado. Esto, que parece una tontería, resulta muy útil en la práctica ya que permite encender y apagar el MiSTer con comodidad. En el oficial, es necesario desconectarlo de la corriente si queremos apagarlo ya sea quitando el enchufe o cortando la electricidad de la regleta si lo tenemos conectado a una. Evidentemente podemos llegar a integrar un botón de este tipo en el MiSTer oficial pero implica realizar modificaciones y tener conocimientos.

Lateral con USBs

Otra ventaja es el audio. La conexión VGA en este caso incluye audio en el pinout con la idea de que en caso de adquirir el adaptador VGA-Scart que vende Antonio, dicho Scart incorpore ya el audio y tengamos sonido, por ejemplo, en un televisor CRT. Este adaptador viene incluido si compramos un MiSTer completo. En el caso del oficial debemos sacar el sonido por el jack de salida e incorporarlo al conector scart lo cual es algo más engorroso. El mister oficial tiene un cable scart preparado para incorporar el audio de esta forma. En el caso del de Antonio Villena al usar el adaptador puede usarse cualquier cable Scart a Scart.

Lateral con conexión VGA, salida de audio (+spdif)
y entrada de audio de cassette. En este lado también están 
el botón de encendido y los lectores microSD primario
y secundario 

En realidad son dos formas de obtener el mismo resultado. Quizás la limitación de la versión de Villena es que si se usa el adaptador VGA-Scart  se anula la salida de audio jack porque lo invade dicho adaptador y físicamente dificulta su uso. Esto es un mal menor ya que en el caso de querer amplificar el sonido podemos sacar en este caso el audio desde el televisor o desde la salida del audio del ladrón scart si usamos uno que lo incorpore. La otra opción para solucionar esto si queremos usar la salida jack, es usar el cable que vende Antonio en vez de usar el adaptador.

Adaptador VGA a Scart. Incluido si compramos un MiSTer completo montado 

Los 3 botones de Reset, User y OSD se encuentran en la parte superior.

En el caso de adquirir el MiSTer ya montado a Antonio Villena (sin duda muy recomendable) el conjunto se encapsula en una carcasa transparente con el logo de MiSTer tal y como podéis ver en las fotos previas. Estas letras pueden ser retiradas dejando más huecos de ventilación si consideramos que el MiSTer se calienta más de lo deseable con determinados cores. Incluso puede retirarse la parte superior de la carcasa de manera muy sencilla quitando 4 simples tornillos, de tipo Torx 8.

El resto de conexiones no difieren del desarrollo original. Tenemos la correspondiente conexión Ethernet, entrada MicroSD primaria (al que accedemos desde la carcasa con un prolongador) entrada de casette (jack negro) con el que podemos cargar archivos desde un móvil en formato cinta simulando el funcionamiento de un lector de cassettes de la época, salida HDMI y conector de la fuente de alimentación. El lector de microSD secundario sigue presente pero su uso es muy anecdótico.
Existen dos conectores miniUSB. El que se encuentra debajo del conector DB9 puede ser usado para conectar el MiSTer al PC y ver los logs de Linux en una consola tipo puerto serie. El otro miniUSB, localizado debajo del HDMI es el que utilizan los programadores de cores del FPGA.

La salida spdif está incorporada en la salida de audio (jack verde) y se necesita un cable spdif que acabe en un conector tipo jack o usar un adaptador de spdif a jack digital (no confundir con jack analógico convencional). Esto no difiere del oficial, donde para usar el spdif debe realizarse lo mismo. La spdif proporciona estéreo digital que en la práctica no difiere en exceso del estéreo analógico. Esta salida es útil si en el futuro resulta posible sonido multicanal. Por ahora no hay ningún hardware implementado que lo soporte, porque lógicamente por ahora todo son cores de sistemas retro donde aún no existía el audio 5.1.

ADAPTADORES Y CABLES

Como comentamos antes si nos gusta la idea de usar mando nativos, Antonio Villena tiene disponible una gran cantidad de adaptadores que transforman el DB9 de Mega Drive en todo tipo de mandos de otras consolas, como los de DB15 de Neo Geo o pads de Super Nes. 

Existe una gran disponibilidad de splitters que transforman
el DB9 en un doble DB9 para dos jugadores, o en todo tipo 
de conexiones para otros mandos.

Lógicamente la opción de usar mandos USB sigue disponible y el hecho de usar mandos nativos o USB depende de las preferencias del jugador.  En mi caso, los arcade sticks que más me gustan usan la norma DB15 de Neo Geo ya sea con algún adaptador o por conexión directa.
Lo que es evidente es que los nativos tienen un input lag nulo porque el DB9 va directo al FPGA sin pasar por el procesador, de igual forma que lo hace Userio en la oficial. En la práctica si tenemos claro que queremos mandos nativos es poco aconsejable comprar un MiSTer oficial por lo poco práctico que resulta el conector Userio y porque los cores podrían no detectarlos  (lo comento más adelante).

En el caso de mandos USB debemos asegurar de que tengan ese input lag lo más bajo posible porque en algunos casos puede ser bastante perceptible. Los mandos USB deben ser gestionados por el procesador ARM a lo que hay que sumar el propio protocolo USB.
Está aceptado en la comunidad que determinados modelos de mandos USB tienen un input lag reducido, como los modelos de la marca Buffalo. De igual forma, no es buena idea de entrada usar mandos inhalámbricos a menos que tengamos claro que no introducen un input lag excesivo.

Los pads de Buffalo por USB tienen bajo input lag


En cuanto a cables de vídeo, tenemos la opción de adquirir adaptador de vídeo compuesto, Svideo y componentes. Su uso es limitado en nuestro territorio al disponer de RGB y HDMI pero útil donde el RGB no esté implementado (fuera de europa) o si tenemos alguna pantalla que sólo incorpore alguna de estas entradas. Por defecto como decía antes el MiSTer incluye el adaptador VGA a Scart cuando se compra completo para el mercado europeo. Para los otros mercados se incluye un adaptador YPbPr (vídeo por componentes) a menos que se indique otro.

Adaptador para Svideo y vídeo compuesto

Otra genialidad de Antonio y muy útil para muebles arcade es el adaptador JAMMA que permite el uso del MiSTer con una recreativa, con el potencial que esto implica para los que poseen una. Si nos ceñimos a los cores arcade, poder jugarlos en una maquina de forma indistinguible del original con su resolución real y una respuesta idéntica es algo muy a tener en cuenta.

Adaptador Jamma para MiSTer

PLACAS SEPARADAS O MONTADAS 

Es posible solicitar a Antonio las placas por separado del MiSTer o comprarlo montado. El kit de montaje incluye la placa IOUSB, carcasa, ventilador, etc pero NO la placa DE10-Nano.  En mi caso y dada mi predilección por el "plug and play" sin complicaciones, preferí adquirirlo completo y montado . Adquirí adicionalmente el adaptador DB9 a DB15 (Neo Geo).

NÚCLEOS DB9

En el caso de querer usar mandos nativos debemos tener en cuenta que los núcleos convencionales no están preparados para aceptar mandos de este tipo, sino sólo USB. Esto es debido a que el MiSTer oficial estaba pensado inicialmente para mandos con esta conexión.

Ello implica que si queremos usar mandos nativos con el MiSTer de Antonio Villena será necesario usar núcleos adaptados para DB9. Dicha adaptación la realizan y mantienen un grupo de usuarios (que pertenecen al grupo de Telegram MiSTer FPGA Español) :

Antonio Villena 
Neuro_999
Fernando Mosquera 
Miguel_T80c
Jose BG

La funcionalidad DB9 se añade a un núcleo existente en un par de horas cuando es actualizado con una nueva versión, mientras que si aparece un núcleo completamente nuevo la implementación lleva entre 24 y 48 horas.
Los núcleos DB9 se pueden encontrar en el repositorio que podéis encontrar en ESTE ENLACE aunque pueden actualizarse todos a la vez o grabarlos la primera vez usando el script de Theypsilon que menciono en la primera parte del artículo. También es necesario bajar la versión de los archivos "MiSTer" y "menu. rbf" para DB9 que permitirá usar esos mandos con los menús y que igualmente también se actualizan con ese script.

Al abrir el menú de estos cores aparece la nueva opción "UserIO Joystick" y que debemos habilitar al menos la primera vez, y posteriormente guardar los cambios. 

La primera vez es necesario activar la opción
"UserIO Joystick" en el core que ejecutemos
para poder utilizar mandos nativos

No existe un testeo intensivo de estos cores DB9 con el MiSTer oficial cuando se usa la placa SNAC y el adaptador de mandos. Podrían no funcionar muchos de ellos. No suele ser frecuente el uso de la placa SNAC por lo que si tenemos claro que queremos usar mandos nativos descartaría por completo comprar un MiSTer oficial, porque el comportamiento de los mandos nativos puede ser errático.

VALE QUIERO UN MiSTer de Antonio Villena. ¿Cómo lo compro?

Podéis acceder a su web en https://www.antoniovillena.es/store/ pero en el caso de estar interesado en algo que aparezca fuera de stock no os fiéis de eso y contactar con él ya sea a través de Telegram @Antoniovillena o su mail info@antoniovillena.es, porque puede montaros lo que necesitéis en un corto periodo de tiempo.

Podéis uniros al grupo de Telegram FPGA Español con este enlace de invitación:

5 comentarios:

Anónimo dijo...

Yo tengo esta MiSTer de Villena. La compré el año pasado, cuando todavía no se sabía nada del DB9.

La verdad es que estoy un poquito decepcionado. Imagino que ahora estará más pulido el diseño pero hay cositas que no me gustan como que las letras MiSTer si las tocas se cuelan dentro de la carcasa y si las dejas puestas sin tocarlas se calienta bastante el cacharrillo por lo que yo opté por quitarlas.

Sobre el ventilador con potenciómetro éste no sirve de nada. Es ON o es OFF, no va más lento o más rápido según gires el potenciómetro, siempre va a la misma velocidad. Además el ventilador al arrancar hace ruido. Al cabo del rato ya no se oye pero durante el primer minuto de encendido hace ruido.

Cuando yo la compré al menos no llevaba botón de encendido y apagado, tuve que hacer un apaño para ponerle yo un interruptor porque sino era enchufar y desenchufar de la corriente directamente, como una PI.


Estéticamente es bonita, no lo discuto, pero creo que habría que pulir algunas cositas. Ojo, repito que yo la compré el año pasado, desconozco si esas cosas a día de hoy ya están pulidas o no.

Sobre conectar la MiSTer a una recre se puede hacer perfectamente mediante un JammASD o un JammaCON. Yo tengo los dos y el que uso con la MiSTer en mi recre es el JammASD. En todo caso los dos van de maravilla con la MiSTer.

Un saludo.

Manuel P. Almuedo dijo...

Hola que tal

El tema de las letras está hecho a posta, están sujetas por debajo con un pequeño trozo de celo para que en caso de querer retirarlas sea tan sencillo como quitar ese celo y sacar las letras. Lógicamente si las aprietas hacia abajo puedes llegar a despegarlas y hacerlas caer dentro.....En cualquier caso yo recomiendo quitarlas para mejorar ventilación.

En la versión actual del MiSTer de Antonio Villena el potenciómetro se comporta como tal, se puede regular el ventilador en intensidad, no es "encendido" o "apagado" como comentas.
El interruptor de encendido y apagado está en la versión vendida actualmente.
Es posible que haya alternativas para jamma, pero yo me he centrado en el que vende Antonio Villena.

En definitiva, tienes una versión más antigua del MiSTer que no se corresponde con la versión actual, ya que ha sido mejorado. Antonio no prevee mejorar nada más ya que el proyecto no da más de si en cuanto a hardware. A partir de aquí es una cuestión de meterle cores.

Un saludo

Anónimo dijo...

Hola,

gracias por el artículo.
Quería preguntar lo siguiente.
¿Cómo conectaríamos esta máquina a un monitor/tv moderno? ¿No lleva conexión HDMI?

Un saludo.

Manuel P. Almuedo dijo...

Si que tiene salida HDMI lo pongo en el artículo.

Anónimo dijo...

Lo bueno seria que las empresas del sector de recreativas pusieran la mister en sus opciones de configuracion.
Aunque tambien si tienes un mueble con rasperry se puede quitar y poner la mister no? Si viene con los cores cargados, seria
configurar el mando y nada mas?
Si alguien me puede dar un poco de informacion ;) , soy bastante novato en estas cosas..