+++ /dev/null
-#include "input.h"
-#include "gbaregs.h"
-#include "intr.h"
-
-static void keyintr(void);
-
-static uint16_t bnstate;
-
-void select_input(uint16_t bmask)
-{
- bnstate = 0;
-
- mask(INTR_KEY);
- if(bmask) {
- REG_KEYCNT = bmask | KEYCNT_IE;
- interrupt(INTR_KEY, keyintr);
- unmask(INTR_KEY);
- } else {
- REG_KEYCNT = 0;
- interrupt(INTR_KEY, 0);
- }
-}
-
-uint16_t get_input(void)
-{
- uint16_t s;
-
- mask(INTR_KEY);
- s = bnstate;
- bnstate = 0;
- unmask(INTR_KEY);
-
- return s;
-}
-
-static void keyintr(void)
-{
- bnstate |= ~REG_KEYINPUT;
-}