bsnes-hd/bsnes/sfc/coprocessor/sdd1/serialization.cpp
2020-02-02 01:18:32 +01:00

67 lines
1.4 KiB
C++

auto SDD1::serialize(serializer& s) -> void {
s.integer(r4800);
s.integer(r4801);
s.integer(r4804);
s.integer(r4805);
s.integer(r4806);
s.integer(r4807);
for(auto& channel : dma) {
s.integer(channel.addr);
s.integer(channel.size);
}
s.integer(dmaReady);
decompressor.serialize(s);
}
auto SDD1::Decompressor::serialize(serializer& s) -> void {
im.serialize(s);
gcd.serialize(s);
bg0.serialize(s);
bg1.serialize(s);
bg2.serialize(s);
bg3.serialize(s);
bg4.serialize(s);
bg5.serialize(s);
bg6.serialize(s);
bg7.serialize(s);
pem.serialize(s);
cm.serialize(s);
ol.serialize(s);
}
auto SDD1::Decompressor::IM::serialize(serializer& s) -> void {
s.integer(offset);
s.integer(bitCount);
}
auto SDD1::Decompressor::GCD::serialize(serializer& s) -> void {
}
auto SDD1::Decompressor::BG::serialize(serializer& s) -> void {
s.integer(mpsCount);
s.integer(lpsIndex);
}
auto SDD1::Decompressor::PEM::serialize(serializer& s) -> void {
for(auto& info : contextInfo) {
s.integer(info.status);
s.integer(info.mps);
}
}
auto SDD1::Decompressor::CM::serialize(serializer& s) -> void {
s.integer(bitplanesInfo);
s.integer(contextBitsInfo);
s.integer(bitNumber);
s.integer(currentBitplane);
s.array(previousBitplaneBits);
}
auto SDD1::Decompressor::OL::serialize(serializer& s) -> void {
s.integer(bitplanesInfo);
s.integer(r0);
s.integer(r1);
s.integer(r2);
}