Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/gameboy/system/serialization.cpp
2 views
1
#ifdef SYSTEM_CPP
2
3
serializer System::serialize() {
4
serializer s(serialize_size);
5
6
unsigned signature = 0x31545342, version = Info::SerializerVersion, crc32 = 0;
7
char description[512];
8
memset(&description, 0, sizeof description);
9
10
s.integer(signature);
11
s.integer(version);
12
s.integer(crc32);
13
s.array(description);
14
15
serialize_all(s);
16
return s;
17
}
18
19
bool System::unserialize(serializer &s) {
20
unsigned signature, version, crc32;
21
char description[512];
22
23
s.integer(signature);
24
s.integer(version);
25
s.integer(crc32);
26
s.array(description);
27
28
if(signature != 0x31545342) return false;
29
if(version != Info::SerializerVersion) return false;
30
//if(crc32 != 0) return false;
31
32
power();
33
serialize_all(s);
34
return true;
35
}
36
37
void System::serialize(serializer &s) {
38
s.integer(clocks_executed);
39
}
40
41
void System::serialize_all(serializer &s) {
42
cartridge.serialize(s);
43
system.serialize(s);
44
cpu.serialize(s);
45
apu.serialize(s);
46
lcd.serialize(s);
47
}
48
49
void System::serialize_init() {
50
serializer s;
51
52
unsigned signature = 0, version = 0, crc32 = 0;
53
char description[512];
54
55
s.integer(signature);
56
s.integer(version);
57
s.integer(crc32);
58
s.array(description);
59
60
serialize_all(s);
61
serialize_size = s.size();
62
}
63
64
#endif
65
66