Mame (awalnya akronim dari beberapa emulator mesin arcade) adalah emulator sumber terbuka dan open-source yang dirancang untuk menciptakan kembali perangkat keras sistem permainan arcade dalam perangkat lunak di komputer pribadi modern dan platform lainnya. [2] Tujuannya adalah untuk melestarikan riwayat permainan dengan mencegah permainan vintage hilang atau dilupakan. Tujuan Mame adalah untuk menjadi referensi ke cara kerja dalam mesin arcade yang ditiru; Kemampuan untuk benar -benar bermain game dianggap "efek samping yang bagus". [3] Joystiq telah mendaftarkan Mame sebagai aplikasi yang seharusnya dimiliki setiap Windows dan Mac Gamer. [4]
Rilis MAME publik pertama adalah oleh Nicola Salmoria pada 5 Februari 1997. Emulator sekarang mendukung lebih dari 7.000 game unik dan 10.000 set gambar ROM aktual, meskipun tidak semua game yang didukung dapat dimainkan. Mess, emulator untuk banyak konsol video game dan sistem komputer, berdasarkan inti mame, terintegrasi ke hulu ke dalam mame pada tahun 2015.
MAME (Multiple Arcade Machine Emulator) adalah emulator sumber terbuka dan terbuka yang dirancang untuk menciptakan kembali perangkat keras sistem game arcade dalam perangkat lunak pada komputer pribadi modern dan platform lainnya. Mame.net adalah emulator arcade berbasis C#, dan mempertahankan arsitektur mame yang sama. Dengan menggunakan C# dan lingkungan pengembangan terintegrasi yang kuat - Microsoft Visual Studio, tidak ada makro dan Anda dapat men -debug game arcade yang didukung di mana saja. Ada beberapa papan klasik yang didukung sekarang: M72, M92, CPS-1, CPS-1 (QSound), CPS2, Neo Geo, Sistem Namco 1, IGS011, PGM (Master Polygame).
Mame.net berjalan pada langkah -langkah berikut: Muat ROM, inisialisasi mesin, atur ulang lunak mesin, dan loop operasi "cpuexec_timeslice". Operasi "CPUEXEC_TimesLice" berarti secara berurutan menjalankan setiap CPU untuk irisan waktu, dan menjalankan panggilan balik timer. Callback timer berisi: pembaruan video, reset lunak, interupsi CPU, pembaruan suara, reset pengawas dan interupsi lainnya. Dengan langkah -langkah ini, mame.net meniru papan arcade dengan sukses. Mame.net memiliki lebih banyak fungsi: simpan dan memuat status, merekam dan memutar ulang input, cheat, pencarian cheat, IPS (Patch Main ROM), debugger dewan, debugger CPU.



Ketika ROM dari sebuah game dimuat, emulatornya secara otomatis dijeda. Tekan P untuk melanjutkan.
*Kadang -kadang kesalahan GDI+ terjadi dan Palang Merah ditampilkan. Anda dapat mengklik "File-Reset PictureBox" untuk menangani kesalahan.
1 Sejarah dan Ikhtisar 2 Desain 2.1 Data Game 3 Filsafat dan Akurasi 4 Status Hukum 5 Mame-License Asli 6 Lihat juga 7 Referensi 8 Tautan Eksternal
Proyek ini dimulai oleh programmer Italia Nicola Salmoria. Mame melacak akarnya ke proyek emulator sebelumnya yang disebut Multi-Pac, tetapi namanya diubah karena semakin banyak game mulai ditiru dalam kerangka Mame. Versi pertama dirilis pada tahun 1996. [5] Pada bulan April 1997, Salmoria mengundurkan diri untuk komitmen layanan nasionalnya, menyerahkan kepengurusan proyek kepada sesama Mirko Buffoni Italia untuk jangka waktu setengah tahun. Pada Mei 2003, David Haywood mengambil alih pekerjaan koordinator. Dari April 2005 hingga April 2011, proyek ini dikoordinasikan oleh Aaron Giles. [6] Angelo Salese melangkah sebagai koordinator baru. [7] Pada 2012, Miodrag Milanovic mengambil alih. [8] Proyek ini didukung oleh ratusan pengembang di seluruh dunia dan ribuan kontributor luar.
Pada awalnya, Mame dikembangkan secara eksklusif untuk MS-DOS, tetapi segera diangkut ke sistem seperti Unix (X/MAME), Macintosh (MacMame dan kemudian Mame OS X) dan Windows (Mame32). Sejak 24 Mei 2001 dengan versi 0.37B15 [6], pengembangan utama terjadi pada platform Windows, dan sebagian besar platform lainnya didukung melalui proyek SDLMAME, yang diintegrasikan ke dalam pohon sumber pengembangan utama pada tahun 2006. [9] Selain itu, versi MAME yang berbeda telah diangkut ke komputer lain, konsol game, ponsel dan PDA, dan pada satu titik bahkan ke kamera digital. [10] Pada 2012, Google Porting Mame ke klien asli, yang memungkinkan Mame untuk menjalankan di dalam Chrome. [11]
Rilis utama Mame terjadi kira -kira sebulan sekali. Windows Executables dalam mode 32-bit dan 64-bit dirilis di situs web resmi tim pengembangan, bersama dengan kode sumber lengkap. [12] Rilis yang lebih kecil, inkremental "U" (untuk pembaruan) dirilis setiap minggu (sampai versi 0,149U1) karena sumber berbeda terhadap versi utama terbaru, untuk menyimpan kode dalam sinkronisasi di antara pengembang. [13] Kode sumber mame dikembangkan pada repositori gitub publik. [14] Ini memungkinkan mereka yang memiliki keahlian dan alat yang diperlukan untuk membangun versi kode yang paling mutakhir dan berkontribusi peningkatan dalam bentuk permintaan tarik. Nomor versi historis 0,32, dan 0,38 hingga 0,52 secara inklusif, tidak ada; Yang pertama dilewatkan karena penamaan yang sama dari varian Mame32 (yang sejak itu telah berganti nama menjadi MameUi karena pindah ke 64-bit build), sementara angka-angka terakhir dilewati karena banyak rilis dalam siklus beta 0,37 (nomor versi ini telah ditandai di sebelah rilisnya yang setara.
Arsitektur Mame telah ditingkatkan secara luas selama bertahun -tahun. Dukungan untuk tampilan raster dan vektor, serta beberapa CPU dan chip suara, ditambahkan ke Mame dalam enam bulan pertama proyek. Sistem timer yang fleksibel untuk mengoordinasikan sinkronisasi antara beberapa inti CPU yang ditiru diimplementasikan, dan gambar ROM mulai dimuat sesuai dengan hash CRC32 mereka dalam file zip tempat mereka disimpan. [6] Mame telah memelopori rekayasa terbalik dari banyak arsitektur sistem yang tidak berdokumen, berbagai CPU (seperti CPU Konami Kustom M6809 dengan instruksi baru) dan chip suara (misalnya Game Sound Chips Yamaha), dan pengembang Mame telah menjadi instrumental dalam reverse reverse dari banyak proprie. Contohnya termasuk Neo Geo, Sistem CP II, Sistem CP III dan banyak lainnya. [Kutipan diperlukan]
Popularitas MAME telah berhasil menjadi arus utama, dengan penggemar membangun lemari permainan arcade mereka sendiri untuk menghidupkan kembali game -game lama, dan dengan perusahaan yang memproduksi karya turunan ilegal dari Mame untuk dipasang di arcade. Kabinet dapat dibangun baik dari awal atau dengan membongkar dan memodifikasi kabinet game arcade asli yang pernah digunakan dengan perangkat keras yang sebenarnya di dalam. [16] [17] Kabinet yang terinspirasi oleh game arcade klasik juga dapat dibeli dan dirakit (dengan opsional dan mame diinstal). [18]
Meskipun Mame berisi antarmuka pengguna yang belum sempurna, penggunaan Mame di Kabinet Game Arcade dan Teater Rumah memerlukan aplikasi peluncur khusus yang disebut ujung depan dengan antarmuka pengguna yang lebih canggih. Ujung depan memberikan berbagai tingkat penyesuaian - memungkinkan seseorang untuk melihat gambar kabinet, sejarah permainan dan tips tentang cara bermain, dan bahkan video permainan permainan atau menarik mode permainan.
Informasi yang terkandung dalam MAME gratis untuk digunakan kembali, dan perusahaan telah diketahui memanfaatkan Mame ketika menciptakan kembali klasik lama mereka pada sistem modern. Beberapa telah melangkah lebih jauh untuk mempekerjakan pengembang mame untuk membuat emulator untuk properti lama mereka. Contohnya adalah Paket Taito Legends yang berisi ROM yang dapat dibaca pada versi MAME tertentu. [19]
Sejak 2012, Mame dipertahankan oleh Pemimpin Proyek Mess saat itu Miodrag Milanović. [8]
Pada 27 Mei 2015 (0,162), konsol game dan kekacauan emulator sistem komputer terintegrasi dengan mame (jadi manual pengguna yang berantakan masih merupakan instruksi penggunaan paling penting untuk bagian mame non-arcade). [20]
Pada bulan Mei 2015, diumumkan bahwa pengembang Mame berencana untuk meluncurkan kembali perangkat lunak di bawah lisensi bebas dan open-source yang lebih umum, jauh dari lisensi mama asli. Pengembang MAME Miodrag Milanovic menjelaskan bahwa perubahan tersebut dimaksudkan untuk menarik lebih banyak minat pengembang pada proyek, memungkinkan produsen game untuk mendistribusikan Mame untuk meniru permainan mereka sendiri, dan menjadikan perangkat lunak sebagai "alat pembelajaran bagi pengembang yang bekerja di papan pengembangan". Transisi lisensi Mame ke lisensi BSD/GPL selesai pada Maret 2016. [21] [22] Dengan perubahan lisensi, sebagian besar kode sumber Mame (90%+) tersedia di bawah lisensi BSD tiga-klausa dan proyek lengkap berada di bawah GNU General Public License versi 2 atau lebih baru. [21] [23]
Pada 24 Februari 2016 (0,171), Mame Embedded Mewui Front-end (dan pengembang bergabung dengan tim), memberikan MAME dengan UI yang fleksibel dan lebih lengkap. [24]
Bagian ini mungkin berisi penelitian asli. Harap perbaiki dengan memverifikasi klaim yang dibuat dan menambahkan kutipan inline. Pernyataan yang hanya terdiri dari penelitian asli yang harus dihapus. (Juli 2019) (Pelajari bagaimana dan kapan harus menghapus pesan template ini) Mame Core mengoordinasikan emulasi beberapa elemen pada saat yang sama. Elemen -elemen ini mereplikasi perilaku perangkat keras yang ada di mesin arcade asli. Mame dapat meniru banyak unit pemrosesan pusat yang berbeda (CPU) dan perangkat keras terkait. Elemen -elemen ini divirtualisasi sehingga MAME bertindak sebagai lapisan perangkat lunak antara program asli permainan, dan platform Mame berjalan. MAME mendukung resolusi layar sewenang -wenang, tarif refresh dan konfigurasi tampilan. Beberapa monitor yang ditiru, seperti yang dipersyaratkan oleh contoh Darius, juga didukung.
Sistem arcade individu ditentukan oleh driver yang mengambil bentuk makro preprocessor C. Driver ini menentukan komponen individual untuk ditiru dan bagaimana mereka berkomunikasi satu sama lain. Sementara Mame awalnya ditulis dalam C, kebutuhan untuk pemrograman yang berorientasi objek menyebabkan tim pengembangan mulai mengkompilasi semua kode sebagai C ++ untuk Mame 0,136, mengambil keuntungan dari fitur tambahan dari bahasa tersebut dalam proses tersebut.
Meskipun sebagian besar inti emulasi CPU bersifat interpretatif, MAME juga mendukung kompilasi yang dinamis melalui bahasa menengah yang disebut Universal Machine Language (UML) untuk meningkatkan kecepatan emulasi. Target back-end yang didukung adalah x86 dan x64. AC Backend juga tersedia untuk verifikasi bantuan lebih lanjut dari kebenaran. CPU yang ditiru dengan cara ini adalah SH-2, MIPS R3000 dan PowerPC.
Kode program asli, grafik, dan data suara harus ada sehingga game dapat ditiru. Di sebagian besar mesin arcade, data disimpan dalam chip memori hanya baca (ROM), meskipun perangkat lain seperti kaset, floppy disk, hard disk, laserDisc, dan cakram ringkas juga digunakan. Isi sebagian besar perangkat ini dapat disalin ke file komputer, dalam proses yang disebut "dumping". File yang dihasilkan sering secara umum disebut gambar atau ROM ROM terlepas dari jenis penyimpanan mereka. Sebuah permainan biasanya terdiri dari beberapa gambar ROM dan PAL; Ini secara kolektif disimpan di dalam satu file zip, yang merupakan set ROM. Selain set ROM "Parent" (biasanya dipilih sebagai versi "dunia" terbaru dari permainan), game mungkin memiliki set "klon" ROM dengan kode program yang berbeda, teks bahasa yang berbeda yang ditujukan untuk pasar yang berbeda dll. Misalnya, Street Fighter II Turbo dianggap sebagai varian dari Street Fighter II Champion Edition. Papan sistem seperti Neo Geo yang memiliki ROM yang dibagikan di antara beberapa game mengharuskan ROM disimpan dalam set ROM "BIOS" dan dinamai dengan tepat.
Hard disk, cakram kompak, dan laserDisc disimpan dalam format spesifik mame yang disebut CHD (Hunk Data Terkompresi). [25] Beberapa mesin arcade menggunakan perangkat keras analog, seperti laserDiscs, untuk menyimpan dan memutar data audio/video seperti soundtrack dan sinematik. Data ini harus ditangkap dan dikodekan ke dalam file digital yang dapat dibaca oleh Mame. Mame tidak mendukung penggunaan perangkat analog eksternal, yang (bersama dengan speaker dan speaker yang identik) akan diperlukan untuk reproduksi 100% yang setia dari pengalaman arcade. Sejumlah game menggunakan chip suara yang belum berhasil ditiru. Game -game ini memerlukan sampel suara dalam format file WAV untuk emulasi suara. Mame juga mendukung file karya seni dalam format PNG untuk bezel dan grafik overlay.
Tujuan yang dinyatakan dari proyek ini adalah untuk mendokumentasikan perangkat keras, sehingga Mame mengambil pandangan yang agak murni tentang emulasi, melarang peretasan pemrograman yang mungkin membuat permainan berjalan secara tidak tepat atau berjalan lebih cepat dengan mengorbankan akurasi emulasi. Komponen seperti CPU ditiru pada tingkat rendah (artinya instruksi individu ditiru) jika memungkinkan, dan emulasi tingkat tinggi (HLE) hanya digunakan ketika sebuah chip sepenuhnya tidak berdokumen dan tidak dapat direkayasa secara terbalik secara rinci. Emulasi level sinyal digunakan untuk meniru sirkuit audio yang terdiri dari komponen analog.
Kami ingin mendokumentasikan perangkat keras. Sekarang banyak orang akan mengatakan; "Di mana dokumen Anda? Anda hanya menulis banyak kode sumber." Dan ya, itu benar. Satu hal yang saya pelajari adalah menjaga dokumentasi tetap disinkronkan dengan kode sumber hampir tidak mungkin. Bukti terbaik bahwa dokumentasi Anda benar adalah "apakah kode ini berfungsi".
- Aaron Giles, California Extreme 2008 [26] Mame meniru lebih dari seribu papan sistem arcade yang berbeda, yang sebagian besar benar -benar tidak berdokumen dan dirancang khusus untuk menjalankan satu permainan atau sejumlah kecil dari mereka. Pendekatan yang diambil Mame berkaitan dengan akurasi adalah yang tambahan; Sistem ditiru seakurat mungkin. Salinan game bajakan sering kali merupakan yang pertama ditiru, dengan versi yang tepat (dan salin dilindungi) yang ditiru nanti. Selain enkripsi, game arcade biasanya dilindungi dengan unit mikrokontroler khusus (MCU) yang menerapkan bagian dari logika game atau beberapa fungsi penting lainnya. Emulasi chip ini lebih disukai bahkan ketika mereka memiliki sedikit atau tidak ada efek yang terlihat pada permainan itu sendiri. Misalnya, perilaku monster dalam gelembung bobble tidak disempurnakan sampai kode dan data yang terkandung dengan MCU kustom dibuang melalui decapping chip. [27] Hal ini menghasilkan persyaratan rom yang berubah karena permainan ditiru ke tingkat yang lebih dan lebih akurat, menyebabkan versi yang lebih lama dari set ROM menjadi tidak dapat digunakan dalam versi mame yang lebih baru.
Portabilitas dan kederaman juga penting untuk MAME. Dikombinasikan dengan sikap tanpa kompromi pada akurasi, ini sering menghasilkan persyaratan sistem yang tinggi. Meskipun prosesor 2 GHz sudah cukup untuk menjalankan hampir semua game 2D, sistem yang lebih baru dan khususnya sistem dengan grafik 3D bisa sangat lambat, bahkan di komputer tercepat. Mame saat ini tidak memanfaatkan akselerasi perangkat keras untuk mempercepat rendering grafik 3D, sebagian karena kurangnya API 3D lintas platform yang stabil, dan sebagian karena rendering perangkat lunak secara teori dapat menjadi reproduksi yang tepat dari berbagai pendekatan rendering 3D kustom yang digunakan dalam permainan arcade.
Memiliki dan mendistribusikan MAME itu sendiri legal di sebagian besar negara, karena itu hanyalah emulator. Perusahaan seperti Sony telah berusaha di pengadilan untuk mencegah perangkat lunak lain seperti Virtual Game Station, emulator Sony PlayStation yang dijual, tetapi mereka pada akhirnya tidak berhasil. [28] Mame sendiri sejauh ini bukan subjek dari kasus pengadilan apa pun.
Sebagian besar game arcade masih ditutupi oleh hak cipta. Mengunduh atau mendistribusikan ROM yang dilindungi hak cipta tanpa izin dari pemegang hak cipta hampir selalu merupakan pelanggaran hukum hak cipta. Namun, beberapa negara (termasuk AS) [29] memungkinkan pemilik papan untuk mentransfer data yang terkandung dalam chip ROM ke komputer pribadi atau perangkat lain yang mereka miliki. Beberapa pemegang hak cipta telah mengeksplorasi membuat ROM game arcade tersedia untuk umum melalui lisensi. Sebagai contoh, pada tahun 2003 Atari membuat ROM yang kompatibel dengan Mame untuk 27 game arcade yang tersedia di ROM Situs Internet. Namun, pada tahun 2006 ROM tidak lagi dijual di sana. Pada satu titik, berbagai permainan Capcom dijual dengan joystick Hotrod Arcade yang diproduksi oleh Hanaho, tetapi pengaturan ini juga dihentikan. Pemegang hak cipta lainnya telah merilis game yang tidak lagi layak secara komersial gratis kepada publik di bawah lisensi yang melarang penggunaan komersial game. Banyak dari game ini dapat diunduh secara legal dari situs web Mame resmi. [30] Pengembang game Arcade Spanyol Gaelco juga telah merilis World Rally untuk penggunaan non-komersial di situs web mereka. [31]
Komunitas MAME telah menjauhkan diri dari kelompok lain yang mendistribusikan kembali ROM melalui internet atau media fisik, mengklaim bahwa mereka secara terang -terangan melanggar hak cipta dan membahayakan proyek dengan berpotensi membawanya ke tempat yang buruk. [32] Meskipun demikian, distribusi ROM ilegal tersebar luas di internet, dan banyak "set lengkap" juga ada yang berisi koleksi lengkap ROM versi tertentu. [33] [34] Selain itu, banyak sistem permainan bajakan, seperti arcade multi troli, sering menggunakan versi Mame untuk menjalankan game mereka.
Mame sebelumnya didistribusikan di bawah lisensi copyleft yang ditulis khusus, yang disebut "Lisensi MAME" atau "Lisensi seperti Mame", yang diadopsi juga oleh proyek lain, misalnya Visual Pinball. "Lisensi MAME" lama ini memastikan ketersediaan kode sumber, sementara redistribusi dalam kegiatan komersial dilarang. Karena klausul ini, lisensi tidak sesuai dengan definisi open source OSI dan definisi perangkat lunak bebas FSF. Klausa non-komersial dirancang untuk mencegah operator arcade memasang lemari mame dan mendapat untung dari karya-karya produsen asli permainan. [22] Ambiguitas definisi "komersial" menyebabkan masalah hukum dengan lisensi. [35] [36]
Sejak Maret 2016 dengan versi 0.172, Mame sendiri beralih ke lisensi perangkat lunak bebas dan open source, lisensi BSD dan GPL. [37]