Implement mappers 28, 29, 31, 56, 63, 255, BMC-60311C, BMC-WS, BMC-HPxx

- Added a few mappers to the list. Tested with roms from goodnes set and some demos
- Fix IRQ for Kaiser7032/202 - Issue noticeable with SMB2/3's status status bar
This commit is contained in:
retro-wertz
2019-05-24 06:59:26 +08:00
parent 2a58bc129e
commit 005eb7bdc3
15 changed files with 872 additions and 39 deletions

View File

@@ -225,6 +225,22 @@ void CPROM_Init(CartInfo *info) {
Latch_Init(info, CPROMSync, 0, 0x8000, 0xFFFF, 0, 0);
}
/*------------------ Map 29 ---------------------------*/
/* added 2019-5-23
* Mapper 28, used by homebrew game Glider
* https://wiki.nesdev.com/w/index.php/INES_Mapper_029 */
static void M29Sync(void) {
setprg16(0x8000, (latche >> 2) & 7);
setprg16(0xc000, ~0);
setchr8r(0, latche & 3);
setprg8r(0x10, 0x6000, 0);
}
void Mapper29_Init(CartInfo *info) {
Latch_Init(info, M29Sync, 0x0000, 0x6000, 0xFFFF, 1, 0);
}
/*------------------ Map 38 ---------------------------*/
static void M38Sync(void) {