home *** CD-ROM | disk | FTP | other *** search
- | Atari joypad routine
- |
- | Patrice Mandin
-
- .text
-
- .globl _I_Asm_UpdateJoypad
-
- .globl _atari_joypad0
- .globl _atari_joypad1
-
- | ----- Joypads routine
-
- .text
- _I_Asm_UpdateJoypad:
- moveml d0-d3/a0-a1,sp@-
-
- lea 0xffff9200:w,a0
- lea a0@(2),a1
- movew #0x0f00,d3
-
- | Update joypad 0
-
- movew #0xfffe,d2
- movew d2,a1@
- movew a0@,d0
- notw d0
- andw #3,d0
- swap d0
- movew d2,a1@
- movew a1@,d0
- notw d0
- andw d3,d0
- rorw #8,d0
- swap d0 | d0 = 000F0003
-
- movew #0xfffd,d2
- movew d2,a1@
- movew a0@,d1
- notw d1
- andw #3,d1
- lslw #2,d1
- swap d1
- movew d2,a1@
- movew a1@,d1
- notw d1
- andw d3,d1
- rorw #4,d1
- swap d1 | d1 = 00F0000C
- orl d1,d0
-
- movew #0xfffb,d2
- movew d2,a1@
- movew a0@,d1
- notw d1
- andw #3,d1
- lslw #4,d1
- swap d1
- movew d2,a1@
- movew a1@,d1
- notw d1
- andw d3,d1
- swap d1 | d1 = 0F000030
- orl d1,d0
-
- movew #0xfff7,d2
- movew d2,a1@
- movew a0@,d1
- notw d1
- andw #3,d1
- lslw #6,d1
- swap d1
- movew d2,a1@
- movew a1@,d1
- notw d1
- andw d3,d1
- lslw #4,d1
- swap d1 | d1 = F00000C0
- orl d1,d0
-
- movel d0,_atari_joypad0
-
- | Update joypad 1
-
- movew #0xffef,d2
- movew d2,a1@
- movew a0@,d0
- notw d0
- andw #3,d0
- swap d0
- movew d2,a1@
- movew a1@,d0
- notw d0
- andw d3,d0
- rorw #8,d0
- swap d0 | d0 = 000F0003
-
- movew #0xffdf,d2
- movew d2,a1@
- movew a0@,d1
- notw d1
- andw #3,d1
- lslw #2,d1
- swap d1
- movew d2,a1@
- movew a1@,d1
- notw d1
- andw d3,d1
- rorw #4,d1
- swap d1 | d1 = 00F0000C
- orl d1,d0
-
- movew #0xffbf,d2
- movew d2,a1@
- movew a0@,d1
- notw d1
- andw #3,d1
- lslw #4,d1
- swap d1
- movew d2,a1@
- movew a1@,d1
- notw d1
- andw d3,d1
- swap d1 | d1 = 0F000030
- orl d1,d0
-
- movew #0xff7f,d2
- movew d2,a1@
- movew a0@,d1
- notw d1
- andw #3,d1
- lslw #6,d1
- swap d1
- movew d2,a1@
- movew a1@,d1
- notw d1
- andw d3,d1
- lslw #4,d1
- swap d1 | d1 = F00000C0
- orl d1,d0
-
- movel d0,_atari_joypad1
- moveml sp@+,d0-d3/a0-a1
-
- rts
-
- .data
- .even
- .comm _atari_joypad0,4*1
- .even
- .comm _atari_joypad1,4*1
-