Mega Drive játékfejlesztés, házilag
Eddig 17 hozzászólás
mcmacko
2019. augusztus 01.
csütörtök 13:55
Az egész úgy kezdődött, hogy Tóth Peti olvasónk és aktív fórumtársunk még évekkel ezelőtt felkeresett, hogy mindenféle fejlesztői eszközöket készít 16-bites konzolok mellé. Nos, Petit a Neo-Geo.hu gazdájaként is ismerhetjük, és már retro témában podcasteltünk is egy jót annak idején. Most elérkezett a pillanat, hogy felfedjük a legújabb projektjét. A Mega Debugdrive egy saját fejlesztésű, egyszemélyes hobbikártya, amely gyakorlatilag a Mega Drive-ra való effektív fejlesztést, és saját romok futtatását teszi lehetővé. Ezáltal a homebrew és a demoscene projektek új lendületet vehetnek, és ha valaki a saját ROM dumpjait szeretné futtatni (és nem koptatni az eredeti cart-ok élkontaktjait), akkor arra is lehetőség van. Persze a direkt kalózkodást a készítő is elítéli – a kártya elsősorban NEM erre lett kitalálva, de a retro játékok megőrzése egy komoly és a jövőben nagy érdeklődést kiváltó témakör lesz, a harminc-negyven éves, cartokban található, gyengébb minőségű áramköri hordozók és kontaktusok ugyanis sajnos nem fognak örökké tartani.



De vissza a Debugdrive-ra. Hogyan is néz ki a kis hardver? Mint egy teljesen szabványos SEGA MD cart, annyi különbséggel, hogy saját címkét, saját dobozt, felül egy SD nyílást és egy mini-USB csatlakozót kapott a kártya. Ha már a külsőségekkel kezdjük, nyugtázzuk, hogy a kártya tényleg jól néz ki, és bár látszik a dolognak a hobbi jellege, inkább közelebb áll az egész esztétikája egy gyári termékhez, mint egy garázsprojekt első prototípusainak. A hivatalos SEGA MD cart dobozban simán elfér emellé egy USB kábel, és a későbbiekben akár leírást is lehet csomagolni a dobozba. Ugyanezt a SNES dobozaival már neccesebb lett volna kialakítani, hehe. Tehát a Debugdrive tökéletesen elfér a polcon az MD gyűjtemény mellett, ilyen szempontból a kütyü maga is (akár) egy gyűjtői trófeává is válhat – a hozzám hasonló gyűjtögetők legnagyobb örömére.



Lássuk hát, mit is tud a vas! A kártya két üzemmódban működik. Normál esetben bekapcsoljuk a gépet, bejön egy menü, ahol listázódnak az SD-n lévő fileok, valamint egy kis muzsika társaságában némi extra infót olvashatunk a kártyáról. (Szemfülesek még egy repkedő bogarat is kiszúrhatnak.) Ha betöltünk a memóriába egy programot, onnantól a kütyü úgy működik, mint egy gyári cart, a betöltött programmal. Resetelhetünk is, az áttöltés után a memóriába becsurgatott ROM fog futni, egészen áramtalanításig. A memóriába áttöltés nem fél másodperc, de ROM mérettől függően simán kivárható – a fejlesztés jelenlegi szakaszában pedig erőteljesen folyik az agyalás azon, hogy esetleg milyen memóriával lehetne tovább gyorsítani ezt a lépést. Erre szükség is lehet, korunk fejlesztői habitusait figyelembe véve kicsit nyűgös lehet perc nagyságrendű időt várni egy egyszerűbb feladat esetében. A gyári ROM-ok tökéletesen futnak (meg is engedtem magamnak egy kis felhőtlen nosztalgiázást), de láttam a tarsolyban olyan projekteket, portokat, amelyekről egyelőre nem beszélhetünk – a lényeg, hogy a kártya segítségével már most készülnek olyan MegaDrive portok korábbi játékokból, amelyek a retro közösség számára meglepetést fognak okozni.



A másik opció a DEBUG mód, ahol kell egy PC és egy USB kábel, így a kártya adatot tud fogadni, tárolni tudja azt, majd közvetlenül memória buszelérést biztosít a konzolnak. Ezzel lehet pl. programok részegységeit tesztelni, bugokat keresni, vagy teljes új fejlesztést futtatni. Hogy néz ki ez a gyakorlatban? Összekötjük a PC-t és a kártyát az USB-vel, kinézzük, hogy melyik COM portot sorsolta ki a Windows a kapcsolathoz, majd parancssorból kommunikálunk a kártyával. A konkrét kódolás persze PC-n történik, de az adott részleteket, ROM állapotokat így tudjuk aktuális hardveren, és nem egy az eredeti környezettől eltérő emulátorban vizsgálni. Aki részletesebb működési módra kíváncsi, az sasolja majd a Neo-Geo.hu vonatkozó blogjait, amiből már most két bejegyzés meg is született. A csoda SEGA masina alapjait, és a különböző fejlesztéshez szükséges programok bemutatását már el is kezdte a szerző…



A hardver tervét jól jellemzi, hogy meglehetősen masszív áramköri tervezés előzte meg a tényleges megvalósulást. Bár csak egy kétrétegű kártyát nézegetünk, azért masszív, soklábú IC-kkel és sok átvezetéssel van tele a cart. A kütyü lelke egy ST mikrovezérlő, valamint (az egyik aktuális verziónál) egy 64 MBit-es flash memória, ami nagyjából a fejlesztési ROM korlátot is meghatározza. Szoftveres oldalról sem egyszerű a képlet, a teljes projekt összekalapálásához szükség volt C, C# a Motorola 68000-hoz köthető assembly, CSS3, HTML5, JS, PHP, SQL és MediaQuery-ben zajló programozásra is. Maga a homebrew fejlesztés történhet C-ben, de a legjobb, ha az ember ráveszi magát a hardverközelibb Assemblyre, egész egyszerűen azért, mert nagyságrendi különbség lesz a ROM méretében ha C-ről fordítunk, mintha assemblerben legóznánk össze a kódot. (És itt most nagyjából 100k vs 10k adatmennyiségre gondoljatok!)



A készítő arra is figyelt, hogy az egész projekt kapjon egy egyedi vizualitást és audio hátteret, így mind a menük, mind a kártya maga egy egységes design mentén van kialakítva, és ahogy a képeken is láthatjátok, a menük, átvezető képek, idle-animációk is a 16-bit fénykorát idézik. A vége felé engedjetek meg egy kisebb poént is – a Gamer365 logója tutira nem járt még 16-bites konzolon, hát most Peti jóvoltából egy ilyen egyszerű, számunkra mégis szívet melengető demót láttunk, tessék csak megnézni lentebb!



A Neo-Geo.hu-n további információk lesznek elérhetőek a kártyával kapcsolatban, (például esetleges javításokat tartalmazó firmware frissítésekkel kapcsolatban, amelyeket majd innen lehet elérni:KATT, majd később az USB kábelen keresztül ápdételni.) de az alkotó egy olyan webfelületet is tervbe vett (idő függvényében), ahol egy beléptető rendszer falán átlépve oktató anyagokat kapunk, saját fejlesztéseket tudunk menedzselni időrendben, kapcsolattartás és fórumsupport mellett. Ez még csak a jövő és a hozzá tartozó tervek közé tartozik, de aki kíváncsi arra, élőben is, hogy a kártya mit tud, az most szombaton látogasson el az Árok Party-ra, ahol a demoscene nyüzsgés közepén, szombaton 10:00 órától egy órás prezentációt láthatunk a kártyáról – ahogy a madarak csiripelték, a prezi is már egy saját fejlesztésű MD ROM-ról fog futni. Várjuk a projekt kifutását, szurkolunk a szakmabeli sikerért!

[17] helihobby
aug 04., vasárnap 21:50 #17
Válasz laja x (#16) üzenetére
Köszi barátom.. Hiány érzetem volt, most már tudom miért. Kár hogy nem voltál árokon.. Majd kövire..
Első magyar Neo-Geo forum: http://neo-geo.hu Szervizünk: http://f27szerviz.hu
[14] laja x
aug 04., vasárnap 20:14 #16
Válasz helihobby (#14) üzenetére
Peti, Gratulálok ehhez is.
A szamuráj lét egyszerü: Szolgálj hogy tiszteljenek, és tisztelj hogy szolgáljanak! PS Vita / PS4 : LAJAX02 Xbox One: LAJA X Nintendo ID/PS3: LAJAX01
[8] reptai
aug 02., péntek 17:30 #15
Válasz helihobby (#14) üzenetére
Respekt is erte, a hw-ert es a blogert is.
[17] helihobby
aug 02., péntek 17:28 #14
Válasz reptai (#13) üzenetére
Na ezért kell kérem szépen ilyen és ehhez hasonló kis okosság kis hazánkban is..
Amúgy a neo-geo.hu oldalon már elindult a blog sorozatom, ami majd szépen bevezeti az olvasót a SEGA programozás bugyraiba, termesztésen assembler nyelven..
Hozzá teszem én is most tanulgatom illetve feszegetem a szárnyaimat. Jó móka...
Első magyar Neo-Geo forum: http://neo-geo.hu Szervizünk: http://f27szerviz.hu
[8] reptai
aug 02., péntek 17:16 #13
Válasz Lacek92 (#12) üzenetére
C64-hez pld sokkal sokkal komolyabb fejlesztorendszerek, illetve tartalom-eloallito/konvertalo eszkozok erhetoek el, mint anno, illetve 35 ev kollektiv tudasa lett barmikor hozzaferhetove az interneten. Kicsit masik tema, de az ilyen jellegu "low level" programozoi tudas nem, hogy nem magasabb, de ketsegbeejtoen alacsonyabb, mint barmikor.
[2] Lacek92
aug 02., péntek 16:09 #12
Válasz reptai (#11) üzenetére
Értem, és köszönöm a választ. Mindenesetre elismerésre méltó, amit manapság egyesek ki tudnak hozni olyan enyhén szólva is limitált lehetőségeket nyújtó platformokból, mint pl a C64.
Ilyen esetekben meg azon gondolkodom el, látva a korabeli játékokat messze meghaladó színvonalat, hogy az általános programozói / fejlesztői tudás magasabb ma, vagy az ezerszer erősebb hardvereken történő fejlesztés könnyíti meg a készítők dolgát.
[8] reptai
aug 02., péntek 13:42 #11
Válasz Lacek92 (#8) üzenetére
A mesterséges limitek (mármint hogy úgy dönt valaki, hogy retro hardware-e fejleszt) igen komoly táptalaja a kreativitásnak - a legjobbat kell a legkevesebből kihozni. Emellett a kisebb komplexitás miatt 1-2 ember belátható időn belül már meggyőzőt tud alkotni, persze ehhez kellenek az olyan eszközök mint pld ez a debug cart.

Steam-en iszonyatos mennyiségű indie cucc van, ráadásul jó magasan van a léc, nagyon nehéz olyat alkotni, amire felkapják az emberek a fejüket. Retro platformokra jóval könnyebb betörni, gyorsabb a sikerélmény.
aug 02., péntek 12:05 #10
Azért majd töltsétek fel az elkészült játékokat,arra a bizonyos neo-geos oldalra,szívesen kipróbálom mindegyiket
aug 02., péntek 12:00 #9
Válasz Lacek92 (#8) üzenetére
Sztem nem probléma ha valaki retro konzolra fejleszt.Ha valakinek erre van esze, ideje és kitartása ,akkor annak aztmondom hajrá.Sokszor nekem sajnos még arra sincs időm hogy leüljek játszani nem hogy még fejlesszek is programot.(akinek programozó a szakmája nyilván az érdekelt ebben az egészben csak.)
[2] Lacek92
aug 02., péntek 11:50 #8
Miért jó retro-konzolra fejleszteni? Megszállottság, rajongás, vagy jó móka? Laikusként azt gondolnám, ha már egyszer 2D játékot fejleszt az ember, akkor azzal célozza meg a Steam-et, lehetőleg némi támogatást is gyűjtve a megfelelő felületeken, abból valamennyi pénz plusz relatíve szélesebb körű elismerés is állhat a házhoz.
[17] helihobby
aug 02., péntek 11:12 #7
Válasz DecoyOctopus (#6) üzenetére
Szóval akkor még sem értetted meg.
Nem baj, ne emészd magad rajta, akinek szól az érteni fogja a lányeget.
Első magyar Neo-Geo forum: http://neo-geo.hu Szervizünk: http://f27szerviz.hu
aug 02., péntek 10:37 #6
Válasz helihobby (#5) üzenetére
Igen elolvastam a cikket, a játékfejlesztés feature hasznosnak tűnik de 10 userből 1-t ha érdekel.Egyébként is megadrivera annyi játék megjelent (megközelítőleg 1000db ,aztán a bootleg romokat még bele se számoltam) hogy minek még rá fejleszteni ?
[17] helihobby
aug 02., péntek 9:51 #5
Válasz DecoyOctopus (#3) üzenetére
Ha alaposan elolvasod, akkor rájössz, hogy a cikk nem erről szól, hanem a fejlesztésről. Ha többet akarsz megtudni akkor pedig ezt az oldalt javaslom: KATT!
Első magyar Neo-Geo forum: http://neo-geo.hu Szervizünk: http://f27szerviz.hu
[17] helihobby
aug 02., péntek 9:50 #4
mcmacko: köszi a lehetőséget. Jó lett a cikk.
Első magyar Neo-Geo forum: http://neo-geo.hu Szervizünk: http://f27szerviz.hu
aug 01., csütörtök 22:11 #3
Udv..
Ehhez hasonló flashcartokat már jó pár éve lehet venni,egyáltalán nem újkeletű a dolog.Everdrive néven fut ha valaki nem ismerné.ebayen meglehetősen olcsón hozzájuthat bárki ,van nekem ilyen n64-hez is.sőt mi több sega saturnhoz is .Egyébként grat a készítőnek.
aug 01., csütörtök 22:10 #2
Válasz FrY (#1) üzenetére
Gratulálok!
Táncoltál már valaha az ördöggel sápadt holdfénynél? PSN:Praterkid. vagy haveroknak csak SKÁLAKOPÉ
[2] FrY
aug 01., csütörtök 16:31 #1
A cikket olvasva olyan érzésem volt mintha a Novotrade történelméből vágtak volna ki egy részt ....
Le a kalappal!
A legjobbakat kívánom a projektnek!
I'll SHOW yoU The TRUTH!