Egy fejlesztő sikeresen portolta a Super Mario 64-et a Microsoft Zune HD médialejátszóra – a 2009-es, iPod-riválisnak szánt eszközre, amelynek Nvidia Tegra chipje most egy Nintendo 64-es klasszikust futtat natívan, érintőképernyős irányítással, hangeffektekkel és mentési lehetőséggel. A projekt nem emulációra épül, hanem közvetlenül a hardveren fut, ami különleges teljesítménynek számít egy 15 évesnél is régebbi, már rég kivezetett kütyün.
A Zune HD: az elfelejtett iPod-kihívó
A Microsoft Zune HD 2009-ben jelent meg, és az Apple iPod közvetlen versenytársaként pozicionálták. A készülék egy 3,3 hüvelykes OLED-érintőképernyővel büszkélkedhetett, amelyet a Microsoft akkoriban „glass screen”-ként hirdetett. A „multimédiás izmokat” az Nvidia Tegra APX 2600 chip biztosította – legalábbis az Nvidia akkori sajtóközleménye szerint. Az eszköz kapacitástól függően 219,99 és 289,99 dollár között kapható volt, operációs rendszerként pedig Windows CE-alapú platformot használt. Harmadik féltől származó játékok esetén a Microsoft XNA fejlesztői keretrendszere volt az elfogadott út.
A Zune sorozat azonban rövid életűnek bizonyult: a Microsoft 2011-ben leállította a gyártást. Ezt követően a közösség talált egy exploitot, amelyből megszületett az OpenZDK – egy nem hivatalos fejlesztői csomag, amely homebrew alkalmazások és játékok futtatását teszi lehetővé a Zune HD-n, anélkül hogy az eszköz firmwareját módosítani kellene.
Super Mario 64 Zune HD-n: a port technikai részletei
A projekt az sm64ex nevű, nyílt forráskódú PC-s Mario 64-porton alapul, amely maga is a rajongók által 2019-ben elkészített, teljes dekompilációra épül. Ez a dekompilációs munka C forráskódot eredményezett, amelyből egy az eredetivel megegyező ROM újraépíthető – a játék assetjeihez azonban saját, legálisan dumpollt kazettáról készített ROM szükséges. A Zune HD-re készült verzió a GitHub-on elérhető rsheldiii repóból származik, amely összesen 14 patchet alkalmaz az sm64ex egy rögzített verziójára.
A build folyamat Linux alatt, Docker segítségével zajlik – Windows PC tehát nem szükséges. A kész játékfájlt USB-n keresztül lehet átmásolni az eszközre. A port kizárólag a 4.5-ös firmware verzión lett tesztelve, és a fejlesztő hangsúlyozza: mindenki saját felelősségére használja.
Grafika és hangkezelés
A játék 480×272 pixel felbontásban fut landscape módban, a készüléket oldalra forgatva. A rendereléshez egy OpenGL ES 2 alapú megjelenítőt használ, amely a Fast3D rendererből ered, előre fordított shaderváltozatokkal. Az előkészítéshez Nvidia cgc és shaderfix eszközöket alkalmaztak, mivel a Zune grafikus drivere nem képes az OpenGL Shading Language (GLSL) shadereket menet közben fordítani. A blending műveletek szintén a fragment shaderekbe vannak belefordítva, mert a GPU nem rendelkezik fix funkcióhoz kötött blending hardverrel.
A játéklogika 30 tickenként frissül másodpercenként, bár bizonyos jelenetekben lassulás tapasztalható. A hangszintézis külön szálon fut, magasabb prioritással, mint a játék maga – így a hanglejátszást nem befolyásolja a esetleges képkocka-esés.
Érintőképernyős irányítás
A képernyőre egy virtuális vezérlő overlay kerül, amely a következő elemeket tartalmazza:
- Analóg botkormány-szimulátort (facsimile analog stick)
- A, B, Z, R gombokat
- Négy C-gombot
- Start gombot
A gombstílus és az átlátszóság mértéke felhasználói igény szerint testreszabható.
AI-segítség és a portolások új hulláma
A projekt nem egyedülálló jelenség: a Super Mario 64 PC-s dekompilációs portja 2020 májusában jelent meg teljes formájában, és azóta számos eszközre eljutott, köztük a 3DS-re, Wii U-ra, PS2-re, PlayStation-re, PS Vitára, Dreamcastre, Nintendo DS-re és DSi-re, a webre, és most a Zune HD-re is. A Nintendo jogi csapata gyorsan reagált a megjelenéskor, és lépett a portot tartalmazó oldalak, illetve legalább egy gameplay-videó ellen – de a port közösségi terjedését nem sikerült megállítani.
Érdekesség, hogy a repó első commitja a következőt tartalmazza: „Co-Authored-By: Claude Opus 5.5″ – vagyis a fejlesztő AI-eszközt is igénybe vett a munka során. Ez illeszkedik egy tágabb trendhez: a portok száma az utóbbi időben növekvőben van, amit részben a fejlett AI-fejlesztői eszközök elterjedésének tulajdonítanak. Hasonló szellemben született egy másik figyelemreméltó projekt is: egy fejlesztő a Doom-ot portolta egy 8000 dolláros Hasselblad X2D fényképezőgépre, firmware-kutatásból kiindulva.
A Zune HD-s Mario 64-port egyfajta retrospektív üzenetet is hordoz: megmutatja, milyen lehetőségek szunnyadtak a készülékben, ha a Microsoft annak idején nyitottabb lett volna a fejlesztői közösség felé. Az azóta sok más területen is kivezetett Microsoft-ökoszisztéma ebben az esetben a homebrew közösség kitartásának köszönhetően nyert új életet.
Gyakori kérdések
Emulátort használ a Zune HD-s port, vagy natívan fut?
A port natívan fut a Zune HD Nvidia Tegra APX 2600 chipjén, az OpenZDK homebrew keretrendszer segítségével – nem emulációról van szó.
Szükséges hozzá az eredeti Super Mario 64 kazetta?
Igen. A port nem tartalmaz ROM-fájlt; a játék asseteinek kinyeréséhez egy saját tulajdonban lévő, legálisan dumpollt kazetta szükséges, amelyet a build folyamat során PC-n kell feldolgozni.
Módosítani kell a Zune HD firmwareját a futtatáshoz?
Nem, a firmware nem kerül módosításra. A port az OpenZDK rendszerre épül, amely az eszköz eredeti operációs rendszerén belül, natív ARM kódként fut.
Milyen felbontásban és sebességgel fut a játék?
A játék 480×272 pixeles felbontásban, landscape módban jelenik meg, a játéklogika 30 tickenként frissül másodpercenként. Bizonyos jelenetekben lassulás tapasztalható, és nincs hivatalos FPS-adat sem.
Forrás: Tom’s Hardware













