home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 73 / 073.d81 / bytes (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  2KB  |  101 lines

  1. 97 :
  2. 98 :rem protect sprite data location
  3. 99 :
  4. 100 poke52,62:poke56,62:poke53281,0:poke53280,2:print"[147]"
  5. 107 :
  6. 108 :rem load sprite data into $3val00
  7. 109 :
  8. 110 sys57812"bytes.spr",8,0:poke780,0:poke781,0:poke782,62:sys65493
  9. 117 :
  10. 118 :rem set sprite pointers
  11. 119 :
  12. 120 fori=0to3:poke2040+i,248+i:next
  13. 127 :
  14. 128 :rem declare variables for sprites
  15. 129 :
  16. 130 v=53248:r=v+16:p=v+30:q=v+31:i=peek(p):i=peek(q)
  17. 147 :
  18. 148 :rem set sprite colors
  19. 149 :
  20. 150 pokev+39,1:pokev+40,2
  21. 160 pokev+40,3:pokev+41,4
  22. 167 :
  23. 168 :rem set multi-color sprite colors
  24. 169 :
  25. 170 pokev+37,7:pokev+38,9
  26. 180 pokev+28,12
  27. 187 :
  28. 188 :rem position sprites
  29. 189 :
  30. 190 fori=0to3:pokev+i*2,160:pokev+1+i*2,70+i*30:next
  31. 197 :
  32. 198 :rem turn on sprites 0, 1, 2 and 3
  33. 199 :
  34. 200 pokev+21,15
  35. 207 :
  36. 208 :rem print messages
  37. 209 :
  38. 210 print"[154]       [208]ress [209][154] to quit to [204][207][193][196][211][212][193][210]"
  39. 220 poke214,20:print:print"[208]ick a sprite by pressing 0[154], 1[154], 2 [154]or 3[154]."
  40. 230 print"                                       "
  41. 240 print"                                       [145][145][145]"
  42. 247 :
  43. 248 :rem choose sprites
  44. 249 :
  45. 250 geta$:ifa$="q"then570
  46. 260 ifa$<"0"ora$>"3"then250
  47. 270 u=val(a$):w=2^u
  48. 280 x=peek(v+2*u):y=peek(v+1+2*u)
  49. 287 :
  50. 288 :rem more messages
  51. 290 print"    [206]ow move it with the [195][210][211][210] [154]keys.    "
  52. 300 print"     [216][154] and [217][154] will toggle expansion.    "
  53. 310 print" [208]ress [211][208][193][195][197][154] to choose another sprite. "
  54. 317 :
  55. 318 :rem move loop
  56. 319 :
  57. 320 geta$
  58. 330 ifa$=" "then200:choose another spr
  59. 340 ifa$<>"[145]"then370:cursor up
  60. 350 y=y-1:ify<50theny=50
  61. 360 goto460
  62. 370 ifa$<>""then400:cursor down
  63. 380 y=y+1:ify>229theny=229
  64. 390 goto460
  65. 400 ifa$<>""then430:cursor right
  66. 410 x=x+1:ifx>320thenx=320
  67. 420 goto450
  68. 430 ifa$<>"[157]"then500:cursor left
  69. 440 x=x-1:ifx<24thenx=24:goto320
  70. 447 :
  71. 448 :rem move sprites
  72. 449 :
  73. 450 poker,peek(r)and(255-w)orw*int(x/256):rem set v+16 (r = v+16) for seam
  74. 460 pokev+u*2,xand255:pokev+1+u*2,y:rem     sprite position
  75. 470 ifpeek(p)andwthenpoke53280,1:poke53280,2:rem spr to spr collision
  76. 480 ifpeek(q)andwthenpoke53281,1:poke53281,0:rem spr to background collision
  77. 490 goto320
  78. 497 :
  79. 498 :rem x expansion
  80. 499 :
  81. 500 ifa$<>"x"then530
  82. 510 ifpeek(v+29)andwthenpokev+29,peek(v+29)and(255-w):goto320
  83. 520 pokev+29,peek(v+29)orw:goto320
  84. 527 :
  85. 528 :rem y expansion
  86. 529 :
  87. 530 ifa$<>"y"then560:y expansion
  88. 540 ifpeek(v+23)andwthenpokev+23,peek(v+23)and(255-w):goto320
  89. 550 pokev+23,peek(v+23)orw:goto320
  90. 560 ifa$<>"q"then320:quit
  91. 567 :
  92. 568 :rem return to loadstar
  93. 569 :
  94. 570 pokev+21,0
  95. 580 open15,8,15,"r0:hello connect=hello connect":input#15,er:close15
  96. 590 ifer<>63thenend
  97. 600 print"[147][144]load"chr$(34)"hello connect"chr$(34)",8"
  98. 610 print"run"
  99. 620 poke631,13:poke632,13:poke198,2:end
  100. 10000 open15,8,15,"s0:bytes":close15:save"bytes",8:end
  101.