예제 #1
0
				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();
						}
					}
				}
예제 #2
0
		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;
			}
예제 #5
0
			void FamilyTrainer::LoadState(State::Loader& loader,const dword id)
			{
				if (id == AsciiId<'F','T'>::V)
					output = loader.Read8() & 0x1E;
			}
예제 #6
0
		void Cartridge::VsSystem::RbiBaseball::SubLoad(State::Loader& state,const dword chunk)
		{
			if (chunk == AsciiId<'R','B','I'>::V)
				counter = state.Read8();
		}