start tok64 d64-q7VyYJ 10 GOTO 5000 97 REM 98 REM-------- v[lj en tecken -------- 99 REM 100 GOSUB 9100 110 PRINT TAB(22)"v[lj en bokstav" 130 PRINT TAB(22)"el. symbol:{space*2}":PRINT 140 GOSUB 9000:IF a<32 OR a>95 THEN 140 150 IF a>63 THEN a=a-64 160 POKE va+153,a 170 cm=gm+(a*64) 180 IF PEEK(cm)57 OR af7 THEN m=0:GOTO 330 440 IF a=f1 THEN IF y>1 THEN y=y-1 450 IF a=f7 THEN IF yh THEN y=1 500 GOTO 320 540 REM------------ 550 FOR n=1 TO 50 560 GET a$:IF a$<>""THEN n=50:m=1 570 NEXT n 580 RETURN 590 REM------------ 600 GOSUB 9100 610 PRINT TAB(22)"vill du lagra" 620 PRINT TAB(22)"detta i minnet?" 630 PRINT 640 GOSUB 9000 650 IF a=78 THEN RETURN 660 IF a<>74 THEN 640 670 PRINT TAB(22)"s{pound}ker" 680 PRINT TAB(22)"."; 690 REM----- finn bredden ----- 700 w=10 710 FOR m=9 TO 1 STEP -1 720 FOR n=1 TO h 730 p=PEEK(vm(m,n)) 740 IF p<>g(t) AND p>th THEN w=m 750 NEXT n 760 PRINT".";:IF w=m THEN m=1 770 NEXT m 780 POKE cm,w 790 IF w=10 THEN 890 795 REM----- avs{pound}k bokstav ------ 800 l=cm 810 FOR m=1 TO w 820 FOR n=1 TO h 830 p=PEEK(vm(m,n)) 840 IF p=g(t) THEN p=th 850 l=l+1:POKEl,p 860 NEXT n 870 PRINT"."; 880 NEXT m 890 PRINT:PRINT:RETURN 897 REM 898 REM------- huvudmeny ------------ 899 REM 900 GOSUB 9100 910 PRINT TAB(22)"1. granska":PRINT 920 PRINT TAB(22)"2. rita":PRINT 930 PRINT TAB(22)"3. spara":PRINT:PRINT 940 PRINT TAB(22)"{.*3}vad v[ljer du?" 950 GOSUB 9000 960 IF a<49 OR a>51 THEN 950 970 ON a-48 GOTO 1000,100,980 980 RESTORE:GOSUB 2000:GOSUB 2500 990 POKE 52,120:PRINT c$:GOTO 6080 997 REM 998 REM---------- granska ------------ 999 REM 1000 GOSUB 4100 1100 cn=0:s=1:v=1 1110 POKE va+473,cn 1120 cm=gm+(64*cn) 1130 IF PEEK(cm)=t THEN 1300 1140 GOSUB 4200:IF w=>v THEN 1190 1150 FOR m=w+1 TO v 1155 FOR n=1 TO h-1 1160 POKE vm(m,n)+cc,ft 1165 POKE vm(m,n),g(t) 1170 NEXT n 1175 POKE vm(m,n),th 1180 NEXT m 1190 v=w:POKE 198,0:GOSUB 9000 1200 IF a<49 OR a>52 THEN 1140 1210 IF a=49 THEN s=1 1220 IF a=50 THEN s=-1 1230 IF a=51 THEN GOSUB 1500 1240 IF a=52 THEN 1330 1250 PRINT h$ 1260 PRINT d$d$d$d$d$d$d$d$d$d$TAB(33); 1300 cn=cn+s 1310 IF cn<0 THEN s=1:cn=0 1320 IF cn<64 THEN 1110 1330 GOSUB 7500:GOTO 900 1499 REM------------ 1500 GOSUB 9100:GOSUB 300:GOSUB 7500 1510 GOSUB 4100:RETURN 1997 REM 1998 REM-- h[mta inneh]llsf{pound}rteckning - 1999 REM 2000 m=0:POKE 53280,15:PRINT c$ 2005 PRINT" inneh]llsf{pound}rteckning?" 2010 GOSUB 9000:IF a$="n" THEN 2200 2015 PRINT:PRINT" "; 2020 OPEN 2,8,2,"$" 2030 FOR n=1 TO 254:GET#2,a$:NEXT n 2040 k=13:m=m+1:IF m=8 THEN k=11:m=0 2050 GET#2,a$ 2060 IF st>0 THEN CLOSE 2:GOTO2200 2070 IF a$<>"" THEN a=ASC(a$):GOTO 2100 2080 FOR n=1 TO 18+k:GET#2,a$ 2090 NEXT n:GOTO 2040 2100 GET#2,a$,a$ 2110 FOR n=1TO16:GET#2,a$ 2120 PRINT a$;:NEXT n 2130 PRINT" "CHR$(83-(a-129)*3)"{space*2}"; 2140 FOR n=1 TO k:GET#2,a$:NEXT n 2150 GOTO 2040 2199 REM------------ 2200 PRINT:PRINT:PRINT" "; 2210 INPUT"vilken fil";f$ 2220 RETURN 2297 REM 2298 REM--------- l[s in fil -------- 2299 REM 2300 OPEN 2,8,2,"0:"+f$+",s,r" 2310 INPUT#2,h 2320 FOR m=gm TO gm+4032 STEP 64 2330 GET#2,a$:w=ASC(a$) 2340 POKE m,w:IF w=t THEN 2400 2350 FOR n=m+1 TO m+w*h 2370 GET#2,a$ 2380 POKE n,ASC(a$) 2390 NEXT n 2400 NEXT m 2410 CLOSE 2:RETURN 2497 REM 2498 REM--------- spara fil ----------- 2499 REM 2500 OPEN 2,8,2,"@0:"+f$+",s,w" 2510 PRINT#2,h 2520 FOR m=gm TO gm+4032 STEP 64 2530 w=PEEK(m):PRINT#2,CHR$(w); 2540 IF w=t THEN 2600 2550 FOR n=m+1 TO m+w*h 2560 a=PEEK(n) 2570 PRINT#2,CHR$(a); 2580 NEXT n 2600 NEXT m 2610 CLOSE 2:RETURN 3997 REM 3998 REM---- meny f{pound}r att skriva ------ 3999 REM 4000 PRINT TAB(22)"anv[nd siffrorna" 4010 PRINT TAB(22)"0-9 f{pound}r att rita." 4020 PRINT 4030 PRINT TAB(22)"f1 = upp" 4040 PRINT TAB(22)"f3 = v[nster" 4050 PRINT TAB(22)"f5 = h{pound}ger" 4060 PRINT TAB(22)"f7 = ned" 4070 PRINT 4080 PRINT TAB(22)"x f{pound}r att sluta" 4090 RETURN 4097 REM 4098 REM----- meny f{pound}r att granska ---- 4099 REM 4100 GOSUB 9100 4110 PRINT TAB(22)"1. forts[tt":PRINT 4120 PRINT TAB(22)"2. backa":PRINT 4130 PRINT TAB(22)"3. rita":PRINT 4140 PRINT TAB(22)"4. avbryt" 4150 PRINT:PRINT 4160 PRINT TAB(22)"tecken:{space*2}" 4170 RETURN 4197 REM 4198 REM------visa en bokstav ------- 4199 REM 4200 k=1:w=PEEK(cm) 4210 FOR m=1 TO w 4220 FOR n=1 TO h 4230 POKE vm(m,n)+cc,0 4240 POKE vm(m,n),PEEK(cm+k) 4250 k=k+1 4260 NEXT n 4270 NEXT m 4280 RETURN 4997 REM 4998 REM--- fastst[lla variabler ---- 4999 REM 5000 POKE 650,128:POKE56,128:CLR 5100 va=1024:cc=55296-va:gm=36864 5110 f=48:th=32:t=10:ft=15 5120 f1=133:f3=134:f5=135:f7=136 5200 b$=CHR$(144) 5201 c$=CHR$(147) 5202 d$=CHR$(17) 5203 g$=CHR$(155) 5204 h$=CHR$(19) 5206 r$=CHR$(18) 5207 u$=CHR$(145) 5210 w$=CHR$(5) 5500 DIM g(10),vm(9,7),l$(29) 5510 l=va+204 5520 FOR m=1 TO 7 5530 FOR n=1 TO 9 5540 vm(n,m)=l+n 5550 NEXT n 5560 l=l+40 5570 NEXT m 5750 g(0)=32:g(1)=160:g(2)=98:g(3)=226 5751 g(4)=223:g(5)=105:g(6)=95:g(7)=233 5752 g(8)=97:g(9)=225:g(10)=100 5800 l$(1)="37{1*4}0104{1*3}" 5801 l$(2)="3{1*5}2314545" 5802 l$(4)="3{1*5}0014115" 5803 l$(5)="3{1*5}2311001" 5804 l$(7)="3711610011011" 5805 l$(8)="3{1*4}0230{1*4}" 5806 l$(9)="{1*5}" 5807 l$(11)="3{1*4}07601541" 5808 l$(12)="3{1*4}{0*3}1{0*3}1" 5809 l$(14)="4{1*4}41600416{1*4}" 5810 l$(15)="3711610014115" 5811 l$(18)="3{1*5}0164154" 5812 l$(20)="31{0*3}{1*5}{0*3}" 5813 l$(21)="3{1*3}6{0*3}{1*5}" 5997 REM 5998 REM----- rubrik & instruktioner -- 5999 REM 6000 POKE 53280,3:POKE 53281,1 6010 PRINTc$CHR$(28) 6020 FOR n=1 TO 15 6030 PRINT "{space*24}"; 6040 NEXT n:PRINT b$d$d$d$d$ 6050 h=4 6060 a$="rubrik":x=va+49:GOSUB 6900 6070 a$="generator":x=va+242:GOSUB 6900 6080 PRINT"{up*4}{space*2}1. l[s in ett gammalt "; 6085 PRINT"alfabete?":PRINT 6090 PRINT"{space*4}2. starta ett nytt "; 6095 PRINT"alfabete?"d$d$d$ 6100 GOSUB 9000 6110 IF a<49 OR a>50 THEN 6100 6120 IF a=50 THEN 6300 6200 GOSUB 2000:GOSUB 2300 6210 GOSUB 7000:GOSUB 7500:GOTO 900 6300 PRINT"{space*4}bokst[vernas h{pound}jd "; 6305 PRINT"(2-7 pixels):"; 6310 GOSUB 9000 6320 IF a<50 OR a>55 THEN 6310 6330 h=a-48:PRINT h:GOSUB 9200 6340 GOSUB 7000:GOSUB 7500 6350 FOR n=gm TO gm+4032 STEP 64 6360 POKE n,t 6370 NEXT n 6380 GOTO 100 6879 REM 6898 REM------ utskrifts subrutin ----- 6899 REM 6900 FOR j=1 TO LEN(a$) 6910 k=ASC(MID$(a$,j,1))-64:l=2 6920 FOR m=x TO x+VAL(LEFT$(l$(k),1))-1 6930 FOR n=m TO m+(h-1)*40 STEP 40 6940 POKE n,g(VAL(MID$(l$(k),l,1))) 6950 l=l+1 6960 NEXT n 6970 NEXT m 6980 x=m+1:NEXT j 6990 RETURN 6997 REM 6998 REM--- sk[rmens huvudutseende --- 6999 REM 7000 POKE 53280,15 7010 POKE 53281,1 7020 PRINT c$g$ 7030 FOR n=1 TO 15:PRINT:NEXT n 7040 FOR n=1 TO 17 7050 PRINT r$"{space*21}"; 7060 NEXT n 7070 PRINT r$"{space*2}"u$u$u$ 7080 POKE va+999,160:POKE va+cc+999,15 7090 l=48:FOR n=2 TO 38 STEP 4 7100 PRINT TAB(n)r$CHR$(l); 7110 l=l+1:NEXT n 7120 FOR m=va+721 TO va+801 STEP 40 7130 READ a$ 7140 a$="{0*3}{1*3}"+a$:l=1 7150 FOR n=m TO m+38 7160 IF n/4=INT(n/4) THEN n=n+1 7170 POKE n+cc,0 7180 POKE n,g(VAL(MID$(a$,l,1))) 7190 l=l+1 7200 NEXT n:NEXT m 7210 PRINT h$b$; 7220 RETURN 7300 DATA "{0*3}{1*3}400115611007180091" 7310 DATA "{2*3}{3*3}140150061071180091" 7320 DATA "{1*3}{0*3}1145{0*4}67{1*3}80091" 7497 REM 7498 REM------- bokstavs ruta --------- 7499 REM 7500 PRINT:PRINT h$g$; 7510 FOR n=1 TO 16 7520 PRINT r$"{space*21}" 7530 NEXT n 7540 FOR m=1 TO 9 7550 FOR n=1 TO h-1 7560 POKE vm(m,n),g(t) 7570 NEXT n 7580 POKE vm(m,h),g(0) 7590 NEXT m 7600 PRINT b$;:RETURN 8997 REM 8998 REM---------- subrutiner --------- 8999 REM 9000 GET a$:IF a$="" THEN 9000 9010 a=ASC(a$):RETURN 9100 PRINT h$:FOR n=1 TO 14 9110 PRINT TAB(22)"{space*17}" 9120 NEXT n 9130 PRINT h$:PRINT 9140 RETURN 9200 FOR dy=1 TO 200:NEXT dy:RETURN stop tok64 (bastext 1.0)