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

szerkeszté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

szerkesztés

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

szerkesztés

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.

  • 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

szerkesztés
  • 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

szerkesztés

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

szerkesztés

Ú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

szerkesztés

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ó

szerkesztés

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

szerkesztés
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
Xebra/Arbex 110425 2011-04-252011. április 25. Igen PlayStation Windows Freeware [1]
FPSE 0.10.58 2010-11-212010. november 21. Igen PlayStation Android, Windows Mobile tulajdonosi [2]
PCSX-Reloaded 1.9.92 2010-08-52010. augusztus 5. Igen PlayStation Windows, Mac OS, Linux GPLv2 [3] Archiválva 2018. január 28-i dátummal a Wayback Machine-ben
PCSX-df 1.10 2009-03-292009. március 29. Nem PlayStation Linux GPL [4][5]
PCSX 1.5 2003-05-122003. május 12. Nem PlayStation Windows, Mac OS, Linux GPL [6]
ePSXe 1.9.0 2012-11-092013. augusztus 3. Igen PlayStation Windows, Linux, Android Freeware [7]
pSX 1.13 2007-08-272007. augusztus 27. Nem PlayStation Windows, Linux Freeware [8]
PSXeven 0.19 2005-04-252005. április 25. Nem PlayStation Windows Freeware
SSSPSX 0034 2003-05-122003. május 12. Nem PlayStation Windows, Linux GPL nincs, [9]
AdriPSX 1.0.5 2002-04-212002. április 21. Nem PlayStation Windows, DOS Freeware nincs, [10]
bleemcast! 1.0 beta 2001-11-002001. november Nem PlayStation Dreamcast tulajdonosi
bleem! 1.6b 2001-08-162001. augusztus 16. Nem PlayStation Windows tulajdonosi
Connectix Virtual Game Station 1.4.1 2000-10-112000. október 11. Nem PlayStation Windows, Mac OS tulajdonosi
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
PCSX2 0.9.8 r4600 2011-05-012011. május 1. Igen PlayStation 2 Windows, Linux GPL [11][12]
NeutrinoSX2[23] 0.8.1 2004-01-012004. Nem PlayStation 2 Windows GPL [13]
PS2emu 0.1 2004-05-082004. május 8. Nem PlayStation 2 Windows Freeware [14]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
PPSSPP v0.4 2012-12-012012. december 1. Igen PSP Windows, Mac OS, GNU/Linux, Android, BlackBerry 10 GPLv2 vagy későbbi [15]
JPCSP 0.6 r2394 2011-12-052011. december 5. Igen PSP Windows, Mac OS, Linux GPLv3 [16]
PSPE[24] 0.9 2005-06-042005. június 4. Igen PSP Windows nincs, [17]
Potemkin[25] 0.1 2007-05-232007. május 23. Nem PSP Windows GPL nincs, [18]

videójáték-konzolok

szerkesztés
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
Pasofami 1.6j 2011-12-242011. december 24. Igen NES Windows, DOS Freeware [19][20]
nemulator 2.5 2011-11-112011. november 11. Igen NES Windows [21]
FCEUX 2.1.5 2011-06-42011. június 4. Igen NES Cross-platform GPL [22]
vNES[26] 2.14 2011-05-312011. május 31. Igen NES Java ME, Symbian GPL [23][halott link]
IMBNes[27] 2.14 2011-05-312011. május 31. Igen NES PlayStation tulajdonosi
iNES[28] 1.4 2011-01-012011. január 1. Igen NES iOS [24]
Jnes 1.0.2 2010-02-62010. február 6. Igen NES Windows tulajdonosi [25]
Nester beta4a 2009-02-152009. február 15. NES Windows GPL [26]
FakeNES[29] 0.5.9 beta3 2008-07-202008. július 20. NES Windows zlib [27]
NEStopia 1.40 2008-06-112008. június 11. Igen NES Windows, Linux, Mac OS GPL [28][29]
TI-NESulator 0.40 2008-05-302008. május 30. NES Windows, Linux, Mac OS tulajdonosi [30]
TuxNES 0.75 2001-04-152001. április 15. Nem NES Linux, FreeBSD GPL [31]
NESten[30] 0.61 beta1 2001-02-112001. február 11. Nem NES Windows [32]
NESticle[31] x.xx 1998-08-181998. augusztus 18. Nem NES MS-DOS [33] Archiválva 2011. április 30-i dátummal a Wayback Machine-ben

név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
RetroArch (korábban: SSNES) 0.9.8 2013-01-252013. január 25. Igen SNES, NES, GBA, Game Boy, GBC, egyéb arcade Linux, Windows, Mac OS, *BSD, PS3, Xbox 360, Wii, Android GNU GPL [34]
bsnes 0.84 2011-11-072011. november 7. Igen SNES, Super Game Boy, Satellaview, Sufami Turbo, NES Linux, Mac OS, Windows GNU GPLv3 [35][halott link][36]
Snes9x 1.53 2011-04-252011. április 25. Igen SNES Linux, Mac OS, Windows, PlayStation 3, GameCube, Wii, PSP, iOS, Android nem kereskedelmi, nyílt forráskódú [37]
ZSNES 1.51 2007-01-242007. január 24. Igen SNES Linux, MS-DOS, Windows, Mac OS X (Intel-only) GPL [38]
SNEeSe 0.853 2006-08-242006. augusztus 29. Nem SNES MS-DOS (, Windows) Freeware [39]
SnEM 0.02 2003-12-222003. december 22. Nem SNES Windows Freeware [40]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
N64oid[32] 2.6.2 2011-11-292011. november 29. Igen Nintendo 64 Android nyílt forráskód [41]
Mupen64 Plus 1.99.4 2011-07-012011. július Igen Nintendo 64 Linux GPL v2 [42]
Project64 1.7.51.51 2011-01-42011. január 4. Nintendo 64 Windows tulajdonosi, Freeware [43]
1964 1.1 2009-07-072009. július 7. Igen Nintendo 64 Windows GPL [44][45]
Sixtyforce 0.9.5 beta 1 2010-04-32010. április 3. Igen Nintendo 64 Mac OS tulajdonosi [46]
Corn 0.3 2006-07-132006. július 13. Nem Nintendo 64 Windows [47]
Apollo 0.55.1?? (forráskód) 2003-12-042003. december 4. Nem Nintendo 64 Windows Freeware [48],[49]
SupraHLE az UltraHLE egy változata 2003-07-132003. július 13. Nem Nintendo 64 Windows Freeware [50]
TR64 5.666a 2003-07-132003. július 13. Nem Nintendo 64 Windows Freeware [51]
TRWin 2.36 2003-07-132003. július 13. Nem Nintendo 64 Windows Freeware [52]
Nemu64 ?? 2003-03-222003. március 22. Nem Nintendo 64 Windows Freeware [53]
Daedalus 0.07b 2002-06-202002. június 20. Nem Nintendo 64 Windows Freeware [54]
UltraHLE 1.0.0 1999-01-281999. január 28. Nem Nintendo 64 Windows [55]
Paper Mario 1.0.0 2000-01-282000. január 28. Nem Nintendo 64 Windows Freeware [56]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
Dolphin 3.0 2011-12-242011. december 24. Igen Nintendo GameCube, Nintendo Wii, Triforce Windows, Linux, Mac OS GPL [57][58]
Dolwin 0.10 2007-12-032007. december 3. Igen Nintendo GameCube Windows Public Domain [59][60][61]
WhineCube 8 2008-10-152008. október 15. Nem Nintendo GameCube Windows Freeware [62]
GCEmu 20051211 2006-02-082006. február 8. Nem Nintendo GameCube Windows Freeware [63]
Gcube 0.3 2004-12-052004. december 5. Nem Nintendo GameCube Windows Freeware [64]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
Dolphin 3.0 2011-12-242011. december 24. Igen Nintendo GameCube, Nintendo Wii, Triforce Windows, Linux, Mac OS GPL [65][66]

kézikonzolok

szerkesztés
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
zBoy 0.50, 0.11 (DOS) 2011-09-042011. szept. 4. Igen Game Boy Linux, DOS, Windows GPLv3 [67]
crystalboy 1.4 2011-07-042011. július 4. Igen Game Boy, Game Boy Color, Super Game Boy, Game Boy Advance in Game Boy Color Mode Windows GPLv3 [68]
BGB[33][34] 1.3.2 2011-04-102011. április 10. Igen Game Boy, Game Boy Color, Super Game Boy Windows [69]
GEST 1.1.1 2011-01-062011. január 6. Igen Game Boy, Game Boy Color, Super Game Boy Windows Freeware [70]
Goomba Paletted 2.40 2011-01-312011. január 31. Igen Game Boy, Game Boy Color Game Boy Advance, Nintendo DS GPL [71]
Goomba Color 3-31-2008 2008-03-312008. március 31. Nem Game Boy Color Game Boy Advance, Nintendo DS tulajdonosi [72]
Goomba 2.3 2005-09-172005. szept. 17. Nem Game Boy, Game Boy Color Game Boy Advance, Nintendo DS tulajdonosi [73]
EmuMaster 3.0 2010-002-122010. február 12. ? Game Boy, Game Boy Color, Super Game Boy, Sega Master System, Sega Game Gear PSP GPL [74]
Lameboy 0.12 2009-005-022009. május 2. Nem Game Boy, Game Boy Color Nintendo DS GPL [75]
KiGB[35] 2.0.5 2008-09-272008. szept. 27. Igen Game Boy, Game Boy Color Windows, Mac OS tulajdonosi [76][77]
Phoinix[36] 1.4.2 2008-06-142008. június 14. Nem Game Boy Palm OS GPL [78]
GeMP 3.3 2006-004-192006. április 19. Nem Game Boy, Game Boy Color PSP GPL [79]
VisualBoyAdvance 1.7.2 2004-05-252004. május 25. Nem Game Boy, Game Boy Color, Super Game Boy, Game Boy Advance Windows, Linux, Mac OS GPL [80]
PocketGnuBoy 1.21 2006-08-052006. augusztus 5. Nem Game Boy, Game Boy Color Windows Mobile GPL [81]
GNUboy[37] 1.0.3 2001-12-82001. december 8. Nem Game Boy Cross-platform GPL
Basic Boy 2.0.3 2004-07-072004. július 7. Nem Game Boy, Game Boy Color Windows Freeware nincs, [82]
TGB Dual vol.8 2004-03-162004. március 16. Nem Game Boy, Game Boy Color Windows GPL [83]
PlayGuy 1.03b 2002-09-032002. szept. 3. Nem Game Boy, Game Boy Color Windows Freeware [84]
DreamGBC 2001 Final Beta 5 2001-04-042001. április 4. Nem Game Boy Color Windows Freeware nincs, [85]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
iDeaS[38] 1.0.3.9 2011-02-172011. február 17. Igen Nintendo DS, Game Boy Advance Windows, Linux [86]
VBA-M rev1025 2011-06-152011. június 15. Igen Game Boy, Game Boy Color, Game Boy Advance Windows, Linux GPL [87] Archiválva 2021. november 14-i dátummal a Wayback Machine-ben
Visual Boy Advance GX 2.2.2 2010-10-72010. október 7. Igen Game Boy, Game Boy Color, Game Boy Advance GameCube, Wii GPL [88]
VBA2 SVN246 2010-02-232010. február 23. Igen Game Boy, Game Boy Color, Game Boy Advance Windows, Linux GPL [89]
VisualBoyAdvance 1.7.2 2004-05-252004. május 25. Nem Game Boy, Game Boy Color, Game Boy Advance Windows, Linux, Mac OS GPL [90]
Boycott Advance 0.4.0 2008-09-272008. szept. 27. Igen Game Boy Advance Mac OS [91]
NO$GBA 2.6a 2008-01-232008. január 23. Nem Game Boy Advance, Nintendo DS Windows [92]
PocketGBA rel. 060526 2006-06-282006. június 28. Nem Game Boy Advance Windows Mobile Freeware [93]
PSP GBA v1.2 v. 1.2 2006-06-262006. június 26. Nem Game Boy Advance PSP Freeware, nyílt forrású [94]
GPSP, GPSP-J J: 110507 2011-06-072011. május 7. Igen Game Boy Advance PSP (aláírt program) nem ismert [95]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
DeSmuME 0.9.10 2013-11-272013. november 27. Igen Nintendo DS Windows, Linux, Mac OS GPL [96][97]
NO$GBA v2.7b 2013-11-102013. november 10. Igen Nintendo DS, Game Boy Advance Windows [98][99]
DSonPSP 0.7 2011-05-282011. május 28. Igen Nintendo DS PSP GPL nincs
iDeaS 1.0.4.0 2012-02-122012. február 12. Igen Nintendo DS, Game Boy Advance Windows, Linux [100](2012-02-12)
Ensata 1.4e 2007-03-162007. március 16. Nem Nintendo DS Windows csak hivatalos fejlesztőknek [101]
NeonDS 0.2.1 2008-07-132008. július 13. Nem Nintendo DS Windows Freeware [102][103]
DSEmu 0.4.10 2006-01-172006. január 17. Nem Nintendo DS Windows BSD licenc [104]
Dualis 20.4 2007-05-272007. május 27. Nem Nintendo DS Windows Freeware [105]


Master System

szerkesztés
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
Kega Fusion[39] 3.64 (Windows), 3.63i (Mac OS), 3.63x (Linux) 2010-03-072010. március 7. Igen SG-1000, SC-3000, SF-7000, Master System, Game Gear, Sega Pico, Mega Drive, Sega CD, Sega 32x, SVP Windows, Linux, Mac OS [106]
EmuMaster 3.0 2010-02-122010. február 12. ? Game Boy, Game Boy Color,

Super Game Boy, Sega Master System, SGG

PSP GPL [107]
DSMasterPlus[40] 1.3 2007-08-202007. augusztus 20. Master System, Game Gear Nintendo DS [108]

Sega Genesis / Sega CD / Sega 32X

szerkesztés
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
FB Alpha 0.2.97.17 2011-12-172011. december 17. Igen CP System, CP System II, Neo Geo MVS, PGM, Mega Drive és egyebek Cross-platform GPL [109] Archiválva 2012. január 6-i dátummal a Wayback Machine-ben
Retrocopy 0.960 2011-05-162011. május 16. Igen Sega Genesis, Mega Drive, Game Gear, Master System Windows (32, 64 bit), Linux Freeware [110]
Kega Fusion[39] 3.64 2010-03-072010. március 7. Igen SG-1000, SC-3000, SF-7000, Master System, Game Gear, Sega Pico, Sega Genesis, Sega CD, Sega 32x, SVP Windows, Linux, Mac OS Freeware [111]
EmuMaster 3.0 2010-02-122010. február 12. ? Game Boy, Game Boy Color, Super Game Boy, Sega Master System SGG PSP GPL [112]
Gens+ Rewind 1.1 2011-02-012011. február 1. Igen Master System, Game Gear, Sega Genesis, Sega CD, Sega 32x Windows ? (free) [113]
Gens32 Surreal 1.86 HD 2010-10-062010. október 6. Igen Sega Genesis, Mega Drive, Sega CD, Mega CD, Sega 32x Windows Freeware [114]
Gens/GS r7 2009-11-112009. november 11. Igen Sega Genesis, Sega CD, Sega 32x Windows, Linux GPL [115]
Gens Plus! 0.0.9.61 2006-09-062006. szeptember 6. Nem Sega Genesis, Sega 32x, Sega CD, Master System, Game Gear Windows Freeware [116]
Gens 2.14 2006-05-212006. május 21. Nem Sega Genesis, Sega CD, Sega 32x Windows, Linux, Palm GPL [117]
HazeMD 0.12a 2006-10-252006. október 25. Nem Sega Genesis Windows Freeware [118]
Genecyst x.xx (0.33) 1998-10-151998. augusztus Nem Sega Genesis DOS Freeware [119] Archiválva 2000. június 19-i dátummal a Wayback Machine-ben
Genesis Plus[41] Nem Sega Genesis Windows, Mac OS, Dreamcast,

Nintendo GameCube, Wii

GPL [120][121]
Ages 0.29 (Pulsar) 2003-07-142003. július 14. Nem Sega Genesis, Sega CD, Sega 32x, Master System, Game Gear Windows Freeware [122]
RetroDrive 5 2003-07-142003. július 14. Nem Sega 32x Windows Freeware [123]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
SSF 0.12 beta R2 2011-07-302011. július 30. Igen Sega Saturn, ST-V Windows Freeware [124]
Yabause 0.9.11 2011-11-272011. november 27. Igen Sega Saturn Windows, Mac OS, Linux, Dreamcast, Wii, PSP GNU GPL [125]
Satourne 2.0 Beta3 2006-09-022006. szeptember 2. Nem Sega Saturn Windows Freeware [126]
Saturnin 0.40 2005-12-272005. december 27. Nem Sega Saturn Windows Freeware [127]
GiriGiri[42] 0.6a 2003-01-012003 Nem Sega Saturn Windows, PSP Freeware, később kereskedelmi [128]
név aktuális verzió utolsó kiadás aktív rendszer platform licenc hivatkozás
nullDC 1.0.4 r136 2011-10-212011. augusztus 21. Igen Dreamcast Windows GPLv3 [129]
lxdream[43] 0.9.1 2009-06-292009. június 29. Igen Dreamcast Linux, Mac OS GPL [130]
Chankast[44] 0.25 2005-05-182005. május 18. Nem Dreamcast Windows Freeware [131]
DEmul 0.5.6 2011-06-042011. június 4. Igen Dreamcast Windows Freeware [132]
DreamEMU 0.0.4.1 2003-07-162003. július 16. Nem Dreamcast Windows Freeware [133]
Icarus (emulátor) nem elérhető 1999-01-01?? Nem Dreamcast [134]
Redream 1.5.0 2020. február 1. Igen Dreamcast Windows, Linux, macOS, Raspberry, Android Weboldal

Xbox emulátorok

szerkesztés

Egyéb emulátorok

szerkesztés

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

szerkeszté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
  1. Emulációra gyakran a számítógép hardverének elöregedése miatt van szükség, mivel az újabb gyártású, és mellesleg nyilván gyorsabb számítógépeken nem futtatható a régi operációs rendszer és a szoftver. Ilyen esetben az emuláció is leggyakrabban jóval gyorsabban fut.
  2. Macintosh Performa Users Guide (angol nyelven) (pdf). manuals pp. ix. Apple Computer, Inc., 1995. [2013. május 21-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012)
  3. What is emulation?. Koninklijke Bibliotheek. [2011. június 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. december 11.)
  4. Calimera útmutató / Harmadik kötet: Technikai útmutató / Digitális megőrzés (angol nyelven). cordis.europa.eu IST, 2005. március 16. [2013. május 18-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012)
  5. a b van der Hoeven, Jeffrey, Bram Lohman, and Remco Verdegem. "Emulation for Digital Preservation in Practice: The Results." The International Journal of Digital Curation 2.2 (2007): 123–132.
  6. a b Muira, Gregory. „Pushing the Boundaries of Traditional Heritage Policy: maintaining long-term access to multimedia content.” IFLA Journal 33 (2007): 323–326.
  7. Rothenberg, Jeffrey: "Criteria for an Ideal Solution." Avoiding Technological Quicksand: Finding a Viable Technical Foundation for Digital Preservation.. Council on Library and Information Resources, 1998. (Hozzáférés: 2008. március 8.)
  8. Rothenberg, Jeffrey. "The Emulation Solution." Avoiding Technological Quicksand: Finding a Viable Technical Foundation for Digital Preservation. Washington, DC: Council on Library and Information Resources, 1998. Council on Library and Information Resources. 2008. 28 Mar. 2008 http://www.clir.org/pubs/reports/rothenberg/contents.html
  9. Muira, Gregory. "Pushing the Boundaries of Traditional Heritage Policy: maintaining long-term access to multimedia content.", IFLA Journal 33 (2007): 323–326.
  10. Granger, Stewart. Digital Preservation & Emulation: from theory to practice. Proc. of the ichim01 Meeting, vol. 2, 3 -7 Sept. 2001. Milano, Italy. Toronto: Archives and Museum Informatics, University of Toronto, 2001. 28 Mar. 2008 http://www.leeds.ac.uk/cedars/pubconf/papers/ichim01SG.html Archiválva 2009. január 31-i dátummal a Wayback Machine-ben
  11. Granger, Stewart. "Emulation as a Digital Preservation Strategy." D-Lib Magazine 6.19 (2000). 29 Mar 2008 http://www.dlib.org/dlib/october00/granger/10granger.html
  12. Rothenberg, Jeffrey. "The Emulation Solution." Avoiding Technological Quicksand: Finding a Viable Technical Foundation for Digital Preservation. Washington, DC: Council on Library and Information Resources, 1998. Council on Library and Information Resources. 2008. 28 Mar. 2008
  13. Echoes of Art: Emulation as preservation strategy. [2007. október 27-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. december 11.)
  14. Peter Magnusson: Full System Simulation: Software Development's Missing Link, 2004. [2012. október 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. december 11.)
  15. Debugging and Full System Simulation
  16. Vania Joloboff: Full System Simulation of Embedded Systems, 2009. [2014. február 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. december 11.)
  17. Pugh, Emerson W.. Building IBM: Shaping an Industry and Its Technology. MIT, 274. o. (1995). ISBN 0-262-16147-8 
  18. Pugh, Emerson W., et al.. IBM's 360 and Early 370 Systems. MIT (1991). ISBN 0-262-16123-0  pages 160-161
  19. "7090 Data Processing System" - "Compatibility feature for IBM 704 programs" subsection
  20. emulation (angol nyelven). Dictionary.com, 2012. (Hozzáférés: 2012. december 7.)
  21. emulate (angol nyelven). Merriam-Webster, 2012. [2013. január 15-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. december 7.)
  22. S. G. Tucker, "Emulation of Large Systems", Communications of the ACM (CACM) Vol. 8, No. 12, Dec. 1965, pp. 753–761
  23. Stolarz 2005, p.319
  24. Prochnow, Dave. PSP Hacks, Mods, and Expansions. McGraw-Hill, 124. o. (2005) 
  25. Yoon, Andrew: Experimental emulator brings PSP games to Windows. Joystiq, 2007. május 6. [2011. március 26-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. július 5.)
  26. Kohler 2006, p. 205
  27. PSX Scene, p. 205
  28. Kohler 2006, p. 166
  29. Kohler 2006, p. 171
  30. Carless, 2004, p. 60
  31. Kohler 2006, p. 165
  32. McElroy, Griffin: N64oid emulates Nintendo 64 classics on Android smartphones. Joystiq. AOL, 2011. március 7. [2012. október 21-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. október 10.)
  33. Kohler 2006, p. 194
  34. Gralla 2007, p. 469
  35. Kohler 2006, p. 181
  36. Kohler 2006, p. 203
  37. Kohler 2006, p. 202
  38. Ransom-Wiley, James: DS emulator off the ground, still glitchy. Joystiq, 1020. május 5. [2012. október 19-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. május 14.)
  39. a b Kohler 2006, p. 178
  40. Fletcher, JC: Emulating the gaming world on DS. Joystiq. AOL, 2008. május 22. [2011. augusztus 29-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. augusztus 7.)
  41. Fletcher, JC: Welcome to the Next Generation of Wii homebrew. Joystiq, 2008. április 3. [2012. október 21-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. július 11.)
  42. Sheffield, Brandon: A Tough Nut To Karrak: Sony's New PR Boss Talks PlayStation 3 Plans. Gamasutra, 2006. november 6. (Hozzáférés: 2011. július 12.)
  43. Goodwin, Steven. Appliance Hacking, Smart Home Automation with Linux. Apress, 53. o. (2010) 
  44. Stolarz 2005, p.318