2020-07-12 RG350 Sustitución de pantalla 480p

Screen JT035IPS02-V0

Recientemente ha aparecido un modelo de RG350 llamado RG350M con unas pocas actualizaciones, de las cuales la más importante es la pantalla. Si en el modelo original la pantalla tiene una resolución de 320x240, en el nuevo modelo es de 640x480. Es decir multiplica por 4 el número de píxeles de la original.

Al final del artículo comentaré lo que opino sobre si merece la pena la nueva pantalla. Como el resto del hardware es idéntico, el controlador de pantalla está en el propio procesador (que no cambia como digo) y el conector de la pantalla también es el mismo (54 pines), la pantalla de alta resolución es compatible y se puede instalar en el modelo antiguo. Vamos a ver cómo realizar la modificación.

Compra de la pantalla

La pantalla tiene como nombre en código JT035IPS02-V0 y se encuentra fácilmente en Aliexpress por entre 20 y 30€. Un enlace de compra sería por ejemplo éste.

Recibiremos algo como lo que se ve al comienzo de este artículo.

Instalación hardware

Vamos a ver el proceso de sustitución. Necesitaremos los siguientes elementos:

Screen Installation 1

Para trabajar con la consola y dado que mantengo los sticks altos originales, utilizo la almohadilla que venía en la caja de la consola, de esta forma podremos tenerla apoyada en la mesa de forma estable por la cara frontal:

Screen Installation 2 Screen Installation 3

Empezamos retirando los 4 tornillos y una vez levantada la tapa trasera apartamos también los 4 gatillos que nos estorbarán durante el proceso. Soltamos el conector de la batería para poder apartar completamente la tapa trasera con la batería pegada:

Screen Installation 4

Tenemos que extraer completamente la placa base, para lo que sólo es necesario retirar los 6 tornillos que la mantienen unida a la carcasa y las cintas de datos de los sticks analógicos. Empezamos levantando la pestaña del conector del cable de cinta de los sticks:

Screen Installation 5

Una vez desconectados los dos sticks analógicos, desatornillamos los 6 tornillos que vemos marcados con una flecha roja a continuación:

Screen Installation 6

A partir de ese momento podremos levantar la placa base. Lo haremos basculando sobre la parte inferior, es decir, levantando la parte de arriba, ya que el cable de datos de la pantalla tiene la articulación en la parte inferior:

Screen Installation 7 Screen Installation 8

Ahora tenemos que desconectar la pantalla. Empezamos levantando la pestaña que aprisiona el cable de cinta en el conector. Aunque en la foto se ven unas pinzas, es mejor utilizar la uña o un elemento plano, ya que la pestaña está sujeta con bastante fuerza y unas pinzas finas seguramente la partirían:

Screen Installation 9 Screen Installation 10

En este momento ya podremos abatir totalmente la placa base para alcanzar la pantalla de forma completa. Hay que tener cuidado con los cables de los altavoces. Están lo suficientemente holgados como para que podamos abatir la placa sin problemas, pero los vigilaremos durante el proceso para evitar tirones en las soldaduras que saltarían fácilmente al ser tan pequeñas:

Screen Installation 11

Llegamos a uno de los momentos más complicados del montaje y es que la pantalla que vamos a retirar está pegada. En mi caso hice palanca con cuidado con las pinzas de punta fina, empezando por la parte superior izquierda y poco a poco salió. Lo que ocurrió en realidad es que la pantalla se soltó del marco metálico que tiene. No es una mala situación en realidad. De hecho podemos aprovechar que el marco es idéntico en ambos modelos de pantalla, para quitárselo a la nueva y encajarla en el marco que ha quedado pegado en la consola. No lo hice así porque hasta no tener el marco en la mano no tuve claro que eran iguales.

Screen Installation 12

Así pues retiré el marco que había quedado pegado. Es muy fácil que se doble al hacerlo ya que se trata de una chapa metálica muy fina. Seguramente sea buena idea aplicar algo de aire caliente antes de empezar a hacer palanca. Sin pasarse ya que la carcasa de la consola es de plástico.

Screen Installation 13

En caso de que hayamos retirado el marco antiguo necesitaremos cinta de doble cara como la que lo mantenía pegado a la carcasa (si no la tenemos, éste será otro motivo para reutilizar el marco antiguo, ya que como decimos son compatibles entre ambas pantallas):

Screen Installation 14

Apliqué cuatro tiras de cinta de doble cara en los cuatro lados de la pantalla (en la foto falta la inferior que apliqué directamente sobre la pantalla). Puede que sea mejor idea aplicar sólo un par de tiras arriba y abajo por ejemplo para facilitar desmontajes en el futuro:

Screen Installation 15

En este momento colocamos la nueva pantalla en su lugar (dejando la articulación de la cinta en la parte inferior):

Screen Installation 16

Ahora introducimos el extremo del cable de cinta de la pantalla por la ranura de la placa base e insertamos y sujetamos (bajando la pestaña) el cable al conector. Al ser la cinta de datos algo rígida y estar la ranura en la PCB por la que asoma tan cerca del conector, puede resultar algo complicado. Es cuestión de armarse de paciencia y aprovechar que todavía no hemos atornillado la placa base para tener algo de juego pasando más cable de cinta de lo normal a través de la ranura:

Screen Installation 17

Antes de terminar de encajar la placa base en su lugar, nos fijamos en los botones de la parte inferior (Power, Volumen y Reset). Es muy probable que se hayan descolgado de su lugar, por lo que los recolocaremos:

Screen Installation 18

Ya sólo queda rearmar la consola procediendo como al principio pero en sentido inverso, es decir, empezamos por encajar la placa base y recolocar los 6 tornillos:

Screen Installation 19

Ahora recolocamos los cables de cinta de los sticks fijándolos bajando la pestaña que cierra el contacto. También reponemos los botones de los gatillos que habíamos apartado al principio:

Screen Installation 20

Ahora tocaría reconectar la batería y atornillar la tapa trasera, pero no lo vamos a hacer todavía ya que la consola arrancaría y dado que no hemos tocado el sistema la pantalla no se vería. Así pues pasamos al apartado de instalación del software antes de terminar.

Instalación software

El firmware original de la RG350 no da soporte directo a la pantalla de alta resolución, por lo que necesitamos ciertas piezas del firmware de la RG350M para que funcione. En concreto necesitamos el kernel Linux que hay en la partición /boot, es decir la primera partición de la tarjeta interna (la única que es de tipo FAT y que por tanto nos facilita el intercambio de ficheros). Como uso ROGUE, voy a tomar el fichero del kernel directamente de los releases que ofrece Ninoh. Concretamente el fichero del kernel es el siguiente (correspondiente a la versión 1.7.10 de ROGUE que era la disponible en el momento de escribir este artículo):

Aunque en teoría será suficiente con sustituir el kernel Linux, prefiero sustituir también los módulos y el rootfs (sistema de archivos raíz del sistema) por si hay también cambios en ellos respecto del firmware del modelo normal de la RG350:

En caso de preferir el firmware BASE, no he localizado estos ficheros por separado, por lo que nos tocará flashear la tarjeta interna completamente con este fichero:

Una vez hechos estos cambios, ya podemos conectar la batería y cerrar la tapa trasera. Al conectar la batería la consola arrancará y deberemos ver el logo de ROGUE en alta resolución:

Screen Installation 21

Tutorial en video

Todo el proceso anterior coincide más o menos con el siguiente vídeo que puede venir bien para "rellenar los huecos" de la explicación anterior. En el video se sustituye la pantalla de una RG350 por otra de la misma resolución, pero el proceso para cambiar por una de resolución mayor es idéntico:

¿Merece la pena el cambio?

Por último, haré unos comentarios sobre las ventajas y desventajas que tiene el cambio de pantalla y si merece la pena.

Como sabemos hay muchos sistemas retro en los que encaja bastante bien la resolución de la pantalla de 320x240 de la RG350 original. Esto ocurre en la mayoría de las consolas de 8 y 16 bit. En cuanto a los sistemas que no coincide, podemos encontrarnos casos que queden por debajo (Game Boy por ejemplo) y por encima (PlayStation fundamentalmente). En ambos casos tener una pantalla de mayor resolución es una ventaja. En el caso de sistemas con más resolución resulta muy evidente, pero también en sistemas de baja resolución ya que al hacer el escalado "hacia arriba" tendremos más píxeles para jugar, para aplicar distintos efectos de suavizado o para simular el acusado efecto dot matrix que solían tener pantallas como las de la Game Boy.

De todas formas, a grandes rasgos se puede decir que la pantalla de 480p merece fundamentalmente la pena si vamos a jugar a ciertos juegos de alta resolución en PlayStation, DOSBox y Arcade.

En cuanto a los contras, al haber más resolución, el proceso de scaling en emuladores o juegos que funcionan a baja resolución, en ocasiones produce efectos de suavizado o emborronado que no gustan a muchos usuarios. En general casi siempre existe manera de solucionar estos problemas tocando los ajustes de scaling del emulador (de hecho a veces se pueden conseguir mejoras o efectos muy interesantes como luego veremos). Por último hay que mencionar un problema que parecen tener la mayoría de los usuarios de esta pantalla (y del modelo M de la consola) y es que parece no restaurar correctamente cuando se sale de la suspensión de pantalla. En ocasiones tras reactivar la pantalla, aparecen cercos de luz y parpadeos por los bordes.

Otro aspecto a considerar, que siempre me parece importante para valorar estas retroconsolas, es el de la escena de desarrollo o scene. Sólo el tiempo lo dirá, pero parece lógico pensar que gradualmente se irá ampliando la scene del modelo M y reduciendo la de la normal. Aunque también podría ocurrir lo contrario si no "cuajan" las ventas del modelo M frente al normal y teniendo en cuenta además la cantidad de consolas basadas en la misma arquitectura que continúan con la pantalla de baja resolución (RG280, PocketGo 2 V2, RG350P; sin olvidar la que empezó todo GCW0).

Otro contra es la pérdida de rendimiento que se tiene en el modelo M por la sobrecarga que supone en un bus de datos de la máquina al tener que transferir más información. Esta pérdida de rendimiento se estima en alrededor de un 5%. En este hilo de Dingoonity se aportan detalles del problema.

Para terminar vamos a mostrar algunos pantallazos de juegos tal y como se verían en la pantalla de 240p frente a la de 480p. Las dos imágenes se han escalado a 640x480 para que se puedan comparar fácilmente. Aún así debo decir que los pantallazos no hacen justicia. La pantalla de alta resolución se ve mucho mejor de lo que parece con estos juegos de alta resolución:

Logos arranque PlayStation: Resolución original 640x448

Logo Sony 240p Logo Sony 480p

Crash Bandicoot (PS): Resolución original 512x224

Crash Bandicoot 240p Crash Bandicoot 480p

Tekken 3 (PS): Resolución original 368x448

Tekken 3 240p Tekken 3 480p

SimCity (DOS): Resolución original 640x352

SimCity 240p SimCity 480p

Game Boy

Por último mostrar algunos ejemplos en el caso de Game Boy que mencionábamos antes. La última release del emulador Gambatte ofrece una versión especial para la RG350M (descargable aquí) que ofrece más opciones de escalado para aprovechar mejor la resolución de la pantalla:

Gambatte scale options

Por ejemplo la opción Dot Matrix produce el efecto de separación entre píxeles que suele haber en las pantallas de baja resolución. Puede parecer absurdo ya que la pantalla de la RG350 original precisamente tiene esta característica. El problema como decíamos antes es que al no coincidir la resolución de la Game Boy (160x144) y ser tan distinta, o bien jugamos con pixeles 1 a 1 y bordes de pantalla o el escalado a toda pantalla producirá distorsiones y precisamente se intercalará el efecto dot matrix de la propia pantalla donde no corresponda.

Por ejemplo así se ve un juego de Game Boy con la opción Dot Matrix 3x en la pantalla de 480p de la RG350M:

Gambatte Dot Matrix 1 Gambatte Dot Matrix 2 Gambatte Dot Matrix 3 Gambatte Dot Matrix 4 Gambatte Dot Matrix 5