Zvecsene pismo

     Druhy program je urceny na pisanie zvecseneho pisma na obrazovku. Po spusteni treba zadat zvecsenie v osiach X a Y. Potom program vypocita kolko znakov takehoto zvecseneho textu sa zmesti na obrazovku. Po zadani textu program uz nebude otalat a tento text zobrazi. Text sa zobrazuje tak, ze sa pomocou prikazov PLOT a DRAW vykresluju jednotlive bodky kazdeho znaku.

10 REM Zazrak 02.03 15.12.1993
20 BORDER 6: POKE 23693,56: OVER 0: INVERSE 0: CLEAR : PRINT '" Zvecsovanie textu"
30 INPUT "Zvecsenie x (max 32):";zx: IF zx>32 THEN GO TO 30
40 INPUT "Zvecsenie y (max 20):";zy: IF zy>20 THEN GO TO 40
50 LET maxcol=INT (32/zx): LET maxlin=INT (20/zy)
60 LET maxzn=maxcol*maxlin
70 INPUT "Text (max ";INT maxzn;" zn):";t$: LET zn=LEN t$
80 CLS : LET xx=0: LET yy=175: IF zn>maxzn THEN LET zn=maxzn
90 FOR t=1 TO zn: PRINT AT 21,0; INK 7; PAPER 7;t$(t)
100 LET z=20640: FOR a=0 TO 7: LET b=PEEK z: LET z=z+256
110 LET x1=xx
120 IF b<128 THEN GO TO 170
130 LET x2=x1+zx-1
140 LET b=b-128: IF b>63 THEN LET b=2*b: LET x2=x2+zx: GO TO 140
150 LET y1=yy-a*zy
160 FOR y=y1-zy+1 TO y1: PLOT x1,y: DRAW x2-x1,0: NEXT y
170 LET b=b*2: LET x1=x1+zx: IF b THEN GO TO 120
180 NEXT a
190 LET xx=xx+8*zx: IF xx+8*zx>256 THEN LET xx=0: LET yy=yy-8*zy: IF yy<8*zy THEN GO TO 30
200 NEXT t: GO TO 30

     Program je pisany pomerne jednoducho a nemal by byt velky problem pochopit ako pracuje. Na riadku 90 sa prave vykreslujuci znak nakresli na poziciu 21,0. Cislo 20640 na riadku 100 je adresa tejto pozicie v pameti. Funkcia PEEK potom cita jednotlive bajty znaku a tak sa vlastne zistuje, ako dany znak vyzera.