Annotation of uae/src/od-amiga/joystick.c, revision 1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.