[ Testit ] [ Sivukartta ]

Amiga Software Development Kit 1.0
Janne Sirén <siren@mikrobitti.fi>
Valokuvat: Anu Seilonen

Uusi Amiga Inc. julkaisi ensimmäisen tuotteensa, Amiga SDK:n, keväällä. Kyseessä on uuden Amiga-käyttöjärjestelmän perusta ja alustava kehitysympäristö. Tutustuimme sen tarjontaan ja esittelimme sitä suomalaisille amigisteille kokouksessamme syyskuussa. Kerromme nyt kokemuksistamme, annamme vinkkejä asennusongelmiin ja raotamme verhoa seuraavan sukupolven Amigan pukuhuoneeseen...

SDK Suomeen
Suomen Amiga-käyttäjät ry. on kunnostautunut viime vuosina tuomalla Suomessa esille monenlaista maailmalla nähtyä Amiga-uutuutta. Viimeisimpinä muistetaan AmigaOS 3.5, ja olisihan se Amiga MCC:n kotelomallikin saapunut Petro Tyschtschenkon mukana, ellei hän olisi joutunut perumaan Saku 99 -vierailuaan. Kun sitten Amigan uusin inkarnaatio sai keväällä putkautettua ulos ensimmäisen uuden tuotteen, Amiga Software Development Kitin eli lyhyemmin SDK:n, heräsi luonnollisesti uteliaisuutemme esitellä sitä Suomen amigisteille.

Tällä kertaa Amiga Inc.:stä ei valitettavasti ollut apua, sillä he ilmoittivat, etteivät toistaiseksi lainaa SDK:ta esittelykäyttöön (tai muutenkaan lainaa). Vuosikokous olisi mukava paikka esitellä uutuutta, mutta ensin sellainen - sekä sen tarvitsema Linux-ympäristö - olisi hankittava jostain. Lainaaminen paikalliselta jälleenmyyjältä ei oikein käynyt päinsä, kun tuote oli varustettu pakollisella nettirekisteröinnillä ja sen mukanaan tuomilla yksilöidyillä asennuskoodeilla. Eikä SDK:n omistajiakaan tuntunut puissa näillä kulmilla kasvavan.

Yksi Amiga SDK löytyi kuitenkin kotimaisen Gentle Eye Ky:n varastosta, joten pelastavaksi enkeliksi päätti ryhtyä päätoimittajamme Anu Seilonen, joka iski tiskiin tarvittavat 850 markkaa, että pääsisimme ihmettelemään uutuutta. Kiitos, Anu! Aina yhtä avulias Gentle Eye tuki projektia osaltaan kattamalla postikulut, ja niinpä pääsimme sorvaamaan systeemiä PC-laitteistoon, johon allekirjoittanut hankki juuri sopivasti uuden kiintolevyn, verkkokortin ja RedHat Linuxin. Seikkailu pääsi alkamaan...

Tuhti paketti purtavaa
Amiga SDK toimitetaan punaisessa, varsin tuhdissa, 19x25x4 cm pahvilaatikossa, jota koristaa kannessa keskeneräinen Boing-pallo rakennusnostureineen ja kääntöpuolella kehikosta harmaasävyjen kautta punaväreihin kasvava Boing. Sanat Amiga, Software Development Kit sekä So The World May Know -iskulause ovat myös näkyvästi esillä. Takakannen lyhyen myyntipuheen päättävät sanat "Today, you can help shape the Amiga of tomorrow." Paketin yleisilme on väreistä huolimatta aika synkkä ja yksityiskohdaton, ja Amiga lupaileekin seuraavan version tulevan kirkkaammissa sävyissä.

Paketin yksityiskohtainen kuvaileminen suotakoon anteeksi, onhan viime vuosina tottunut siihen, että kaikki missä lukee Amiga on lähinnä puettu päälle, juotu tai muuten vain elänyt ulkoisilla meriiteillään. :-) Tällä kertaa sisältä löytyy kuitenkin jotain muutakin kuin vain ilmaa tai rompun puolikas. Nimittäin "pakollisen", ylisuuren Get Boinged -tarran, parin referenssilapun ja yhden CD-ROM-levyn lisäksi SDK toimitetaan tukevan 300-sivuisen ohjekirjan kera. Paksun manuskan psykologinen vaikutus on yllättävä, jotenkin tuo paperi tuntuu niin paljon heppoisia PDF-tiedostoja konkreettisemmalta. Eipä silti, on manuskan jatkeena niitä online-dokumenttejakin.

Ohjekirja on alkutekstien mukaan kirjoitettu kokonaan Amigalla, mm. Final Writerin, Ghostscriptin ja Deluxe Paintin avulla. Eipä siinä mitään, valitettavasti vain bittikarttakuvia tuottavan ohjelman jälki näkyy kirjan kaaviokuvituksessa amatöörimäisenä pikselöitymisenä. Muuten värikkäisiin kansiin kääritty ohjekirja täyttää ulkoiset mittavaatimukset, ja sisältökin tuntuu olevan pääasiassa asiaa, mitä nyt muutamat pakolliset painovirheet ovat kiireessä päässeet mukaan. Muutamia Classic Amiga -viitteitä lukuunottamatta ohjekirja keskittyy pääasiassa Taon toimittaman teknologian ylimalkaiseen selittämiseen. Puutteista huolimatta on erittäin positiivista, että mukaan mahtui oikea ohjekirja.

Kaiken kaikkiaan SDK 1.0 on ulkoisesti sangen onnistunut, etenkin muutaman kuukauden ikäisen yrityksen tuotokseksi. Kyllä sen kelpaa hyllyynsä nostaa ja kaverillekin näyttää. Get Boinged -tarra on liian iso koneen etupaneeliin, sillä voisi peittää melkein puolet pienestä näytöstä, joten ehkäpä se on tarkoitettu kookkaan jenkkiauton takapuskuriin. Tai jotain. Jos tarrasta jotain täytyy päätellä, niin selvästi sillä on yritetty hieman kosiskella promokrääsää rakastavaa Amiga-yhteisöä... sillä mitä olisikaan nyky-Amiga ilman tarroja? :-)

Rakennusalustana PC
Amiga SDK piti alkujaan julkaista osana Amigan developer-konetta, johon se olisi ollut valmiiksi asennettuna. Keväällä Amiga-yhteisön paine pakotti kuitenkin Amigan muuttamaan suunnitelmaa - liian monella oli jo valmis laitteisto, eikä porukka halunnut ostaa uutta. Niinpä SDK julkaistiin ensiksi rompulla, ja vasta sittemmin Amigan yhteistyökumppanit ovat alkaneet valmistaa d'Amiga-nimellä kulkevia kehitystyöasemia, jotka käytännössä ovat tietyt Amigan määrittelemät speksit täyttäviä Linux-PC-laitteita SDK:lla ja Amigan kehittelijätuella varustettuna.

Erillisenä toimitettava Amiga SDK asentuu siis "mihin tahansa" x86-pohjaiseen Linux-mikroon, joka täyttää seuraavat vaatimukset: RedHat Linux 6.1 ja Xfree86 (tulee RedHatin mukana), 32 Mt muistia (suositus 64 Mt), 100 Mt kiintolevytilaa ja verkkokortti. Käytännössä ensin mainitussa vaatimuksessa voi joustaa kikkailemalla (kuten mekin jouduimme tekemään), mutta esimerkiksi verkkokortti koneessa täytyy olla asennuksen aikana, vaikka varsinaista verkkoyhteyttä ei oikeasti tarvitakaan.

d'Amiga-kehityskoneet toimitetaan 500 megahertsin AMD K6-2 -suorittimella, Matroxin G400-näytönohjaimella ja 128 megatavun muistilla. Oma asennusympäristömme oli hieman vanhempi, 333 megahertsinen K6-2, jossa Creativen Riva TNT -näytönohjain ja 128 Mt muistia. Mikään erityinen vaatimus AMD:n suoritin ei tietenkään ole, vaan SDK:n pitäisi kyllä asentua melkein missä tahansa modernissa PC:ssä, jossa ohjelmistopuoli on vaaditulla tolalla. Jatkoa ja päivityksiä ajatellen Amigan yhteistyö Matroxin kanssa voi tosin suosia Matroxin näytönohjainten omistajia, mutta toistaiseksi sillä ei ole väliä.

Alleviivattakoon kuitenkin vielä tätä faktaa: Amiga SDK on kehitysympäristö seuraavan sukupolven Amiga-käyttöjärjestelmälle, ja tuo kehitysympäristö toimii PC-laitteistolla - vanhaan Amigaan sitä ei voi (ainakaan ilman emulaattoreita) asentaa. Tilannetta voi jokseenkin rinnastaa siihen, että alkuperäisen Amigan käyttöjärjestelmää kehitettiin Sun-työasemilla. Syy kehitysympäristön osalta PC:n valmintaan on edullinen hinta, yleisyys ja Linuxin kohdalla taas työkalujen saatavuus. SDK:sta on tosin tulossa myös Windowsin päällä pyörivä versio nyt lokakuussa.

Asennusten kautta voittoon
Testikoneeseemme, jota pyöritti tavalliseen tapaan Windows 98, asennettiin Windowsin rinnalle RedHat Linux 6.2 -käyttöjärjestelmä. Linuxeja voi kopioida ilmaiseksi netistä, ja niitä kaupitellaan vähän joka kaupan hyllyllä R-kioskeja ja ruokakauppojen lehtipisteitä myöten. Amiga SDK:n laitteistovaatimuksissa vaadittiin RedHatin versiota 6.1, mutta koska osuvasti oli paikallisesta lehtihyllystä tarttunut mukaan Linux-käyttäjä-lehti ja sen mukana RedHat 6.2, päädyimme käyttämään varoituksista huolimatta päivitettyä versiota.

Osasimme odottaa ongelmia, mutta apua tuli sangen yllättävältä taholta - nimittäin IBM:n DeveloperWorks julkaisi pari artikkelia aiheesta ja itse asiassa kehaisi SDK:ta muutamaan otteeseen (ks. URL-viitteet artikkelin lopussa). Yksi näistä Daniel Robbinsin kirjoittamista artikkeleista sisälsi myös asennusohjeita, jotka ohjaisivat meidät pahimpien karikoiden ohitse. Ensin oli kuitenkin selvitettävä Amigan kryptinen rekisteröintiprosessi: kannattaa lukea huolella SDK:n mukana tuleva Installation Guide -lappunen, jonka avulla saa tarvittavat asennuskoodit. Varsinaiset koodit ovat pitkiä, joten älä turhaa tuhlaa meidän tapaamme aikaasi yrittämällä syöttäää asennusohjelmaan ensin saamaasi lyhyttä numerosarjaa.

Koodeja kertyy yhteensä vaiheittain kolme parikymmenmerkkistä, mutta onneksi niiden hankkiminen ja rekisteröinti voitiin tehdä webistä irrallaan asennuksesta, sillä emme saaneet Internetiä toimimaan Linuxista. Sen sijaan verkkokortin täytyy olla asennettuna, vaikka siihen ei mitään olisikaan kytketty - asennusohjelma nimittäin luo yhden asennuskoodeista verkkokortin jotakuinkin yksilöllisen tunnisteosoitteen mukaan. Meidän tapauksessamme halpa D-Linkin DE-528CT riitti tarkoitukseen, ja sittemmin se voitiin irroittaa koneesta SDK:n asiasta häiriintymättä. Myöhemmin koneeseen itse asiassa vaihdettiin tehokkaampi verkkokortti, jota Linux ei tunnistanut, mutta SDK ei jo asennettuna ollut asiasta enää kiinnostunut.

Asennusohjelma ei myöskään tykännyt käynnistyä oikein KDE-desktopilta (joka oli RedHatiimme valittu), vaan kadotti kuvat ja lisenssitekstit. Ongelma korjaantui käynnistämällä ohjelma shellistä. Helpotus oli melkoinen, kun rekisteröintirumban ja Linuxin viilaamisen jälkeen asennusohjelma sitten sutjakasti alkoi kopioida tiedostoja paikoilleen ja mukisematta sekä yllättävän nopeasti suoriutui tehtävästään. Eipä tosin CD:llä hirveästi kopioitavaa ollutkaan - koko levylle on painettu vain 27 megatavun edestä dataa.

Säätäjän unelma-asennus?
Seuraavat asennustekniset yksityiskohdat kannattaa ohittaa, mikäli ei itse painiskele niiden kanssa. Pureudumme SDK:hon yleisemmällä tasolla niiden jälkeen. Toisaalta jos kaipaat tarkempaa teknistä selvitystä seuraaviin vinkkeihin, kannattaa lukea niiden alkuperäislähde, Daniel Robbinsin SDK-artikkeli IBM DeveloperWorks-saitilta, sekä tutustua epäviralliseen Amiga SDK -sivustoon osoitteessa http://www.amigasdk.com.

Mainitsimme edellä asennusongelmat, joita laitteistovaatimuksia kiertävä väistämättä kohtaa. Muutama kikkakolmonen tuli meilläkin tarpeeseen. Tärkein ongelma koskee RedHat 6.2:n käyttämää ncurses-kirjaston versiota, jonka kanssa SDK on epäyhteensopiva ja kaatuu käynnistysyritykseen. Ratkaisu on hakea FTP:llä osoitteesta ftp.gnu.org tiedosto "pub/gnu/ncurses/ncurses-4.2.tar.gz" ja purkaa se Linuxissa komennolla "tar xzvf ncurses-4.2.tar.gz". Tämän jälkeen tulee siirtyä ncursesin hakemistoon ja suorittaa seuraavat komennot, yksi kerrallaan: "./configure --with-shared --prefix=/usr/amiga", "make" ja lopuksi "make install".

Edellä mainittu Daniel Robbinsin suosittelema komentosarja asentaa RedHatin ncursesin rinnalle standardin mukaisen ncurses-kirjaston. Jotta SDK käyttäisi sitä, pitää vielä joka kerta ennen sen käynnistämistä naputella käynnistysshelliin komento "export LD_LIBRARY_PATH=/usr/amiga/lib". Tämän jälkeen Amiga-ympäristön käynnistävät "intent_media" ja "intent_shell" todistettavasti toimivat myös RedHat 6.2:lla. Ja pitihän sitä kokeilla ilmankin - ei toiminut. RedHat 6.1:tä emme ole testanneet, mutta ilmeisesti sillä ongelmaa ei ilmene.

Toinen ongelma koski graafista terminaalia, etermiä, joka ei yksinkertaisesti toiminut - tällä kertaa ihan Amigan skriptausvirheen vuoksi. Robbinsilla oli lääke myös tähän vaivaan: Amiga-ympäristön shellissä naputeltiin komennot "cd /dev/ave/dsk/eterm" ja "touch rc" sekä sen jälkeen käynnistettiin editori "jove rc", poistettiin seuraavat rivit ja tallennettiin tiedosto. Tämän jälkeen, taas kerran todistettavasti, myös eterm lähti toimimaan moitteetta.

	case -- ${!hostparms command!c} ~
		{0} {

ja lopusta

		} ~
		{*}
			eval -- ${!hostparms command}
		}

Robbinsin mukaan RedHat ei oikeasti ole vaatimus SDK:n asentamiselle, vaan myös muut Linuxit kelpaavat kehitysympäristön alustaksi. Internetistä onkin kantautunut tietoja esim. SuSE Linuxin onnistuneesta käytöstä SDK:n kanssa. Mikäli asennus kuitenkin tökkii, voi seuraavasta olla apua: Keskeytä asennusohjelma Ctrl-Z:lla (terminaalissa josta käynnistit ohjelman) sen jälkeen kun se on dekryptannut SDK:n RPM-paketit kiintolevylle. Kopioi sitten .rpm-tiedostot /tmp-hakemistosta sopivaan paikkaan ja suorita kullekin komento "rpm -i --nodeps tiedosto.rpm". Tämän jälkeen voit jatkaa asennusohjelman suoritusta ja asennuksen pitäisi sujua mallikkaasti loppuun. Tätä vinkkiä emme kuitenkaan joutuneet kokeilemaan.

SDK:n pitäisi toimia RedHat Linux 7.0:n kanssa ilman edellä mainittuja ncurses-ongelmia, mutta RedHat seiskan kanssa ilmenee kuitenkin grafiikan sekoamisongelmia, kun Elate-ikkunan päälle siirretään jokin muu Linux-ikkuna. Ongelman syy on rinnastettavissa Classic Amigan simple ja smart refresh -virkistyksiin. Pulma ratkeaa käynnistämällä X-palvelin komennolla "startx -- +bs". Jos taas järjestelmäsi käynnistää suoraan X Window Systemiin, kokeile muuttaa tiedostosta "/etc/X11/gdm/gdm.conf" rivi "0=/usr/bin/X11/X" muotoon "0=/usr/bin/X11/X +bs" (vain super-user voi päivittää tiedostoa). Vastaavaan ongelmaan voi törmätä myös SuSE Linuxin kanssa, jossa se ratkaistaan lisäämällä "+bs" tiedoston "/etc/X11/xdm/Xservers" rivin ":0 local /usr/X11R6/bin/X :0 vt07" loppuun.

www.amigasdk.com:ssa on asennusohjeita myös Linux Mandrakelle ja Debianille.

Ensikosketus uuteen Amigaan
Ehdimme edellä kiirehtää jo hieman asioiden edelle, mutta vuosien odottelun jälkeen oli kova hoppu päästä tutustumaan uuden Amigan sielunelämään. Asennuksen jälkeen komennolla "intent_media" käynnistyy uusi "AmigaOS" sellaisena kuin se SDK:n mukana toimitetaan. Linuxin työpöydälle aukeaa kirkassävyinen ikkuna, johon putkahtelee muutamalla valikon vedolla Boing-palloja, väriefektejä ja monenlaista graafista kilkettä.

Nopeasti käy kuitenkin ilmeiseksi, että uusitun Boing-demon ja muiden hilavitkuttimien merkitys jää sangen vähäiseksi. Minkäänlaista seuraavan sukupolven käyttöliittymää tai työpöytää ei vielä ole tarjolla, vaan SDK 1.0 perustuu lähinnä englantilaisen Tao Groupin toimittamaan Amiga Foundation Layeriin eli Elate-reaaliaikakäyttöjärjestelmän ja Intent-kirjastojen ja viimeksi mainitun J-Engine-Java-virtuaalikoneen tarjoamaan perustaan. (Jotta nimisotku olisi täydellinen, yhdessä Elatea ja Intentiä kutsutaan myös nimellä Intent Java Technology Edition).

Elaten ja Intentin vahvuudet, ja uuden Amigan peruskivet, ovat virtuaaliprosessori, jolla samaa ohjelmakoodia voidaan ajaa useilla eri suorittimilla, sekä huippunopea Java-virtuaalikone, jonka väitetään peittoavan kaikki muut ja joka sekin tarjoaa alustan laitteistoriippumattomille ohjelmille.

Vaikka ohjekirjassa onkin korvattu suurin osa Elate-sanoista Amigalla, törmää nimeen Elate kuitenkin vielä joka paikassa. Hyvin paljon SDK 1.0:sta on siis tullut suoraan Taolta. Myös online-dokumentaatio, yli tuhat sivua PDF-tiedostoja, puhuu pelkästään Elatesta.

Tarjolla ovat siis uuden Amigan peruspalikat Intent JTE:n muodossa ja Taon toimittamat käyttöliittymäelementit (Amigan oma, seuraavan sukupolven BOOPSI, työnimeltään BOOPS, on tulossa), jotka jäävät lähinnä kehitysympäristön apuvälineiksi - edes 3D-kirjastoja tai kunnollista äänitukea ei vielä ole tarjolla, tulossa kylläkin. Todellinen SDK:n arvo piilee toistaiseksi nimenomaan mahdollisuudessa tutustua uuden AmigaOS:n (eli Elaten) perusperiaatteisiin, eli virtuaaliprosessoriin ja sen suomiin mahdollisuuksiin. Linuxin päällä pyörivä kehitysympäristö antaa myös esimakua järjestelmän joustavuudesta: uutta Amigaa voidaan tulevaisuudessa paitsi käyttää monella eri koneella, myös natiivikäytön lisäksi ajaa Linuxin tai Windowsin päällä.

Eikä uusi SDK pelkkä lelu ole, sillä kyllä siitä on ihan vakavaankin ohjelmistokehitykseen. Mukana toimitetaan työkalut niin C/C++ -, Java- kuin uuden Amigan virtuaaliprosessorin assembler-ohjelmointiinkin. Ohjekirja käsittelee kaikkia näitä kolmea aihetta ja tarjoaa selityksiä myös valinnanvaraan: C/C++ ovat omiaan olemassaolevien ohjelmien porttaamiseen, Java on alati kasvava laitteistoriipumaton standardi ja parhaisiin nopeustuloksiin päästään ohjelmoimalla suoraan Amigan (eli Taon) virtuaaliprosessoria.

Juju on virtuaaliprosessorissa
Vaikka Java vilahtelee jatkuvasti Amigan tiedotteissa ja suunnitelmissa, alkaa hiljalleen vaikuttaa siltä, että se todellinen vallankumouksellisuus uudessa Amigassa piilee kuitenkin sen laitteistoriippumattomassa virtuaaliprosessorissa ja laitteistoabstraktiossa. Kaikkia uudelle Amigalle tehtyjä ohjelmia voidaan teoriassa ajaa millä tahansa koneella, pienellä tai suurella. Eipä siis ihme, että Amiga on demonnut systeemiään jo monenlaisilla taskulaitteilla, pelikonsoleilla ja kotimikroilla. Jopa PowerPC-pohjaisia Classic Amigoita tullaan mahdollisesti tukemaan - tässä auttanee yhteistyökumppani Haage & Partner.

Amiga SDK 1.0 antaa mahdollisuuden päästä ohjelmoimaan näitä laitteistoriippumattomia ohjelmia ensimmäisten joukossa. Kehitysympäristöä tullaan päivittämään sitä mukaa kuin Amigan suunnitelmat valmistuvat, mutta jo nyt on Internetissä lukuisia pieniä ohjelmia, joita on käännetty uudelle Amigalle. Jahka ensimmäiset varsinaiset seuraavan sukupolven Amiga-laitteistot ilmestyvät, liikkuu ohjelmien määrä varmasti jo kymmenissä, ellei sadoissa. Monet Classic Amigan kehittelijät ovat hypänneet kelkkaan SDK:n myötä, esim. Wildfireä käännetään uudelle Amigalle nimellä Taifun, ja pelivalmistaja Hyperion on yksi Amigan tärkeimmistä yhteistyökumppaneista.

Uuden Amigan menestys riippuu tietysti paitsi ohjelmistokehittäjien tuesta, myös siitä, kuinka onnistunut virtuaaliprosessori käytännössä on. Amigalta vakuutellaan sen nopeutta ja loistavuutta, ohjelmakoodi kun käännetään tulkkaamisen sijaan jo latausvaiheessa käytetyn prosessorin natiivikoodiksi ja laitteistoabstraktiota voidaan täydentää laitespesifisillä ajureilla, mutta vain aika näyttää. Toistaiseksi SDK:n mukana toimitetut demot tuntuivat pyörivän kohtuullisesti, ajettiinhan niitä Linuxin päällä ja ilman 3D-kiihdytystä, mutta vielä lopullisesta vauhdista on mahdoton esittää arvioita.

SDK:n omaavat voivat vertailla oman laitteistonsa benchmark-tuloksia seuraaviin SDK:n speed-komennon testikoneellamme antamiin tulosteisiin:

Amiga 1.0:/$ speed
VP MIOPS = 415.119007
VP MLOPS = 74.703084
VP MFOPS = 25.349671
VP MDOPS = 21.904094
Amiga 1.0:/$ speed
VP MIOPS = 414.470022
VP MLOPS = 74.558401
VP MFOPS = 25.440361
VP MDOPS = 21.888292

Luvut vaihtelivat hieman ajokerrasta rippuen. Tietysti jos samaan aikaan ajoi jotain muita ohjelmia, tulokset romahtivat radikaalisti.

Entä kulissien takana?
Pomppivien Boing-pallojen ja visuaalisten efektien alta paljastuu muutaman kymmenen megan edestä raakaa dataa ja karuja kehitystyökaluja. On epäselvää, kuinka hyvin SDK:n hakemistorakenne kuvastelee lopullista uuden Amigan hakemistorakennetta (voi olla ettei niillä ole paljoakaan yhteistä tai sitten on), mutta SDK:n tiedostojärjestelmä on jaoteltu seuraavasti:

app/ sovellusohjelmat
ave/ multimediatyökalut (Audio Visual Environment tai Amiga Multimedia Toolkit)
com/ Java-luokat, käyttäen standardia Javan pakettien nimiavaruutta
demo/ esimerkkiohjelmat
dev/ laiteajurit
etc/ TCP/IP-verkko ja verkkoasetukset
fonts/ TrueType- ja PostScript 1 -kirjasimet
home/ käyttäjän kotihakemisto
java/ Java-kirjastot
lang/ ohjelmointikielet
lib/ yleiset kirjastot
sounds/ äänijärjestelmä
sys/ järjestelmähakemisto

Amigan mahtipontisessa kielenkäytössä he puhuvat uudesta digitaalisen tiedon maailmankaikkeudesta, Amiversestä, jossa ei perinteisiä tiedostoja enää kaivata ollenkaan, mutta kovasti tiedostopohjaiselta alusta ainakin vaikuttaa. Itse asiassa tiedostojen sijoittelu on ohjelmia asennettaessa tarkkaa puuhaa: komponenttien sijainti on usein kiinnitetty, ja ne toimivat vain juuri oikeasta paikasta. Amigan oma tiedostojärjestelmä latautuu SDK:n tapauksessa Linuxin käynnistyshakemiston päälle. Täten ko. hakemiston sisältö ja alihakemistot ovat käytettävissä Amigalta, ja sinne tallentuvat myös Amigan tiedostojärjestelmään tallennetut muutokset.

Ohjelmien käynnistystapa oli perinteiseen Amiga-tapaan tottuneelle hieman erikoinen. Ajettavat tiedostot on nimetty .00-päätteellä, esim. boing.00, mutta ne käynnistetään ilman tuota päätettä - hieman kuten Windows/MS-DOS-ympäristössä EXE-päätettä ei tarvitse antaa. Erikoisen päätteen merkitys paljastuu arkkitehtuuria tutkiskeltaessa: 00 ilmaisee koodin olevan virtuaaliprosessorin koodia, kun taas jokin suurempi numero ilmaisi ohjelmakomponentista löytyvän myös prosessorinatiivin version, jota järjestelmä automaattisesti käyttäisi ao. prosessorilla. Esimerkiksi pääte .24 tarkoittaisi Pentium II:lle optimoitua koodia.

Itse asiassa Taon tarjoaman pohjakerroksen tapa käsitellä ohjelmakomponentteja on sangen elegantti: siinä missä normaalisti esimerkiksi ohjelman luokka ladataan muistiin, se ladataan kokonaan riippumatta siitä, kuinka suurta osaa siitä käytetään. (Amigalta esitettiin 80-20-sääntöä: yleensä luokasta käytetään vain 20% ja 80% ladataan muistiin ihan turhaan.) Uusi Amiga paloittelee kaikki ohjelmakomponentit työkaluiksi (tools), joita sitten ladataan vain tarpeen mukaan. Ja koska jokaisesta työkalusta voi olla virtuaaliprosessoriversion lisäksi natiivi prosessori/lisälaitekohtainen versio, voidaan nopeutta hioa hyvin yksityiskohtaisella tasolla mutta taata silti perusyhteensopivuus kaikkien laitteiden kanssa.

Ohjelmointiympäristöt
Vaikka Amiga SDK on ensikurkistus uuden Amigan sielunelämään ja sellaisenaan mielenkiintoinen kiertoajelu ihan Amigasta yleensäkin kiinnostuneelle, sekä hyödyllinen teknologiaesittely asiaan vihkiytyneille, niin ohjelmointiinhan se kuitenkin ensisijaisesti on tarkoitettu. Vaikka työkalut ja ympäristö ovat vielä pohjamutia lukuunottamatta hyvin keskeneräisiä, tällä paketilla ja sen seuraajilla on tarkoitus taata, ettei seuraavan sukupolven Amiga ilmesty markkinoille ilman runsasta ohjelmistotukea.

Kuten edellä jo ohimennen mainittiin, kehitystyökalut jakautuvat kolmeen ryhmään: C/C++ -kääntäjä perinteisten ohjelmien porttaamiseen ja yleiseen kehitystyöhön, Java-ympäristö Java-pohjaiseen laitteistoriippumattomaan ohjelmointiin ja VP-assembleri virtuaaliprosessorin pilkuntarkkaan ja nopeaan viilaamiseen. Modernit, integroidut ohjelmointiympäristöt ovat vasta työn alla, mutta hardcore-kooderi ja Unix-guru tuntee olonsa varmasti kotoisaksi.

C/C++ -ympäristö perustuu GNU:n GCC-projektiin ja tuottaa virtuaaliprosessorin assemblerin ymmärtämää koodia, joka sitten käännetään virtuaalibinääriksi. Ainoa ongelma tässä on, että koko C/C++ -ohjelma kääntyy vakiona yhdeksi edellä mainituksi työkaluksi, joten parasta mahdollista järjestelmän tarjoamaa nopeusetua ei suoraan saavuteta. Ongelma voidaan kuitenkin ratkaista tekemällä itse C/C++:lla uusia työkaluja. Tarjolla on myös yli 6500 valmista työkalua, mm. ANSI/C-kutsut. C/C++ -koodin sekaan voi toki ympätä myös assembleria - menetelmä, joka lienee monille Classic Amiga -kooderillekin sangen tuttu.

Java-ympäristö on Taon kehittämä ja tukee edellä mainittua työkalumallia siten, että kaikista metodeista tehdään omia työkalujaan. Tämä lienee yksi perustavanlaatuinen syy siihen, että Java-koodi todellakin pyörii järjestelmällä sangen vikkelästi. Komentorivipohjainen Java-kääntäjä on syntaksiltaan identtinen Sunin SDK:n kanssa, joten perinteisillä Java-työkaluilla ohjelmoineet pääsevät alkuun ilman sen suurempaa ihmettelyä. Mukana on myös oma versio Applet Vieweristä.

Kolmantena kehitysympäristönä on virtuaaliprosessorin VP-nimellä kulkevaa assembler-kieltä ymmärtävä kääntäjä. VP:llä voidaan rakentaa uusia työkaluja esimerkiksi C-ohjelmien käyttöön tai sillä voidaan tehdä kokonaisia ohjelmia, joista SDK:n mukana toimitetaankin muutamia esimerkkejä.

Käyttöympäristöksi SDK:n mukana tarjotaan uutta Amiga Shelliä, joka on toiminnallisesti Unixin zsh:ta vastaava. Ohjelmien käynnistämistä varten "työpöydällä" on lisäksi Windowsin Käynnistä-valikon (Start) yksinkertainen vastine. Tekstieditoreiksi tarjotaan komentorivi-ediä sekä Emacs-tyylistä Jovea. Tietysti koodia voi vääntää Linux-puolella millä tahansa editorilla.

Mitä SDK:lla sitten voi tehdä?
Selkeästä ja avoimesti myönnetystä keskeneräisyydestään huolimatta Amiga Software Development Kit 1.0 osoittautui ehdottomasti postiiviseksi kokemukseksi. Virtuaaliprosessori ja AVE ovat jo siinä vaiheessa, että ohjelmoinnissa pääsee hyvään alkuun, ja järjestelmän uudet käsitteet kuten työkalut tulevat tutuiksi. Toisaalta jos haluaa olla etunenässä kokeilemassa uudelle Amigalla kehiteltyjä ohjelmia, on SDK toistaiseksi ainoa tapa.

Internetiin onkin jo ilmestynyt useita ohjelmia, joita SDK:lla on parsittu kasaan. Seuraamme Suomen Amiga-käyttäjät ry:n kotisivuilla uuden Amigan orastavaa ilmaisohjelmatarjontaa kokeiluluontoisesti vuoden loppuun saakka viikon namupalojen muodossa. Esittelemme siis joka viikko yhden Amiga SDK:lla kehitetyn ilmaisohjelman osoitteessa http://batman.jytol.fi/~saku/ tai http://tzimmola.tky.hut.fi/saku/.

Amiga SDK:n mukana tulee myös Intentin J-Engine, erittäin nopea Java-virtuaalikone, jolla sopii pyöritellä Java-sovelluksia ja -sovelmia lupausten mukaan kiitettävällä nopeudella. Amiga onkin mukana devicetop.com-portaalihankkeessa, joka tarjoaa levityskanavia ja foorumeita Java-ohjelmille ja -ohjelmoinnille. Amiga SDK:sta pitäisi siis Java-ohjelmienkin saada uutta potkua. Muutamat kokeilut sovelmien (applet) kanssa tuottivat tosin lähinnä harmaita hiuksia: ne eivät suostuneet käynnistymään.

Mainittakoon lopuksi vielä Amigan jo useita kertoja ilmoittama virhe SDK:n lisenssiehdoissa: Amigalle ei tarvitse maksaa rojalteja ohjelmien tekemisestä tai myynnistä, vaikka lisenssiehdoissa näin virheellisesti sanotaankin. Sen sijaan Amiga tulee aikanaan tarjoamaan vapaaehtoista, maksullista "Amigan tukema ohjelma" -markkinointikampanjaa. Vastaaviahan on Microsoftilla ja monilla muilla, tosin Amiga lupailee ehtojensa olevan reilumpia. Korjattu lisenssiteksti löytyy osoitteesta: http://www.amigadev.net/index.php?sid=&subpage=home&function=legal

Nimien taikaa
Joka tapauksessa toivoa sopii, että lopullisen uuden AmigaOS:n (tai miksi sitä sitten kutsutaankaan) ilmestyessä teknologian ja tuotemerkkien nimeäminen on kiinnitetty ja yhtenäistetty. Pää menee pyörälle jo pelkästä nimilistojen tavailusta, kun Taolla on tuotteilleen monta, osin päällekkäistä nimeä, Amigalla on samoille nimille synonyymit, ja sitten on vielä joukko uusia ja vanhoja tuotenimiä.

Yritetään vielä kerran saada jotain selkoa tästä: Uusi Amigan käyttöjärjestelmä ja sen ympäröimä digitaalisen tiedon ja saumattoman laitteiston yhteispelin nimi on Amiga DE eli Amiga Digital Environment, koodinimeltään Ami, joka lausutaan Amie. Amiga DE:n pohjalla laitteiston päällä on Amiga Foundation Layer eli Tao Groupin Intent Java Technology Edition, joka siis sisältää Intent-kirjastot (jotka sisältävät J-Engine-Java-virtuaalikoneen) ja Elate-reaaliaikakäyttöjärjestelmän.

Osa Amiga Foundation Layeria (AFL) on AVE eli Audio Visual Environment eli Amiga Multimedia Toolkit, ja Amiga kehittää uusia osia tähän kerrokseen, mm. AOM eli Amiga Object Model. BOOPS taas on Classic Amigalta portattujen BOOPSI-käyttöliittymäkirjastojen koodinimi. AFL:n päällä on Amiverse Layer, lyhyesti vain Amiverse, eli digitaalisen tiedon kerros, joka on Amiga DE -piirakan täysin laitteistosta ja tiedon teknisestä luonteesta piittaamaton digitaalisen informaation leikkikenttäkerros.

AmigaOne sitten on ensi vuoden ensimmäisellä neljänneksellä julkaistava Amiga DE:hen perustuva tietokone. Ja Amiga SDK (Software Development Kit), kuten lienee jo selvää, on tämän nimihässäkän ohjelmistojen tämänhetkinen kehitysympäristö. d'Amiga taas on SDK:ta varten kerätyn spesifikaation mukaan rakennettu Linux-PC, joka sisältää SDK:n.

Nimitystä AmigaOS ei uudesta Amiga-käyttöjärjestelmästä kenties käytetä lainkaan. Myös Gatewayn ajoilta tuttua AmigaOE-nimitystä (Operating Environment) on väläytelty erinäisissä foorumeissa, mutta Amiga DE lienee sen korvaava ilmaus.

Kysyttävää?

Linkkivinkkejä
Epäviralliselta Amiga SDK -sivustolta löydät paljon lisätietoa, linkkejä, yms.: http://www.amigasdk.com

Amigan virallinen Amiga World -lehtinen valottaa taustoja muutaman kuukauden välein:
http://www.amiga.com/press/zine/

IBM DeveloperWorksin Amiga SDK -artikkeli kertoo yksityiskohtia ja auttaa asennuksessa:
http://www-4.ibm.com/software/developer/library/amiga2/index.html?dwzone=linux

Open Amiga -postituslista on keskustelufoorumi uudesta Amigasta kiinnostuneille:
sähköpostia osoitteeseen open-request@amiga.com, viestiin sana subscribe

Myös devicetop.comin Amiga-foorumit sisältävät keskustelua Amiga SDK:sta:
http://www.devicetop.com/dt/main

Valmiita vastauksia erinäisiin SDK:ta koskeviin kysymyksiin löytyy Amigan FAQ:sta:
http://www.amiga.com/faq.html

Erityisen hyödyllinen poiminta SDK:n FAQ:sta sisältää ohjekirjan virheiden korjauksia:
http://www.amiga.com/cgi-bin/fom.cgi?file=54&step=mainMenu

Amiga SDK:n tuotekuvaus:
http://www.amiga.com/products/SDK.shtml

Amigan virallinen developer-sivusto tarjoaa SDK:n omistajille tukea ja ohjelmia:
http://www.amigadev.net

Tao Group, uuden AmigaOS:n perustan luojat löytyvät osoitteesta:
http://www.tao-group.com

Valmistaja: Amiga Inc.
Edustaja: Gentle Eye Ky, puh. (03) 363 0048, ge@vip.fi
Hinta: 850 markkaa
Testattu: Testattu: AMD K6-2 333 MHz, RedHat Linux 6.2, 128 Mt muistia, 47 Gt kiintolevytilaa, Creative Labs Graphics Blaster Riva TNT -näytönohjain, D-Link DE-528CT-verkkokortti, Nokia Multigraph 449M -näyttö.

[ Testit ] [ Sivukartta ]