Rev 5238 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5238 | Rev 5248 | ||
---|---|---|---|
Line 14... | Line 14... | ||
14 | 14 | ||
Line 15... | Line 15... | ||
15 | #pragma pack(pop) |
15 | #pragma pack(pop) |
Line 16... | Line 16... | ||
16 | 16 | ||
17 | char path[] = "/sys/games/2048.dat"; |
17 | char path[] = "/sys/games/2048.dat"; |
18 | - | ||
19 | __u32 config_load_highscore() |
- | |
20 | { |
18 | |
21 | __u32 highscore = 0; |
19 | __u8 config_load(config_state* st) |
22 | 20 | { |
|
23 | fs_info cfg = {0}; |
21 | fs_info cfg = {0}; |
24 | cfg.func = 0; |
22 | cfg.func = 0; |
Line 25... | Line 23... | ||
25 | cfg.size = sizeof(__u32); |
23 | cfg.size = sizeof(config_state); |
26 | cfg.data = (char*)&highscore; |
24 | cfg.data = (char*)st; |
Line 27... | Line 25... | ||
27 | cfg.name = path; |
25 | cfg.name = path; |
28 | 26 | ||
29 | __u32 ret = 0; |
27 | __u32 ret = 0; |
30 | __u32 rnum = 0; |
28 | __u32 rnum = 0; |
Line 31... | Line 29... | ||
31 | 29 | ||
32 | __asm__ __volatile__("int $0x40":"=a"(ret),"=b"(rnum): |
- | |
33 | "a"(70), |
- | |
34 | "b"((__u32)(&cfg)): |
30 | __asm__ __volatile__("int $0x40":"=a"(ret),"=b"(rnum): |
Line 35... | Line 31... | ||
35 | "memory"); |
31 | "a"(70), |
36 | 32 | "b"((__u32)(&cfg)): |
|
37 | if (ret || (rnum != 4)) highscore = 0; |
33 | "memory"); |
38 | 34 | ||
39 | return highscore; |
35 | return !ret || (rnum == cfg.size); |
40 | } |
36 | } |
41 | 37 | ||
Line 42... | Line 38... | ||
42 | void config_save_highscore(__u32 score) |
38 | __u8 config_save(config_state* st) |
43 | { |
39 | { |
Line 44... | Line 40... | ||
44 | fs_info cfg = {0}; |
40 | fs_info cfg = {0}; |
45 | cfg.func = 2; |
41 | cfg.func = 2; |
46 | cfg.size = sizeof(__u32); |
42 | cfg.size = sizeof(config_state); |
47 | cfg.data = (char*)&score; |
43 | cfg.data = (char*)st; |
- | 44 | cfg.name = path; |
|
- | 45 | ||
48 | cfg.name = path; |
46 | __u32 ret = 0; |