Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/cpu/serialization.cpp
2 views
1
#ifdef CPU_CPP
2
3
void CPU::serialize(serializer &s) {
4
Processor::serialize(s);
5
CPUcore::core_serialize(s);
6
PPUcounter::serialize(s);
7
8
s.array(wram,128 * 1024);
9
10
s.integer(cpu_version);
11
12
s.integer(status.interrupt_pending);
13
14
s.integer(status.clock_count);
15
s.integer(status.line_clocks);
16
17
s.integer(status.irq_lock);
18
19
s.integer(status.dram_refresh_position);
20
s.integer(status.dram_refreshed);
21
22
s.integer(status.hdma_init_position);
23
s.integer(status.hdma_init_triggered);
24
25
s.integer(status.hdma_position);
26
s.integer(status.hdma_triggered);
27
28
s.integer(status.nmi_valid);
29
s.integer(status.nmi_line);
30
s.integer(status.nmi_transition);
31
s.integer(status.nmi_pending);
32
s.integer(status.nmi_hold);
33
34
s.integer(status.irq_valid);
35
s.integer(status.irq_line);
36
s.integer(status.irq_transition);
37
s.integer(status.irq_pending);
38
s.integer(status.irq_hold);
39
40
s.integer(status.reset_pending);
41
42
s.integer(status.dma_active);
43
s.integer(status.dma_counter);
44
s.integer(status.dma_clocks);
45
s.integer(status.dma_pending);
46
s.integer(status.hdma_pending);
47
s.integer(status.hdma_mode);
48
49
s.integer(status.auto_joypad_active);
50
s.integer(status.auto_joypad_latch);
51
s.integer(status.auto_joypad_counter);
52
s.integer(status.auto_joypad_clock);
53
54
s.array(status.port);
55
56
s.integer(status.wram_addr);
57
58
s.integer(status.joypad_strobe_latch);
59
s.integer(status.joypad1_bits);
60
s.integer(status.joypad2_bits);
61
62
s.integer(status.nmi_enabled);
63
s.integer(status.hirq_enabled);
64
s.integer(status.virq_enabled);
65
s.integer(status.auto_joypad_poll);
66
67
s.integer(status.pio);
68
69
s.integer(status.wrmpya);
70
s.integer(status.wrmpyb);
71
72
s.integer(status.wrdiva);
73
s.integer(status.wrdivb);
74
75
s.integer(status.hirq_pos);
76
s.integer(status.virq_pos);
77
78
s.integer(status.rom_speed);
79
80
s.integer(status.rddiv);
81
s.integer(status.rdmpy);
82
83
s.integer(status.joy1);
84
s.integer(status.joy2);
85
s.integer(status.joy3);
86
s.integer(status.joy4);
87
88
s.integer(alu.mpyctr);
89
s.integer(alu.divctr);
90
s.integer(alu.shift);
91
92
for(unsigned i = 0; i < 8; i++) {
93
s.integer(channel[i].dma_enabled);
94
s.integer(channel[i].hdma_enabled);
95
s.integer(channel[i].direction);
96
s.integer(channel[i].indirect);
97
s.integer(channel[i].unused);
98
s.integer(channel[i].reverse_transfer);
99
s.integer(channel[i].fixed_transfer);
100
s.integer(channel[i].transfer_mode);
101
s.integer(channel[i].dest_addr);
102
s.integer(channel[i].source_addr);
103
s.integer(channel[i].source_bank);
104
s.integer(channel[i].transfer_size);
105
s.integer(channel[i].indirect_bank);
106
s.integer(channel[i].hdma_addr);
107
s.integer(channel[i].line_counter);
108
s.integer(channel[i].unknown);
109
s.integer(channel[i].hdma_completed);
110
s.integer(channel[i].hdma_do_transfer);
111
}
112
113
s.integer(pipe.valid);
114
s.integer(pipe.addr);
115
s.integer(pipe.data);
116
}
117
118
#endif
119
120