Emulator
Emulator atau lebih tepatnya peranti lunak emulator memungkinkan suatu program atau peranti lunak yang dibuat pada awalnya oleh suatu sistem komputer (arsitektur dan sistem operasi) dan untuk dijalankan dalam sistem itu (atau dijalankan dalam suatu sistem yang didedikasikan), dapat dijalankan dalam sistem komputer yang sama sekali berbeda. Sebagai contoh suatu program Windows dapat dijalankan di sistem operasi Linux dengan menggunakan peranti lunak emulator Wine. Ada pula program yang mengemulasikan suatu komputer dalam komputer, misalnya VMware. Contoh lain adalah program-program emulator untuk menjalankan permainan komputer yang awalnya hanya bisa dijalankan pada konsolnya masing-masing, misalnya Nintendo, Atari, PlayStation, XBox dan lain-lain.
Terdapat beberapa alasan dibuatnya emulator, beberapa di antaranya adalah :dan dewasa ini;Emulator memungkinkan komputer untuk bekerja sesuai dengan hardware sistem yang diemulasikan. Tetapi emulator tidaklah ada gunanya tanpa didukung oleh permainan komputer ("game"). Game-game ini disebut sebagai ROM atau Disk Image yang merupakan hasil copy dari game-game dalam format cartridge atau disket sistem yang bersangkutan. Misalnya, game Sega hanya akan bekerja apabila dijalankan pada emulator Sega saja.
Melalui penggunaan emulation kita dapat memainkan game-game klasik kesukaan kita seperti Super Mario Bros dan Sonic the Hedgehog di komputer kita. Tentu saja kita tidak dapat begitu saja memasukkan cartridge game ke dalam disk drive komputer. Konsep emulation memang agak sulit untuk dijelaskan tetapi pada dasarnya emulation adalah suatu proses untuk meniru desain internal dari suatu sistem. Untuk menjalankan program pada sistem yang berbeda membutuhkan program pendukung yang disebut emulator. Mendesain emulator itu sendiri tidaklah mudah dan kualitas hasil emulationnya tidak selalu sempurna. Tetapi sekarang ini sudah banyak sekali emulator yang beredar di Internet dan kualitas emulator-emulator tersebut berkisar dari buruk hingga hampir sempurna.
Kebanyakan emulator tidak mampu untuk secara sempurna meng-emulate sistem yang hendak ditirunya. Contoh dari ketidaksempurnaan tersebut adalah problem pada timing (framerate yang lambat), gambar atau efek video yang tidak benar, suara yang kacau atau bahkan tidak bersuara sama sekali, problem di joystick, dan lain sebagainya.
Memprogram emulator adalah hal yang amat sulit dan dimulai dari mengumpulkan informasi tentang sistem yang hendak di-emulate dan mengakali komputer agar mampu meniru hardware dan instruksi-instruksi yang dijalankan oleh sistem tersebut. Salah satu contohnya adalah menulis program untuk mengemulasi cara kerja processor kuno seperti Apple II atau Intel 8086.
Emulator terdiri dari 2 jenis: single-system/dedicated emulator dan multi-system emulator. Single-system/dedicated emulator hanya dapat meng-emulate 1 jenis sistem, sedangkan multi-system emulator dapat meng-emulate beberapa jenis sistem sekaligus. Pada dasarnya kualitas single-system/dedicated emulator lebih baik daripada multi-system emulator karena hanya didesain khusus untuk 1 jenis sistem sehingga kemungkinan untuk terjadi compatibility problem dapat diminimalisasi. Selain itu kebutuhan resources untuk single-system/dedicated emulator biasanya lebih kecil dibandingkan multi-system emulator.
Mungkin Anda bertanya, apakah semua sistem sudah diemulate? Jawabannya, tergantung. Ada 3 faktor utama yang menentukan kemungkinan suatu sistem diemulate atau tidak:Emulator tanpa ROM atau Disk Image adalah tidak ada gunanya, karena ROM atau Disk Image inilah yang merupakan game sebenarnya. Perhatikan analogi berikut ini: emulator adalah console game dan ROM atau Disk Image adalah cartridge gamenya. Jadi, console Nintendo tanpa game tidaklah ada gunanya.
Kata ROM dan Disk Image sering dipakai dan dianggap sama. Sebenarnya ROM adalah copy dari cartridge game, sedangkan Disk Image adalah copy dari disket atau CD. Jadi, copy dari game Nintendo adalah ROM dan copy dari game Apple adalah Disk Image.
Ukuran ("size") suatu ROM berbeda-beda tergantung sistem yang di-emulasikan, biasanya berkisar antara 1kB hingga 50MB. Kadang-kadang ROM terdiri dari beberapa file yang merupakan suatu kesatuan dalam format ZIP. ROM ini harus di-load melalui emulator untuk dapat dimainkan, jadi ROM tidak dapat dijalankan seperti halnya program .EXE.
Sekarang, apakah emulation itu legal dan tidak melanggar hukum? Sejauh mata memandang sebenarnya emulator itu sendiri tidak melanggar hukum sejauh emulator tersebut tidak mengandung materi yang di-copyright seperti misalnya BIOS image sistem tertentu. Lain halnya dengan ROM. Pada umumnya semua ROM di-copyright tetapi untuk game klasik kadang-kadang produsen game tersebut bahkan sudah tidak aktif lagi alias sudah tutup. Dengan demikian, ROM tersbut dianggap legal. ROM juga bisa dikatakan legal apabila kita memang memiliki game aslinya.