Posts filed under 'softat'
Hyödyllisemmän tekemisen sijasta virittelin tänään eMacin Mac-on-Linuxiin Mac OS 9:n. Siinä missä OS X jotenkin toimi, ainakin sinne päin ja hieman hitaasti, niin vanhempi käyttisversio on puolestaan lähes 100% aito kokemus. Kaikki lähti toimimaan helposti, mitä nyt piti vaihtaa paikasta /usr/share/mol/config/molrc.post openbios muotoon of. Olin jo aiemmin tehnyt grafiikkatilat OS X:ää varten ja samat toimivat tuossakin heti. 16-bittisen grafiikkatilan bitit ovat jotenkin väärin, mutta miljoonilla väreillä — joita muutenkin tulisi käytettyä — en huomannut mitään ongelmia. Viimeinen kompastuskivi oli äänien puuttuminen, mutta MOLAudion asentamalla ja ulostulon valitsemalla sekin ratkesi. Ctrl-alt-F7/F8 vaihtaa näppärästi Linuxin ja OS 9:n välillä.
Kokonaan toinen kysymys onkin, tekeekö käyttiksellä enää mitään edes lelumielessä. Puutelistalla ovat mm. aito moniajo, muistinsuojaus ja komentorivi. Jotkin vanhat ohjelmat kuten Photoshop tai Freehand saattaisivat olla vielä käyttökelpoisia, mutta esim. www-selaimet ovat jo ikävästi ammoisia versioita. Tuorein löytämäni oli iCab, joka on kuitenkin shareware eikä muutenkaan ihan kaikessa pärjää tuoreille selaimille. Sillä kuitenkin sain luvan pärjäillä. Paljon huonompi kokemus olikin sitten C/C++-kehitysympäristö Macintosh Programmer’s Workshop (MPW), jolla yrittelin epäonnistuneesti kääntää edes yksinkertaista SDL-testiohjelmaa. Linkkaus ei tunnu menevän millään läpi ja koko ympäristö on logiikaltaan varsin häiriintynyt; sieltä terminaalin ja graafisen käyttöliittymän välimaastosta, molempien huonoja puolia keräillen. Esim. make-komento ei suinkaan käännä mitään, vaan pelkästään tulostaa komennot ruudulle. Käskyn antamiseksi ei riitä enter, vaan tarvitaan omppu-enter jne. jne. Tuosta on aikanaan pyydetty jopa ihan rahaa, nykyään MPW:n voi ladata ilmaiseksi.
edit: nyt meni kyllä lopullisesti käämit tuon MPW:n kanssa. Kun rupesin saamaan Makefilet kuntoon, niin seuraavaksi tuli näpeille kääntäjän rajoitusten suunnasta. Merkkijonon maksimikoko on 16 kilotavua ja vaikka annoin ohjelmalle gigan muistia käyttöön se ei pystynyt kääntämään edes nuhaista seitsemän megan C-tiedostoa.
April 3rd, 2009
Qemu ei jaksa ja VirtualBox ei tahdo, joten koitin sitten kolmatta vaihtoehtoa. Sopivan buutti-cd:n valitsemalla BeOS 5 PE Max Edition lähtikin käyntiin VMWare Playerin alta Linuxissa. Ensinnä yrittelin Server-versiolla, mutta se ei tahtonut toimia Debian Testingissä millään kohtuullisella säätämisellä. Playerillähän ei voi tehdä virtuaalikoneita eikä levytiedostoja, mutta netistä löytyi apu helposti: EasyVMX:llä täytetään webbilomake ja se luo lennossa zipin, jossa on kaikki tarpeellinen. Äänet kakovat hieman tässäkin, mutta se saattaa johtua tuosta kurjasta usb-äänikalikasta ja ALSAsta. Grafiikkatila tuli kauniisti VMWarelta ja sain BeOSin koko ruudulle natiivilla 1280×800-tarkkuudella. Näppäimistö vähän sinne päin, mutta riitti perussetin porttaamiseen ja testaamiseen. Virtuaalinen verkkokortti toimi raivostuttavan huonosti (jostain syystä vmxnet-ajuri ei latautunut BeOSissa) ja niinpä jouduin pahimmillaan splittaamaan valmiit paketit megan palasiksi niiden lähettämiseksi verkon kautta. Scp ei edes yrittänyt toimia.
April 1st, 2009
Näyttää iskeneen pienehkö emuloinvillitys täällä. Viimeisimpiä yritelmiä ovat QNX, OS/2 ja BeOS. Kokeilemani QNX 6.3.2 ei toiminut VirtualBoxissa, mutta Qemuun se meni kohtuullisella säätämisellä ja lopulta toimivat jopa netti sekä äänet SoundBlaster 16:lla. Termcapissa oli jotain ongelmaa, joten jouduin sitten käyttämään inhottavasti vi:tä editointiin nanon sijasta. Qnxinstallista sain jokusen puuttuvan GNU-kilkkeen, GCC kumppaneineen tuli asennuksen mukana ja SDL suostui kääntymään sorsista. Niinpä porttasin muutaman vanhan produn kohtuullisen pienellä vaivalla. Täysin emuloitu kone on turhan hidas muuhun kuin leikkimiseen, mutta kaikkiaan käyttiksestä jäi positiivinen kuva ja joskus huvittaisi laittaa se oikeaankin koneeseen.
BeOSia kokeilin joskus 90-luvun lopulla, kun BeOS 5 PE julkaistiin ilmaisena. Sen jälkeen firma meni kanttu vei ja koko ohjelmisto jäi unohduksiin lukuun ottamatta joitakin harvoja innokkaita, jotka ovat edelleen jatkaneet 5 PE:n päivittämistä nykykoneilla toimivaksi nimellä BeOS Max. Vielä suurempaa innostusta osoittaa Haiku-hanke, jossa tehdään omaa BeOS-kloonia. Myöskään Max ei toiminut riittävästi VirtualBoxissa, joten Qemuun matka kävi. Sekään ei toiminut, ennen kuin poistin IDE-DMA:n käytöstä joka buutissa. Äänet sain jotenkin toimimaan SB16:n ja erikseen ladatun ajurin avulla, mutta nettiä en edes parin tunnin säätämisellä. Huonoa onnea näytti olleen muillakin googletuksen perusteella. Myöskään virtuaalisen kovalevyn jako ei toiminut, joten lopulta jouduin siirtämään tiedostoja äärimmäisen hankalasti cd-imagen avulla. GCC tuli mukana, SDL kääntyi suorilta ja muuta ei sitten porttaamiseen tarvittukaan. Liian hitaan emuloinnin takia meno oli kovin kakovaa, joten en vielä viitsinyt pistää ensimmäistä porttausta jakeluun ennen testaamista tehokkaammalla laitteella.
VirtualBoxilla oli huono päivä, mutta loppua kohden sentään koheneva: netistä “löytämäni” IBM:n OS/2 Warp 4.52 toimi sentään hyvin nettiä ja ääniä myöten. Virtualisoituna nopeuskin on aivan eri luokkaa kuin Qemun alla. Ainoana pikku kauneusvirheenä näppäimistö ei ole aivan 100% kohdallaan ja natiivia 1280×800-resoa ei tunnu saavan mitenkään helposti käyttöön. Asensin kokeeksi mm. Firefox 3:n ja kyllähän se toimi ihan flässejäkin myöten. Kahteen muuhun käyttikseen verrattuna OS/2 on veistetty täysin eri puusta: tuttujen Unix-tyylisten komentojen sijasta mennään DOS-linjoilla, mikä tarkoittaa käyttäjälle tuskallisen huonoa ja rajoittunutta komentotulkkia. Aika paljon Unix-ohjelmia on kyllä portattu, mutta kaikki tuntuu olevan enemmän ja vähemmän purkkaa. En saanut toistaiseksi edes kääntäjää toimimaan, mutta kaipa se siitä.
March 26th, 2009
Jo aiemmin Mäkillä kokeilemani VirtualBox sai tänään taas toimia lelutuksessa. Asensin kokeeksi sekä Debian Testingin että Windows XP:n. Windowsin asennus meni astetta helpommin — Linuxissa VirtualBoxin ajurien asennus ja äänet vaativat vähän virittämistä — mutta kummankaan kanssa ei ollut mitään merkittävää taistelua. XP toimii emuloituna myös inan sujuvammin, luultavasti johtuen lähinnä sen emulointiin kohdistetusta suuremmasta vaivasta. Suomalainen MacBookin näppäimistö toimii molemmissa yhtä lailla huonosti enkä jaksanut ruveta sen enempää sitä tonkimaan, koska kumpaakaan virtuaalikonetta tuskin tullaan käyttämään mihinkään oikeasti. Hiiren rullan toiminnassa olisi niin ikään hivenen parantamisen varaa, VirtualBoxin valikko hyppii silmille vierittäessä.
Päivän toisena emulointiprojektina oli XP:n asennus eMacin PPC-Linuxiin Qemun alle. Savotta kesti kahdeksan tuntia, mutta meni sentään vasten kaikkia odotuksia läpi. Lopputuloksessa ei juuri ole kehumista: nopeus on käyttökelvottoman hidas ja verkkoa en jaksanut edes yrittää toimimaan. Omaa kieroa tyydytystään tuosta sentään kenties sai, kun ikivanha risa kone ajaa täysin toisen arkkitehtuurin käyttistä ja ohjelmia.
March 21st, 2009
Emulointia on tullut nyt kokeiltua jo monella saralla ja tänään tuli yksi sulka hattuun lisää: asensin lopultakin Mac-on-Linuxin eMaciin. Asennus meni yllättävän helposti ja MOL buuttasi omatoimisesti toisella osiolla olleen 10.4:n. eMacin 3D-kiihdytys on rikki, joten käyttöliittymä oli itse asiassa nopeampi Linuxin alta ajettuna. Pienen testailun perusteella kaikki toimi hyvin, lukuun ottamatta joitakin erikoisnäppäimiä kuten äänensäätö ja eject. iTunes soitti musiikkia pätkimättä ja ohjelmat lähtivät käyntiin normaalisti. Näytön kuva oli jotenkin sininen, mutta sen voi ilmeisesti säätää normaaliksi kalibroimalla OS X:n puolella. Video-overlay ei toiminut (en tiedä mistä kiikasti) ja 3D:lle ei ole lainkaan tukea, joten ihan mahdottomiin suorituksiin MOL ei veny. Suurin hyöty emulaattorista lieneekin eksoottisen PPC-raudan kuten Pegasoksen, AmigaOnen tai mahdollisesti IBM POWERin omistajille, jotka saavat käyttöönsä PPC-Macin ohjelmavalikoiman lähes natiiveilla nopeuksilla.
March 8th, 2009
Takavuosien valjujen kokemusten jälkeen en odottanut paljon, kun ryhdyin taas leikkimään Amiga-emulaattorien kanssa. Yllätyin kuitenkin positiivisesti laitettuani Richard Drummondin ylläpitämän E-UAE:n sekä MacBookiini OS X:n alle että eMacin PPC-Linuxiin. E-UAE on pitkään maatuneen UAE-projektin multiplattis työnjatkaja, johon on tuotu palasia aktiivisemmin kehittyneestä WinUAE:sta. Kukin saa toki tehdä avoimilla ohjelmilla mitä lystää, mutta tuo WinUAE-forkki ei pahemmin tuntunut hyödyttävän alkuperäistä projektia, vaan keskittyi ainoastaan yhteen alustaan. Tämänkertainen kokeiluni oli peräti osapuilleen laillinen, sillä omistan ihan aidotkin A500:n ja A1200:n käyttöjärjestelmineen 🙂
E-UAE:n asetustiedosto on hivenen kryptinen käsin puukotettavaksi, joten onneksi Linux-puolella siihen on kohtuullisen kattava graafinen käyttöliittymä valmiina ja Mäkillä puolestaan voi asentaa kätevän Hi-Toron, joka toimittaa samaa virkaa. Näistä kahdesta Hi-Toro on asteen laajempi ja sen ohjeissa oli selitetty hyvin kaikki säädöt. Käyttöliittymien avulla voi valita perusjutut kuten emuloitavan prosessorin, piirisarjan (OCS/ECS/AGA), muistimäärät, äänenlaadun ja levyasemat. Netistä löytyy ihan laillisestikin kaikenlaisia pelejä, itse käytin A500-testipenkkinä täältä löytynyttä BC Kidiä.
Intel-alustoilla E-UAE:ssa on peräti JIT-kääntäjä, joka tekee 68k-konekielen ajamisesta rivakkaa. Hitaalta se silti tuntui, mutta syynä oli ilmeisesti virransäästöön liittyvä Intel TSC, jonka poistamalla vauhti koheni reilusti. PPC-puolella JITiä ei ole, mutta A500 jaksoi pyöriä sittenkin aivan täysin ainakin BC Kidin perusteella. Jopa A1200 toimi joten kuten, tosin tässä Intel-koneessa sitten selvästi nopeammin.
Peruspiirisarjoista irtoaa vaisuja tarkkuuksia ja planaaritilat ovat väkisinkin tahmeita Workbenchissä. Joku oli tätäkin ajatellut ja tehnyt Picasso96:een tuen UAE:lle. UAE:n asetuksista tarvii laittaa lähinnä 32-bittinen osoitteisto päälle, RTG fullscreen ja lisää grafiikkamuistia eikä juuri muuta. Vielä kun päivittää rtg.libraryn WinUAE:n mukana tulevaan versioon, niin saakin jo natiivit tarkkuudet käyttöön. Hiiren hyppimiseen auttaa niin ikään WinUAE:n mukana tuleva apuohjelma p96refresh, jolla saa nopean ja tasaisen päivityksen. Linuxin puolella näppäimistö toimi suoraan riittävästi, mutta Hi-Torossa vaadittiin raw key mapping päälle. Lopulta kasassa oli tehokas virtuaalinen AGA-Amiga kovalevyllä, 40 megan muistilla ja läppärin aidolla 1280×800-tarkkuudella höystettynä.
February 25th, 2009
Jonkun vuoden välein tulee aina palauttua klassisen jumalapeli Populousin äärelle. Viimeksi jämähdin johonkin kentän 200 tienoille, mutta tällä kertaa väänsin pelin väkisin läpi eli kentän 494 loppuun. Kaikkia noista kentistä en pelannut, sillä riittävästi pisteitä saamalla harppaa aina muutaman, mutta hävittyjen matsien jälkeen toisaalta oli yritettävä samaa kenttää uusiksi, joten parisataa ottelua ei varmaankaan riittänyt. Melkoinen urakka, joka koetteli sekä hermoja että jännetuppia.
Itse pelihän on peräisin niinkin kaukaa kuin vuodelta 1989, jolloin Bullfrog sen julkaisi. Suurin kunnia pelistä menee yleensä Peter Molyneuxille, joka jatko-osien lisäksi teki vuosia myöhemmin myös samantyylisen Black and Whiten. Itse kokeilin Populous: The Beginningiä PlayStationilla, mutta ei se pitkään kiinnostanut. Menestynyt ja omaperäinen tuote synnytti pian klooneja, kuten Mega Lo Mania ja Settlers. Populousin kaikuja on nähtävissä vielä paljon myöhemmissäkin reaaliaikastrategioissa. Itse pelasin nyt DOS-versiota DOSBoxin avulla, mutta versioita oli toki monelle muullekin laitteelle kuten Amigalle tai Atari ST:lle. DOS-version kaksinpelikin toimii emulaattorissa kohtuullisesti, kunhan vaan saa viritettyä virtuaalimodeemin toimintaan verkon yli.
Jotain Populousissa on tehty oikein, kun jaksoin noinkin monta tuntia sen äärellä tuhrata. Pikku-ukkojen liikutteli näytti serkun Amigalla joskus ’90 hyvin mielenkiintoiselta ja sitä se on edelleen. Vaikeustaso on tiukka paikoitellen — yllättävää kyllä pahimmat kentät eivät ole ihan lopussa — mutta sopivan törkeän strategian keksimällä pääsee lopulta eteenpäin, vaikka välillä voi olla sekunneista kiinni. Usein otteluissa voi tulla puolikin tuntia lujasti takkiin aluksi, mistä huolimatta tekoälyn ja pelilogiikan heikkouksia hyödyntämällä voiton voi vielä viedä kotiin. Voisin kirjoitella strategiasta paljonkin, mutta riittäköön tämä tästä.

February 22nd, 2009
Tuttua tietotekniikan historiaa lienee se, kuinka IBM hölmöili sekä 80- että 90-luvulla moneen kertaan (mm. MS-DOSin ja OS/2:n kanssa) ja käytännössä lahjoitti käyttöjärjestelmämonopolin Microsoftille, joka sitten onkin pitänyt sitä hallussaan jo parisenkymmentä vuotta. Tällainen status quo kun pääsee syntymään, niin tarvitaan luultavasti suuri paradigman muutos, ennen kuin se murtuu. Vastaavasti IBM oli aikanaan rautainen monopoli, kunnes mikrotietokoneiden vallankumous ja PC-kloonit kampittivat jättiläisen.
Havainnollistavana esimerkkinä Microsoftin totaalisesta vallasta käsiteltäköön tällä erää Windows Vistaa. Edeltäjäänsä selvästi hitaampi ja raskaampi käyttöjärjestelmä tuotiin markkinoille pitkällisen hypen ja mainostuksen saattelemana, mutta loppujen viimeksi harva kuluttaja sitä edes halusi erikseen ostaa. Yrityksetkin ovat jääneet odottavalle kannalle, peläten yhteensopivuusongelmia ja laitteistopäivitysrumbaa. Suuressa osassa Aasiaa piratismi on edelleen lähes kontrolloimatonta, joten myynti on esim. Kiinassa ollut heikkoa. Onko Firma siis vaikeuksissa?
Ehei. Vista-lisenssejähän myydään täyttä häkää koko ajan ja rahavirta ei katkea. XP:tä kun eivät enää saa koneisiinsa laittaa kuin isot toimijat erioikeudella (esim. HP) ja jokaisen konepaketin mukana täytyy toimittaa käyttöjärjestelmä, joten käytännössä jokaisen PC:n mukana myydään myös Vista. Käytännön tasolla Vistaa päivitetään takaisin XP:ksi, mutta sehän ei näy myyntiluvuissa. Eli loppujen viimeksi: markkinoille voidaan monopolin turvin tunkea aivan mitä hyvänsä eikä siihen ole todellisten kilpailijoiden puuttuessa kenelläkään mitään sanottavaa. Mac OS X on saatavilla vain Applen koneisiin eikä niihin Markantalon Assereihin, puhumattakaan konservatiivisesta yritysympäristöstä ja Linux-sektori puolestaan kärsii hajaannuksesta sekä kaupallisen ohjelmistotuen niukkuudesta. Piratismikin toimii valitettavasti lopulta monopolin eduksi, kun tuotteille koulutetaan uskollisia käyttäjiä.
Mikä sitten on se seuraava paradigmamuutos, joka kampeaa Firman vallankahvasta? Tällä hetkellä lupaava kehityssuunta ovat entistä tehokkaammat puhelimet, kuten Nokiat ja iPhone, joiden uumenista löytyy Symbian tai OS X. Pikkuläppäreissä Linuxilla on keveytensä, hintansa ja muokattavuutensa vuoksi jalansijaa, mutta Windows XP on vahvoilla niissäkin. Laitteisto- ja alustariippumattomien selainpohjaisten sovellusten kuten Google Docsin kehitys ei näytä laantumisen merkkejä ja saattaa ajan myötä johtaa käyttöjärjestelmän merkityksen vähenemiseen ja koko PC-konseptin romuttumiseen. Redmondissa seuraillaan kehitystä varmasti tarkkaan, joten helpolla mikään muutos ei tule tapahtumaan: kilpailijoita on torpattu ennenkin keinoja kaihtamatta (DR-DOS, OS/2, Netscape, SCO:n rahoittaminen Linux-oikeusjutuissa jne.).
January 22nd, 2009
Viime päivät olen kahlannut läpi aina tilaisuuden tullen Steven Johnsonin kirjaa Interface Culture. Ei mikään merkkiteos sinänsä, mutta on siitä saanut joitakin uusia näkökulmia käyttöliittymien historiaan. Luku 5, Text, pisti miettimään omaa tekstinkäsittelyn historiaa, joka on kulkenut jokseenkin ristiriitaisia polkuja.
Kasibittisten aikaan tietokoneilla ei vielä paljon kirjoiteltu, mutta sitten ensimmäisen PC:ni myötä sekin tuli tutuksi. Tuossa vaiheessa en nähnyt mitään eroa editorien ja tekstinkäsittelyohjelmien välillä — eikä rajanveto mikään dramaattinen ollutkaan vielä 90-luvun alussa. Nopea ja sujuva Qedit toimitti vuosikaudet molempia virkoja ja vaikka kesätöissä käytinkin jonkin verran WordPerfectiä (aikansa de facto -standardi), niin sekin tuntui lähinnä kömpelöltä ja täysin turhalta omaan käyttöön. 80×25 merkkiä tasalevyisellä fontilla, muulle ei ollut juuri tarvetta. Niin syvälle Qedit iskostui aivoihin, että teen käyttämiini Unix-järjestelmiin edelleen aliaksen “q”, joka käynnistää tekstieditorin.
Opiskelujen myötä alkoi lopulta tulla tarve tehdä erilaisia raportteja ja liittää niihin kuvia. 90-luvun kallistuessa loppupuolelleen tekstinkäsittely oli jo erkaantunut kauas ohjelmointikielten editoreista ja ohjelmat olivat graafisia. WordPerfectillä tyrittiin tässä vaihdoksessa ja niinpä The Firma pääsi kaappaamaan markkinat tyystin omalla tuotteellaan. Muistan myös AmiPron olleen hetken mukana kilpakumppanina. Itse Linux-käyttäjänä etsiskelin vaihtoehtoja, mutta ne olivat vielä tuolloin varsin heikkoja: WordPerfectistä ja StarOfficesta oli Linux-versiot, mutta ne olivat lähes käyttökelvottomia lukuisien virheidensä takia.
Muotoiluun — aivan liikaakin — keskittyneiden graafisten tekstinkäsittelyohjelmien rinnalla on elänyt myös rakenteisten dokumenttien perinne. Ohjelmilla kuten troff ja nroff on tehty tekstinkäsittelyä markup-koodia kirjoittaen jo 70-luvulla. Uudempia tulokkaita perheeseen ovat tunnetummat TeX ja HTML eri variantteineen. Ideana näissä kaikissa on kirjoittaa mitä osia tekstissä on ja jättää muotoilu ohjelman huoleksi. Tekstieditorien pikkutarkkaan kontrolliin tottuneelle tämä oli uusi ja täysin vastakkainen ajatus. Joitakin harkkatöitä 2000-luvun alussa kirjoitin itse asiassa HTML-koodina, koska sitä oli helppo muokata missä hyvänsä ilman tarvetta sen erikoisemmille ohjelmille kuin selaimelle.
Editorin toimintalogiikasta ei ollut helppoa päästä irti ja sitäkin vaikeammaksi muutoksen tekivät Linuxin taannoiset huonot toimisto-ohjelmat. Onneksi törmäsin 90-luvun lopulla puolivahingossa LyXiin, joka on graafinen liittymä LaTeX-taittojärjestelmään. Ohjelman lähtökohta on sama kuin muissakin rakenteisissa dokumenteissa. Suurin ero on siinä, että HTML ja LaTeX vaativat paljon avainsanojen muistamista ja ulkoaopettelua, kun taas LyX tarjoaa samat edut (automaattinen siisti muotoilu, sisältöön keskittyminen) helpommin omaksuttavassa graafisessa muodossa. Tieteellisen tekstin tuottamiseen työkalu sopii erityisen hyvin, joten päädyin kirjoittamaan mm. molemmat lopputyöni juurikin LyXillä.
Uutena mielenkiintoisena tulokkaana listalla on Google Docs, joka mahdollistaa kirjoittamisen selaimen kautta. Vaikka tekstinkäsittelyn näkökulmasta ohjelma onkin vielä karu, HTML-perustainen ja jatkuvaan muotoiluun pakottava, on sillä kuitenkin kaksi kiistämätöntä etua puolellaan: tekstiä voi muokata mistä hyvänsä (tiedostot tallentuvat Googlen palvelimille) ja useampi kirjoittaja voi osallistua prosessiin samaan aikaan. Parin vuoden kokemuksen perusteella konsepti toimii riittävän hyvin, joskin viimeinen silaus on edelleen tarpeen tehdä muissa ohjelmissa. Raakatekstin tuottamiseen ja muistiinpanoille kuitenkin jo oivallinen.
December 19th, 2008
Keväästä lähtien olen jälleen palaillut ohjelmoinnin äärelle ja erityisesti siirtänyt ohjelmia uusille alustoille. Innostus lähti GP2X:n hankinnasta ja sivutuotteena syntyi sitten porttauksia myös Dreamcastille. Kesän aluksi ostin eBaystä — vuosien jahkailun jälkeen — myös GP32:n, joka oli jo vanha tuttu, kaverilta aikanaan lainassa. Aika hirveä laite oikeastaan, mutta aikanaan avoimuutensa vuoksi vallankumouksellinen ja GP2X:n ja sitä kautta myös Pandoran henkinen esi-isä. Lisäväriä laitekirjoon toivat vielä laina-N800 (Maemo) ja viime viikolla hankkimani Sony PSP.
Takavuosien konsolit ja tietokoneet olivat sikäli hitaita ja rajoittuneita laitteita, että laitteistoa täytyi ohjelmoida suoraan konekielellä. Tätä nykyä puhelimissakin on jo 32-bittiset suorittimet, useampi sata megahertsiä ja grafiikkakiihdytys. Pelkän tehojen siunailun sijasta on kuitenkin hyödyllisempää miettiä, mihin tämä on johtanut. Kielet ovat vaihtuneet assemblerista C/C++:aan ja vielä korkeammallekin tasolle, kuten Javaan ja Pythoniin. Suorittimien monimutkaistumisen ja kääntäjien tehostumisen myötä käsin optimointi on vaikeutunut ja myös muuttunut suurelta osin tarpeettomaksi. Abstraktion määrä on kasvanut, joten raudan erikoispiirteillä on enää verrattain vähän merkitystä: ajurit ja rajapinnat piilottavat alleen tarpeettomat yksityiskohdat. Uudelleenkäytettävyys on parantunut, kun hyvin kirjoitettua koodia voi sinältään käyttää hyvinkin erilaisilla alustoilla.
Itse olen kiinnostunut reaaliaikaisesta grafiikasta, jossa C:n kaltaisille kielille on vielä tarvetta tehokkuuden nimissä. Itse C-standardi ei sisällä mitään grafiikkaan liittyvää, joten ruudunpiirto ym. on toteutettava kirjastoja käyttämällä. Tällä hetkellä universaalein näistä on SDL, josta on versioita kymmenille eri alustoille. Kokemus on kuitenkin osoittanut, että kun mennään Linux-Mac-Windows-valtavirran ulkopuolelle, toteutukset voivat olla hyvinkin rajoittuneita ja suorastaan virheellisiä. Tyypillisiä rajoituksia ovat vaikkapa kiinteä ruututila/värisyvyys, hitaus ja huonosti toimivat ajastimet. Lähes jokaisella yllämainituista laitteista on ollut käytännössä pakko tehdä omia viritelmiä suoraan alustan omia rajapintoja tai rautaa käyttämällä.
Kääntäjien osalta ilmainen GCC (GNU Compiler Collection) on hiljalleen vallannut yhä suuremman jalansijan. Aiemmin oli vielä tyypillistä, että esim. sulautetuille laitteille oli omat kaupalliset kääntäjänsä, mutta sittemmin GCC:stä on tullut alustasta riippuen arkipäiväinen tai jopa ainoa vaihtoehto ammattikäytössäkin. Esimerkiksi Applen Xcode käyttää sisuksissaan GCC:tä. Harrastusprojekteissa, kuten vaikkapa noiden käsikonsolien kanssa, tilanne on suorastaan yksipuolinen, sillä jokaiselle mainituista laitteista ohjelmoidaan aivan samoja työkaluja käyttäen (gcc+make+binutils). Avainsana on ristiinkääntö: kun kääntäjään lisätään tuki uudelle alustalle, mahdollistaa se heti sille kehittämisen lähes missä hyvänsä eksoottisessa ympäristössä. Kaupallisesta kannattavuudesta kiinnostuneet yritykset eivät koskaan lähtisi samanlaiseen sirkukseen, mutta harrastajilla ei ole samanlaisia rajoitteita.
July 29th, 2008
Next Posts
Previous Posts