void Ks202::SubLoad(State::Loader& state,const dword baseChunk) { NST_VERIFY( (baseChunk == AsciiId<'K','0','2'>::V) ); if (baseChunk == AsciiId<'K','0','2'>::V) { while (const dword chunk = state.Begin()) { switch (chunk) { case AsciiId<'R','E','G'>::V: ctrl = state.Read8(); break; case AsciiId<'I','R','Q'>::V: { State::Loader::Data<5> data( state ); irq.unit.ctrl = data[0]; irq.unit.count = data[1] | data[2] << 8; irq.unit.latch = data[3] | data[4] << 8; irq.Connect( data[0] & 0xF ); break; } } state.End(); } } }
void Mapper165::SubLoad(State::Loader& state) { while (const dword chunk = state.Begin()) { if (chunk == AsciiId<'L','T','C'>::V) { const uint data = state.Read8(); selector[0] = data << 0 & 0x1; selector[1] = data << 1 & 0x6; } state.End(); } }
void ResetBased4in1::SubLoad(State::Loader& state,const dword baseChunk) { NST_VERIFY( baseChunk == (AsciiId<'B','R','4'>::V) ); if (baseChunk == AsciiId<'B','R','4'>::V) { while (const dword chunk = state.Begin()) { if (chunk == AsciiId<'R','E','G'>::V) resetSwitch = state.Read8() & 0x3; state.End(); } } }
void KonamiHyperShot::LoadState(State::Loader& loader,const dword id) { if (id == AsciiId<'H','S'>::V) strobe = loader.Read8() & 0x1; }
void FamilyTrainer::LoadState(State::Loader& loader,const dword id) { if (id == AsciiId<'F','T'>::V) output = loader.Read8() & 0x1E; }
void Cartridge::VsSystem::RbiBaseball::SubLoad(State::Loader& state,const dword chunk) { if (chunk == AsciiId<'R','B','I'>::V) counter = state.Read8(); }