2017 decemberét tapossuk éppen, így nagyjából bő másfél év telt el azóta, hogy az SNK Neo Geo MVS árkád játékgépem felújítását befejeztem. Azóta szépen gyarapítottam a gépben használható játékok sorát (eredeti Neo Geo MVS kazettákkal, a prototípus Hyper Neo Geo 64 Fighting Boarddal illetve a hozzá használható verekedős játékokkal), sőt: alkalomadtán előkerül egy Neo Geo 161 in 1 multicart és a minimális átalakítás okán használható Pandora’s Box #4 650 címből álló játékgyűjteménye is. Nem titok, hogy bármennyire is SNK párti vagyok, mégiscsak utóbbit használtuk a legtöbbet játékra, hiszen ez az ARM Cortex chipre épülő emulátorkártya majdnem az összes nagyszerű árkád címet tartalmazza – szóval itt az idő egy MAME játékgép átalakítós projektre.
Miért… ?
A kulcsszó a majdnem. A Pandora’s Boxokban használt és ARM-re fordított FinalBurn Alpha szoftverkörnyezet, illetve az emulációhoz nagyjából alkalmas, de az izmosabb hardvert igénylő játékok futtatásához már karcsú erőforrás eléggé kiismerhetetlenül működik bizonyos rendszerek esetén. Többek közt ezért sem található meg rajtuk például a Mortal Kombat sorozat, a Killer Instinct és még számos, korábbról származó, de számomra igencsak hiányolt játékprogram. A több tucatnyi játékkal eltöltött óra után persze szépen felszínre kerülnek az egyéb hiányosságai is: a menü csak limitáltan testreszabható, nem cserélhetőek rajta a játékok és nem bővíthető (elvileg) a meglévő library sem, mi több: áramtalanítás alkalmával nem jegyzi meg a hi-score adatokat és az audio kimenetén is lenne mit csiszolni… révén, hogy az eredeti JAMMA kimenet valójában mono, viszont a kasznim a Neo Geo standardoknak megfelelően sztereó felszerelést kapott. (Az igazsághoz hozzátartozik, hogy a PB4 bizonyos példányai “okosíthatóak”, de ezekhez szét kell szedni a board-ot és a microSD-n turkálva lehet a kevésbé erőforrás-igényes rom pakkokat hozzáadni. Alternatív opció: már kész unlockolt image fájlokat is le lehet tölteni és felmásolni az SD-re, ám… a fentebb említett játékok továbbra sem futtathatóak.)
Ezért döntöttem úgy, hogy belevágok a PC > JAMMA (azaz: a MAME játékgép) projektbe, amely egy remek DIY (csináld magad) megoldás a Pandora’s Box (és az ehhez hasonló kínai kompakt) rendszerek szakszerű kiváltására. A gyakorlatban annyit takar, hogy a gép belső felépítése teljesen érintetlen marad, csupán a kínai, kifogásolható multikártya helyére egy (főként) MAME emulátort futtató PC, illetve egy interfész-átalakító adapter (esetemben egy J-PAC) kerül. Ez azért is jó, mert:
- Nem szükséges feltétlenül új számítógépet vásárolni csak emiatt
- A leendő rendszer sokkal testreszabhatóbb lesz, cserélhető külsővel
- Ha ügyesen tervezünk, eltűnnek az ARM chip szűk hardveres erőforrásaiból fakadó problémák
- Egyedi külcsínt varázsolhatunk az egész rendszernek
- Egyszerre akár több árkád rendszert, konzolt, vagy egyéb rendszereket emulálhatunk
- Átalakítás pedig csak minimálisan szükséges
Nem kell megijedni, nem lesz egérrel és billentyűzettel történő bohóckodás és a Windows felület felbukkanása sem várható opcióként: egy ügyesen beállított árkád frontend (a felszín, azaz maga a grafikus emulációs keret- és menürendszer) teljesen elfedi az operációs rendszert és magát az emulátort is, így bekapcsolásakor automatikusan a megszokott játék vagy rendszer választó menüsort, illetve a játékok listázását fogja mutatni. Az idáig vezető út azonban elég izgalmat és buktatót tartalmaz ahhoz, hogy ne legyen néhány kattintással elvégezhető feladat, így a korábbi projektjeimhez híven most is olvashattok egy kisebb ismertetőt arról, hogy készült a Retroid Starcade MAME PC környezete.
Megj.: A bejegyzés végén minden linket és hasznos információt megtalálsz a lentebb emítésre kerülő illesztőprogramok, frontendek, emulátorok, hardverek elérhetőségeihez, ismertetőihez.
PC komponensek
Minthogy alapvetően egy beépítendő PC-ről beszélünk, a csupasz hardver is megfelelő lesz ehhez a MAME játékgéphez- se monitor, se billentyűzet, se egér, semmi más nem szükséges a működéshez. Mivel én speciel a MAME64-hoz építettem rendszert, a legfontosabb a minél magasabb órejelen futó CPU volt (elég a 2 CORE, a MAME alapvetően nem többmagos rendszerekre, hanem a magas órajelre van optimalizálva) – persze nem ártott a megfelelő mennyiségű RAM és egy gyors HDD sem.
Nem kell nagy dolgokra gondolni: egy olcsó, integrált hangkártyás mini-ITX alaplap is megteszi, egy low-end Pentium, vagy régebbi C2D kíséretében. Egyetlen dologra kell még figyelmet fordítani, az pedig a VGA típusa, melyből ha nem árkád VGA kártyával van dolgunk (gyanítom senkinek nincs ilyen otthon), akkor csak és kizárólag egy korai Radeon HD-val próbálkozzunk. Ezekhez a sorozatokhoz készült ugyanis olyan módosított driver, mellyel kicsikarható a 15KHz-es videójel, amelyet a JAMMA kasznik képmegjelenítői használnak. A teljesítmény másodlagos, mivel a kártyából csak a 2D részt fogja a MAME használni, így gyakorlatilag minden 3D-s poligon is szoftver renderrel fut, azaz mindent a CPU fog számolni. Jómagam egy passzív hűtésű Radeon HD6750-re építettem fel a saját rendszeremet, amely tökéletes választás volt (és csendes is).
Egyéb HW kiegészítők
Bár a gépben benne lehet hagyni az eredeti tápegységet is (hiszen a képcsövet és az egyéb áramköröket üzemeltetni kell), a PC alaplapunkhoz szükség lesz egy klasszikus ATX-es PC tápegységre is. Emellett a legfontosabb talán a már meglévő Control Panel vezérlés és a PC-n futó MAME emulátor összeköttetését biztosító interfész. Két megoldás létezik rá:
- egy USB-s Zero Delay Encodert beiktatva újra átkábelezzük a CP gombjait és manuálisan beállítjuk az egyes gomblenyomásoknak megfelelő karaktereket az emulátorban
- vagy beszerzünk egy plug’n play USB PC>JAMMA átalakítót, azaz a J-PAC interfész kártyát.
Előbbi előnye, hogy olcsó, viszont a VGA képcsőre történő rákötését nem oldja meg (azzal tehát külön kell foglalkozni) és a CP kábelezésnél is lesznek plusz körök. A J-PAC ezzel szemben egyfajta túlbiztosított all-in-one megoldás, mert semmit nem kell vezetékezni (kivéve, ha az 5-6. gombot is szeretnénk használni), magába foglalja a videójel továbbítását a JAMMA interfész panelen, egyedi puffer megoldást használ, rövidzár- és túlfeszültség-elleni megoldásokat vonultat fel plusz még a videójel szinkronizálásról is gondoskodik – cserébe viszont 20+ ezer Ft-ba kerül.
Mivel én a 100%-os Neo-Geo / JAMMA kompatibilitás és a gyors csere-opció miatt nem akartam változtatni a kaszni már meglévő belső kiépítésen, a MAME játékgép építésénél egyértelműen a J-PAC mellett tettem le a voksom. Semmi más dolgom nem volt, minthogy USB-n összekötöttem az interfész panelt a PC-vel, a VGA kábellel és kész is volt a művelet – az egész nem tartott tovább három percnél. Persze, ez csak az alap konfiguráció: a J-PAC számos hasznos funkcióval rendelkezik a Zero Delay encoderrel szemben, így kicsit komolyabban kezeli a billentyűzet-puffert is, és alapból a MAME-által használt gombleütésekre van programozva (amit persze bárhol át lehet variálni). A J-PAC további hasznos funkcióiról a gyártó weboldalán olvashatsz bővebben (link a bejegyzés végén).
Egy kis PC konfiguráció a MAME játékgéphez
- Innen kezdődnek az igazán izgalmas dolgok, mivel néhány kábelt eddig összedugni eddig nem volt kihívást rejtő feladat. A PC-n futó szoftver már annál inkább érdekes, mert számos olyan buktatót tartalmaz, amelyhez nem egyszer órákat és napokat kellett bújnom az Internet különböző DIY fórumos bugyrait. Lássuk sorban:
- Telepíts fel egy teljesen standard, minden extrát nélkülöző Windowst (8.1-et vagy 10-et javaslok), az összes létező illesztőprogrammal együtt. Egyelőre hagyd a Radeont a gyári illesztőprogrammal futni, később úgyis lecseréljük majd. [Megjegyzés: a lenti megoldás tökéletesen működik Linux alatt is, azonos környezet esetén talán még optimalizáltabban is fut – így ha hozzám hasonlóan nem idegen a Linux oprendszerek ismerete, egy Ubuntu LTS-t javaslok erre a célra!]
- Szerezd be a MAME-hoz szükséges fájlokat. Az aktuális verziót a MAMEDEV-ről húzhatod le. Olyan verziót válassz, amelyhez a torrenten rendelkezésre áll a teljes Romset, beleértve a CHD lemezkép fájlokat, az artworkokat, a screenshotokat, a videó snapshotokat, a flyereket és minden egyéb multimédiás anyagot. Tipp: a pleasuredome torrent trackeren meg fogsz találni mindent [update: a pleasuredome-ot lelőtték, a mame archive-on vannak fent a fájlok]. A bejegyzés írásakor én a MAME 0.192-re húztam fel a MAME játékgép központi szoftverét, mely mindent összeállítva a fentebb felsorolt, letöltendő addon-okkal együtt a MAME játékgép építésének pillanatában [2017] mintegy 700 GB-ot foglal el jelenleg. (Tipp: érdemes legalább egy 1TB/64M/7200RPM/2.5″ paraméterű HDD-t választani, melyre min. kettő partíciót javasolt készíteni (1/Windows, 1/MAME + a frontend pakk). Linuxot is használhatsz, az emulátorból és a frontendből is létezik pl. Ubuntu -distrora telepíthető változat, ami gyengébb vas esetén lehet indokolt.)
- Olyan grafikus ún. “frontend”-et válassz, amely egy tetszetős, egyszerű, de mégis praktikus menüvel ellátott grafikus felületet ad majd a kezedbe. Több ismert frontend közül is választhatsz, de a PB4 kiváltásához bőségesen elegendő a könnyedén testreszabható Attract Mode is, amely a MAME-n kívül számos további emulátort is képes kezelni, amennyiben ez a cél. Sok hasznos opciója mellett legnagyobb előnyének talán a scrapert tartom, amellyel könnyedén végigellenőrizhetőek a hiányzó média anyagok, melyeket a rendszer automatikusan le is tud tölteni a thegamesdb.net, mamedb.blu-ferret.co.uk, és hasonló oldalak adatbázisaiból, a beállított MAME XML fájlunk (MAMExxx.xml) alapján.
- Telepítsd fel a MAME64-et (vagy amelyik verziót szeretnéd), másoldd fel a ROM-okat az általad definiált helyre és elérési útra, és tedd ugyanezt meg a médiatartalmakkal (artwork, screenshop, video snapshot, flyer, control panel, stb.)is: a megfelelő almappákba történt rendszerezés után a mame-ben állítsd be az egyes addonok elérési útját is.
- Ezt meg kell tenni az Attract Mode-ban is: magában a frontendben a konfigurációs menü eléggé beszédes, így könnyedén be tudod állítani a külcsínt, a skin-t, a menüket, a program viselkedését, végezetül pedig a MAME emulátort és a hozzá tartozó összes foldert is. Az Attract Mode sokféle emulátort kezel, mivel azonban én csak a MAME-ra fókuszálok elsősorban, ezért csak a MAME-specifikus paramétereket kellett beállítanom.
- Add meg az Attract Mode-nak az Import fájlok mame.xml és a catver.xml fájlok helyét (megadhatsz egyszerre több .xml fájlt is, pontosvesszővel elválasztva). Ha nincs catver.xml fájlod, letöltheted a Romseted verziójának megfelelő változatot az Internetről (lsd: link lentebb). Javasolt megtenni, mert ez a lista felelős a megfelelő játék-kategóriák- és egyéb, romszettel, kapcsolatos információk megjelenítéséért.
- Végül építtesd fel az Attract Mode adatbázisát a scraperrel (a program szépen végig fogja nyalni a teljes bemappelt romstruktúrát, és a mame.xml / talált romseteknek megfelelően a teljes ROM állományodat összehasonlítja a fellelt egyéb tartalmakkal). Az adatbázist követően a netkapcsolatod segítségével a scraper le fogja tudni tölteni az Internetről, ami esetleg még hiányzik egy-egy játékhoz (flyer, screenshot, videó, vagy bármi más).
- Végezetül már csak egyetlen dolog van hátra: az Attract mode automatikus elindításának, illetve kilépéskor a Windows azonnali leállításának bekonfigurálása. Az automatikus indítást a Windows ütemezett feladatainál adhatod hozzá, a leállításhoz pedig a shutdown parancsot kell beparaméterezni az emulátorban.
… és kb. ennyi, persze a fentiek mellett egy rakás egyéb finomhangolási lehetőségre is megoldást nyújt a frontend, amit célszerű is végignyálazni a a praktikus és kényelmes használat érdekében. A teljesség igénye nélkül íme néhány, amit mindenképp javaslok megejteni:
- Az első és talán leghasznosabb a különböző menügombok és gomblenyomások interakciója: könnyedén beállítható pl. hogy bizonyos gombokat egyideűleg a játéklistában lenyomva, előugorjon a MAME játékgép frontend menüje, a kilépés, a kedvencek menü, vagy épp a szűrőfeltételek kilistázása
- pl. a favorit-listák létrehozása, mellyel létrehozhatunk akár több, saját szájízünk által összeválogatott játéklistát
- a szűrők beállítása: egy rakás Romset felesleges a full MAME pakkból, hiszen nem akarjuk látni pl. a nem emulált, a hibás, vagy épp a bootleg kópiák változatait, de a a rendszerek bios fájljaira se vagyunk kiváncsiak
Ezekre a fenti példákra nagyon jó leírásokat és guide-okat találsz az Attract Mode wikijében, így érdemes átnyálazni az ide vonatkozó oldalakat, mielőtt végleg összeszereled a gépedet. A magam részéről a fentiek mellett beállítottam jónéhány gyorsbillentyű kombinációt is, amely gyakorlatilag annyit tesz, hogy több gomb egyidejű lenyomására lehet emulátor-eseményeket beállítani, mint pl.: a Favorit lista kezelőt, a menübe történő visszalépést, az adott játék MAME menüjének behozatalát (ez gyakran kellhet a testreszabáshoz, az adott játék paramétereinek ill. dip-switchjeinek beállításához), a gép leállítását, és még sok egyebet).
Ha mindennel elkészültél, már csak egyetlen dolog maradt hátha: a VGA kártyához fel kell tenni a 15Khz-re patchelt illesztőprogramot és már lehet is próbálkozni az árkád gépben történő használattal. Ehhez ismertetőt, leírást és egyebeket a bejegyzés végén található Link-gyűjteményben találsz.
Íme egy videó, hogy a gyakorlatban hogyan is néz ki a Retroid Starcade MAME-re alakított lelkivilága !
Mindenkinek élvezetes szerelést és jó játékot kívánok! A MAME játékgép teljes alkatrészlistáját és a hasznos linkeket megtaláljátok lentebb, a kérdéseket-megjegyzéseket pedig a komment szekcióba tehetitek fel.
ps: a beépített, véglegesített rendszer szépen beszerelhető úgy a kaszni belsejébe, hogy bármilyen JAMMA lap, vagy a Neo Geo MVS fogadó is beférjen mellé. Íme, néhány fotó a végleges elrendezésről (nálam pl. remekül elfér az 1 slotos NeoGeo MVS, de a HyperNeo Geo64 boardjaim mellett is!) >>>
Linkgyűjtemény [MAME játékgép]
- Retroid Starcade MAME>PC alkatrészlista
- J-PAC homepage
- Zero Delay USB Encoder
- Attract Mode frontend projekt
- Attract Mode frontend filtering
- MAMEDEV/MAME64 homepage
- MAME xml generator
- CRT_Emudriver 15 kHz ATi Radeon driver link
- Pleasuredome arcade torrent tracker
- GroovyMAME fork a CRT-re optimalizált MAME-hez
Stinger [2018. február 04.]
Retroid NeonCade: valami új kezdete
Vicces, hogy már akkor elkezdtem agyalni a következő klasszikus videójáték-témájú projektemen, mielőtt még elkészültem volna a Retroid StarCade Neo Geo gépemmel (lásd lentebb): böngészgetve az internetet, nagyon megtetszettek az ún. DIY (do it yourself)-jellegű barkácsolós- és elektronikával telepakolt projektek, így eleinte egy árkád stick tervein kezdtem el dolgozni, amelynek alapját egy MAME-köré épített Raspberry Pi […]
Arcade mindenek “alatt”
Ki ne szeretne egy, a valóságtól elzárt kis szegletet, amely minden problémától mentes mivoltában igazi menedék, és kapu a múlt szép emlékeihez ? Ez a nagybetűs Dolgozószobának álcázott retro játszótér, a múzeum, a személyes emlékkönyved, a titkos átjáród a gyermekkorodhoz, a saját erődítményed, a vén tinédzserek búvóhelye… bőszen lehet sorolni a jobbnál-jobb jelzőket, egy azonban […]