configuration utility image emulators extra - krahsdevil/Retropie-CRT-Edition GitHub Wiki

CRT_Edition

MAIN -> 01 IMAGE -> EMULATORS EXTRA

  1. INTEGER SCALE
  2. HANDLED BEZELS
  3. SCUMMVM ARC

1. INTEGER SCALE

Dentro del catalogo de juegos arcade podemos encontrar diferentes tipos de resolución por juego motivo por el cual, Retropie CRT Edition dispone de múltiples bases de datos.

Activando Integer Scale el sistema calculará automáticamente y para la resolución horizontal del juego, un multiplicador entero que de como resultado una resolución horizontal lo más próxima posible (y justo por encima) a 1920, consiguiendo de este modo, que todos los pixeles de una misma línea horizontal sean escalados en la misma proporción (5:1, 6:1 ó 7:1 por ejemplo).

Esto genera en muchos casos un pequeño overscan horizontal pero el escalado se realizará como es debido y conseguiremos que el cálculo interno durante la emulación, sea lo más optimo posible a nivel de de core y por supuesto, mas fiel al sistema original cuando es representado en pantalla.

Nunca se aplicará escalado en la resolución vertical ya que se representa el mismo número de líneas horizontales que tenía originalmente el juego. Todo esto es debido al uso de super-resoluciones aplicadas justo antes del inicio de la emulación (por ejemplo 1920 x 240).

Es estrictamente necesario el uso de super-resoluciones ya que no es posible aplicar determinados pixel-clock en Raspberry Pi. Por el momento esto no se puede solventar de otro modo, al menos hasta los modelos de Raspberry Pi 3B+.

Tratando de poner en contexto como funciona, debemos diferenciar primero la super-resolución de salida del sistema la cual, podemos interpretar como un 'lienzo' que siempre será de 1920 pixeles horizontales (en cualquier caso) y mismo número de líneas horizontales del juego a emular (así como la frecuencia de refresco).

Cuando una super-resolución es mostrada en un monitor o TV CRT clásico, obtenemos la falsa ilusión de que el formato de salida es 4:3 pero esto en realidad no es así. La resolución horizontal está siendo 'contenida' o 'comprimida' en el ancho físico de la pantalla por lo que a todos los efectos, estamos viendo correctamente el aspect ratio.

Una vez aplicada la super-resolución a nivel de sistema operativo, se completa dicho lienzo o super-resolución con la imagen generada desde cada emulador, estirando horizontalmente la misma hasta completar los 1920 pixeles (puntos) horizontales y aquí, es donde entra en juego el Integer Scale haciendo que ese estiramiento horizontal sea lo más preciso posible. En cuanto a la resolución vertical (o numero de lineas horizontales), el emulador no aplicará escalado alguno ya que siempre será una representación 1:1 del número de líneas original, siempre.

Poniendo como ejemplo un juego con resolución nativa de 304 x 224. El sistema primeramente aplicará una super-resolución de 1920 x 224 a bajo nivel, a continuación, trabajaremos sobre la configuración de RetroArch calculando el multiplicador entero a aplicar (Integer Scale) e indicar de este modo el ancho que tendrá la imagen, que para el ejemplo será de 2128 pixeles horizontales (multiplicador x7).

RetroArch completará la pantalla emulando con un ancho de imagen de 2128 pixeles (304 x 7) quedando fuera del área visible (overscan) 104 pixeles a cada lado.

Por supuesto también hay casos donde tras aplicar el Integer Scale, el ancho de la imagen coincide con 1920 por lo que no encontraremos overscan.

En el caso de NO activar Integer Scale el ancho de la imagen siempre será de 1920 por lo que la ampliación siempre será aproximada y no exacta en aquellos casos donde la resolución horizontal no tenga como múltiplo 1920.

NOTAS:

  1. Esta opción solo aplica a juegos arcade y NeoGeo emulados con cores RetroArch ya que es donde encontramos múltiples resoluciones por juego.
  2. RetroArch permite realizar este tipo de configuraciones de manera dinámica a través de diferentes ficheros de configuración a diferencia por ejemplo de AdvMame.
  3. El resto de sistemas (como consolas domésticas) generalmente usan una misma resolución para todo el catálogo de juegos y en este sentido ya está optimizado.

Opciones disponibles:

  • ACTIVADO : Integer Scale activado.
  • DESACTIVADO : Opción por defecto, Integer Scale desactivado

2. HANDLED BEZELS

La emulación de sistemas portátiles no se realiza a pantalla completa por lo que veremos alrededor la misma un marco negro. Es posible mostrar para estos casos, un bezel que complete el área negra reproduciendo el dispositivo emulado.

NOTAS:

  1. La exposición prolongada de imagenes estáticas en un monitor CRT o TV puede provocar quemaduras en la pantalla.

Opciones disponibles:

  • ACTIVADO : Bezel activado
  • DESACTIVADO : Opción por defecto, bezel desactivado

3. SCUMMVM ARC

ScummVM es un emulador de juegos clásicos de PC point-and-click también conocidos como aventuras gráficas.

Gran parte del catálogo de juegos compatibles con este emulador tenían originalmente una resolución de 320 x 200 motivo por el cual, observaremos dos franjas negras horizontales durante la emulación: una en la parte superior y otra en la parte inferior.

La imagen se encuadra bajo una resolución vertical de 240 lineas (no es posible generar una resolución de 200 lineas horizontales) por lo que con el fin de mantener el Pixel perfect, la imagen es centrada verticalmente generando esas 40 líneas 'vacías' (20 arriba y 20 abajo).

Sin embargo, es posible hacer un estirado vertical de la imagen activando a nivel de emulador el Aspect Ratio Correction (ARC) de ScummVM.

NOTAS:

  1. El Aspect Ratio Correction es una opción de ScummVM que se activa bajo demanda vía scripts de Retropie CRT Edition.
  2. No todos los juegos podrán ser modificados verticalmente, esto depende de la compatibilidad que ofrezca ScummVM
  3. Activando SCUMMVM ARC perderemos completamente el PixelPerfect: la imagen no será definida pero tampoco será impedimento para una correcta experiencia de juego.

Opciones disponibles:

  • ACTIVADO : SCUMMVM ARC activado.
  • DESACTIVADO : Opción por defecto, SCUMMVM ARC desactivado
⚠️ **GitHub.com Fallback** ⚠️