view src/controller.c @ 31:b87b3ad5068c

Forgot to add the controller source files
author Michael Pavone <pavone@retrodev.com>
date Sun, 03 Apr 2016 18:37:31 -0700
parents
children
line wrap: on
line source

#include <stdint.h>
#include <string.h>
#include "controller.h"

static controllers *current_context;

//UDLR SMAB CXYZ

void controller_init(controllers *context)
{
	memset(context, 0, sizeof(controllers));
	current_context = context;
}

void controller_pressed(int which, uint16_t buttons)
{
	if (which > 1) {
		return;
	}
	current_context->state[which] |= buttons;
}

void controller_released(int which, uint16_t buttons)
{
	if (which > 1) {
		return;
	}
	current_context->state[which] &= (~buttons) & 0xFFF;
}

uint16_t controller_read(controllers *context, int which)
{
	if (which > 1) {
		return 0xFFFF;
	}
	return context->state[which];
}