home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 56 / 056.d81 / kaleidoscope (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  4KB  |  110 lines

  1. 100 poke52,64:poke56,64:clr:print"[147]loading..."
  2. 110 f$="kal.ml":gosub1000:f$="sid.obj.64":gosub1000
  3. 120 s=0:la=25600:f$="cfbachtheme.mus":gosub3000
  4. 130 f$="bach bourree.mus":gosub3000:f$="nocturne27-1.mus":gosub3000
  5. 140 f$="eve in cntry.mus":gosub3000:f$="horse music.mus":gosub3000
  6. 150 gosub5000:poke780,s:poke781,64:poke782,96:sys39428
  7. 160 poke52,160:poke56,160:clr:goto4000
  8. 999 :
  9. 1000 poke780,1:poke781,8:poke782,1:sys65466:gosub2000
  10. 1010 poke780,0:sys65493:ifpeek(783)and1then1020
  11. 1015 return
  12. 1020 p=peek(780):print"error for ";f$;:ifp=4thenprint" file not found":goto4000
  13. 1030 ifp=5thenprint" device not present":goto4000
  14. 1040 print" ";st:goto4000
  15. 1999 :
  16. 2000 f$=f$+",p,r":fork=1tolen(f$):poke584+k,asc(mid$(f$,k)):next
  17. 2010 poke780,len(f$):poke781,73:poke782,2:sys65469:return
  18. 2999 :
  19. 3000 poke780,1:poke781,8:poke782,0:sys65466:gosub2000
  20. 3010 hi=int(la/256):lo=la-256*hi
  21. 3020 poke780,0:poke781,lo:poke782,hi:sys65493:ifpeek(783)and1then1020
  22. 3030 la=peek(781)+256*peek(782):poke40944+s,lo:poke40945+s,hi:s=s+2:return
  23. 3999 :
  24. 4000 open15,8,15,"r0:hello connect=hello connect":input#15,er%:close15
  25. 4010 ifer%<>63thenend
  26. 4020 load"hello connect",8
  27. 4999 :
  28. 5000 bw=15:ms$="loadstar proudly presents":tl$="k a l e i d o s c o p e"
  29. 5010 au$="by dave johannsen":bx=27:gosub 6000
  30. 5020 s$(1)="copyright 1988"
  31. 5030 s$(2)="[213][192][192][201][157][157][157][157][221]f1[221][157][157][157][157][202][192][192][203][157][157][157][157][157][157][157][157][157][157][157][157][157]change "
  32. 5040 s$(2)=s$(2)+"background color"
  33. 5050 s$(3)="[213][192][192][201][157][157][157][157][221]f3[221][157][157][157][157][202][192][192][203][157][157][157][157][157][157][157][157][157][157][157][157][157]change "
  34. 5060 s$(3)=s$(3)+"foreground color"
  35. 5070 s$(4)="[213][192][192][201][157][157][157][157][221]f5[221][157][157][157][157][202][192][192][203][157][157][157][157][157]pause"
  36. 5080 s$(5)="[213][192][192][201][157][157][157][157][221]f7[221][157][157][157][157][202][192][192][203][157][157][157][157][157][157][157][157][157][157][157]return to loadstar"
  37. 5090 s$(6)="[213][192][192][192][192][192][201][157][157][157][157][157][157][157][221]space[221][157][157][157][157][157][157][157][202][192][192][192][192][192][203][157][157][157][157][157][157][157][157][157]change"
  38. 5100 s$(6)=s$(6)+" song":n=1
  39. 5105 s$(7)="press any key to begin"
  40. 5110 s$=s$(n):n=n+1:ifn>7thenn=1
  41. 5120 gosub8000
  42. 5130 geta$:ifa$=""then5110
  43. 5140 return
  44. 5999 :
  45. 6000 sx=782:sy=781:sj=39424:poke53280,14:poke53281,14:print"[147]";
  46. 6010 fori=1tolen(ms$):a$=mid$(ms$,i,1):ifa$=" "then6050
  47. 6020 x=20-(len(ms$)+1)/2:fory=1to12:ifx+i+12-y>37 then6040
  48. 6030 pokesx,x+i+12-y:pokesy,24-y:syssj:print"[144]";a$;" ";
  49. 6040 pokesx,x+i:pokesy,y:syssj:print"";a$;"[145][157] ";:nexty
  50. 6050 nexti:bb=20-(bw+1)/2:be=bb+bw
  51. 6060 t$=left$("[154]                    ",bb+2)
  52. 6070 t$=t$+left$("[153]                                        ",bw+1)
  53. 6080 t$=t$+left$("[154]                    ",41-be)
  54. 6090 pokesx,0:pokesy,24:syssj:printleft$(t$,43);:poke56295,14:poke2023,160
  55. 6100 fory=23to0step-1:pokesx,0:pokesy,y:syssj:printt$;:pokesx,be:pokesy,y+1
  56. 6110 syssj:print" ";:next:pokesx,0:pokesy,24:syssj
  57. 6115 print"[154]                                       ";:pokesx,bb:pokesy,24
  58. 6120 syssj:printleft$("[154]                                         ",bw+4);
  59. 6130 print"";:poke53281,1:i$="[155][152][151][144][151][152][155]"
  60. 6140 lx=39:ly=2:lm=1:rx=lx+3+len(tl$):ry=2:rm=1:qx=17-(len(tl$)+1)/2
  61. 6150 gosub7000:gosub7100:iflx>qxthen6150
  62. 6160 fori=1to4:pokesx,qx+3:pokesy,3:syssj:printmid$(i$,i,1);"[146]";tl$;
  63. 6165 gosub7500:next
  64. 6170 lx=39:ly=7:lm=1:rx=lx+3+len(au$):ry=7:rm=1:qx=17-(len(au$)+1)/2
  65. 6180 gosub7000:gosub7100:iflx>qxthen6180
  66. 6190 fori=1to4:pokesx,qx+3:pokesy,8:syssj:printmid$(i$,i,1);"[146]";au$;
  67. 6195 gosub7500:next
  68. 6200 lx=39:ly=13:lm=1:rx=lx+bx:ry=13:rm=1:qx=18-(bx+1)/2
  69. 6210 gosub7200:gosub7300:iflx>qxthen6210
  70. 6220 return
  71. 7000 pokesx,lx:pokesy,ly:syssj:lx=lx-1:onlmgoto7010,7020,7030,7040,7050,7060
  72. 7010 lm=2:print"[146][207][157][180][157][204]";:return
  73. 7020 lm=3:print"[146][207][183][157][157][180] [157][157][204][175]";:return
  74. 7030 lm=3-(lx=be-2):print"[146][207][183][157][157][180] [157][157][204][175] [157] ";:return
  75. 7040 lm=4-(lx=bb-2):print"[146][207][183][157][157][180] [157][157][204][175][157] ";:return
  76. 7050 lm=6:print"[146][207][183][157][157][180] [157][157][204][175]";:return
  77. 7060 print"[146][207][183][157][157][180] [157][157][204][175] [157] ";:return
  78. 7100 rx=rx-1:ifrx>38thenreturn
  79. 7105 pokesx,rx+1:pokesy,ly:syssj:onrmgoto7110,7120,7130,7140,7150,7160
  80. 7110 rm=2:print"[146][208][157][170][157][186]";:return
  81. 7120 rm=3+(rx>=37):print"[146][208][157][170][157][186] [145][157][154] [145][157] ";:return
  82. 7130 rm=4+(rx>=be):print"[146][208][157][170][157][186] [145][157][154] [145][157]  [157] [157] ";:return
  83. 7140 rm=5:print"[146][208][157][170][157][186] [145][157] [145][157] [154] [157] [157] ";:return
  84. 7150 rm=6:print"[146][208][157][170][157][186] [145][157] [145][157][153] [154] [157] [157] ";:return
  85. 7160 print"[146][208][157][170][157][186] [145][157] [145][157][153] [153] [157] [157] ";:return
  86. 7200 b$="[146][207][183][157][157][180] [157][157][180] [157][157][180] [157][157][180] [157][157][180] [157][157][204][175]"
  87. 7205 pokesx,lx:pokesy,ly:syssj:lx=lx-1:onlmgoto7210,7220,7230,7240,7250,7260
  88. 7210 lm=2:print"[146][207][157][180][157][180][157][180][157][180][157][180][157][204]";:return
  89. 7220 lm=3:printb$;:return
  90. 7230 lm=3-(lx=be-2):printb$;" [157] ";:return
  91. 7240 lm=4-(lx=bb-2):printb$;"[157] ";:return
  92. 7250 lm=6:printb$;:return
  93. 7260 printb$;" [157] ";:return
  94. 7300 b$="[146][208][157][170][157][170][157][170][157][170][157][170][157][186]":c$=b$+" [145][157] [145][157] [145][157] [145][157] [145][157][154] [145][157] "
  95. 7301 d$=b$+" [145][157] [145][157] [145][157] [145][157] [145][157] [145][157] ":e$=b$+" [145][157] [145][157] [145][157] [145][157] [145][157] [145][157][153] "
  96. 7302 rx=rx-1:ifrx>38thenreturn
  97. 7305 pokesx,rx+1:pokesy,ly:syssj:onrmgoto7310,7320,7330,7340,7350,7360
  98. 7310 rm=2:printb$;:return
  99. 7320 rm=3+(rx>=37):printc$;:return
  100. 7330 rm=4+(rx>=be):printc$;" [157] [157] [157] [157] [157] [157] ";:return
  101. 7340 rm=5:printd$;"[154] [157] [157] [157] [157] [157] [157] ";:return
  102. 7350 rm=6:printe$;"[154] [157] [157] [157] [157] [157] [157] ";:return
  103. 7360 printe$;"[153] [157] [157] [157] [157] [157] [157] ";:return
  104. 7500 fort=1to100:next:return
  105. 7999 :
  106. 8000 fori=1to4:pokesx,qx+3:pokesy,14:syssj:printmid$(i$,i,1);"[146]";s$;:gosub7500
  107. 8010 next:fort=1to900:next
  108. 8020 fori=5to8:pokesx,qx+3:pokesy,14:syssj:printmid$(i$,i,1);"[146]";s$;:gosub7500
  109. 8030 next:fort=1to300:next:return
  110.