blob: 963ca36073beeeec1448e0721e79cc0f7af424f8 [file] [log] [blame]
kthacker62e146c2006-04-17 15:11:35 +00001
2;---------------------------------------------------------------------
3
4 .macpack generic
5
6 .import _ctk_mouse_joyx, _ctk_mouse_joyy
7 .import _ctk_mouse_firebutton
8 .export _ctk_mouse_joy
9;---------------------------------------------------------------------
10.bss
11lastjoydy: .res 1
12lastjoydx: .res 1
13joydycnt: .res 1
14joydxcnt: .res 1
15
16;---------------------------------------------------------------------
17.code
18
19;---------------------------------------------------------------------
20_ctk_mouse_joy:
21 ldy $dc02
22 lda #0
23 sta $dc02
24 lda $dc00
25 sty $dc02
26 ldy #0
27 ldx #0
28 lsr
29 bcs nodey
30 dey
31nodey:
32 lsr
33 bcs noiny
34 iny
35noiny:
36 lsr
37 bcs nodex
38 dex
39nodex:
40 lsr
41 bcs noinx
42 inx
43noinx:
44 and #1
45 eor #1
46 ora _ctk_mouse_firebutton
47 sta _ctk_mouse_firebutton
48
49 cpy lastjoydy
50 sty lastjoydy
51 bne noydy
52 tya
53 pha
54 inc joydycnt
55 lda joydycnt
56 cmp #$1f
57 bmi nostajoydycnt
58 lda #$20
59 sta joydycnt
60nostajoydycnt:
61 lsr
62 lsr
63 lsr
64 lsr
65 tay
66 pla
67asldeyloop:
68 asl
69 dey
70 bpl asldeyloop
71 tay
72 jmp ydy
73noydy:
74 lda #0
75 sta joydycnt
76ydy:
77
78 tya
79 clc
80 adc _ctk_mouse_joyy
81
82 cmp #240
83 bcc :+
84 lda #0
85:
86
87 cmp #200
88 bcc :+
89 lda #199
90:
91 sta _ctk_mouse_joyy
92
93 cpx lastjoydx
94 stx lastjoydx
95 bne noxdx
96 txa
97 pha
98 inc joydxcnt
99 lda joydxcnt
100 cmp #$1f
101 bmi nostajoydxcnt
102 lda #$20
103 sta joydxcnt
104nostajoydxcnt:
105 lsr
106 lsr
107 lsr
108 lsr
109 tax
110 pla
111asldexloop:
112 asl
113 dex
114 bpl asldexloop
115 tax
116 jmp xdx
117noxdx:
118 lda #0
119 sta joydxcnt
120xdx:
121
122 txa
123 clc
124 adc _ctk_mouse_joyx
125 sta _ctk_mouse_joyx
126 php
127 lda #$ff
128 cpx #0
129 bmi nolda02
130 lda #0
131nolda02:
132 plp
133 adc _ctk_mouse_joyx+1
134 sta _ctk_mouse_joyx+1
135 rts