home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / SOURCE / GLOVE.SRC.txt < prev    next >
Text File  |  2020-08-13  |  4KB  |  235 lines

  1. ;DRUM GLOVE
  2. ;
  3. ;INDEX FINGER = PDL 2        SNARE
  4. ;MIDDLE FINGER = PDL 3       TOMTOM
  5. ;RING FINGER = PDL 0         CLOSED HIHAT
  6. ;PINKY = PDL 1               OPEN HIHAT
  7. ;THUMB = PB0                 BASS
  8. ;
  9. READ4PDL EQU $6F00
  10. PB0DATA  EQU $6F03
  11. PB1DATA  EQU $6F04
  12. PB2DATA  EQU $6F05
  13. GC0DATA  EQU $6F06
  14. GC1DATA  EQU $6F07
  15. GC2DATA  EQU $6F08
  16. GC3DATA  EQU $6F09
  17. ;
  18.          ORG $6000
  19.          JMP INIT
  20. ;
  21. PB0CHNL  DFB $99
  22. PB0NOTE  DFB 36    ;BASS
  23. PB0VEL   DFB $40
  24. PB1CHNL  DFB $99
  25. PB1NOTE  DFB 49    ;CRASH CYMBAL
  26. PB1VEL   DFB $40
  27. ;
  28. GC0CHNL  DFB $99
  29. GC0NOTE  DFB 42    ;CLOSED HIHAT
  30. GC0VEL   DFB $40
  31. GC1CHNL  DFB $99
  32. GC1NOTE  DFB 46    ;OPEN HIHAT
  33. GC1VEL   DFB $40
  34. GC2CHNL  DFB $99
  35. GC2NOTE  DFB 38    ;SNARE
  36. GC2VEL   DFB $40
  37. GC3CHNL  DFB $99
  38. GC3NOTE  DFB 47    ;TOM-TOM
  39. GC3VEL   DFB $40
  40. ;
  41. CURRPB0  DFB $00
  42. CURRPB1  DFB $00
  43. CURRGC0  DFB $00
  44. CURRGC1  DFB $00
  45. CURRGC2  DFB $00
  46. CURRGC3  DFB $00
  47. PREVPB0  DFB $00
  48. PREVPB1  DFB $00
  49. PREVGC0  DFB $00
  50. PREVGC1  DFB $00
  51. PREVGC2  DFB $00
  52. PREVGC3  DFB $00
  53. ;
  54. INIT     LDA #$13
  55.          STA $C0A8
  56.          LDA #$11
  57.          STA $C0A8
  58. LOOP     JSR READ4PDL           ;READ 4 PADDLES AND 3 BUTTONS
  59.          LDA PB0DATA
  60.          STA CURRPB0
  61.          LDA PB1DATA
  62.          STA CURRPB1
  63.          LDA GC0DATA
  64.          STA CURRGC0
  65.          LDA GC1DATA
  66.          STA CURRGC1
  67.          LDA GC2DATA
  68.          STA CURRGC2
  69.          LDA GC3DATA
  70.          STA CURRGC3
  71. ;
  72.          LDA CURRPB0
  73.          CMP PREVPB0
  74.          BEQ CHKPB1
  75.          JMP PB0CHG
  76. CHKPB1   LDA CURRPB1
  77.          CMP PREVPB1
  78.          BEQ CHKGC0
  79.          JMP PB1CHG
  80. CHKGC0   LDA CURRGC0
  81.          CMP PREVGC0
  82.          BEQ CHKGC1
  83.          JMP GC0CHG
  84. CHKGC1   LDA CURRGC1
  85.          CMP PREVGC1
  86.          BEQ CHKGC2
  87.          JMP GC1CHG
  88. CHKGC2   LDA CURRGC2
  89.          CMP PREVGC2
  90.          BEQ CHKGC3
  91.          JMP GC2CHG
  92. CHKGC3   LDA CURRGC3
  93.          CMP PREVGC3
  94.          BEQ GOBACK
  95.          JMP GC3CHG
  96. ;
  97. GOBACK   LDA CURRPB0
  98.          STA PREVPB0
  99.          LDA CURRPB1
  100.          STA PREVPB1
  101.          LDA CURRGC0
  102.          STA PREVGC0
  103.          LDA CURRGC1
  104.          STA PREVGC1
  105.          LDA CURRGC2
  106.          STA PREVGC2
  107.          LDA CURRGC3
  108.          STA PREVGC3
  109.          LDA $C000
  110.          BMI DONE
  111.          JMP LOOP
  112. DONE     LDA $C010
  113.          RTS
  114. ;
  115. PB0CHG   LDA CURRPB0
  116.          BNE PB0DOWN
  117. ;       
  118.          LDA PB0CHNL
  119.          JSR MIDIXMIT
  120.          LDA PB0NOTE
  121.          JSR MIDIXMIT
  122.          LDA #$00
  123.          JSR MIDIXMIT
  124.          JMP CHKPB1
  125. ;
  126. PB0DOWN  LDA PB0CHNL
  127.          JSR MIDIXMIT
  128.          LDA PB0NOTE
  129.          JSR MIDIXMIT
  130.          LDA PB0VEL
  131.          JSR MIDIXMIT
  132.          JMP CHKPB1
  133. ;
  134. PB1CHG   LDA CURRPB1
  135.          BNE PB1DOWN
  136. ;
  137.          LDA PB1CHNL
  138.          JSR MIDIXMIT
  139.          LDA PB1NOTE
  140.          JSR MIDIXMIT
  141.          LDA #$00
  142.          JSR MIDIXMIT
  143.          JMP CHKGC0
  144. ;
  145. PB1DOWN  LDA PB1CHNL
  146.          JSR MIDIXMIT
  147.          LDA PB1NOTE
  148.          JSR MIDIXMIT
  149.          LDA PB1VEL
  150.          JSR MIDIXMIT
  151.          JMP CHKGC0
  152. ;
  153. GC0CHG   LDA CURRGC0
  154.          BPL GC0DOWN
  155. ;
  156.          LDA GC0CHNL
  157.          JSR MIDIXMIT
  158.          LDA GC0NOTE
  159.          JSR MIDIXMIT
  160.          LDA #$00
  161.          JSR MIDIXMIT
  162.          JMP CHKGC1
  163. ;
  164. GC0DOWN  LDA GC0CHNL
  165.          JSR MIDIXMIT
  166.          LDA GC0NOTE
  167.          JSR MIDIXMIT
  168.          LDA GC0VEL
  169.          JSR MIDIXMIT
  170.          JMP CHKGC1
  171. ;
  172. GC1CHG   LDA CURRGC1
  173.          BPL GC1DOWN
  174. ;
  175.          LDA GC1CHNL
  176.          JSR MIDIXMIT
  177.          LDA GC1NOTE
  178.          JSR MIDIXMIT
  179.          LDA #$00
  180.          JSR MIDIXMIT
  181.          JMP CHKGC2
  182. ;
  183. GC1DOWN  LDA GC1CHNL
  184.          JSR MIDIXMIT
  185.          LDA GC1NOTE
  186.          JSR MIDIXMIT
  187.          LDA GC1VEL
  188.          JSR MIDIXMIT
  189.          JMP CHKGC2
  190. ;
  191. GC2CHG   LDA CURRGC2
  192.          BPL GC2DOWN
  193. ;
  194.          LDA GC2CHNL
  195.          JSR MIDIXMIT
  196.          LDA GC2NOTE
  197.          JSR MIDIXMIT
  198.          LDA #$00
  199.          JSR MIDIXMIT
  200.          JMP CHKGC3
  201. ;
  202. GC2DOWN  LDA GC2CHNL
  203.          JSR MIDIXMIT
  204.          LDA GC2NOTE
  205.          JSR MIDIXMIT
  206.          LDA GC2VEL
  207.          JSR MIDIXMIT
  208.          JMP CHKGC3
  209. ;
  210. GC3CHG   LDA CURRGC3
  211.          BPL GC3DOWN
  212. ;
  213.          LDA GC3CHNL
  214.          JSR MIDIXMIT
  215.          LDA GC3NOTE
  216.          JSR MIDIXMIT
  217.          LDA #$00
  218.          JSR MIDIXMIT
  219.          JMP GOBACK
  220. ;
  221. GC3DOWN  LDA GC3CHNL
  222.          JSR MIDIXMIT
  223.          LDA GC3NOTE
  224.          JSR MIDIXMIT
  225.          LDA GC3VEL
  226.          JSR MIDIXMIT
  227.          JMP GOBACK
  228. ;
  229. MIDIXMIT STA $C0A9
  230. WAITTDRE LDA $C0A8
  231.          AND #$02
  232.          BEQ WAITTDRE
  233.          RTS
  234. ;
  235.