GBA slot:
- add emulation PassME (required for old Homebrew libs);
This commit is contained in:
parent
b4765567ad
commit
5d671b8b92
|
@ -88,7 +88,7 @@ libdesmume_a_SOURCES = \
|
|||
utils/tinyxml/tinyxmlerror.cpp \
|
||||
utils/tinyxml/tinyxmlparser.cpp \
|
||||
addons.cpp addons.h \
|
||||
addons/slot2_mpcf.cpp addons/slot2_paddle.cpp addons/slot2_gbagame.cpp addons/slot2_none.cpp addons/slot2_rumblepak.cpp addons/slot2_guitarGrip.cpp addons/slot2_expMemory.cpp addons/slot2_piano.cpp addons/slot1_none.cpp addons/slot1_r4.cpp addons/slot1_retail_nand.cpp addons/slot1_retail_auto.cpp addons/slot1_retail_mcrom.cpp addons/slot1_retail_mcrom_debug.cpp addons/slot1comp_mc.cpp addons/slot1comp_mc.h addons/slot1comp_rom.h addons/slot1comp_rom.cpp addons/slot1comp_protocol.h addons/slot1comp_protocol.cpp \
|
||||
addons/slot2_mpcf.cpp addons/slot2_paddle.cpp addons/slot2_gbagame.cpp addons/slot2_none.cpp addons/slot2_rumblepak.cpp addons/slot2_guitarGrip.cpp addons/slot2_expMemory.cpp addons/slot2_piano.cpp addons/slot2_passme.cpp addons/slot1_none.cpp addons/slot1_r4.cpp addons/slot1_retail_nand.cpp addons/slot1_retail_auto.cpp addons/slot1_retail_mcrom.cpp addons/slot1_retail_mcrom_debug.cpp addons/slot1comp_mc.cpp addons/slot1comp_mc.h addons/slot1comp_rom.h addons/slot1comp_rom.cpp addons/slot1comp_protocol.h addons/slot1comp_protocol.cpp \
|
||||
cheatSystem.cpp cheatSystem.h \
|
||||
texcache.cpp texcache.h rasterize.cpp rasterize.h \
|
||||
metaspu/metaspu.cpp metaspu/metaspu.h \
|
||||
|
|
|
@ -34,6 +34,7 @@ extern ADDONINTERFACE addonGuitarGrip;
|
|||
extern ADDONINTERFACE addonExpMemory;
|
||||
extern ADDONINTERFACE addonPiano;
|
||||
extern ADDONINTERFACE addonPaddle;
|
||||
extern ADDONINTERFACE addonPassME;
|
||||
//extern ADDONINTERFACE addonExternalMic;
|
||||
|
||||
ADDONINTERFACE addonList[NDS_ADDON_COUNT] = {
|
||||
|
@ -44,7 +45,8 @@ ADDONINTERFACE addonList[NDS_ADDON_COUNT] = {
|
|||
addonGuitarGrip,
|
||||
addonExpMemory,
|
||||
addonPiano,
|
||||
addonPaddle
|
||||
addonPaddle,
|
||||
addonPassME
|
||||
};
|
||||
|
||||
ADDONINTERFACE addon = addonCFlash; // default cflash pak (why??)
|
||||
|
|
|
@ -64,6 +64,7 @@ enum NDS_ADDON_TYPE
|
|||
NDS_ADDON_PIANO, // Piano
|
||||
NDS_ADDON_PADDLE,
|
||||
//NDS_ADDON_EXTERNALMIC,
|
||||
NDS_ADDON_PASSME, // PassME
|
||||
NDS_ADDON_COUNT // use for counter addons - MUST TO BE LAST!!!
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
Copyright (C) 2013 DeSmuME team
|
||||
|
||||
This file is part of DeSmuME
|
||||
|
||||
DeSmuME 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.
|
||||
|
||||
DeSmuME 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 DeSmuME; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include "../addons.h"
|
||||
#include "../NDSSystem.h"
|
||||
|
||||
static BOOL PassME_init(void) { return (TRUE); }
|
||||
static void PassME_reset(void) {}
|
||||
static void PassME_close(void) {}
|
||||
static void PassME_config(void) {}
|
||||
static void PassME_write08(u32 procnum, u32 adr, u8 val) {}
|
||||
static void PassME_write16(u32 procnum, u32 adr, u16 val) {}
|
||||
static void PassME_write32(u32 procnum, u32 adr, u32 val) {}
|
||||
static u8 PassME_read08(u32 procnum, u32 adr)
|
||||
{
|
||||
u32 tmp_adr = (adr & 0x07FFFFFF);
|
||||
if (tmp_adr < gameInfo.romsize)
|
||||
return (u8)gameInfo.readROM(tmp_adr);
|
||||
|
||||
return (0xFF);
|
||||
}
|
||||
static u16 PassME_read16(u32 procnum, u32 adr)
|
||||
{
|
||||
u32 tmp_adr = (adr & 0x07FFFFFF);
|
||||
if (tmp_adr < gameInfo.romsize)
|
||||
return (u16)gameInfo.readROM(tmp_adr);
|
||||
|
||||
return (0xFFFF);
|
||||
}
|
||||
static u32 PassME_read32(u32 procnum, u32 adr)
|
||||
{
|
||||
u32 tmp_adr = (adr & 0x07FFFFFF);
|
||||
|
||||
if (tmp_adr < gameInfo.romsize)
|
||||
return gameInfo.readROM(tmp_adr);
|
||||
|
||||
return (0xFFFFFFFF);
|
||||
}
|
||||
static void PassME_info(char *info) { strcpy(info, "PassME in GBA slot"); }
|
||||
|
||||
ADDONINTERFACE addonPassME = {
|
||||
"PassME",
|
||||
PassME_init,
|
||||
PassME_reset,
|
||||
PassME_close,
|
||||
PassME_config,
|
||||
PassME_write08,
|
||||
PassME_write16,
|
||||
PassME_write32,
|
||||
PassME_read08,
|
||||
PassME_read16,
|
||||
PassME_read32,
|
||||
PassME_info};
|
|
@ -2155,6 +2155,10 @@
|
|||
RelativePath="..\addons\slot2_paddle.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\addons\slot2_passme.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\addons\slot2_piano.cpp"
|
||||
>
|
||||
|
|
|
@ -1073,6 +1073,10 @@
|
|||
RelativePath="..\addons\slot2_paddle.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\addons\slot2_passme.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\addons\slot2_piano.cpp"
|
||||
>
|
||||
|
|
|
@ -376,6 +376,7 @@
|
|||
<ClCompile Include="..\addons\slot1_retail_auto.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_retail_mcrom.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_retail_mcrom_debug.cpp" />
|
||||
<ClCompile Include="..\addons\slot2_passme.cpp" />
|
||||
<ClCompile Include="..\addons\slot2_piano.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_none.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_r4.cpp" />
|
||||
|
@ -998,4 +999,4 @@
|
|||
<UserProperties RESOURCE_FILE="resources.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
</Project>
|
|
@ -801,6 +801,9 @@
|
|||
<ClCompile Include="fsnitroView.cpp">
|
||||
<Filter>Windows\tools</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\addons\slot2_passme.cpp">
|
||||
<Filter>Core\addons</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\addons.h">
|
||||
|
@ -1609,4 +1612,4 @@
|
|||
<Filter>Windows\libs</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
|
@ -387,6 +387,7 @@
|
|||
<ClCompile Include="..\addons\slot1_retail_auto.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_retail_mcrom.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_retail_mcrom_debug.cpp" />
|
||||
<ClCompile Include="..\addons\slot2_passme.cpp" />
|
||||
<ClCompile Include="..\addons\slot2_piano.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_none.cpp" />
|
||||
<ClCompile Include="..\addons\slot1_r4.cpp" />
|
||||
|
@ -1009,4 +1010,4 @@
|
|||
<UserProperties RESOURCE_FILE="resources.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
</Project>
|
|
@ -793,6 +793,9 @@
|
|||
<ClCompile Include="fsnitroView.cpp">
|
||||
<Filter>Windows\tools</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\addons\slot2_passme.cpp">
|
||||
<Filter>Core\addons</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\addons.h">
|
||||
|
@ -1447,4 +1450,4 @@
|
|||
<Filter>Windows\libs</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
|
@ -448,7 +448,8 @@ u32 GBAslot_IDDs[NDS_ADDON_COUNT] = {
|
|||
IDD_GBASLOT_GUITARGRIP,
|
||||
IDD_GBASLOT_NONE, //expmem
|
||||
IDD_GBASLOT_PIANO,
|
||||
IDD_GBASLOT_NONE, //padd;e
|
||||
IDD_GBASLOT_NONE, //paddle
|
||||
IDD_GBASLOT_NONE, //PassME
|
||||
};
|
||||
|
||||
DLGPROC GBAslot_Procs[NDS_ADDON_COUNT] = {
|
||||
|
@ -459,7 +460,8 @@ DLGPROC GBAslot_Procs[NDS_ADDON_COUNT] = {
|
|||
GbaSlotGuitarGrip,
|
||||
GbaSlotNone, //expmem
|
||||
GbaSlotPiano,
|
||||
GbaSlotPaddle
|
||||
GbaSlotPaddle,
|
||||
GbaSlotNone // PassME
|
||||
};
|
||||
|
||||
|
||||
|
@ -630,6 +632,8 @@ void GBAslotDialog(HWND hwnd)
|
|||
break;
|
||||
case NDS_ADDON_EXPMEMORY:
|
||||
break;
|
||||
case NDS_ADDON_PASSME:
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -3209,6 +3209,8 @@ int _main()
|
|||
break;
|
||||
case NDS_ADDON_PADDLE:
|
||||
break;
|
||||
case NDS_ADDON_PASSME:
|
||||
break;
|
||||
default:
|
||||
addon_type = NDS_ADDON_NONE;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue