; FAST JOYSTICK MIDI THRU ; ORG $6000 ; PREVX EQU $06 PREVY EQU $07 CURRX EQU $08 CURRY EQU $09 ; JMP STARTPGM ; XBYTE DFB $02 XMSG1 DFB $B0 XMSG2 DFB $07 XMSG3 DFB $00 ; YBYTE DFB $02 YMSG1 DFB $B0 YMSG2 DFB $0A YMSG3 DFB $00 ;--------------------- XMITX LDA $C0A8 AND #$02 BEQ XMITX STX $C0A9 CHKMIDI LDA $C0A8 AND #$01 BEQ OUT LDX $C0A9 CPX #$F8 BCS CHKMIDI BCC XMITX OUT RTS ;--------------------- STARTPGM LDA #$13 STA $C0A8 LDA #$11 STA $C0A8 LDA #$00 STA PREVX STA PREVY ; MAINLOOP JSR CHKMIDI ; JOY LDX #$00 LDY #$00 LDA #$80 SEC BIT $C070 JOY1 BIT $C064 BPL JOY2 INX BNE JOY3 JOY2 NOP NOP JOY3 BIT $C065 BPL JOY4 INY BNE JOY5 JOY4 NOP NOP JOY5 PHA DFB $DA ;PHX JSR CHKMIDI DFB $FA ;PLX PLA SBC #$01 BCS JOY1 ; STX CURRX STY CURRY ; LDX CURRX CPX PREVX BEQ CHKY ; STX PREVX TXA LDY XBYTE STA XMSG1,Y ; LDX XMSG1 JSR XMITX LDX XMSG2 JSR XMITX LDX XMSG3 JSR XMITX ; CHKY LDY CURRY CPY PREVY BEQ CHKKBD ; STY PREVY TYA LDY YBYTE STA YMSG1,Y ; LDX YMSG1 JSR XMITX LDX YMSG2 JSR XMITX LDX YMSG3 JSR XMITX ; CHKKBD LDA $C000 BPL MAINLOOP LDA $C010 RTS ;