|
|
1.1 ! root 1: /* ! 2: * UAE - The Un*x Amiga Emulator ! 3: * ! 4: * Joystick emulation for AmigaOS ! 5: * ! 6: * Copyright 1996, 1997 Samuel Devulder ! 7: */ ! 8: ! 9: #include "sysconfig.h" ! 10: #include "sysdeps.h" ! 11: ! 12: #include "config.h" ! 13: #include "options.h" ! 14: #include "memory.h" ! 15: #include "custom.h" ! 16: #include "joystick.h" ! 17: ! 18: int nr_joysticks; ! 19: ! 20: #include <hardware/custom.h> ! 21: #include <hardware/cia.h> ! 22: ! 23: #define CIAAPRA 0xBFE001 ! 24: #define CUSTOM 0xDFF000 ! 25: ! 26: static struct Custom *custom= (struct Custom*) CUSTOM; ! 27: static struct CIA *cia = (struct CIA *) CIAAPRA; ! 28: ! 29: void read_joystick(int nr, unsigned int *dir, int *button) ! 30: { ! 31: int bot, right, top, left, joy,fire; ! 32: ! 33: *dir = 0; ! 34: *button = 0; ! 35: if (nr >= nr_joysticks) return; ! 36: ! 37: joy = custom->joy1dat; ! 38: fire = !( cia->ciapra & 0x0080 ) ? 1 : 0; ! 39: ! 40: right = (joy & 0x0002) ? 1 : 0; ! 41: left = (joy & 0x0200) ? 1 : 0; ! 42: bot = (joy & 0x0001) ? 1 : 0; ! 43: top = (joy & 0x0100) ? 1 : 0; ! 44: ! 45: *button = fire; ! 46: *dir = bot | (right << 1) | (top << 8) | (left << 9); ! 47: } ! 48: ! 49: void init_joystick(void) ! 50: { ! 51: nr_joysticks = 1; ! 52: } ! 53: ! 54: void close_joystick(void) ! 55: { ! 56: } ! 57:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.