Files
ci-libretro-fceumm/src/boards/468_if12.h
NewRisingSun 07284ca4af Add mapper 468
2022-12-30 23:56:50 +01:00

32 lines
625 B
C

#define IF12_reg regByte
static void IF12_sync () {
int AND =prgAND >>1;
int OR =prgOR >>1;
setprg16(0x8000, IF12_reg[1] &AND | OR &~AND);
setprg16(0xC000, 0xFF &AND | OR &~AND);
setchr8(IF12_reg[0] >>1 &0xF);
setmirror(IF12_reg[0] &1? MI_H: MI_V);
}
static DECLFW(IF12_writeReg) {
IF12_reg[A >>14 &1] =V;
sync();
}
void IF12_reset(uint8 clearRegs) {
sync =IF12_sync;
prgAND =mapperFlags &2? 0x0F: 0x1F;
SetWriteHandler(0x8000, 0xFFFF, IF12_writeReg);
sync();
}
void UNROM_IF12_reset(uint8 clearRegs) {
if (mapperFlags &8)
UNROM_reset(clearRegs);
else
IF12_reset(clearRegs);
}
#undef IF12_reg