home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 84 / Tiger_Disk_084_20xx_Tiger-Crew-Disk_de_Side_D.d64 / iterative-gfx_pd (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  70 lines

  1. 1 rem ==============================
  2. 2 rem iterative design 64
  3. 3 rem heres a c-64 version
  4. 4 rem but painfully slow !!
  5. 5 rem coded by p-d/tide-amiga in 98
  6. 6 rem ==============================
  7. 7 rem use 128 version for speed.
  8. 8 rem ==============================
  9. 10 gosub 1000 :rem initialise graphics
  10. 20 for x=0 to 319
  11. 40 s=1+tan(0.005*x)
  12. 50 for y=0 to 199 step s
  13. 60 gosub 2000 :rem set pixel at x,y
  14. 70 next y
  15. 80 next x
  16. 90 get a$ : if a$="" then 90
  17. 100 gosub 3000
  18. 110 end
  19. 950 rem ******************************
  20. 960 rem
  21. 970 rem >>>initialise bit map mode<<<
  22. 980 rem
  23. 990 rem set & reset bit functions
  24. 1000 def fnsb(n)=peek(mm) or 2^n
  25. 1010 def fnrb(n)=peek(mm) and (255-2^n)
  26. 1020 vv=53248 :rem vic-ii register 0
  27. 1030 :rem >>>put bitmap at 8192<<<
  28. 1040 mm=vv+24 : poke mm,fnsb(3)
  29. 1050 :rem >>>select bitmap mode<<<
  30. 1060 mm=vv+17 : poke mm,fnsb(5)
  31. 1070 base=8192 :rem startbitmap memory
  32. 1080 :rem >>>clear bitmap<<<<<
  33. 1090 gosub 4000
  34. 1100 :rem select colours c1 & c0
  35. 1110 c1=1:c0=0:cc=16*c1+c0
  36. 1120 for mm=1024 to 2023 :poke mm,cc:next
  37. 1140 return
  38. 1150 :
  39. 1970 rem ==============================
  40. 1980 rem > turn on pixel at (x,y) <<<<<
  41. 1990 rem ==============================
  42. 2000 bit=7-(x and 7)
  43. 2010 mm=base+320*int(y/8)+8*int(x/8)+(y and 7)
  44. 2020 poke mm,fnsb(bit)
  45. 2030 return
  46. 2040 :
  47. 2970 rem ==============================
  48. 2980 rem >>>reset bitmap mode<<<<<<<<<<
  49. 2990 rem ==============================
  50. 3000 mm=vv+17 : poke mm,fnrb(5)
  51. 3010 rem restore screen memory base
  52. 3020 mm=vv+24 : poke mm,fnrb(3)
  53. 3030 return
  54. 3960 :
  55. 3970 rem ==============================
  56. 3980 rem >>>clear bitmap screen<<<<<<<<
  57. 3990 rem ==============================
  58. 4000 for m=828 to 828+43
  59. 4010 read b : poke m,b
  60. 4020 ck=ck+b
  61. 4030 next
  62. 4040 if ck<>5133 then print "data error in lines 4060 - 4110" : stop
  63. 4050 sys 828: return
  64. 4060 data 76,68,3,0,32,31,64,0
  65. 4070 data 173,63,3,133,251,173,64,3
  66. 4080 data 133,252,174,65,3,160,0,173
  67. 4090 data 67,3,136,145,251,208,251,230
  68. 4100 data 252,202,48,7,208,244,172,66
  69. 4110 data 3,208,239,96
  70.