home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
SOURCE
/
GLOVE.SRC.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
4KB
|
235 lines
;DRUM GLOVE
;
;INDEX FINGER = PDL 2 SNARE
;MIDDLE FINGER = PDL 3 TOMTOM
;RING FINGER = PDL 0 CLOSED HIHAT
;PINKY = PDL 1 OPEN HIHAT
;THUMB = PB0 BASS
;
READ4PDL EQU $6F00
PB0DATA EQU $6F03
PB1DATA EQU $6F04
PB2DATA EQU $6F05
GC0DATA EQU $6F06
GC1DATA EQU $6F07
GC2DATA EQU $6F08
GC3DATA EQU $6F09
;
ORG $6000
JMP INIT
;
PB0CHNL DFB $99
PB0NOTE DFB 36 ;BASS
PB0VEL DFB $40
PB1CHNL DFB $99
PB1NOTE DFB 49 ;CRASH CYMBAL
PB1VEL DFB $40
;
GC0CHNL DFB $99
GC0NOTE DFB 42 ;CLOSED HIHAT
GC0VEL DFB $40
GC1CHNL DFB $99
GC1NOTE DFB 46 ;OPEN HIHAT
GC1VEL DFB $40
GC2CHNL DFB $99
GC2NOTE DFB 38 ;SNARE
GC2VEL DFB $40
GC3CHNL DFB $99
GC3NOTE DFB 47 ;TOM-TOM
GC3VEL DFB $40
;
CURRPB0 DFB $00
CURRPB1 DFB $00
CURRGC0 DFB $00
CURRGC1 DFB $00
CURRGC2 DFB $00
CURRGC3 DFB $00
PREVPB0 DFB $00
PREVPB1 DFB $00
PREVGC0 DFB $00
PREVGC1 DFB $00
PREVGC2 DFB $00
PREVGC3 DFB $00
;
INIT LDA #$13
STA $C0A8
LDA #$11
STA $C0A8
LOOP JSR READ4PDL ;READ 4 PADDLES AND 3 BUTTONS
LDA PB0DATA
STA CURRPB0
LDA PB1DATA
STA CURRPB1
LDA GC0DATA
STA CURRGC0
LDA GC1DATA
STA CURRGC1
LDA GC2DATA
STA CURRGC2
LDA GC3DATA
STA CURRGC3
;
LDA CURRPB0
CMP PREVPB0
BEQ CHKPB1
JMP PB0CHG
CHKPB1 LDA CURRPB1
CMP PREVPB1
BEQ CHKGC0
JMP PB1CHG
CHKGC0 LDA CURRGC0
CMP PREVGC0
BEQ CHKGC1
JMP GC0CHG
CHKGC1 LDA CURRGC1
CMP PREVGC1
BEQ CHKGC2
JMP GC1CHG
CHKGC2 LDA CURRGC2
CMP PREVGC2
BEQ CHKGC3
JMP GC2CHG
CHKGC3 LDA CURRGC3
CMP PREVGC3
BEQ GOBACK
JMP GC3CHG
;
GOBACK LDA CURRPB0
STA PREVPB0
LDA CURRPB1
STA PREVPB1
LDA CURRGC0
STA PREVGC0
LDA CURRGC1
STA PREVGC1
LDA CURRGC2
STA PREVGC2
LDA CURRGC3
STA PREVGC3
LDA $C000
BMI DONE
JMP LOOP
DONE LDA $C010
RTS
;
PB0CHG LDA CURRPB0
BNE PB0DOWN
;
LDA PB0CHNL
JSR MIDIXMIT
LDA PB0NOTE
JSR MIDIXMIT
LDA #$00
JSR MIDIXMIT
JMP CHKPB1
;
PB0DOWN LDA PB0CHNL
JSR MIDIXMIT
LDA PB0NOTE
JSR MIDIXMIT
LDA PB0VEL
JSR MIDIXMIT
JMP CHKPB1
;
PB1CHG LDA CURRPB1
BNE PB1DOWN
;
LDA PB1CHNL
JSR MIDIXMIT
LDA PB1NOTE
JSR MIDIXMIT
LDA #$00
JSR MIDIXMIT
JMP CHKGC0
;
PB1DOWN LDA PB1CHNL
JSR MIDIXMIT
LDA PB1NOTE
JSR MIDIXMIT
LDA PB1VEL
JSR MIDIXMIT
JMP CHKGC0
;
GC0CHG LDA CURRGC0
BPL GC0DOWN
;
LDA GC0CHNL
JSR MIDIXMIT
LDA GC0NOTE
JSR MIDIXMIT
LDA #$00
JSR MIDIXMIT
JMP CHKGC1
;
GC0DOWN LDA GC0CHNL
JSR MIDIXMIT
LDA GC0NOTE
JSR MIDIXMIT
LDA GC0VEL
JSR MIDIXMIT
JMP CHKGC1
;
GC1CHG LDA CURRGC1
BPL GC1DOWN
;
LDA GC1CHNL
JSR MIDIXMIT
LDA GC1NOTE
JSR MIDIXMIT
LDA #$00
JSR MIDIXMIT
JMP CHKGC2
;
GC1DOWN LDA GC1CHNL
JSR MIDIXMIT
LDA GC1NOTE
JSR MIDIXMIT
LDA GC1VEL
JSR MIDIXMIT
JMP CHKGC2
;
GC2CHG LDA CURRGC2
BPL GC2DOWN
;
LDA GC2CHNL
JSR MIDIXMIT
LDA GC2NOTE
JSR MIDIXMIT
LDA #$00
JSR MIDIXMIT
JMP CHKGC3
;
GC2DOWN LDA GC2CHNL
JSR MIDIXMIT
LDA GC2NOTE
JSR MIDIXMIT
LDA GC2VEL
JSR MIDIXMIT
JMP CHKGC3
;
GC3CHG LDA CURRGC3
BPL GC3DOWN
;
LDA GC3CHNL
JSR MIDIXMIT
LDA GC3NOTE
JSR MIDIXMIT
LDA #$00
JSR MIDIXMIT
JMP GOBACK
;
GC3DOWN LDA GC3CHNL
JSR MIDIXMIT
LDA GC3NOTE
JSR MIDIXMIT
LDA GC3VEL
JSR MIDIXMIT
JMP GOBACK
;
MIDIXMIT STA $C0A9
WAITTDRE LDA $C0A8
AND #$02
BEQ WAITTDRE
RTS
;