Tuttuun tapaan heinäkuussa saapui taas Vammala Party, joka pidettiin tälläkin kertaa Ikaalisissa (oikeasti Vammalassa on oltu viimeksi vuonna 2000). Tällä erää olin harvinaisen ajoissa liikkeellä kompoentryjen kanssa, sillä ajatus partypaikalla kiireessä koodaamisesta/piirtämisestä tuntui hieman ahdistavalta. Niinpä kaikki oli kasassa jo muutama päivä ennen paikan päälle lähtöä. Valokuviin en hirveästi painostanut, mutta tuli niitä sentään kaksi näpättyä:
Jotakin uutta, jotakin vanhaa
Ensimmäiseen löytyi ajankohtainen aihe maahan heitetystä Pilsner Urquellin mainosmaskista, jossa yhdistyivät ajankohtaisuus, historia, roskaaminen ja korona. Toisessa näpsyssä oli samaa ajankohtaisuutta, kun kävelyretkellä tuli vastaan maahan kaatunut sähköpotkulauta, joista on keskusteltu viime aikoina runsaasti:
Kaatuneiden muistolle
Tuplaimissa olen pärjännyt poikkeuksellisen hyvin jo kahtena aiempana vuonna, ja tällä erää irtosi suorastaan voitto tekeleellä Friman’s Birds. Nämä eivät yleensä hieromisesta juuri parane, enkä käyttänyt yhdistelmien etsimiseen yhtä aamua pidempään. Idea on tärkein ja se joko toimii tai ei – känninen skeneyleisö on omanlaisensa raati, jonka nauruhermojen kutkuttamiseen pärjääminen perustuu. Tässä kaikki kolme pläjäystä:
Kuten arvata saattaa, grafiikkakilpailuun piti väsätä vähintään yksi petskari. Ensimmäinen yritelmä oli M. C. Escherin joutsengrafiikan versiointi, joka näyttää simppeliltä, mutta ei ollut järin helppo tehdä merkeillä. Yhtäältä en rankkaa tällaisia versiointeja keskimäärin hirveän korkealle, mutta toisaalta lopputulos on toimiva ja tekniikka (tietääkseni) uusi PETSCII-maailmassa. Viitossijaa kummempaa ei tällä irronnut, mutta onneksi sentään partyjen jälkeen kehuja on tullut:
M.C.
Toinen petskari oli omaperäisempi, vaikka teknisesti huomattavasti kökköisempi. Idea lähti Madeiran tyylisestä tekstuurista, jossa olisi sarjakuvamaisia päitä – näitähän on sarjiksissa ym. nähty. Luonnostelin ensinnä (turhaan) paperille, mutta siitä ei ollut juuri hyötyä, joten rupesin täyttämään ruutua merkeillä ja annoin niiden viedä. Lopputulos ei ollut yhtään alkuperäisen idiksen mukainen, mutta edes jokseenkin mielenkiintoinen:
We the People
Päät ovat hieman sinne päin, mutta toki merkeillä on vaikeaa tehdä kovin hienojakaan. Graffakompossa tällä heltisi neljäs sija; tällaisessa kuvassa on toki liikaa detskuja ja nähtävää, jotta kaikkea ehtisi lyhyessä ajassa käydä läpi. Jos johonkin olen tässä sukujuhlamaisessa ITE-pläjäyksessä tyytyväinen, niin hahmojen ilmeikkyyteen ja pariin niiden väliseen vuorovaikutukseen (pisnesmies katsoo epäillen renttua, takarivin äijä on selvästi vaikuttunut naishahmosta ym.).
Me, Me, Me!
Tällä erää löysin jostain motivaatiota tehdä myös parissa päivässä Processing-demon, jonka nimeksi tuli Me, Me, Me! Mitenkään virallisemmin tätä tekelettä ei julkaistu, mutta ehkäpä ainakin efektejä kannibalisoidaan johonkin myöhempään “oikeaan” tuotokseen. Visuaalit toimivat mukavasti yhteen Yzin biisin kanssa, vaikka teknisten ongelmien vuoksi smuuthiksi hierottu 60 fps:n sisältö olikin skriinillä sitten tökkivää 30 fps:ää. Fysiikkasimulaatioiden lisäksi mukaan mahtui jopa kepeää tarinankerrontaa, kun narsistinen oranssi pallo on ensin uransa huipulla seuraajien ympäröimänä, mutta joutuu sitten vaikeuksiin ja lopulta murskatuksi.
Sellainen oli 2020. Kuvittelin viime vuoden olleen jotenkin poikkeuksellisen raskas, mutta tähän loppuvaan verrattuna ei se sitä tainnut ollakaan. Koronavirus vaikutti tietysti melkein kaikkeen tänä vuonna, kuten varmasti muillakin, mutta ehkäpä aiheesta ei nyt jaksa jauhaa juuri nyt paljon enempää – muistelmia etäkoulusta kirjoittelin jo keväämmällä. Yleensähän nämä pandemiat ovat “siellä jossain” eivätkä kosketa lintukotoamme, mutta tämänkertainen tuli ihan kotiovelle asti.
Töitä ja tutkimusta
Aallossa ryhdyttiin etätöihin suunnilleen ensimmäisten joukossa keväällä, mistä seurasi yllätys ja toinenkin, kun lähiopetukseen suunnitellut kurssit piti pikaisesti siirtää verkkoon. Osa opetuksesta, kuten opinnäyteseminaari, teki digiloikan odottamattoman helposti, siinä missä studiokurssit olivat paljon kinkkisempi tapaus. Eipä juuri käy kateeksi syksyllä aloittaneita uusia opiskelijoita, jotka eivät ole välttämättä nähneet luokkakavereitaan fyysisesti ollenkaan – toisaalta jotkut sanoivat opintojensa sujuneen nyt jopa paremmin, kun kursseihin pystyi osallistumaan kotoa käsin.
Videopuheluihin ei ole valitettavasti oikein standardia, ja vaikka suurin osa omista duuneista on hoitunutkin Zoomilla, on taloudessa eri tarkoituksiin käytetty myös ainakin Teamsia, TeamWieweriä, Google Meetiä ja Facebook Messengeriä. Suurin osa toimii Linuxissakin hyvin, mutta toisinaan on tarvinnut kaivaa vanha MBP kaapista.
2019 kypsyi poikkeuksellisen mukava artikkelisato, joten tänä vuonna on ollut sitten vastaavasti hiljaisempaa. Tapani Joelssonin kanssa kirjoitettu ”Another visitor!” – kun puhuvat koneet tulivat kotiin taisi jäädä ainoaksi vertaisarvioiduksi julkaisuksi. Populaaripätkiä tuli sentään työstettyä Skrolliin tavallista enemmän, vaikka niistä ei paljon akateemista glooriaa kerrykään. Hartaasti kokoon kursittu WiderScreenin tietokonekulttuuriaiheinen erikoisnumerokin saatiin lopulta kunnialla pihalle.
Vuoden akateeminen kohokohta osui elokuulle, kun Turun yliopiston humanistinen tiedekunta myönsi allekirjoittaneelle digitaalisen kulttuurin dosentuurin. Juuri mihinkään se ei ole vielä ehtinyt vaikuttaa (eikä välttämättä vaikutakaan), mutta oli silti mukavaa saada jotain tunnustusta vuosien rehkimisestä. Samalla karistin henkisesti viimeisetkin pitkän jatko-opiskelulimbon tomut jaloistani.
Skenetyksiä
Ensi hätään tuntui siltä, että eipä tänäkään vuonna paljon mitään tullut tehtyä, mutta ei tilanne aivan niin synkeältä näytä lähemmässä tarkastelussa. Muutama PETSCII-kuva tuli jälleen väkästettyä joko kilpailuihin tai omaksi huviksi, ja pariin niistä olen jopa näin jälkikäteenkin ihan tyytyväinen. Pariin kertaan laitoin merkistön myös opetuskäyttöön, kun havainnekuvia oli nopeaa tehdä petskarina. Vastoin odotuksiani koodasin jopa yhden ruudun minimalistisen pikku Processing-demon (Naien) Vammala Partyille. Ensi vuonna täytyy luultavasti aktivoitua hieman enemmän, sillä Fit täyttää pyöreät 30 vuotta.
Pitkään ja hartaasti väsätyt Marq’s PETSCII Editor ja Pixel Polizei saivat molemmat ison päivityksen. Merkittävin sisäinen muutos oli loikka Processingin versiosta 2 versioon 3, mutta ujutin kaikenlaista muutakin pikku lisätoimintoa ja bugikorjausta mukaan, kuten vaikkapa paremmat tiedostovalitsimet Linuxille ja Macille. Polliisi on näistä kahdesta se sivuraiteelle joutunut projekti, jolla ei liene paljonkaan aktiivikäyttäjiä, siinä missä PETSCII-editorilla niitä on varmasti ainakin useita kymmeniä ulkomaita myöten.
Virustilanne vaikutti myös skeneen, ja niinpä vain katkesi ’94 alkanut Assembly-putkeni (jos tätä katkoa voi laskea), kun kesäassyt peruttiin. Vammala Party saatiin sentään pidettyä melko normaalisti. Synkkyyden keskellä valopilkkuna loisti läpi mennyt hakemus, jonka myötä demoskene lisättiin kansallisen elävän perinnön luetteloon, mahdollisesti jopa ensimmäisenä digitaalisena kulttuurina maailmassa. 2021 alussa saanemme kuulla, miten kävi saksalaisten hakemukselle.
Tietotekniikkaa
Isot konepäivitykset tuli tehtyä pitkälti viime vuonna, mutta toki viime aikoinakin on tullut räpellettyä tietotekniikan äärellä varsin ahkerasti (jo etätöidenkin takia). Edelleen fokus on ollut siellä tuoreemman tekniikan puolella tyyliin peesee-Raspi-verkkolaitteet, joten retrokokoelma on saanut enimmäkseen odottaa aikaa parempaa. Linux-osaamista on karttunut vapaaehtoisesti ja hieman pakollakin, että videoneuvottelut ym. on saanut pyörimään.
Alla on nyt varsin pelikelpoinen peesee, mutta itse pelaamiselle ei ole oikein riittänyt aikaa, eikä jonossa ole ollut järin montaa kuumottavaa teostakaan, joita olisi ollut pakko päästä hakkaamaan. Proton on ollut jälleen ystävä, ja sen avustuksella tuli tahkottua läpi ainakin näyttävä Gris ja viihdyttävä Creaks. Inside taisi tulla pelattua taas ainakin kolme kertaa läpi pikku palasissa, mutta mihinkään speedrun-yritykseen en ole ainakaan vielä uskaltautunut. Steam-kirjastossani olisi varmaan toistasataa täysin kokeilematonta tekelettä – koskahan noidenkin äärelle ehtinee?
Shakkia
Korona puraisi shakkikerhoja pahasti, ja suuri(n) osa tämän vuoden kilpailuista on jouduttu peruuttamaan. Parit nappulaturnaukset sentään ehdittiin koluta ja puistoshakin kovatasoinen HM. Linjoilla on toki voinut pelata yllin kyllin, mutta hyppy takaisin oikealle laudalle ei ole aina ihan helppo, kun tilanteita hahmottaa oikeilla pelivälineillä heikommin. Nappuloita ja lautoja tuli kokoelmaan vain muutamat uudet, mutta sentään onnistuin parin vuoden etsimisen jälkeen lopulta hankkimaan aidot Tannit, joita on tehty Vammalassa.
Uskaltauduin helmikuussa kokeilemaan pikashakkia Lichessissä, vaikka olinkin jo ennalta tuominnut sen itselleni liian kiivastahtiseksi ja mahdottomaksi. Ennustukset näyttivät käyvän toteen, kun alkuunsa tuli takkiin melkein järjestään. Kaikkeen tottuu ja nyt joulukuun lopussa vertailulukuni on noussut pohjamudista jo melkein 500 pistettä, eikä 3+2 tunnu enää ollenkaan niin hätäiseltä huiskimiselta kuin aluksi. Noin kaikkiaan alan huomata omassa pelaamisessani näin kolmen vuoden jälkeen jotain tiettyä rutinoitumista ja kokemusta, kun kuvioita alkaa tunnistaa helpommin ja törkeiden munausten määrä on hiljalleen pienentynyt.
Leffoja ja sarjoja
Taloyhtiö laittoi kerhohuoneen oven säppiin – tämäkin taas koronan vuoksi – joten vuoden molemmat länkkärimaratonit oli harmillisesti pakko perua. Toivottavasti edes ensi keväänä tärppää, koska pitäisi jo päästä näkemään sinne jyvitetty The Ballad of Buster Scruggs. Noin muuten olen jatkanut länkkäreiden kuluttamista, mutta selvästi enemmän vanhoja laatufilkkoja uudelleen katsellen kuin aiemmin näkemätöntä bulkkia haalien. Eräänä aluevaltauksena oli sentään ehta 3D-länkkäri, vaikka kokemusta ei voi kovin nautinnolliseksi luonnehtiakaan.
Yhtenä kartoitusprojektina katsoin läpi puukkojunkkarileffat, missä ei juuri aikaa vierähtänyt “genren” niukkuuden takia. Täysmittaisille filkoille on usein vaikea löytää aikaa, kun taas sarjoja on helpompi koluta, joten ysärin vanha suosikki Kyllä Jeeves hoitaa sai uuden kierroksen. Muuten työn alla on ollut ainakin Star Trekiä, useampi kausi Merilinjaa sekä aivan hiljattain korealaista zombidraamaa Kingdom.
Muita puuhia
JavaScript on kökköyksistään huolimatta nykyään tärkeä työkalu, joten opettelin sitä sen verran kuin oli tarpeen omien interaktiivisten kikkareiden saamiseksi verkkoon. Tyypitettyjen perinteisten kielten suunnasta tulevalta “kaikki käy” -mentaliteetti ei irtoa noin vain, mutta on sitä kaikenlaista muutakin tullut neppailtua, joten miksipä ei tuota. Mihinkään loputtomaan frameworkkien suohon en ajatellut sukeltaa, vaan pitäydyn näillä näkymin tutunoloisessa P5.js:ssä, jota voi kirjoittaa vaikkapa Processingin editorilla suoraan. Pistin linjoille pari ensimmäistä kokeilua: Frozen ja Jsrokit.
Vuoteen on väsähtänyttä huumoriaan suonut IL-kroppailu, jossa yhdistetään jonkin iltiksen artikkelin otsikko ja seuraavan artikkelin kuva koomiseksi hybridiksi. Näitä on tullut väkästeltyä jo useita satoja ja joukossa on jokunen helmikin. Olen postaillut silloin tällöin best of -kokkareita Feseen, joten alla olevassa kollaasissa on vain yksi näytteenä.
Iskän vuosikatsaus ei voi tietenkään olla kattava, jos muksuista ei mainita mitään. Ihan hyvin on onneksi mennyt: poitsu selvisi kotikoulusta ilman sanottavia ongelmia (itsestäni en ole niin varma) ja tyllerö on kasvanut jo niin, että vuoden päästä odottaa eskari. Rakkaiden sisarusten rähinä tuntuu loputtomalta, mutta koitan lohduttaa hermojani, että tämä on vain ohimenevä vaihe… Koronaa ei ole perheeseen toistaiseksi tärpännyt, ja tämän vuoden 2020 ikimuistoisen ilmiön sivuutammekin varsin mieluusti.
3D-länkkäreitä ei ole tehty paljoa ja niiden vähienkin saatavuus on surkean heikkoa – 2D-versioita samoista leffoista toki löytää helpostikin. Tunnetuin pläjäys lienee Wäynän tähdittämä Hondo (1953), jonka lisäksi ainakin André De Toth ohjasi Randolph Scott -leffat The Stranger Wore a Gun (1953) ja The Bounty Hunter (1954). Nämä kaikki osuvat sinne fiftarin 3D-aallon ytimeen.
Terppa sai hankittua käsiinsä 3D-DVD:nä julkaistun spagettipätkän Comin’ at Ya! (1981), jota voi pitää melkoisena harvinaisuutena, koska kotikatsomoihin ei stereoskooppisia länkkäreitä ole koskaan juuri myyty. Pääosiin värvättiin ihan nimiä, Tony Anthony sekä Victoria Abril, ja kuvaushommat hoidettiin monen muun italowesternin tapaan Espanjan Almeríassa.
En oikein tiedä, kuinka “standardi” formaatti 3D-DVD on ja millaiset laitteet tarkalleen vaadittaisiin sen suoraan katsomiseen. Sopiva soitin, telkkari ja sulkijalasit varmaankin olisivat tarpeen, mutta sellaisia ei taloudesta – eikä varmaan kovin monesta muustakaan taloudesta – löydy, joten piti keksiä jokin muu katselukeino. Vasemman ja oikean silmän kuva on tallennettu vuororiveille, joten sinältään elokuva näyttää melkoiselta viivasössöltä:
Vaude, kolmedeetä!
Ei hyvä. Video on tallennettu 720×480-resolla, joten yhdelle silmälle jää 720×240 pikseliä, josta voi vielä vähentää yllä näkyvät mustat reunukset, jolloin todellista kuvaa jää enää jäljelle silmää kohti noin 720×160. Ei liene siis suuri yllätys, että laatu on varsin möhmöä. Ensimmäisenä askeleena oli dumpata yksittäiset framet png-tiedostoiksi, jonka jälkeen oma Processing-koodinpätkä erotteli vasemman ja oikean silmän viivat erillisiksi kuvapareikseen.
Köyhän miehen helppona ratkaisuna olisi sinipunalaseilla katseltava anaglyfistereo, jollaisen tekaisinkin kokeeksi. “Hieman” ankeaksi menee mustavalkoisena, joten en ruvennut katsomaan filkkaa siinä muodossaan, vaikka sopivia laseja olikin plakkarissa. Ainakin sain tuolla kokeilulla varmistettua, että stereokuvassa on mitään järkeä. Järkevämpi muoto on kuitenkin laittaa vasen ja oikea kuva vierekkäin (side-by-side stereo), jota voisi tiirailla vaikkapa VR-silmikkonäytöllä, kuten HTC Vivellä tai Oculus Riftillä.
Pankkiryöstö (vasen) ja pankkiryöstö (oikea).
VR-härpättimiäkään ei meiltä löydy, joten projekti jäi hyllylle siihen asti, kunnes Terppa bongasi kirppikseltä halvan VR Shineconin, johon voi sovitella kännykän sisään. Viime kädessä laite on lähinnä hiukan tuotteistettu Google Cardboard. Oma tuore puhelimeni on liian iso suoraan käytettäväksi, joten edessä oli vielä yksi tappelu ffmpegin kanssa, kun videoon piti lisätä sivuille surureunaa kuvan kaventamiseksi. Nämä lukuisat konversiokierrokset eivät jo valmiiksi rupuista kuvanlaatua juuri parantaneet.
I’ve seen things you people wouldn’t believe.
Kaiken tämän vääntämisen jälkeen – hieman yllättäin – homma jopa toimii. Koko leffaa en ole vielä ehtinyt katsoa, mutta sieltä täältä poimituissa pätkissä syvyysefekti pelittää kohtuullisen hyvin, vaikkakaan ei ihan aina (stereopareissa on välillä esim. liikaa pystysuuntaista eroa). Puhtaasti elokuvana Comin’ at Ya! edustaa valitettavasti normaalia, tuskastuttavaa spagusekoilua, joten ihan helppo kokemus ei ole tiedossa. Katsojalle on haluttu tarjoilla 3D-effuja koko rahalla, kuten jo filkan nimikin vihjaa, joten kameraa kohti osoitellaan asetta ja lapioidaan hidastettuna kaikenlaista skeidaa enemmän kuin olisi tarinankerronnan puolesta tarpeen. Mutta silti, 3D-länkkäri!
edit: Nyt on koko filkka nähty. 3D-vaikutelma hajosi aika usein ja tuntui siltä, että silmäväliä piti tviikata kohtauksesta toiseen. Juoni oli odotetusti klisekasa, ja monet kohtaukset olivat tarpeettoman pitkitettyjä; usein ihan siksi, että saatiin jotain roinaa heiluteltua stereokameran edessä. Shinecon on näyttölaitteena hieman tuskallinen, sillä härpättimen kehys painaa nenänselkää, vaikka lisäsin väliin jo pehmustettakin.Noh, tulipa nähtyä ja tämä lievä simulaattorisairauskin kohta haihtunee…
En ole koskaan erityisemmin kiinnostunut JavaScriptistä — perinteisten tyypitettyjen kielten suunnasta tulevalle “kaikki käy” -asenne ei tule luonnostaan, minkä lisäksi kaikenlaisten kirjastojen ja alustojen kirjo on jokseenkin masentava. Samaan aikaan on toki pakko myöntää, että JS on nykypäivää ja kehittynyt hurjasti takavuosien turhista mouseover-ajoista. Aina välillä olisi myös ihan kätevää saada oma Processing-kikkare webaselaimen kautta muiden nähtäväksi, kun Java-applettien aika on auttamattomasti ohi.
Olen käyttänyt sillanrakennukseen aiemmin Processing.js:ää, joka kuitenkin lakkasi jossain vaiheessa päivittymästä eikä ollut muutenkaan koskaan täysin ongelmaton. Pienet kikkarat siirtyivät kyllä, mutta vähänkin mutkikkaamman pätkän kanssa tuli nopeasti seinä vastaan. Tuoreempaa tulokulmaa edustaa välimallin ratkaisu P5.js, joka on lähinnä kirjasto Processingin käteviä funktioita JS:lle. P5.js on sikäli virallinen ja tunnustettu, että sitä voi kirjoitella suoraan Processingin editorilla, kunhan vaan asentaa tarvitun laajennuksen. Sketsiä ajettaessa lopputulos menee suoraan tabiksi oletusselaimeen, eikä ympärille tarvitse onneksi räpeltää itse mitään HTML/CSS-purkkaa.
Ensimmäisenä yritelmänä oli joulun aikaan sopiva piirto-ohjelma, joka peilaa hiirellä piirrettävän viivan kahteentoista kertaan symmetrisesti. Härpättimellä saa helposti aikaan etenkin lumihiutaleita (sekä pitsipöytäliinoja):
Lumi on jo peittänyt canvasin webasessa.
Perustutoriaaleja googlaamalla pääsi nopeasti alkuun, eikä kokeiluun paljoa aikaa seonnut. Melko varmasti joitakin asioita tuli tehtyä tarpeettoman kierosti, mutta pluralismi näyttää olevan JS:lle luonteenomaista. Saman asian voi tehdä monella eri tavalla ja hyvin kyseenalainenkin “ratkaisu” saattaa vahingossa toimia. Mieluummin tietysti opettelisin alusta saakka niitä hyviä tapoja. Muuttujien näkyvyysalue ja esittely tuntuu edelleen hiukan randomilta: perinteinen var-tapa on oikeastaan ihan suoranaisen huono, mutta nykyään on sentään tarjolla järkevämpi let.
Sormiharjoituksena tiivistin vielä koodin mahdollisimman lyhyeksi, missä puuhassa tuli opittua sitä sun tätä uutta jekkua. Luettavuus on edelleen yllättävän hyvä, joten en varmaankaan osannut vielä käyttää kaikkia mahdollisia optimointikonsteja: frozen3.js. Pätkää voisi toki vielä merkittävästi lyhentää toiminnallisuutta heikentämällä — vaikkapa kumituksen poistolla ja värejä rumentamalla — mutta moinen kikkailu ei ole järin kiinnostavaa. Tulipa nyt tätäkin kokeiltua ja tulevaisuudessa ehkä lisääkin.
Värkkäilin 2016 retrograafikoille Pixel Polizein, joka on tarkoitettu pikemminkin toisaalla piirrettyjen kuvien tarkastamiseen kuin yleiseen formaatista toiseen konvertointiin ja ditherointiin (vaikka sillä formaattikonversioita kohtuudella pystyykin tekemään). Siinä missä tekstigraffaeditorilleni löytyi nopeasti käyttäjäkunta, jäi Poliisi hieman marginaaliin, kenties siksi, että samat asiat sai tehtyä muillakin ohjelmilla.
Alkuinnostuksen voimin jaksoin väsätä tukea aika monelle plattikselle ja moodille, mutta lopulta se polttoaine oli käytetty ja 2017 tein enää pieniä korjauksia. Sen jälkeen tuli yli kolmen vuoden tauko, ja kuvittelin jo koko projektin tulleen tiensä päähän – näinhän on tunnetusti käynyt monille muillekin innolla aloitetuille graffatyökaluille. Läsähdyksestä huolimatta prokkis toimi kuitenkin hyvänä olio-ohjelmointi- ja ohjelmistosuunnitteluharjoituksena: kokonaisrakenne on kohtuullisen selkeä, uusia koneita on helppo lisätä eikä missään ole kohtuuttoman mutkikkaita söheröitä, joihin en uskaltaisi enää itsekään koskea. Samaa ei voi valitettavasti sanoa PETSCII-työkalusta, joka mutatoitui pikaisen yhden illan kokeilun ympärille.
Innostuin päivittämään petskariedikkaa jälleen tänä syksynä sieltä täältä, etenkin kun Processing 2:ssa jumittamisesta alkoi tulla todellisia ongelmia. Lopetin siis vetkuttelun ja kohtuullisen pienin muutoksin sain siirryttyä Processing 3:een. Sitä myötä muistin myös Poliisin ja hyvin pikaisesti modernisoin senkin. Kopypastesin samalla mukaan uudistettua UI-koodia toisesta projektista, mitä myötä käyttöliittymä hieman koheni. Jo pelkästä P3:een siirtymisestä koitui jotain etuja korjattujen tiedostopolkujen ja uudemmilla JRE:n versioilla toimimisen muodossa.
Samaltahan se näyttää.
P3:ssa ei voi enää pompotella piirtäessä grafiikan pehmennystä pois smooth/noSmooth-funktioilla, joten oli pakko valita pikselien erottuvuuden vuoksi pehmentämätön graffa. Asiasta ei onneksi sanottavaa harmia koitunut muuten kuin hieman rösöisempien painonappien muodossa. Eri zuumitasoja kokeillessa huomasin käyttöliittymätekstien menevän joskus kuvan päälle, joten tulipa korjattua sekin pitkäikäinen bugi samalla. Katsotaan nyt, mitä teen seuraavaksi: retrokoneita ja niiden graffamoodeja olisi loputtomasti, mutta energiaa taas ei ole loputtomasti, joten jollei jostain paljastu suurta lojaalia käyttäjäkuntaa, niin taidan tyytyä lähinnä korjailemaan pikku bugeja.
Jälleen kerran tuli työn alle uusi läppäriprojekti, kun kierrosta poistuneesta Dell Latitude E7270:stä piti tekemän itselleni liikkuvaa työasemaa. Linux Minttiä koneeseen toki, mutta päätin saman tien päivittää tuoreimpaan eli versioon 20, josta ei ollut vielä muuten kokemusta. Muutaman päivän kokemusten jälkeen tunnustin tosiasiat, vedin koneen sileäksi ja asensin tilalle hyväksi todetun 19.3:n. Jaa että miksikö?
Javan JOGL ja sitä myötä Processingin rautakiihdytetty 2D sekä 3D eivät toimi.
Varmaankin edelliseen liittyen OpenGL-ohjelmien kanssa on vähän kaikenlaista muutakin epämääräistä pykimistä, kuten mustia ruutuja.
Viimeisimmän päivityksen myötä hajosi myös Steam, mikä oli aika lailla viimeinen pisara. Veikkaan näiden kyseisten kompurointien johtuvan epäonnisesta Mesan, X11:n tai kernelin versiosta, mutta motivaatio syvällisempään selvittelyyn puuttuu.
Chromium on heivattu paketinhallinnasta ja tilalle tuputetaan Firefoxia. Tämä ei ole sen tyylistä valinnanvapautta, jota Linux-käytöltäni haen.
Kaikenlaisia legacy-kirjastoja on niin ikään hävitetty pakettitarjonnasta, mikä on tavallaan ymmärrettävää, mutta samalla rikkoo väistämättä joidenkin vanhojen ohjelmien yhteensopivuuden.
Tahdon uskoa, että nämä ovat tuoreen version lastentauteja, jotka ajan oloon ainakin osittain ratkotaan (paitsi kenties ideologiselta haiskahtava Chromium-kupru, jonka sentään sai ohitettua PPA:n avulla). Juuri tällä hetkellä tilanne on kuitenkin se, että tarvitsen läppärin oikeaan käyttöön enkä lelutukseen, joten yritetäänpä uudestaan joskus toiste – eikä tuotantokoneella.
Vammala Party – jolla on taas kotisivutkin – saapui vääjäämättä, mutta koronatilanteen vuoksi osallistuminen oli tällä kertaa mahdollista myös streamin välityksellä. Entryjä tuli taas tehtyä muutamaan kompoon enemmän ja vähemmän onnistuneesti: hutaistut tuplainvideot menestyivät mainiosti, samoin kuin satunnainen kännykkäkuva, siinä missä omalaatuinen Processing-demo ja teknisesti edistynyt petskari jäivät kompon hännille. Levykkeenheitossa jäin niukasti toiseksi, mikä kertonee ainakin vuodesta toiseen tasaisesta tuloskunnosta 🙂
Olipa siinäkin taas vuosi. Päällimmäisenä mieleen ovat jääneet monenlaiset velvoitteet, kahden työn välillä pomppiminen sekä lähes krooniseksi kääntyvä uupumus. Muuttaminen on aina raskasta puuhaa, ja vaikka vaihdoimme vain kämppää samassa talossa, niin melkoinen huhkiminen siihenkin tarvittiin. Ei vuosi toki mitään pelkkää kurjuutta ollut: muksuista on alati iloa – jos sitten lisästressiäkin – ja tutkimuksen saralla monenlaista tuli valmiiksi. Harrastuksille on jäänyt aikaa vaihtelevasti, mutta näistä kaikista tarkemmin sitten omissa kohdissaan.
Töiden paiskintaa
Kahden vuoden puolipäiväinen postdoccini pelikulttuurien tutkimuksen akatemiahankkeessa tuli juuri loppuunsa, joten nyt on palattava täysipäiväisesti opetushommiin Aallossa. En toki ole lopettamassa tutkimuksen tekemistä mihinkään ja pysyn hankkeessa roikkumassa edelleen jollain nimikkeellä, vaikka palkka lakkaakin juoksemasta. Ajan jakaminen kahden työpaikan välillä ei ole ollut mitenkään helppoa, ja opetustehtävien pakottavan luonteen vuoksi tutkimus on usein joutunut väistämään. 2018 oli aika kuiva julkaisujen suhteen, mutta viime vuonna pitkään limbossa roikkuneita papruja tuli pihalle peräti oikein mukavasti. Tässä näitä tärkeimpiä:
Olen laiska kirjoittelemaan mitään yksinäni, joten suurin osa on yhteisjulkaisuja muiden kanssa. Musiikissa julkaistun träkkeripläjäyksen tein kuitenkin ihan peräti itse. Yksin kirjoittamisessa on joitakin selviä etuja, kun muutoksia voi tehdä nopeasti, eikä erilaisia tyylejä tarvi sovitella yhteen. Toisaalta motivaatiota on vaikeampi pitää yllä, kun kaikesta on vastuussa lähinnä itselleen.
Skenepuuhat
Tämä puoli oli jälleen hieman paitsiossa, mutta eipä sentään kokonaan. Suurin osa skenetyksestäni keskittyi jälleen PETSCII-grafiikan ympärille muodossa tai toisessa: sain aikaiseksi jokusen kuvan ja pitkästä aikaa myös entistä ehomman version editoristani. Samoille “markkinoille” tuntuu olevan jo kovasti tunkua, mutta ainakin toistaiseksi näkisin, että omassa kikkaleessani on sujuvin työnkulku, kunhan vaan jaksaa opetella niitä pikanäppäimiä. Ainoa varsinainen koodaamani demo oli Vammala Partyille Processingilla väsätty Machine Make Machine, jota ei tosin sen virallisemmin julkaistu.
Hieman meta-skenetyksen puolelle menee vuoden toinen merkkipaalu, demoskenen hakemus kotimaiseen elävän kulttuuriperinnön luetteloon. Suomen hanke on osa isompaa kokonaisuutta, jonka tavoitteena on saada demoskene UNESCO:n aineettoman kulttuuriperinnön listalle. Oman osuuteni työryhmässä piti alkujaan olla pieni, mutta lopulta päädyin kirjoittamaan lähes koko hakemuksen ja hankkimaan sille tukijatkin. Katsotaan, miten käy!
Shakkivuosi
Innostus ja omat kyvyt ovat aaltoilleet stressitason mukaan, mutta shakkia tuli harjoiteltua ja pelattua jälleen verrattain ahkerasti. Osallistuin laskujeni mukaan ainakin neljään viralliseen kilpailuun ja päälle vielä puistoshakin Helsingin mestaruuskisoihin. Mitään sanottavaa menestystä ei edelleenkään herunut, mutta vahvuuslukuni (Selo) lipsahti sentään 1400:n päälle ja pari kertaa voitin jopa selvästi vahvempia pelaajia. Nurkissa alkaa olla jo sen verran paljon välineistöä, että koitan hillitä enimpiä hankintoja – toki perheeseen silti ilmaantui taas muutamat uudet napit sekä laudat, ja vissiin pari shakkikelloakin.
Tärkeämmässä roolissa olen joka tapauksessa ollut perheen varsinaisen lahjakkuuden huoltajana. Poitsu kuskasi tänä vuonna kotiin peräti kolme SM-mitalia, joista viimeinen oli se pitkään odotettu kulta koululaisten SM-kisoista Espoosta. Lisäksi pikashakista hopeaa keväällä ja nuorten SM:istä pronssia. Näiden ansiosta aukesi samalla mahdollisuus osallistua kansainvälisiin kisoihin, joihin ei vielä kuitenkaan pystytty repeämään aikataulujen takia. Vuosi loppui vielä mukavasti pääkaupunkiseudun tokaluokkalaisten jaettuun koululaismestaruuteen. 2020 tulee olemaan jälleen se vaikeampi joka toinen vuosi, kun samassa sarjassa ovat vastassa vuotta vanhemmat pelaajat.
Koneiden koppulointia ja hieman käyttöäkin
Huomattavan suuri osa vapaa-ajasta on seonnut tietokoneiden ja niiden ohjelmien säätämiseen. Tällä erää ei niinkään retroraudan äärellä kuten yleensä, vaan pikemminkin kohtuullisen tuoreiden PC-koneiden. Satunnaisesta päähänpistosta keväällä alkanut koneprojekti kasvoi lumipallon lailla, ja lopulta kaikki perheen käyttökoneet menivät vaihtoon. Osa virittelystä on ollut hieman tuskallista (ja kallista) kantapään kautta opettelua, mutta suurelta osin ihan hauskaakin, ja tunnen nyt olevani paremmin kartalla muisteista, näyttiksistä, prosuista ja muista nykytekniikan ihmeistä kuin pitkään aikaan.
Käytettyjen bisneskoneiden kunnostus ja myynti nousi 2019 entistä näkyvämmäksi kotimaisen tietoteollisuuden haaraksi, ja samoista markkinoista kamppailevat jo varmaankin kymmenet yrittelijät; katsotaan nyt sitten, alkavatko jossain vaiheessa pudotuspelit. HP:n raatoja meillekin hankittiin edullisuuden ja luotettavuuden nimissä, vaikka näin jälkiviisaana olisin ehkä tehnyt toisin, sillä merkkikoneiden laajennettavuus on vähän niin ja näin.
Alati kehittyvä Proton osoittautui isoksi jutuksi Linux-pelaajalle, kun ennen hankalan tunkkauksen takana olleet tuhannet Windows-pelit tulivat helposti saataville Steamin kautta. Vuoden merkittävimpiä kokemuksia olivat etenkin Inside sekä joskus ammoin hankkimani Tales of Monkey Island -sarja. Samalla vauhdilla rupesin hakkaamaan läpi muitakin Mankeja, eikä jäljellä ole enää kuin Escape, jonka karu 3D-grafiikka ja etenkin kankea ohjaus ovat toistaiseksi onnistuneet viivyttämään maaliin pääsyä.
Leffat: sitä sun tätä
Shakki- ja lännenelokuvien vahtaaminen on jatkunut yhä, tosin aiempaan verrattuna jokseenkin säästöliekillä. Näistä saattaa taas joskus päätyä jotain julkaisuksi asti, kunhan sopiva tilaisuus tarjoutuu. Noin muuten ruudulla on pyörinyt jälleen paljon scifiä ja ihan vuoden loppua kohti hieman pukudraamaakin (Ylpeys ja ennakkoluulo -BD on tulossa postissa). Uusien sisältöjen haalimisen sijasta olen palaillut jälleen myös vanhojen klassikoiden äärelle: Alien toimi edelleen kuin häkä, vaikka Scottin myöhemmät yritelmät kuinka hyvänsä ovatkin yrittäneet paskoa sarjan maineen 🙂
Länkkärivuoden parhaita aiemmin näkemättömiä teoksia oli tuoreehko The Sisters Brothers. Pitkään odottanut The Ballad of Buster Scruggs pitää nähdä viimeistään tänä vuonna – sopiva tilaisuus voisi olla vaikkapa kevään länkkärimaraton. Maratonit pyörivät vanhaan malliinsa ja katsojamäärä oli sikäli korkea, että eiköhän tuokin perinne tule hengissä pidettyä. Scifin puolella Aniara oli vaikuttavan kyyninen kuvaus ihmismielestä, ja jostain syystä aikanaan täysin ohi mennyt Moon sekin vuoden parhaita kokemuksia. Eräänä sivujuonteena katsastin vielä rillumarei-elokuvat.
Semmosta. 2020 pitää yrittää huolehtia hieman paremmin niin fyysisestä kuin psyykkisestäkin terveydestä – enemmän lepoa, jos vain suinkin mahdollista ja vähemmän stressaavaa silppua. Parempaa vuotta ja jaksamista kaikille muillekin ryytyneille!
Viikonloppuna pidettiin taas Vammala Partyt – Ikaalisissa. Ohessa omia kilpailutuotoksiani sekä Emilin PETSCII-kuva (Monster). Ajettavassa muodossa CSDb:n partysivulla. Menestystä ei kompoissa irronnut, lukuun ottamatta YouTube-mashuppiani Slapsticksucker. Processingilla väkästettyä Demoa (Machine Make Machine) tuskin julkaistaan tuossa muodossaan sen virallisemmin, mutta itse effu nähnee vielä käyttöä joskus.
“Systeemin vartija se poliisin on työ / Poliisi hippejä pampulla lyö”
News
22.1.2021: Koala bg color wasn’t correctly exported, but perhaps now.
6.12.2020: Another little fix: removed the useless exit nag dialog, as we’re not doing any real editing here. Some minor layout fixes to the platform selector.
1.12.2020: A quick hotfix to deal with blurry pixels when zooming. Platform names better visible in the initial selector. Binary updated too.
1.12.2020: After a break of three years, a new binary release with the following goodies:
The source is now Processing 3 compatible, and thus the program will work better with recent Java versions
New AWT-based fileselector on Linux and Mac, should be much better (override with the AWTSELECTOR setting)
More native UI look on Linux and Windows for Java dialogs
Improved platform selector window
Added a nag dialog when trying to close the window
Better layout on zoomlevels >2
More robust preferences handling, Macs should find it better now too
1.12.2020: You thought Polizei was dead, and so did I. I’ve started migrating the source to be Processing 3 compatible and thus more futureproof.
8.7.2017: What, updates? Yes! Fixed BG colors should work now with Plus/4 multicolor. Thanks to Ptoing for the bug report. In addition, the latest source-only features are now part of the binary distribution.
6.5.2016: Source-only: You can set your own error color with ERRORCOLOR in prefs.txt
31.5.2016: Source-only: Loading transparent images doesn’t create a mess anymore. Fix kindly submitted by Dr. TerroZ.
What?
Pixel Polizei is a tool for the retro/scene/retroscene artist. It lets you automatically check whether an image conforms to the color limits of a particular oldschool platform and save the result in certain native formats. The underlying idea is that you can use whatever paint program you happen to prefer for creating the images and observe – almost real-time – if you’ve made a mistake somewhere. One more fundamental bit is that the tool is multiplatform unlike many others.
Pixel Polizei is not a paint program or a generic image format converter, even though the aim is to implement at least the most typical file types for the supported platforms. Neither is it meant to be used as a converter for random family photos. You can use it for that purpose too, but the end results won’t be as good as with dedicated tools. For converting various old formats to modern images check out the Recoil project.
Usage
There’s not much to it: load an image, check whether it’s ok and save it in another format. In the case of errors you can either fix them in your favorite paint program and retry or force the colors to comply. When a piccy is loaded it is automatically converted to the native colorset without dithering, so do that kind of magic elsewhere if needed. Furthermore, remove any borders that you might have or the image will be scaled incorrectly.
If the loaded png or gif is not of the native resolution, it will be down- or upscaled as necessary, which might or might not produce the desired result. Therefore it’s generally better to do the scaling elsewhere. C-64 multicolor and CPC mode 0 have very flat pixels, so drawing a 320×200 image will probably be easier; every second column will just be discarded.
Checking and forcing can be done automatically. In that case Polizei works according to its name and constantly polls whether you’ve saved the file anew. If there is an updated version, it’s loaded and checked automatically. This way you can quickly find and fix color clashes – keep the Polizei window always visible on another screen or in some corner.
The zoom toggle lets you look at the image closer, and a grid is available for you as well to better see the character block locations. If the platform has a selectable border color, just click on the color selector.
Check out the “palettes” directory to find the exact colors used on each platform. Drawing with those colors ensures that there’s no complications when importing the image.
Keyboard shortcuts
c – check
f – force
g – grid on/off
r – revert
z – zoom on/off
In some modes you need to press shift when clicking the color selector to set the background color.
Settings
Some settings can be controlled through prefs.txt which should reside in the same directory as the program itself. The following options can be used:
ZOOM=x where x is 1 or more. Note that with ZOOM=1 pixels are never stretched to mimick a real aspect ratio. The larger the value the slower it gets. This is all about UI zooming, not the zoom function of Polizei.
GRID=x, set to 1 to show the grid when starting the program.
PATH=x where x is the absolute path of the directory where your images can be found. Leave blank to go with the default. Do not use quotation marks.
ASPECT=x, which can be one of PAL, NTSC or SQUARE. Used for stretching the pixels like the real machine would. Not relevant on all platforms.
AWTSELECTOR=x, force the use of the new AWT-based fileselector (1) or use the old Swing one (0). Leave empty to use the default.
Supported Platforms
Next follows a list of the supported machines, graphics modes and file formats, coupled with platform-specific quirks (if any). New file formats and machines will most likely be added later.
Amstrad CPC
The CPC is an exceptional 8-bit as you don’t need to care about color clashes: any pixel can be of any color (16 colors in mode 0 and 4 in mode 1). It also has a palette of 27 jolly happy colors to choose from. I found myself wondering what the heck they were thinking when designing the bitmap layout like that.
Supported modes: Mode 0 and 1, with or without overscan (160×200/192×272 and 320×200/384×272).
Supported formats: bin and asm. When copying the files to a dsk image the needed start/load address is $6000 for ordinary images and $100 for overscan pics.
To display the image on an emulator or a real machine, you need to get the file to a floppy – most likely a DSK image. There’s ManageDSK for Windows and iDSK for the rest of us. iDSK probably won’t compile out of the box, but just keep adding #include <stdio.h> to the offending source files until it does. After that you should be able to do this:
This console is so close to MSX (same CPU and VDP) that it was easy to add trivial support for it.
Supported modes: screen 2.
Supported formats: col and asm. MSX sc2 files can be loaded or saved, too, since it’s the exact same mode.
COL is essentially a module dump that you can feed to any emulator or flash cart. I’m not sure if there’s much use for this particular converter, but at least you can show pics on your old hardware – a nostalgic birthday gift for a Coleco fan maybe?
Commodore 64
This old workhorse has been explored over and over again throughout the years. From a graphician’s perspective there are dozens of curious hacks that let you display more colors and pixels than what the standard modes allow. Use the well-known Pepto palette to ensure a faithful conversion.
Supported modes: hires and multicolor. At least basic FLI support will probably follow at some point, but as there’s a plethora of hacked modes, don’t expect all of them to make an appearance.
Supported formats: (Advanced) Art Studio, Doodle, Koala, prg and asm.
There is automated logic which tries to choose the multicolor common “background” color wisely, but as it doesn’t always work out, you can also select the color yourself (shift-click or rmb) and turn fixed bg on.
The resulting PRG files can be run directly by using VICE, 1541 Ultimate or SD2IEC. For some situations you may want to create a floppy image, which can be done with for example c1541 that comes with VICE:
It wasn’t a biggie to add support for the Plus/4 after getting the C-64 side working. A lot of colors available for you (121 shades) and practically square pixels in hires. Not that different otherwise to the C-64, except in multicolor you have 2 global colors and only 2 free colors per block.
Supported modes: hires and multicolor.
Supported formats: Multi Botticelli, prg and asm. Name Multi Botticelli files m.something.prg so that the original program finds them too.
There is automated logic which tries to choose the common “background” colors for multicolor pics, but you can also select the color yourself (shift-click and rmb) and turn fixed bg on.
Running the resulting PRG files is pretty much the same as on the C-64. See above.
MSX
A plain MSX1 can do 256×192 pixels with 15 – not 16 – washed-out colors. PAL machines produce a really flat “widescreen” image, whereas the NTSC ones are more or less 4:3. MSX2 computers could display a lot more colors at better resolutions, but at least as of now they’re not supported, as they’re not that special from a conversion point of view.
Supported modes: screen 2 and 3. S2 has otherwise free color placement except that a block of 8×1 pixels can only have two colors. S3 is blocky and has free pixel placement.
Supported formats: sc2, sc3, com and asm. Name table supported with sc2, but sprites not.
The com files are normal MSX-DOS programs that you can copy to a floppy or an image for running them on a real machine or an emulator. The good old wrdsk will do the trick:
SC2 files are essentially screen memory dumps that can be directly loaded from BASIC like this:
bload"piccy.sc2",s
Oric
Le Oric’s graphiques are completely different to almost any other machine. It’s a bit like teletext in some sense: you can either show pixels or change the paper/ink color. To make it even more complicated, any 6×1 block can also be shown in inverted colors and the bottom of the screen (3 character rows) is hardwired to text mode. Read this.
Supported modes: hires. 240×200 pixels with 8 colors. Setting the border color will only affect the last three text lines.
Supported formats: tap, hrs/hir and asm.
The tap files can be run from basic with a CLOAD”” or CLOAD”PICCY” depending on the emulator. Use the tap2wav utility to turn the emulator file into audio that can be played back to the cassette port on a real machine. I’ll look into disk files later, but no promises yet.
HRS (HIR) files are simple screen memory dumps saved from BASIC. They can be displayed by switching to HIRES and then simply cloading the file as above. To save one on a real machine, try this:
CSAVE"PICCY.HRS",A#A000,E#BF3F
Panasonic JR-200
Not many have ever even seen this failed Panasonic venture. See here for some technical discussion. From an artist’s standpoint it’s not unlike the Spectrum, except there’s no brightness bit and you can only have 320 different 8×8 character blocks. In addition, there’s blocky 64×48 pseudographics without attribute limits – both “modes” can be mixed freely.
Supported modes: 256x192x8 hires.
Supported formats: cjr and asm.
Panasonic emulators are scarce, but Virtual Panasonic JR-200 will get you started at least. CJR files can be loaded to the emulator or converted to wavs for playing back to the cassette port. See here again. If your goal is to convert Spectrum images to the JR-200, check you-know-where for an interactive tool aimed specifically for that. The images can be displayed as follows:
mload:a=usr($1000)
Sharp MZ-700
The MZ-700 is a slightly revamped consumer version of Sharp’s old microcomputer series. 64k memory, color graphics and… wait, there’s only 80×50 pseudographics with a 40×25 color grid.
Supported modes: 40×25 character approximation and 80×50 pseudographics.
Supported formats: mzf and asm.
When approximating pixel graphics with characters you may gain a slight advantage by including the absurd 2nd character set in the conversion. Beware, however, that the output won’t work correctly on Japanese machines that used the 2nd set for something useful instead of various 2×2 character faces and Pacmen.
Pretty much any emulator supports MZF files, which you can load from the monitor by typing L. For a real machine take a look at mzf2wav.
Sharp MZ-800
A lot more capable than its predecessor, the MZ-800 can display 320×200 pixels with four colors or 640×200 with two. Rather exceptionally the graphics are planar and thus pixel placement is free. Add another 16k of VRAM and you get 320x200x16 and 640x200x4.
Supported modes: mode 1/2. 320x200x4 on a stock machine, 16 colors with 32k VRAM.
Supported formats: mzf and asm.
Like with the MZ-700, emulators support MZF loading. In addition to the monitor method you can also choose option ‘C’ from the main menu. mzf2wav is again your friend when dealing with real machines.
ZX Spectrum
The British miracle can display 256×192 pixels with 15 different colors, but in a block of 8×8 you can only have two different colors, which makes the machine a true giant when it comes to color clashes. Furthermore, you can’t have bright and dark colors in the same block.
Supported modes: eh… there is just one.
Supported formats: scr, tap and asm.
An scr file (also known as SCREEN$) is a simple memory dump of the Spectrum screen and supported by various tools and emulators. A tap file can be loaded by emulators or from a card reader such as divIDE. You can also convert .taps to audio using tap2wav and then play them back to a real Spectrum through the cassette port. LOAD”” is all you have to type.
Download
The latest stable binary is available here: ppolizei.zip. If you’re after the latest features and bugs, check out the source at svn://kameli.net/marq/ppolizei (the last Processing 2 compatible revision is 717). Because the program is written in Processing you – unfortunately – need to install Java 8 or newer to run it. The old version from 2017 can still be downloaded here.
Mac users should visit System Preferences – Security & Privacy if you see something like “blah blah is damaged and can’t be opened”. Allow “any” software to run to correct the problem. If all else fails, download Processing and run from source: copy the “ppolizei” folder from “src” to your sketchbook and open ppolizei (.pde if you’re using the file selector).
It shouldn’t be too tricky to add new file formats or even totally new machines. Contributions are welcome, but let’s stick to a 4-char tab to keep the source uniform. The code is released under the liberal WTFPL license.
Credits
Most code and design: Marq/Fit^L!T^Dkd (see also: PETSCII)
Several templates and other help: Dr. TerrorZ/L!T (see also: Multipaint)