home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / pdoseric.hdv / SOURCE / TESTCTRL.SC1BAK.txt < prev    next >
Text File  |  2020-08-13  |  3KB  |  149 lines

  1. ;
  2. ;
  3. ; JOYCTRL - JOYSTICK MIDI CONTROLLERS WITH MIDI THRU
  4. ;
  5. ;
  6. MAINLOOP JSR CHKMIDI
  7. CHKQUEUE LDA QTAIL
  8.          CMP QHEAD
  9.          BEQ CHKPDL0
  10.          LDY #$00
  11. QDATA    LDA (QTAIL),Y
  12.          STA $C0A9           ;SEND MIDI MSGS FROM QUEUE
  13. WAITTDRE LDA $C0A8
  14.          AND #$02
  15.          BEQ WAITTDRE
  16.          INC QTAIL
  17.          LDA QTAIL
  18.          CMP QHEAD
  19.          BNE QDATA
  20.          JSR CHKMIDI
  21. ;
  22. CHKPDL0  BIT PTRIG
  23.          LDA #$00
  24.          STA $C0A0
  25. PDLLOOP  LDA PDL0DONE
  26.          BNE CHKPDL1
  27.          LDA XTOUT
  28.          BMI CHKPDL1
  29.          LDA $C0A4
  30.          STA PDL0HI
  31.          LDA $C0A5
  32.          STA PDL0LO
  33.          LDA #$01
  34.          STA PDL0DONE
  35. ;
  36. CHKPDL1  JSR CHKMIDI
  37.          LDA PDL1DONE
  38.          BNE CHKPDLS
  39.          LDA YTOUT
  40.          BMI PDLLOOP
  41.          LDA $C0A4
  42.          STA PDL1HI
  43.          LDA $C0A5
  44.          STA PDL1LO
  45.          LDA #$01
  46.          STA PDL1DONE
  47. ;
  48. CHKPDLS  LDA PDL0DONE
  49.          BEQ CHKKBD
  50.          LDA PDL1DONE
  51.          BEQ CHKKBD
  52.          JMP PRCSPDLS
  53. ;
  54. CHKKBD   LDA $C000
  55.          BMI PRCSKBD
  56.          JMP MAINLOOP
  57. PRCSKBD  CLI
  58.          RTS
  59. ;
  60. PRCSPDLS LDA #$01
  61.          STA $C0A0           ;PLUG TIMER
  62.          JSR CHKMIDI
  63. ;
  64.          LDA PDL0LO
  65.          LSR A
  66.          LSR A
  67.          LSR A
  68.          LSR A
  69.          STA JOYX
  70.          LDA PDL0HI
  71.          ASL A
  72.          ASL A
  73.          ASL A
  74.          ASL A
  75.          ORA JOYX
  76.          TAX
  77.          LDA XTABLE,X
  78.          STA JOYX
  79. ;
  80.          JSR CHKMIDI
  81. ;
  82.          LDA PDL1LO
  83.          LSR A
  84.          LSR A
  85.          LSR A
  86.          LSR A
  87.          STA JOYY
  88.          LDA PDL1HI
  89.          ASL A
  90.          ASL A
  91.          ASL A
  92.          ASL A
  93.          ORA JOYY
  94.          TAX
  95.          LDA YTABLE,X
  96.          STA JOYY
  97. ;
  98.          JSR CHKMIDI
  99. ;
  100. CHKPDL0C LDA JOYX
  101.          CMP JOYXPREV        ;DID PADDLE X CHANGE
  102.          BEQ CHKPDL1C
  103.          STA JOYXPREV
  104. ;
  105.          LDY XUPDBYTE        ;STORE PADDLE VALUE IN MESSAGE
  106.          STA XMSG0,Y
  107. ;
  108.          LDY #$00
  109.          LDA XMSG0
  110.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  111.          INC QHEAD
  112.          LDA XMSG1
  113.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  114.          INC QHEAD
  115.          LDA XMSG2
  116.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  117.          INC QHEAD
  118. ;
  119.          JSR CHKMIDI
  120. ;
  121. CHKPDL1C LDA JOYY
  122.          CMP JOYYPREV        ;DID PADDLE Y CHANGE
  123.          BEQ PDLTRIG
  124.          STA JOYYPREV
  125. ;
  126.          LDY YUPDBYTE        ;STORE PADDLE VALUE IN MESSAGE
  127.          STA YMSG0,Y
  128. ;
  129.          LDY #$00
  130.          LDA YMSG0
  131.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  132.          INC QHEAD
  133.          LDA YMSG1
  134.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  135.          INC QHEAD
  136.          LDA YMSG2
  137.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  138.          INC QHEAD
  139. ;
  140. PDLTRIG  LDA #$00
  141.          STA PDL0DONE
  142.          STA PDL1DONE
  143.          LDA #$00
  144.          STA $C0A0           ;START TIMER
  145.          BIT PTRIG
  146.          JMP MAINLOOP
  147. ;
  148.          CHN TESTCTRL.SC2
  149.