emulacion:introduccion-a-la-emulacion-i

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
emulacion:introduccion-a-la-emulacion-i [20-03-2009 09:06] – creado sromeroemulacion:introduccion-a-la-emulacion-i [20-03-2009 09:17] sromero
Línea 3: Línea 3:
 Algunos de nuestros lectores nos han expresado una serie de dudas relacionadas con la emulación, especialmente dudas de base y de concepto. Estas mismas personas nos han comentado la posibilidad de que desde Magazine ZX se muestre a la gente nueva en el mundo de la emulación un tutorial sencillo que explique qué es y cómo funciona un emulador, focalizándolo finalmente en la emulación de Spectrum. Algunos de nuestros lectores nos han expresado una serie de dudas relacionadas con la emulación, especialmente dudas de base y de concepto. Estas mismas personas nos han comentado la posibilidad de que desde Magazine ZX se muestre a la gente nueva en el mundo de la emulación un tutorial sencillo que explique qué es y cómo funciona un emulador, focalizándolo finalmente en la emulación de Spectrum.
  
-Figura 1 
  
 Los tiempos cambian y resulta cada vez más difícil encontrar en el mercado aquellos viejos ordenadores, consolas o máquinas recreativas que utilizábamos hace algunos años. En algunos casos en que todavía están disponibles, a veces lo son a precios muy elevados, como en el caso de ordenadores Sinclair Spectrum +3 o QL, por ejemplo. En otros casos los precios pueden ser desorbitados, como los de las consolas NOMAD de SEGA, o ciertas máquinas recreativas. También existen sistemas antiguos muy baratos, pero cada vez quedan menos (debido a averías, o consolas y ordenadores que acaban en los contenedores de basura por usuarios que no las valoran) y llegará un momento en que será realmente complicado conseguirlos. Los tiempos cambian y resulta cada vez más difícil encontrar en el mercado aquellos viejos ordenadores, consolas o máquinas recreativas que utilizábamos hace algunos años. En algunos casos en que todavía están disponibles, a veces lo son a precios muy elevados, como en el caso de ordenadores Sinclair Spectrum +3 o QL, por ejemplo. En otros casos los precios pueden ser desorbitados, como los de las consolas NOMAD de SEGA, o ciertas máquinas recreativas. También existen sistemas antiguos muy baratos, pero cada vez quedan menos (debido a averías, o consolas y ordenadores que acaban en los contenedores de basura por usuarios que no las valoran) y llegará un momento en que será realmente complicado conseguirlos.
  
-Figura 2. Sinclair ZX81difícil de encontrar+\\  
 +{{ :emulacion:emulacion2_1.jpg }} 
 +\\ 
  
 No hay nada mejor que tener la máquina original y software de la misma para divertirse con ella, pero en ocasiones nos puede resultar imposible. No hay nada mejor que tener la máquina original y software de la misma para divertirse con ella, pero en ocasiones nos puede resultar imposible.
  
 Los emuladores son programas destinados a recrear arquitecturas de ordenadores, consolas o recreativas en un determinado Sistema. Por ejemplo, existen emuladores que nos permiten jugar a juegos de Spectrum (o de otros ordenadores antiguos) en nuestro ordenador actual. Existen también emuladores de las diferentes consolas clásicas, de forma que podemos jugar a la Nintendo NES o a la SEGA Megadrive en nuestro ordenador, y cargar en ellos los juegos tal y como eran en cartucho, disco o cinta. Los emuladores son programas destinados a recrear arquitecturas de ordenadores, consolas o recreativas en un determinado Sistema. Por ejemplo, existen emuladores que nos permiten jugar a juegos de Spectrum (o de otros ordenadores antiguos) en nuestro ordenador actual. Existen también emuladores de las diferentes consolas clásicas, de forma que podemos jugar a la Nintendo NES o a la SEGA Megadrive en nuestro ordenador, y cargar en ellos los juegos tal y como eran en cartucho, disco o cinta.
 +
 +
 +{{ :emulacion:emulacion2_2.jpg }}
 +;#;
 +//Sinclair ZX81: difícil de encontrar//
 +;#;
 +\\ 
 +
  
 Los emuladores nacieron por diversos motivos: Los emuladores nacieron por diversos motivos:
Línea 24: Línea 33:
 Un emulador es un programa destinado a recrear internamente el funcionamiento de una arquitectura diferente a aquella en que se ejecuta. El emulador no es más que un programa, sin partes hardware, que utilizando los recursos de la máquina donde se ejecuta, simula el comportamiento de la CPU, memoria y demás elementos de una máquina determinada. Un emulador es un programa destinado a recrear internamente el funcionamiento de una arquitectura diferente a aquella en que se ejecuta. El emulador no es más que un programa, sin partes hardware, que utilizando los recursos de la máquina donde se ejecuta, simula el comportamiento de la CPU, memoria y demás elementos de una máquina determinada.
  
-Figura 3. Emuladores de Spectrum, Megadrive, NES y Master System+ 
 +{{ :emulacion:emulacion2_3.jpg }} 
 +;#; 
 +//Emuladores de Spectrum, Megadrive, NES y Master System// 
 +;#; 
 +\\  
  
 Por ejemplo, Realspectrum es un emulador de Spectrum, ya que es un programa diseñado para emular un micro Z80 (que es el micro del Spectrum), una ULA (que es el "chip gráfico" del Spectrum), una unidad de cinta o de disco, etc... Del mismo modo que existe Realspectrum, NESticle es un emulador de NES que emula el micro de la NES, los chips de la NES, es capaz de ejecutar juegos en cartucho de NES, etc. Por ejemplo, Realspectrum es un emulador de Spectrum, ya que es un programa diseñado para emular un micro Z80 (que es el micro del Spectrum), una ULA (que es el "chip gráfico" del Spectrum), una unidad de cinta o de disco, etc... Del mismo modo que existe Realspectrum, NESticle es un emulador de NES que emula el micro de la NES, los chips de la NES, es capaz de ejecutar juegos en cartucho de NES, etc.
Línea 46: Línea 61:
       * Spectrum, Amstrad, MSX, Commodore, Atari ST, Amiga...       * Spectrum, Amstrad, MSX, Commodore, Atari ST, Amiga...
    * Otros:    * Otros:
-      *Consolas de una y dos pantallas HandHeld y Game&Watch, Máquinas de pinball, etc...+      * Consolas de una y dos pantallas HandHeld y Game&Watch, Máquinas de pinball, etc...
  
 Si buscas un emulador que te permita emular alguno de estos sistemas, puedes encontrarlo fácilmente en Emulatronia, pulsando en la sección correspondiente en la barra de menú de la izquierda. Si buscas un emulador que te permita emular alguno de estos sistemas, puedes encontrarlo fácilmente en Emulatronia, pulsando en la sección correspondiente en la barra de menú de la izquierda.
Línea 106: Línea 121:
     * **ROMs del sistema**: como ya hemos visto, las ROMs de las máquinas se obtienen volcando el contenido de los chips de memoria de las mismas, donde están almacenados los programas en Código Máquina, mediante lectores de memorias o similares.     * **ROMs del sistema**: como ya hemos visto, las ROMs de las máquinas se obtienen volcando el contenido de los chips de memoria de las mismas, donde están almacenados los programas en Código Máquina, mediante lectores de memorias o similares.
  
-      Figura 5. Una de esas pequeñas cucarachas negras (o varias, según el sistema) alberga la ROM del aparato.+ Figura 5. Una de esas pequeñas cucarachas negras (o varias, según el sistema) alberga la ROM del aparato.
  
  
Línea 112: Línea 127:
  
  
-      Figura 6. Cartucho de NES. En su interior sólo hay un pequeño circuito con una memoria ROM que contiene el juego grabado. En la captura podemos ver el circuito del juego Super Mario Bros 3 de Nintendo NES. Como puede verse, el juego está grabado en 2 chips de memoria y éstos vienen con la lógica necesaria para conectarse a la consola. Todos los chips están puenteados a las patillas del conector que se introduce en el cartucho. La carcasa gris de plástico tan sólo le da consistencia para su agarre e introducción en la consola, y para poner la portada del juego.+ Figura 6. Cartucho de NES. En su interior sólo hay un pequeño circuito con una memoria ROM que contiene el juego grabado. En la captura podemos ver el circuito del juego Super Mario Bros 3 de Nintendo NES. Como puede verse, el juego está grabado en 2 chips de memoria y éstos vienen con la lógica necesaria para conectarse a la consola. Todos los chips están puenteados a las patillas del conector que se introduce en el cartucho. La carcasa gris de plástico tan sólo le da consistencia para su agarre e introducción en la consola, y para poner la portada del juego.
  
  
-      En algunos sistemas sí que tenemos una ROM pregrabada en la máquina capaz de realizar tareas cuando no introducimos ningún juego. De esta forma, las consolas clónicas de NES podían llevar cientos de juegos grabados en un chip ROM interno, de forma que cuando la encendemos sin introducir un cartucho, ese chip se activa y se ejecuta su contenido. Cuando insertamos un juego, por contra, el chip que realmente se convierte en la memoria de la máquina (y que por tanto se ejecuta) es el ubicado en el interior del cartucho.+ En algunos sistemas sí que tenemos una ROM pregrabada en la máquina capaz de realizar tareas cuando no introducimos ningún juego. De esta forma, las consolas clónicas de NES podían llevar cientos de juegos grabados en un chip ROM interno, de forma que cuando la encendemos sin introducir un cartucho, ese chip se activa y se ejecuta su contenido. Cuando insertamos un juego, por contra, el chip que realmente se convierte en la memoria de la máquina (y que por tanto se ejecuta) es el ubicado en el interior del cartucho.
  
-      Para volcar los juegos a ficheros de disco de forma que se puedan usar en los emuladores, basta con desmontar el cartucho, sacar el chip de memoria con el código del juego grabado, y al igual que en el caso de las ROMs del sistema, volcarlo a fichero con un lector de chips de memoria. Otra opción sería utilizar alguno de los lectores de cartuchos que se insertaban en la máquina y permitían grabar a disquete los contenidos de las ROMs. Estos aparatos fueron principalmente utilizados como "copiones".+ Para volcar los juegos a ficheros de disco de forma que se puedan usar en los emuladores, basta con desmontar el cartucho, sacar el chip de memoria con el código del juego grabado, y al igual que en el caso de las ROMs del sistema, volcarlo a fichero con un lector de chips de memoria. Otra opción sería utilizar alguno de los lectores de cartuchos que se insertaban en la máquina y permitían grabar a disquete los contenidos de las ROMs. Estos aparatos fueron principalmente utilizados como "copiones".
  
-      En general, en el mundo de la emulación, se le llama ROM a todo fichero volcado a disco desde una memoria. Los ficheros de ROM tendrán diferentes formatos según la arquitectura de la máquina. Por ejemplo, fichero.smc será una ROM de cartucho de SuperNES, fichero.smd de Sega MegaDrive, fichero.nes un juego de NES, fichero.gb de Gameboy, etc. Así mismo, existen ROMs en el Spectrum, obtenidas de los cartuchos del Interface 2 (un periférico de Spectrum que permitía cargar juegos en cartucho, realizando exactamente la misma función que la inserción del cartucho en una consola).+ En general, en el mundo de la emulación, se le llama ROM a todo fichero volcado a disco desde una memoria. Los ficheros de ROM tendrán diferentes formatos según la arquitectura de la máquina. Por ejemplo, fichero.smc será una ROM de cartucho de SuperNES, fichero.smd de Sega MegaDrive, fichero.nes un juego de NES, fichero.gb de Gameboy, etc. Así mismo, existen ROMs en el Spectrum, obtenidas de los cartuchos del Interface 2 (un periférico de Spectrum que permitía cargar juegos en cartucho, realizando exactamente la misma función que la inserción del cartucho en una consola).
  
-      Las máquinas recreativas son placas con microprocesadores y circuitos propios (al estilo de una consola) donde los juegos suelen estar grabados también en chips de ROM, o bien se introducen como si fueran cartuchos. El procedimiento para extraer las ROMs de las recreativas es similar al de los cartuchos en la mayoría de los casos.+ Las máquinas recreativas son placas con microprocesadores y circuitos propios (al estilo de una consola) donde los juegos suelen estar grabados también en chips de ROM, o bien se introducen como si fueran cartuchos. El procedimiento para extraer las ROMs de las recreativas es similar al de los cartuchos en la mayoría de los casos.
  
  
     * **Cintas**: Las cintas de Spectrum contienen software igual que los cartuchos de consola, sólo que en lugar de estar grabado el programa en un chip, lo está grabado de forma magnética en una cinta. La cinta contiene contiene audio grabado a una velocidad determinada y con un formato determinado para que el ordenador pueda leerlo (y grabar también software en cinta). El lector de cintas del ordenador lee este audio y lo interpreta, almacenando en memoria las instrucciones. Las cintas de Spectrum suelen ser ficheros con extensión .tap o .tzx, las cuales se han obtenido utilizando un programa de grabación de audio (con lo cual se guardan en disco en formato *.wav o *.voc). Un programa como Taper o Maketzx se encargará posteriormente de analizar este fichero wav/voc y convertirlo en un fichero de datos TAP o TZX con el programa en un formato perfecto y legible por los emuladores de Spectrum. Un fichero TZX contiene la cinta tal y como la tenemos grabada físicamente, pero en formato de unos y ceros en lugar de audio (por eso un TZX puede ocupar unos 100KB mientras que el WAV ocupa hasta 10MB, y son equivalentes). Lo más interesante es que a partir de un fichero TZX podemos obtener el WAV de la cinta (para regrabarla) o incluso es posible "reproducir" archivos TZX con programas como Playtzx, y cargar este juego en un Spectrum real con un cable macho-macho apropiado.     * **Cintas**: Las cintas de Spectrum contienen software igual que los cartuchos de consola, sólo que en lugar de estar grabado el programa en un chip, lo está grabado de forma magnética en una cinta. La cinta contiene contiene audio grabado a una velocidad determinada y con un formato determinado para que el ordenador pueda leerlo (y grabar también software en cinta). El lector de cintas del ordenador lee este audio y lo interpreta, almacenando en memoria las instrucciones. Las cintas de Spectrum suelen ser ficheros con extensión .tap o .tzx, las cuales se han obtenido utilizando un programa de grabación de audio (con lo cual se guardan en disco en formato *.wav o *.voc). Un programa como Taper o Maketzx se encargará posteriormente de analizar este fichero wav/voc y convertirlo en un fichero de datos TAP o TZX con el programa en un formato perfecto y legible por los emuladores de Spectrum. Un fichero TZX contiene la cinta tal y como la tenemos grabada físicamente, pero en formato de unos y ceros en lugar de audio (por eso un TZX puede ocupar unos 100KB mientras que el WAV ocupa hasta 10MB, y son equivalentes). Lo más interesante es que a partir de un fichero TZX podemos obtener el WAV de la cinta (para regrabarla) o incluso es posible "reproducir" archivos TZX con programas como Playtzx, y cargar este juego en un Spectrum real con un cable macho-macho apropiado.
  
-      Este formato de ficheros (TZX) es el más importante en el Spectrum. Esto es así porque al ser copias exactas de las cintas, y a partir de las cuales se puede regrabar una cinta original, al pasar a formato TZX todos los juegos disponibles, en realidad los estamos preservando y evitando la pérdida y deterioro de las cintas originales con el tiempo. Si una cinta, pasados los años, pierde sus propiedades magnéticas y el juego no carga, podemos regrabarla en la cinta original usando un grabador de cassette y el fichero TZX de la cinta obtenido de Internet.+ Este formato de ficheros (TZX) es el más importante en el Spectrum. Esto es así porque al ser copias exactas de las cintas, y a partir de las cuales se puede regrabar una cinta original, al pasar a formato TZX todos los juegos disponibles, en realidad los estamos preservando y evitando la pérdida y deterioro de las cintas originales con el tiempo. Si una cinta, pasados los años, pierde sus propiedades magnéticas y el juego no carga, podemos regrabarla en la cinta original usando un grabador de cassette y el fichero TZX de la cinta obtenido de Internet.
  
-      Hay que destacar que los ficheros TAP y TZX no son ROMS. Son "ficheros de cinta" o "tape files". El término ROM, como ya hemos visto, se asocia a programas o juegos obtenidos desde hardware, y no es aplicable a estos ficheros.+ Hay que destacar que los ficheros TAP y TZX no son ROMS. Son "ficheros de cinta" o "tape files". El término ROM, como ya hemos visto, se asocia a programas o juegos obtenidos desde hardware, y no es aplicable a estos ficheros.
  
  
Línea 136: Línea 151:
     * **Snapshots**: son volcados de la memoria del Spectrum con los juegos ya cargados desde Cinta o Disco. Es decir, supongamos que en un Spectrum con 48KB de memoria (ZX Spectrum 48K) cargamos desde cinta un juego determinado. Este juego (que sin duda ocupará menos de 48KB) se almacena en la RAM del Spectrum listo para ser jugado (por ejemplo, en el menú del juego). Si en este momento grabamos el contenido de la RAM en un fichero, y al mismo tiempo almacenamos el estado completo de la CPU, tenemos una "copia" del estado de la máquina. Al cargar este fichero en otra máquina igual, o en un emulador, pondremos al sistema destino en el mismo estado exacto que estaba la máquina original. Es decir, delante del menú, o del juego, en el punto en que lo grabamos.     * **Snapshots**: son volcados de la memoria del Spectrum con los juegos ya cargados desde Cinta o Disco. Es decir, supongamos que en un Spectrum con 48KB de memoria (ZX Spectrum 48K) cargamos desde cinta un juego determinado. Este juego (que sin duda ocupará menos de 48KB) se almacena en la RAM del Spectrum listo para ser jugado (por ejemplo, en el menú del juego). Si en este momento grabamos el contenido de la RAM en un fichero, y al mismo tiempo almacenamos el estado completo de la CPU, tenemos una "copia" del estado de la máquina. Al cargar este fichero en otra máquina igual, o en un emulador, pondremos al sistema destino en el mismo estado exacto que estaba la máquina original. Es decir, delante del menú, o del juego, en el punto en que lo grabamos.
  
-      Los Snapshots (que tampoco son ROMs) se suelen obtener cargando cintas en los emuladores y grabando el contenido de la memoria a disco con un formato especial según el tipo de Snapshot. Tenemos ficheros .z80 (que empezó a utilizar el emulador Z80 para MS-DOS), ficheros .sp y .sna (usados por emuladores antiguos), y ficheros .szx (el futuro posible formato estándar de snapshots), entre otros. Este formato de fichero no es el ideal para preservar los juegos, ya que no permiten recrear las cintas, tan sólo jugar de una forma rápida y directa a los juegos. En general podemos grabar y cargar snapshots en los emuladores de una forma muy rápida (como ficheros) y en cualquier momento, de forma que pueden ser usados como método para "grabar las partidas" y continuar posteriormente. En algunas Webs incluso se han acumulado Snapshots grabados justo antes de finalizar ciertos juegos, para que la gente pueda ver el final de un juego determinado sin tener que jugarlo (ver The Congratulations Archive en la sección de enlaces).+ Los Snapshots (que tampoco son ROMs) se suelen obtener cargando cintas en los emuladores y grabando el contenido de la memoria a disco con un formato especial según el tipo de Snapshot. Tenemos ficheros .z80 (que empezó a utilizar el emulador Z80 para MS-DOS), ficheros .sp y .sna (usados por emuladores antiguos), y ficheros .szx (el futuro posible formato estándar de snapshots), entre otros. Este formato de fichero no es el ideal para preservar los juegos, ya que no permiten recrear las cintas, tan sólo jugar de una forma rápida y directa a los juegos. En general podemos grabar y cargar snapshots en los emuladores de una forma muy rápida (como ficheros) y en cualquier momento, de forma que pueden ser usados como método para "grabar las partidas" y continuar posteriormente. En algunas Webs incluso se han acumulado Snapshots grabados justo antes de finalizar ciertos juegos, para que la gente pueda ver el final de un juego determinado sin tener que jugarlo (ver The Congratulations Archive en la sección de enlaces).
  
-      Figura 7. Obtención de software para los emuladores, visto de una manera simplificada+ Figura 7. Obtención de software para los emuladores, visto de una manera simplificada
  
  
Línea 185: Línea 200:
     * [[http://www.emudek.org|Emudek]].     * [[http://www.emudek.org|Emudek]].
     * [[http://www.thespian.demon.co.uk/congrat/|Congratulations Archive]].     * [[http://www.thespian.demon.co.uk/congrat/|Congratulations Archive]].
-    * Cualquier utilidad de Spectrum como [[http://www.worldofspectrum.org/utilities.html#tzxtools|Taper, Maketzx o Playtzx]]+    * Cualquier utilidad de Spectrum como [[http://www.worldofspectrum.org/utilities.html#tzxtools|Taper, Maketzx o Playtzx]].
     * [[http://www.xmixdrix.com/manicminer/|Remake de Manic Miner para Windows]].     * [[http://www.xmixdrix.com/manicminer/|Remake de Manic Miner para Windows]].
  
  • emulacion/introduccion-a-la-emulacion-i.txt
  • Última modificación: 20-03-2009 09:23
  • por sromero