home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / SOURCE / TESTCTRL.SC1.txt < prev    next >
Text File  |  2020-08-13  |  2KB  |  109 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 JOY
  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. ;
  21.          JSR CHKMIDI
  22. ;
  23. JOY      LDX #$00
  24.          LDY #$00
  25.          LDA #$80
  26.          SEC
  27.          BIT PTRIG
  28. JOY1     BIT XTOUT
  29.          BPL JOY2
  30.          INX
  31.          BNE JOY3
  32. JOY2     NOP
  33.          NOP
  34. JOY3     BIT YTOUT
  35.          BPL JOY4
  36.          INY
  37.          BNE JOY5
  38. JOY4     NOP
  39.          NOP
  40. JOY5     PHA
  41.          LDA $C0A8 ;CHECK MIDI
  42.          AND #$01
  43.          BEQ CONT1    
  44.          LDA $C0A9 ;MIDI THRU
  45.          CMP #$F8
  46.          BCS CONT2A
  47.          STA $C0A9
  48. CONT0    CLV
  49.          BVC CONT2
  50. CONT1    NOP
  51.          NOP
  52. CONT2A   NOP
  53.          NOP
  54.          NOP
  55.          NOP
  56. CONT2    PLA
  57.          SBC #$01
  58.          BCS JOY1
  59.          LDA XTABLE,X
  60.          STA JOYX
  61.          LDA YTABLE,Y
  62.          STA JOYY
  63. ;
  64.          JSR CHKMIDI
  65. ;
  66. CHKPDL0C LDA JOYX
  67.          CMP JOYXPREV        ;DID PADDLE X CHANGE
  68.          BEQ CHKPDL1C
  69.          STA JOYXPREV
  70. ;
  71.          LDY XUPDBYTE        ;STORE PADDLE VALUE IN MESSAGE
  72.          STA XMSG0,Y
  73. ;
  74.          LDY #$00
  75.          LDA XMSG0
  76.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  77.          INC QHEAD
  78.          LDA XMSG1
  79.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  80.          INC QHEAD
  81.          LDA XMSG2
  82.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  83.          INC QHEAD
  84. ;
  85.          JSR CHKMIDI
  86. ;
  87. CHKPDL1C LDA JOYY
  88.          CMP JOYYPREV        ;DID PADDLE Y CHANGE
  89.          BEQ JMPBACK
  90.          STA JOYYPREV
  91. ;
  92.          LDY YUPDBYTE        ;STORE PADDLE VALUE IN MESSAGE
  93.          STA YMSG0,Y
  94. ;
  95.          LDY #$00
  96.          LDA YMSG0
  97.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  98.          INC QHEAD
  99.          LDA YMSG1
  100.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  101.          INC QHEAD
  102.          LDA YMSG2
  103.          STA (QHEAD),Y       ;STORE MIDI MESSAGE
  104.          INC QHEAD
  105. ;
  106. JMPBACK  JMP MAINLOOP
  107. ;
  108.          CHN TESTCTRL.SC2
  109.