Posts filed under 'retro'

Oric + Cumulus pikaisesti

Ehdin lopultakin testaamaan jo kauan sitten tilaamaani Oricin Cumulus-kortinlukijaa. Oricin valmistamat laitteet olivat muutenkin vahvasti marginaalissa, ja kalliit levarit vielä marginaalin marginaalissa, joten perusjampan tiedonsiirtomahdollisuudet ovat tähän saakka rajoittuneet lähinnä hitaaseen äänikortilta kasettiportin kautta pöristelyyn. Siispä Cumulus-projekti otettiin ilolla vastaan ja ennakkotilaajia tuli lopulta varmaan sadan nurkille. Tässä ensimmäisiä havaintoja:

  • 3D-printattu kuori on hieman karu, mutta toisaalta sopii Atmosin väreihin erittäin hyvin
  • Käyttöliittymä on yksinkertainen: mikrokytkimillä valitaan levytiedosto valikosta. Oricin resetointikin onnistuu valikosta (itse mikrossahan ei resettiä ole).
  • Cumulus on todella tarkka muistikorteista ja tiedostojärjestelmästä. Pitää olla SDHC ja FAT32, normaali SD-kortti ei käy. Edes kaikki SDHC:t eivät suostu yhteistyöhön.
  • Itselläni ja T. Heikkisellä ei ollut – onneksi – muita ongelmia toimivuuden kanssa, mutta foorumilla on ollut ties mitä kompurointia. Kaikkien koneiden kanssa Cumulus ei yksinkertaisesti vain toimi, johtuen ilmeisesti heikoista väyläsignaaleista.
  • Vakiopoweri ei jaksa Cumulusta luotettavasti pyörittää, joten konetta on käytettävä esim. hiukan jäykemmällä yleismuuntajalla
  • Ohjelmat tuntuvat toimivan hyvin ja lataus on nopeaa, joskaan en paljon ehtinyt vielä kokeilla

Ongelmistaan huolimatta erittäin tervetullut lisä Oricin laitevalikoimaan. Jatkossa tulevat softapäivitykset saattavat kohentaa toimivuutta – firmiksen voi päivittää myöhemmin muistikortilta. Hankin saman tien kaksi, koska nämä saattavat olla tuttuun tapaan maailmasta pian katoavia tuotteita. Sitten kun vielä keksisi jotain tekemistä itse Oricille…

Add comment March 23rd, 2014

Huomioita Miten tallentaa pelialaa? -seminaarista

Osallistuin eilen Miten tallentaa pelialaa? -seminaariin Tekniikan museolla. Pongista Pleikkaan -näyttely on ollut ilmeisen suosittu ja kun pelien arvo on muutenkin hiljalleen alettu tunnustaa, niin myös museot ja muut instituutiot ovat ruvenneet hiljalleen havahtumaan. Harrastajien ja pelitutkijoiden toimesta teeman ympärillä on pyöritty toisaalta jo vuosikaudet. Paikalla oli enimmäkseen museoiden ja arkistojen edustajia, jonkin verran pelialan työntekijöitä sekä muuutama tutkija. Tässä pikaisesti jokunen havainto esiin tulleista aiheista:

  • TAKO (http://www.nba.fi/fi/kansallismuseo/tako) on suomalaisten museoiden yhteistyöhanke, jossa eri museoille on jyvitetty erilaisia teemoja. Pelit ovat “Tuotanto, palvelut ja työelämä” -teeman alla ja erityisesti peleihin ovat keskittymässä Espoon kaupunginmuseo, Tampereen Rupriikki sekä Tekniikan museo.
  • Tällä hetkellä pelien arkistointi on vasta alkutekijöissään, vaikka kullakin museolla onkin ollut aiheeseen liittyviä näyttelyjä ja kokoelmissa on jo pelejä (sekä digitaalisia että lautapelejä).
  • Vastaavia haasteita kohdataan esim. mediataiteen arkistoinnin parissa.
  • Pelikonepeijoonit mainittiin useassa esityksessä aktiivisena harrastajaprojektina, jonka kanssa museoilla on ollut yhteistyötä.
  • Neogamesin Koopee Hiltusen puheenvuorossa korostuivat säilytyksen moninaiset ongelmat, kuten harvinaisiksi käyvät laitteet.
  • Jaakko Kemppainen esitteli omakohtaisia kokemuksiaan pelien taltioinnista. Esiin nousivat mm. omistajuuden, käyttäjien luoman sisällön taltioinnin ja palvelinpään komponenttien haasteet.
  • Elokuvia tallennetaan järjestelmällisesti ja lain velvoittamana Kavin toimesta, mutta peleille ei ole vastaavaa tahoa, vaikka ne periaatteessa lain piiriin kuuluvatkin. Kavilla sekä kansalliskirjastolla on jo kokoelmissaan jonkin verran pelejä, mutta mikään yksittäinen taho ei ole varsinaisesti vastuussa pelien systemaattisesta arkistoinnista.
  • Suurin osa keskustelusta käsitteli kaupallisia pelejä, mutta myös harrastajaprojektien, tekijänäkökulman ja pelikulttuurin taltiointi mainittiin.
  • Professori Jaakko Suominen motivoi pelien tallentamiseen yhtäältä kulttuuriperinnön säilyttämisen ja toisaalta retrovaatioiden näkökulmasta – firmoissa tuotettua sisältöä voidaan mahdollisesti käyttää myöhemmin taloudellisestikin hyväksi.
  • Pelikulttuurin moninaisuus tuli ilmi lopun keskustelussa, kun esiin nostettiin mm. pelimodit, julkaisemattomat pelit ja kansalliset erityispiirteet.
  • Anna-Kaisa Kultima mainitsi erääksi ratkaisuksi resurssipulaan taltiointi- ja näyttelyprojektien tekemisen kurssien harjoitustöinä.

Pelihistoriasivustomme Videogames.fi sai tapahtumassa mukavasti näkyvyyttä ja kerroin sisällön olevan vapaasti käytettävissä esimerkiksi museoiden omien tietokantojen pohjana. Korostin omissa kommenteissani muutenkin harrastajien tekemän työn hyödyllisyyttä: peli- ja laitekeräilijöillä on valmista teknistä osaamista, omia mittavia kokoelmia ja kontakteja, joita kannattaa hyödyntää sen sijaan, että peliarkistointi aloitettaisiin museoissa tyhjästä. Käytännön esimerkkeinä mainitsin pitkäaikaissäilytykseen sopivat levykkeiden ja kasettien arkistointiformaatit sekä Kasettilamerit.

Noin kaikkiaan päällimmäiseksi tunnelmaksi jäi se, että haasteita on paljon, eikä niihin ole paljonkaan valmiita vastauksia. Museot ym. instituutiot liikkuvat harrastajiin verrattuna hitaasti ja kärsivät kroonisesta rahapulasta sekä peleihin liittyvän tietotaidon puutteesta – toisaalta museoilla olisi paljon kokemusta systemaattisesta ja tulevaisuuteen suuntautuneesta arkistoinnista. Peliyritykset puolestaan ovat kiireisiä eivätkä välttämättä tiedosta taltioinnin arvoa, mistä kertoo osaltaan paikalle saapuneiden pelialan toimijoiden vaatimaton määrä.

2 comments January 29th, 2014

Cbmkiria

Oppe nyt wanha ia noori / joilla ombi SIDhen toori.
6502:n keskyt ia mielen / iotca taidhat conecielen.
Datassette se sielun hirmutta / mutt lewari sen taas lodhutta.
Aseta sijs hyue lapsi teste / rastericesceytys ilman este.
Poceta muistiin elemes aina / nin Skenerit sinun armons laina.

(Agricola, Heikkinen & Reunanen)

Add comment January 20th, 2014

Tämän vuoden touhut

Yzin vastaavasta – ja pitkästä – listasta innoittuneena päätin itsekin kerätä vuoden 2013 puuhia yhteen paikkaan, jotta ihan itsellenikin tulee hieman kokonaiskuvaa siitä, mitä tänä kiireisenä vuonna on ehtinyt tapahtua.

Skenekoodaukset

  • Ensimmäiselle ulkomaanpartylleni, Revision’13:lle, tehtiin Yzin ja Manun kanssa MSX-demo Amurisus
  • Lisää MSX-tuotantoa Vammala Partyille: karaokedemo Abrels
  • Ja vuoden viimeisenä MSX-demona Alternative Partyille Amurisusin (Amurisuden?) eräänlainen jatko-osa Atsarias
  • Zoo’13:lle pikainen BASIC-viritys nimeltä Beisikki  demo
  • Ensimmäinen oikea C64-produktio, The First Ball, syntyi Heikkisen ja Yzin kanssa. Myöhemmin porttasimme hänet vielä Plus/4:lle.
  • Vuoden suurin menestys oli monipuoliseksi kasvanut PETSCII-editori, joka löysi yleisönsä ilmeisen hyvin. Päätyi jopa Pouetin top 2013 -listalle työkalusarjassa.

PETSCII-Grafiikkaa

Kirjoituksia

Muita sekalaisia touhuja

Olihan sitä siinä jo. Muuten vuosi on mennyt juniorin kasvua seuratessa, länkkäreitä katsellessa ja tutkimuksen parissa. Kiitos Koneen säätiön tutkimusapurahaa on vielä ensi vuodellekin, joten kirjoittaminen jatkuu ahkerasti.

Add comment December 30th, 2013

Kungfukirjoittajat nestekidenäytöllä

Heikkisen Teron kanssa yhdessä kirjoittamani artikkeli Kungfumestarit kuvaputkella – kamppailuelokuvien ja -pelien suhde 1980-luvulla on juuri ilmestynyt WiderScreen-verkkojulkaisun numerossa 4/2013. Käsittelyyn otetaan karate-, kungfu- ja ninjaelokuvat sekä niiden vaikutus varhaisiin mätkintäpeleihin. Tärkeimpänä teoreettisena viitekehyksenä on remediaatio, mediasta toiseen siirtyminen. Historiaosuudesta tuli hieman pitkä, joten sivumennen artikkeli toimii myös johdantona kamppailupelien ja -elokuvien varhaisvuosiin.

2 comments December 13th, 2013

Arduino, Atari ja joikkari

Virittelin jo aiemmin kasaan Joyduino-projektin, jolla sai emuloitua Atari-joystickiä PC:n näppäimistöltä. Projektissa oli kuitenkin kaksi ongelmaa: kolvaamista vaativa tarpeettoman mutkikas piirikortti ja hieman epämääräinen sarjaportin käsittely omalla ohjelmalla. Kuulin vasta myöhemmin, että Arduinon pinnit saa suljettua laittamalla ne input-moodiin, mikä teki kytkinpiirit tarpeettomiksi. Eli kun virtuaalisen joikkarin kytkintä ei paineta, pinni on sisääntulona ja kun painetaan, niin pinni vaihdetaan ulostuloksi ja laitetaan nollaan. Tältä pohjalta riitti tehdä triviaali johto D9-naarasliittimestä piikkirimaan, joka menee Arduinon headerin pinneihin 8..GND (ylös, nappi, alas, vasen, nappi 2, oikea, maa). Tulitusnappi 2 tässä MSX:n mukainen – muissa laitteissa saattaa olla eri piikissä. Oman C-ohjelman sijasta tein isäntäohjelman tällä kertaa Processingilla, niin se toimii saman tien useilla alustoilla. Arduinoon pitää ensin ladata Firmata, jotta Processing toimii sen kanssa. Firmata ei ole järin nopea, sillä aikaa haaskaantuu yksittäisten pinnien erikseen kääntelyyn ja protokollaan, mutta tässä tapauksessa nopeus oli ihan hyväksyttävä. Omaa, luultavasti pahempaa lägiään tulee Processingin päivitystaajuudesta, mutta sekään ei ollut vielä liikaa. Esimerkki täällä:

http://www.kameli.net/~marq/kode/joikkari.pde

Firmatan lisäksi tarvii asentaa Arduino-tuki Processingille, joten mikään avaimet käteen -ratkaisu tästäkään ei tullut. MSX:n kakkosnapin vahingossa sohimisesta voi seurata ongelmia joillakin koneilla – pinniä saatetaan käyttää muihin tarkoituksiin, joten joikkaportin pinniin 7 ei yleensä kannata kytkeä mitään. Toinen detsku on, että pelikone kannattaa käynnistää tai johto kytkeä vasta ohjelman herättyä, sillä muuten porttiin tulee ei-toivottuja painalluksia. Näppikseltä pelaaminen on jo kohtuullisen hyödyllistä, jos ehjää Atari-joystickiä ei satu olemaan, mutta vielä hyödyllisempi tämä viritelmä olisi vaikkapa joypadin kanssa. Katsotaan, iskeekö inspiraatio sellaisenkin tukemiseen jossain vaiheessa.

edit: Nappi 2 ja vasen menevät tosiaan ristiin piuhassa, koska huomasin vasta jälkikäteen, että MSX:ssä kakkosnappi onkin eri pinnissä. Helppo muuttaa koodista (ja muutenkin järjestys on aika satunnainen).

edit2: Äh, menköön. Tässä se joypad-tuki. Nappien ja kontrollerin nimeä joutunee vaihtamaan, mutta muuten toiminee suorilta: http://www.kameli.net/~marq/kode/joikkari2.pde

Add comment December 9th, 2013

SIDE2 pikaisesti

Kortinlukijoiden kasvavaan kasaan liittyi kasibittiatareille tarkoitettu SIDE2, jälleen kerran Lotharekilta hankittuna. Merkittävin ero SIO2SD:hen verrattuna on se, että SIDE2 ei teeskentele olevansa massamuisti koneen sarjaväylässä, vaan se on pieni näppärä moduuli, johon sujahtaa CF-kortti. Compact Flash ei ole mikään varsinainen sijoitus tulevaisuuteen, mutta ainakin vielä kortteja saa ihan kaupasta. Siinä missä SIO2SD vaatii työlästä nappien näpyttelyä ja pienen näytön tihrustamista, valitaan SIDE2:ssa ladattava ohjema ihan koneen näytöltä näppäimistöä käyttäen: moduulilta käynnistyy suoraan tiedostovalitsin.

So far so good, niin kauan kuin on tarkoitus ladata ainoastaan XEX-muotoisia yksittäisiä tiedostoja, joita esimerkiksi useimmat demot ovatkin. Laitteiden ero tulee vastaan siinä vaiheessa, kun on tarpeen käyttää ATR-muotoisia levyketiedostoja: SIO2SD selviää niistä suoraan, kun taas SIDE2 vaatii avukseen Ultimate 1MB -muistinlaajennuksen ja päälle jonkun verran säätöä (Lotharek lupaili videolla, että tulevaisuudessa ATR:t toimisivat ilman Ultimateakin). Tuore Ultimate olisi toiminut suoraan, mutta omani oli sen verran vanha, että se piti ensin flässätä uudempaan ohjelmaversioon. Tiedostovalitsimeen pitää mennä tämän jälkeen hieman epäintuitiivisesti muistinlaajennuksen asetusruudun kautta, jossa painetaan noin sekunti L-kirjainta. Käyhän se näinkin ja latausnopeus on mainio. Kaikki kokeilemani demot toimivat, lukuun ottamatta normaalia tarvetta rämpyttää joidenkin kohdalla BASIC-ROM:ia päälle tai pois.

Kumpi sitten on parempi ostos? Kallistun lievästi tämän testailun perusteella SIDE2:een, sillä muistinlaajennus on joka tapauksessa hankittava demoja varten. Käytettävyys on parempi, tilantarve pienempi ja latausnopeus – ainakin foorumien mukaan – suurempi. SIO2SD puolustaa paikkaansa, jos budjetti on pieni, kalikan haluaa modata koneen sisälle tai jos koneessa ei ole lisämuistia. Valmiiksi koteloituna ja kaapelin kanssa jälkimmäisen hinta harppaa reippaasti ylöspäin, jolloin rahallinen etu katoaa. Muut mahdollisesti kytkettävät lisälaitteet voivat puolestaan vaatia vapaata SIO- tai moduuliporttia. Kolmas vaihtoehto siirtelyyn on jokin SIO2PC-varianteista, jotka kuitenkin vaativat aina sen isäntäkoneen ja toimivat vanhaa sarjaversiota lukuun ottamatta heikosti Linuxissa.

Add comment December 2nd, 2013

Seuraava laatikko

Omistan, kuten aika moni muukin tuttu, vanhan version 1541 Ultimatesta, jota voisi lyhyesti luonnehtia kuusnepan levariemulaattoriksi tai kortinlukijaksi (on siinä paljon muutakin toiminnallisuutta). Kakkosversiossa on kuoret mukana, mutta ykkönen toimitettiin pelkkänä piirilevynä, joka istuu kovin suojattomana koneen takana. Itse kyhäsin kuoret Bebekin laitekotelosta, mutta aika moni ei ole vaivautunut moiseen vaan käyttää moduulia ilman mitään kuorta. Tällä hetkellä kuoria ei ole edes missään myynnissä. Sehän ei käy, joten koteloprojekti kaksi sai olla kuori Ultimatelle. Pitkän vääntämisen ja iteroinnin jälkeen tuli lopulta valmista:

ultimate-finalish u1caseprintattu

Jälki on 3D-printille tyypillisesti hiukan rösöistä, mutta malli toimii hyvin ja moduuli mahtuu koneeseen sisälle. Suunnittelu oli pirullisen tarkkaa, sillä piirikortti on vain hiukan kapeampi kuin kuusnelosen moduuliportin aukko ja sisällä tila vielä kapenee. Niinpä seinät oli pakko jättää ohuiksi ja silti itse Ultimate mahtuu vain niukin naukin sisälle. Ylimääräisenä ponnistuksena pitää tehdä pikapuoliin vielä erillinen versio Ethernet-liittimen sisältävälle mallille, koska niitäkin on aika monella. Bonuksena nykersin vielä pienet jalat, jotka voi ruuvata takakanteen niin, että moduulin takareuna on tuettu pöytään. Tarvittavat STL-filut ladattavissa taasen Thingiversestä.

Add comment November 20th, 2013

Plus/4, SID cards and Goattracker

Lately I’ve been looking a bit into Commodore 64 and Plus/4 programming and even got a couple of demos done with friends. Plain PETSCII-based stuff should be rather easy to port between the two: change the character/color RAM writes to a different address, remap the colors and fix the MMIO addresses. So far so good, but converting the audio is a completely different matter. TED contains just two simple sound channels, so it can’t really reproduce the glorious SID sounds.

To remedy the situation, some Plus/4 hackers designed so-called SID cards, which occupy the module port and contain a real SID chip, these days most likely a 8580 because of its better capabilities and lower voltage. On a C64 the registers reside at $d400, which is very inconveniently in the middle of the free memory on a Plus/4, so they had to be relocated. According to this PCB design, apparently known as Synergy SID-Card, there is a “German” version, which resides at $fd40 (de facto standard these days) and the “Hungarian” version, which can be found at $fe80. Not a huge problem to support two base addresses, even though some extra work is required. Modern SID cards, such as the aforementioned Synergy or NST’s Audio Extension, readily accept both for compatibility reasons.

Unfortunately, there’s a bit more to it than just that. On a C64 the SID runs at 985 kHz, but on a SID card the basic frequency is around 886 kHz – about 11% less. The rate is halved from the main CPU clock frequency on the cart. In effect, a tune composed for C64 will be off-key and most effects such as ADSR envelopes will sound wrong. NST’s Audio Extension contains a separate 985 kHz clock that solves the problem, but simpler cards don’t. Thus, notes and other parameters need to be finetuned for the new SID frequency. There is software that can help to automate the process in some cases.

Our demo, The First Ball, was first coded and composed for the C64, so the tune had to be converted. It took some manual fiddling and the end result isn’t 100% faithful to the original, but good enough. We used Goattracker for composing. It doesn’t support Plus/4 right away, but can be easily configured to do so by fiddling with the configuration file. On *nix systems you should find the file at ~/.goattrk/goattrk2.cfg. Scroll a bit forward and you’ll find the base address ($d400), which you can change to $fd40. A few rows later you can set Custom SID clock cycles. 886000 is probably good enough, but if you want to be precise the exact value is 886723, at least according to my newbie calculations. After this you should be able to export the tune so that it can be played back on a Plus/4. A bit more elegant solution could be devised, but we decided to simply export the song again with a different base address to support those pesky cards at $fe80. I’m kinda suspicious as to whether any realistic end user owns such card these days, though.

One more thing: even if VICE is a great piece of software, it doesn’t get the aforementioned frequencies right. At least on 2.1 the frequency is double compared to a real SID card. Plus4emu does things right, so test/develop with that.

edit: The VICE bug should be fixed in the following revisions.

Add comment November 15th, 2013

Suomalaista pelihistoriaa

Mikon ja Manun kanssa kirjoittamani artikkeli Suomalaisen peliteollisuuden valtavirtaa ja sivupolkuja julkaistiin juuri Pelitutkimuksen vuosikirjassa 2013. Aihe on nyt kovasti esillä, kiitos Supercellin, Grand Crun ja Angry Birdsin, joten siihen ovat tarttuneet hiljattain muutkin kirjoittajat. Akateeminen julkaisusykli on hidas, joten osa kirjoitetusta edustaa jo lähes vuoden takaista tilannetta, mutta suurin osa tekstistä on sentään edelleen ajan tasalla.

Add comment November 11th, 2013

Next Posts Previous Posts


Kommenttien virta

Aiheet