Subversion Repositories Kolibri OS

Rev

Rev 5238 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5232 raandoom 1
#include "config.h"
2
 
3
#pragma pack(push,1)
4
 
5
typedef struct {
6
    __u32 func;
7
    __u32 l_off;
8
    __u32 h_off_flags;
9
    __u32 size;
10
    char* data;
11
    char  null;
12
    char* name;
13
} fs_info;
14
 
15
#pragma pack(pop)
16
 
17
char path[] = "/sys/games/2048.dat";
18
 
19
__u32 config_load_highscore()
20
{
21
    __u32 highscore = 0;
22
 
23
    fs_info cfg = {0};
24
    cfg.func = 0;
25
    cfg.size = 4;
26
    cfg.data = (char*)&highscore;
27
    cfg.name = path;
28
 
29
    __u32 ret = 0;
30
    __u32 rnum = 0;
31
 
32
    __asm__ __volatile__("int $0x40":"=a"(ret),"=b"(rnum):
33
                         "a"(70),
34
                         "b"((__u32)(&cfg)));
35
 
36
    if (ret || (rnum != 4)) highscore = 0;
37
 
38
    return highscore;
39
}
40
 
41
void config_save_highscore(__u32 score)
42
{
43
    fs_info cfg = {0};
44
    cfg.func = 2;
45
    cfg.size = 4;
46
    cfg.data = (char*)&score;
47
    cfg.name = path;
48
 
49
    __u32 ret = 0;
50
    __u32 wnum = 0;
51
 
52
    __asm__ __volatile__("int $0x40":"=a"(ret),"=b"(wnum):
53
                         "a"(70),
54
                         "b"((__u32)(&cfg)));
55
}