DPTP motor: ...
DPTP motor: ...
Írjunk játékot SEGA MEGA DRIVE konzolra - 3. SEGA DebugDrive
Cikk
2019-08-02 09:45
don_peter
Írások: 13
DPTP System - SEGA Debug Drvie Cart


A cím sokat elárul, ebben a fejezetben egy speciálisan fejlesztésre és tesztelésre készített kártyát mutatok be, amely minden olyan fejlesztőnek segítségére lehet, aki SEGA MD konzolra akar játékot vagy szimplán demót fejleszteni.
A kártyáról készült egy kb. 60 oldalas dokumentáció "Amikor a hardver és a szoftver találkozik" címmel és "Fejlesztés a fejlesztésben, avagy mitől lesz a BUG" alcímmel, amely igazából egyben egy szakdolgozat is melyet nem régen írtam kvázi a Szoftverfejlesztői suli záróvizsgájára. Ezt a dokumentációt vagy ha jobban tetszik záróvizsga dolgozatot a következő linken érhetitek el: Kattints ide

DPTP System - SSMD Debug Cart

A képen jobb alsó sarokban látható logónak is van szerepe, hiszen a Gamer365.hu oldal is lehozott egy kis cikket a kártyáról, amelyet az alábbi linken keresztűé történő átnavigálást követően ti is elolvashattok: Gamer365.hu

DPTP System - SSMD Debug Cart

Sokat agyaltam, hogy mit lehetne még hozzátenni a Gamer365-ös és az általam kicsit részletesebben leírt dokumentáció után itt ebben a cikkben. Talán néhány fontosabb részletet megosztok, még ha ismétlem is magam, biztos ami biztos.. ;)

A kártya eredetileg azért készült, hogy mimnél jobban le tudjam rövidíteni a fejlesztésben lévő SEGA-ra írt programok részegységeiben vagy teljes egészét érintő tesztelési folyamatokat. Köztudott, hogy eredetileg ezeket a kártyákat egyszer írható ROM-okra írták, amelyeket nem lehet sem törölni sem pedig újra írni. Az egyetlen járható út még az EEPROM-ok voltak, amelyeket UV fénnyel képesek vagyunk többször is törölni és újra írni. Az egyetlen gond az maga a két beírás közt eltelt idő volt, amely esetenként akár 15-30 perc is lehetett, törlési időtől függően.

Egy ilyen kártyát láthatunk alább:

Eepromos kártya

Sajnos eszméletlen időt fecséreltem el vele mire egy-egy részegységet ki tudtam próbálni éles hardveren, így adott volt, hogy készítsek egy gyorsabb megoldást. No kérem szépen, eltelt közel 5év és lám meg is érkeztünk, sok próbálkozás és energia befektetéssel készülhetett el a most bemutatott kártya. Ezen próbálkozásokról itt találsz több infót: DPTP System - DPTP MCFC 8/64/128Mbit Cartridge

DPTP System - SSMD Debug Cart

A kártyának 2 főbb funkciója van, normál mód és a debug mód. Normál mód esetében mint egy everdrive flash kártya működik, tehát listázza az SD kártya gyökérkönyvtárába feltöltött maximum 200db rom-ot a képernyőre és kiválasztva a megfelelő játékot a SEGA kontrollerével, START gomb megnyomásával betölti a memóriába és már élvezhetjük is a kedvencünket. Az SD kártyát eltávolítva a kártyából, flash memóriával szerelt verziónál, az adat nem vész el kikapcsolás után sem. SD kártya, ha a helyén van és újra indítjuk a konzolt, akkor ismét a listát tölti be és kezdőzhet a kiválasztás. ;)


Debug módban - és igazából erre van kihegyezve - a kártya USB összeköttetést vár a PC-vel. Ha ez megtörténik a SEGA elindítását követő 10 másodpercen belül, akkor a kártya belép debug módba és a képernyőn a fentebb már látható képernyőkép fog megjelenni. Ebben a módban parancssorból tudunk bármikor - akár működés közben is - újabb ROM tartalmakat feltölteni. Azért parancssoros módban megy a feltöltés mert a fejlesztés közben feltételezve, hogy hasonló módon fejlesztünk, maga a fordítási folyamat is parancssorból történik, így egy indítható fájl létrehozásával egyszerre tudunk fordítani és a már lefordított adatállományúnak a kártyára tölteni. Ezzel a módszerrel rendkívüli módon tudjuk csökkenteni a tesztelési időt, hiszen jó esetben csak egy karaktert kell beütnünk a parancssorba és pár másodperc vagy SRAM-os verziónál pár tizedmásodperc elteltével meg fog jelenni a képernyőn a programunk kimenete.


Mint látható a képeken, törekedtem az eredetihez nagyon hasonló kialakításra, mind dobozát tekintve mind pedig maga a PCB kompatibilitást figyelembe véve. A kártya egy az egyben a gyári dobozba és gyári kártya házába is bele tehető, nyilván az SD kártya és az USB csatlakozó megfelelő kivágását követően. Azonban hozzá kell tennem e cikkhez azt is, hogy mivel teljesen egyedül vagyok a hardver és a szoftveres fejlesztésben, nem beszélve a csomagolásról, (grafika tervezése, nyomdai gyártása, dobozok kialakítása...stb) hogy sajnos még nincs kész. A projektnek vannak, leginkább programozásai hibái, melyet ahogyan az időm engedi folyamatában javítok és finomítok. Jelen formájában a kártya csak a SEGA MD2-es konzollal kompatibilis 100%-ig, sajnos az 1-es modellnél van valami BUS elérési hiba, amelyet egyelőre nem értek, de a fontosabb debug mód esetében már az 1-es modellekkel is kompatibilis.


A kártya különbem 3féle memóriával lesz elérhető, (legalább is így tervezem) NorFlash memóriával, SRAM memóriával és van egy új még kicsit instabilnak tűnő NorFlash memória, amely már képes egy tized másodperc alatt törölni a teljes 8MB-os tartamát. Utóbbit még erősen tesztelnem kell, mert néha csinál furcsaságokat.

Úgy gondolom eme cikk is elért a végére, és bár nagyon sok részlet kimaradt belőle, de összességében komplettnek érzem.
Aki többre kíváncsi a fentebb megjelöl dokumentumban részleteibe menőbben tanulmányozhatja a hardvert és as szoftver egyes részeit. Aki jobban kedveli a Gamer365.hu-n közzétett írásokat, annak is jelzem, hogy fentebb linkeltem az oldalt és az erre vonatkozó címet. Következő blog bejegyzésem már az assembler programozással fog foglalkozni és ha minden jól megy megtanulunk néhány utasítást, hogy belevághassunk a SEGA programozásába.

Az erő legyen veletek.. ;)
Ja majdnem elfelejtettem, ha kérdés merül fel akkor itt tudjátok azt feltenni: Írjunk játékot SEGA MEGA DRIVE konzolra
DPTP motor: GDPR infomráció!
2018 Május 25.-től hatályba lépett adatvédelmi szabályzatról itt olvashatsz bővebben: Adatvédelmi tájékoztató
Az oldal további használatához el kell olvasnod és fogadnod az adatvédelmi és cookie-k használatával kapcsolatos tájékoztatonkat.

Elfoadom!
Nem fogadom el!