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