home *** CD-ROM | disk | FTP | other *** search
- 1 poke45,peek(174):poke46,peek(175):clr:poke788,52:poke657,128
- 2 poke53280,1:poke53281,1:goto16
- 3 print"[147]":fori=1to39:printc$;:next:fori=1to22:print"[157]"c$;:next:print"[157]";
- 4 fori=1to38:print"[157]"c$"[157]";:next:printc$
- 5 fori=1to23:print"[145]"c$"[157]";:next:return
- 7 geta$:ifa$=""then7
- 8 print:return
- 16 z$=chr$(34):c$="[166]":gosub3:print""tab(13)"lektion 10"
- 17 printtab(13)"fortsetzung"
- 18 gosub7
- 20 print"[147]":printtab(6)" hochaufloesende graphik [146]"
- 30 print"eine maximale aufloesung von":printtab(6)"[129]200 x 320 bildpunkten"
- 40 print"laesst sich durch belegen eines be-":print"stimmten speicherbereiches mit einem
- 50 [153]"forbitmuster, das dem gewuenschten graphen":[153]"entspricht, erreichen."
- 60 [153]"dieser bereich wird dann auf dem bild-":[153]"schirm abgebildet."
- 70 [153]"dieses verfahren nennt man":[153][163]10)"# forbitmapping #."
- 80 [153]"hierzu muss zuerst das forbit 3 in der":[153]"foradresse 53272 gesetzt werden."
- 90 [153]"dies bewirkt, dass der speicherbereich":[153]"ab 8192 fuer das forbitmapping";
- 100 [153]" benutzt":[153]"wird.":[141]7:[153]"load"
- 110 [153]"um diesen bereich auf dem bildschirm":[153]"abzubilden, muss nun noch das";
- 115 [153]"for bit 5"
- 120 [153]"in foradresse 53265 gesetzt werden.":[153]"dies schaltet den forbit-";
- 130 [153]"map-mode ein."
- 140 [153]"nun besteht noch das problem, einen":[153]"vorgegebenen graphen (also eine";
- 150 [153]" funktion";:[153]"usw.) in ein bitmuster umzurechnen."
- 160 [153]"eine einfache methode, angewandt auf"
- 170 [153]"eine sinus-funktion, zeigt das fol-"
- 180 [153]"gende programm.":[153]"soll eine andere funktion f(x) ge-"
- 190 [153]"zeichnet werden, so muss diese in zeile"
- 200 [153]"60 in der form y = int(f(x)) wait ein-"
- 210 [153]"gesetzt werden.":[153]" achtung wait : folgende grenzen fuer ";
- 220 [153]"x und":[153][163]12)"y sind zu beruecksichtigen:":[153][163]12)"0<x<319 und 0";
- 225 [153]"<y<199"
- 230 [141]7:[153]"load"
- 240 [153][163]10)" sinus-funktion wait"
- 250 [153]" 10 poke53272,peek(53272)or8
- 252 print" 20 poke53265,peek(53265)or32
- 254 [153]" 25 fork=0to999:poke1024+k,14:next
- 256 print" 27 fori=0to7999:poke8192+i,0:next
- 258 [153]" 50 forx=0to319
- 260 print" 60 y=int(100+80*sin(x*2*[255]/160))
- 262 [153]" 70 forn=0to24
- 264 print" 80 ify>n*8-1andy<(n+1)*8thenby=8192+n*"
- 266 print" 320+8*int(x/8)+y-8*n:n=24:goto100"
- 268 print" 90 nextn
- 270 [153]"100 bi=8*(1+int(x/8))-x-1
- 272 print"110 ifpeek(by)<>0thenpokeby,peek(by)or2^ bi"
- 274 print"120 ifpeek(by)=0thenpokeby,2^bi"
- 276 print"130 nextx"
- 280 gosub7:print"[147]"
- 290 print"zeile 10: bereich fuer bitmapping":printtab(11)"ab 8192."
- 300 print"zeile 20: bitmapmode wird einge-":printtab(11)"schaltet."
- 310 print"zeile 25: wahl der farbkombination."
- 320 print"zeile 27: bildschirm wird geloescht."
- 330 print"zeile 60: funktion"
- 340 print"zeile 80: nummer des bytes wird be-":printtab(11)"rechnet."
- 350 print"zeile 100: bitmuster wird berechnet."
- 360 print"zeile 110: prueft, ob ein bit gesetzt":printtab(5)"+120: ist."
- 370 print"bem.: andere farbkombination durch"
- 375 printtab(6)"aendern des gepokeden wertes":printtab(6)"(zeile 25)."
- 380 printtab(6)"bildschirmfarbe: untere 4 bits "
- 385 printtab(6)"farbe des graphen: obere 4 bits"
- 390 printtab(6)"d.h. unteres u. oberes nybble"
- 400 gosub7:print"[147]"
- 410 poke53272,peek(53272)or8
- 420 poke53265,peek(53265)or32
- 425 fork=0to999:poke1024+k,14:next
- 427 fori=0to7999:poke8192+i,0:next
- 450 forx=0to319
- 460 y=int(100+80*sin(x*2*(NULL)/160))
- 470 forn=0to24
- 480 ify>n*8-1andy<(n+1)*8thenby=8192+n*320+8*int(x/8)+y-8*n:n=24:goto500
- 490 nextn
- 500 bi=8*(1+int(x/8))-x-1
- 510 ifpeek(by)<>0thenpokeby,peek(by)or2^bi
- 520 ifpeek(by)=0thenpokeby,2^bi
- 530 nextx
- 540 gosub7:poke53272,21:poke53265,27
- 550 poke53280,1:poke53281,1:print"[147]"
- 560 gosub3:print" ende von lektion 10 [146]"
- 570 print"sind sie bereit fuer lektion 11?"
- 580 print"(j/n) ?"
- 590 getb$:ifb$=""then590
- 600 ifb$="n"then700
- 610 ifb$<>"j"then590
- 614 print" bitte warten! "
- 616 print" lektion 11 wird geladen. "
- 617 print" "
- 620 load"11/1lektion",8
- 700 fori=1to700:nexti
- 720 sys64738
-