2void Cpu::SaveState(std::ostream& stream) {
4 stream.write(
reinterpret_cast<const char*
>(&A),
sizeof(A));
5 stream.write(
reinterpret_cast<const char*
>(&X),
sizeof(X));
6 stream.write(
reinterpret_cast<const char*
>(&Y),
sizeof(Y));
7 stream.write(
reinterpret_cast<const char*
>(&D),
sizeof(D));
8 stream.write(
reinterpret_cast<const char*
>(&DB),
sizeof(DB));
9 stream.write(
reinterpret_cast<const char*
>(&PB),
sizeof(PB));
10 stream.write(
reinterpret_cast<const char*
>(&PC),
sizeof(PC));
11 stream.write(
reinterpret_cast<const char*
>(&status),
sizeof(status));
14 stream.write(
reinterpret_cast<const char*
>(&E),
sizeof(E));
15 stream.write(
reinterpret_cast<const char*
>(&waiting_),
sizeof(waiting_));
16 stream.write(
reinterpret_cast<const char*
>(&stopped_),
sizeof(stopped_));
17 stream.write(
reinterpret_cast<const char*
>(&irq_wanted_),
sizeof(irq_wanted_));
18 stream.write(
reinterpret_cast<const char*
>(&nmi_wanted_),
sizeof(nmi_wanted_));
19 stream.write(
reinterpret_cast<const char*
>(&reset_wanted_),
sizeof(reset_wanted_));
20 stream.write(
reinterpret_cast<const char*
>(&int_wanted_),
sizeof(int_wanted_));
21 stream.write(
reinterpret_cast<const char*
>(&int_delay_),
sizeof(int_delay_));
24 uint32_t bp_count =
static_cast<uint32_t
>(breakpoints_.size());
25 stream.write(
reinterpret_cast<const char*
>(&bp_count),
sizeof(bp_count));
27 stream.write(
reinterpret_cast<const char*
>(breakpoints_.data()), bp_count *
sizeof(uint32_t));
31void Cpu::LoadState(std::istream& stream) {
33 stream.read(
reinterpret_cast<char*
>(&A),
sizeof(A));
34 stream.read(
reinterpret_cast<char*
>(&X),
sizeof(X));
35 stream.read(
reinterpret_cast<char*
>(&Y),
sizeof(Y));
36 stream.read(
reinterpret_cast<char*
>(&D),
sizeof(D));
37 stream.read(
reinterpret_cast<char*
>(&DB),
sizeof(DB));
38 stream.read(
reinterpret_cast<char*
>(&PB),
sizeof(PB));
39 stream.read(
reinterpret_cast<char*
>(&PC),
sizeof(PC));
40 stream.read(
reinterpret_cast<char*
>(&status),
sizeof(status));
43 stream.read(
reinterpret_cast<char*
>(&E),
sizeof(E));
44 stream.read(
reinterpret_cast<char*
>(&waiting_),
sizeof(waiting_));
45 stream.read(
reinterpret_cast<char*
>(&stopped_),
sizeof(stopped_));
46 stream.read(
reinterpret_cast<char*
>(&irq_wanted_),
sizeof(irq_wanted_));
47 stream.read(
reinterpret_cast<char*
>(&nmi_wanted_),
sizeof(nmi_wanted_));
48 stream.read(
reinterpret_cast<char*
>(&reset_wanted_),
sizeof(reset_wanted_));
49 stream.read(
reinterpret_cast<char*
>(&int_wanted_),
sizeof(int_wanted_));
50 stream.read(
reinterpret_cast<char*
>(&int_delay_),
sizeof(int_delay_));
54 stream.read(
reinterpret_cast<char*
>(&bp_count),
sizeof(bp_count));
55 breakpoints_.resize(bp_count);
57 stream.read(
reinterpret_cast<char*
>(breakpoints_.data()), bp_count *
sizeof(uint32_t));