Posts filed under 'softat'

Lisäkokemuksia emulaattoreista

Viikon-parin emulaattorikikkailu PPC-Linuxissa on tuonut aiheeseen mukavasti lisää näkemystä. Useimmat alustat alkavat olla jo varsin käyttökelpoisia nopeudeltaan ja pyörivät jopa koko ruudulla postimerkin kokoisen ikkunan sijaan. Aloitetaan kuitenkin huonoilla uutisilla:

  • Mac-on-Linux on rikki. Jossain vaiheessa Linuxiin on tullut sellaisia muutoksia, että vanhat koodit eivät enää toimi. SheepShaver on sekin hajonnut samalla tavoin eikä korjausta ole näköpiirissä. Mac OS 9:n emuloinnin voi siis unohtaa, mikä ei kylläkään ole iso menetys.
  • E-UAE riittää A500:n emulointiin aika mukavasti ja jaksaa useimmiten jopa piirtää joka framen. Fullscreen vaatii kikkailua, ks. ruutumoodien teko alla. Tärkeitä .uaerc:n asetuksia lowres-peleille ja -demoille (koneesta riippuvia):
    • gfx_width=360
    • gfx_height=286
    • gfx_width_fullscreen=424
    • gfx_height_fullscreen=286
    • gfx_lores=true
    • gfx_linemode=none
    • gfx_correct_aspect=false
  • MAME futaa sekin hyvin. Laitoin itse frontendiksi kxmamen, joka säästi jonkun verran hermoja. Fullscreen-kikkailun vaatii tämäkin ja perfektionisti säätäisi vielä pelikohtaisesti moodin tai pari lisää.
  • SNES9x on lämmennyt käytössä ja suostuu nyt jo vaikka mihin. Fullscreen tulee sen kummemmin säätämättä, jos vain skaalausvaihtoehdoksi laittaa Xvideon. Jos video-overlay ei koneessa toimi, niin allaoleva fullscreen-jekku kohentaa kokemusta joka tapauksessa. Hitaalla koneella on tärkeää ottaa äänen synkronointi pois asetuksista.
  • VICE hyötyy sekin ruutumoodien tekemisestä. Nopeinta fullscreeniä varten pikselien ohjelmallinen tuplaus pois päältä. Näyttömoodin vaihtamiseen kannattanee valita menusta Xrandr.
  • OpenMSX:n koko ruutu oli tällä koneella jo muutenkin riittävän nopea, joten varsinaista hyötyä matalammasta tarkkuudesta ei ollut. Hitaammalla laitteella hyödyttää set scale_factor 1 (komentoja pääsee antamaan painamalla F10), jonka päälle vielä save_settings.
  • Hatari nauttii sekin matalammasta tarkkuudesta, kun pikselien tuplausta ei tarvitse tehdä ohjelmallisesti. Aidomman tuntuman sai vielä, kun viritteli hieman pystyvenähtäneen moodin (ST:ssä ei ole neliöpikselit). Nopeutusta saa hitaalla koneella poistamalla borderit käytöstä.

Ja sitten se matalan tarkkuuden tilojen tekeminen helposti: tämän ohjeen perusteella ei pitäisi olla liian haastavaa. Komento gtf tuottaa kauniita modelinejä, joita voi kokeilla xrandr:llä ennen kuin niitä laittaa xorg.confiin. Olin totaalisen hämmästynyt, kun PowerBookin sisäinen näyttö tuntui kelpuuttavan melkein minkä hyvänsä satunnaisen 60 Hz tilan. Nyt on pelikäyttöön 424×286, eli suunnilleen kolminkertaiseksi venytetyt pikselit (näytön oma tarkkuus on 1280×854). Pehmeää vieritystä yritin saada aikaan 50 Hz tiloilla, mutta ne eivät tuntuneet asiaan vaikuttavan.

Viritellessä kannattaa muistaa se, että jos emulaattori tukee Xvideota, niin pienemmän reson käyttämisestä ei ole kuin haittaa, sillä video-overlayn tekemä skaalaus osuu huonommin pikseleihin. On myös hyvä sovitella matalia tarkkuuksia maksimitarkkuuden puolikkaiksi tai kolmanneksiksi, etteivät pikselit venähtele epätasaisesti. Kaikkein rumimman lopputuloksen saa silloin, kun näyttö skaalaa grafiikan huonosti, jonka päälle emulaattori tekee vielä oman skaalauksensa.

Add comment February 24th, 2011

Emulaattorit ja PPC-Linux

Tulipa kokeiltua emulaattoreitakin kaiken muun ohella. Laatu vaihtelee hyvästä huonoon ja fullscreen on monestikin ongelma, joko kuvasuhteen tai -koon osalta. Jos emulaattoreissa on JIT-kääntäjiä, niin ne ovat useimmiten vain Intelille, joten kurjuus kumuloituu. OpenGL-ruutumoodit ovat käyttökelvottoman hitaita keskimäärin, joten skaalattuja fullscreen-tiloja ei saa sitäkään kautta ilmaiseksi.

  • MS-DOS. DOSBox jytää hyvin ja osaa jopa oikean kuvasuhteen fullscreenissä. Emulointi vastaa ehkä nopeaa 386-konetta. VESA-moodien värit menevät väärin.
  • PC. Windows XP asentui yön yli Qemuun ja on lähinnä kuriositeetti, Windows 98 tms. voisi jo toimiakin.
  • Mac. Mac-on-Linux asentui suoraan paketinhallinnasta, mutta framebuffer-kikkailujeni takia ruutumoodien asennuskikkare sekoittaa näytön. Jos pitää valita MOL:n ja kiihdytetyn X:n välillä, niin ei tarvi pitkään miettiä. Saattaa olla ihan jostain pikku säädöstäkin kiinni.
  • MSX. Riittävän nopea OpenMSX:llä. Laitoin emulaatiotarkkuudeksi rivin, mikä ehkä jotain nopeutti. Kuvasuhde venähtää fullscreenissä, mutta sen jälkeen se onkin hyvin linjassa MSX:n läsähtäneen kuvan kanssa 🙂
  • Commodore 64. VICE toimii, tosin hienouksia ei voi laittaa päälle. Ääniajuriksi piti valita uss, muuten pätki alituiseen.
  • Megadrive. Dgen ei toimi ja Xmess on nimensä mukainen. Ehkä rikki, ehkä vaan vaikea konffattava. PicoDriven sorsat ovat levällään pitkin maailmaa, joten sitä ei voi oikein edes kääntää itse. Seuraavan Gens/GS:n pitäisi olla multiplattis, eli jotain toivoa ainakin on.
  • SNES. SNES9x ajelee ainakin Bombermaneja hyvin ikkunassa. Tuplapikseleillä menee tökkiväksi, mutta kun laittaa fullscreeniksi 640×480, niin zoomaamatonkin akkuna on edelleen kohtuullisen kokoinen. Ainakin tällä koneella ALSA toimi paremmin ääniajurina kuin Pulseaudio. edit: Kun ottaa äänasetuksista pois synkronoinnin, niin vauhti kasvaa huomattavasti.
  • Amiga. E-UAE jaksaa emuloida A500-tason rautaa kohtuullisesti, riippuen hyvin pitkälti ohjelmasta. Demoja sain ajettua pienennetyssä ikkunassa jopa ihan täydellä frameratella, mutta esim. BC Kid toimi vain frameskipin kanssa. Äänet pitää laittaa 8-bittisiksi tai tulee vain suhinaa. Näytiksi .uaerc:ni. Fullscreen on muuten (fn-)F12-s.
  • Atari ST. Tässä listassa Hatari on selvästi paremmasta päästä. Nitkuttamista keksin oikeastaan vain äänien satunnaisesta kakomisesta ja siitä, että graffat eivät ole aivan oikeassa skaalassa.
  • ScummVM. Parin pelin perusteella futaa hienosti, tosin kerran tilttasi fullscreenistä palatessa.

Raadin kiitokset menevät siis DOSBoxille, OpenMSX:lle, Hatarille ja ScummVM:lle, sekä varauksin VICElle, E-UAE:lle ynnä SNES9x:lle. USB-joypadit näyttävät muuten toimivan ihan heittämällä ainakin VICEn ja SNES9x:n kanssa.

Add comment February 15th, 2011

Sitten vielä Java ja PPC

Nyt ei ole paljon kurjuutta parempaa tarjolla. OS X:n puolella Java-appletteja voi sentään ajaa välttävästi selaimissa, mutta nopeus on heikko – SciMark 2.0:n mukaan kymmenes pöytä-PC:n tehoista (100 pistettä vs. 1112). Näkyi hyvin myös Processing-appletteja ajaessa. Linuxissa ei ylletä edes siihen: Intelillä voi ajaa puoliksi kelvollista sun-java6-pluginia, mutta PPC:lle sitä ei ole. Vapaa vaihtoehto icedtea ei ole ajan tasalla ja pyörii erittäin hitaasti (5,7 SciMarkia!). IBM teki aikanaan optimoitua virtuaalikonetta myös PPC-Linuxille, mutta se ei toimi enää Firefox 3:n kanssa.

edit: Nähtävästi koko kuva ei ollut vielä ihan tässä. Oletuksena icedtea käyttää nimittäin server-virtuaalikonetta, joka on kaikista hitain. Cacao antoi appletviewerissä jo 90 ja shark puolestaan 105 pistettä. Cacao ei tuntunut toimivan selainpluginissa, mutta shark kyllä. Eli paikkaan /etc/java-6-openjdk/jvm.cfg shark ensimmäiseksi loppupään listaan ja johan nopeutuu. Processingilla tehdyt appletit eivät toimi edelleenkään, mutta monenlaista muuta kyllä ja huomattavasti rivakammin.

Add comment February 12th, 2011

JavaScript ja PPC

Selainvalmistajat ovat joko hylänneet tai hylkäämässä PPC-alustat, luonnollisestikin johtuen pienestä käyttäjäkunnasta. Opera 11, Firefox 4 tai Chrome eivät toimi PPC:llä missään käyttöjärjestelmässä. Lapsipuolen asemassa on oltu itse asiassa jo pitkään, sillä uudet tehokkaat JavaScript-moottorit eivät nekään toimi kuin käytännössä Intelillä. Normiselailu (lukuun ottamatta tietysti onnetonta Flashia) hoituu hyvin, mutta js-intensiiviset sivut, Google Docs tärkeimpänä, voivat olla käyttökelvottoman hitaita etenkin ikääntyneellä koneella. Paljon on kiinni pelkästä selaimesta, joten laitoin kolme Linux- ja OS X -selainta SunSpiderin hiostukseen G4/1,33-PowerBookillani. Lopputulos paljastaakin yhtä sun toista (nopeimmat boldattu):

OS X 10.5

  • Safari 4.0.2: 4649 ms
  • Safari 5.0.3: 5610 ms
  • FireFox 3.6.13: 8323 ms
  • Opera 10.63: 8853 ms

Ubuntu 10.04

  • Opera 10.63: 4791 ms
  • Konqueror/WebKit: 5343 ms
  • FireFox 3.6.13: 8812 ms
  • Konqueror/KHTML: 17423 ms

Oikean selaimen valitsemalla saa siis kaksinkertaisen nopeuden, mikä ei näillä tehoilla ole suinkaan pikkujuttu. Mielenkiintoisena yksityiskohtana Opera 10.6:n nopeutettu js-moottori ei näemmä koskaan saapunut PPC-OS X:lle, mutta Linuxissa selain onkin puolestaan nopein (sen vasteajat ovat muutenkin parhaat Linuxissa noin perstuntumalla). Konqueror on silkka etana oletusmoottorillaan, mutta WebKitiin vaihtamalla vauhti paranee hurjasti, aivan Operan tuntumaan. Vertailun vuoksi 2,66 GHz Intel-Mäkki antoi Safarilla lukemaksi 261 ms ja Chromium 3,3 GHz Linux-PC:ssäni 240, joten kauaksi tässä on jo pudottu joka tapauksessa kärjestä – vielä enemmän kuin mitä pelkkä prosessoriteho antaisi odottaa.

2 comments February 9th, 2011

iLaitteen äärellä

Uusi iPod Touch on ollut yllättävän kovassa käytössä, ja softia on tullut asenneltua ja osteltua muutamia kymmeniä. Kun olen käyttänyt jonkun verran rinnakkain toisen sukupolven mallia ja tätä neljännen sukupolven edustajaa, niin kehitys on tullut selväksi: tarkempi näyttö, nopeampi suoritin, kamera, parempi muotoilu ja moniajo ovat käytännössäkin – eikä pelkästään mainospuheissa – tärkeitä. App Store on kätevä, mutta nykyään tunnetusti täynnä kaikenlaista enemmän ja vähemmän onnistunutta tuotosta, joten hyödyllisen/hauskan sisällön löytäminen on haastavaa. Joitakin omia poimintojani (ehdottakaa vaikka kommenteissa, jos jotain oleellista puuttuu):

  • Facebook. Ilmainen kätevä käyttöliittymä iLaitteille. Oleellisesti parempi kuin selaimessa.
  • Skype. Tukee nykyään videopuhelujakin ilmeisen toimivasti.
  • YLE Areena. Yllättävän onnistunut käyttöliittymä Areenan sisältöihin. Videot ovat pykälän matalalla tarkkuudella kylläkin.
  • iBooks. Klassikkoja tuntuu löytyvän ilmaiseksi varsin mukavasti.
  • Camera+. Huomattavasti Applen vakiosoftaa monipuolisempi kamera. Välillä yskii käynnistyksessä, mutta toisella kerralla lähtee aina viimeistään.
  • Plants vs. Zombies. Toimii kosketusnäytöllä kuin häkä. Viime vuoden parhaita pelikokemuksia.
  • Zen Bound (1 & 2). Rauhallista palikoiden sitomista narulla. Plussana kauniit grafiikat.
  • Angry Birds. Tätä ei tarvinne enempää selitellä.
  • Canabalt. Yllättävän koukuttava ja tyylikäs, vaikka onkin viime kädessä vain simppeli hyppely.
  • Cut the Rope (sekä Holiday Gift). Viime joulun tehokas ajanhukka. Hyvä esimerkki siitä, miten kosketusnäyttöä todella hyödynnetään.
  • Smurfs’ Village. Periaatteessa silkkaa lapsille sopivaa grindausta, mutta…
  • Fieldrunners. Jälleen yksi tornipuolustus, mutta hyvin tehty – ja vaikea!
  • Osmos. Tunnelmallinen taidepeli, jossa kasvatetaan omaa eliötä isommaksi.

“Ihan jees” -sarjaan lisäisin vielä muutaman muunkin, kuten Doodle Jump, Fruit Ninja, Twin Blades, Orbital, Peggle ja Soosiz. Moni noistakin tuntuu tykkäävän, mutta itselleni eivät ihan täysillä kolahtaneet.

1 comment January 24th, 2011

Sählärit asialla eli mokkuloiden ohjelmistotuki

Mokkula, tuo avain langattomalle tiedon valtatielle, löytyy yhä useammasta kotitaloudesta. Vaan miksi niiden kanssa on edelleen samanlainen sählinki? Elämme vuotta 2010, kohta 2011, ja edelleen pitää tapella asetusten, ajurien jne. kanssa. Jo pelkästään “tuettu” Windows on täynnä ongelmia, saatika sitten kun mennään Macin tai Linuxin puolelle, jolloin ollaan tyypillisesti ahkeran googletuksen varassa. Jos vaikkapa hiiret ja muistitikut toimisivat yhtä luotettavasti, niin tulisihan siitä haloo. Ensimmäinen syypää on tietenkin useimmat laitteet valmistava Huawei, jonka tehtaalta turahtaa muovista laadutonta kökköä, mutta jos rauta toimisikin, niin softapuoli olisi edelleen rikki ainakin neljästä syystä:

  1. HID:n tapaisia vahvoja standardeja ei ole. Eri mokkuloihin päätyy täten erilaisia purkkaratkaisuja, ja pienikin muutos aiheuttaa sen, ettei esim. aiemman laitteen ajuri enää toimi.
  2. Valmistajien omat koodinikkarit (lue: sählärit) tekevät ajurit. Oma rauta kenties tunnetaan, mutta kohdekäyttistä ei. Testaaminen voi jäädä vajaaksi, kun pelkkiä Windowsin versioita ja päivityksiä pitäisi tukea lukuisia. Harvinaisempia käyttiksiä ei jakseta resurssien ja osaamisen puuttuessa tukea.
  3. Operaattorien koodinikkarit (lue: sählärit) pilaavat loputkin kehittelemällä omia käyttöliittymiään ja laajennuksiaan. Näin rikotaan yhtenäisyys ja mikä pahempaa: lukitaan ajurit keinotekoisesti tiettyyn operaattoriin, jolloin niistä ei ole mitään iloa väärän firman asiakkaalle, vaikka laite olisikin täsmälleen sama.
  4. Valmistajat pimittävät laitteistonsa dokumentaatiota, joko ymmärtämättömyyttään tai kuvitteellisten liikesalaisuuksien vuoksi, joten kukaan muukaan ei pääse kirjoittamaan ehjää ohjelmistoa.

5 comments December 27th, 2010

Processingin rumat fontit

Kokeilin ekan kerran Processingia Linuxilla ja tuntuu toimivan ok. Jostain historiallisista tai käytännöllisistä syistä sitä ei saa paketinhallinnasta, vaan se pitää ladata sivuilta erikseen. Ubuntussa piti asentaa Sunin Java-paketit (sun-java6-jdk, -jre ym.), sillä heti alkuunsa tuli valitus, ettei Icedtean kanssa luvata yhteensopivuutta. Icedtea kannattanee käytössä muutenkin unohtaa — eipä nimittäin toiminut sen selainlaajennuskaan (sun-java6-plugin koneeseen ja johan soi). Muuten näytti jo hyvältä, mutta editorin fontti oli kohtuuttoman ruma ja palikkainen ilman antialiasointia. Kerrottakoon nyt kaikille muillekin varmuuden vuoksi: kotihakemistossa sijaitsee .processing/preferences.txt ja siellä oleva editor.antialias=false pitää muuttaa muotoon true. Mäkillä fontit ovat tuntuneet olevan vakiona ok, joten sen kanssa ei ole tarvinnut tähän säätöön kajota.

Add comment September 25th, 2010

Mac ja optisen aseman jakaminen

MacBook Pro:ssani on toimiva kelpo SuperDrive, mutta aluekoodia voi vaihtaa tunnetusti vain rajallisen määrän kertoja. Laskurin saa nollattua vippaskonstein, mutta se on asemakohtaista ja muutenkin pykälän pelottavaa. Sain nyt lahjaksi pinkan “väärän” koodin DVD-levyjä, joita saattaisin katsella silloin tällöin. Ensimmäisenä ratkaisuna laitoin Mac Minin optisen aseman eri aluekoodille, joten voin katsella eri leffat eri koneilla. Jos haluaisin tehdä videotiedoston DVD:stä, niin PPC-Mini on kuitenkin tuskallisen hidas ja levytilakin vähissä. Onneksi MacBook Airin myötä käyttikseen ilmestyi optisen aseman jako, joka löytyy ihan normaalisti järjestelmäasetuksista. Vielä jää ongelmaksi se, miten saa jaetun aseman näkymään toisella koneella — vain Airin mukana ominaisuus ilmeisesti tulee vakiona. Ratkaisu löytyi täältä: komentoriville seuraavat rimpsut ja sitten buutti, jonka jälkeen Finderin ikkunassa näkyvät samassa verkossa olevat jaetut asemat:

defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true
defaults write com.apple.NetworkBrowser ODSSupported -bool true

DVD-toisto ei tuntunut onnistuvan verkon yli valitettavasti, riippuen ehkä eri aluekoodista.

Add comment July 21st, 2010

VirtualBox ja dualhead

Kohtuullisen pienellä virittelyllä on mahdollista käyttää VirtualBoxissa yhtaikaa kahta käyttöjärjestelmää siten, että molemmilla on oma näppäimistö ja hiiri. Että tästä olisi mitään iloa, täytyy tietysti olla kaksi ulostuloa näyttökortissa tai läppäri, josta saa kuvaa myös ulkoiselle näytölle. Näin homma käyp:

  • Asenna VirtualBoxiin käyttis normaalisti. Itselläni oli isäntänä OS X ja vieraina Windows XP ja Linux.
  • Asenna vieraalle VirtualBoxin lisäajurit. Linuxissa tämä vaatii, että virtuaalikoneessa on gcc ja käytössä olevaa kerneliä vastaavat headerit asennettuina.
  • Laita erillinen näppäimistö ja hiiri koneeseen kiinni ja lisää ne virtuaalikoneen portteihin VBoxin asetuksista. Näin isäntä ei kajoa niihin. Jos ei jostain syystä muuten toimi, niin ne voi tökätä kiinni virtuaalikoneen käynnistyttyäkin.
  • Näppäimistö tunnistui ja toimi sekä XP:ssä että Linuxissa suorilta ja painallukset menivät ainoastaan virtuaalikoneeseen kuten pitikin.
  • Hiiri & XP: kun VBox on kaapannut hiiren, paina host-i (OS X:ssä host on oletuksena vasen omppu), host-i uudestaan, vie pääkoneen hiiri pois virtuaalikoneen näytöltä ja paina uudestaan host-i, host-i.
  • Hiiri & Linux: VBoxin hiiriajuri on sitkeää laatua ja latautuu, vaikka X:n asetuksissa muuta pyytäisi. Samalla se peittää usb-hiiren. Nimesin uusiksi symlinkin /usr/lib/xorg/modules/input/vboxmouse_drv.so ja niinpä moduuli ei enää lataudu, vaan käyttöön tulee erillinen usb-hiiri. Hiiren voi joutua heittämään lennossa kiinni, tai se menee isäntäsysteemille.

Joiltakin kummallisuuksilta ei voi välttyä: ulkoisessa näytössä käynnistetty Linux tuntui soittavan äänet puolella taajuudella toisinaan (täällä ehkä purkkaratkaisu). Ulkoisessa näytössä on niin iso tarkkuus, että Linuxissa VBox ei suostunut sitä käyttämään ennen tämän ohjeen mukaista säätöä.

Add comment April 12th, 2010

Mobiili-luddiitin kääntymys

Vuosikaudet katselin tietyllä inholla kännykkäkoodailua. Vastenmielisyys Symbiania kohtaan on toki ihan perusteltua ja luontevaa, mutta eipä mobiili-Javakaan paljon kiinnostavampi vaihtoehto ollut. Kaipasin rehellistä tehokasta C-ristiinkääntäjää ja yksinkertaista ympäristöä, joita olikin tarjolla sekalaisissa PDA-laitteissa ja käsikonsoleissa, mutta ei puhelimissa. Windows Mobile + SDL olisi kenties ollut lähimpänä tavoitetta, mutta hygieniasyistä en siihen lähtenyt koskaan tutustumaan, etenkin kun mitenkään toimiva develkit vaatisi käytännössä Windowsin ajamista. iPhonen kiinnostavuutta söi puolestaan se, ettei ohjelmia voi levittää vapaasti muille. Android näytti hetken lupaavalta, mutta Javallahan sitäkin pitäisi periaatteessa ohjelmoida (natiivikoodipurkkaakin on jo olemassa). Android-yhteensopivat laitteet ovat toistaiseksi myös kalliita.

Syksyllä 2009 jouduin — tai pääsin — duunin puolesta tutustumaan Processingiin, joka osoittautuikin media- ja opetuskäyttöön mainioksi työkaluksi: avoin, tuettu, matala kynnys aloittaa ja kohtuullisen nopea. Javaa sellaisessa muodossa kuin pitäisikin! Processingista on myös kännykkäohjelmointiin tarkoitettu Mobile Processing, joka sai minutkin lopulta kokeilemaan pikku projektin tekemistä. Vanha S40-Nokialaiseni, 6021, suostui ajamaan tuotosta välttävästi, joten jää tuli rikottua. Nykyaikainen satasen kännykkä sisältää helposti kymmenen kertaa nopeamman Java-toteutuksen, joten nopeus alkaa olla jo riittävä johonkin oikeaankin. Processingin kautta pääsee käsiksi myös mm. tekstiviestien lähetykseen ja Bluetoothiin, mikä avaa ovia erilaisiin käyttötarkoituksiin.

Ensimmäinen yritelmäni, tietokoneille tehdyn Obsesiónin porttaus. Tarkoitettu vanhan sotaratsuni 128×128-näytölle, hitaalle virtuaalikoneelle ja 12-bittisille väreille, joten uusilla kännyillä näyttää luultavasti tarpeettoman karulta.

Add comment January 26th, 2010

Next Posts Previous Posts


Kommenttien virta

Aiheet