MAME

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea altor semnificații, consultați Mame .
MAME
software
Siglă
Exemplu de captură de ecran
Tip Emulator
Dezvoltator Echipa MAME
Data primei versiuni Ianuarie 1997
Ultima versiune 0,232 (27 mai 2021)
Sistem de operare Multiplatform
Limba C ++
C.
Licență Licență publică generală GNU
( Licență gratuită )
Site-ul web www.mamedev.org

MAME [1] (acronim pentru Multiple Arcade Machine Emulator , în italiană Emulator Multiple Arcade Machines sau EMMA ) este un software capabil să emuleze diverse platforme de jocuri arcade , inițial publicat doar pe MS-DOS în 1997 și ulterior convertit pentru aproape toate mașinile și care funcționează sisteme în circulație. Scopul acestei emulații este de a documenta funcționarea monedelor , de a păstra istoria jocurilor video și de a preveni dispariția vechilor rarități odată ce mașinile originale au încetat să funcționeze din motive de perimare .

Istorie

Primul autor al proiectului a fost Nicola Salmoria , care a început să lucreze la emulator pe 24 decembrie 1996 . Salmoria a avut ideea de a combina mai multe emulatoare găsite pe net (inclusiv un emulator primitiv Pac Man ) într-un singur program capabil să ruleze mai multe jocuri. Prima versiune, 0.1, a fost lansată pe 5 februarie 1997 ; care rulează într-un mediu de linie de comandă MS-DOS , această versiune este capabilă să ruleze cinci titluri. În scurt timp, proiectul a început să atragă atenția altor dezvoltatori, care au început să colaboreze prin inserarea de drivere noi pentru funcționarea jocurilor video, grație unei arhitecturi specifice codului sursă.

În 1997, a început dezvoltarea paralelă a MAME32, o versiune adaptată mediului Windows pe 32 de biți cu adăugarea unei interfețe grafice ( GUI ) care facilitează foarte mult utilizarea acestuia, în special pentru cei care nu sunt familiarizați cu comenzile DOS .

În 1998, versiunea 0.34 a atins cota de 1000 de titluri acceptate. Din 2001 versiunea oficială a MAME nu mai este dezvoltată sub DOS, ci sub Microsoft Windows , din nou fără o interfață grafică, ca program de linie de comandă. Cea mai recentă versiune stabilă a MAME este 0.233, lansată la 1 iulie 2021: sunt acceptate peste 12.000 de titluri, 35.000 incluzând diferitele clone. Din 2015, proiectul MAME și proiectul MESS au fuzionat într-un singur proiect păstrând numele MAME, dar cu posibilitatea de a compila doar partea arcade sau MESS. Începând cu 30 noiembrie 2016 (versiunea 0.180), proiectul a fost coordonat de Vas Crabb. [2]

Operațiune

MAME este compus din diferite părți capabile să emuleze complet arhitecturile tipice ale mașinilor arcade care, de exemplu, au fost găsite în baruri și arcade . În practică, MAME reconstruiește prin intermediul software - ului toate acele circuite interne care vă permit să gestionați intrările joystick - urilor , gestionarea monitorului și a reproducătorilor de sunet. Chiar și inserarea monedelor în mecanismul monedei este emulată și trebuie practicată de jucător.

Singurul lucru care lipsește este partea software a mașinilor, adică ROM-urile originale ale jocurilor, care trebuie adăugate separat pentru fiecare joc, dar din motive de drepturi de autor nu pot fi distribuite legal. Software-ul majorității jocurilor arcade din trecut a fost transformat de entuziaști în fișiere lizibile de MAME și popularizat ca abandonware . Excepție fac în prezent câteva titluri pentru care permisiunea de distribuție a fost acordată în mod expres de către deținătorii drepturilor de autor: în special Gridlee della Videa, Robby Roto de Bally / Midway, Alien Arena de Duncan Brown și o serie de 11 produse de jocuri de la Exidy , pentru care producătorul a acordat distribuție gratuită în scopuri necomerciale. Gaelco și-a „lansat” și Raliul Mondial . [3]

Sistemele originale de control ale jocurilor arcade, care sunt uneori periferice speciale special create, sunt emulate în MAME prin tastatură, joystick sau alte periferice comune. De exemplu, butonul Arkanoid poate fi simulat cu un mouse sau un trackball. Când multiplayer pe un singur cabinet este posibil în jocul original, modul este disponibil și în MAME pe aceeași mașină. Pe MAME oficial, pe de altă parte, nu există niciun joc online, care devine posibil doar prin utilizarea versiunilor modificate precum MAME32 cu Kaillera sau MAMEhub.

Arhitectură

Din punct de vedere logic, MAME poate fi împărțit în 3 niveluri:

  • Primul nivel se referă la emularea hardware-ului propriu-zis.
  • Al doilea nivel conține toate funcțiile generale și modulele care formează lipiciul între primul și al treilea nivel.
  • Al treilea nivel este cel care „prezintă” emulatorul utilizatorului. Se compune din interfața grafică (dacă există) și toate acele opțiuni care vă permit să porniți și să conduceți emulatorul.

Primele două niveluri sunt scrise în C pentru a avea o viteză și o portabilitate mai mari. Nu este necesară nicio bibliotecă externă și acest cod poate fi compilat pentru orice platformă de un compilator standard, practic fără nicio modificare. Al treilea nivel se numește OSD ( dependent de sistem de operare ) și conține tot acel cod specific pentru diferitele platforme. Toate diversele apeluri de sistem Windows sau Linux se găsesc în acest strat permițând migrarea ușoară a codului de la o platformă la alta prin schimbarea numai a acestui strat.

ROM-uri

În aproape toate jocurile arcade , datele (software, grafică, audio etc.) sunt stocate în cipuri de memorie numai în citire ( ROM ), deși dischetele , CD-ROM-urile sau casetele sunt, de asemenea, utilizate în unele cazuri. Datele conținute în aceste medii sunt citite și rescrise în fișiere care conțin copia exactă a cipului din care provin printr-un proces numit dumping . Astfel de fișiere (indiferent de suportul din care provin) se numesc ROM-uri. De obicei, un joc constă din mai multe ROM-uri (unele pentru audio, altele pentru grafică etc.). Setul tuturor ROM-urilor dintr-un joc se numește ROM Set .

MAME gestionează seturile de ROM-uri în 2 moduri: fișiere CHD ( Compressed Hunks of Data ) care conțin imagini de hard disk comprimate sau discuri compacte sau fișiere ZIP care conțin toate ROM-urile.

Set ROM

Seturile ROM sunt grupuri de imagini ROM care alcătuiesc același joc. Există 3 tipuri principale de seturi ROM:

  • ROM Set Original : denumit și ROM Set Parent , acest set conține toate ROM-urile jocului pe care echipa de dezvoltare MAME le-a definit ca fiind originale (uneori este cea mai recentă și completă versiune a jocului, alteori este prima și cea mai mare versiunea tradițională, alteori este versiunea mondială sau cea mai faimoasă). ROM-urile acestui set conțin toate informațiile pentru lansarea jocului.
  • ROM Set Clone : sunt variante ale jocurilor originale, de exemplu versiuni anterioare sau ulterioare sau localizate, care utilizează mai multe ROM-uri identice cu alte versiuni ale aceluiași joc. Pentru a economisi spațiu, aceste ROM-uri duplicate sunt incluse o singură dată în setul Parent, în timp ce setul Clone conține doar ROM-urile care îl disting de alte ediții ale jocului.
  • Set BIOS ROM : nu sunt jocuri reale, conțin ROM-uri necesare altor jocuri pentru a putea rula. BIOS-ul (Basic Input / Output System) este un set de rutine de bază care gestionează diferitele componente hardware ale mașinii de joc. Aceste imagini sunt deosebit de importante pentru sistemele care acceptă mai multe jocuri, cum ar fi Neo Geo .

Dezvoltare

Coordonatori

Echipă de dezvoltare

MAME este în prezent dezvoltat activ de:

  • Aaron Giles
  • „Alex”
  • Andreas Naive
  • Andrew J. Gardner
  • Angelo Salese "Kale"
  • Bryan McPhail "Mish"
  • Charles MacDonald
  • Dave Widel
  • David Haywood „Haze”
  • Derrick Renaud
  • Elsemi
  • Frank Palazzolo
  • „Guru”
  • Luca Elia
  • Manuel Abadia
  • Mariusz Wojcieszek
  • Nicola Salmoria
  • Norbert Kehrer
  • Paul Priest "Turnichet"
  • Philip J. Bennett
  • Phil Stroffolino
  • Pierpaolo Prazzoli "Reip"
  • R. Belmont „Arbee”
  • Roberto Fresca "Robbie"
  • Roberto Zandonà "Robiza"
  • „smf”
  • "Stilet"
  • Jim Stolis „Stolistic”
  • Tomasz Slanina "Dox"
  • Ville Linde

Cu toate acestea, fiind un proiect al cărui cod sursă poate fi distribuit în mod liber, oricine are cunoștințele și abilitățile tehnice necesare își poate trimite contribuția.

Versiuni

Versiuni oficiale

MAME este dezvoltat de programatori non-profit. Lansările oficiale, caracterizate până acum de un cod de tipul 0.X unde X este versiunea (de exemplu 0.89), după ani de lansări neregulate, începând cu noiembrie 2014 sunt publicate în ultima miercuri a fiecărei luni. MAME poate fi descărcat gratuit de pe site-ul oficial.

Versiuni speciale

0.32 nu a fost creat niciodată pentru a evita confuzia cu MAME32, versiunea MAME cu o interfață grafică Windows . De la lansarea 0.31, beta-urile au început să fie numerotate cu numere din ce în ce mai mari, în speranța de a ajunge la o versiune 1.0 în curând. Acest lucru a dus la lansarea multor versiuni denumite beta, dar care erau de fapt versiuni complet funcționale (0.35b13, 0.36b9 de exemplu). Cu versiunea 0.37 am început să folosim numerotarea curentă fără să sperăm o versiune 1.0, atât de mult încât unii dezvoltatori cred că probabil nu va exista niciodată o versiune definitivă reală a MAME. De fapt, versiunea după 0.99 a fost publicată pe 14 septembrie 2005 cu 0,100. Versiunile de la 0.36b10 la 0.36b16 au fost retrase deoarece conțin jocuri numite „jocuri de noroc” (jocuri în care contează doar norocul și nu abilitățile jucătorului, cum ar fi ruleta). Eliminarea lor a fost efectuată pe baza unei alegeri mai filosofice decât tehnice de către Nicola Salmoria. Aceste jocuri au fost apoi reintroduse oficial în MAME cu versiunea 0.100. Mai mult, de la versiunea 0.143u2, dezvoltatorii au început să adauge și drivere pentru a imita flipper-urile și multe alte jocuri mecanice; codul provine de la Visual PinMAME .

Portare și modificări

Portabilitatea MAME a însemnat că mulți programatori au dezvoltat versiuni pentru diverse platforme, uneori creând versiuni modificate reale:

  • QMC2: front-end cu interfață grafică MAME și, de asemenea, MESS . Disponibil pentru diverse platforme hardware (Linux, UNIX [OpenSolaris, FreeBSD], Mac OS X și Windows)
  • MAMEUI - IV / Play (fost MAME32): așa cum am menționat deja, aceasta este una dintre primele versiuni modificate. Este portul pentru mediile Windows pe 32 și 64 de biți cu o interfață grafică.
  • Mame32 Plus!
  • VCMAME: nu este o versiune modificată reală, ci doar o serie de fișiere care permit compilarea MAME cu Microsoft Visual C ++.
  • SDLmame: versiunea MAME pentru platformele care utilizează biblioteci grafice SDL, cum ar fi Linux și macOS . De la versiunea 0.138 a fost integrat direct în MAME
  • MAME OS X: este un port nativ pentru Mac OS X conceput pentru a profita de toate cele mai noi tehnologii MAC OS X, cum ar fi Core Video și Core Image.
  • MacMAME: este primul port pentru platforma Apple . Nu mai este dezvoltat și, prin urmare, este blocat la versiunea 0.103.
  • XMAME sau X-MAME: este primul port pentru platformele * nix ( Linux , Unix etc.). Nu mai este dezvoltat (oprit la versiunea 0.106) și SDLMAME este înlocuitorul său „oficial”. De asemenea, site-ul XMAME nu mai este disponibil.
  • AdvanceMAME: este o versiune modificată cu opțiuni speciale pentru a putea utiliza MAME cu monitoarele dulapurilor arcade originale (bazate pe MAME 0.106).
  • MAMED: este portul pentru Dreamcast și unele camere digitale. Bazat pe MAME v0.37b6
  • MAMEDC: este portul oficial pentru Dreamcast. V0.4 se bazează pe mame v0.37b15. Nu mai este prezent pe site-ul mamedc.kaillera.
  • MAME pentru OS / 2: este portul pentru OS / 2 bazat pe MAME v.37b14.
  • PhMAME: este portul pentru sistemul de operare în timp real QNX . Bazat pe XMAME.
  • MAME pentru MorphOS PegasosPP: este portul pentru MorphOS (cel mai recent port: Mame0.97).
  • MAME pentru Amiga: este portul pentru platforma Amiga (cel mai recent port: MAME v0.37b2).
  • MAME pentru ARM / RISC OS (Archimedes): este portul pentru platformele ARM / RISC OS (Archimedes).
  • BeMAME: este portul pentru BeOS . (Pe baza MAME 0.36b15?)
  • MAMEnet: o versiune a MAME cu adăugarea jocului online.
  • MAMECE3: port pentru PocketPC.
  • zMAME: port pentru Sharp Zaurus bazat pe XMAME v0.57.
  • EMAME: port pentru EPOC32, handheld-uri Psion și SonyEricsson P800 / P900 bazat pe XMAME 0.37b7
  • EMAME9210: port pentru telefonul mobil Nokia 9210 bazat pe EMAME
  • E²MAME: port pentru sistemul de operare Symbian bazat pe EMAME.
  • MAME4ALL GP2X / WIZ: port pentru consola portabilă Linux GP2X realizată de Franxis. Bazat pe versiuni mai vechi de mame (0.35-0.40)
  • iMAME4all: este un port pentru dispozitive iOS jailbreak (iPad HD, iPhone 4G, iPod touch și versiuni anterioare) de David Valdeita; este un port MAME 0.37b5 bazat pe GP2X, WIZ MAME4ALL 2.5 de la Franxis. Emulează jocuri de la 0.37b5 plus câteva jocuri din versiuni mai noi de mame.
  • MAME4droid: este portul iMAME4all pentru Android (prin urmare bazat pe MAME4ALL la rândul său pe MAME 0.139u1).
  • MAME4droid Reloaded: portul MAME 0.139 pe Android, dezvoltat de David Valdeita (Seleuco)
  • MAMEoX: este portul pentru Xbox .

Note etice și juridice

rom

Cea mai mare problemă juridică atunci când vine vorba de MAME este cea a ROM-urilor . Din punct de vedere legal, un set ROM nu este altceva decât o copie a jocului original. Din acest motiv, încălcarea drepturilor de autor are loc dacă nu aveți originalul jocului în sine, care, în cazul platformelor arcade , este cardul cu jetoanele . Online existau site-uri de pe care să descărcați toate jocurile emulate de MAME sub formă de descărcare directă a fiecărei singure rom actualizate la versiunea de mame corespunzătoare. Jocurile pot fi găsite și în rețelele peer-to-peer sub forma unui set de roms specific pentru versiunea curentă a MAME și prin intermediul sistemelor de vânzare online. Vânzarea ROM-urilor este supusă restricțiilor privind vânzarea de materiale protejate prin drepturi de autor, iar achiziționarea acestora de la vânzători care nu dețin dreptul de a vinde este pedepsită din punct de vedere legal. Este interzis (licența MAME este destul de clară) distribuirea MAME pe același suport în care se află jocurile copiate. Cu toate acestea, există ROM-uri care pot fi păstrate în mod liber în scopuri personale, descărcabile de pe site-ul proiectului MAME https://www.mamedev.org/roms/ romurile pot fi folosite gratuit numai dacă sunt descărcate de pe site în timp ce sunt găzduite pe alte site-uri. interzis

Iată lista jocurilor puse la dispoziție pentru descărcare de către proprietarii respectivi:

Exidy
Circ

© 1977 Exidy

Robot Bowl

© 1977 Exidy

Car Polo

© 1977 Exidy

Side Trak

© 1979 Exidy

Rip Cord

© 1979 Exidy

Fire One

© 1979 Exidy

Crash

© 1979 Exidy

Star Fire

© 1979 Exidy

Țintă

© 1980 Exidy

Spectar

© 1980 Exidy

Palarie tare

© 1982 Exidy

Victorie

© 1982 Exidy

Tortură Teeter

© 1982 Exidy

Fax

© 1983 Exidy

Top Gunner

© 1986 Exidy

Exidy
Robby Roto

© 1981 Bally / Midway

Super Tank

© 1981 Video Games GmbH

Buclă

© 1982 Video Games GmbH

Gridlee

© 1982 Videa, Inc.

Alien Arena

© 1985 Duncan Brown

Campionatul Mondial de Raliuri

© 1993 Gaelco

Licență

Deși codul sursă pentru MAME era disponibil, MAME nu a fost considerat software gratuit în sensul strict al termenului pentru o lungă perioadă de timp. Conform licenței anterioare, a fost interzisă vânzarea MAME compilată sau sub formă sursă, a fost interzisă expres utilizarea MAME pentru profit și tot codul utilizat pentru compilare (fie că este inima MAME sau bibliotecile externe) trebuia să a fi disponibil. Versiunile modificate ale MAME capabile să emule jocuri recente sau special dezactivate au fost, de asemenea, interzise.

Începând cu 4 martie 2016, codul este distribuit sub licența publică generală GNU , cu unele porțiuni din cod publicate sub licența New BSD . [4]

Marcă

În februarie 2005, o mică companie californiană care produce dulapuri arcade capabile să lanseze mai multe jocuri, Ultracade, a încercat să înregistreze numele MAME pentru a preveni abuzul acestui termen de către companiile concurente care folosesc în schimb MAME și copii piratate ale jocurilor. Comunitatea de utilizatori s-a mobilizat imediat și l-a obligat pe proprietarul companiei să predea inițial înregistrarea lui Nicola Salmoria [5] . actualul titular este Gregory Ember. [6]

Notă

  1. ^ Autorul, italianul Nicola Salmoria, a indicat în teza sa de licență despre MAME ( The MAME project: Reverse Engineering and gaming machines , University of Siena, 2002, pagina 5), ​​pronunția pe care a urmat-o, adică italiană („mame”) , nu engleză („meim” sau „em ei em i”).
  2. ^ MAME | Emulator de mașini arcade multiple
  3. ^ (RO) DEJA ÎN ARCADE! , pe gaelco.com , 18 mai 2013 (arhivat din original la 18 mai 2013) .
  4. ^ (EN) MAME este acum software gratuit și open source , mamedev.org pe 4 martie 2016.
  5. ^ MAME va trebui să-și schimbe numele? , „Punto Informatico”, 22 februarie 2005
  6. ^ (EN)MAMEDEV.org | Acasă a Proiectului MAME , pe mamedev.org . Adus la 13 februarie 2018.

Bibliografie

Elemente conexe

Alte proiecte

linkuri externe

  • MameDev.org Site-ul oficial MAME (linie de comandă) (interfață grafică) [[Media:]]
  • MameUI Site MameUI (versiunea MAME cu interfață grafică)
  • Mamechannel.it site-ul italian despre MAME și derivate, lucrări de artă și fișiere suplimentare.
  • Proiect de bază de date EMMA care conține informații despre jocurile emulate.
  • Wikicab , wiki dedicat dulapurilor MAME
  • project-SNAPS Site-ul de pe care puteți descărca imaginile care pot fi utilizate împreună cu versiunile UI ale MAME.
  • Baza de date Arcade care conține detalii despre orice joc acceptat de Mame, inclusiv versiunile anterioare. Furnizat cu imagini, videoclipuri, programe pentru descărcarea fișierelor suplimentare, căutări avansate, grafică și multe alte resurse.
  • Site-ul oficial , pe mamedev.org . Editați pe Wikidata
  • Depozitul sursă MAME , la github.com . Editați pe Wikidata