home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-04-10 | 2.8 KB | 149 lines | [04] ASCII Text (0x0000) |
- ;
- ;
- ; JOYCTRL - JOYSTICK MIDI CONTROLLERS WITH MIDI THRU
- ;
- ;
- MAINLOOP JSR CHKMIDI
- CHKQUEUE LDA QTAIL
- CMP QHEAD
- BEQ CHKPDL0
- LDY #$00
- QDATA LDA (QTAIL),Y
- STA $C0A9 ;SEND MIDI MSGS FROM QUEUE
- WAITTDRE LDA $C0A8
- AND #$02
- BEQ WAITTDRE
- INC QTAIL
- LDA QTAIL
- CMP QHEAD
- BNE QDATA
- JSR CHKMIDI
- ;
- CHKPDL0 BIT PTRIG
- LDA #$00
- STA $C0A0
- PDLLOOP LDA PDL0DONE
- BNE CHKPDL1
- LDA XTOUT
- BMI CHKPDL1
- LDA $C0A4
- STA PDL0HI
- LDA $C0A5
- STA PDL0LO
- LDA #$01
- STA PDL0DONE
- ;
- CHKPDL1 JSR CHKMIDI
- LDA PDL1DONE
- BNE CHKPDLS
- LDA YTOUT
- BMI PDLLOOP
- LDA $C0A4
- STA PDL1HI
- LDA $C0A5
- STA PDL1LO
- LDA #$01
- STA PDL1DONE
- ;
- CHKPDLS LDA PDL0DONE
- BEQ CHKKBD
- LDA PDL1DONE
- BEQ CHKKBD
- JMP PRCSPDLS
- ;
- CHKKBD LDA $C000
- BMI PRCSKBD
- JMP MAINLOOP
- PRCSKBD CLI
- RTS
- ;
- PRCSPDLS LDA #$01
- STA $C0A0 ;PLUG TIMER
- JSR CHKMIDI
- ;
- LDA PDL0LO
- LSR A
- LSR A
- LSR A
- LSR A
- STA JOYX
- LDA PDL0HI
- ASL A
- ASL A
- ASL A
- ASL A
- ORA JOYX
- TAX
- LDA XTABLE,X
- STA JOYX
- ;
- JSR CHKMIDI
- ;
- LDA PDL1LO
- LSR A
- LSR A
- LSR A
- LSR A
- STA JOYY
- LDA PDL1HI
- ASL A
- ASL A
- ASL A
- ASL A
- ORA JOYY
- TAX
- LDA YTABLE,X
- STA JOYY
- ;
- JSR CHKMIDI
- ;
- CHKPDL0C LDA JOYX
- CMP JOYXPREV ;DID PADDLE X CHANGE
- BEQ CHKPDL1C
- STA JOYXPREV
- ;
- LDY XUPDBYTE ;STORE PADDLE VALUE IN MESSAGE
- STA XMSG0,Y
- ;
- LDY #$00
- LDA XMSG0
- STA (QHEAD),Y ;STORE MIDI MESSAGE
- INC QHEAD
- LDA XMSG1
- STA (QHEAD),Y ;STORE MIDI MESSAGE
- INC QHEAD
- LDA XMSG2
- STA (QHEAD),Y ;STORE MIDI MESSAGE
- INC QHEAD
- ;
- JSR CHKMIDI
- ;
- CHKPDL1C LDA JOYY
- CMP JOYYPREV ;DID PADDLE Y CHANGE
- BEQ PDLTRIG
- STA JOYYPREV
- ;
- LDY YUPDBYTE ;STORE PADDLE VALUE IN MESSAGE
- STA YMSG0,Y
- ;
- LDY #$00
- LDA YMSG0
- STA (QHEAD),Y ;STORE MIDI MESSAGE
- INC QHEAD
- LDA YMSG1
- STA (QHEAD),Y ;STORE MIDI MESSAGE
- INC QHEAD
- LDA YMSG2
- STA (QHEAD),Y ;STORE MIDI MESSAGE
- INC QHEAD
- ;
- PDLTRIG LDA #$00
- STA PDL0DONE
- STA PDL1DONE
- LDA #$00
- STA $C0A0 ;START TIMER
- BIT PTRIG
- JMP MAINLOOP
- ;
- CHN TESTCTRL.SC2
-