mirror of https://github.com/bsnes-emu/bsnes.git
65 lines
1.7 KiB
C++
65 lines
1.7 KiB
C++
auto VDP::serialize(serializer& s) -> void {
|
|
Thread::serialize(s);
|
|
|
|
background.serialize(s);
|
|
sprite.serialize(s);
|
|
|
|
s.array(vram);
|
|
s.array(cram);
|
|
|
|
s.integer(io.vcounter);
|
|
s.integer(io.hcounter);
|
|
s.integer(io.lcounter);
|
|
s.integer(io.intLine);
|
|
s.integer(io.intFrame);
|
|
s.integer(io.spriteOverflow);
|
|
s.integer(io.spriteCollision);
|
|
s.integer(io.fifthSprite);
|
|
s.integer(io.controlLatch);
|
|
s.integer(io.controlData);
|
|
s.integer(io.code);
|
|
s.integer(io.address);
|
|
s.integer(io.vramLatch);
|
|
s.integer(io.externalSync);
|
|
s.integer(io.extendedHeight);
|
|
s.integer(io.mode4);
|
|
s.integer(io.spriteShift);
|
|
s.integer(io.lineInterrupts);
|
|
s.integer(io.leftClip);
|
|
s.integer(io.horizontalScrollLock);
|
|
s.integer(io.verticalScrollLock);
|
|
s.integer(io.spriteDouble);
|
|
s.integer(io.spriteTile);
|
|
s.integer(io.lines240);
|
|
s.integer(io.lines224);
|
|
s.integer(io.frameInterrupts);
|
|
s.integer(io.displayEnable);
|
|
s.integer(io.nameTableMask);
|
|
s.integer(io.nameTableAddress);
|
|
s.integer(io.colorTableAddress);
|
|
s.integer(io.patternTableAddress);
|
|
s.integer(io.spriteAttributeTableMask);
|
|
s.integer(io.spriteAttributeTableAddress);
|
|
s.integer(io.spritePatternTableMask);
|
|
s.integer(io.spritePatternTableAddress);
|
|
s.integer(io.backdropColor);
|
|
s.integer(io.hscroll);
|
|
s.integer(io.vscroll);
|
|
s.integer(io.lineCounter);
|
|
}
|
|
|
|
auto VDP::Background::serialize(serializer& s) -> void {
|
|
s.integer(state.x);
|
|
s.integer(state.y);
|
|
s.integer(output.color);
|
|
s.integer(output.palette);
|
|
s.integer(output.priority);
|
|
}
|
|
|
|
auto VDP::Sprite::serialize(serializer& s) -> void {
|
|
s.integer(state.x);
|
|
s.integer(state.y);
|
|
s.integer(output.color);
|
|
//todo: array<Object, 8> is not serializable
|
|
}
|