SSBM Decomp
Loading...
Searching...
No Matches
OSSerial.h
Go to the documentation of this file.
1#ifndef DOLPHIN_OS_OSSERIAL_H
2#define DOLPHIN_OS_OSSERIAL_H
3
4#include <dolphin/os/OSExi.h>
5#include <dolphin/sipriv.h>
6
7#define SI_MAX_CHAN 4
8#define SI_MAX_COMCSR_INLNGTH 128
9#define SI_MAX_COMCSR_OUTLNGTH 128
10#define SI_ERROR_UNDER_RUN 0x0001
11#define SI_ERROR_OVER_RUN 0x0002
12#define SI_ERROR_COLLISION 0x0004
13#define SI_ERROR_NO_RESPONSE 0x0008
14#define SI_ERROR_WRST 0x0010
15#define SI_ERROR_RDST 0x0020
16#define SI_ERROR_UNKNOWN 0x0040
17#define SI_ERROR_BUSY 0x0080
18#define SI_CHAN0 0
19#define SI_CHAN1 1
20#define SI_CHAN2 2
21#define SI_CHAN3 3
22#define SI_CHAN0_BIT 0x80000000
23#define SI_CHAN1_BIT 0x40000000
24#define SI_CHAN2_BIT 0x20000000
25#define SI_CHAN3_BIT 0x10000000
26#define SI_CHAN_BIT(chan) (SI_CHAN0_BIT >> (chan))
27#define SI_TYPE_MASK 0x18000000u
28#define SI_TYPE_N64 0x00000000u
29#define SI_TYPE_DOLPHIN 0x08000000u
30#define SI_TYPE_GC SI_TYPE_DOLPHIN
31#define SI_GC_WIRELESS 0x80000000
32#define SI_GC_NOMOTOR 0x20000000
33#define SI_GC_STANDARD 0x01000000
34#define SI_WIRELESS_RECEIVED 0x40000000
35#define SI_WIRELESS_IR 0x04000000
36#define SI_WIRELESS_STATE 0x02000000
37#define SI_WIRELESS_ORIGIN 0x00200000
38#define SI_WIRELESS_FIX_ID 0x00100000
39#define SI_WIRELESS_TYPE 0x000f0000
40#define SI_WIRELESS_LITE_MASK 0x000c0000
41#define SI_WIRELESS_LITE 0x00040000
42#define SI_WIRELESS_CONT_MASK 0x00080000
43#define SI_WIRELESS_CONT 0x00000000
44#define SI_WIRELESS_ID 0x00c0ff00
45#define SI_WIRELESS_TYPE_ID (SI_WIRELESS_TYPE | SI_WIRELESS_ID)
46#define SI_N64_CONTROLLER (SI_TYPE_N64 | 0x05000000)
47#define SI_N64_MIC (SI_TYPE_N64 | 0x00010000)
48#define SI_N64_KEYBOARD (SI_TYPE_N64 | 0x00020000)
49#define SI_N64_MOUSE (SI_TYPE_N64 | 0x02000000)
50#define SI_GBA (SI_TYPE_N64 | 0x00040000)
51#define SI_GC_CONTROLLER (SI_TYPE_GC | SI_GC_STANDARD)
52#define SI_GC_RECEIVER (SI_TYPE_GC | SI_GC_WIRELESS)
53#define SI_GC_WAVEBIRD \
54 (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | \
55 SI_WIRELESS_FIX_ID)
56#define SI_GC_KEYBOARD (SI_TYPE_GC | 0x00200000)
57#define SI_GC_STEERING (SI_TYPE_GC | 0x00000000)
58
59#endif