home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
pdoseric.hdv
/
SOURCE
/
JOYCTL.BK2.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
3KB
|
88 lines
; 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