emulacion:introduccion-a-la-emulacion-i

Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
Última revisiónAmbos lados, revisión siguiente
emulacion:introduccion-a-la-emulacion-i [20-03-2009 09:11] sromeroemulacion:introduccion-a-la-emulacion-i [20-03-2009 09:22] 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 72: Línea 87:
 El emulador, como el Spectrum real, realiza la misma función. Éste emula un micro Z80 (y los demás componentes del Spectrum), y lo primero que hace el emulador es cargar desde fichero (como por ejemplo, rom48k.rom) el contenido de esta ROM del Spectrum, de forma que el emulador, al igual que el Spectrum real, pueda arrancar, ejecutando las instrucciones de la ROM del Spectrum mediante su "microprocesador emulado". ¿Cómo se ha obtenido este fichero con la ROM? Sencillo: se coge un chip con la ROM del Spectrum, se inserta en un lector/grabador de memorias, y se lee, grabando el contenido de los 16384 bytes en un fichero. Cada byte de este fichero se podría decir que es una instrucción del programa de la ROM del Spectrum. El emulador, como el Spectrum real, realiza la misma función. Éste emula un micro Z80 (y los demás componentes del Spectrum), y lo primero que hace el emulador es cargar desde fichero (como por ejemplo, rom48k.rom) el contenido de esta ROM del Spectrum, de forma que el emulador, al igual que el Spectrum real, pueda arrancar, ejecutando las instrucciones de la ROM del Spectrum mediante su "microprocesador emulado". ¿Cómo se ha obtenido este fichero con la ROM? Sencillo: se coge un chip con la ROM del Spectrum, se inserta en un lector/grabador de memorias, y se lee, grabando el contenido de los 16384 bytes en un fichero. Cada byte de este fichero se podría decir que es una instrucción del programa de la ROM del Spectrum.
  
-Figura 4Esquema básico de un Spectrum real+ 
 +{{ :emulacion:emulacion2_4.gif }} 
  
 La parte central es un micro Z80 el cual ve la ROM y la RAM de forma continuada como la totalidad de su memoria. Es decir, ve 64KB de memoria de los cuales los primeros 16K son el contenido de chip de ROM, y los siguientes 48K los del chip de RAM. Al encender el Spectrum éste se inicializa y muestra el BASIC porque comienza a ejecutar instrucciones desde la dirección de memoria 0, donde está el principio de la ROM de 16K, es decir, el intérprete BASIC. La parte central es un micro Z80 el cual ve la ROM y la RAM de forma continuada como la totalidad de su memoria. Es decir, ve 64KB de memoria de los cuales los primeros 16K son el contenido de chip de ROM, y los siguientes 48K los del chip de RAM. Al encender el Spectrum éste se inicializa y muestra el BASIC porque comienza a ejecutar instrucciones desde la dirección de memoria 0, donde está el principio de la ROM de 16K, es decir, el intérprete BASIC.
Línea 106: Línea 123:
     * **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. +{{ :emulacion:emulacion2_5.jpg }} 
 +;#; 
 +//Una de esas pequeñas cucarachas negras (o varias,\\ según el sistema) alberga la ROM del aparato.// 
 +;#; 
 +\\ 
  
     * **ROMs de cartuchos**: los cartuchos de consola no suelen ser más que soportes de plástico de una forma determinada, que en su interior contienen chips de memoria (iguales que los chips de la ROM) conectados eléctricamente a los contactos metálicos o pines que sobresalen del plástico del cartucho. Si os fijáis, en realidad los juegos de consola no son más que ROMs del sistema, ya que realmente las consolas no suelen tener ROM (si las encendemos sin juego dentro, no hacen nada), y somos nosotros los que introducimos una ROM (que en realidad es el juego) al introducir el cartucho. Esa ROM, en lugar de ser un Sistema Operativo, es un juego. Recordemos que el microprocesador lo único que sabe hacer es ejecutar instrucciones en código máquina, sea un juego, o sea un intérprete de BASIC.     * **ROMs de cartuchos**: los cartuchos de consola no suelen ser más que soportes de plástico de una forma determinada, que en su interior contienen chips de memoria (iguales que los chips de la ROM) conectados eléctricamente a los contactos metálicos o pines que sobresalen del plástico del cartucho. Si os fijáis, en realidad los juegos de consola no son más que ROMs del sistema, ya que realmente las consolas no suelen tener ROM (si las encendemos sin juego dentro, no hacen nada), y somos nosotros los que introducimos una ROM (que en realidad es el juego) al introducir el cartucho. Esa ROM, en lugar de ser un Sistema Operativo, es un juego. Recordemos que el microprocesador lo único que sabe hacer es ejecutar instrucciones en código máquina, sea un juego, o sea un intérprete de BASIC.
  
  
- 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.+{{ :emulacion:emulacion2_6.jpg }} 
 +;#; 
 +//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.// 
 +;#; 
 +\\ 
  
  
Línea 138: Línea 162:
  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+ 
 +{{ :emulacion:emulacion2_7.gif }} 
 +;#; 
 +//Obtención de software para los emuladores,\\ visto de una manera simplificada// 
 +;#; 
 +\\  
 + 
  
  
Línea 151: Línea 182:
 Otra pequeña confusión para los neófitos es aquella entre emulador y remake. Un remake es un juego programado desde cero de forma que se parezca a un juego antiguo o clásico de otro sistema. Por ejemplo, un remake de Manic Miner es un juego que tiene las mismas pantallas que el Manic Miner original de Spectrum, que simula los mismos personajes, enemigos y estilo de juego, pero que no está recreado mediante un emulador y el juego original, sino que está programado desde cero por uno o más programadores que realizan el juego con diferentes gráficos (aunque a veces pueden usarse los mismos capturados para darle un aspecto más fiel al original), mejores melodías y sonidos, etc. Los autores de remakes están en realidad realizando un juego como el original, pero hecho por ellos mismos. Con los remakes se consigue (además de satisfacer un reto personal y honrar al programador del juego original) acercar juegos clásicos a arquitecturas actuales, sin necesidad de emuladores. Otra pequeña confusión para los neófitos es aquella entre emulador y remake. Un remake es un juego programado desde cero de forma que se parezca a un juego antiguo o clásico de otro sistema. Por ejemplo, un remake de Manic Miner es un juego que tiene las mismas pantallas que el Manic Miner original de Spectrum, que simula los mismos personajes, enemigos y estilo de juego, pero que no está recreado mediante un emulador y el juego original, sino que está programado desde cero por uno o más programadores que realizan el juego con diferentes gráficos (aunque a veces pueden usarse los mismos capturados para darle un aspecto más fiel al original), mejores melodías y sonidos, etc. Los autores de remakes están en realidad realizando un juego como el original, pero hecho por ellos mismos. Con los remakes se consigue (además de satisfacer un reto personal y honrar al programador del juego original) acercar juegos clásicos a arquitecturas actuales, sin necesidad de emuladores.
  
-Figura: Manic Miner original (izquierda) y uno de sus innumerables remakes (derecha)+{{ :emulacion:emulacion2_8.gif }} 
 +;#; 
 +//Manic Miner original (izquierda) y uno de\\ sus innumerables remakes (derecha)// 
 +;#; 
 +\\  
 + 
  
 ===== Ventajas y desventajas de los emuladores ===== ===== Ventajas y desventajas de los emuladores =====
  • emulacion/introduccion-a-la-emulacion-i.txt
  • Última modificación: 20-03-2009 09:23
  • por sromero