Emulátor

Az emulátor egy olyan számítógépes program vagy hardver, ami más programoknak vagy eszközöknek a környezetét (vagy annak részét) „szimulálja”, vagyis lehetővé teszik az adott rendszerrel nem kompatibilis programok (vagy operációs rendszerek) vagy számítógépek futtatását. Természetesen (a szükséges átalakítások miatt) az emulátorok néha[1] lassabban működnek, mint az eredeti környezet. Tesztelésre is ideálisak lehetnek az emulátorok, mivel hiba esetén csak az álkörnyezet fagy le és nem kell újraindítani a teljes rendszert.

A DOSBox szoftver a DOS parancssoros felhasználói felületét emulálja

A számítástechnikában az emulátor egy olyan hardver, szoftver vagy mindkettő, amely lemásolja ill. utánozza (emulálja) egy kiinduló számítástechnikai rendszer funkcióit egy második, eltérő számítógépes rendszeren, úgy, hogy a második rendszer viselkedése minél jobban megközelítse a kiinduló rendszer viselkedését. A hangsúly a külső viselkedés pontos visszaadásán van, ellentétben a szimulációval, amelyben egy rendszer absztrakt modelljét állítják elő. Emiatt például egy hurrikán vagy kémiai reakció szimulációja nem emuláció.

Az emulátor leggyakrabban tehát egy olyan program, amely más rendszereket vagy konkrét gépeket "utánoz", például játékkonzolokat. Az emulátorok megpróbálják értelmezni vagy végrehajtani az eredeti szoftver kódját az adott rendszeren. A kártyával (cartridge) működő játékkonzolok játékai úgynevezett ROM fájlokban, míg a lemezes adattárolást használó játékkonzolok (pl. Nintendo GameCube, PlayStation) szoftverei lemezképfájlokban vannak eltárolva.

Néhány tipikus alkalmazás

  • Más operációs rendszer alá írt programok futtatása (pl. Linux alatti wine Windows-os programok futtatásához)
  • Az új operációs rendszer alatt egyes régebbi programok használatára is szükség van (pl. Windows vagy Linux alatti DOS emulátor)
  • A hardver fejlődése miatt egyes régi gépeken működő operációs rendszer és szoftver már nem működik az új számítógépeken (pl. Solaris 10 alatt un. branded zóna létesíthető régebbi változatok (Solaris 8 és 9) számára)
  • Virtualizáció (pl. vmware, vagy Solaris 10 alatti zónák, amikben egy gépen több solaris 10-es rendszer futhat, mintha külön számítógépek lennének)

Emulátorok a számítástechnikában

Az emuláció azt jelenti, hogy egy adott számítógépen futó program képes egy másik programkódot végrehajtani vagy egy másik eszköz működését pontosan visszaadni, utánozni. Például sok nyomtató a Hewlett-Packard LaserJet nyomtató viselkedését emulálja, a HP nyomtatókhoz írt nagy mennyiségű szoftver miatt. Amikor egy nem-HP nyomtató egy HP nyomtatót emulál, az összes valódi HP nyomtatókra írt program működni fog az emulált környezetben és ugyanazt a nyomtatási eredményt állítja elő.

A hardver-emulátor (hardware emulator) egy hardvereszközzel megvalósított emulátor. Ilyen emulátorok például a régi DOS-kompatibilis Macintosh gépekbe (pl. Centris 610 vagy Performa 630[2]) épített DOS bővítőkártyák, amelyek lehetővé tették PC (DOS) környezetre készült programok futtatását ezeken a gépeken; vagy újabban az FPGA-kkal felépített hardveremulátorok.

Elméleti értelemben a Church-Turing tézisből következik, hogy bármilyen operációs környezetben emulálható bármely másik operációs környezet. A gyakorlatban azonban ezt elég nehéz lehet megvalósítani, különösen akkor, ha az emulálni szándékozott rendszer nincs kellően dokumentálva és a működését visszafejtéssel kell kikövetkeztetni. Az állítás semmit sem mond az időbeli viselkedésről; ha az emulátor működése lassabb az eredeti hardveren működő rendszernél, akkor az emulált szoftver is lassabban fut az eredetinél, így az időzítések gyakran eltérnek attól, ami teljesítménybeli vagy működési hibákat okozhat.

Az emuláció szerepe a digitális megőrzésben

Az emuláció a digitális megőrzés egyik módszere a technikai elavulás elleni küzdelemben. Az emuláció az eredeti számítástechnikai környezet újraalkotására helyezi a hangsúlyt, ami gyakran időigényes és nehezen elérhető cél, azonban igen értékes, mert ez a technika sokkal közelebbi ill. szorosabb kapcsolatot biztosít az eredeti digitális objektumokhoz.[3][4]

Az emuláció a digitális objektum eredeti hardver- és szoftverkörnyezetét célozza és építi fel újra egy aktuális, újabb számítógépen.[5]Az emulátor használata esetén a felhasználó használhatja az aktuális (jelenlegi, modern) számítástechnikai platformon elérhető operációs rendszert vagy bármely alkalmazást, miközben az emulált szoftver az eredeti környezetében megszokott módon működik.[6]

Jeffery Rothenberg, a digitális megőrzési stratégia korai előterjesztőjének állítása szerint „az ideális megközelítés egyetlen kiterjeszthető és hosszútávú megoldást ad, amelyet csak egyszer kell megtervezni, és egységesen, automatikusan és kellő időben (pl. minden frissítési ciklusban) alkalmazható az összes dokumentum- és médiatípusra.”[7]Továbbá kijelenti, hogy ez a módszer nem csak a kiöregedő rendszerek esetében használható, hanem működik a jövőbeli ismeretlen rendszerek irányában is.[8]A gyakorlatban ez azt jelenti, hogy egy adott alkalmazás új verziójának megjelenésekor a korábbi változat által létrehozott digitális objektumok kompatibilitási és migrációs kérdéseinek megoldása helyett létrehozható az alkalmazás egy emulátora, amely lehetővé teszi a hozzáférést a szóban forgó digitális objektumokhoz.

Előnyök

  • Az emulátorok fenntartják a digitális objektumok eredeti kinézetét és viselkedését, amely éppen olyan fontos, mint maga a digitális adat.[9]
  • Egy emulátor kifejlesztése költséges, hosszú időt tekintve mégis ez a legkifizetődőbb megoldás.[10]
  • A módszer csökkenti a digitális objektumok kezelésére fordított munkát, mivel megszünteti a folyamatos konvertálást: egy adott emulátorban realizált technológia folyamatosan alkalmazható az emulált platform összes dokumentumára.[6]
  • Sok emulátor készült és érhető el szabad szoftverként, GNU General Public License hatálya alatt, ami lehetővé teszi a széles körű együttműködést a fejlesztésben és felhasználásban.[5]
  • Az emulátorok lehetővé teszik a kizárólag egyetlen rendszerre írt videójátékok használatát más rendszereken is. Például egy kizárólag PlayStation 2 videójáték emulátor használatával (elméletileg) játszhatóvá válik PC vagy Xbox 360 gépeken.

Akadályok

  • Szellemi tulajdon – Több technológiaszállító alkalmaz nem szabványos, egyedi megoldásokat a programfejlesztés során, a piaci jelenlét megszerzése vagy növelése érdekében, miközben folyamatos frissítéseket bocsát ki a versenyképesség fenntartása miatt. Ez jó hatással lehet a technológia fejlődésére és a szállító piaci részesedésére, azonban a felhasználók számára rémálommá válik az adatok megőrzése, miközben a hardver és szoftver védett jellege miatt kevés a támogató dokumentáció.[11]
  • Szerzői jog – Az egyedi fejlesztésű szoftver- és hardverspecifikációk és dokumentáció megőrzése egy emulátor-modulban nem esnek a szerzői jog hatálya alá.[12]

Emulátorok az új médiaművészetben

Az új médiaművészet (new media art) elsősorban digitális formátumokat alkalmaz, emiatt erősen támaszkodik az emulációra mint megőrzési stratégiára. Cory Arcangel és hasonló művészek elavult technológiák feltámasztását alkalmazzák műveikben és kiállnak a digitális művészet decentralizált és nem-intézményesített módon való megőrzésének fontossága mellett.

Az új médiaművészetben az emulációt leginkább a digitális médium megőrzése céljából alkalmazzák, hogy az korlátlanul elmenthető és hibamentesen reprodukálható legyen, tehát ne támaszkodjon valamilyen adott fizikai hordozóra vagy hardverre, ami idővel tönkremehet vagy elavulhat. Érdekes ellentmondás, hogy az alkalmazott emulációnak és emulátoroknak jövőbeli számítógépeken kell működniük, tehát jelenleg még nemlétező gépekre kell el/felkészülniük.[13]

Emuláció a jövőbeli rendszerek tervezésében

Új rendszerek tervezése és fejlesztése alatt gyakran használnak emulációs technikákat. Ez megkönnyíti a fejlesztési folyamatot, mivel lehetővé teszi a tervezési hibák korai felismerését és azok kijavítását még az adott rendszer elkészülése előtt.[14]Ez különösen hasznos a többmagos rendszerek tervezésénél, ahol nehezen detektálható konkurenciahibák jelentkezhetnek, amelyeket igen nehéz lehet javítani a virtuális hardver által biztosított kontrollált környezet nélkül.[15]Az emuláció lehetővé teszi a szoftverfejlesztést is a tervezés alatt álló, tehát fizikailag nemlétező hardverre,[16] ami segítséget nyújthat a tervezési döntések értékelésében is.

Az emulátorok fajtáiról

A legtöbb emulátor csak a hardveres architektúrát (hardverfelépítést) emulálja – ha a futtatni kívánt szoftverhez operációs rendszer, firmware vagy egyéb további szoftver szükséges, akkor azt külön biztosítani kell, és azok is emulálhatók. Mind az operációs rendszert, mind a szoftvert az emulátor értelmezi (értelmező segítségével futtatja), mivel ekkor a kód nem a natív hardveren fut. Az emulált bináris gépi nyelv értelmezője (interpretere) mellett szükség van egyéb hardverelemek, pl. be- és kimeneti eszközök, jelenlétére is virtuális formában. Például ha egy adott memóriahely írása befolyásolja a megjelenő képet, akkor ezt a kapcsolatot is emulálni kell.

Bár az emuláció szélsőséges esetben elérheti a legalsó elemi szintet, tehát kiszámítható az eredeti hardver áramköreinek működése és az emulátor által mutatott működés alapulhat ezen az alacsony szintű szimuláción is, ez a gyakorlatban egy nagyon szokatlan megoldás lenne. Az emulátorok általában a csak a dokumentált hardverspecifikációk és a digitális logika szintjéig mennek el a szimulációban. Bizonyos hardverplatformok megfelelő emulációja rendkívüli pontosságot igényel, gyakran szükség lehet akár a különálló órajelciklusok, a nem dokumentált tulajdonságok, kiszámíthatatlan analóg elemek és a végrehajtási hibák pontos visszaadására is. Pontosan ez a helyzet a klasszikus otthoni számítógépek esetén; erre példa, hogy a Commodore 64 gépre írt programok működése gyakran az intuitív játék- és demo-programozók által feltalált rendkívül kifinomult alacsony szintű programozási trükköktől függ.

Ezzel ellentétben, léteznek más hardverplatformok, amelyek sokkal kevésbé használják a hardver közvetlen elérését. Ezekben az esetekben elegendő lehet egy egyszerű kompatibilitási réteg, amely az eredeti rendszerhívásokat a gazdarendszerben található rendszerhívásokká fordítja az emulált rendszer számára, ilyen pl. a *BSD Linux kompatibilitási rétege, amit a FreeBSD, NetBSD és OpenBSD rendszerekben a zárt forrású natív Linux szoftverek futtatására használnak.

Beágyazott rendszerek szoftverei vagy videójátékok fejlesztése során gyakran különösen pontos, szimulátornak nevezett emulátorokat használnak, ezeken futtatják és tesztelik a programokat, még a valódi hardveren való kipróbálás előtt. Ez előnyös, mivel a szoftver elkészíthető és tesztelhető, mielőtt a végleges hardver nagyobb mennyiségben rendelkezésre állna, a tesztelés során nem kell azt a hardverre másolni, a hibakeresés (debug) alacsony szinten történhet, a hibakereső szoftver (debugger) mellékhatásainak figyelembevétele nélkül. Sok esetben a szimulátort a hardvergyártó készíti, ami elméletileg (illetve elvárható módon) növeli annak pontosságát.

A matematikai koprocesszor-emulátorok lehetővé teszik a matematikai utasításokat tartalmazó programok futtatását olyan gépeken is, amelyek nem rendelkeznek matematikai koprocesszorral, ilyenkor azonban a számításokat a fő processzor végzi, ami lassítja a rendszer működését. A koprocesszor hiánya esetén (a gépben nincs installált különálló vagy CPU-ba integrált koprocesszor) mikor a CPU-ba megkezdi egy koprocesszor-utasítás végrehajtását, ez az esemény egy meghatározott megszakítást okoz (példa: a Motorola 68000 processzor „1010 kód emulátor” és „1111 kód emulátor” megszakításai), ezután a megszakításkezelő a matematikai koprocesszor-emulátor rutinjai segítségével elvégzi a műveletet. Mikor ez sikeresen megtörtént, folytatódik a program végrehajtása.

Emuláció kontra szimuláció

A „emulátor” szót az IBM-nél alkották meg 1963-ban[17] az NPL (IBM 360) termékcsalád fejlesztése során, miközben „a szoftver, mikrokód és hardver új kombinációját” alkalmazták[18] a működés felgyorsítására. A IBM-nél nagy hangsúlyt kapott az az elv, hogy a hardveres változások során a programok minden változtatás nélkül futtathatóak maradjanak. Ezt a célt az újabb rendszereken gyakran szoftveres szimulációval érték el, ami viszont lassította a programok végrehajtását. Felfedezték, hogy a szimuláció sebessége mikrokódolt hardver használatával drasztikusan felgyorsítható. 1957-ben az IBM az IBM 709, majd később az IBM 7090 gépet is egy interpreter programmal látta el, hogy az képes legyen futtatni az „örökölt”, IBM 704 gépre írt programokat.[19] 1963-ban használták először a mikrokódos gyorsítást a szimulációhoz, ekkor alkották az IBM mérnökei a kifejezést az új elv leírására, rátalálva a létező „emuláció” kifejezésre. A szó latin eredetű, jelentése kb.: törekvés valaki utolérésére vagy meghaladására.[20][21]

Az „emuláció” szó szoftveres értelemben való használata csak nemrégiben terjedt el. 1980 előtt a szót csak a mikrokóddal segített hardveres működésre használták, és a „szimuláció” a tiszta szoftveres megoldást jelentette.[22] Ezek szerint egy számítógép, amelyet külön arra terveztek, hogy egy másik architektúrára írt programokat futtasson, az egy emulátor, ellenben a szimulátor pl. lehet egy személyi számítógépen futó program, amely lehetővé teszi régi Atari játékok futtatását. A puristák továbbra is ragaszkodnak az elméleti különbségtételhez, de jelenleg az „emuláció” leggyakrabban egy teljes gép és az azon futó bináris kód végrehajtásának utánzását jelenti.

Játékkonzol-emulátorok

Sony

PlayStation

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
Xebra/Arbex1104252011-04-252011. április 25.IgenPlayStationWindowsFreeware[1]
FPSE0.10.582010-11-212010. november 21.IgenPlayStationAndroid, Windows Mobiletulajdonosi[2]
PCSX-Reloaded1.9.922010-08-52010. augusztus 5.IgenPlayStationWindows, Mac OS, LinuxGPLv2[3] Archiválva 2018. január 28-i dátummal a Wayback Machine-ben
PCSX-df1.102009-03-292009. március 29.NemPlayStationLinuxGPL[4][5]
PCSX1.52003-05-122003. május 12.NemPlayStationWindows, Mac OS, LinuxGPL[6]
ePSXe1.9.02012-11-092013. augusztus 3.IgenPlayStationWindows, Linux, AndroidFreeware[7]
pSX1.132007-08-272007. augusztus 27.NemPlayStationWindows, LinuxFreeware[8]
PSXeven0.192005-04-252005. április 25.NemPlayStationWindowsFreeware
SSSPSX00342003-05-122003. május 12.NemPlayStationWindows, LinuxGPLnincs, [9]
AdriPSX1.0.52002-04-212002. április 21.NemPlayStationWindows, DOSFreewarenincs, [10]
bleemcast!1.0 beta2001-11-002001. novemberNemPlayStationDreamcasttulajdonosi
bleem!1.6b2001-08-162001. augusztus 16.NemPlayStationWindowstulajdonosi
Connectix Virtual Game Station1.4.12000-10-112000. október 11.NemPlayStationWindows, Mac OStulajdonosi

PlayStation 2

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
PCSX20.9.8 r46002011-05-012011. május 1.IgenPlayStation 2Windows, LinuxGPL[11][12]
NeutrinoSX2[23]0.8.12004-01-012004.NemPlayStation 2WindowsGPL[13]
PS2emu0.12004-05-082004. május 8.NemPlayStation 2WindowsFreeware[14]

PlayStation Portable

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
PPSSPPv0.42012-12-012012. december 1.IgenPSPWindows, Mac OS, GNU/Linux, Android, BlackBerry 10GPLv2 vagy későbbi[15]
JPCSP0.6 r23942011-12-052011. december 5.IgenPSPWindows, Mac OS, LinuxGPLv3[16]
PSPE[24]0.92005-06-042005. június 4.IgenPSPWindowsnincs, [17]
Potemkin[25]0.12007-05-232007. május 23.NemPSPWindowsGPLnincs, [18]

Nintendo

videójáték-konzolok

Nintendo Entertainment System

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
Pasofami1.6j2011-12-242011. december 24.IgenNESWindows, DOSFreeware[19][20]
nemulator2.52011-11-112011. november 11.IgenNESWindows[21]
FCEUX2.1.52011-06-42011. június 4.IgenNESCross-platformGPL[22]
vNES[26]2.142011-05-312011. május 31.IgenNESJava ME, SymbianGPL[23][halott link]
IMBNes[27]2.142011-05-312011. május 31.IgenNESPlayStationtulajdonosi
iNES[28]1.42011-01-012011. január 1.IgenNESiOS[24]
Jnes1.0.22010-02-62010. február 6.IgenNESWindowstulajdonosi[25]
Nesterbeta4a2009-02-152009. február 15.NESWindowsGPL[26]
FakeNES[29]0.5.9 beta32008-07-202008. július 20.NESWindowszlib[27]
NEStopia1.402008-06-112008. június 11.IgenNESWindows, Linux, Mac OSGPL[28][29]
TI-NESulator0.402008-05-302008. május 30.NESWindows, Linux, Mac OStulajdonosi[30]
TuxNES0.752001-04-152001. április 15.NemNESLinux, FreeBSDGPL[31]
NESten[30]0.61 beta12001-02-112001. február 11.NemNESWindows[32]
NESticle[31]x.xx1998-08-181998. augusztus 18.NemNESMS-DOS[33] Archiválva 2011. április 30-i dátummal a Wayback Machine-ben

Super Nintendo Entertainment System

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
RetroArch (korábban: SSNES)0.9.82013-01-252013. január 25.IgenSNES, NES, GBA, Game Boy, GBC, egyéb arcadeLinux, Windows, Mac OS, *BSD, PS3, Xbox 360, Wii, AndroidGNU GPL[34]
bsnes0.842011-11-072011. november 7.IgenSNES, Super Game Boy, Satellaview, Sufami Turbo, NESLinux, Mac OS, WindowsGNU GPLv3[35][halott link][36]
Snes9x1.532011-04-252011. április 25.IgenSNESLinux, Mac OS, Windows, PlayStation 3, GameCube, Wii, PSP, iOS, Androidnem kereskedelmi, nyílt forráskódú[37]
ZSNES1.512007-01-242007. január 24.IgenSNESLinux, MS-DOS, Windows, Mac OS X (Intel-only)GPL[38]
SNEeSe0.8532006-08-242006. augusztus 29.NemSNESMS-DOS (, Windows)Freeware[39]
SnEM0.022003-12-222003. december 22.NemSNESWindowsFreeware[40]

Nintendo 64

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
N64oid[32]2.6.22011-11-292011. november 29.IgenNintendo 64Androidnyílt forráskód[41]
Mupen64 Plus1.99.42011-07-012011. júliusIgenNintendo 64LinuxGPL v2[42]
Project641.7.51.512011-01-42011. január 4.Nintendo 64Windowstulajdonosi, Freeware[43]
19641.12009-07-072009. július 7.IgenNintendo 64WindowsGPL[44][45]
Sixtyforce0.9.5 beta 12010-04-32010. április 3.IgenNintendo 64Mac OStulajdonosi[46]
Corn0.32006-07-132006. július 13.NemNintendo 64Windows[47]
Apollo0.55.1?? (forráskód)2003-12-042003. december 4.NemNintendo 64WindowsFreeware[48],[49]
SupraHLEaz UltraHLE egy változata2003-07-132003. július 13.NemNintendo 64WindowsFreeware[50]
TR645.666a2003-07-132003. július 13.NemNintendo 64WindowsFreeware[51]
TRWin2.362003-07-132003. július 13.NemNintendo 64WindowsFreeware[52]
Nemu64??2003-03-222003. március 22.NemNintendo 64WindowsFreeware[53]
Daedalus0.07b2002-06-202002. június 20.NemNintendo 64WindowsFreeware[54]
UltraHLE1.0.01999-01-281999. január 28.NemNintendo 64Windows[55]
Paper Mario1.0.02000-01-282000. január 28.NemNintendo 64WindowsFreeware[56]

GameCube

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
Dolphin3.02011-12-242011. december 24.IgenNintendo GameCube, Nintendo Wii, TriforceWindows, Linux, Mac OSGPL[57][58]
Dolwin0.102007-12-032007. december 3.IgenNintendo GameCubeWindowsPublic Domain[59][60][61]
WhineCube82008-10-152008. október 15.NemNintendo GameCubeWindowsFreeware[62]
GCEmu200512112006-02-082006. február 8.NemNintendo GameCubeWindowsFreeware[63]
Gcube0.32004-12-052004. december 5.NemNintendo GameCubeWindowsFreeware[64]

Wii

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
Dolphin3.02011-12-242011. december 24.IgenNintendo GameCube, Nintendo Wii, TriforceWindows, Linux, Mac OSGPL[65][66]

kézikonzolok

Game Boy és Game Boy Color

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
zBoy0.50, 0.11 (DOS)2011-09-042011. szept. 4.IgenGame BoyLinux, DOS, WindowsGPLv3[67]
crystalboy1.42011-07-042011. július 4.IgenGame Boy, Game Boy Color, Super Game Boy, Game Boy Advance in Game Boy Color ModeWindowsGPLv3[68]
BGB[33][34]1.3.22011-04-102011. április 10.IgenGame Boy, Game Boy Color, Super Game BoyWindows[69]
GEST1.1.12011-01-062011. január 6.IgenGame Boy, Game Boy Color, Super Game BoyWindowsFreeware[70]
Goomba Paletted2.402011-01-312011. január 31.IgenGame Boy, Game Boy ColorGame Boy Advance, Nintendo DSGPL[71]
Goomba Color3-31-20082008-03-312008. március 31.NemGame Boy ColorGame Boy Advance, Nintendo DStulajdonosi[72]
Goomba2.32005-09-172005. szept. 17.NemGame Boy, Game Boy ColorGame Boy Advance, Nintendo DStulajdonosi[73]
EmuMaster3.02010-002-122010. február 12.?Game Boy, Game Boy Color, Super Game Boy, Sega Master System, Sega Game GearPSPGPL[74]
Lameboy0.122009-005-022009. május 2.NemGame Boy, Game Boy ColorNintendo DSGPL[75]
KiGB[35]2.0.52008-09-272008. szept. 27.IgenGame Boy, Game Boy ColorWindows, Mac OStulajdonosi[76][77]
Phoinix[36]1.4.22008-06-142008. június 14.NemGame BoyPalm OSGPL[78]
GeMP3.32006-004-192006. április 19.NemGame Boy, Game Boy ColorPSPGPL[79]
VisualBoyAdvance1.7.22004-05-252004. május 25.NemGame Boy, Game Boy Color, Super Game Boy, Game Boy AdvanceWindows, Linux, Mac OSGPL[80]
PocketGnuBoy1.212006-08-052006. augusztus 5.NemGame Boy, Game Boy ColorWindows MobileGPL[81]
GNUboy[37]1.0.32001-12-82001. december 8.NemGame BoyCross-platformGPL
Basic Boy2.0.32004-07-072004. július 7.NemGame Boy, Game Boy ColorWindowsFreewarenincs, [82]
TGB Dual vol.82004-03-162004. március 16.NemGame Boy, Game Boy ColorWindowsGPL[83]
PlayGuy1.03b2002-09-032002. szept. 3.NemGame Boy, Game Boy ColorWindowsFreeware[84]
DreamGBC2001 Final Beta 52001-04-042001. április 4.NemGame Boy ColorWindowsFreewarenincs, [85]

Game Boy Advance

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
iDeaS[38]1.0.3.92011-02-172011. február 17.IgenNintendo DS, Game Boy AdvanceWindows, Linux[86]
VBA-Mrev10252011-06-152011. június 15.IgenGame Boy, Game Boy Color, Game Boy AdvanceWindows, LinuxGPL[87] Archiválva 2021. november 14-i dátummal a Wayback Machine-ben
Visual Boy Advance GX2.2.22010-10-72010. október 7.IgenGame Boy, Game Boy Color, Game Boy AdvanceGameCube, WiiGPL[88]
VBA2SVN2462010-02-232010. február 23.IgenGame Boy, Game Boy Color, Game Boy AdvanceWindows, LinuxGPL[89]
VisualBoyAdvance1.7.22004-05-252004. május 25.NemGame Boy, Game Boy Color, Game Boy AdvanceWindows, Linux, Mac OSGPL[90]
Boycott Advance0.4.02008-09-272008. szept. 27.IgenGame Boy AdvanceMac OS[91]
NO$GBA2.6a2008-01-232008. január 23.NemGame Boy Advance, Nintendo DSWindows[92]
PocketGBArel. 0605262006-06-282006. június 28.NemGame Boy AdvanceWindows MobileFreeware[93]
PSP GBA v1.2v. 1.22006-06-262006. június 26.NemGame Boy AdvancePSPFreeware, nyílt forrású[94]
GPSP, GPSP-JJ: 1105072011-06-072011. május 7.IgenGame Boy AdvancePSP (aláírt program)nem ismert[95]

Nintendo DS

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
DeSmuME0.9.102013-11-272013. november 27.IgenNintendo DSWindows, Linux, Mac OSGPL[96][97]
NO$GBAv2.7b2013-11-102013. november 10.IgenNintendo DS, Game Boy AdvanceWindows[98][99]
DSonPSP0.72011-05-282011. május 28.IgenNintendo DSPSPGPLnincs
iDeaS1.0.4.02012-02-122012. február 12.IgenNintendo DS, Game Boy AdvanceWindows, Linux[100](2012-02-12)
Ensata1.4e2007-03-162007. március 16.NemNintendo DSWindowscsak hivatalos fejlesztőknek[101]
NeonDS0.2.12008-07-132008. július 13.NemNintendo DSWindowsFreeware[102][103]
DSEmu0.4.102006-01-172006. január 17.NemNintendo DSWindowsBSD licenc[104]
Dualis20.42007-05-272007. május 27.NemNintendo DSWindowsFreeware[105]


Sega

Master System

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
Kega Fusion[39]3.64 (Windows), 3.63i (Mac OS), 3.63x (Linux)2010-03-072010. március 7.IgenSG-1000, SC-3000, SF-7000, Master System, Game Gear, Sega Pico, Mega Drive, Sega CD, Sega 32x, SVPWindows, Linux, Mac OS[106]
EmuMaster3.02010-02-122010. február 12.?Game Boy, Game Boy Color,

Super Game Boy,Sega Master System, SGG

PSPGPL[107]
DSMasterPlus[40]1.32007-08-202007. augusztus 20.Master System, Game GearNintendo DS[108]

Sega Genesis / Sega CD / Sega 32X

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
FB Alpha0.2.97.172011-12-172011. december 17.IgenCP System, CP System II, Neo Geo MVS, PGM, Mega Drive és egyebekCross-platformGPL[109]
Retrocopy0.9602011-05-162011. május 16.IgenSega Genesis, Mega Drive, Game Gear, Master SystemWindows (32, 64 bit), LinuxFreeware[110]
Kega Fusion[39]3.642010-03-072010. március 7.IgenSG-1000, SC-3000, SF-7000, Master System, Game Gear, Sega Pico, Sega Genesis, Sega CD, Sega 32x, SVPWindows, Linux, Mac OSFreeware[111]
EmuMaster3.02010-02-122010. február 12.?Game Boy, Game Boy Color, Super Game Boy, Sega Master System SGGPSPGPL[112]
Gens+ Rewind1.12011-02-012011. február 1.IgenMaster System, Game Gear, Sega Genesis, Sega CD, Sega 32xWindows? (free)[113]
Gens32 Surreal1.86 HD2010-10-062010. október 6.IgenSega Genesis, Mega Drive, Sega CD, Mega CD, Sega 32xWindowsFreeware[114]
Gens/GSr72009-11-112009. november 11.IgenSega Genesis, Sega CD, Sega 32xWindows, LinuxGPL[115]
Gens Plus!0.0.9.612006-09-062006. szeptember 6.NemSega Genesis, Sega 32x, Sega CD, Master System, Game GearWindowsFreeware[116]
Gens2.142006-05-212006. május 21.NemSega Genesis, Sega CD, Sega 32xWindows, Linux, PalmGPL[117]
HazeMD0.12a2006-10-252006. október 25.NemSega GenesisWindowsFreeware[118]
Genecystx.xx (0.33)1998-10-151998. augusztusNemSega GenesisDOSFreeware[119] Archiválva 2000. június 19-i dátummal a Wayback Machine-ben
Genesis Plus[41]NemSega GenesisWindows, Mac OS, Dreamcast,

Nintendo GameCube, Wii

GPL[120][121]
Ages0.29 (Pulsar)2003-07-142003. július 14.NemSega Genesis, Sega CD, Sega 32x, Master System, Game GearWindowsFreeware[122]
RetroDrive52003-07-142003. július 14.NemSega 32xWindowsFreeware[123]

Sega Saturn

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
SSF0.12 beta R22011-07-302011. július 30.IgenSega Saturn, ST-VWindowsFreeware[124]
Yabause0.9.112011-11-272011. november 27.IgenSega SaturnWindows, Mac OS, Linux, Dreamcast, Wii, PSPGNU GPL[125]
Satourne2.0 Beta32006-09-022006. szeptember 2.NemSega SaturnWindowsFreeware[126]
Saturnin0.402005-12-272005. december 27.NemSega SaturnWindowsFreeware[127]
GiriGiri[42]0.6a2003-01-012003NemSega SaturnWindows, PSPFreeware, később kereskedelmi[128]

Sega Dreamcast

névaktuális verzióutolsó kiadásaktívrendszerplatformlicenchivatkozás
nullDC1.0.4 r1362011-10-212011. augusztus 21.IgenDreamcastWindowsGPLv3[129]
lxdream[43]0.9.12009-06-292009. június 29.IgenDreamcastLinux, Mac OSGPL[130]
Chankast[44]0.252005-05-182005. május 18.NemDreamcastWindowsFreeware[131]
DEmul0.5.62011-06-042011. június 4.IgenDreamcastWindowsFreeware[132]
DreamEMU0.0.4.12003-07-162003. július 16.NemDreamcastWindowsFreeware[133]
Icarus (emulátor)nem elérhető1999-01-01??NemDreamcast[134]
Redream1.5.02020. február 1.IgenDreamcastWindows, Linux, macOS, Raspberry, AndroidWeboldal

Microsoft

Xbox emulátorok

Egyéb emulátorok

  • Bochs - x86 PC emulátor
  • DOSBox - DOS alapú x86 PC emulátor
  • Dosemu - DOS alapú x86 PC emulátor
  • FreeSCI - SCI-alapú játékok emulátora
  • QEMU - többfajta architektúra emulátora
  • ScummVM - Scumm-alapú játékok emulátora
  • Wine - Windows alapú szoftver Unix alapú rendszeren való futtatásához
  • Hercules emulátor – IBM nagyszámítógép emulátor, multiplatformos, IBM System/370, System/390, zSeries/System z és egyéb kompatibilis (pl. Amdahl) gépeket emulál
  • SoftMac emulátorcsalád – Macintosh gépek emulációja Windows környezetben

Néhány emulátorok által használt fájlkiterjesztés

A régebbi játékkonzolok programjai leginkább csak-olvasható formában – kazettákon, CD-ROM-on – kerültek forgalomba. A játékok / programok ROM-kép formában archiválhatóak; a játékkonzol-emulátorok általában ilyen ROM-kép fájlokat használnak, amelyek sok eltérő fájlformátumban és kiterjesztéssel érhetők el. Ezek általában jogvédett programokat vagy egyéb alkotásokat tartalmaznak, ezért terjesztésük gyakran jogi akadályokba ütközik.

Néhány közismert fájlkiterjesztés:

  • .a26Atari 2600 játékkazetta
  • .bin – bináris állomány, több emulátor is használja
  • .cdi – DiscJuggler szoftverrel készített lemezkép
  • .crtC64 CaRTridge Image, a kiterjesztés-foglalatba (cartridge port) illeszthető ROM-modulok tartalma
  • .cso – tömörített ISO, pl. PlayStation Portable UMD játékoknál
  • .dci – Dreamcast játék
  • .elf – általános végrehajtható fájlformátum (Executable and Linkable Format)
  • .gb, .gbc, .gbaGame Boy, Game Boy Color és Game Boy Advance ROM-képek
  • .gdi – Sega Dreamcast játékok
  • .iso – CD, UMD, DVD lemezképfájl
  • .n64, .z64 – Nintendo 64 ROM (tömörítetlen, zip-tömörített)
  • .nds – Nintendo DS
  • .nes – Nintendo Entertainment System
  • .smc – Super Nintendo ROM
  • .smd – Sega Mega Drive ROM (Super Magic Drive másolóval készített kép)
  • .sms – Sega Master System
  • .xbe, .xex – Xbox Executable

Jegyzetek