home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 199 / 199.d81 / b.jukebox 2001 / b.080d / b.a7ae (.txt)
Encoding:
Commodore BASIC  |  2001-01-01  |  50.0 KB  |  231 lines

  1. 10 poke55,0:poke56,45:clr:rem top=$2d00
  2. 20 dv=peek(186):ifdv<8thendv=8
  3. 30 rem sys57812"juke mouse 8000",dv,0:poke780,0:poke781,0:poke782,128:sys65493
  4. 40 mr=32768:p=mr+12:b=mr+30:l=mr+54
  5. 50 dr=30720:jj=39936:mv=mr+309:su=53433
  6. 60 lm=1:lm$="immediately":pokemv+2,7
  7. 70 poke49152,0:poke650,128
  8. 80 pokedr+44,0:rem disable stop key
  9. 90 goto200
  10. 100 :
  11. 101 rem load modules
  12. 102 :
  13. 110 sysl,"f.juke 2001",dv,12288
  14. 120 sysl,"f.play 2001",dv,14336
  15. 130 sysl,"f.mega 2001",dv,28672
  16. 140 sysl,"ml.juke 9c00",dv,39936
  17. 150 sysl,"12 juke mobs",dv,11520
  18. 160 sysl,"7 region data",dv,52992
  19. 170 sysl,"qs driver 7800",dv,30720
  20. 180 sysl,"may13 sid c000",dv,49152
  21. 190 sysl,"t.error message",dv,52480
  22. 200 :
  23. 201 rem title screen setup
  24. 202 :
  25. 210 poke53280,0:poke53281,0:print"[147][154]"
  26. 220 poke53282,3:poke53283,14
  27. 230 poke53272,28:poke53270,24
  28. 240 sysp,0,2,"@abcdefghijklmnxyz[\]^_\]^_[146][\"
  29. 250 sysp,0,3,"! #$%&'()*+,-./0123456789:;<=>?<=>?[146];<"
  30. 260 sysp,0,4,"[192][193][194][195][196][197][198][199][200][201][202][203][204][205][206][207][208][209][210][211][212][213][214][215][216][217][218][219][220][221][255][223][220][221][255][223][146][219][220]"
  31. 270 sysp,0,5,"[160][161][162][163][164][165][166][167][168][169][170][171][172][173][174][175][176][177][178][179][180][181][182][183][184][185][186][187][188][189][190][191][188][189][190][191][146][221][255]"
  32. 280 sysp,0,6,"[160][161][162][163][164][165][166][167][168][169][170][171][172][173][174][175][176][177][178][179][180][181][182][183][184][185][186][187][188][189][190][191]qrstuvw[146]"
  33. 290 sysp,0,7,"oop[146]"
  34. 300 sysp,5,10,"[198]1[156] [199]et directory and [158]play music"
  35. 310 sysp,5,12,"[198]3[156] [195]hange active drive:[158]"+str$(dv)
  36. 320 sysp,5,14,"[198]5[156] [204]yrics displayed [158]"+lm$
  37. 330 sysp,5,16,"[198]7[156] [209]uit and return to [158][204][207][193][196][211][212][193][210]"
  38. 340 sysp,3,20,"[159][205]ouse]>[202]oystick]>[203]eyboard interface"
  39. 350 sysp,7,22,"^_2001 [202]&[198] [208]ublishing, [201]nc."
  40. 360 sysp,12,23,"www.loadstar.com[159]"
  41. 400 sysmr+21,36,10:gosub9000
  42. 500 :
  43. 501 rem title screen loop
  44. 502 :
  45. 510 sysmr+60,"[133][134][135][136]"
  46. 520 oni%goto900,700,800,39000
  47. 530 sysmr+9:ifl2%=0then500
  48. 540 ifcy%=10then900
  49. 550 ifcy%=12then700
  50. 560 ifcy%=14then800
  51. 570 ifcy%=16then39000
  52. 580 goto520
  53. 700 :
  54. 701 rem change device
  55. 702 :
  56. 710 gosub9100
  57. 720 dv=dv+1-(dv=13)+9*(dv=16)
  58. 730 open2,dv,2:close2:ifstthen720
  59. 740 gosub9000
  60. 750 sysp,28,12,"[158]"+str$(dv)+" "
  61. 760 goto500
  62. 800 :
  63. 801 rem change lyric mode
  64. 802 :
  65. 810 lm=lm+1+3*(lm=3)
  66. 820 iflm=1thenlm$="immediately"
  67. 830 iflm=2thenlm$="on demand  "
  68. 840 iflm=3thenlm$="never      "
  69. 850 sysp,25,14,"[158]"+lm$
  70. 860 goto500
  71. 900 :
  72. 901 rem get directory
  73. 902 :
  74. 910 gosub9100:open2,dv,2:close2
  75. 920 ifstthengosub9000:e$="[196]evice"+str$(dv)+" [206]ot [196]etected":goto8000
  76. 930 sysmr+207,"$:*",dv,53248,250
  77. 940 gosub9000:ifval(e$)then8000:error!
  78. 950 sysjj+9:sysmr+204,53248
  79. 960 e$="[206]o songs found on disk!"
  80. 970 ifn%=0then8000:empty!
  81. 980 sg=n%:j%=0:so=0
  82. 1000 :
  83. 1001 rem play song screen
  84. 1002 :
  85. 1010 print"[159][147]":poke53270,8:poke53272,30
  86. 1020 sysmr+126,0,39,0,24,30,31,7,10
  87. 1100 sysb,1,38,1,4,0,19
  88. 1110 sysb,1,25,6,18,0,19
  89. 1120 sysb,27,38,14,18,0,19
  90. 1130 foro=2to7:sysmr+36,o,0,19:next
  91. 1200 sysp,28,7,"[158][198]1 [199]o [206]ext[136][136][136][136][158][198]3 [208]ause[136][136][136][136][136][219][136][219][146]"
  92. 1210 sysp,2,21,"[158][198]7 [212]itle[214]iew[214]iew[158][198]5 [210]ead"
  93. 1220 sysp,5,22,"[211]creen[213][208] [158]+[196][206] [158]-[204]yrics"
  94. 2000 :
  95. 2001 rem prepare to load
  96. 2002 :
  97. 2010 so=so+1:sysmr+183,so
  98. 2020 iff$=""then6000:rem no more songs!
  99. 2030 fi$=mid$(f$,3)
  100. 2040 qf=0:ifleft$(f$,2)="m."then2100
  101. 2050 qf=1:ifleft$(f$,2)="q."then2100
  102. 2060 qf=2:fi$=left$(f$,len(f$)-4)
  103. 2100 sysp,2,1,"[159][219][211]ong"+str$(so)+" of"+str$(sg)+"[223]\\\"
  104. 2110 sysjj+3,fi$
  105. 2120 sysjj+21,2,24,7,17,j%,so-1
  106. 2200 :
  107. 2201 rem load song
  108. 2202 :
  109. 2210 gosub9100:open2,dv,2:close2
  110. 2220 ifstthene$="[196]evice"+str$(dv)+" [206]ot [196]etected":goto8500
  111. 2230 sysl,f$,dv,16384:ifval(e$)then8500
  112. 2240 ifqf=0thensysl,"w."+fi$,dv,61440:ifval(e$)then8500
  113. 2250 sysmr+129,52480,52992,40960
  114. 2260 iflm<3thensysmr+201,"t."+fi$,dv,40960:ifval(e$)>0andval(e$)<>62then8500
  115. 2270 gosub9000
  116. 2400 :
  117. 2401 rem start play
  118. 2402 :
  119. 2410 ifqf=0thensysdr+3,64,240,1:rem ss
  120. 2420 ifqf=1thensysdr,64,1:rem qs
  121. 2430 ifqf=2thenpoke781,0:poke782,64:sys49664:poke49152,7:rem sid
  122. 2440 sysjj+12:rem prep mobs & start tod
  123. 2450 iflm=1andval(e$)=0then4000
  124. 3000 :
  125. 3001 rem playing loop
  126. 3002 :
  127. 3010 sysjj:ifpeek(780)=0then2000:over!
  128. 3020 sysmr+9:oncr%goto5000,5100,5200,5300,5420,5520,4000
  129. 3030 sysmr+60,"+-[133][134][135][136]":oni%+1goto3010,5410,5510,5100,5200,4000,5300
  130. 3100 regions 1=songs 2=next  3=pause         4=exit  5=up    6=down  7=lyrics
  131. 4000 :
  132. 4001 rem open lyrics
  133. 4002 :
  134. 4010 sysmr+39,248:poke53269,3
  135. 4020 sysb,0,39,6,18,0,19
  136. 4030 sysmr+204,40960:sysmr+21,24,22
  137. 4040 sysp,31,21,"[195]lose"
  138. 4050 sysjj+21,1,38,7,17,0,65535
  139. 4500 :
  140. 4501 rem lyrics loop
  141. 4502 :
  142. 4510 sysjj:sysmr+9:ifcr%>3thenoncr%-3goto5300,5620,5720,5800
  143. 4520 sysmr+60,"+-[135][136]":oni%+1goto4510,5610,5710,5800,5300
  144. 5000 :
  145. 5001 rem play / lyric screen routines
  146. 5002 :
  147. 5010 o=j%+cy%-7:ifo<sgthenso=o:sysdr+18:sys49897:goto2010:clicked song
  148. 5020 goto3010:nowhere
  149. 5100 :
  150. 5110 sysdr+18:sys49897:goto2010:(NULL) next
  151. 5200 :
  152. 5210 sysjj+6:goto3010:pause
  153. 5300 :
  154. 5310 sysdr+18:sys49897:poke53269,3
  155. 5320 goto200:title screen
  156. 5400 :
  157. 5410 sysjj+15:goto3010:key songs up
  158. 5420 sysjj+24:goto3010:rat songs up
  159. 5500 :
  160. 5510 sysjj+18:goto3010:key songs down
  161. 5520 sysjj+27:goto3010:rat songs down
  162. 5600 :
  163. 5610 sysjj+15:goto4510:key lyrics up
  164. 5620 sysjj+24:goto4510:rat lyrics up
  165. 5700 :
  166. 5710 sysjj+18:goto4510:key lyrics down
  167. 5720 sysjj+27:goto4510:rat lyrics down
  168. 5800 :
  169. 5810 sysmr+204,53248:sysmr+42,248:poke53269,31:sysjj+21,2,24,7,17,j%,so-1
  170. 5820 goto3010:close lyrics
  171. 6000 :
  172. 6001 rem all songs played
  173. 6002 :
  174. 6010 sysjj+21,2,24,7,17,j%,65535
  175. 6020 sysb,1,38,1,4,0,35
  176. 6030 foro=1to2
  177. 6040 sysb,0,39,0,19,0,255
  178. 6050 sysb,0,0,20,23,0,255
  179. 6060 sysb,12,39,20,23,0,255
  180. 6070 sysb,0,39,24,24,0,255
  181. 6080 next
  182. 6100 foro=2to4:poke53287+o,12:next
  183. 6110 sysjj+3,"all songs played"
  184. 6120 sysmr+9
  185. 6130 geta$:ifa$<>"[136]"andcr%<>4then6120
  186. 6140 poke53269,3:goto200
  187. 8000 :
  188. 8001 rem error on title screen
  189. 8002 :
  190. 8010 poke198,0:poke646,2
  191. 8020 sysmr+27,18,e$
  192. 8030 sysmr+27,19,"[195]lick to [195]ontinue"
  193. 8040 sysmr+9:ifl2%=0then8040
  194. 8050 sysb,0,39,18,19,32,2
  195. 8060 poke198,0:goto500
  196. 8500 :
  197. 8501 rem error on play screen
  198. 8502 :
  199. 8510 poke198,0:gosub9000:rem (was off)
  200. 8520 sysb,1,38,11,17,0,18
  201. 8530 sysp,14,12,"[146] [196][201][211][203] [197][210][210][207][210][136][136][136][136]please click[158]":sysmr+27,14,e$
  202. 8540 sysmr+9:ifl2%=0then8540
  203. 8550 poke198,0:goto200
  204. 9000 :
  205. 9001 rem everything on
  206. 9002 :
  207. 9010 sysdr+12:sysdr+21:sysmr:sys49615:pokedr+39,128:sysdr+15:sysmr+6,704:return
  208. 9100 :
  209. 9101 rem everything off (except volume)
  210. 9102 :
  211. 9110 poke53269,0:sysdr+18:sys49897:sys49935:sysmr+3:sysdr+24:return
  212. 39000 :
  213. 39001 rem return to loadstar!
  214. 39002 :
  215. 39010 gosub9100:rem all off
  216. 39020 poke54296,0:rem volume off
  217. 39030 poke198,0
  218. 39040 :
  219. 40000 fori=8to29:poke820+i,i:next:ifdv>8anddv<30thenpoke828,dv:poke820+dv,8
  220. 40010 a$="presenter":gosub40030:a$="hello connect":gosub40030
  221. 40020 print"[147]":poke53272,23:poke186,8:poke2048,0:poke44,8:poke43,1:end
  222. 40030 forj=8to29:i=peek(820+j):ifi=14thennext
  223. 40040 close2:open2,i,2:close2:ifstthen40060
  224. 40050 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then40070
  225. 40060 next:return
  226. 40070 a$="hello connect":q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
  227. 40080 print"[147]p[207]2048,0:p[207]44,8:p[207]43,1:p[207]56,160:p[207]55,0:clr:l[207]"q$a$q$","i
  228. 40090 print"run:":poke631,13:poke632,13:poke198,2:end
  229. 63998 end
  230. 63999 a$="bas.jukebox 2001":open15,8,15,"s0:"+a$:close15:savea$,8
  231.