summaryrefslogtreecommitdiff
path: root/arm9/lib/include/userInfo.h
blob: a4f67d3f0fe88628f5aa6eaa3b17393dd6929068 (plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#ifndef POKEDIAMOND_USERINFO_H
#define POKEDIAMOND_USERINFO_H

typedef struct NVRAMConfigDate
{
    u8 month;
    u8 day;
} NVRAMConfigDate;

typedef struct NVRAMConfigNickname
{
    u16 str[10];
    u8 length;
    u8 rsv;
} NVRAMConfigNickname;

typedef struct NVRAMConfigComment
{
    u16 str[26];
    u8 length;
    u8 rsv;
} NVRAMConfigComment;

typedef struct NVRAMConfigOwnerInfo
{
    u8 favouriteColour:4;
    u8 rsv:4;
    NVRAMConfigDate birthday;
    u8 pad;
    NVRAMConfigNickname nickname;
    NVRAMConfigComment comment;
} NVRAMConfigOwnerInfo;

typedef struct NVRAMConfigAlarm
{
    u8 hour;
    u8 minute;
    u8 second;
    u8 pad;
    u16 enableWeek:7;
    u16 alarmOn:1;
    u16 rsv:8;
} NVRAMConfigAlarm;

typedef struct NVRAMConfigTpCalibData
{
    u16 raw_x1;
    u16 raw_y1;
    u8 dx1;
    u8 dy1;
    u16 raw_x2;
    u16 raw_y2;
    u8 dx2;
    u8 dy2;
} NVRAMConfigTpCalibData;

typedef struct NVRAMConfigOption
{
    u16 language:3;
    u16 agbLcd:1;
    u16 detectPullOutCardFlag:1;
    u16 detectPullOutCtrdgFlag:1;
    u16 autoBootFlag:1;
    u16 rsv:4;
    u16 input_favouriteColour:1;
    u16 input_tp:1;
    u16 input_language:1;
    u16 input_rtc:1;
    u16 input_nickname:1;
    u8 timeZone;
    u8 rtcClockAdjust;
    s64 rtcOffset;
} NVRAMConfigOption;

typedef struct NVRAMConfigData
{
    u8 version;
    u8 pad;
    NVRAMConfigOwnerInfo owner;
    NVRAMConfigAlarm alarm;
    NVRAMConfigTpCalibData tp;
    NVRAMConfigOption option;
} NVRAMConfigData;

typedef struct NVRAMConfig
{
    NVRAMConfigData ncd;
    u16 saveCount;
    u16 crc16;
} NVRAMConfig;

#endif //POKEDIAMOND_USERINFO_H