Titokoneen versiossa 1.300 tuotiin uutena ominaisuutena tuki videografiikalle. Työkalurivistä löytyy uusi painike, jolla saa avattua uuteen ikkunaan virtuaalisen näyttöruudun. Tämä ohje pyrkii selventämään miten Titokoneella on mahdollista tehdä graafisia ohjelmia sen jälkeen, kun on ensin perehtynyt Titokoneen normaaliin käyttöön ja hankkinut kyseisen ohjelmiston itselleen. Opiskelijoiden kirjoittamien demojen tutkimisesta voi myös olla hyötyä.
Ruudulle piirtyy kuva, joka luetaan koneen muistiosoitteesta 8192 (tai 0x2000) siten, että tuossa osoitteessa on kuvattu vasemman yläkulman kuvapisteen väri ja tuosta muistiosoitteesta eteenpäin kukin osoite kuvaa aina seuraavan kuvapisteen värin. Näyttötilan leveys on 160 kuvapistettä ja sen korkeus on 120 kuvapistettä. Näyttötila tukee 12-bittisiä värejä, jotka on koodattu siten, että vähiten merkitsevät neljä bittiä esittävät sinisyyden määrän, toiseksi vähiten merkitsevät neljä bittiä esittävät vihreyden määrän ja kolmanneksi vähiten merkitsevät neljä bittiä esittävät punaisuuden määrän.
Kun siis olet valinnut mieleisesi punaisuuden määrän p, vihreyden määrän v ja sinisyyden määrän s väliltä 0-15, voit näppärästi muuttaa näytön kohdassa (x, y) sijaitsevan kuvapisteen haluamasi väriseksi kirjoittamalla kuvapistettä vastaavaan muistiosoitteeseen 8192 + (y * 160) + x väriä vastaavan arvon (p * 256) + (v * 16) + s. Koordinaatin x on oltava väliltä 0-159 ja koordinaatin y väliltä 0-119.
Titokoneessa on muutamia ominaisuuksia, jotka voivat haitata videon piirtämistä. Ensinnäkin muistin määrä on mahdollista säätää niin alhaiseksi, ettei kuva mahdu muistiin. Tällaisessa tilanteessa ohjelma kaatuu viimeistään suoritusvaiheessa siihen, että se kirjoittaa virtuaalikoneen muistin ulkopuolelle. Varmista valikosta Asetukset -> Aseta muistin koko, että muistia on vähintään 32768 tavua.
Aiemmin suorituneiden ohjelmien tila jää joskus koneen muistiin. Koska vanha tila on muistissa, näkyy se myös näytöllä. Voit tyhjentää muistin valikosta Tiedosto -> Tyhjennä muisti, jolloin luonnollisesti myös näytöllä näkyvä kuva nollaantuu.
Näytön päivittäminen voi joskus näyttää takkuiselta. Usein moinen takkuilu korjaantuu, kun Titokoneen pääikkunan minimoi pois näkyvistä. Kyse on luultavasti arkkitehtuurillisesta virheestä, jonka korjaaminen vaatisi astetta isompia muutoksia siihen miten titokone käyttää käyttöliittymäkirjastoa.
Grafiikkaa piirrettäessä voi olla järkevää laittaa koneesta askellus ja animaattori pois päältä, sillä usein grafiikan piirtäminen on kyllin hidasta ilman kyseisiä toiminnallisuuksia. Mitään haittaa näiden yhtäaikaisesta käytöstä ei pitäisi olla, joten kyllä niitä saa käyttää samaan aikaankin jos ne auttavat havainnollistamaan asiiota.
Alla esimerkkiohjelma palette.k91, joka täyttyy kuvaruudun riemukkailla väreillä.
; palette.k91, Toni Ruottu 14.5.2012 ; ; The following code fills titokone ; video graphics display with colours. ; ; The picture starts at 8192. Colours are ; presented in the least significant 12 bits ; as 0xRGB. ; ; The image will be drawn more smoothly if ; you minimize the main window. ; LOAD R2,=8192 ; video address LOAD R3,=160 ; width MUL R3,=120 ; * height = pixels_left LOAD R1,=0 ; first color SUB R2,=1 ; first pixel - 1 Loop PUSH R2,R1 ; move to next pixel and set color R1 SUB R3,=1 ; pixels_left - 1 JNPOS R3,End ; if(pixels_left < 1) end ADD R1,=1 ; next color JUMP Loop End SVC SP,HALT
Toni Ruottu, 14.5.2012