Sitä voisi vuonna 2021 kuvitella, että PETSCII-grafiikalla ei ole enää ammatillista eikä kaupallista merkitystä, mutta eihän asia niin toki ole! Itse olen tehnyt petskareita opetuskäyttöön useitakin kappaleita sekä opettanut yhdellä retrografiikkaan keskityneellä kurssillani editorin käyttöä. Alla tärkeimpiä poimintoja ohjelmointikursseilta: algoritmien toiminnan havainnollistamista sekä juuri tänään aamusella väsäämäni vuokaavio. Varmasti mukana on niin retrofiilistelyä kuin hassutteluakin, mutta toisaalta on puhdas tosiasia, että olen merkkigrafiikan äärellä yksinkertaisesti tuottavampi kuin vektori- tai pikselityökalun varressa. Gridiin on nopea lätkiä tuttuja merkkejä, asemoinnit tulevat kohdilleen ilman eri vaivaa, alueiden kopiointi ja pyörittely käy vikkelästi, fontista ja tekstikoosta ei tarvi välittää (koska niitä on tasan yksi), kuvasta on helppo tehdä kopioita, työkalut ovat nopeasti käsillä, ja ylipäänsä kaikki tulee niin selkärangasta, että aikaa ei haaskaannu opetteluun, etsimiseen ym. sählinkiin. Ehkäpä gridipohjaisella yksinkertaisella työkalulla todella on annettavaa softajärkäleille, jotka monimutkaisuudellaan masentavat noviisin, joka halusi vain tehdä nopeasti pikku kaavion.
Tulipa eilen paha pikatilanne, kun Zoom ei opetuksen alkaessa suostunutkaan löytämään Linux-läppärini mikrofonia, vaikka se oli aiemmin todistettavasti moneen kertaan toiminut. Input-asetusten säätäminen ei tuntunut auttavan eikä edes uudelleenkäynnistys, mutta jo toiselle koneelle vaihdettuani satuin vielä vilkaisemaan asetuksia kerran:
Hardware-välilehdelle oli jäänyt jonkin kokeilun jäljiltä profiiliksi Analog Stereo Output, joka hieman epäintuitiivisesti poistaa kaikki sisääntulot mikrofoni mukaan lukien. Oletin tämän säädön koskevan vain kuulokeporttia, mutta väärässä olin. Tilalle takaisin Analog Stereo Duplex ja kaikki toimii taas hienosti. Tämä on muuten myös se paikka, jossa valitaan äänien menevän HDMI-porttiin, eikä suinkaan Output-välilehti.
When the microphone just doesn’t work
I came across an irritating problem with my Linux laptop yesterday: the mic that had worked fine several times with Zoom wasn’t even visible as an audio input. No amount of tweaking or even a reboot fixed the issue. Eventually I discovered that I had set a wrong profile for the device. Instead of Analog Stereo Out it should be Analog Stereo Duplex or all the inputs — not just the headphone port — disappear. And by the way, this is also the place where you can select HDMI for sound output (as opposed to the Output tab).
En ole vieläkään jaksanut ratkoa aivan kunnolla Applen pikkunäppiksen ja oman Mac-henkisen näppäinkartan ongelmia, mutta tässä ainakin vähän parannettu versio, joka on luotettavampi ja huomattavasti nopeampi kuin vanha xmodmap-pohjainen ratkaisu. Näppäinkartan saa ladattua seuraavasti:
xkbcomp apple-fin-small.xkm :0
Tämän jälkeen altin kanssa saa Mac-tyylisesti erikoismerkit, kuten {}[]\|. Päällekkäisyyden välttämiseksi PC-alt taas on mäpätty command-nappiin. Euron saa alt-e:llä ja omana pikku lisäyksenä alt-miinuksella n-dashin (–) sekä alt-shift-miinuksella m-dashin (—). Keskeisin tiedosto on apple-fin-small.xkm, ja omia muutoksia voi puolestaan tehdä tekstimuotoiseen versioon apple-fin-small.dump, jonka xkbcomp kääntää jälleen xkm:ksi.
Apple’s mini keyboards (A1242/A1314/A1255) and the Finnish keymap once more
I can’t say that I’ve yet completely solved the challenges of the Apple mini keyboard and a custom Mac-style Finnish layout, but at least this new solution works more reliably and much faster than the old xmodmap-based one. See the commands and files above. The most evident change is that you get special characters, such as {}[]\|, using the alt key, and the PC style alt is mapped to the command key.
Vuosia luotettavasti — ainakin kohtuuden rajoissa — toiminut DOSBox jätti ns. tielle tällä viikolla. Isolla tehopöntöllä ja Nvidian näyttiksellä en huomannut mitään ongelmia, mutta läppärin integroidulla tulikin outoa käytöstä koko näytön tilassa: hiiren kursori välkkyy noin kerran sekunnissa ärsyttävästi keskellä ikkunaa. Googlailun perusteella vika saattaa olla X:n ja SDL 1.2:n yhteispelissä, mutta mene ja tiedä. Yritin ratkoa ongelmaa monin keinoin asentamalla ja kääntämällä erilaisia forkkeja. Tässä tuloksia:
Alkuperäinen DOSBox 0.74: Ongelman saa tavallaan “ratkaistua” heiluttelemalla hiljalleen hiirtä, minkä ei todellakaan pitäisi olla tarpeen. Forkeissa on kaikenlaisia uusia hienouksia, joita tästä hiukan jämähtäneestä vakkarista puuttuu. Vakio-poksissa toimivat toisaalta äänet parhaiten kaikista kokeilemistani versioista. Erilaisten grafiikkavaihtoehtojen (surface, OpenGL, overlay) vaihtelu ei tunnu vaikuttavan asiaan.
DOSBox Staging: Tämän ainakin pitäisi olla uusi ja hieno SDL2-pohjainen versio, mutta äänet toimivat jostain syystä aika satunnaisesti. Omissa demoissa niin SB- kuin GUS-äänetkin pysyivät mykkinä. Hiiren välkkyminen on sentään korjattu. Sorsa ei edes kääntynyt, kiitos uuden käännösympäristön.
DOSBox-X: Tässäkin on kaikenlaisia uutuuksia, kuten jokseenkin kätevät menut. Näppäinoikotiet on jostain syystä pistetty nekin uusiksi. Ääniä kyllä kuuluu, mutta ne rapsuvat ja pätkivät aivan liikaa, vaikka bufferin pituutta kasvattaisi kuinka. Pointteri ei ainakaan räpsy ja skaalaus toimii paremmin kuin vakkarissa.
Osa ääniongelmista ja hidasteluista liittynee läppärin hitauteen, vaikka luulisi i5-6300U:n nyt jotain jaksavan — isolla pöntöllä kaikki toimii paremmin, mikä osaltaan lienee Nvidian näyttiksen ja ajurien ansiota. DOSBox Staging pysyy valitettavasti yhtä mykkänä molemmilla. Näyttää siis siltä, että demot pitää viikonloppuna ajaa vakio-laatikolla ja heilutella hiirtä…
Perheeseen tuli kesällä hankittua satunnaista soittelutreeniä varten edullisemman pään Casion CT-S100-urku, jolla on rääkätty korvia jo parin kuukauden ajan ihan onnistuneesti — onneksi laitteessa on myös kuulokemahdollisuus. Kotikotona 1990-luvulla olleeseen Casion urkuun verrattuna nämä nykyvärkit ovat varsin käteviä ja monipuolisia: instrumentteja on toistasataa, asetuksia voi säätää monipuolisesti, mukana tulee nuottiteline ja saapa laudan kiinni jopa tietokoneeseen USB-MIDIn kautta.
MIDI-mahdollisuus oli jäänyt kutkuttamaan mieltäni, ja tänään lopulta löytyi sopiva hetki räpeltää sen äärellä. Casio ei ominaisuutta juuri mainosta, eikä CT-S100 ole periaatteessa General MIDI -yhteensopivakaan, mutta “mitäs jos?” -hengessä päätin silti kokeilla, mitä ScummVM:n MIDI-ulostus sanoisi. Micro-USB-kaapeli tietokoneeseen kiinni ja kokeilemaan. Säätöjä ei paljon tarvittu:
The Secret of Monkey Island mainioine biiseinen oli luonteva testikohde. Alun perin peli on tukenut Rolandin MT-32:ta, joka ei sekään ole General MIDI -laite, mutta ilmeisesti riittävän lähellä, jotta ScummVM pystyy mäppäämään instrumentit suunnilleen oikeiksi. Suuri oli hämmästykseni, kun Mankin tunnari kajahti soimaan urusta ilman sen suurempia ongelmia 🙂 CT-S100 siis lienee käytännössä oikeasti pitkälti GM-kykyinen — varmaankin jotain efektejä tai instrumentteja puuttuu. Midi-biisejä voi soitella helposti asentamalla pmidin:
pmidi -p 28:0 barimyst.mid
Yllä olevat numerot saa selville ajamalla komennon aconnect -i. Näpellän Casion äärellä varmaan jatkossa lisääkin, sillä ainakaan toistaiseksi ZynAddSubFX ja MilkyTracker eivät suostuneet ottamaan nuotteja vastaan kiipparilta. Ratkaisu olisi luultavasti JACK, jonka kanssa taannoiset kokemukset ovat olleet hieman sekalaisia. Toinen kokeilemisen arvoinen viritys olisi kytkeä urku USB-pulikan kautta iPadiin ja GarageBandiin. Postailen lisää, jos jotain uutta ilmenee.
Humble Bundlesta tärppäsi taas Steamiin täytettä (en enää kuvittelekaan saavani kaikkia pelejä edes kokeiltua). Tällä erää kasassa oli aidosti kiinnostavakin tekele, nimittäin Lumino Cityvuodelta 2014. Pelin edeltäjä, Lume, oli aikanaan hieman tapetilla, sillä olihan sen grafiikat tehty – enimmäkseen – oikeista esineistä rakentelemalla. Lumino City jatkaa samoilla linjoilla, eli tilpehööriä on saksittu ja liimailtu olan takaa realistisen lopputuloksen saamiseksi:
Persoonallisen kuorensa alla Kitu on viime kädessä hyvinkin tavallinen point’n’click-seikkailu, jossa ratkotaan pikku pulmia ja kuskataan roinaa paikasta toiseen. Päähenkilö, Lumi-niminen tyllerö, on kadottanut faarinsa, jota tietysti pitää lähteä etsimään. Rattaita asetellaan, piuhoja kytketään, avaimia etsitään ja sen sellaista tuttua peruskauraa. Jumiin jäänyt seikkailija voi hakea apuja Lumin mukanaan kuskaamasta vinkkikirjasta. Eräs hauskimpia tehtäviä oli vanhan tietokoneen käyttö reikäkorteilla, vaikka se ei ehkä temaattisesti täysin luontevasti peliin istunutkaan.
Olihan tuosta lomalaisen yhdeksi iltapäiväksi viihdettä, mutta kovin suurta innostusta en kokenut missään vaiheessa. Pulmien vaikeustaso on viilattu kohtuullisen järkeväksi, joten ainoastaan yhdessä kohdassa piti turvautua oppaan vinkkeihin. Jokunen tehtävä lipsahti muista syistä tuskallisen puolelle: vaikka idea olikin jo selvillä, tarvittiin joko pikkutarkkaa nyherrystä tai puhdasta raatamista hiiren varressa (näitä olivat esimerkiksi morsetus, postien lajittelu ja flipperin räpellys). Lievää bugitusta näkyi silloin tällöin ja yhden kerran peli kosahti kokonaan. En usko, että kyse oli tässä tapauksessa edes Protonista, vaan jotain oikeita bugeja on jäänyt sekaan. Kontrollitkaan eivät ole kaikin ajoin kovin tiukat, vaan klikkailu on turhan tarkkaa ja harvakseltaan jopa lägistä. Ei Lumino City mikään ryppyotsainen tekele ole, mutta huumori olisi – onnistuessaan – piristänyt muuten hieman kuivaksi jäävää haahuilua. 3/5.
Terpan postauksesta innoittuneena päätin itsekin kirjoittaa jotain kokemuksiani The Kilobyte’s Gambitia vastaan mittelystä. Pienestä kilotavun koostaan huolimatta engine ei ole ihan helppo voitettava, etenkin kun se pelaa aika kummallisesti useimpiin ihmisiin verrattuna. Viimeisimmistä viidestätoista pelistä olen voittanut kolmetoista ja tasapelejä on tullut kaksi, joten uskoisin, että aika varma resepti alkaa olla kasassa. Toki edelleen on tarpeen pelata tarkasti, sillä Beth rokottaa kyllä ainakin pahimmista virheistä vääjäämättä. Perusveivini lähtee liikkeelle tukevalla Lontoon systeemillä, jota pelaan muutenkin valkoisilla. Seuraavaksi odotellaan, sössiikö kone heti avauksessa yhden kuningaslaidan sotilaan, kuten tässä on käynyt:
Kuten kuvasta näkyy, keskelle (e5) on jäänyt hyödyllinen reikä, johon voi läntätä ratsun. Ratsun voi tarvittaessa vaihtaa pois puolustuksen heikentämiseksi ja kierrättää toisen samaan ruutuun. Kuningas on lähtenyt seilaamaan keskelle lautaa, jolloin Amerikan päihdeongelmainen ihmelapsi on menettänyt samalla tornitusoikeutensa. Oma kuningasasema näyttää turvalliselta, etenkin kun Bethin lähetti on omien sotilaiden takana jumissa eikä kuningatarkaan hetkeen hyökkäämään pääse. Toisinaan laidasta pääsee vaihtamaan lisäksi lähettinsä shakilla torniin, mutta ei enää tässä tapauksessa. Seuraavaksi yritän avata kuningatarlaidan, mihin engine aina suostuukin ja vaihtaa samalla tornit, mikä puolestaan päästää valkean kuningattaren laitaa pitkin hyökkäämään.
Vielä kootusti joitakin Kilotavun gambiitin heikkouksia, joista olen onnistunut saamaan pientä tai jopa ratkaisevaa etua:
Beth ei näe kovin monen siirron päähän, joten se ei lähde ajoissa pysäyttämään korottujia tai osaa varoa muutaman siirron sommitelmia
Jos lyönnin voi tehdä usealla eri napilla, Beth lyö ensisijaisesti kuninkaalla, mikä ajaa kurkon huonompaan paikkaan
Beth ei pelaa kovin hyökkäävästi, esim. kuningashyökkäykset ovat harvinaisia
Sotilaita saa usein ilmaiseksi ainakin yhden Lontoon systeemillä – en ole juuri muita avauksia kokeillutkaan
Bethin avauspeli on pääosin sotilaantyöntelyä, jolloin asemaan jää reikiä etenkin ratsuille
Beth ei juuri koskaan tornita (ainakaan itse en ole nähnyt moista kertaakaan)
Häviöksi kääntyneessäkin pelissä saattaa vielä löytyä tilanne, jossa Beth ryhtyy toistamaan samoja siirtoja loputtomasti, millä saa aikaan yhden sortin “tasapelin”
Toisaalta Neuvostoliiton shakkikoneiston kukistajalla on joitakin ominaisuuksia, jotka tekevät siitä virheistä huolimatta hankalan vastustajan: jos tarjolla on haarukoita tai roikkuvia nappeja, niin ne kyllä huomataan armottomasti. Sotilaantyöntelyä vastaan pitää pelata huolellisesti tai huomaa pian olevansa selkä seinää vasten ahtaassa asemassa. Roikkuvia upseereja pääsee harvoin lyömään ilmaiseksi, sillä engine osaa pitää puolustuksesta kohtuullisesti huolta. Loppupeleissä avoimella laudalla 1k-shakki sommittelee joskus turhauttavankin tarkasti, jolloin omat sotilaat katoavat yksi toisensa jälkeen. Lisäksi etenkin mustan nappeja oli vaikea erottaa toisistaan aluksi, minkä vuoksi välillä tuli törttöiltyä; sittemin silmä näyttää teroittuneen eikä samanlaisia huomiovirheitä tule ainakaan yhtä usein.
Jälleen aivan sattumalta tuli vastaan perusjuttu, josta olen ollut lähes tietämätön, nimittäin että DDC-protokollan ansiosta tietskari voi lukea näytöltä tietoja ja myös säätää monenlaisia asetuksia — käytännössä kaikkea, mitä näytön menustakin. Linuxissa tarvitaan ddcutil, joka löytyy valmiina paketinhallinnasta. Ensimmäisenä etsitään näytön I2C-väylänumero:
sudo ddcutil detect
Omalla koneellani HP:n littu on jostain syystä numerolla 7, kun taas kahdessa muussa talouden pöntössä näytöt ovat 3 ja 0. En tiedä, miten nämä numerot määräytyvät, mutta ainakin niitä tarvitaan ohjailuun eikä voi olettaa, että näyttö löytyy eri koneilla samasta kiinteästä osoitteesta. Tarkastellaan seuraavaksi, mitä kaikkea on tarjolla:
sudo ddcutil capabilities --bus=7
HP antaa melkoisen luettelon kaikenlaista, Lenovon vähän vanhempi näyttökin yhtä sun toista, mutta Samsungin telsu vain hyvin vähän valintoja. Sen verran järkeä DDC:n suunnittelussa on ilmeisesti käytetty, että tietyt ominaisuudet ovat standardeilla numeroilla, kuten vaikkapa AE (Vertical Frequency). Luettelon loppupäästä löytyy myös valmistajan omia lisäyksiä, joista työkalu ei osaa kertoa tarkemmin. Kaiken varalta jättänen niiden kokeilun sikseen ikävien yllätysten välttämiseksi. Komennot getvcp ja setvcp mahdollistavat asetusten lukemisen ja myös säätämisen:
sudo ddcutil --bus=7 getvcp C0
Yllä oleva rimpsu näyttää ominaisuuden C0 (Display usage time) arvon eli käyttötunnit. Komennosta ehti olla jo ihan käytännön hyötyäkin, sillä juniorin Lenovo ei näytä käyttötunteja menussaan, mutta DDC:n kautta ne sai näkyviin näin helposti. Näytön asetusten säätämistä en ehkä haluaisi tehdä näin komentoriviltä, mutta toisaalta voin kuvitella tilanteita, jossa siitäkin voisi olla iloa, kuten vaikkapa automatisoitu kirkkaussäätö tai näytön sammuttelu kellonajan mukaan.
edit: Asetusten säätö on hieman hidasta, joten skriptillä tehty näytön kirkkautta pehmeästi muutteleva viritelmä jäi pettymykseksi. Mieleen tuli myös yksi realistinen käyttökohde lisää: jostain syystä väärällä kielellä olevat näytön menut voi käydä resetoimassa vaikkapa enkuksi DDC:llä, jos asetusta ei menusta navigoimalla löydä.
Tällä erää taas uusi aluevaltaus Protonin kanssa. Kalevalaisesta kansantarustosta ammentava kotimainen Runo ilmestyi hiljattain virallisesti. Peli on ladattavissa ilmaiseksi, mutta se toimii “tietysti” vain Windowsilla, eli ainakin jonkinlaista säätöä on odotettavissa, jos sitä mielii Mäkillä tai Linuxissa ajaa. Hätäinen kokeilu perus-Winellä johti — jokseenkin odotetusti — vain pelin kaatumiseen, joten suuntasin seuraavaksi katseeni Steam-pelien kanssa hyväksi havaitun Protonin suuntaan.
Protonissa on ollut jo kautta maailman sivu mahdollisuus ajaa muitakin kuin Steamin kautta asennettuja Windows-pelejä, mutta koska minulla ei sellaisia juuri ole, niin en ollut toimintoa koskaan kokeillut. Erityisen vaikea toimenpide se ei ole: alareunan kohdasta Add a game — Add a Non-Steam Game… — Browse (File type: All files) kaivellaan pelin exe-tiedosto, jonka jälkeen se ilmestyy kirjastoon. Oikealla napilla saa sitten esiin seuraavan näkymän:
Oleellinen säätö Runon tapauksessa löytyi Compatibility-välilehdeltä. Viimeisimmällä tai kokeellisella Protonin versiolla sai nimittäin aikaiseksi vain jumin tai alkuruudun, jossa ei voi klikata hiirellä. Vaan laitetaanpa 5.0-10 asialle ja johan soi:
Järin paljon en peliä vielä ehtinyt testailla, mutta ainakin alkuruudusta pääsee eteenpäin, soitto soi ja asetuksetkin toimivat. Oletuksena oli käytössä 1080p-tarkkuus, jonka ruuvasin onnistuneesti 1440p:ksi. Päivitän alle, jos pidemmän päälle ilmenee jotain kompurointeja tai kaatumisia. Ihan avaimet käteen -ratkaisu tämä ei ollut, mutta ei paljon puutu, joten taas pisteet Protonille. Ehkäpä joku päivä pitää yritellä jotain hieman mutkikkaampaa tekelettä, vaikka olenkin aika skeptinen erillistä asennusta vaativien pelien suhteen (Runohan ei vaadi kuin zipin purkamisen).
Pari kertaa on käynyt niin, että kun olen päivittänyt Zoomin Linux-koneella, niin se on lakannut aukeamasta suoraan selaimesta. Ongelma liittyy jotenkin xdg-openiin ja siihen, mitä tehdään zoommtg-tyyppisille osoitteille. Netistä löytyi onneksi kätevä rimpsu, joka ongelman korjaa:
xdg-settings set default-url-scheme-handler zoommtg Zoom.desktop
A couple of times it has happened that after updating Zoom on Linux, online meetings won’t start any more from a browser. The issue has to do with xdg-open and its URL handling. The above blurb, conveniently found online, will fix the issue.