static void Sync(void) { setchr8(0); setprg32(0x8000,~0); setprg4(0xb800,reg0); setprg4(0xc800,8+reg1); }
static void SyncKS7037(void) { setprg4r(0x10, 0x6000, 0); setprg4(0x7000, 15); setprg8(0x8000, reg[6]); setprg4(0xA000, ~3); setprg4r(0x10, 0xB000, 1); setprg8(0xC000, reg[7]); setprg8(0xE000, ~0); setchr8(0); setmirrorw(reg[2] & 1, reg[4] & 1, reg[3] & 1, reg[5] & 1); }
static INLINE void BANKSET(uint32 A, uint32 bank) { bank &= NSFMaxBank; if (NSFHeader.SoundChip & 4) memcpy(ExWRAM + (A - 0x6000), NSFDATA + (bank << 12), 4096); else setprg4(A, bank); }
static void Sync(void) { setprg4(0x8000, preg[0]); setprg4(0x9000, preg[1]); setprg4(0xA000, preg[2]); setprg4(0xB000, preg[3]); setprg4(0xC000, preg[4]); setprg4(0xD000, preg[5]); setprg4(0xE000, preg[6]); setprg4(0xF000, preg[7]); setchr8(0); }
static void Sync(void) { setprg4(0x5000,16); setprg8(0x6000,2); setprg8(0x8000,1); setprg8(0xa000,0); setprg8(0xc000,reg); setprg8(0xe000,9); setchr8(0); }
static void Sync(void) { setprg4(0x5000, 8 << 1); // Only YS-612 advanced version setprg8(0x6000, swap?0:2); setprg8(0x8000, 1); setprg8(0xa000, 0); setprg8(0xc000, reg); setprg8(0xe000, swap?8:9); // hard dump for mr.Mary is 128K, // bank 9 is the last 2K ok bank 8 repeated 4 times, then till the end of 128K // instead used bank A, containing some CHR data, ines rom have unused banks removed, // and bank A moved to the bank 9 place for compatibility with other crappy dumps setchr8(0); }
static void Sync(void) { setchr8(0); setprg8r(0x10, 0x6000, 0); if(preg[0] & 0x80) setprg4r(0x10,0x8000,preg[0] & 0x7f); else setprg4(0x8000,preg[0] & 0x7f); if(preg[1] & 0x80) setprg4r(0x10,0x9000,preg[1] & 0x7f); else setprg4(0x9000,preg[1] & 0x7f); if(preg[2] & 0x80) setprg4r(0x10,0xa000,preg[2] & 0x7f); else setprg4(0xa000,preg[2] & 0x7f); if(preg[3] & 0x80) setprg4r(0x10,0xb000,preg[3] & 0x7f); else setprg4(0xb000,preg[3] & 0x7f); /* if(preg[4] & 0x80) setprg4r(0x10,0xc000,preg[4] & 0x7f); else setprg4(0xc000,preg[4] & 0x7f); if(preg[5] & 0x80) setprg4r(0x10,0xd000,preg[5] & 0x7f); else setprg4(0xd000,preg[5] & 0x7f); if(preg[6] & 0x80) setprg4r(0x10,0xe000,preg[6] & 0x7f); else setprg4(0xe000,preg[6] & 0x7f); if(preg[7] & 0x80) setprg4r(0x10,0xf000,preg[7] & 0x7f); else setprg4(0xf000,preg[7] & 0x7f); */ setprg16(0xC000,1); }
static void Sync(void) { setchr8(0); setprg8(0x6000, reg); setprg8(0x8000, 0xc); setprg4(0xa000, (0xd << 1)); setprg2(0xb000, (0xd << 2) + 2); setprg2r(0x10, 0xb800, 4); setprg2r(0x10, 0xc000, 5); setprg2r(0x10, 0xc800, 6); setprg2r(0x10, 0xd000, 7); setprg2(0xd800, (0xe << 2) + 3); setprg8(0xe000, 0xf); }
static void Sync(void) { setchr8(0); setprg8(0x8000, 0xc); setprg8(0xe000, 0xf); if (reg2 & 0x10) { setprg8(0x6000, reg0); setprg8(0xa000, 0xd); setprg8(0xc000, 0xe); } else { setprg8r(0x10, 0x6000, 0); setprg4(0xa000, (0xd << 1)); setprg2(0xb000, (0xd << 2) + 2); setprg2r(0x10, 0xb800, 4); setprg2r(0x10, 0xc000, 5); setprg2r(0x10, 0xc800, 6); setprg2r(0x10, 0xd000, 7); setprg2(0xd800, (0xe << 2) + 3); } setmirror(reg1 ^ 1); }