
El objetivo de este tutorial es construir un convertidor de video (upscaler) con firmware GBS control. Para corregir los problemas de salida en estas tarjetas (GBS) implementamos unas modificaciones, obteniendo de este modo una imagen de salida mejorada y evitando cualquier retraso con respecto a la señal de entrada.
En este tutorial utilizaremos la GBS8220 (dos salidas VGA) para explicar todo el proceso aunque podría seguirse el mismo procedimiento con las otras dos tarjetas mencionadas, dado que sólo se incide sobre el escalador Tvia Trueview5725 y el microcontrolador Myson MTV230GMV que son comunes en los 3 modelos.
Existen, no obstante, unas pequeñas mejoras (resistencias y condensadores) sobre la propia placa GBS que son diferentes según la tarjeta elegida. Más abajo explicamos que opciones tomar en función de cada placa.
Existen muchos tutoriales y modificaciones sugeridas para estas tarjetas. Nos hemos centrado en el proyecto de Robert Neumann llamado GBS CONTROL que podéis descargar de su GITHUB https://github.com/ramapcsx2/gbs-control, que a nuestro parecer es el proyecto más probado y mejor documentado actualmente.
Es curioso cuan fácil es el acceso al modo depuración/programación del sistema y la accesibilidad SCL/SDA en estas 3 placas.
GBS CONTROL es un firmware alternativo para las placas escaladoras de video basadas en Tvia Trueview5725. Su creciente lista de mejoras incluye:
- Reducido retraso de la entrada respecto a su salida muy bajo: Un retraso inapreciable, medido en menos de 7 milisegundos. Por ejemplo, si se desplaza un mouse, el resultado se mostrará en la pantalla como cabría esperar. Los escaladores deficientes podrían agregar hasta 100 ms de retraso.
- Aumento de la escala definido y nítido, que se equipara bien con otras tarjetas escaladoras (UPSCALERS), de mayor coste económico: El firmware personalizado se escala por número entero para promover mejor geometría y anchos de línea iguales. Un ajuste preestablecido genera 1280 × 960 píxeles, que es una escala perfecta de enteros x4, o por compatibilidad, puede generar 1920 × 1080
- Sin pérdida de sincronización, conmutación 240p/480i (la salida se ejecuta independientemente de la entrada, y la sincronización con la pantalla nunca cae)
- Des-entrelazador adaptativo de movimiento que se activa automáticamente y solo cuando es necesario
- Funciona con casi cualquier dispositivo: consolas de 8 bits, consolas de 16/32 bits, consolas de 2000, computadoras domésticas, etc.
- Muchas características útiles y mejoras de imagen: La imagen se puede mover y cambiar de tamaño fácilmente en cualquier dirección. El firmware ajusta automáticamente el AGC (control automático de ganancia) para los ajustes de brillo, cada vez que se activa la entrada o se enciende el escalador. ‘Peaking’ asegura una digitalización nítida del video al normalizar los picos de las transiciones de voltaje.
- Control WiFi incorporado: Interfaz de control opcional a través del navegador web, utilizando las capacidades WiFi del ESP8266.
- Buena reproducción de color con ganancia automática y compensación automática para el triple ADC de 8 bits a 160 MHz
- Capacidad de derivación opcional para, por ejemplo, trans-codificar componentes a RGB/HV en alta calidad
PASO1 (A). Adquisición de los componentes necesarios.
1- Placa UPSCALER GBS8200/GBS8220/VC9900

2- Modulo WIFI ESP8266 ESP-12 NodeMcu V3

3- Módulo generador de reloj Si5351 I2C

4- Pantalla OLED con módulo I2C incorporado.

5- Encoder rotativo (no confundir con un potenciómetro)

6- Interruptor basculante tamaño 10x15mm

7- Conector SCART (euroconector) para panel, con agujero pasante en los laterales

8- Conector de audio estéreo 3.5mm para panel

9- Modulo USB tipo A:

10- Condensador electrolítico o multicapa de 470nf (2 unidades)

11- Carcasa GBS Control GBS8200 (una salida VGA) Descargar

12- Carcasa GBS Control GBS8220 (dos salidas VGA) (MODIFICADA) Descargar

13- Soporte del módulo generador de reloj Si5351 I2C Descargar

PASO1 (B). Adquisición de los componentes opcionales.
En este apartado profundizaremos en las mejoras recomendadas en el proyecto GBS Control, son modificaciones para implementar sobre la propia PCB del GBS8200/GBS8200 «2017»o»V5″/GBS8220. La VC9900 actualmente no dispone de ninguna mejora.
Todas estas modificaciones son opcionales, en teoría todas corrigen errores, según lo expuesto en la siguiente tabla, pero no son obligadas.
Nosotros hemos probado todas las modificaciones en dicha tabla y recomendamos sólo hacer aquellas en las que hemos tenido éxito, ya que con algunas de estas obtuvimos un resultado pésimo por lo que tuvimos que deshacer esos cambios.
Las correcciones mencionadas en el proyecto GBS Control se resumen en la siguiente imagen:

Las modificaciones que se han probado (con resultado excelente) son:
Añadir la resistencia de 100 Ohm entre la señal de sincronía y masa, y substituir el condensador C11 por un condensador electrolítico de 47uF. El resto de modificaciones exceptuando la modificación R58 y el condensador entre r58 y r59 (solo para la placa GBS8220, la placa GBS8200 no necesita esta modificación) se desaconsejan porque tiene un resultado más bien pobre. A cada modificación comprobar que la calidad de imagen se mantiene y en su caso se mejora.
El resto de las modificaciones, se trata de añadir un condensador de 10uf en paralelo al condensador original que está soldado en la placa, y que corresponde a los condensadores C23,C41,C42 y C48. Según el autor esta modificación puede reducir el ruido y las ondas en la imagen.
Puentear mediante un jumper o cable los pad P8 para poner la placa en modo desarrollador tal y como se observa en la imagen de arriba..
1- Resistencia DIP de 100 Ohms:

2- Condensador electrolítico de entre 22uF y 47uF con 6.3v o superior.

3- Condensadores SMD 803 10 a 22 uF x4 (OPCIONAL)

PASO2- Modificación de la placa y instalación de los componentes
En este punto modificaremos ciertas partes de la placa GBS8200/GBS8220, que mejoran la calidad de la imagen.
A- Modificación de la placa
1- Retiraremos los potenciómetros y soldaremos directamente un cable que haga de puente tal como se observa en la siguiente imagen. Con ello mejoramos en el brillo de la imagen, ya que con los potenciómetros instalados, aunque los regulemos a su máximo recorrido, todavía queda el brillo quede algo apagado. Aunque nos quedemos si ese ajuste, se puede variar luego perfectamente mediante el software (GBSControl)

2- Añadiremos la resistencia de 100 Ohms por la parte trasera de la placa entre GND y S (señal de sincronía)

3- Substituir condensador C11 por condensador electrolítico de 22uF ojo con la polaridad. Para localizar el polo negativo de C11, podéis utilizar la opción de continuidad del polímetro (tester) y comprobar cual de los dos pads del condensador tiene continuidad (pita) con cualquier punto de masa (alimentación de la placa, o GND de cualquier conector). En el caso de la placa GBS8220 el pad negativo es el de arriba tal y como se observa en la imagen. ( La franja blanca del condensador es el pin negativo)

3- Hasta este punto daríamos por finalizado las actualizaciones de la propia placa GBS8200/GBS8220. No obstante si al finalizar todo el montaje, se observaran algunas interferencias o ondas en la imagen se recomienda añadir uno a uno y comprobando la mejora, la instalación en paralelo de un condensador de 10 uF de los condensadores C23, C41, C42 y C48 que esta en la placa. (En este tutorial, se ha prescindido de esta modificación, porque la calidad de la imagen es muy buena)


B- Instalación de los componentes
A continuación procederemos a montar el siguiente esquema. El color del cableado corresponde fielmente al utilizado para su montaje.

B-1 Módulo generador de reloj Si5351
El primer componente que montaremos será el modulo generador de reloj Si5351 I2C . Para su instalación he utilizado cableado AWG30 de un núcleo, porque hay que soldar un cable de señal en el PIN1 (PIN1 como referencia a su posición en la imagen, PIN40 respecto al datasheet TVIA TrueView 5725) del PSCALER TVIA TrueView 5725.
El motivo de utilizar este tamaño de cableado es porque los pines del Upscaler están muy juntos y este tamaño facilita su soldadura. Se puede utilizar un cable de más grosor, pero dificulta soldar un sólo pin sin que toque otros.

A continuación obtendremos 3.3V del condensador C48 para alimentar el módulo generador del reloj. Se soldará tal y como se observa en la imagen, respetando el cable rojo como polaridad positiva y el cable negro como polaridad negativa.

Instalaremos el soporte del módulo encima del disipador de aluminio del UPSCALER TVIA TrueView 5725 y ubicaremos encima el módulo de reloj tal como se observa en la siguiente imagen. Una solución alternativa sería utilizar una pistola de cola caliente en lugar del soporte.

El cable amarillo de señal se soldará en el pad central del módulo de CLK0. El cable de alimentación negativo en cualquier pad de los extremos de CLK2 y el cable positivo en el pad exterior del condensador SMD que se muestra en la siguiente imagen. Se recomienda probar el circuito una vez soldado hasta este punto, dando alimentación a la placa y comprobando que llegan 3,3V al módulo de reloj.
Modulo generador de reloj Si5351 PSCALER TVIA TrueView 5725
GBS8200/GBS8220/VC9900
| CLK0(pad central) | Cable amarillo PIN1 (PIN40 datasheet) |
| CLK2(pad exterior) | Cable negativo C48 |
| Condensador(exterior) | Cable positivo C48 |

El siguiente paso será conectar los pad SDA y SDL de este módulo al microcontrolador Myson MTV230GMV.
Para ello soldaremos SDA y SCL del generador de reloj, a los PINES 3 y 4 (respectivamente) del Myson MTV230GMV, tal y según se observa en la imagen siguiente (3 y 4 de la siguiente imagen, en realidad se llaman PIN26 y PIN25 respectivamente según la documentación del fabricante)
Modulo generador de reloj Si5351 Microcontrolador Myson MTV230GMV
| SDA | PIN3 (PIN26) |
| SCL | PIN4 (PIN25) |

Con esto daremos por finalizada la instalación del módulo generador de reloj.
B-2 Módulo WIFI ESP8266 ESP-12 NodeMcu V3
EL siguiente añadido a instalar será Modulo WIFI ESP8266 ESP-12 NodeMcu V3 que se encarga de almacenar y ejecutar el firmware alternativo para las placas GBS8200/GBS8220/VC9900.
Antes de nada soldaremos dos condensadores multicapa de 470nF en la cara inferior del NodeMcu (también se pueden utilizar dos condensadores electrolíticos del mismo valor teniendo en cuenta la polaridad, el polo negativo a GND). Un condensador irá conectado entre GND y D7 y el segundo entre GND y D5

A continuación soldaremos varios pads del módulo NodeMcu a la placa GBS8200/GBS8220/VC990 de la siguiente manera.
WIFI ESP8266 ESP-12 NodeMcu V3 GBS8200/GBS8220/VC9900
| D1 | SCL |
| D2 | SDA |
| 3V | VCC |
| GND | GND |

Ahora soldaremos otro cable entre el PIN2 (de la siguiente imagen) del microcontrolador (llamado DEBUG) a D6 del NodeMcu.


Con el cable DEBUG conectado, ya tendríamos el modulo WIFI ESP8266 preparado para funcionar. El proyecto GBS Control permite hacer todas las configuraciones conectando el NodeMcu a un teléfono móvil a través de WIFI , abriendo un navegador y accediendo a la dirección http://gbscontrol/, para mostrar el menú de configuración.
En este manual, además de la configuración a través del wifi, añadiremos un control externo para evitar necesitar de un teléfono móvil en la mayoría de configuraciones. Para ello incorporaremos un encoder rotativo para movernos por el menú de GBS Control, y una pantalla LCD de 0.96″ para mostrar la opción seleccionada.
NOTA: A través del control externo, sólo se tiene acceso a las opciones de configuración más básicas, para tener acceso a toda la configuración deberéis acceder al menú web mediante un navegador.
En la web de thingiverse existen diferentes opciones de carcasas, más sencillas, para quien no necesite este control externo (sin encoder rotativo y ni pantalla).

B-3 Control externo: Encoder rotativo y LCD 0.96″
A continuación añadiremos al proyecto el enconder rotativo y la pantalla antes mencionados. El primero nos permitirá movernos por un mini menú rotando de izquierda a derecha y seleccionar la opción pulsando en el centro. Todo ello lo visualizaremos en la pantalla I2C de un tamaño de 0.96″.
Para conectar el encoder seguiremos el siguiente esquema:

Nota: Los condensadores que se observan en el esquema son los que hemos instalado anteriormente debajo del Módulo WIFI ESP8266
Encoder rotativo Módulo WIFI ESP8266
| A | D7 |
| C | GND |
| B | D5 |
| 1 | D3 |
| 2 | GND |

Para realizar el conexionado del encoder con el módulo WIFI NodeMcu he soldado unos pines individuales en el propio módulo, con el objetivo de hacer los componentes modulares y así se puedan conectar y desconectar tantas veces como sea necesario y hacer pruebas. En vuestro caso se puede soldar directamente todo.
Normalmente en los encoder rotativos no hay marcas ni símbolos que indiquen la función de cada pin, por tanto hay que conectar y probar hasta encontrar como queremos que funcione. Es habitual una pauta como «en un lateral hay 3 pines y en el contrario 2». En tal caso, si tomamos el lado que hay 3 pines como en la imagen superior, A y B se encargan del desplazamiento arriba o abajo en el menú de opciones. Los conectaremos a D7 y D5 del módulo NodeMcu. Podemos conectarlos en un sentido u otro según queramos que la opción suba al girar a izquierdas o al girar a derechas, así que como digo habrá que probar. El pin central (C) siempre irá conectado a masa (GND). En mi caso he conectado el PIN C con el pin2 del encoder rotativo ya que ese pin tiene otro cable a GND en el módulo ESP8266.
Nos encargaremos ahora de conectar el otro lateral del encoder, donde hay dos marcados como pin1 y pin2. La función de estos pines es de conectar el pulsador del encoder con masa, por tanto, también se pueden intercambiar, no obstante, aconsejamos seguir el esquema de colores en la imagen anterior para evitar confusiones y conectar el pin2 a masa como ya hemos comentado en el párrafo anterior, y el pin1 a D3 en el módulo NodeMcu.
Para conectar la pantalla I2C LCD 0.96 seguiremos el siguiente esquema:

| Pantalla LCD 0.96 | Módulo WIFI ESP8266 |
| GND | GND |
| VCC | 3V |
| SCL | D1 |
| SDA | D2 |

Para montar la LCD seguiremos el esquema de las imágenes anteriores y en mi caso he soldado los cables por la parte inferior de la placa, ya que en la superior está saturado ya de conexiones. En el conexionado del extremo de la pantalla es preferible utilizar unos pines para poder separar dicha pantalla del módulo NodeMcu ESP8266, aunque como ya he comentado, todos los componentes pueden ser soldados directamente entre si.
Paso3. Ensamblaje de todos los componentes en la carcasa 3D.
Dependiendo de la placa elegida para el montaje, ya sea la GBS8200 / GBS8220 o la VC9900, podréis encontrar en la página de de thingiverse diferentes modelos para imprimir, adaptados a cada una. En este tutorial hemos utilizado una carcasa modificada para la GBS8220 que a nuestro entender es la más completa. La podéis descargar de este enlace.
Para empezar, colocaremos la placa GBS8220 y la atornillaremos en sus 4 puntos de fijación tal y como se observa en la siguiente imagen.

Una vez fijada la placa instalaremos el cableado para el interruptor de alimentación. Junto al conector de alimentación encontraremos un diodo rectificador de barrera. Lo desoldaremos y volveremos a soldar pero solo el pad superior (positivo) tal y como se observa en la imagen siguiente. Recomendamos que una vez soldado comprobéis con un multímetro que no haya continuidad entre el pad inferior y el polo negativo del diodo.

Aquí soldaremos los cables del interruptor, uno en el pad inferior y otro en el polo negativo del diodo.

Y por último los dos cable irán conectados a un interruptor que nos permitirá encender el dispositivo.
Nota: la imagen siguiente es para mostrar el interruptor, no os fijéis en el resto del dispositivo que está en una etapa más avanzada.

A continuación instalaremos el módulo Modulo NodeMcu fijando la placa en los 3 puntos marcados en rojo tal y como se observa en la imagen siguiente. El punto en amarillo se recomienda no atornillar porque monta encima de la resistencia de la placa. Conectaremos el cable amarillo (PIN DEBUG) del microcontrolador Myson al PIN D6 del modulo NodeMcu. Además conectaremos los pines que conectan VCC,GND,SDA y SDL explicados anteriormente

Para instalar el módulo USB, sencillamente soldaremos los cables positivo y negativo que corresponden a las señales GND y VBUS del módulo USB y los conectaremos al conector JST de 5v, de la placa GBS8200/GBS8220/VC9900 (recordad, cable rojo para positivo y cable negro para negativo). Para fijar el módulo USB se han hecho dos agujeros de 3mm a la carcasa 3D, cosa que no tiene el diseño 3D, y utilizar un par de tornillos y sus tuercas tal y como se observa en la imagen. Su función se explicará más adelante.

Fijaremos la pantalla OLED a la carcasa con dos tornillos. Estos son más pequeños (M2) y más difíciles de encontrar. En su defecto se puede utilizar pegamento de cola caliente

Seguimos con el montaje del euroconector (SCART) tal y como se observa en el siguiente esquema. Para ello se a utilizado el cable RGBS que viene con la placa GBS8200/GBS8220/VC8800. Hay que conectar todas las masas como se observa en el esquema

A continuación instalaremos y conectaremos el euroconector (SCART) a la placa GBS. Como el agujero del euroconector es algo menor de 3mm utilizaremos tornillos de métrico 3mm y apretando un poco el tornillo sobre el plástico el propio tornillo hace su rosca. También conectaremos el cable de la pantalla OLED tal y como se observa en la siguiente imagen.

El siguiente paso es instalar un conector jack hembra de audio para panel, con esto separaremos las señales de audio del euroconector (SCART). Más adelante explicaremos por qué.

El esquema para conectar el conector de audio al euroconector (SCART) se muestra en la siguiente imagen.
NOTA: He utilizado para este tutorial cables del mismo color que las conexiones en los esquemas mostrados, y la posición del euroconector una vez instalado en la carcasa 3D es exactamente tal como se muestra en la imagen de la derecha.

Por último instalaremos el encoder rotativo

Para conectar el encoder utilizaremos la correspondencia que se observa en la imagen, identificada por colores.

Paso4. Instalación del firmware GBS Control en el módulo NodeMcu WIFIESP8266 mediante el IDE Arduino.
Llegados a este punto solo faltará cargar la firm del GBS_Control al microcontrolador WIFIESP8266. Para evitar problemas se recomienda utilizar en todo el proceso los programas y librerías que se detallan aquí y que se pueden descargar de este enlace. Se ha podido comprobar que el método más efectivo incluso si utilizamos una versión diferente del IDE será utilizar la misma versión exacta de librerías (ni anteriores, ni posteriores) ya que en otro caso es más que probable que acabemos en un «error de compilación».
Para este proceso primero descargaremos el Arduino IDE versión 1.8.11 de este enlace e instalaremos el programa con los valores por defecto.
Una vez instalado este, tendremos que instalar el soporte para el microcontrolador ESP 8266.
Dentro del IDE Arduino vamos ARCHIVO/PREFERECIAS y en la casilla de «gestor de URLs adicionales de tarjetas» insertamos esta dirección ( http://arduino.esp8266.com/stable/package_esp8266com_index.json)

Pulsamos OK y a continuación en el menú principal vamos a HERRAMIENTAS/PLACA:/GESTOR DE TARJETAS

Seguidamente buscaremos el soporte ESP8266 y elegiremos la versión 2.6.3, nunca superior a la versión 3.0.0 ya que, según comenta el autor del código, daría error de compilación. En mi caso probé la versión 2.7.1 y también funcionó adecuadamente. Por último, pulsaremos sobre instalar.

A continuación instalaremos las librerías que se adjuntan con este tutorial. Se recomienda utilizar estas para evitar problemas con la compilación del código. Iremos a PROGRAMA/INCLUIR LIBRERÍA/AÑADIR BIBLIOTECA ZIP/ y añadiremos una a una las cuatro librerías que se observan en la imagen de abajo.

Configuraremos la placa esp8266 modificando los parámetros que se observan en la imagen siguiente, marcados en rojo

Ahora haremos una primera prueba de compilación del código GBSControl, para confirmar que no hay ningún error de compilación.

Conectaremos el ESP8266 al PC y nos mostrará el puerto disponible en que conectó la placa. En nuestro caso es el puerto COM5.

Comprobaremos que no tenemos ningún error en la compilación y a continuación cargaremos el programa en el microcontrolador ESP8266.

Paso5. Accediendo al menú del GBS Control mediante WIFI.
Para acceder a todas las funciones del menú «GBS Control» deberemos acceder a través de un PC o un smartphone. Dado que este último más práctico, seguiremos con el en este tutorial.
PC

Dispositivo móvil

En cualquier caso, el primer paso a seguir es escanear las redes wifi y localizar la red GBSCONTROL. La contraseña por defecto es: qqqqqqqq (es decir, 8 veces «q»).

Una vez conectado por WIFI al microcontrolador abriremos un navegador del teléfono móvil e introduciremos la dirección http://gbscontrol:80 o http://gbscontrol. Nos mostrará la siguiente pantalla mientras carga el menú principal.

Una vez cargado mostrará el menú con diferentes opciones de resolución de pantalla y para guardar la configuración para tantos sistemas diferentes como tengamos. No analizaremos todas las opciones del menú para no extender el manual en exceso, podéis probar cada opción por vuestra cuenta si queréis descubrir todas las posibilidades de este producto.

En este ejemplo hemos creados dos configuraciones para dos sistemas diferentes y podemos acceder a ellas pulsado encima del sistema y a continuación pulsando «load preset«. Para crear una configuración nueva tan basta con modificar aquellas funciones que necesitemos en los iconos de selección disponibles y pulsar sobre «save preset«, pedirá un nombre y quedará guardado para usos posteriores.

El siguiente icono permite ajustar el brillo de la pantalla y su posición, su escala y los bordes, permitiéndonos centrar la imagen en nuestra pantalla.

En esta pantalla nos permite añadir el efecto «scanlines» y el «line filter» que modifica el tipo de scanlines. En cuanto al resto de las opciones, no se aprecia nada significativo.



Una configuración por defecto que funciona muy bien con el sistema MSX sería:
RESOLUCIÓN: 1280×720
GANANCIA DEL BRILLO : Al máximo
ACTIVADO: SCANLINES y LINE FILTER.


La imagen es realmente buena, sobre todo porque recrea el modo en que las scanlines aparecían en las pantallas CRT de manera muy satisfactoria, lo cual revive la experiencia y sensaciones tal como se veían estos computadores en la época. No se detectan parpadeos ni interferencias… francamente es un proyecto muy interesante de realizar si tenemos cualquier equipo con varios años a su espalda.
Paso5. Accediendo al menú del GBS Control mediante mando rotatorio.
Mediante el mando de control externo accedemos a un menú muy básico. Permite cambiar la resolución de pantalla, seleccionar las configuraciones predefinidas de los diferentes sistemas pre-grabados, volver a los valores por defecto todas las opciones y por último un menú con información de la resolución en que funciona el dispositivo y sus hercios.


Paso7. Añadir salida HDMI al GBS Control
Para rizar el rizo vamos a terminar el tutorial añadiendo al GBS Control el conector de video más utilizado en las pantallas actuales: El HDMI. Para ello hay diferentes soluciones en las diversas tiendas online (como por ejemplo Aliexpress). Para este proyecto hemos elegido un adaptador VGA-HDMI que cumple todos los requisitos.

No tiene una marca conocida o referencia alguna, pero si escribimos en el buscador de la tienda «adaptador VGA-HDMI» acostumbra a salir entre las primeras opciones disponibles.
El proyecto GBS Control incorpora todas las conexiones que requiere este tipo de adaptador sin tener que añadir cableado adicional, como la alimentación o la entrada de audio. Para ello añadimos en la trasera de la caja la salida USB 5V y la salida de audio. La conexión del adaptador quedaría tal y como se observa en la imagen siguiente.

Con ello damos por concluido el proyecto, y comentar que aunque pueda ser algo laborioso de construir, su dificultad es baja, y el resultado final es muy bueno porque funciona verdaderamente bien. Buena calidad de imagen sin distorsión ni parpadeos, infinidad de ajustes y una experiencia de visualización similar a las pantallas antiguas CRT.

Por último añadimos aquí un video en el que se muestra como construir este proyecto. Esperamos que este video ayude a resolver cualquier duda.
Gracias a Aquis Jacks por su contribución.
Redactado por Capsule5000