/
input.cpp
38 lines (35 loc) · 901 Bytes
/
input.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "gb.h"
#include "input.h"
#include "glwt.h"
//bgb.bircd.org/pandocs.htm#joypadinput
void GB_tickinput()
{
switch (gb.joypadInput & 0x30)//Select Button Keys
{
case 0x10://Select Direction Keys
gb.joypadInput = 0xEF;
if (glwt_keydown[Key_DownArrow])
gb.joypadInput &= ~(1 << 3);
if (glwt_keydown[Key_UpArrow])
gb.joypadInput &= ~(1 << 2);
if (glwt_keydown[Key_LeftArrow])
gb.joypadInput &= ~(1 << 1);
if (glwt_keydown[Key_RightArrow])
gb.joypadInput &= ~(1 << 0);
break;
case 0x20://Select Button Keys
gb.joypadInput = 0xDF;
if (glwt_keydown['S'])//Start Button
gb.joypadInput &= ~(1 << 3);
if (glwt_keydown['D'])//Select Button
gb.joypadInput &= ~(1 << 2);
if (glwt_keydown['X'])//B Button
gb.joypadInput &= ~(1 << 1);
if (glwt_keydown['Z'])//A Button
gb.joypadInput &= ~(1 << 0);
break;
default:
gb.joypadInput = 0xFF;
break;
}
}