mapper 31 infiniteneslives-NSF

This commit is contained in:
rainwarrior 2015-01-25 00:04:36 +00:00
parent 860cc71cf9
commit 7936b92495
7 changed files with 76 additions and 1 deletions

View File

@ -0,0 +1,62 @@
/* FCE Ultra - NES/Famicom Emulator
*
* Copyright notice for this file:
* Copyright (C) 2002 Xodnizel
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "mapinc.h"
static uint8 regs[8];
static SFORMAT StateRegs[] =
{
{ regs, 8, "REGS" },
{ 0 }
};
static void Sync(void) {
for (int i=0; i < 8; ++i)
{
setprg4(0x8000 + (0x1000 * i), regs[i]);
}
}
static DECLFW(M31Write) {
if (A >= 0x5000 && A <= 0x5FFF)
{
regs[A&7] = V;
Sync();
}
}
static void M31Power(void) {
setchr8(0);
regs[7] = 0xFF;
Sync();
SetReadHandler(0x8000, 0xffff, CartBR);
SetWriteHandler(0x5000, 0x5fff, M31Write);
}
static void StateRestore(int version) {
Sync();
}
void Mapper31_Init(CartInfo *info) {
info->Power = M31Power;
GameStateRestore = StateRestore;
AddExState(&StateRegs, ~0, 0, 0);
}

View File

@ -477,7 +477,7 @@ static BMAPPINGLocal bmap[] = {
{"", 28, Mapper28_Init},
{"RET-CUFROM", 29, Mapper29_Init},
{"UNROM 512", 30, UNROM512_Init},
// {"", 31, Mapper31_Init},
{"infiniteneslives-NSF", 31, Mapper31_Init},
{"IREM G-101", 32, Mapper32_Init},
{"TC0190FMC/TC0350FMR", 33, Mapper33_Init},
{"IREM I-IM/BNROM", 34, Mapper34_Init},

View File

@ -115,6 +115,7 @@ void Mapper25_Init(CartInfo *);
void Mapper26_Init(CartInfo *);
void Mapper28_Init(CartInfo *);
void Mapper29_Init(CartInfo *);
void Mapper31_Init(CartInfo *);
void Mapper32_Init(CartInfo *);
void Mapper33_Init(CartInfo *);
void Mapper34_Init(CartInfo *);

View File

@ -362,6 +362,7 @@
<ClCompile Include="..\src\boards\gs-2004.cpp" />
<ClCompile Include="..\src\boards\gs-2013.cpp" />
<ClCompile Include="..\src\boards\h2288.cpp" />
<ClCompile Include="..\src\boards\inlnsf.cpp" />
<ClCompile Include="..\src\boards\karaoke.cpp" />
<ClCompile Include="..\src\boards\kof97.cpp" />
<ClCompile Include="..\src\boards\vrc5.cpp" />

View File

@ -211,6 +211,9 @@
<ClCompile Include="..\src\boards\h2288.cpp">
<Filter>boards</Filter>
</ClCompile>
<ClCompile Include="..\src\boards\inlnsf.cpp">
<Filter>boards</Filter>
</ClCompile>
<ClCompile Include="..\src\boards\karaoke.cpp">
<Filter>boards</Filter>
</ClCompile>

View File

@ -1022,6 +1022,10 @@
RelativePath="..\src\boards\h2288.cpp"
>
</File>
<File
RelativePath="..\src\boards\inlnsf.cpp"
>
</File>
<File
RelativePath="..\src\boards\karaoke.cpp"
>

View File

@ -795,6 +795,10 @@
RelativePath="..\src\boards\h2288.cpp"
>
</File>
<File
RelativePath="..\src\boards\inlnsf.cpp"
>
</File>
<File
RelativePath="..\src\boards\karaoke.cpp"
>