DPTP motor: ...
DPTP motor: ...
Írjunk játékot SEGA MEGA DRIVE konzolra - 1. MEGA DRIVE
Blog
2019-06-23 13:01
don_peter
Írások: 24
SEGA MEGA DRIVE

SEGA MD

Az első szerintem amiről többet kell megtudnunk az maga a SEGA által lefejlesztett és a 90es évek elején
piacra dobott MEGA DRIVE konzol, amely a SEGA 4 generációja volt. A konzol történetileg a blog sorozatunk vonatkoztatásában nem lényeg, mi csak a hardver specifikációjára vagyunk kíváncsiak, hiszen ez a fontos, ha meg akarjuk érteni mire is akarunk programozni.

További érdekes és részletesebb történelmét a wikipédia oldalán itt olvashatok: SEGA MEGA DRIVE

Hardver specifikációk:

Processzor:

Co-processzor (hangvezérlő):

Memória:

  • 64 KB RAM (68000), 64 KB video RAM, 8 KB RAM (Z80)

Megjelenítés:

  • 512 szín (3:3:3 RGB)

Egyszerre látható színek:

  • 64 (alap) vagy 183 (árnyékos/világos mód)

Egyszerre megjeleníthető ábrák:

  • 80 (320 pixel szélességnél) vagy 64 (256 pixel szélességnél)

Felbontás:

  • 256×224, 256×448, 320×224, 320×448 (PAL és NTSC)
  • 256×240, 320×240, 256×480, 320×480 (csak PAL)

Hang:


Konyhanyelven a fent leírt specifikációk annyit tesznek, hogy kössük fel a gatyót, bár a gondolkodás menetünk már talán a 8 és 16bit felett vannak, még is lesznek folyamatok, amiket 8bit-en is elég nehéz megérteni nem hogy 16biten. Arról nem is beszélve , hogy az M68K processzor 32bit-es regisztereket tartalmaz, ami pontosan kétszer annyi adat mint ha csak a 16bit-es adatokkal kellene dolgozni vagy logikai műveleteket végre hajtani. Sokszor fog ez szerintem fájni.

SEGA MEGA DRIVE
SEGA MEGA DRIVE alaplap

A fenti képen egy SEGA MD1-es alaplapot láthatunk.

Amire programozunk majd:
A Motorola 680x0/m68000/68000 ill. m68k egy 32 bites CISC processzorcsalád. Ezek a processzorok igen népszerűek voltak az 1980-as években és az 1990-es évek elején a személyi számítógépek és a munkaállomások körében, a sorozat egy ideig az Intel x86 processzorcsaládjának legerősebb konkurense volt. Korai személyi számítógépekben, Unix munkaállomásokban, videojáték-konzolokban használták, származtatott változataikat PDA-kban, beágyazott rendszerekben és vezérlőegységekben továbbra is használják. 1979-ben jelent meg, az m68k sorozat első tagja. Eredetileg HMOS technológiával készült. „16/32 bitesként” emlegetik: belsőleg 32 bites, külső adatbusza 16 bites, címbusza 24 bites, 1979-től 1982-ig 4, 6, 8, 10, 12,5 és 16,67 MHz órajelű változatai készültek. Jellemzői:
  • 8 32 bites adatregiszter, 9 32 bites címregiszter, 32 bites programszámláló, 16 bites állapotregiszter.
  • 2 privilegizációs szint (felhasználói és szupervizor mód)
  • 7 szintű megszakítási rendszer
  • 256 megszakítási vektor, kivételkezelés, csapda (trap) utasítások
  • I/O portok: nincsenek

Ami nekünk az egyik legfontosabb az a VDP, Video Display Processor.

VDP
VDP

A VDP, a V ideo D isplay P rocessor néven is ismert, a Mega Drive összes videó kimenetét kezeli. A VDP-t gyakran YM7101 néven ismerik, amely a Sega Master System VDP-ből származik a visszafelé kompatibilitás érdekében. A Master System VDP viszont a Texas Instruments TMS9918A-ból származik. Minden modell 1-es alaplapon a VDP egy nagy chip, ahogyan az fentebb látható, míg későbbi modelleken egy nagy chipbe integrálódik az I / O vezérlőkkel.

A VDP 64 KB-os VRAM-ot tartalmaz, amely használható minták (art vagy lapkaként) sík és sprite névtáblák, valamint vízszintes görgetési adatok tárolására is. A névtáblák és a H-Scroll tárolása a VRAM-ban az, hogy lehetővé teszi a programozó számára, hogy eldöntse, hol tárolja ezeket az adatokat, de kevesebb teret hagy a art számára. A VDP 64 9 bites CRAM bejegyzést tartalmaz, összesen 64 szóval, a paletták tárolására. A VDP speciális területe CRAM vagy Color RAM néven ismert.

A VDP képes akár 80 spritet megjeleníteni a képernyőn, valamint az A és B síkokat, valamint az ablak síkját. Az ablak síkja bizonyos körülmények között az A sík helyett használható. A képernyőn megjelenő 64 színt is bármikor támogathatja, valamint a teljes képernyőt vagy annak bizonyos részeit vízszintesen és függőlegesen görgetheti. Több olyan regiszter is létezik, amelyek szabályozzák a VDP konfigurálását, amelyet a vezérlőszóhoz 16 bites szavakkal írnak. A késői 1-es modellben és a 2-es és 3-as modellekben a TMSS letiltja a VDP-t, ha az ASCII "SEGA" nincs beírva az I / O memória meghatározott területére.

Azt hiszem elsőre ennyi a VDP-ről elég is, de később nagyon sokat fogunk vele foglalkozni mert minden grafikai munkánk alapját képezi a VDP alapvető ismerete.
A másik ilyen érdekes egység az a hangvezérlő rész, nevén nevezve a YM2612 és SN76489 páros.

YM2612 és SN76489
A képen a YM2612 és SN76489chippeket látjuk


Először kezdjük az SN76489 PSG-vel. Teljes neve az SN76489 komplex hanggenerátor, de ellentétben a névvel, valójában meglehetősen egyszerű chip a YM2612-hez képest. A PSG három négyzethullámú csatornát és egy véletlen zajcsatornát képes létrehozni (általában dobhangokhoz használatos). Eredetileg a 8 bites Sega Master rendszerben található, valamint más régi otthoni PC-k (BBC Micro) és videojáték-rendszerekben. A PSG-t a Sega Genesis-nek köszönhetően visszafelé kompatibilitási funkciónak tekintették, mert a Genesis le tudja játszani a Master System játékokat.
Az SN76489 PSG 3579545Hz (3,58 MHz) órajelet igényel a megfelelő működéshez. 3,579545 MHz-es kristályok még mindig léteznek, de lehet, hogy egy kicsit trükkös. Egy egyszerűbb megoldás egy programozható oszcillátor, például az LTC6903 használata.

A Yamaha YM2612 a Sega hangjának lelke. Ez egy 6 csatornás frekvencia modulált (FM) szintetizátor, beépített digitális analóg átalakítóval (DAC). A YM2612 a 16 csatornás YM2608 chip vágott változata, olyan funkciók hiányában, mint az SSG, az ADPCM és a ritmus hangforrások. A hiányzó ADPCM funkció helyett az YM2612 képes digitális hangmintákat reprodukálni a hatodik FM-csatorna PCM (Pulse Code Modulation) csatornává való átalakításával. Nagyon kevés hivatalos információ áll rendelkezésre a YM2612-ről. A 90-es évek vége óta hivatalosan is leállították a gyártásukat, és a Yamaha Semiconductor szerint az OPN család összes hivatalos adatlapja és alkalmazási kézikönyvét megsemmisítették. Az YM2612 7,670442 MHz-es órajelet igényel. Ilyen pontos sebességű kristályok nem igen vannak, bár ritka a 7,68 MHz-es kristály, de léteznek, és valószínűleg működne is vele. A PSG-hez hasonlóan talán könnyebb egy programozható oszcillátor.

Tehát már is érintettünk két olyan szeletett, amely kissé meg fog rázni bennünket, ha behatóan fogunk vele foglalkozni. Nem elég olvasni ezekről a Chipekről, de ismerni és megismerni őket is muszáj lesz, ha programozni szeretnénk.

Források:
http://md.railgun.works/index.php/Mega_Drive
https://hu.wikipedia.org/wiki/Motorola_68000_processzorcsal%C3%A1d
http://md.railgun.works/index.php/VDP
http://md.railgun.works/index.php/SN76489
http://md.railgun.works/index.php/YM2612

Továbbá ha kérdésed van keress itt a fórumtémájában: Írjunk játékot SEGA MEGA DRIVE konzolra

Sajnos még nincsenek bejegyzések!

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!