Emulador de consola

De Viquipèdia
Dreceres ràpides: navegació, cerca
Emulador ZSNES

Un emulador de consola és un programa informàtic, o qualsevol altre dispositiu de computació, que és capaç d'emular una videoconsola, sigui de sobre taula o portàtil, de manera que la computadora pugui ser utilitzada per jugar a videojocs que van ser creats per aquesta consola o també desenvolupar jocs pel mateix. Moltes eines són utilitzades per traduir jocs a altres llengües, modificar (hack) jocs existents o desenvolupar jocs de demostració. A més a més, els emuladors de consola poden ser utilitzats entre consoles, i així fent que una consola de videojocs moderna pugui emular a una més antiga.

Història[modifica | modifica el codi]

L'emulació era usada ocasionalment pels desenvolupadors de consoles primerencs en els anys 1980 per a permetre que jocs d'altres maquinaris pogueren reproduir-se en els dispositius dels desenvolupadors.

Les Atari van ser fàcilment les consoles més populars i esteses de la primera generació, i molts desenvolupadors eren compatibles amb la vasta biblioteca de jocs del sistema com a reclam comercial per a atraure compradors. La Colecovision de Coleco i la 5200 de la pròpia Atari incloïen perifèrics afegits per a permetre jugar amb els cartutxs de la Atari 2600, i la Atari 7800 incloïa aquesta funcionalitat directament en la consola. Generalment, aquesta emulació va ser aconseguida a través de maquinari, a diferència de l'emulació actual de les consoles, que generalment reprodueix la funcionalitat d'un sistema completament per programari.

A mitjans dels anys 1990, els ordinadors havien progressat al punt on era tècnicament factible reproduir el comportament d'algunes consoles més primerenques completament pel programari, i els primers emuladors de consoles no autoritzades, sense fins de lucre van començar a aparèixer. Aquests primers programes eren sovint incomplets, només parcialment emulant un sistema donat, i sovint omplien amb bestioles d'ordinador. Com pocs fabricants alguna vegada havien publicat especificacions tècniques per al seu maquinari, va ser deixat a programadors aficionats i reveladors per a deduir els funcionaments exactes d'una consola per l'enginyeria inversa.

Les consoles de Nintendo van tendir a ser les més comunament estudiades, i els primers emuladors més avançats van tendir a reproduir els funcionaments del Sistema de Nintendo i el Sistema del Super Nintendo. Programes com iNES de Marat Fayzullin (que va emular les Nintendo) i VirtualGameBoy (Game Boy), el Pasofami (Nintendo) i Pasofami Super (SNES), i VSMC (SNES) era els emuladors de consola més populars d'esta era. A l'abril de 1997, Bloodlust Software va alliberar la versió 0.2 de NESticle. Un alliberament inanunciada i inesperada, NESticle va impressionar la comunitat d'emulació de consola naixent amb la seva facilitat d'ocupació i inrivalizó amb la compatibilitat amb imatges de memòria només de lectura de Nintendo. NESticle possiblement va proporcionar el catalitzador amb el qual l'emulació de consola va eixir: Cada vegada més, els usuaris van començar a experimentar amb l'emulació de la consola, i una generació nova d'emuladors va aparéixer després del plom (de l'avantatge) del NESTICLE. Bloodlust Programari prompte tornat amb Genecyst (emulant la Sega Gènesi), i altres, va alliberar emuladors com Snes9x i ZSNES (SNES). Aquest creixement ràpid en el desenvolupament d'emuladors al seu temps va alimentar el creixement de les comunitats d'hàckeig i traduccions per aficionats de ROMs. La creació de projectes per a la traducció de videojocs com ara els videojocs de rol (RPG) va atraure encara més l'atenció dels usuaris cap a l'emulació.

Mentre les computadores van continuar avançant i els dissenyadors van augmentar la seva perícia, el lapse de temps entre la posada en venda d'una consola i la seva emulació reeixida va començar a disminuir. Així, algunes de les consoles recents com la Nintendo 64, la PlayStation de Sony i la Gameboy Advance van tindre un treball significativament satisfactori mentre es trobaven encara en producció. Això ha portat cap a un creixent augment en els intents per a aturar l'emulació no oficial. Però, pel fet que la "enginyeria al revés" està protegida per les lleis de molts països, els que paguen les conseqüències d'aquest atac són principalment les pàgines d'internet que hostatgen ROMs o imatges ISO. Molts llocs web han sigut forçats a tancar sota l'amenaça d'una acció legal. D'altra banda, els dissenyadors comercials han començat una vegada més a utilitzar l'emulació com a maneres de revendre els seus vells jocs en noves consoles.

Alguns exemples poden ser: Square CO. (ara Square Enix) amb els seus múltiples reactivacions de títols dels Final Fantasy en el PlayStation. Les col·leccions de Sega dels jocs de Sonic i les col·leccions de Capcom dels jocs de Megaman per al Nintendo GameCube, PlayStation 2 i Xbox.

Estructura[modifica | modifica el codi]

La majoria dels emuladors solament emulen una determinada configuració arquitectura de maquinari - si el sistema d'explotació (o sistema operatiu) també es requereix per a emular cert programa llavors ha de ser emulat també. Tant el sistema d'explotació com el programa han de ser interpretats per l'emulador, com si estigués executant-se en l'equip original. A part de la interpretació del llenguatge de la màquina emulada, cal emular la resta de l'equip, com els dispositius d'entrada i sortida, de forma virtual: si escriure en una regió específica de la memòria ha d'influir en el contingut en pantalla, per exemple, això també ha de ser emulat. En comptes d'una emulació completa de l'equip, una compatibilitat superficial pot ser suficient. Això tradueix les cridades del sistema emulat a cridades del sistema amfitrió. Els desenvolupadors de programes per a màquines amb sistemes computarizats i consoles de videojoc comunament utilitzen emuladors especialment exactes cridats simuladors abans d'executar-los en l'equip real. Això permet que el programa pugui ser produït i provat abans que la versió final de l'equip per al qual s'està desenvolupant sigui produïda en grans quantitats, d'aquesta forma pot ser provat sense haver de copiar el programa en l'equip, de manera que puguin ser eliminats errors en un nivell baix sense tenir els efectes col·laterals d'un depurador. Típicament, un emulador es divideix en mòduls que corresponen de forma precisa als subsistemes de l'equip emulat. El més comú, és que un emulador aquest compost pels següents mòduls:

  • Un emulador de CPU o un simulador de UCP (ambdós termes són en la majoria dels casos intercanviables).
  • Un mòdul per al subsistema de memòria.
  • Diversos emuladors per als dispositius d'entrada i sortida.

El més comuna és que els Busos no siguin emulats, per raons de simplicitat i rendiment, i perquè els perifèric virtuals es comuniquin directament amb la UCP i els subsistemes de memòria.

Altres utilitats[modifica | modifica el codi]

Un avantatge de les imatges ROM és hackeig ROM potencial que hi ha: programadors principiants i entusiastes del jocs poden fer les seves traduccions de jocs de fora del país, reescrivin els diàlegs d'un joc, i canviant les característiques del joc deixant-lo totalment diferent del joc original. El programari és capaç de poder canviar l'estat desar la partida, canviar el so, posar opcions multijugador en línia, o la incorporació d'un paquet de trucs auto-activables.

Alguns dels emuladors de consola poden ser: la gnuboy, BlueMSX, VisualBoyAdvance, jNES, FCE Ultra, nester, Snes9x, ZSNES, Nessie, Project64, Stella (emulador), Power Player Super Joy III, Gens and TuxNES.

Vegeu també[modifica | modifica el codi]