home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1987 October / 1987-10.d64 / animator (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  113 lines

  1. 10 rem copyright 1987 compute! publications, inc. - all rights reserved
  2. 20 ifll=1thenll=0:goto220
  3. 30 poke55,0:poke56,72:clr
  4. 40 open1,0,0
  5. 50 poke53280,6:poke53281,0
  6. 60 print"[147]   copyright 1987 compute! pub., inc."chr$(142)chr$(8)
  7. 70 printtab(11)"all rights reserved"
  8. 80 fori=679to765:reada:x=x+a:pokei,a:next
  9. 90 ifx<>9869thenprint"error in data statement.":stop
  10. 100 data 169,0,160,0,162,0,173,0,6,141,0,8,173,0,36,141,0,220,238,174
  11. 110 data 2,173,174,2,201,0,208,3,238,175,2,238,177,2,173,177,2,201,0
  12. 120 data 208,3,238,178,2,238,180,2,173,180,2,201,0,208,3,238,181,2,238
  13. 130 data 183,2,173,183,2,201,0,208,3,238,184,2
  14. 140 data 232,224,128,240,3,76,173,2,200,192,8,240,3,76,171,2,96
  15. 150 dim po(10,2)
  16. 160 forr=1to10:pa(r)=50:nextr:print"[147]"
  17. 170 bg=1:nu=9:bf=1
  18. 180 forr=0to9:po(r,1)=18432+r*2048:po(r,2)=po(r,1)+1024
  19. 190 po(r,1)=po(r,1)/256:po(r,2)=po(r,2)/256:nextr
  20. 200 forr=0to9:poke687,4:poke693,4:poke690,(18432+2048*r)/256
  21. 210 poke696,(18432+1024+2048*r)/256:sys679:nextr
  22. 220 print"[147]":ifbg=2thenprint"[144]";
  23. 230 print"animator 64:"
  24. 240 print"0-9) edit screen        d)isplay"
  25. 250 print"c)opy screen            p)arameters"
  26. 260 print"s)ave to disk           l)oad from disk"
  27. 270 print"e)xit program"
  28. 280 print "          choice?";
  29. 290 geta$:a=val(a$)
  30. 300 ifa$=""then290
  31. 310 on-(a$="d")-(a$="c")*2-(a$="p")*3goto350,460,570
  32. 320 on-(a$="s")-(a$="e")*2-(a$="0"ora<>0)*3goto700,840,880
  33. 330 on-(a$="l")goto940
  34. 340 goto290
  35. 350 forr=1to500:nextr:ub=1
  36. 360 ifub=-1andbf=1thenforlo=nu-1to1step-1:goto380
  37. 370 forlo=0tonu
  38. 380 xx=lo:gosub1100
  39. 390 forpa=1topa(xx):nextpa
  40. 400 geta$:ifa$<>" "anda$<>chr$(13)then430
  41. 410 ifa$=" "thengosub440:goto430
  42. 420 goto220
  43. 430 nextlo:ub=-ub:goto360
  44. 440 geta$:ifa$=""then440
  45. 450 return
  46. 460 x=cr:x1=cr+1:ifx1=10thenx1=0
  47. 470 x2=x1:print"[147]copy screen:"
  48. 480 print"copy screen # "x"[157][157][157][157]";:inputc1
  49. 490 print"to:  screens  "x1"[157][157][157][157]";:inputc2
  50. 500 print"     through  "x2"[157][157][157][157]";:inputc3
  51. 510 forr=c2toc3
  52. 520 poke687,po(c1,1):poke693,po(c1,2)
  53. 530 poke690,po(r,1):poke696,po(r,2)
  54. 540 sys679
  55. 550 nextr
  56. 560 goto220
  57. 570 print"[147]parameters:"
  58. 580 forr=0to9:a$="pause":ifr<>10thena$=a$+" "
  59. 590 a$=a$+str$(r)+"    : "+str$(pa(r)):printa$:nextr:print
  60. 600 print"background  (1-16): "bg
  61. 610 print"hi screen #  (0-9): "nu
  62. 620 print"back/forward (0/1): "bf
  63. 630 print"";:mo$=""
  64. 640 forr=0to9:printmo$;:inputpa(r):nextr
  65. 650 print:printmo$;:inputbg:ifbg<1orbg>16then570
  66. 660 printmo$;:inputnu:ifnu<0ornu>9then570
  67. 670 printmo$;:inputbf:ifbf<>0andbf<>1then570
  68. 680 poke53280,bg-1:poke53281,bg-1
  69. 690 goto220
  70. 700 print"[147]save screens to disk:"
  71. 710 print"filename to save?"
  72. 720 print"("chr$(34)"exit"chr$(34)" to abort)"
  73. 730 print:print">";:input#1,fi$
  74. 740 iffi$="exit"then220
  75. 750 print:print:print"** please standby **"
  76. 760 f1$=fi$+".dat,s,w":f2$=fi$+".scr":f3$="s0:"+f2$
  77. 770 open15,8,15,"s0:"+f1$:close15:open2,8,2,"0:"+f1$
  78. 780 print#2,bg:print#2,bf:print#2,nu
  79. 790 forr=1to10:print#2,pa(r):nextr
  80. 800 close2
  81. 810 open15,8,15,f3$:close15
  82. 820 sys57812f2$,8:poke193,0:poke194,72:poke174,0:poke175,152:sys62954
  83. 830 print:print"saved ...":forr=1to1000:nextr:goto220
  84. 840 print"[147]are you sure?"
  85. 850 geta$:ifa$=""ora$<>"y"anda$<>"n"then850
  86. 860 ifa$="n"then220
  87. 870 end
  88. 880 print"";:xx=a:cr=xx:gosub1100
  89. 890 input#1,bl$
  90. 900 geta$:ifa$="a"then220
  91. 910 ifa$<>chr$(13)then900
  92. 920 gosub1070
  93. 930 goto220
  94. 940 print"[147]load from disk:"
  95. 950 print"filename to load?"
  96. 960 print"("chr$(34)"exit"chr$(34)" to abort)"
  97. 970 print">";:input#1,fi$
  98. 980 iffi$="exit"then220
  99. 990 print:print:print"** please standby **"
  100. 1000 f1$=fi$+".dat,s,r":f2$=fi$+".scr"
  101. 1010 open2,8,2,f1$
  102. 1020 input#2,bg:input#2,bf:input#2,nu
  103. 1030 forr=1to10:input#2,pa(r):nextr:close2
  104. 1040 poke53281,bg-1:poke53280,bg-1
  105. 1050 ll=1:loadf2$,8,1
  106. 1060 end
  107. 1070 poke687,1024/256:poke693,55296/256
  108. 1080 poke690,po(xx,1):poke696,po(xx,2)
  109. 1090 sys679:return
  110. 1100 poke690,1024/256:poke696,55296/256
  111. 1110 poke687,po(xx,1):poke693,po(xx,2)
  112. 1120 sys679:return
  113.