Added mapper 373
This commit is contained in:
committed by
LibretroAdmin
parent
a65c3b26fc
commit
d5179047e4
@@ -21,7 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Code for emulating iNES mappers 4,12,44,45,47,49,52,74,114,115,116,118,
|
/* Code for emulating iNES mappers 4,12,44,45,47,49,52,74,114,115,116,118,
|
||||||
119,165,205,245,249,250,254,361,366,367,555
|
119,165,205,245,249,250,254,361,366,367,373,555
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mapinc.h"
|
#include "mapinc.h"
|
||||||
@@ -517,6 +517,18 @@ static void M45PW(uint32 A, uint8 V) {
|
|||||||
SetReadHandler(0x8000, 0xFFFF, CartBR);
|
SetReadHandler(0x8000, 0xFFFF, CartBR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void M373PW(uint32 A, uint8 V) {
|
||||||
|
int prgAND =~EXPREGS[3] &0x3F;
|
||||||
|
int prgOR =EXPREGS[1] | EXPREGS[2] <<2 &0x300;
|
||||||
|
if (EXPREGS[2] &0x20) {
|
||||||
|
if (A <0xC000) {
|
||||||
|
setprg8(A, V &prgAND | prgOR &~prgAND);
|
||||||
|
setprg8(A | 0x4000, V &prgAND | prgOR &~prgAND | 0x02);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
setprg8(A, V &prgAND | prgOR &~prgAND);
|
||||||
|
}
|
||||||
|
|
||||||
static DECLFW(M45Write) {
|
static DECLFW(M45Write) {
|
||||||
if (EXPREGS[3] & 0x40) {
|
if (EXPREGS[3] & 0x40) {
|
||||||
WRAM[A - 0x6000] = V;
|
WRAM[A - 0x6000] = V;
|
||||||
@@ -561,6 +573,15 @@ void Mapper45_Init(CartInfo *info) {
|
|||||||
AddExState(EXPREGS, 5, 0, "EXPR");
|
AddExState(EXPREGS, 5, 0, "EXPR");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mapper373_Init(CartInfo *info) {
|
||||||
|
GenMMC3_Init(info, 512, 256, 8, info->battery);
|
||||||
|
cwrap = M45CW;
|
||||||
|
pwrap = M373PW;
|
||||||
|
info->Reset = M45Reset;
|
||||||
|
info->Power = M45Power;
|
||||||
|
AddExState(EXPREGS, 5, 0, "EXPR");
|
||||||
|
}
|
||||||
|
|
||||||
/* ---------------------------- Mapper 47 ------------------------------- */
|
/* ---------------------------- Mapper 47 ------------------------------- */
|
||||||
|
|
||||||
static void M47PW(uint32 A, uint8 V) {
|
static void M47PW(uint32 A, uint8 V) {
|
||||||
|
|||||||
@@ -779,6 +779,7 @@ INES_BOARD_BEGIN()
|
|||||||
INES_BOARD( "N49C-300", 369, Mapper369_Init )
|
INES_BOARD( "N49C-300", 369, Mapper369_Init )
|
||||||
INES_BOARD( "Golden Mario Party II - Around the World 6-in-1", 370, Mapper370_Init )
|
INES_BOARD( "Golden Mario Party II - Around the World 6-in-1", 370, Mapper370_Init )
|
||||||
INES_BOARD( "MMC3 PIRATE SFC-12", 372, Mapper372_Init )
|
INES_BOARD( "MMC3 PIRATE SFC-12", 372, Mapper372_Init )
|
||||||
|
INES_BOARD( "MMC3 PIRATE SFC-13", 373, Mapper373_Init )
|
||||||
INES_BOARD( "95/96 Super HiK 4-in-1", 374, Mapper374_Init )
|
INES_BOARD( "95/96 Super HiK 4-in-1", 374, Mapper374_Init )
|
||||||
INES_BOARD( "135-in-1", 375, Mapper375_Init )
|
INES_BOARD( "135-in-1", 375, Mapper375_Init )
|
||||||
INES_BOARD( "YY841155C", 376, Mapper376_Init )
|
INES_BOARD( "YY841155C", 376, Mapper376_Init )
|
||||||
|
|||||||
@@ -291,6 +291,7 @@ void Mapper368_Init(CartInfo *);
|
|||||||
void Mapper369_Init(CartInfo *);
|
void Mapper369_Init(CartInfo *);
|
||||||
void Mapper370_Init(CartInfo *);
|
void Mapper370_Init(CartInfo *);
|
||||||
void Mapper372_Init(CartInfo *);
|
void Mapper372_Init(CartInfo *);
|
||||||
|
void Mapper373_Init(CartInfo *);
|
||||||
void Mapper374_Init(CartInfo *);
|
void Mapper374_Init(CartInfo *);
|
||||||
void Mapper375_Init(CartInfo *);
|
void Mapper375_Init(CartInfo *);
|
||||||
void Mapper376_Init(CartInfo *);
|
void Mapper376_Init(CartInfo *);
|
||||||
|
|||||||
Reference in New Issue
Block a user