Mappers 44,174,331,333,335: Reset to menu.

This commit is contained in:
NewRisingSun
2025-04-01 21:03:03 +02:00
committed by LibretroAdmin
parent 4438d28d1b
commit 7194d208d9
5 changed files with 35 additions and 0 deletions

View File

@@ -61,12 +61,18 @@ static void BMC12IN1Power(void) {
SetWriteHandler(0x8000, 0xFFFF, BMC12IN1Write);
}
static void BMC12IN1Reset(void) {
prgchr[0] = prgchr[1] = ctrl = 0;
Sync();
}
static void StateRestore(int version) {
Sync();
}
void BMC12IN1_Init(CartInfo *info) {
info->Power = BMC12IN1Power;
info->Reset = BMC12IN1Reset;
GameStateRestore = StateRestore;
AddExState(&StateRegs, ~0, 0, 0);
}

View File

@@ -32,6 +32,12 @@ static void Sync(void) {
setmirror((latch.addr & 1) ^ 1);
}
static void M174Reset(void) {
latch.addr =0;
Sync();
}
void Mapper174_Init(CartInfo *info) {
Latch_Init(info, Sync, NULL, 0, 0);
info->Reset = M174Reset;
}

View File

@@ -58,10 +58,17 @@ static void BMC8IN1Power(void) {
SetWriteHandler(0x8000, 0xFFFF, BMC8IN1Write);
}
static void BMC8IN1Reset(void) {
EXPREGS[0] = 0;
FixMMC3PRG(0);
FixMMC3CHR(0);
}
void BMC8IN1_Init(CartInfo *info) {
GenMMC3_Init(info, 128, 128, 0, 0);
cwrap = BMC8IN1CW;
pwrap = BMC8IN1PW;
info->Power = BMC8IN1Power;
info->Reset = BMC8IN1Reset;
AddExState(EXPREGS, 1, 0, "EXPR");
}

View File

@@ -57,18 +57,25 @@ static DECLFW(WriteCHR) {
}
static void BMCCTC09Power(void) {
regs[0] =regs[1] =0;
Sync();
SetReadHandler(0x8000, 0xFFFF, CartBR);
SetWriteHandler(0x8000, 0xBFFF, WriteCHR);
SetWriteHandler(0xC000, 0xFFFF, WritePRG);
}
static void BMCCTC09Reset(void) {
regs[0] =regs[1] =0;
Sync();
}
static void StateRestore(int version) {
Sync();
}
void BMCCTC09_Init(CartInfo *info) {
info->Power = BMCCTC09Power;
info->Reset = BMCCTC09Reset;
GameStateRestore = StateRestore;
AddExState(&StateRegs, ~0, 0, 0);
}

View File

@@ -466,6 +466,14 @@ static void M44Power(void) {
EXPREGS[0] = 0;
GenMMC3Power();
SetWriteHandler(0xA000, 0xBFFF, M44Write);
FixMMC3PRG(MMC3_cmd);
FixMMC3CHR(MMC3_cmd);
}
static void M44Reset(void) {
EXPREGS[0] =0;
FixMMC3PRG(0);
FixMMC3CHR(0);
}
void Mapper44_Init(CartInfo *info) {
@@ -473,6 +481,7 @@ void Mapper44_Init(CartInfo *info) {
cwrap = M44CW;
pwrap = M44PW;
info->Power = M44Power;
info->Reset = M44Reset;
AddExState(EXPREGS, 1, 0, "EXPR");
}