Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/controller/controller.hpp
2 views
1
// SNES controller port pinout:
2
// -------------------------------
3
// | (1) (2) (3) (4) | (5) (6) (7) )
4
// -------------------------------
5
// pin name port1 port2
6
// 1: +5v
7
// 2: clock $4016 read $4017 read
8
// 3: latch $4016.d0 write $4016.d0 write
9
// 4: data1 $4016.d0 read $4017.d0 read
10
// 5: data2 $4016.d1 read $4017.d1 read
11
// 6: iobit $4201.d6 write; $4213.d6 read $4201.d7 write; $4213.d7 read
12
// 7: gnd
13
14
struct Controller : Processor {
15
enum : bool { Port1 = 0, Port2 = 1 };
16
enum { SaveSize = 16 };
17
const bool port;
18
19
static void Enter();
20
virtual void enter();
21
void step(unsigned clocks);
22
void synchronize_cpu();
23
virtual void serialize(serializer& s);
24
25
bool iobit();
26
void iobit(bool data);
27
virtual uint2 data() { return 0; }
28
virtual void latch(bool data) {}
29
Controller(bool port);
30
};
31
32
#include "gamepad/gamepad.hpp"
33
#include "multitap/multitap.hpp"
34
#include "mouse/mouse.hpp"
35
#include "superscope/superscope.hpp"
36
#include "justifier/justifier.hpp"
37
#include "usart/usart.hpp"
38
39