Commodore 64:ss[ ei ole, kuten u- seimmissa muissa koneissa, k[sky[, jollafunktion[pp[imet voi ohjelmoida. Basi- cilla ohjelmointi ei onnistu, vaan se pit[[ tehd[ konekielell[. Funktion[p- p[inten ohjelmointi konekielell[ on juu-ri niin yksinkertainen tai helppo teht[-v[ kuin ohjelmoija haluaa. Ohjelman voitehd[ varmasti miljoonalla eri tavalla. Yleisin tapa on k[ytt[[ Hardware Inter- rupt Vector:ia, joka sijaitsee muisti- paikoissa 788-789 eli $0314-$0315. Noissa kahdessa muistipaikassa on osoite59953 eli $EA31, johon kone hypp[[ noin 50 kertaa sekunnissa. Muuttamalla t[t[ osoitetta osoittamaan omaa funktion[p- p[inohjelmaa saadaan kone tutkimaan 50 kertaa sekunnissa painettiinko funktio- n[pp[int[ vai ei.
Ik[v[ kyll[ t[t[ vektoria k[ytt[[ suurin osa hauskoista pienist[ k[tevist[ohjelmista. Katselin muistikarttaa ja ihmettelin, miten kierr[n tuon ongelman.Silmiini osui muistipaikat 655-656 eli $028F-$0290, joissa on Keyboard Table Setup Pointer eli osoite 60232 eli $EB48. Muutin n[m[ osoittamaan omaa funktion[pp[inohjelmaani ja kas ihmett[ - seh[n toimii! Pystyin my\s m[[ritele-m[[n uusia n[pp[inyhdistelmi[ kuten CTRL/(takanuoli), CTRL/+ ja CTRL/?. Lopuksi tein basicilla editoriohjelman, jolla voi helposti muuttaa funktion[p- p[imiss[ olevia toimintoja sek[ muita efektej[ ja tallentaa funktion[pp[imet joko levylle tai kasetiille itsen[isestitoimivaksi ohjelmaksi.
Funktion[pp[imet toimivat vain 'direct'-tilassa eli jos jotain basic- ohjelmaa ajetaan, niin funktion[pp[imet eiv[t toimi. Toinen tapaus on 'quote- mode' eli, kun on painettu "-merkki[. T[ll\in tulostuu ruudulle vain k[[ntei- nen kuva painetusta funktion[pp[imest[. Muissa tapauksissa tulostuu ruudulle ko.funktion[pp[imess[ oleva toiminta ja senper[[n RETURN, jos viimeinen merkki on takanuoli (n[pp[imist\n vasen yl[laita).
CTRL/takanuoli -yhdistelm[[n ohjel-moidaan v[riyhdistelm[, jota halutaan k[ytt[[. CTRL/+ k[[nt[[ 'key klick':in p[[lle ja pois. CTRL/? listaa toiminnatruutuun.
Fkey Enabler sijoittuu muistiin seuraavasti:
konekielinen ohjelma:
49152-49657 l. $C000-$C1F9
tekstit ja toiminnat:
49664-50688 l. $C200-$C600
Ohjelma k[ynnistyy k[skyll[ SYS49152. RUN/STOP + RESTORE:n j[lkeen se t[ytyy k[ynnist[[ uudelleen.