home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 5 / Tiger_Disk_005_19xx_Tiger-Crew-Disk_de_Side_B.d64 / 10_2lektion (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  4KB  |  92 lines

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