MAME (في الأصل عبارة عن اختصار لمحاكي آلة ARCADE المتعددة) هو محاكي مجاني ومفتوح المصدر مصمم لإعادة إنشاء أجهزة أنظمة ألعاب الممرات في البرامج على أجهزة الكمبيوتر الشخصية الحديثة والمنصات الأخرى. [2] القصد من ذلك هو الحفاظ على تاريخ الألعاب من خلال منع الألعاب القديمة أو نسيانها. الهدف من MAME هو أن تكون إشارة إلى الأعمال الداخلية لآلات الممرات المحاكاة ؛ تعتبر القدرة على لعب الألعاب "تأثيرًا جانبيًا لطيفًا". [3] أدرجت Joystiq Mame كتطبيق يجب أن يكون لدى كل Windows و Mac Gamer. [4]
كان أول إصدار من MAME عامة من قِبل نيكولا سالموريا في 5 فبراير 1997. يدعم المحاكي الآن أكثر من 7000 لعبة فريدة و 10،000 مجموعة صور ROM الفعلية ، على الرغم من أن جميع الألعاب المدعومة قابلة للعب. تم دمج Mess ، وهو محاكي للعديد من لوحات ألعاب الفيديو وأنظمة الكمبيوتر ، استنادًا إلى Mame Core ، في المنبع في MAME في عام 2015.
MAME (Multip Arcade Machine Emulator) عبارة عن محاكي مجاني ومفتوح المصدر مصمم لإعادة إنشاء أجهزة نظام ألعاب Arcade في البرامج على أجهزة الكمبيوتر الشخصية الحديثة والمنصات الأخرى. Mame.net هو محاكي Arcade المستند إلى C ، ويحافظ على نفس بنية MAME. باستخدام C# وبيئة التطوير المتكاملة القوية - Microsoft Visual Studio ، لا يوجد ماكرو ويمكنك تصحيح لعبة Arcade المدعومة في أي مكان. هناك بعض اللوحات الكلاسيكية المدعومة الآن: M72 ، M92 ، CPS-1 ، CPS-1 (QSound) ، CPS2 ، NEO GEO ، NAMCO System 1 ، IGS011 ، PGM (Polygame Master).
يعمل Mame.net على الخطوات التالية: قم بتحميل ROMs ، وتهيئة الجهاز ، وإعادة ضبط الجهاز ، وحلقة "Cpuexec_timeslice". تعني عملية "cpuexec_timeslice" تنفيذ كل وحدة المعالجة المركزية بالتسلسل لشرائح زمنية ، وتنفيذ عمليات الاسترداد للوقت. يحتوي عروض التوقيت على: تحديث الفيديو ، وإعادة ضبط Soft ، ومقاطعة وحدة المعالجة المركزية ، وتحديث الصوت ، وإعادة تعيين الوكالة الدولية للطاقة وغيرها من المقاطعات. من خلال هذه الخطوات ، يحاكي Mame.net لوحة Arcade بنجاح. Mame.net لديه المزيد من الوظائف: حفظ وتحميل الحالة ، تسجيل وإعادة إدخال الإدخال ، الغش ، البحث الغش ، IPS (تصحيح Main ROM) ، مصحح الأخطاء في مجلس الإدارة ، مصنوعة أخطاء وحدة المعالجة المركزية.



عندما يتم تحميل ROMs للعبة ، يتم إيقاف المحاكي التلقائي. اضغط P للمتابعة.
*يحدث خطأ في بعض الأحيان GDI+ ويظهر الصليب الأحمر. يمكنك النقر فوق "File-Reset Picturebox" للتعامل مع الخطأ.
1 التاريخ والتصميم العام 2 تصميم 2.1 بيانات اللعبة 3 الفلسفة والدقة 4 الوضع القانوني 5 MAME-LIRENSE 6 انظر أيضًا 7 مراجع 8 روابط خارجية
بدأ المشروع المبرمج الإيطالي نيكولا سالموريا. يتتبع MAME جذوره إلى مشروع محاكي سابق يسمى Multi-PAC ، ولكن تم تغيير الاسم حيث بدأ محاكاة المزيد والمزيد من الألعاب في إطار MAME. تم إصدار الإصدار الأول في عام 1996. [5] في أبريل 1997 ، استقال سالموريا لالتزامات الخدمة الوطنية ، حيث سلمت الإشراف على المشروع لزميله الإيطالي ميركو بوفوني لمدة نصف عام. في مايو 2003 ، تولى ديفيد هايوود مهمة المنسق. من أبريل 2005 إلى أبريل 2011 ، تم تنسيق المشروع من قبل آرون جايلز. [6] تدخلت أنجيلو الملال كمنسق جديد. [7] في عام 2012 ، تولى ميدراج ميلانوفيتش. [8] يتم دعم المشروع من قبل مئات المطورين في جميع أنحاء العالم وآلاف المساهمين الخارجيين.
في البداية ، تم تطوير MAME حصريًا لـ MS-DOS ، ولكن سرعان ما تم نقله إلى أنظمة شبيهة بـ UNIX (X/MAME) و MACINTOSH (MACMAME و MAME OS X) و Windows (MAME32). منذ 24 مايو 2001 مع الإصدار 0.37B15 [6] ، يحدث التطوير الرئيسي على منصة Windows ، ويتم دعم معظم المنصات الأخرى من خلال مشروع SDLMAME ، والذي تم دمجه في شجرة مصدر التطوير الرئيسية في عام 2006. [9] بالإضافة إلى ذلك ، تم نقل إصدارات مختلفة من MAME إلى أجهزة الكمبيوتر الأخرى وأجهزة الألعاب والهواتف المحمولة و PDAs ، وعند نقطة واحدة حتى إلى الكاميرات الرقمية. [10] في عام 2012 ، نقلت Google MAME إلى العميل الأصلي ، والتي تسمح لـ MAME بالتشغيل داخل Chrome. [11]
تحدث الإصدارات الرئيسية من MAME مرة واحدة في الشهر تقريبًا. يتم إصدار Windows Executables بطريقة 32 بت و 64 بت على موقع الويب الرسمي لفريق التطوير ، إلى جانب رمز المصدر الكامل. [12] تم إصدار إصدارات "U" (للتحديث) الأصغر ، أسبوعيًا (حتى الإصدار 0.149U1) باعتباره المصدر Diffs مقابل أحدث إصدار رئيسي ، للحفاظ على رمز في التزامن بين المطورين. [13] تم تطوير رمز المصدر MAME على مستودع GITHUB العام. [14] يتيح ذلك لأولئك الذين لديهم الخبرة والأدوات المطلوبة لبناء أحدث إصدار من الكود والمساهمة في التحسينات في شكل طلبات سحب. أرقام الإصدار التاريخي 0.32 ، و 0.38 إلى 0.52 بشكل شامل ، غير موجودة ؛ تم تخطي الأول بسبب تسمية مماثلة لمتغير MAME32 (الذي تم إعادة تسمية MAMEUI في حد ذاته بسبب الانتقال إلى بنيات 64 بت) ، في حين تم تخطي الأرقام الأخيرة بسبب الإصدارات العديدة في دورة MAMEDEV العديدة (15]
تم تحسين بنية مامي على نطاق واسع على مر السنين. تمت إضافة دعم لكل من شاشات النقطية والمتجهات ، بالإضافة إلى وحدات المعالجة المركزية المتعددة والرقائق الصوتية ، إلى MAME في الأشهر الستة الأولى من المشروع. تم تنفيذ نظام مؤقت مرن لتنسيق التزامن بين نوى وحدة المعالجة المركزية المتعددة المقابلة ، وبدأت صور ROM في تحميلها وفقًا لتجزئة CRC32 في ملفات ZIP التي تم تخزينها. [6] قامت MAME برائدة الهندسة العكسية للعديد من بنيات النظام غير الموثقة ، وحدات المعالجة المركزية المختلفة (مثل وحدة المعالجة المركزية Konami المخصصة M6809-مع تعليمات جديدة) وشرائح الصوت (على سبيل المثال ، تم تشكيل MAME MAMPORES في العديد من ألعاب MAMORITH ARCADE. وتشمل أمثلة على هذه الجيور الجغرافية الجديدة ونظام CP II و CP System III وغيرها الكثير. [الاقتباس ضروري]
إن شعبية MAME قد تم اقتحامها إلى التيار الرئيسي ، حيث قام المتحمسين ببناء خزائن ألعاب الممرات الخاصة بهم لتخلي عن الألعاب القديمة ، ومع الشركات التي تنتج أعمالًا مشتقة غير قانونية من MAME لتركيبها في الأروقة. يمكن بناء الخزانات إما من نقطة الصفر أو عن طريق تفكيك وتعديل خزانة ألعاب الممرات الأصلية التي تم استخدامها ذات مرة مع الأجهزة الحقيقية في الداخل. [16] [17] يمكن أيضًا شراء الخزانات المستوحاة من ألعاب Arcade الكلاسيكية وتجميعها (مع تثبيت اختياري و MAME). [18]
على الرغم من أن MAME يحتوي على واجهة مستخدم بدائية ، إلا أن استخدام MAME في خزائن ألعاب Arcade والمسارح المنزلية يستلزم تطبيقات قاذفة خاصة تسمى Front Weves مع واجهات مستخدم أكثر تطوراً. توفر الأطراف الأمامية درجات متفاوتة من التخصيص - مما يسمح للمرء بمشاهدة صور للخزانات ، وتاريخ الألعاب والنصائح حول كيفية اللعب ، وحتى فيديو للعبة أو جذب وضع اللعبة.
المعلومات الواردة داخل MAME مجانية لإعادة الاستخدام ، ومن المعروف أن الشركات تستخدم MAME عند إعادة إنشاء كلاسيكياتها القديمة على الأنظمة الحديثة. لقد ذهب البعض إلى أقصى حد لتوظيف مطوري MAME لإنشاء المحاكيات لخصائصهم القديمة. مثال على ذلك هو حزمة Taito Legends التي تحتوي على ROMs قابلة للقراءة على إصدارات محددة من MAME. [19]
منذ عام 2012 ، يتم الحفاظ على MAME من قبل زعيم مشروع الفوضى آنذاك ميدراج ميلانوفيتش. [8]
في 27 مايو 2015 (0.162) ، تم دمج MAMS System System Mess مع MAME مع MAME (لذلك لا يزال دليل مستخدم MAST هو أهم تعليمات الاستخدام للأجزاء غير ARCADE في MAME). [20]
في مايو 2015 ، تم الإعلان عن أن مطوري MAME كانوا يخططون لإعادة تكثيف البرنامج بموجب ترخيص مجاني ومفتوح أكثر شيوعًا ، بعيدًا عن MAME-TIRENSE. أوضح مطور MAME Miodrag Milanovic أن التغيير يهدف إلى جذب المزيد من اهتمام المطورين للمشروع ، والسماح لمصنعي الألعاب بتوزيع MAME لمحاكاة ألعابهم الخاصة ، وجعل البرنامج "أداة تعليمية للمطورين الذين يعملون على لوحات التطوير". تم الانتهاء من انتقال ترخيص MAME إلى تراخيص BSD/GPL في مارس 2016. [21] [22] مع تغيير الترخيص ، يتوفر معظم رمز مصدر MAME (90 ٪+) بموجب ترخيص BSD المكون من ثلاثة أبناء والمشروع الكامل تحت إصدار ترخيص GNU العام 2 أو أحدث. [21] [23]
في 24 فبراير ، 2016 (0.171) ، MAME MAMED MEWUI الواجهة الأمامية (وانضم المطور إلى الفريق) ، مما يزود MAME بواجهة مستخدم مرنة وأكثر ملاءمة. [24]
ربما يحتوي هذا القسم على بحث أصلي. يرجى تحسينه عن طريق التحقق من المطالبات المقدمة وإضافة الاستشهادات المضمّنة. يجب إزالة البيانات التي تتكون فقط من البحث الأصلي. (يوليو 2019) (تعلم كيف ومتى يتم إزالة رسالة القالب هذه) ينسق Mame Core مضاهاة عدة عناصر في نفس الوقت. تكرر هذه العناصر سلوك الأجهزة الموجودة في آلات الممرات الأصلية. يمكن أن تحاكي MAME العديد من وحدات المعالجة المركزية المختلفة (وحدات المعالجة المركزية) والأجهزة المرتبطة بها. يتم عرض هذه العناصر الافتراضية ، لذا تعمل MAME كطبقة برمجية بين البرنامج الأصلي للعبة ، وتستمر منصة MAME. يدعم MAME قرارات الشاشة التعسفية ومعدلات التحديث وتكوينات العرض. يتم دعم الشاشات المتعددة المقاهي ، كما هو مطلوب على سبيل المثال Darius ، أيضًا.
يتم تحديد أنظمة Arcade الفردية بواسطة برامج التشغيل التي تتخذ شكل وحدات الماكرو قبل المعالج C. تحدد هذه المحركات المكونات الفردية التي سيتم محاكاةها وكيفية تواصلها مع بعضها البعض. بينما تم كتابة MAME في الأصل في C ، فإن الحاجة إلى البرمجة الموجهة للكائنات تسببت في بدء فريق التطوير في تجميع جميع التعليمات البرمجية كـ C ++ لـ MAME 0.136 ، مع الاستفادة من ميزات إضافية لتلك اللغة في هذه العملية.
على الرغم من أن الغالبية العظمى من نوى محاكاة وحدة المعالجة المركزية تفسيرية ، فإن MAME يدعم أيضًا إعادة التجميع الديناميكي من خلال لغة وسيطة تسمى لغة الآلة العالمية (UML) لزيادة سرعة المحاكاة. الأهداف الخلفية المدعومة هي x86 و x64. الواجهة الخلفية AC متاحة أيضًا لمزيد من التحقق من الصواب. وحدات المعالجة المركزية المحاكاة بهذه الطريقة هي SH-2 و MIPS R3000 و PowerPC.
يجب أن يكون رمز البرنامج الأصلي والرسومات وبيانات الصوت موجودة بحيث يمكن محاكاة اللعبة. في معظم آلات الممرات ، يتم تخزين البيانات في رقائق الذاكرة للقراءة فقط (ROMs) ، على الرغم من استخدام أجهزة أخرى مثل أشرطة الكاسيت ، والأقراص المرنة ، والأقراص الصلبة ، والليزر ، والأقراص المدمجة. يمكن نسخ محتويات معظم هذه الأجهزة إلى ملفات الكمبيوتر ، في عملية تسمى "الإغراق". غالبًا ما تسمى الملفات الناتجة بشكل عام صور ROM أو ROM بغض النظر عن نوع التخزين الذي جاءوا منه. تتكون اللعبة عادة من صور ROM و PAL متعددة ؛ يتم تخزين هذه بشكل جماعي داخل ملف zip واحد ، ويشكل مجموعة ROM. بالإضافة إلى مجموعة ROM "الأصل" (التي يتم اختيارها عادةً كإصدار "عالم" أحدث من اللعبة) ، قد يكون للألعاب "Clone" ROM مع رمز برنامج مختلف ، ونص لغة مختلفة مخصصة لأسواق مختلفة وما إلى ذلك ، على سبيل المثال ، تعتبر Street Fighter II Turbo متغيرة من Edition Street Fighter II. تتطلب لوحات النظام مثل GEO NEO التي تمت مشاركتها بين ألعاب متعددة أن يتم تخزين ROM في مجموعات ROM "BIOS" وتسمية بشكل مناسب.
يتم تخزين الأقراص الصلبة والأقراص المدمجة والليزر في تنسيق محدد MAME يسمى CHD (الصخور المضغوطة من البيانات). [25] تستخدم بعض آلات الممرات أجهزة تمثيلية ، مثل LaserDiscs ، لتخزين وتشغيل بيانات الصوت/الفيديو مثل الموسيقى التصويرية والسينمائية. يجب التقاط هذه البيانات وترميزها في ملفات رقمية يمكن قراءتها بواسطة MAME. لا يدعم MAME استخدام الأجهزة التناظرية الخارجية ، والتي ستكون مطلوبة (جنبا إلى جنب مع حاويات مكبر الصوت ومتطابقة) لاستنساخ مخلص بنسبة 100 ٪ لتجربة الممرات. يستخدم عدد من الألعاب رقائق الصوت التي لم يتم محاكاةها بعد. تتطلب هذه الألعاب عينات صوتية بتنسيق ملف WAV لمضاهاة الصوت. MAME يدعم ملفات الأعمال الفنية بالإضافة إلى تنسيق PNG لرسومات الإطار والتراكب.
الهدف المعلن للمشروع هو توثيق الأجهزة ، وبالتالي فإن MAME يأخذ نظرة فاخرة إلى حد ما للمضاهاة ، مما يحظر على اختراقات البرمجة التي قد تجعل اللعبة تعمل بشكل غير صحيح أو أسرع على حساب دقة المحاكاة. يتم محاكاة مكونات مثل وحدات المعالجة المركزية على مستوى منخفض (بمعنى أن التعليمات الفردية محاكاة) كلما كان ذلك ممكنًا ، ويتم استخدام مضاهاة المستوى العالي (HLE) فقط عندما تكون شريحة غير موثقة تمامًا ولا يمكن هندسة عكسية بالتفصيل. يتم استخدام محاكاة مستوى الإشارة لمحاكاة دوائر الصوت التي تتكون من مكونات تمثيلية.
نريد توثيق الأجهزة. الآن سيقول الكثير من الناس. "أين مستندك؟ أنت فقط تكتب مجموعة من التعليمات البرمجية المصدر." ونعم ، هذا صحيح. شيء واحد تعلمته هو أن الاحتفاظ بالتوثيق مع رمز المصدر يكاد يكون مستحيلًا. أفضل دليل على أن الوثائق الخاصة بك صحيحة هو "هل يعمل هذا الرمز".
- Aaron Giles ، California Extreme 2008 [26] MAME يحاكي أكثر من ألف لوحات نظام أركيد مختلفة ، أغلبيتها غير موثقة تمامًا ومخصصة مصممة لتشغيل لعبة واحدة أو عدد قليل جدًا منها. النهج الذي يتخذه مامي فيما يتعلق بالدقة هو نهج تدريجي ؛ يتم محاكاة الأنظمة بدقة بقدر ما يمكن أن تكون معقولة. غالبًا ما تكون نسخ Bootleg من الألعاب هي الأولى التي يتم محاكاةها ، مع الإصدارات المناسبة (المحمية) المحاكاة لاحقًا. إلى جانب التشفير ، كانت ألعاب Arcade محمية عادةً بوحدات متحكم مخصصة (MCUS) التي نفذت جزءًا من منطق اللعبة أو بعض الوظائف المهمة الأخرى. يفضل مضاهاة هذه الرقائق حتى عندما يكون لها تأثير واضح أو لا على الفور على اللعبة نفسها. على سبيل المثال ، لم يتم إلقاء سلوك الوحش في Bubble Bobble حتى تم إلقاء الرمز والبيانات الواردة مع MCU المخصصة من خلال ديكر الشريحة. [27] ينتج عن ذلك تغيير متطلبات مجموعة ROM حيث يتم محاكاة الألعاب بدرجة أكثر وأكثر دقة ، مما تسبب في أن تصبح الإصدارات الأقدم من مجموعة ROM غير صالحة للاستعمال في الإصدارات الأحدث من MAME.
قابلية النقل والرمال مهمان أيضًا لـ MAME. إلى جانب الموقف الذي لا هوادة فيه بشأن الدقة ، فإن هذا غالبًا ما يؤدي إلى متطلبات النظام العالية. على الرغم من أن معالج 2 جيجاهرتز يكفي لتشغيل جميع الألعاب ثنائية الأبعاد تقريبًا ، إلا أن الأنظمة الأكثر حداثة وخاصة الأنظمة ذات الرسومات ثلاثية الأبعاد يمكن أن تكون بطيئة بشكل لا يمكن استخدامها ، حتى على أسرع أجهزة الكمبيوتر. لا يستفيد MAME حاليًا من تسريع الأجهزة لتسريع تقديم الرسومات ثلاثية الأبعاد ، ويرجع ذلك جزئيًا إلى عدم وجود واجهة برمجة تطبيقات ثلاثية الأبعاد مستقرة ، وفي جزء منه لأن تقديم البرامج يمكن أن يكون من الناحية النظرية استنساخًا دقيقًا لمختلف أساليب العرض ثلاثية الأبعاد المخصصة التي تم استخدامها في ألعاب الرابع.
يعد امتلاك وتوزيع Mame نفسه قانونيًا في معظم البلدان ، لأنه مجرد محاكي. حاولت شركات مثل Sony في المحكمة منع البرامج الأخرى مثل Virtual Game Station ، وهي محاكي Sony PlayStation من بيعها ، لكنها لم تنجح في النهاية. [28] لم تكن مامي نفسها حتى الآن موضوع أي قضايا محكمة.
لا تزال معظم ألعاب الممرات مغطاة بحقوق الطبع والنشر. يعد تنزيل أو توزيع ROM المحمولة بحقوق الطبع والنشر دون إذن من حاملي حقوق الطبع والنشر دائمًا انتهاكًا لقوانين حقوق الطبع والنشر. ومع ذلك ، فإن بعض البلدان (بما في ذلك الولايات المتحدة) [29] تسمح لمالك اللوحة بنقل البيانات الموجودة في رقائق ROM الخاصة به إلى جهاز كمبيوتر شخصي أو جهاز آخر يمتلكونه. اكتشف بعض حاملي حقوق الطبع والنشر جعل ROMs لعبة Arcade متاحة للجمهور من خلال الترخيص. على سبيل المثال ، في عام 2003 ، صنعت Atari ROM المتوافقة مع MAME لـ 27 من ألعاب Arcade المتوفرة على موقع STAR ROM. ومع ذلك ، بحلول عام 2006 لم يعد يتم بيع ROMs هناك. عند نقطة واحدة ، تم بيع العديد من ألعاب CAPCOM باستخدام Hotrod Arcade Anwystick الذي تم تصنيعه بواسطة Hanaho ، ولكن تم إيقاف هذا الترتيب أيضًا. أصدر حاملي حقوق الطبع والنشر الآخرين ألعابًا لم تعد قابلة للحياة مجانًا للجمهور بموجب التراخيص التي تحظر الاستخدام التجاري للألعاب. قد يتم تنزيل العديد من هذه الألعاب بشكل قانوني من موقع MAME الرسمي. [30] أصدر مطور لعبة Arcade الإسباني Gaelco أيضًا Rally World Rally للاستخدام غير التجاري على موقعه على الويب. [31]
لقد نأى مجتمع MAME عن نفسه عن مجموعات أخرى لإعادة توزيع ROM عبر الإنترنت أو الوسائط المادية ، مدعيا أنها تنتهك بشكل صارخ حقوق الطبع والنشر وإلحاق الأذى بالمشروع من خلال إحضاره في حالة سيئة. [32] على الرغم من ذلك ، فإن التوزيعات غير القانونية لـ ROMs واسعة الانتشار على الإنترنت ، كما توجد العديد من "المجموعات الكاملة" التي تحتوي أيضًا على مجموعة كاملة من ROM من إصدار معين. [33] [34] بالإضافة إلى ذلك ، غالبًا ما تستخدم العديد من أنظمة ألعاب Bootleg ، مثل Arcade Multi Carts ، إصدارات Mame لتشغيل ألعابها.
تم توزيع MAME سابقًا بموجب ترخيص Lopleft المكتوب المخصص ، يسمى "Mame License" أو "Like Mame" ، والذي تم تبنيه أيضًا من قبل مشاريع أخرى ، على سبيل المثال ، Pinball. يضمن "ترخيص MAME" القديم توفر رمز المصدر ، في حين يحظر إعادة التوزيع في الأنشطة التجارية. بسبب هذا البند ، لا يتوافق الترخيص مع تعريف المصدر المفتوح لـ OSI وتعريف برنامج FSF المجاني. تم تصميم الشرط غير التجاري لمنع مشغلي الممرات من تثبيت خزائن MAME والاستفادة من أعمال الشركات المصنعة الأصلية للألعاب. [22] يؤدي غموض التعريف "التجاري" إلى مشاكل قانونية مع الترخيص. [35] [36]
منذ مارس 2016 مع الإصدار 0.172 ، تحولت MAME نفسها إلى تراخيص برامج شائعة ومفتوحة المصدر ، تراخيص BSD و GPL. [37]