SDL – powerSDL.library

Mérföldkőhöz ért az új lendületet kapott MorphOS SDL fejlesztése, ugyanis megszületett az első “shared library” amely már az OpenGL-ért felelős alrendszerrel is képes kommunikálni. Ez egyszerűbb nyelvre fordítva annyit jelent hogy van egy “powersdl.library” ami a teljes SDL alrendszert tartalmazza, így az eddig statikusan fordított SDL-es alkalmazások, játékok ezentúl dinamikusan fordítva, jóval kisebb méretben kerülnek kiadásra.

Másik előnye ennek a megoldásnak, hogy a fejlesztés során a javításokat elegendő csak a library-ben átvezetni, a programok újra fordítása nélkül korrigálhatók az esetleges problémák.

Ezzel párhuzamosan került kiadásra az első MorphOS SDL SDK, amely a teljes forráskódon túl tartalmazza a szükséges help file-okat HTML és MAN formátumban is továbbá jónéhány példaprogramot is a könnyebb megismerést elõsegítendő. Az SDK-val lehetőség van egyszerűen statikus vagy dimanikus verziót fordítani, csak a kiadott MorphOS SDK szükséges a telepített GCC környezettel. A statikus változatot addig szükséges megtartani, amíg a powersdl.library képes lesz együtt működni a POSIX környezetet biztosító ixemul.library-val, hasonló trükkel mint ahogy a tinygl.library és hamarosan a jungl.library által biztosított OpenGL rendszerrel is. Ez utóbbi mondattal elárultuk, hogy a JunGL áltat a MorphOS 1.5-ben támogatott Radeon software és hardware meghajtó is bekerül az SDL-be, vélhetõleg még az 1.5 megjelenése elõtt!

Az SDL ezen ágának fejlődése nem jelenti azt hogy a Gabriele Greco által megkezdett munka, amely a 68k-s AmigaOS-re is lehetővé tette az SDL-es játékok portolását feledésbe merül, ugyanis hamarosan visszavezetésre kerülnek a javítások és fejlesztések a MorphOS verzióból.

Pegasos és MorphOS

MorphOS – egy metamorfózis végterméke

Mielőtt nekikezdenénk ennek a nemrégiben kiforrott operációs rendszer illetve az ezt futtatni hivatott hardware rövid ismertetésének, szükségesnek látjuk a történetét egy kicsit régebbről elmesélni. Így talán érthető lesz az is hogy egy cég miért fektet komoly pénzt és időt emésztő fejlesztési energiát egy – a mai uralkodó operációs rendszerektől (Windows, Linux) szinte mindenben különböző – olyan rendszer kidolgozásába, amihez hasonlót ráadásul a hivatalos Amiga vonal fejlesztő cége a Hyperion is elkészíteni szándékozik…

A kezdetek

A hagyományos AmigaOS – az Amiga gépcsalád hivatalos, és a géphez adott operációs rendszere – 1985 óta több millió lelkes számítástechnikával foglalkozó emberrel ismertette meg a hardware és a software egy igen kifinomult kapcsolatát.
A nyolcvanas évek közepén még senki nem vagdalkozhatott száz megabyte-nyi memóriákkal, gigabyte-nyi háttértárolókkal és gigahertz-es processzor sebességekkel. Ez az Apple MacOS-ének, az IBM DOS-ának és a Microsoft Windows 1.0, 2.0 időszaka volt, a pécés világ ekkor kezdett színeket látni a képernyőjén – a megszokott zöld karakterek helyett – és esetenként már a pc speaker-t is felválthatta egy analóg ADlib hangkártya hangja.

Az operációs rendszerek (Windows, DOS) is ezen a szinten voltak, még senki nem remélhetett multitasking-ot, szó nem volt valós idejű videó lejátszásról, képeket is csak módjával nézett az ember, elsősorban tömörítetlen formában, floppy-ról. És akkor a nagy csöndbe belehasított a Commodore cég igen agresszív Amiga vonala, a kor számára döbbenetes hardware-rel (4 darab független digitális hangcsatorna, 4096 szín, grafikus társprocesszor, 3.5″-es floppy drive, egér, stb.) és egy nem nagyon reklámozott, de a kort jó néhány évvel megelőző operációs rendszerrel, az AmigaOS-sel.

Ez az operációs rendszer kizárólag grafikus móddal rendelkezett, minimális erőforrásigényével a 7MHz-es processzorokon is kifogástalanul működött, valódi multitasking-ot tudott, kezelte a gépben lévő kooprocesszorokat, méghozzá úgy hogy a minden más hardware/software környezetben megszokott “akadozás” az Amiga platform számára ismeretlen fogalom volt, legyen szó videó lejátszásról, hang lejátszásról, multimédiás megjelenítésről, játékokról. Ez az OS – még a legrégebbi verziói is – egy gyöngyszem a maga nemében, aki ismeri a felhasználói szintnél kicsit mélyebben, mondjuk elolvasgatta a Rom Kernel Manual-t, neadjisten még írt is egy két AmigaOS programot, annak ezt nem kell bizonygatni. Jay Miner-nek (őt nevezik az Amiga atyjának) és néhány fős csapatának alig 3 éve volt rá hogy kitaláljon egy teljesen új hardware-t, elkészítse, legyártassa és még egy operációs rendszert is mellékeljen hozzá! Ezt ők megcsinálták, nem is akármilyen szinten.

Érdekes adat lehet, hogy az AmigaOS 3.x nulláról való, forráskódok és – hivatalos – támogatás nélküli újraírásán dolgozó AROS csapat esetenként több száz tagjának eddig közel nyolc évnyi munkája fekszik az implementációban és még legalább egy év van hátra hogy elkészüljön a projekt!

A phase5 korszak

Köztudott, hogy a rossz marketingnek – és ki tudja mi másnak is – köszönhetően a Commodore cég, és így az Amiga is a kilencvenes évek első felében a csőd útjára lépett. Egyesek szerint a gépeket is túlhaladta a kor, valójában a Windows marketinggel nem tudott versenyezni, pedig 1995 előtt még nem is nevezhető versenytársnak egyik Windows verzió sem. A 3.x-es, DOS-GUI szintű “operációs rendszerek” hírből sem ismerték az AmigaOS 3-ban (1992-ben került kiadásra) természetes multitasking-ot, lokalizációt, dinamikus ramdrive-ot, stb…

Az anyacég bukása valójában nem igazán rendítette meg azt az 1-2 millió aktív Amiga tulajdonost, akik gőzerővel termelték a programokat, demókat, játékokat. Az amigás cégek is működtek, egyre másra jelentek meg a jobbnál jobb programok, esetenként aranyárban ugyan, de lehetett kapni mindent.

Az idő előrehaladtával viszont egyre inkább erősödött az igény gyorsabb processzorok iránt, és ekkor tűnt fel egy kis német cég, a phase5 aki kiváló minőségű, és teljesítményű hardware-eket dobott piacra. Ennek a cégnek az emberei készítették el 1997-ben az első dual processzoros CPU kártyát Amiga gépekhez, és természetesen ők írták meg azokat a szükséges software-eket is amelyek lehetővé tették ennek az új konfigurációnak a meglévő AmigaOS-be illesztését is.

A metamorfózis

A történet szerint 1995 szeptemberét írunk amikor is az akkori Amiga tulajdonos, az Amiga Technologies és a német phase5 cég aláír egy együttműködési megállapodást, ami a hivatalos Amiga vonalat a 68k processzor architektúráról átvezeti a PowerPC vonalra, és elkészítik közösen az új operációs rendszert – MorphOS néven – azaz egy metamorfózisra kerül sor Amiga vonalon. Szerencsétlen módon néhány hónappal később az Escom csődbe megy, és vele együtt az Amiga Technologies is.

A phase5 emberei – igazi fejlesztőkhöz méltóan – nem estek kétségbe, bejelentették hogy saját hardware-t csinálnak A-Box néven, és elkészítik hozzá az új operációs rendszert is! És elkezdődik a MorphOS fejlesztése… 2000-ben került kiadásra az első MorphOS verzió az akkor piacon lévő PowerUP fejlesztői kártyákra, 2002-ben megjelenik a MorphOS v1.0 már Pegasos hardware-re is, és 2003 márciusában végre Magyarországra is eljut az első Pegasos alaplap, és vele a MorphOS v1.2 is, amelyet most igyekszünk górcső alá venni…

A jelen

A Pegasos egy (dual) PowerPC-s alaplap, amelynek szíve az ArticiaS vezérlő chip. A következő csatolókkal van ellátva az alaplap: soros, párhuzamos port, USB portok, FireWire portok, PS2 egér, billentyűzet, AGP és PCI portok, továbbá egy CPU slot 1 vagy 2 processzor számára. Alaplapra integrált hangkártya (Via AC97) optikai és hagyományos kimenetekkel és bemenetekkel, modem (amit valamiért a jelenlegi Pegasos alaplapokon nem vezettek ki telefon aljzatra, noha a chip ott van), Via 10/100 mbit-es ethernet kártya, és analóg joystick port. Memóriából PC133-as SDRAM-nak van 2db hely, továbbá 2db integrált ATA133-as IDE port is van az alaplapon. Ezen hardware 600 MHz-es PowerPC G3-as processzorán volt szerencsénk kipróbálni az alaplaphoz adott MorphOS és Debian Woody PPC verzióit.

A MorphOS a Quark mikrokernelre épül, ezen kernelen két aktív fejlesztői “doboz” helyezkedik el, az egyik az A-Box amely elsősorban a jelenlegi 68k alapú AmigaOS-sel való kompatibilitásra törekszik, és képes futtatni az RTG (Re-Targetable Graphics), azaz a beépített grafikus chip-től független grafikát használó programokat, egy 68k processzor emulátoron keresztül, eredeti formájukban. A másik vonal a Q-Box, amely megtartja az A-Box tulajdonságait, de elsősorban a POSIX rendszerekre szeretne hasonlítani (BeOS, Linux) illetve azok binárisait lesz képes futtatni. Ez utóbbi “doboz” fejlesztés alatt van, a jelenlegi MorphOS az A-Box. Mivel a MorphOS maga natív PPC kódban készült, a kompatibilitást elősegítendő egy 68k emulátort készítettek hozzá, ami egy virtuális processzoron futtatja a 68k-s programokat. Ez az emulátor tud JIT (Just In Time) módban is működni, ezt az UAE/Amithlon használóknak nem kell bemutatni. A JIT-es 68k emulátor a jelenleg kapható leggyorsabb 68060-as sebességének is a többszörösét produkálja a 600 MHz-es G3-as Pegasos-on.

A MorphOS részét képező AmigaOS 3.x API réteg részben a nyílt forráskódú AROS project-ből táplálkozik, egy byte-nyi kódot nem vettek át a hivatalos AmigaOS-ből, többek között azért mert nem kaptak semmiféle támogatást arról az “oldalról”. Ez nem igazán érthető hozzáállás az Amiga Inc. részéről, mert a MorphOS nem a most fejlesztés alatt lévő AmigaOS 4-el, hanem a hármas verzióval akar kompatibilis lenni, tehát az új AmigaOS-nek nem lesz igazi vetélytársa…

Fontos megjegyezni, hogy a MorphOS nem emulál a 68k processzoron kívül semmit, tehát nincsenek custom chip-ek sem! Leginkább az Amithlon-ra hasonlít ebben a tekintetben. Viszont készült egy speciális UAE verzió MorphOS-re, amely képes ezen hiányosságokat megszüntetni, ha valakinek igény támad olyan játékot, demót futtatni, amihez viszont kell a hagyományos Amigák chip készlete.

A MorphOS támogatja a hagyományos Amiga file-rendszereket (OFF, FFS, DCFFS) és természetesen az újabbakat is, mint például az ingyenes SmartFileSystem (SFS), vagy a (Professional FileSystem) PFS3. A használat során úgy tűnt, hogy az FFS azzal hogy natív PPC-s kódú lett és a hardware gyors IDE vezérlő kapott, minden eddiginél nagyobb sebességet produkál, az operációs rendszer átlagos boot ideje (a teszt környezetben már egy Miami is elindul start-kor hogy legyen hálózat) 3-4 másodperc! Programok ikonjára kattintva azonnal előugrik a program ablaka, képernyője, még a hagyományos AmigaOS-től megszokott sebességéhez képest is gyorsan. Ha már a képernyőknél tartunk, meg kell jegyezni hogy a MorphOS “Workbench-e” vagy desktop-ja, amely az Ambient nevet viseli, minden eddiginél szebb köntöst kapott, és a Magic User Interface (MUI) natív PPC-s verzióját is magába foglalja. Az ikonoknak “blurred alphás” árnyékú szövege van, PNG ikonokat használ (természetesen kifogástalanul képes megjeleníteni a MagicWB, és a NewIcons ikonokat is!) végtelen színmélységben és átlátszóságban, az egérmutató hardware-es árnyékot kapott, mint azt a WindowsXP vagy MacOS X rendszereken is láthatjuk.
Az Ambient megjelenése az utolsó pixelig megváltoztatható, a mellékelt köntösökön túl magunk is egyszerűen készíthetünk ilyen Skin-eket, akár teljesen elölről, vagy megváltoztatva egy-egy jelenlegi néhány paraméterét. A köntösökön túl az Ambient felső menüje is egy szöveg file-on keresztül szabadon átszabható.

A MorphOS képi megjelenésére a CyberGFX grafikus rendszer ötös verziója szolgál, a következő grafikus kártyák/chip-ek támogatásával: ATI Radeon, Permedia2, SiS300, SiS6326, Voodoo3, Voodoo4, Voodoo5.

A specifikáció szerint a grafikus rendszer támogatja az átlátszóságot és az overlay-t is, ezeket sajnos nem állt módunkban kipróbálni, hacsak nem az ikonok effektjeivel. :). A manapság alapkövetelménynek számító 3D oldalt a natív Rave3D, a fejlesztés alatt álló Warp3D és a szintén fejlesztés alatt álló natív OpenGL (Mesa) biztosítja.

A hang a jól bevált, és amigás viszonylatban standardnak nevezhető AHI rendszeren keresztül került megvalósításra, szintén natív PPC-s rendszerről van szó, nem emulál semmit. A Pegasos AC97-es (VIA) hangja nagyon szépen szól, zajmentes kimenetet produkál, hasonlatosan az amigákban megszokott RCA-s Paula kimenethez.

A letölthető béta operációs rendszer mindössze egy 8 megabyte-os gzip file-ban foglal helyet, ebből is következtethetünk a végső méretére. Ez nagyjából megegyezik egy AmigaOS 3.x MUI-val, Picasso96/CygerGFX grafikus rendszerrel, AHI-val felvértezett redszerre.

A Pegasos USB rendszerét a Poseidon programmal kezelhetjük, amely már most is számtalan eszközt ismer. Brilliáns MUI-s felülettel enged hozzáférni minden információhoz az adott eszközzel kapcsolatban, automatikusan képes mount-olni a PendDrive-okat, digitális kamerákat, USB-s CDROM-okat, stb.

Kompatibilitás

A MorphOS jelenlegi stádiumában (A-Box) nincs memória védelem, viszont így a lehető legteljesebb kompatibilitást kaphatjuk a régi amigás programokkal. Kifogástalanul működnek a IP stack-ek (Miami, MiamiDX, Genesis, AmiTCP) a böngészők is elindulnak – egyesekben kis grafikus hiányosságokat tapasztalhatunk ugyan – a YAM szintén kifogástalanul működik, az AmIRC-hez vagy az ATC-hez hasonlatosan. A grafikus programok közül a TVPaint, az fxPaint és természetsen a PPaint is kipróbálásra került, sikerrel. Az MP3 lejátszók közül az AmigaAMP került terítékre, sajnos a module lejátszók közül a HippoPlayer nem hajlandó Paula hiányában elindulni, de az AHI-NotePlayer-t használó EaglePlayer és DeliTracker korrigálhatja ezt a hiányosságot. Fejlesztői környezet tekintetében elmondhatjuk hogy a GeekGadgets csomag hamarosan teljes egészében rendelkezésre fog állni (GCC, GDB, pdksh, XFree86, stb). Játékok tekintetében még elég gyér az ellátottság, a Quake1-2 került kiadásra (mindkettő kiváló sebességgel fut) illetve néhány kisebb program.

A www.morphos.de oldalon található egy kompatibilitási lista ahol több száz alkalmazásról írják hogy mi a működési tapasztalat, aki egy bizonyos alkalmazásra kíváncsi, vagy áttekintést akar kapni erről az oldalról is annak mindenképpen ajánlatos oda betekinteni, mert azt napról napra frissítik a tapasztalatok alapján.

Mindenképpen meg kell említeni másfél mondat erejéig azt a csapatot, eszmeiséget ami a Pegasos hardware mögött áll (ez a Genesi cég), ugyanis nem csak azzal igyekeznek bevinni a köztudatba a gépet hogy az összes nagy kiállításon megjelennek, hanem a community felé is igen erősen nyitottak, amit mi sem bizonyít jobban, mint hogy ingyen gépeket ajánlanak fel demócsapatoknak, olyan fejlesztőknek akik újdonságot visznek az operációs rendszerbe. Ez azért is nagyon fontos tény, mert itt nem több százezres példányszámról van szó – ezernél kevesebb alaplapot gyártottak le eddig! -, ráadásul az alaplap ára is vetekszik a legdrágább pécés alaplapok árával!

A jövő

A MorphOS jövője hivatalosan a Q-Box lesz, viszont a valóságban nagyon úgy tűnik hogy az igen nehezen kibontakozó AmigaOS4 helyett sokan ezt fogják kinevezni a következő generációs “amigának”. Itt egy fogalomról van szó, egy alternatíváról ami megdobogtatja az ember szívét ha leül elé. Egy ilyen gépet az ember 10 évre vásárol magának, nem a mostani pécés világban megszokott 2-3 hónapra. És ha valaki egy ilyen tartós kapcsolatba kezd, nagyon megválogatja a párját. Abból az alig másfél hetes ismeretségből, amit a cikk írója és a Pegasos/MorphOS páros együtt magáénak mondhat, nagyon úgy tűnik hogy az 1992-ben megvásárolt Amiga1200-vel való 10 éves kapcsolat után most előkerült az új “élettárs” az elkövetkező tíz évre, természetesen a “többnejűséget” messzemenőkig figyelembe véve, és jóleső szimbiózisba burkolózva.

pegasos01big.jpg

morphos-vva-vnc.jpg

morphos-frodon.png