adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 1 | |
| 2 | ;--------------------------------------------------------------------- |
adamdunkels | c3f548b | 2003-04-25 08:43:17 +0000 | [diff] [blame] | 3 | ;; The 1351 mouse code was taken from the CC65 libraries, |
| 4 | ;; written by Ullrich von Bassewitz |
| 5 | ;--------------------------------------------------------------------- |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 6 | |
adamdunkels | b31fe57 | 2003-04-24 17:08:51 +0000 | [diff] [blame] | 7 | .macpack generic |
| 8 | |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 9 | .import _ctk_mouse_joyx, _ctk_mouse_joyy |
| 10 | .import _ctk_mouse_firebutton |
| 11 | .export _ctk_mouse_asm_irq |
adamdunkels | 6b828fb | 2003-08-09 13:13:24 +0000 | [diff] [blame] | 12 | .import _ctk_mouse_joy, _ctk_mouse_1351 |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 13 | ;--------------------------------------------------------------------- |
adamdunkels | b31fe57 | 2003-04-24 17:08:51 +0000 | [diff] [blame] | 14 | |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 15 | ;--------------------------------------------------------------------- |
| 16 | .code |
adamdunkels | b31fe57 | 2003-04-24 17:08:51 +0000 | [diff] [blame] | 17 | |
adamdunkels | b31fe57 | 2003-04-24 17:08:51 +0000 | [diff] [blame] | 18 | ;--------------------------------------------------------------------- |
| 19 | _ctk_mouse_asm_irq: |
adamdunkels | 6b828fb | 2003-08-09 13:13:24 +0000 | [diff] [blame] | 20 | lda #0 |
adamdunkels | a9b51fe | 2003-08-06 23:58:03 +0000 | [diff] [blame] | 21 | sta _ctk_mouse_firebutton |
adamdunkels | b31fe57 | 2003-04-24 17:08:51 +0000 | [diff] [blame] | 22 | |
adamdunkels | 6b828fb | 2003-08-09 13:13:24 +0000 | [diff] [blame] | 23 | jsr _ctk_mouse_joy |
| 24 | ;; jsr_ctk_mouse_1351 |
| 25 | |
| 26 | ; lda _ctk_mouse_joybutton |
| 27 | ; ora _ctk_mouse_1351button |
| 28 | ; sta _ctk_mouse_firebutton |
| 29 | |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 30 | lda _ctk_mouse_joyy |
| 31 | clc |
adamdunkels | 9e5028e | 2003-04-09 09:02:05 +0000 | [diff] [blame] | 32 | adc #$32 |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 33 | sta $d001 |
adamdunkels | 9e5028e | 2003-04-09 09:02:05 +0000 | [diff] [blame] | 34 | sta $d003 |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 35 | |
| 36 | lda _ctk_mouse_joyx |
| 37 | clc |
| 38 | adc #$18 |
| 39 | sta $d000 |
adamdunkels | 9e5028e | 2003-04-09 09:02:05 +0000 | [diff] [blame] | 40 | sta $d002 |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 41 | lda #0 |
| 42 | adc _ctk_mouse_joyx+1 |
| 43 | and #1 |
adamdunkels | e6f14d6 | 2003-04-11 20:24:08 +0000 | [diff] [blame] | 44 | beq :+ |
| 45 | lda #3 |
| 46 | : |
adamdunkels | 942aabf | 2003-04-09 00:31:13 +0000 | [diff] [blame] | 47 | sta $d010 |
| 48 | jmp $ea31 |