home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0616.ZIP / CCE_0616.PD / AUDIOFUN / SWK_BIND.BAS < prev    next >
BASIC Source File  |  1993-05-30  |  11KB  |  252 lines

  1. 63000 '*************************************************************************
  2. 63001 '*                                                                       *
  3. 63002 '*                             SWK_BIND.BAS                              *
  4. 63003 '*                             ------------                              *
  5. 63004 '*                                                                       *
  6. 63005 '*                     Binding für SOUNDWORKER V1.0                      *
  7. 63006 '*                                                                       *
  8. 63007 '*                        Sprache: OMIKRON.BASIC                         *
  9. 63008 '*                                                                       *
  10. 63009 '*************************************************************************
  11. 63010 '
  12. 63011 '
  13. 63012 '
  14. 63013 '*************************************************************************
  15. 63014 '*                                                                       *
  16. 63015 '*                               SWK_LOAD                                *
  17. 63016 '*                                                                       *
  18. 63017 '*                  Eingabe: Filename$                                   *
  19. 63018 '*                                                                       *
  20. 63019 '*                  Ausgabe:   1 -> Erfolgreich geladen                  *
  21. 63020 '*                             0 -> falsche Datei                        *
  22. 63021 '*                                                                       *
  23. 63022 '*************************************************************************
  24. 63023 '
  25. 63024 DEF PROC Swk_Load(R Lret%,Filename$)
  26. 63025    '
  27. 63026    LOCAL Size%,I%
  28. 63027    LOCAL Swk_Id$="SOUNDWORKER V1.0"
  29. 63028    '
  30. 63029    OPEN "I",1,Filename$
  31. 63030    Size%= LOF(1)
  32. 63031    CLOSE 1
  33. 63032    IF Size%<>5024 THEN
  34. 63033       Lret%=0
  35. 63034    ELSE
  36. 63035       DIM Swk_Array%(2512)
  37. 63036       Swk_Adr%L= LPEEK( VARPTR(Swk_Array%(0)))+ LPEEK( SEGPTR +20)
  38. 63037       Swk_Ptr%L= LPEEK( VARPTR(Swk_Id$))+ LPEEK( SEGPTR +28)
  39. 63038       BLOAD Filename$,Swk_Adr%L
  40. 63039       Lret%=1
  41. 63040       FOR I%=0 TO 3 STEP 4
  42. 63041          IF LPEEK(Swk_Adr%L+I%)<> LPEEK(Swk_Ptr%L+I%) THEN
  43. 63042             Lret%=0
  44. 63043             EXIT
  45. 63044          ENDIF
  46. 63045       NEXT I%
  47. 63046    ENDIF
  48. 63047    '
  49. 63048 RETURN
  50. 63049 '
  51. 63050 '
  52. 63051 '
  53. 63052 '*************************************************************************
  54. 63053 '*                                                                       *
  55. 63054 '*                               SWK_START                               *
  56. 63055 '*                                                                       *
  57. 63056 '*************************************************************************
  58. 63057 '
  59. 63058 DEF PROC Swk_Start
  60. 63059    '
  61. 63060    Swk_Ptr%L=Swk_Adr%L+48
  62. 63061    XBIOS (,38, HIGH(Swk_Ptr%L), LOW(Swk_Ptr%L))
  63. 63062    '
  64. 63063 RETURN
  65. 63064 '
  66. 63065 '
  67. 63066 '
  68. 63067 '*************************************************************************
  69. 63068 '*                                                                       *
  70. 63069 '*                               SWK_STOP                                *
  71. 63070 '*                                                                       *
  72. 63071 '*************************************************************************
  73. 63072 '
  74. 63073 DEF PROC Swk_Stop
  75. 63074    '
  76. 63075    Swk_Ptr%L=Swk_Adr%L+52
  77. 63076    XBIOS (,38, HIGH(Swk_Ptr%L), LOW(Swk_Ptr%L))
  78. 63077    '
  79. 63078 RETURN
  80. 63079 '
  81. 63080 '
  82. 63081 '
  83. 63082 '*************************************************************************
  84. 63083 '*                                                                       *
  85. 63084 '*                               SWK_PLAY                                *
  86. 63085 '*                                                                       *
  87. 63086 '*     Eingabe: Channel ->     0 ... 2                                   *
  88. 63087 '*                 Part -> +/- 1 ... 8 startet den Kanal                 *
  89. 63088 '*                                     sonst  stummschalten              *
  90. 63089 '*                                                                       *
  91. 63090 '*************************************************************************
  92. 63091 '
  93. 63092 DEF PROC Swk_Play(Channel%,Part%)
  94. 63093 '
  95. 63094    IF Channel%>=0 AND Channel%<=2 THEN Swk_Array%(9+Channel%)=Part%
  96. 63095 '
  97. 63096 RETURN
  98. 63097 '
  99. 63098 '
  100. 63099 '
  101. 63100 '*************************************************************************
  102. 63101 '*                                                                       *
  103. 63102 '*                               SWK_TILL                                *
  104. 63103 '*                                                                       *
  105. 63104 '*     Eingabe: Channel -> 0 ... 2                                       *
  106. 63105 '*                 Last -> Anzahl der zu spielenden Töne                 *
  107. 63106 '*                                                                       *
  108. 63107 '*************************************************************************
  109. 63108 '
  110. 63109 DEF PROC Swk_Till(Channel%,Last%)
  111. 63110 '
  112. 63111    IF Channel%>=0 AND Channel%<=2 THEN Swk_Array%(12+Channel%)=Last%
  113. 63112 '
  114. 63113 RETURN
  115. 63114 '
  116. 63115 '
  117. 63116 '*************************************************************************
  118. 63117 '*                                                                       *
  119. 63118 '*                               SWK_EXEC                                *
  120. 63119 '*                                                                       *
  121. 63120 '*   Eingabe: Channel -> 0 ... 2                                         *
  122. 63121 '*              Begin -> Taktnummer zum Starten der Routine              *
  123. 63122 '*            Routine -> Startadresse der Routine                        *
  124. 63123 '*                                                                       *
  125. 63124 '*************************************************************************
  126. 63125 '
  127. 63126 DEF PROC Swk_Exec(Channel%,Begin%,Routine%L)
  128. 63127 '
  129. 63128    IF Channel%>=0 AND Channel%<=2 THEN
  130. 63129       Swk_Array%(12+Channel%)=Begin%
  131. 63130       Channel%=Channel%+Channel%
  132. 63131       Swk_Array%(15+Channel%)= HIGH(Routine%L)
  133. 63132       Swk_Array%(16+Channel%)= LOW(Routine%L)
  134. 63133    ENDIF
  135. 63134 '
  136. 63135 RETURN
  137. 63136 '
  138. 63137 '
  139. 63138 '
  140. 63139 '*************************************************************************
  141. 63140 '*                                                                       *
  142. 63141 '*                               SWK_TIME                                *
  143. 63142 '*                                                                       *
  144. 63143 '*        Eingabe: channel -> 0 ... 2                                    *
  145. 63144 '*                                                                       *
  146. 63145 '*        Ausgabe: momentan gespielter Takt oder Null, wenn stumm        *
  147. 63146 '*                                                                       *
  148. 63147 '*************************************************************************
  149. 63148 '
  150. 63149 DEF PROC Swk_Time(R Tret%,Channel%)
  151. 63150 '
  152. 63151    IF Channel%>=0 AND Channel%<=2 THEN
  153. 63152       Tret%=Swk_Array%(9+Channel%) AND $FF
  154. 63153    ENDIF
  155. 63154 '
  156. 63155 RETURN
  157. 63156 '
  158. 63157 '
  159. 63158 '
  160. 63159 '*************************************************************************
  161. 63160 '*                                                                       *
  162. 63161 '*                               SWK_PART                                *
  163. 63162 '*                                                                       *
  164. 63163 '*        Eingabe: channel -> 0 ... 2                                    *
  165. 63164 '*                                                                       *
  166. 63165 '*        Ausgabe: momentan gespielter Part oder Null, wenn stumm        *
  167. 63166 '*                                                                       *
  168. 63167 '*************************************************************************
  169. 63168 '
  170. 63169 DEF PROC Swk_Part(R Pret%,Channel%)
  171. 63170 '
  172. 63171    IF Channel%>=0 AND Channel%<=2 THEN Pret%=Swk_Array%(9+Channel%) SHR 8
  173. 63172 '
  174. 63173 RETURN
  175. 63174 '
  176. 63175 '
  177. 63176 '
  178. 63177 '*************************************************************************
  179. 63178 '*                                                                       *
  180. 63179 '*                               JOY_START                               *
  181. 63180 '*                                                                       *
  182. 63181 '*************************************************************************
  183. 63182 '
  184. 63183 DEF PROC Joy_Start
  185. 63184    '
  186. 63185    Swk_Ptr%L=Swk_Adr%L+56
  187. 63186    XBIOS (,38, HIGH(Swk_Ptr%L), LOW(Swk_Ptr%L))
  188. 63187    '
  189. 63188 RETURN
  190. 63189 '
  191. 63190 '
  192. 63191 '
  193. 63192 '*************************************************************************
  194. 63193 '*                                                                       *
  195. 63194 '*                               JOY_STOP                                *
  196. 63195 '*                                                                       *
  197. 63196 '*************************************************************************
  198. 63197 '
  199. 63198 DEF PROC Joy_Stop
  200. 63199    '
  201. 63200    Swk_Ptr%L=Swk_Adr%L+60
  202. 63201    XBIOS (,38, HIGH(Swk_Ptr%L), LOW(Swk_Ptr%L))
  203. 63202    '
  204. 63203 RETURN
  205. 63204 '
  206. 63205 '
  207. 63206 '
  208. 63207 '*************************************************************************
  209. 63208 '*                                                                       *
  210. 63209 '*                               JOY_LAST                                *
  211. 63210 '*                                                                       *
  212. 63211 '*************************************************************************
  213. 63212 '
  214. 63213 DEF PROC Joy_Last(R Jlast%)
  215. 63214 '
  216. 63215    Jlast%=Swk_Array%(21)
  217. 63216 '
  218. 63217 RETURN
  219. 63218 '
  220. 63219 '
  221. 63220 '
  222. 63221 '*************************************************************************
  223. 63222 '*                                                                       *
  224. 63223 '*                                 JOY_0                                 *
  225. 63224 '*                                                                       *
  226. 63225 '*************************************************************************
  227. 63226 '
  228. 63227 DEF PROC Joy_0(R Stick_0%)
  229. 63228 '
  230. 63229    Stick_0%=Swk_Array%(22)
  231. 63230 '
  232. 63231 RETURN
  233. 63232 '
  234. 63233 '
  235. 63234 '
  236. 63235 '*************************************************************************
  237. 63236 '*                                                                       *
  238. 63237 '*                                 JOY_1                                 *
  239. 63238 '*                                                                       *
  240. 63239 '*************************************************************************
  241. 63240 '
  242. 63241 DEF PROC Joy_1(R Stick_1%)
  243. 63242 '
  244. 63243    Stick_1%=Swk_Array%(23)
  245. 63244 '
  246. 63245 RETURN
  247. 63246 '
  248. 63247 '
  249. 63248 '
  250. 63249 '/* EOF */
  251. ə
  252.