Mappers 344: Add solder pad

This commit is contained in:
NewRisingSun
2026-04-05 02:30:30 +02:00
parent ba25f9107b
commit 6657dc502f

View File

@@ -40,21 +40,28 @@ static void BMCGN26PW(uint32 A, uint8 V) {
setprg8(A, (EXPREGS[0] << 4) | (V & 0x0F));
}
static DECLFR(readPad) {
return EXPREGS[1] &0x01? X.DB: CartBR(A);
}
static DECLFW(BMCGN26Write) {
if (A001B &0x80 && ~A001B &0x40) {
EXPREGS[0] = A;
FixMMC3PRG(MMC3_cmd);
FixMMC3CHR(MMC3_cmd);
SetReadHandler(0x8000, 0xFFFF, EXPREGS[0] &0x08? readPad: CartBR);
}
}
static void BMCGN26Reset(void) {
EXPREGS[0] = 0;
EXPREGS[1]++;
MMC3RegReset();
}
static void BMCGN26Power(void) {
GenMMC3Power();
EXPREGS[1] = 0;
SetWriteHandler(0x6000, 0x7FFF, BMCGN26Write);
}
@@ -64,5 +71,5 @@ void BMCGN26_Init(CartInfo *info) {
cwrap = BMCGN26CW;
info->Power = BMCGN26Power;
info->Reset = BMCGN26Reset;
AddExState(EXPREGS, 1, 0, "EXPR");
AddExState(EXPREGS, 2, 0, "EXPR");
}