Ohjelmoinnin henkilökohtaiset ennätykset: Tomi Jaskari
Sakun perustaja pörisee projekteistaan...
Ohjelmoinnin henkilökohtaiset ennätykset: Tomi Jaskari
------------------------------------------------------
Tomi Jaskari
Ensimmäinen ohjelmointikosketukseni
Korson yläasteella kemian opettajamme toi näytille ABC80-mikron ja esitteli
meille Othellon ja muita ruotsinkielisesti toimivia ohjelmia. Aloitin ohjel-
mointiurani suomentamalla lainausmerkkien sisällä olevia tekstejä ja ihmet-
telin miksei koneen BASIC-tulkki huolinut niitä - olin unohtanut rivin lo-
pusta puolipisteen...
Ensimmäinen animoitu ohjelmani (samalla paras BASIC-ohjelmani)
Sain joululahjaksi 1981 VIC20-tietokoneen ja vanhempien kanssa pelasimme in-
nokkaasti arpapeliä tuohon aikaan. Mieleeni tuli luonnostaan toteuttaa yat-
zy-peli tietokoneella.
Eniten aikaa käytin ohjelman teköälyosuuten, jossa käyttäjän saama heittotu-
los 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 oh-
jauskoodit tuottivat lopputulokseksi autoa muistuttavan kuvion...
Paras dokumenttini
Laadin selkeimmän ohjelmani Helsingin seudun kesäyliopiston 1983 ATK:n pe-
rusteet kurssilla ABC80-mikrolla. Ohjelma arpoi halutun määrän lottopalloja
ja tarkisti käyttäjän antaman rivin. Kaikki parametrit olivat muutettavissa
ja sain ohjelmasta parhaan mahdollisen arvosanan.
Pitkäaikaisin ja kunnianhimoisin suunnitelmani
NaSt eli Name Structure - Tiedonjäsentely- ja ohjelmointikieli.
Suunnitelmat oman tietokonekielen pohjaksi ovat kypsyneet yli kymmenen vuot-
ta. Kielestä on toteutettu vain kaksi 6502 konekielistä aliohjelmaa merkki-
jonojen kopiointiin.
Hyödyttömin ja ihmeellisin C64-oivallukseni
Muistatko vielä kuusnepan VIC-rekistereitä? Osoitteet $D000-D02E... Osoit-
teesta $D018 kontrolloidaan VICin muistiosoituksia; bitit 7-4 on nimetty
"Video Matrix Base Address" ja bitit 3-1 "Character Dot-Data Base Address"
Ylimmäisillä biteillä 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
BASIC-käskyn 'POKE 53272,(PEEK(53272)AND240), jolloin kuvamuisti näytti nol-
lasivun mukaisia merkkejä. Sitten laadin muutaman rivin ohjelman, jolla
muokkasin merkkien 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 vie-
restä.
0 1 2 3 ... 255
########
# # ######
# # ######
# # ######
# # ######
# # ## ## ## ## ######
# # ## ## ## ## ######
########
Paras 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
tarkoitettu 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 tulostuivat mustalla.
Anssi otti sen kirjaan esimerkkinä itseään muuttavasta ohjelmasta ja jouduin
koodaamaan sen tyhjästä uudestaan...
Painajaismaisin työskentely-ympäristöni
Keväällä 1989 innostuin värväämään itseni Heurekaan, tiedekeskussäätiön lei-
piin. Sain tehtäväkseni muun muassa ohjelmoida alunperin saksalaisen, tekni-
sen korkeakoulun kautta tulleen 'Tee muovia' -demon toimimaan kolmella kie-
lellä. Terveisiä vaan Tomilta Kati Tyystjärvelle suunnitteluosastolle jos
satut hänet tuntemaan!
Vaikeuksia riitti dokumentoinnin ollessa olematonta, laitteiston monitoriin
kytkevän kaapelin puuttuminen, täysin uusi ohjelmointiympäristö OS 9 (Moto-
rolan 6800-prosessoriin pohjautuva ensimmäinen mikrotietokoneeseen toteutut-
tu moniajojä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 sy-
linterihalliin. Asentamiseen tarvittiin vielä pienikätisin tyttö, joka pa-
jalta löytyi radikaalien anturinastojen kiinnittämiseen.
Nykyään demo on korvattu PC:llä ja siirretty sylinterihalliin, mutta 6 mus-
taa isoa toisiinsa kytkettyä palloa ovat vielä jäljellä. Terveisiä vaan tar-
jouskilpailun 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 syvenny-
tetä asiaan jonkun alkuperäisen prototyypin kanssa tekemisissä olleen ihmi-
sen taholta!
Helpoin ja tuottavin myymäni toteutus
Taas olin parantelemassa jonkun muun tekemää ohjelmaa ja myös tällä kertaa
alkuperäishemmoa Antti Hemminkiä oli vaikea tavoittaa. Kyseessä oli AmigaBa-
sicillä pyörivä 'Oletko ainutlaatuinen?' -demo, jota pyöritettiin kolmessa
Amiga 2000 tietokoneessa. Arvaatteko muuten mistä nytkin käyttämäni A2000 on
peräisin? Ohjelman 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 Makasiini-
kadulta. Kalustin kortit kolmeen megatavuun saakka ja muutin kuvien latauk-
sen tapahtuvaksi RAM-levyltä.
Nyt ohjelman saattoi käydä läpi alta kahden minuutin. Suunnitelmissa oli to-
ki hieno Intuitionia hyväksikäyttävä ohjelma AmigaBasicin tilalle, jonka
olisin suunnitellut alusta alkaen itse, mutta rahaleikkuri iski.
Huonoin arvosanani: 1+
Tämän sain KirjaReppu nimisestä ohjelmasta, jonka koodamiiseen käytin run-
saasti aikaa, dokumenttiin tuskin ollenkaan. Arvostelija oli kirjoittanut
"Tällä ohjelmalla olisi mahdollisuus saada kuinka hyvä arvosana tahansa,
mutta ei tällä dokumentilla, jonka avulla Erkkikään ei osaisi ohjelmaa
käyttää"
Tuorein projektini
Internetin kautta olen mukana juttelemassa M.U.L.E:sta...
HTML Conversion by AG2HTML.pl V2.94618b & witbrock@cs.cmu.edu