Source: http://sinclairmania.speccy.org/como.html
Timestamp: 2017-07-25 20:33:48+00:00

Document:
Cómo Funcionan los Emuladores
Cómo Funcionan los Emuladores 1. Introducción
2. ¿ Qué es un emulador ?
3. Hardware y código máquina
5. Cómo utilizarlo 5.1 Emuladores para MS-DOS
5.1.1 Configurar el emulador
5.1.2 Cargar un juego en el emulador
5.2 Emuladores para Window
6.1 Al moverse la pantalla (realizando un scroll) a veces aparece partida o agitada
6.2 La animación y el sonido se entrecortan 6.3 El modo gráfico es demasiado pequeño o tan grande que no cabe en el monitor
6.4 La pantalla del PC aparece de color negro al ejecutar el emulador
6.5 El emulador muestra un mensaje del tipo "VESA 2.0 requerido.
Desde que hace unos ocho años apareció el primer emulador para PC de una máquina llamada Spectrum, creado por Pedro Gimeno, la situación ha cambiado enormemente. Aquel primer emulador estaba escrito en lenguaje ensamblador y permitía cargar directamente las cintas del Spectrum al PC mediante el puerto paralelo. Aún recuerdo con qué ilusión jugaba al Abu Simbel y al Ant Attack en mi antiguo 386, cuando todavía no creía que aquello fuera posible. Desde entonces han aparecido multitud de emuladores, cubriendo prácticamente todas las máquinas, consolas y computadoras que han existido desde 1980 hasta bien entrados los 90. De esta forma, con nuestras potentes máquinas actuales podemos seguir disfrutando de aquellos juegos que tan buenos ratos nos hicieron pasar. En este documento trataré de explicar de la forma más simple posible el funcionamiento de estos programas, en detrimento del rigor técnico; de esta forma, todo lo comentado aquí puede ser aplicado a la mayoría de los emuladores. 2. ¿ Qué es un emulador ?
Un emulador no es más que un programa como otro cualquiera. Este programa ejecutado en una máquina (por ejemplo, un PC) es capaz de traducir las órdenes de otro programa diseñado para otra máquina muy distinta (por ejemplo, una consola SuperNintendo); de esta forma mediante el emulador nuestro PC será capaz de ejecutar las instrucciones de un juego de SuperNintendo.
Obviamente es necesario disponer del software de SuperNintendo para poder ejecutarlo (por ejemplo, un cartucho con el juego Super Mario World), ya que sin programas el emulador es una máquina inútil. Aquí encontramos el primer problema: ¿ cómo hacer que el emulador lea un cartucho de SuperNintendo ?. El emulador debe ser capaz de "sortear" las limitaciones del hardware en el que se ejecuta ya que, en nuestro caso, el PC carece de zócalo para insertar cartuchos, y menos de SuperNintendo. Pues bien, es necesario transferir la información del cartucho a un fichero que pueda ser leido por el emulador en el PC. Para conseguir esto hay que construir un dispositivo hardware que por un lado lea el cartucho y por otro se conecte al PC para que éste reciba la información. Esta clase de dispositivos no se encuentran en los comercios y son prototipos diseñados por gente que conoce muy bien el hardware de ambas máquinas (PC y SuperNintendo).
Un caso algo más sencillo es el del Spectrum: éste almacena los programas en cintas de audio normales y corrientes, con lo que tan sólo necesitamos grabar esa cinta en un fichero de audio .WAV mediante una tarjeta de sonido, un cable, un cassette y el programa adecuado (por ejemplo, el WaveStudio o el CoolEdit), y ya tendremos el programa en nuestro PC (en realidad no es un proceso tan sencillo, pero no profundizaremos en detalles por ahora).
Lógicamente, si alguien ha transferido ya los datos a un fichero, no es necesario volver a hacerlo. Esto es especialmente interesante cuando tenemos acceso a Internet, ya que encontraremos la mayoría de los cartuchos, cintas, discos, etc... en forma de fichero listos para ser descargados y ejecutados por un emulador.
Todos sabemos que una computadora consta de varios dispositivos hardware (físicos) que tienen como objeto realizar una determinada función. Por ejemplo, el chip gráfico se encarga de mostrar imágenes por pantalla, el de audio de emitir sonidos, etc... todos ellos gobernados por el procesador principal (por ejemplo, un Pentium o un K6). Estos componentes poseen unas patillas por las cuales reciben órdenes codificadas numéricamente. Un ejemplo hipotético: imagine que tenemos un chip gráfico en nuestro PC modelo "gfx4PC" que entiende los siguientes códigos:
12: borrar la pantalla
18: avanzar el cursor
27: borrar un caracter
Si el procesador principal le envía el siguiente programa: 18,27,27,12 ejecutará las órdenes correspondientes a los códigos, que en nuestro caso, primero avanzará el cursor, borrará dos caracteres y luego borrará la pantalla. Pero resulta que en nuestra SuperNintendo el chip gráfico es de un fabricante distinto y un modelo "SNESgfx", y que los códigos que entiende son:
87: borrar la pantalla
50: avanzar cursor
76: borrar un caracter
El mismo programa que teníamos en el PC si lo ejecutamos en una SuperNintendo no hará absolutamente nada (o no hará lo que se pretendía), porque el "código máquina" es distinto, y lo mismo pasará si intentamos ejecutar el código de una SuperNintendo en un PC.
¿ Y qué podemos hacer para solucionarlo ? Si construimos el siguiente programa en un PC podemos hacer que las tres ordenes del chip gráfico "SNESgfx" sean comprendidas por el "gfx4PC": Si recibimos un 87 entonces envía un 12 al gfx4PC
Si recibimos un 50 entonces envía un 18 al gfx4PC
Si recibimos un 76 entonces envía un 27 al gfx4PC
Éste programa será ejecutado por el procesador principal, y es precisamente un emulador. El programa irá leyendo los datos del fichero con el programa escrito para la SuperNintendo, encontrará las instrucciones y las traducirá (por ejemplo, usando una tabla con las equivalencias) y enviará las órdenes correctas al chip del PC. Obviamente, las cosas no son tan sencillas porque típicamente el número de instrucciones para controlar un procesador sobrepasa la centena, y si tenemos en cuentra que en una misma máquina podemos encontrar alrededor multitud de chips diferentes, la cosa se complica bastante. Además hemos de tener en cuenta que hay cosas que el chip gráfico de una SuperNintendo puede hacer y el PC no, por ejemplo rotar los colores de la pantalla, o dibujar figuras transparentes. De esta forma, para traducir un sólo codigo de la SuperNintendo que diga "dibuja esta figura transparente" debemos usar varios códigos para provocar el mismo efecto en el PC (por ejemplo, 1.coger la figura, 2.hacer una operación aritmética con el fondo y 3.dibujarla). Esto es lo que ralentiza la emulación y como consecuencia los programas que en una SuperNintendo a 7 MHz de velocidad corren rápidamente, en un Pentium a 100 MHz pueden ir algo lentos.
5. Cómo utilizarlo
5.1 Emuladores para MS-DOS
Estos emuladores generalmente se distribuyen en forma de ficheros comprimidos con extensión .ZIP. Para utilizarlos, una vez descargados de Internet, debemos utilizar una utilidad para descomprimir archivos ZIP, como por ejemplo el PKUNZIP o el WinZIP. Si utilizamos el programa PKUNZIP, que está basado en MS-DOS, deberemos teclear esta orden en una sesión MS-DOS:
pkunzip -d fichero.zip
Tras lo cual se crearán varios ficheros en el directorio actual. Es MUY importante introducir el parámetro -d para descomprimir toda la jerarquía de subdirectorios que pueda contener el fichero comprimido. Para poder usar el programa descompresor pkunzip.exe cómodamente, debe copiarlo a un directorio de búsqueda del sistema, como por ejemplo C:\WINDOWS\COMMAND si usa Windows 95/98 ó C:\DOS si está usando MS-DOS.
Por ejemplo, para utilizar el emulador PaCifiST, el cual está en forma de fichero comprimido en el CD-ROM con el nombre pcst048.zip, y meterlo en una carpeta llamada ATARI en el disco duro que tiene la letra C:, debemos hacer lo siguiente:
Abrir una sesión de MS-DOS ó arrancar en modo MS-DOS
Si no ha copiado el descompresor pkunzip.exe deberá teclear lo siguiente por primera y única vez: copy pkunzip.exe C:\WINDOWS\COMMAND y pulse la tecla <-/ (INTRO) para copiar el descompresor a su disco duro C:. También puede utilizar las funciones habituales "Copiar" y "Pegar" de Windows, pegando en este caso en la carpeta WINDOWS\COMMAND.
Teclear desde la línea de comandos de MS-DOS los siguientes comandos: C: , cd \ , md ATARI , cd ATARI , pkunzip -d U:\ruta\...\pcst048.zip sustituyendo U:\ruta\...\ por la unidad y la ruta hacia la carpeta que contiene el fichero pcst048.zip (por ejemplo, C:\WINDOWS\Escritorio\pcst048.zip), y pulsando la tecla INTRO en vez de poner las comas. Ahora ejecute el comando dir para ver el contenido del directorio donde ha descomprimido el emulador. Una vez hecho esto tendremos los ficheros nuevos que componen el paquete del emulador. De entre estos ficheros debe haber al menos uno con extensión .EXE que será el ejecutable del emulador propiamente dicho; de esta forma, con sólo teclear su nombre en una sesión MS-DOS y pulsar la tecla INTRO entraremos en el emulador. Generalmente también habrá ficheros con extensión .TXT ó .DOC: contienen la documentación del emulador y en ellos información muy importante acerca de su funcionamiento y configuración. Por favor, ES MUY IMPORTANTE LEER LA DOCUMENTACIÓN QUE ACOMPAÑA AL EMULADOR. Bien, ahora abra él/los fichero(s) de texto y lea atentamente lo que en ellos se dice. Si lo hace bien y lo entiende, no necesitará seguir leyendo este tutorial. Para leer un documento de texto, puede usar el Bloc de Notas si usa Windows 95/98 ó bien el programa edit si usa MS-DOS.
Algunos emuladores necesitan una copia de la BIOS del sistema original (como la que tienen los PCs). Por ejemplo, los ordenadores Amiga tienen un chip llamado Kickstart que contiene el sistema operativo. Los emuladores de Amiga necesitan un fichero con la imagen de ese chip para poder funcionar. En general todos los emuladores de computadoras necesitan la imagen de la ROM de la respectiva máquina, aunque también algunas consolas como por ejemplo la Neo Geo y la Atari Lynx. Vea la sección "Configurar el emulador" más adelante, para saber más sobre esto.
Debido a la complejidad de las máquinas emuladas, muchos emuladores permiten activar o desactivar ciertas características de las mismas, bien para facilitar la compatibilidad con ciertos programas, bien para permitir una ejecución fluida en una máquina PC demasiado lenta. Existen dos tipos de emuladores teniendo en cuenta la forma de cambiar su configuración:
Emuladores que permiten cambiar la configuración desde un menú dentro del propio emulador: Esta clase de emuladores suele tener un menú llamado "Setup", "Configuration" ó "Settings", desde donde podremos cambiar parámetros tales como la resolución de vídeo o la calidad del sonido de forma interactiva. Este menú puede aparecer directamente al ejecutar el emulador, o tal vez necesites que se pulse una tecla determinada, la cual siempre viene indicada en el fichero de texto con las instrucciones (README.TXT o similar).
Emuladores que guardan la configuración en un archivo .CFG ó .INI que es necesario editar de forma manual: Casi todos los emuladores, a pesar de permitir cambiar la configuración desde un menú dentro del propio emulador, permiten editar manualmente un fichero de configuración. Normalmente al ejecutar por primera vez uno de estos emuladores se crea un fichero en el mismo directorio con extensión .CFG ó .INI que guarda las opciones por defecto del emulador. Tendremos que editar tal fichero con cualquier editor de texto (por ejemplo edit de MS-DOS o el Bloc de Notas de Windows 95). Al abrir uno de estos ficheros nos encontraremos con líneas de texto que generalmente empiezan con un carácter especial, como "#"ó ";". Se trata de líneas de comentarios que nos indican cómo está organizado el fichero de configuración. No deberá cambiar el texto de estas líneas. Otras líneas suelen empezar con una palabra seguida de un "=" y de un valor (por ejemplo: SOUND=yes). Éstas son las variables que debemos cambiar para adaptar el emulador a nuestras necesidades, siguiendo las instrucciones que están en las líneas de comentarios. Una vez más, lea la documentación del emulador ya que en ésta se indica cuales son las posibilidades del emulador, que opciones se pueden cambiar y de qué forma hacerlo.
De entre los parámetros que debemos configurar necesariamente podemos encontrar:
Directorios donde residen las imágenes de los programas: Generalmente vienen indicados mediante la palabra ROM PATH, ROM DIR, DIRECTORIES o similar. Por ejemplo, el MAME necesita que le indiquemos dónde están las ROMS (juegos arcade) editando el MAME.CFG y cambiando el valor de la variable ROM_PATH por ROM_PATH = D:\JUEGOS\ARCADE\MAME (la ruta completa para encontrar las ROMs). En algunos emuladores no es necesario hacer esto, ya que incorporan una especie de "navegador" que permite cambiar de directorios y unidades hasta encontrar el fichero necesario (por ejemplo, el X128).
La BIOS de la máquina en caso de ser un ordenador: Los ordenadores incorporan pequeños programas en un chip especial llamado ROM BIOS. Estos programas son necesarios para chequear el ordenador al arrancar, así como para proveer formas básicas de interactuar con el hardware (como por ejemplo mostrar letras en la pantalla), y están alojados dentro de un chip ROM para evitar que sean borrados al apagar el ordenador. Así que el emulador necesita una imagen de este chip para poder funcionar correctamente, y debemos especificarle donde encontrarla. Por ejemplo, el emulador Fellow de Amiga necesita un fichero llamado KICK.ROM que podemos configurar desde el menú Configuration -> Memory -> Kickstart image (la ROM del Amiga se llamaba Kickstart) dándole el valor de D:\JUEGOS\AMIGA\ROM\KICK13.ROM por ejemplo. En ocasiones existen diversas versiones de la ROM de una misma máquina; esto provoca que ciertos juegos antiguos no funcionen correctamente con las versiones más modernas, y viceversa: algunos juegos modernos no funcionan con ROM antiguas. La solución más sencilla es ir probando con distintas ROM hasta que el juego funcione. NOTA: no debemos confundir la palabra ROM que hace referencia al chip BIOS que llevan los ordenadores con las "ROMs" que se refieren a imágenes de cartuchos de consola o placas arcade (que también son chips de memoria ROM).
Una vez ejecutado el emulador, y si todo va bien, pueden suceder tres cosas: El emulador muestra un mensaje y vuelve a salir al MS-DOS:En este caso el emulador necesita que le digamos desde la propia línea de comandos el fichero con el juego que queremos ejecutar. Por ejemplo, si se trata del emulador de Master System BrSMS y queremos jugar al juego alexkidd.sms que está en el directorio juegos\master\cartucho de la unidad de CD-ROM D:, deberemos poner: brsms D:\juegos\master\cartucho\alexkidd.sms. De esta forma le estamos diciendo al emulador qué juego queremos cargar. El emulador muestra un menú con varias opciones: Tendremos que seleccionar la opción que nos permita cargar el juego. Por ejemplo, si estamos en el emulador de Spectrum X128 debemos seleccionar la opción Load TAP File si queremos cargar una cinta. De esta forma se abrirá una ventana de selección de archivos desde donde podremos navegar por el árbol de directorios de nuestro disco duro para encontrar el juego con extensión .TAP ó .TZX que queremos cargar. Generalmente la opción de cargar un juego se denota en los emuladores de la forma: "Load ROM", "Select ROM", "Change ROM", "Load Disk", "Insert Disk", "Insert Tape", etc... ROM, Disk y Tape (cartucho, disco y cinta) son los medios físicos que acepta la máquina emulada y que son emulados mediante ficheros normales de PC. Por ejemplo, un fichero con extensión .SMD como ALEXKIDD.SMD contiene el volcado (imagen) del cartucho de Sega MegaDrive con el juego Alex Kidd.
El emulador muestra el sistema operativo de la máquina emulada: Debemos leer la documentación para saber si tenemos que pulsar una tecla para acceder al menú de opciones (lea el punto 2), o bien debemos especificar el juego desde la línea de comandos (lea el punto 1).
Es muy importante señalar aquí que cada emulador admite un formato de fichero distinto. Por ejemplo, un fichero que tiene la extensión .TAP es una cinta de Spectrum y sólo puede ser utilizada por emuladores de Spectrum, un fichero de extensión .SMD contiene un cartucho de Sega MegaDrive, y así con decenas de archivos distintos. Lea la documentación que acompaña al emulador para averiguar que tipos de archivos utiliza y cómo cargarlos.
5.2 Emuladores para Windows
Su utilización suele ser mucho más simple que la de los emuladores para MS-DOS. Generalmente vienen comprimidos en un fichero .ZIP (lea la sección anterior para saber cómo descomprimirlos), pero también son comunes los ficheros autoinstalables con extensión .EXE. De esta forma con sólo ejecutar tal fichero, el emulador se descomprimirá e instalará en Windows. Para ejecutarlo sólo debe hacer doble click en el icono del fichero ejecutable .EXE que ha sido instalado. Una vez hecho esto se abrirá una ventana con una barra de menús. El comportamiento de estos emuladores es equivalente al de los emuladores para MS-DOS que muestran un menú y se configuran desde el mismo. Lea la sección anterior para averiguar más sobre esto. Es igualmente importante LEERSE LA DOCUMENTACIÓN QUE ACOMPAÑA AL EMULADOR.
Al intentar emular una máquina podemos encontrarnos con distintos problemas, derivados de las diferencias (en ocasiones muy grandes) entre la máquina emulada y la máquina que ejecuta el emulador:
6.1 Al moverse la pantalla (realizando un scroll), a veces aparece partida o "agitada":
En el monitor las imágenes se muestran mediante un rayo de electrones que va recorriendo la pantalla de arriba a abajo a una determinada velocidad (típicamente, recorre la pantalla 60 veces por segundo, es decir, 60 Hz). Normalmente el ordenador manda los cuadros (fotogramas) al monitor cuando el haz de electrones se encuentra volviendo del final de la pantalla al principio, para que en la siguiente pasada aparezca el dibujo completo. Si dibujamos algo mientras el haz se encuentra en la mitad de la pantalla, ocurrirá que empezará a dibujar por la mitad y en ese instante tendremos media pantalla con el dibujo anterior y otra media con el dibujo que queremos mostrar. Esto provoca un efecto de "pantalla partida" que suele ser muy molesto cuando vamos avanzando con un personaje en un juego.
Ahora supongamos que la TV a la que tenemos conectada nuestra SuperNintendo tiene una frecuencia de refresco de 50 Hz; la consola sabe que debe dibujar los fotogramas justo al principio del barrido y para eso debe esperar un período de 1/50 segundos entre fotogramas. Pero nuestro monitor de PC tiene una frecuencia de 75 Hz ¿ qué ocurrirá entonces ? pues que debería actualizar los fotogramas pasados 1/75 segundos y sin embargo lo hace cada 1/50 porque estamos ejecutando un programa diseñado para una SuperNintendo, por lo que se pierde la sincronización con el barrido del haz de electrones y aparece el molesto efecto de "pantalla partida".
La solución implementada en muchos emuladores consiste en provocar un retardo en la emulación para que el haz vuelva al principio y entonces dibujar la pantalla. Mientras se espera, el procesador no hace nada y como consecuencia la emulación es más lenta (ya que de otro modo podrían aprovecharse esos instantes para calcular operaciones necesarias para emular la máquina). Esta opción suele ser nombrada "VSync" del inglés "Vertical Synchronisation" (Sincronización Vertical). Otra posible solución sería cambiar la frecuencia de refresco del monitor del PC para que se ajuste a la de la máquina que queremos emular, sin embargo no todos los monitores son capaces de mostrar todas las frecuencias (en especial las más bajas, de 50 Hz). Además, en los modos gráficos acelerados (VESA 2.0) esto no es posible hacerlo, ya que siempre trabajan con frecuencias de 75 Hz.
6.2 La animación y el sonido se entrecortan
Suele ser debido a la falta de potencia del PC necesaria para emular correctamente cierta máquina, y por sorprendente que parezca ocurre con mucha frecuencia. Por ejemplo, mi antiguo Pentium a 133 MHz era incapaz de ejecutar de forma fluida juegos de SuperNintendo a pesar de que esta máquina corre a 7 MHz. El motivo es el anteriormente expuesto: hay funciones de la SuperNintendo que no tienen equivalente en el PC y deben traducirse en largas secuencias de instrucciones. Como consecuencia, el PC no puede calcular y dibujar de forma fluida todos los fotogramas ("frames") de un determinado juego, siendo necesario saltarse algunos ("frameskip") para que el juego ejecute a la misma velocidad que en una SuperNintendo. A este tipo de cálculos se le llama de tiempo real, porque los fotogramas se calculan mientras estamos jugando. El efecto de saltarse fotogramas es el de una animación "a golpes". Otra solución a este problema es bajar la calidad del sonido, desactivar en el emulador algunas de las características que el PC no puede hacer por sí solo y requieren grandes cálculos del procesador principal (por ejemplo dibujar "transparencias"), escoger un modo gráfico que use menos colores, etc... Por supuesto el sonido también puede verse afectado por la falta de potencia de cálculo, resultando en cortes frecuentes o "crujidos".
6.3 La imagen es demasiado pequeña o tan grande que no cabe en el monitor
En un ordenador las imágenes se componen mediante un mosaico de puntos rectangulares (pixels). La tarjeta gráfica es la encargada de proporcionar los modos gráficos que permiten distintas formas de representación. El modo gráfico consta de dos parámetros: la resolución y el número de colores. La resolución se mide en número de puntos (pixels) tanto horizontales como verticales (por ejemplo 320x240). El número de colores se mide según el tamaño de la información asignada al respecto en cada punto (por ejemplo 24 bits=8 bits para el rojo, 8 para el verde y 8 para el azul, lo que da un total de más de 16 millones de colores posibles). El problema surge cuando nuestro PC no tiene un modo gráfico igual al de la máquina emulada. Por ejemplo, los modos gráficos más comunes en el PC son:
A) 320x240 a 8,16 ó 24 bits
B) 400x300 a 8,16 ó 24 bits
C) 640x480 a 8,16 ó 24 bits ... según aumentamos la resolución, el tamaño de los puntos disminuye, ya que la superficie de la pantalla del monitor permanece constante.
Y sin embargo una SuperNintendo tiene un modo gráfico de 256x256 a 8 bits. De esta forma si el emulador usa el modo A para representar una pantalla de SuperNintendo, ocurrirá que habrá líneas que no lleguen a mostrarse (en concreto 256-240=16 líneas verticales). Si usamos el modo B la pantalla aparecerá demasiado pequeña, porque sobran líneas y columnas. Además existe el problema de la relación de aspecto: un punto en la pantalla de la SuperNintendo no es exactamente un cuadrado, su dimensión horizontal es aproximadamente el doble que su dimensión vertical, por lo que al representarla en un PC los gráficos aparecerán "alargados" verticalmente, ya que en el PC cada punto es casi un cuadrado. Como primera solución podemos optar por tocar los controles del monitor para "alargar" horizontalmente la imagen, de forma que se asemeje a la imagen obtenida en una SuperNintendo real. Sin embargo algunos emuladores son capaces de "trucar" el chip grafico para crear nuevos modos gráficos que se adapten mejor a la máquina emulada. Por ejemplo, si fuera posible crear un modo gráfico de 256x256 a 50 Hz el problema estaría completamente solucionado. En muchos casos esto es posible, pero estos modos gráficos tienen la contrapartida de ser mucho más lentos que los modos estándar acelerados (VESA 2.0).
Lo mismo ocurre con el color: si nuestra SuperNintendo puede representar simultáneamente 32.000 colores en pantalla y el modo gráfico del PC tan sólo permite 256 colores (8 bits) la representación no podrá ser fiel al original.
Esto puede ser causa de varios síntomas. El primero y más frecuente ocurre cuando el emulador usa una resolución que el monitor no puede visualizar y es debido a que los monitores admiten cierto rango de frecuencias horizontales (por ejemplo desde 30 KHz a 54 KHz). Este número indica el número de barridos horizontales que realiza el haz de electrones en un segundo y es distinto de la frecuencia vertical aunque guarda una relación directa (ver aquí abajo). A cada resolución le corresponde una frecuencia que varía según: a) El tamaño del cuadro en pixels. A más tamaño, más frecuencia horizontal necesitamos.
b) La posición de la imagen en la pantalla. Cuanto más a la izquierda, más frecuencia horizontal.
c) La frecuencia de refresco (vertical). La frecuencia horizontal aumenta según es mayor el ratio de refresco.
Si la resolución que utiliza el emulador (por ejemplo 512x384 a 74 Hz) utiliza una frecuencia horizontal de 60 KHz, el monitor del ejemplo no puede visualizar nada y pueden pasar dos cosas: o bien se pone en modo suspendido (se apaga) o muestra la imagen muy borrosa y corrompida (llena de líneas con basura). Ante esto lo único que podemos hacer es escoger una resolución que se adapte a nuestro monitor, configurando el emulador de la manera adecuada, o bien ajustar la resolución mediante los drivers de nuestra tarjeta para que, por ejemplo bajando el refresco vertical, pueda situarse entre el rango permitido por el monitor (esto sólo lo pueden hacer algunos drivers). O también podemos comprarnos un monitor mejor (informaros bien sobre las características técnicas la próxima vez que vayáis a comprar uno). Un rango de frecuencias horizontales aceptable es de 30-60 KHz, y cuanto más mejor. Ojo que el límite inferior también es importante porque hay resoluciones que requieren una frecuencia muy baja, por ejemplo 300x200 a 50 Hz. 6.5 El emulador muestra un mensaje del tipo "VESA 2.0 requerido"
El estándar VESA 2.0 se corresponde con un conjunto de modos gráficos acelerados y de unas funciones que son comunes a todas las tarjetas gráficas. Muchas de las tarjetas gráficas antiguas no disponen de soporte para este estándar, por lo que es necesario instalar unos "drivers" o controladores que proporcionen los modos VESA 2.0. Si su tarjeta tiene un chip basado en S3 (Trio64, Virge,...) puede utilizar el controlador que proporciona S3. Si no posee este tipo de tarjeta, debe instalar un controlador VESA genérico, como el SciTech Display Doctor para Windows o MS-DOS. Para activar el soporte VESA usando uno de estos controladores deberá cargarlo en memoria una sóla vez, antes de utilizar cualquier emulador.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución