home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-14 | 2.5 KB | 88 lines | [04] ASCII Text (0x0000) |
- ; JOYCTL - JOYSTICK MIDI CONTROLLER
- ;
- ; PHASE ALGORITHM
- ;
- PHASE0 JMP PHASE0A ;3
- PHASE0A NOP ;2
- LDA #$00 ;2
- STA JOYX ;3
- STA JOYY ;3
- LDA PTRIG ;4
- LDA #2 ;2
- STA PHASE ;3
- JMP CHKMIDI ;3 ;25
- ;-------------------------------------------
- PHASE4 NOP ;2
- NOP ;2
- NOP ;2
- NOP ;2
- LDA PDL1 ;4
- BPL P1D ;2/3
- INC JOYY ;5
- JMP PHASE4A ;3
- PHASE4A JMP CHKMIDI ;3 ;25
- ;
- P1D NOP ;2
- LDA #8 ;2
- STA PHASE ;3
- JMP CHKMIDI ;3 ;25
- ;-------------------------------------------
- PHASE6 NOP ;2
- NOP ;2
- NOP ;2
- NOP ;2
- LDA PDL0 ;4
- BPL P0D ;2/3
- INC JOYX ;5
- JMP PHASE6A ;3
- PHASE6A JMP CHKMIDI ;3 ;25
- ;
- P0D NOP ;2
- LDA #8 ;2
- STA PHASE ;3
- JMP CHKMIDI ;3 ;25
- ;-------------------------------------------
- PHASE8 LDA JOYX
- CMP PREVX
- BEQ GOTO10
- CMP PREV2X
- BEQ GOTO10
- PHA
- LDA PREVX
- STA PREV2X
- PLA
- STA PREVX
- ; ;X CHANGED. PUT MIDI MESSAGE ON QUEUE
- ASL A ;MULTIPLY BY 2 TO GET RANGE OF 0-110
- CLC
- ADC #10 ;ADD 10 TO GET RANGE OF 10-120
- STA TEMP
- LDX XINVERT ;IF INVERTING, SUBTRACT IT FROM 130
- BEQ NOXINV
- LDA #130
- SEC
- SBC TEMP
- NOXINV LDY XBYTE
- STA XMSG0,Y ;STICK INTO MIDI MESSAGE
- LDA XMSG0
- ;;; STA (QHEAD) ; *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD
- LDA XMSG1
- ;;; STA (QHEAD) ; *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD
- LDA XMSG2
- ;;; STA (QHEAD) ; *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD
- ;
- GOTO10 LDA #10
- STA PHASE
- JMP CHKMIDI
- ;
- CHN JOYCTL.SC3
-