; JOYCTL - JOYSTICK MIDI CONTROLLER ; ; PHASE ALGORITHM ; ; ORG $6000 ; QHEAD EQU $06 QTAIL EQU $08 JOYX EQU $19 JOYY EQU $1A PREVX EQU $1B PREVY EQU $1C PHASE EQU $1D TEMP EQU $1E PREV2X EQU $CE PREV2Y EQU $CF HEADSAVE EQU $D7 ; JMPTABLE EQU $DE ; STS EQU $C0A8 DTA EQU $C0A9 PTRIG EQU $C070 PDL0 EQU $C064 PDL1 EQU $C065 ; JMP STARTPGM ; XBYTE DFB $02 XMSG0 DFB $E0 XMSG1 DFB $00 XMSG2 DFB $00 ; YBYTE DFB $02 YMSG0 DFB $B0 YMSG1 DFB $01 YMSG2 DFB $00 ; STARTPGM LDA #$00 ;INIT QUEUE STA QHEAD STA QTAIL STA JOYX STA JOYY STA PREVX STA PREVY STA PHASE LDA #$20 STA QHEAD+1 STA QTAIL+1 LDA #$13 ;INIT MIDI STA STS LDA #$11 STA STS ; ;SETUP JUMP TABLE IN ZP LDA #>PHASE0 STA JMPTABLE+0 LDA #PHASE2 STA JMPTABLE+2 LDA #PHASE4 STA JMPTABLE+4 LDA #PHASE6 STA JMPTABLE+6 LDA #PHASE8 STA JMPTABLE+8 LDA #PHASE10 STA JMPTABLE+10 LDA #PHASE12 STA JMPTABLE+12 LDA #PHASE14 STA JMPTABLE+14 LDA #PHASE16 STA JMPTABLE+16 LDA #PHASE18 STA JMPTABLE+18 LDA #PHASE20 STA JMPTABLE+20 LDA #PHASE22 STA JMPTABLE+22 LDA #PHASE24 STA JMPTABLE+24 LDA #PHASE26 STA JMPTABLE+26 LDA #PHASE28 STA JMPTABLE+28 LDA #PHASE30 STA JMPTABLE+30 LDA #PHASE32 STA JMPTABLE+32 LDA #