2 1* {3 Sakun perustaja pörisee projekteistaan... {7 Ohjelmoinnin henkilökohtaiset ennätykset: Tomi Jaskari {7 ------------------------------------------------------ Tomi Jaskari {9Ensimmäinen ohjelmointikosketukseni Korson yläasteella kemian opettajamme toi näytille ABC80-mikron ja esitteli meille Othellon ja muita ruotsinkielisesti toimivia ohjelmia. Aloitin ohjelmoin- tiurani suomentamalla lainausmerkkien sisällä olevia tekstejä ja ihmettelin mik- sei koneen BASIC-tulkki huolinut niitä - olin unohtanut rivin lopusta puolipis- teen... {9Ensimmäinen animoitu ohjelmani (samalla paras BASIC-ohjelmani) Sain joululahjaksi 1981 VIC20-tietokoneen ja vanhempien kanssa pelasimme innok- kaasti arpapeliä tuohon aikaan. Mieleeni tuli luonnostaan toteuttaa yatzy-peli tietokoneella. Eniten aikaa käytin ohjelman teköälyosuuten, jossa käyttäjän saama heittotulos analysoitiin ja siirrettiin tulossarakkeeseen. Ohjelmassa oli muuttuvat nopat, joiden pistikuvio vaihtui ääniefektien myötä. Ohjelmaan sai myös syöttää pelaajien nimet ja PET-merkkigraafikalla oli jopa mahdollista saada merkkijono, johon upotetut kursorin ja värin ohjauskoodit tuottivat lopputulokseksi autoa muistuttavan kuvion... {9Paras dokumenttini Laadin selkeimmän ohjelmani Helsingin seudun kesäyliopiston 1983 ATK:n perusteet kurssilla ABC80-mikrolla. Ohjelma arpoi halutun määrän lottopalloja ja tarkisti käyttäjän antaman rivin. Kaikki parametrit olivat muutettavissa ja sain ohjel- masta parhaan mahdollisen arvosanan. {9Pitkäaikaisin ja kunnianhimoisin suunnitelmani NaSt eli Name Structure - Tiedonjäsentely- ja ohjelmointikieli. Suunnitelmat oman tietokonekielen pohjaksi ovat kypsyneet yli kymmenen vuotta. Kielestä on toteutettu vain kaksi 6502 konekielistä aliohjelmaa merkkijonojen kopiointiin. {9Hyödyttömin ja ihmeellisin C64-oivallukseni Muistatko vielä kuusnepan VIC-rekistereitä? Osoitteet $D000-D02E... Osoitteesta $D018 kontrolloidaan VICin muistiosoituksia; bitit 7-4 on nimetty "Video Matrix Base Address" ja bitit 3-1 "Character Dot-Data Base Address" Ylimmäisillä bi- teillä toisin sanoen kerrotaan, mistä muistipaikasta alkavat näytölle tulostuvat merkit. Alemmilla biteillä valitaan osoite, josta VIC hakee merkkien hahmot eli niiden 8 x 8 bitin kokoiset bittikartat. Ideani oli näyttää minkälaista vipinää nollasivulla käydään, joten annoin BA- SIC-käskyn 'POKE 53272,(PEEK(53272)AND240), jolloin kuvamuisti näytti nollasivun mukaisia merkkejä. Sitten laadin muutaman rivin ohjelman, jolla muokkasin merk- kien bittikarttoja muistuttamaan mosaiikkia. Jos kaikki tavun bitit oli asetettu eli merkkikoodi oli 255, näytti merkki täytetyn neliön. Jos kaikki bitit olivat puhtaita, näytti merkki neliön kehykset. Jokaisella bitillä oli oma paikkansa merkin bittikartassa ja kun merkkigeneraattori oli tehty, saattoi nollasivujen laskureiden pyörimistä seurata ihmetellen vierestä. 0 1 2 3 ... 255 ######## # # ###### # # ###### # # ###### # # ###### # # ## ## ## ## ###### # # ## ## ## ## ###### ######## {9Paras hakkerointini Tapahtui kuusnepalla eli Commodore 64:llä joskus vuonna 1984 kun kaverini Mika Huovinen ja Anssi Laakkonen [kertokaahan taas terveisiä Tomilta ;-)] laativat Amer-yhtymän kustantamaa konekieliohjelmoinnin opasta. Ohjelman idea syntyi KERNEL-ROMmin näppäimistörutiineja tutkiessani ja oli tar- koitettu näppäimistön toiminnan testaamisen (RESTORE-RUN STOP ei aina toiminut) Ohjelma muodosti 8 x 8 matriisin, johon kaikki alhaalla olevat näppäimet tulos- tuivat mustalla. Anssi otti sen kirjaan esimerkkinä itseään muuttavasta ohjelmasta ja jouduin koodaamaan sen tyhjästä uudestaan... {9Painajaismaisin työskentely-ympäristöni Keväällä 1989 innostuin värväämään itseni Heurekaan, tiedekeskussäätiön leipiin. Sain tehtäväkseni muun muassa ohjelmoida alunperin saksalaisen, teknisen korkea- koulun kautta tulleen 'Tee muovia' -demon toimimaan kolmella kielellä. Terveisiä vaan Tomilta Kati Tyystjärvelle suunnitteluosastolle jos satut hänet tuntemaan! Vaikeuksia riitti dokumentoinnin ollessa olematonta, laitteiston monitoriin kyt- kevän kaapelin puuttuminen, täysin uusi ohjelmointiympäristö OS 9 (Motorolan 6800-prosessoriin pohjautuva ensimmäinen mikrotietokoneeseen toteututtu monia- jojärjestelmä.) Ainoa mikä oli tuttua oli Pascal-kielisyys, ja ohjelman kääntäminen sujuikin sinne asti päästyäni todella kivuttomasti ja nopeasti. Kutsuvierasavajaisten aikana toukokuussa laite oli valmis rahdattavaksi sylinte- rihalliin. Asentamiseen tarvittiin vielä pienikätisin tyttö, joka pajalta löytyi radikaalien anturinastojen kiinnittämiseen. Nykyään demo on korvattu PC:llä ja siirretty sylinterihalliin, mutta 6 mustaa isoa toisiinsa kytkettyä palloa ovat vielä jäljellä. Terveisiä vaan tarjouskil- pailun voittajille - Älykoneen pojille! Tarinalla on myös opetus: Älä koskaan suostu projektiin, jota tarjotaan tehtäväksesi vieraassa koneympäristössä. Älä ainakaan, ellei sinua syvennytetä asiaan jonkun alkuperäisen prototyypin kanssa tekemisissä olleen ihmisen tahol- ta! {9Helpoin ja tuottavin myymäni toteutus Taas olin parantelemassa jonkun muun tekemää ohjelmaa ja myös tällä kertaa alku- peräishemmoa Antti Hemminkiä oli vaikea tavoittaa. Kyseessä oli AmigaBasicillä pyörivä 'Oletko ainutlaatuinen?' -demo, jota pyöritettiin kolmessa Amiga 2000 -tietokoneessa. Arvaatteko muuten mistä nytkin käyttämäni A2000 on peräisin? Oh- jelman pahin vika oli sen hitaus. Kuvine vaihtuminen kesti monia sekuntteja ja ohjelman läpikäyminen kesti parhaimmillaan viitisen minuuttia. Ostin kaikkiin kolmeen Amigaan RamWorks2000-muistikortit, joita valmisti Applied Engineering, ja jotka ostin MikroKeskuksesta Pohjoiselta Makasiinikadulta. Ka- lustin kortit kolmeen megatavuun saakka ja muutin kuvien latauksen tapahtuvaksi RAM-levyltä. Nyt ohjelman saattoi käydä läpi alta kahden minuutin. Suunnitelmissa oli toki hieno Intuitionia hyväksikäyttävä ohjelma AmigaBasicin tilalle, jonka olisin suunnitellut alusta alkaen itse, mutta rahaleikkuri iski. {9Huonoin arvosanani: 1+ Tämän sain KirjaReppu nimisestä ohjelmasta, jonka koodamiiseen käytin runsaasti aikaa, dokumenttiin tuskin ollenkaan. Arvostelija oli kirjoittanut "Tällä ohjel- malla olisi mahdollisuus saada kuinka hyvä arvosana tahansa, mutta ei tällä do- kumentilla, jonka avulla Erkkikään ei osaisi ohjelmaa käyttää" {9Tuorein projektini Internetin kautta olen mukana juttelemassa M.U.L.E:sta...