6 static SFORMAT StateRegs[]=
12 static void Sync(void)
15 base = ((DRegs[0]^DRegs[1])&0x10)<<1;
16 bank = (DRegs[2]^DRegs[3])&0x1f;
23 setprg16(0x8000,base+bank+1);
24 setprg16(0xC000,base+bank+0);
28 setprg16(0x8000,base+bank+0);
29 setprg16(0xC000,base+bank+1);
36 setprg16(0x8000,0x1f);
37 setprg16(0xC000,base+bank);
41 setprg16(0x8000,base+bank);
43 setprg16(0xC000,0x20);
45 setprg16(0xC000,0x07);
50 static DECLFW(Mapper167_write)
52 DRegs[(A>>13)&0x03]=V;
56 static void StateRestore(int version)
61 void Mapper166_init(void)
64 DRegs[0]=DRegs[1]=DRegs[2]=DRegs[3]=0;
66 SetWriteHandler(0x8000,0xFFFF,Mapper167_write);
67 GameStateRestore=StateRestore;
68 AddExState(&StateRegs, ~0, 0, 0);
71 void Mapper167_init(void)
74 DRegs[0]=DRegs[1]=DRegs[2]=DRegs[3]=0;
76 SetWriteHandler(0x8000,0xFFFF,Mapper167_write);
77 GameStateRestore=StateRestore;
78 AddExState(&StateRegs, ~0, 0, 0);