Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AM64DS Mod #435

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions desmume/src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ libdesmume_a_SOURCES = \
utils/tinyxml/tinyxmlerror.cpp \
utils/tinyxml/tinyxmlparser.cpp \
utils/glcorearb.h \
addons/slot2_analog.cpp \
addons/slot2_auto.cpp \
addons/slot2_mpcf.cpp \
addons/slot2_paddle.cpp \
Expand Down
100 changes: 100 additions & 0 deletions desmume/src/addons/slot2_analog.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
/*
Copyright (C) 2021 LRFLEW
Copyright (C) 2021 DeSmuME team

This file 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 file 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 the this software. If not, see <http://www.gnu.org/licenses/>.
*/

#include "../slot2.h"

#include <cmath>
#include <cstring>

#include "../debug.h"

/* 2^15 / Pi */
#define ANGLE_TO_SHORT 10430.37835047f
/* (float) 0x1000 */
#define FLOAT_TO_FIXED 4096.0f
/* Open-Bus Value (mask) */
#define OPEN_BUS 0xAFFF

static u16 analog_x, analog_y, analog_magnitude, analog_angle;

class Slot2_Analog : public ISlot2Interface {
public:
Slot2Info const* info() override {
static Slot2InfoSimple info("Analog Stick", "Analog Stick Input", 0x09);
return &info;
}

void connect() override {
analog_x = analog_y = 0;
analog_magnitude = analog_angle = 0;
}

u16 readWord(u8 PROCNUM, u32 addr) override {
if ((addr & 0xFF000000) != 0x09000000) return OPEN_BUS;
switch ((addr >> 8) & 0xFFFF) {
case 0: // Generic
switch (addr & 0xFF) {
// 0x00 and 0x01 are reserved to match the output
// of any physical device made for this purpose.
// 0x02 through 0x07 are reserved for future DeSmuME use
case 0x08: return analog_x;
case 0x0A: return analog_y;
default: return OPEN_BUS;
}

case 1: // AM64DS
// Matches the layout of values used in SM64DS
switch (addr & 0xFF) {
case 0x00: return analog_magnitude;
case 0x02: return analog_x;
case 0x04: return analog_y;
case 0x06: return analog_angle;
default: return OPEN_BUS;
}

default:
// Available for future game-specific interfaces
return OPEN_BUS;
}
}

u8 readByte(u8 PROCNUM, u32 addr) override {
return (readWord(PROCNUM, addr & ~((u32) 1)) >> ((addr & 1) * 8)) & 0xFF;
}

u32 readLong(u8 PROCNUM, u32 addr) override {
return (u32) readWord(PROCNUM, addr) | ((u32) readWord(PROCNUM, addr | 2) << 16);
}
};

ISlot2Interface* construct_Slot2_Analog() { return new Slot2_Analog(); }

void analog_setValue(float x, float y) {
float mag = std::hypot(x, y);
float ang = std::atan2(x, y);
if (mag > 1.0f) {
x /= mag;
y /= mag;
mag = 1.0f;
}

analog_x = static_cast<u16>(std::lround(x * FLOAT_TO_FIXED));
analog_y = static_cast<u16>(std::lround(y * FLOAT_TO_FIXED));
analog_magnitude = static_cast<u16>(std::lround(mag * FLOAT_TO_FIXED));
analog_angle = static_cast<u16>(std::lround(ang * ANGLE_TO_SHORT));
}
Original file line number Diff line number Diff line change
Expand Up @@ -2553,6 +2553,13 @@
ABFEA8E81BB4FB3100B08C25 /* truetype.c in Sources */ = {isa = PBXBuildFile; fileRef = ABFEA7E61BB4EC1000B08C25 /* truetype.c */; };
ABFEA8E91BB4FB3100B08C25 /* truetype.c in Sources */ = {isa = PBXBuildFile; fileRef = ABFEA7E61BB4EC1000B08C25 /* truetype.c */; };
ABFEA8EA1BB4FB3200B08C25 /* truetype.c in Sources */ = {isa = PBXBuildFile; fileRef = ABFEA7E61BB4EC1000B08C25 /* truetype.c */; };
D493A4F425F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
D493A4F525F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
D493A4F625F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
D493A4F725F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
D493A4F825F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
D493A4F925F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
D493A4FA25F982C400282CE5 /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D493A4F325F982C400282CE5 /* slot2_analog.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -3340,6 +3347,7 @@
ABFEA7C81BB4EC1000B08C25 /* sfnt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sfnt.c; path = sfnt/sfnt.c; sourceTree = "<group>"; };
ABFEA7E41BB4EC1000B08C25 /* smooth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = smooth.c; path = smooth/smooth.c; sourceTree = "<group>"; };
ABFEA7E61BB4EC1000B08C25 /* truetype.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = truetype.c; path = truetype/truetype.c; sourceTree = "<group>"; };
D493A4F325F982C400282CE5 /* slot2_analog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = slot2_analog.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -4435,6 +4443,7 @@
AB9038AB17C5ED2200F410BD /* slot1comp_mc.cpp */,
AB8B7AAB17CE8C440051CEBF /* slot1comp_protocol.cpp */,
AB9038AD17C5ED2200F410BD /* slot1comp_rom.cpp */,
D493A4F325F982C400282CE5 /* slot2_analog.cpp */,
AB29B16518313C14009B7982 /* slot2_auto.cpp */,
ABD1FF031345AC9B00AF11D1 /* slot2_expMemory.cpp */,
ABD1FF041345AC9B00AF11D1 /* slot2_gbagame.cpp */,
Expand Down Expand Up @@ -6028,6 +6037,7 @@
AB564905186E6EBC002740F4 /* Slot2WindowDelegate.mm in Sources */,
ABAD3E7813AF1D6D00502E1E /* SoundTouch.cpp in Sources */,
ABFEA81D1BB4EC1000B08C25 /* ftfstype.c in Sources */,
D493A4F925F982C400282CE5 /* slot2_analog.cpp in Sources */,
AB9038B017C5ED2200F410BD /* slot1_retail_auto.cpp in Sources */,
ABD1FEFA1345AC8400AF11D1 /* SPU.cpp in Sources */,
ABAD3E7913AF1D6D00502E1E /* sse_optimized.cpp in Sources */,
Expand Down Expand Up @@ -6256,6 +6266,7 @@
AB7900A8215B84E50082AE82 /* slot1_retail_nand.cpp in Sources */,
AB7900A9215B84E50082AE82 /* encoding_utf.c in Sources */,
AB7900AA215B84E50082AE82 /* OGLDisplayOutput.cpp in Sources */,
D493A4F625F982C400282CE5 /* slot2_analog.cpp in Sources */,
AB7900AB215B84E50082AE82 /* slot2_expMemory.cpp in Sources */,
AB7900AC215B84E50082AE82 /* xbrz.cpp in Sources */,
AB7900AD215B84E50082AE82 /* slot2_gbagame.cpp in Sources */,
Expand Down Expand Up @@ -6558,6 +6569,7 @@
AB79024D215B84F20082AE82 /* MacBaseCaptureTool.mm in Sources */,
AB79024E215B84F20082AE82 /* lq2x.cpp in Sources */,
AB79024F215B84F20082AE82 /* xbrz.cpp in Sources */,
D493A4F725F982C400282CE5 /* slot2_analog.cpp in Sources */,
AB790250215B84F20082AE82 /* OGLDisplayOutput_3_2.cpp in Sources */,
AB790251215B84F20082AE82 /* scanline.cpp in Sources */,
AB790252215B84F20082AE82 /* coreaudiosound.cpp in Sources */,
Expand Down Expand Up @@ -6713,6 +6725,7 @@
AB796D2C15CDCBA200C59155 /* slot1_retail_nand.cpp in Sources */,
AB35BD8F1DEBF40800844310 /* encoding_utf.c in Sources */,
ABE6840C189E33BC007FD69C /* OGLDisplayOutput.cpp in Sources */,
D493A4F425F982C400282CE5 /* slot2_analog.cpp in Sources */,
AB796D2D15CDCBA200C59155 /* slot2_expMemory.cpp in Sources */,
AB47B52F18A45C35009A42AF /* xbrz.cpp in Sources */,
AB796D2E15CDCBA200C59155 /* slot2_gbagame.cpp in Sources */,
Expand Down Expand Up @@ -7015,6 +7028,7 @@
AB28625020AE3E7B00EAED43 /* MacBaseCaptureTool.mm in Sources */,
AB8F3CEC1A53AC2600A80BF6 /* lq2x.cpp in Sources */,
AB8F3CED1A53AC2600A80BF6 /* xbrz.cpp in Sources */,
D493A4F525F982C400282CE5 /* slot2_analog.cpp in Sources */,
ABB24F6F1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */,
AB8F3CEE1A53AC2600A80BF6 /* scanline.cpp in Sources */,
AB8F3CEF1A53AC2600A80BF6 /* coreaudiosound.cpp in Sources */,
Expand Down Expand Up @@ -7223,6 +7237,7 @@
AB40567A169F5DCC0016AC3E /* x86assembler.cpp in Sources */,
AB40567D169F5DCC0016AC3E /* x86compiler.cpp in Sources */,
AB405680169F5DCC0016AC3E /* x86compilercontext.cpp in Sources */,
D493A4FA25F982C400282CE5 /* slot2_analog.cpp in Sources */,
AB405683169F5DCC0016AC3E /* x86compilerfunc.cpp in Sources */,
AB405686169F5DCC0016AC3E /* x86compileritem.cpp in Sources */,
AB405689169F5DCC0016AC3E /* x86cpuinfo.cpp in Sources */,
Expand Down Expand Up @@ -7609,6 +7624,7 @@
ABE145531FBBA71A0097A4A8 /* cocoa_rom.mm in Sources */,
ABE145541FBBA71A0097A4A8 /* cocoa_util.mm in Sources */,
ABE145551FBBA71A0097A4A8 /* cocoa_videofilter.mm in Sources */,
D493A4F825F982C400282CE5 /* slot2_analog.cpp in Sources */,
ABE145561FBBA71A0097A4A8 /* OGLRender.cpp in Sources */,
ABE145571FBBA71A0097A4A8 /* slot1comp_protocol.cpp in Sources */,
AB28626320AE3E9F00EAED43 /* ClientAVCaptureObject.cpp in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1587,6 +1587,11 @@
ABFE151314C92FF5005D6699 /* hq4x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE150014C92FF5005D6699 /* hq4x.cpp */; };
ABFE151514C92FF5005D6699 /* lq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE150414C92FF5005D6699 /* lq2x.cpp */; };
ABFE151614C92FF5005D6699 /* scanline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE150614C92FF5005D6699 /* scanline.cpp */; };
D4DB425C25F983C0008216EA /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4DB425B25F983C0008216EA /* slot2_analog.cpp */; };
D4DB425D25F983C0008216EA /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4DB425B25F983C0008216EA /* slot2_analog.cpp */; };
D4DB425E25F983C0008216EA /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4DB425B25F983C0008216EA /* slot2_analog.cpp */; };
D4DB425F25F983C0008216EA /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4DB425B25F983C0008216EA /* slot2_analog.cpp */; };
D4DB426025F983C0008216EA /* slot2_analog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4DB425B25F983C0008216EA /* slot2_analog.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -2353,6 +2358,7 @@
ABFE150414C92FF5005D6699 /* lq2x.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lq2x.cpp; sourceTree = "<group>"; };
ABFE150514C92FF5005D6699 /* lq2x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lq2x.h; sourceTree = "<group>"; };
ABFE150614C92FF5005D6699 /* scanline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scanline.cpp; sourceTree = "<group>"; };
D4DB425B25F983C0008216EA /* slot2_analog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = slot2_analog.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -3421,6 +3427,7 @@
AB4C808917C5D7780024D479 /* slot1comp_mc.cpp */,
ABB9212017CEB4110049D4C5 /* slot1comp_protocol.cpp */,
AB4C808B17C5D7780024D479 /* slot1comp_rom.cpp */,
D4DB425B25F983C0008216EA /* slot2_analog.cpp */,
AB53517E18313E3100CCD532 /* slot2_auto.cpp */,
ABD1FF031345AC9B00AF11D1 /* slot2_expMemory.cpp */,
ABD1FF041345AC9B00AF11D1 /* slot2_gbagame.cpp */,
Expand Down Expand Up @@ -4714,6 +4721,7 @@
ABD1266A20AE80DF00EFE1B2 /* MacBaseCaptureTool.mm in Sources */,
ABD1267720AE812900EFE1B2 /* ClientAVCaptureObject.cpp in Sources */,
ABD1267820AE812900EFE1B2 /* macOS_driver.cpp in Sources */,
D4DB426025F983C0008216EA /* slot2_analog.cpp in Sources */,
AB4B5A22217E47E400381363 /* WifiSettingsPanel.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -4908,6 +4916,7 @@
ABD1266C20AE80DF00EFE1B2 /* MacBaseCaptureTool.mm in Sources */,
ABD1267920AE812900EFE1B2 /* ClientAVCaptureObject.cpp in Sources */,
ABD1267A20AE812900EFE1B2 /* macOS_driver.cpp in Sources */,
D4DB425F25F983C0008216EA /* slot2_analog.cpp in Sources */,
AB4B5A23217E47E400381363 /* WifiSettingsPanel.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -5128,6 +5137,7 @@
ABC04DCA1F67A2AC00EA6ED7 /* macosx_10_5_compat.cpp in Sources */,
ABAFD2751F7110E4007705BD /* gdbstub.cpp in Sources */,
ABAB0AFF1F7C1BB70079EFD3 /* MacScreenshotCaptureTool.mm in Sources */,
D4DB425C25F983C0008216EA /* slot2_analog.cpp in Sources */,
ABD1266720AE80DF00EFE1B2 /* MacAVCaptureTool.mm in Sources */,
ABD1266820AE80DF00EFE1B2 /* MacBaseCaptureTool.mm in Sources */,
ABD1267520AE812900EFE1B2 /* ClientAVCaptureObject.cpp in Sources */,
Expand Down Expand Up @@ -5352,6 +5362,7 @@
ABC04DCE1F67A2AC00EA6ED7 /* macosx_10_5_compat.cpp in Sources */,
ABAFD2761F7110E4007705BD /* gdbstub.cpp in Sources */,
ABAB0B031F7C1BB70079EFD3 /* MacScreenshotCaptureTool.mm in Sources */,
D4DB425D25F983C0008216EA /* slot2_analog.cpp in Sources */,
ABD1266F20AE80DF00EFE1B2 /* MacAVCaptureTool.mm in Sources */,
ABD1267020AE80DF00EFE1B2 /* MacBaseCaptureTool.mm in Sources */,
ABD1267D20AE812900EFE1B2 /* ClientAVCaptureObject.cpp in Sources */,
Expand Down Expand Up @@ -5550,6 +5561,7 @@
ABD1266E20AE80DF00EFE1B2 /* MacBaseCaptureTool.mm in Sources */,
ABD1267B20AE812900EFE1B2 /* ClientAVCaptureObject.cpp in Sources */,
ABD1267C20AE812900EFE1B2 /* macOS_driver.cpp in Sources */,
D4DB425E25F983C0008216EA /* slot2_analog.cpp in Sources */,
AB4B5A24217E47E400381363 /* WifiSettingsPanel.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
2 changes: 1 addition & 1 deletion desmume/src/frontend/interface/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ libdesmume_src += [
'../../utils/tinyxml/tinyxmlerror.cpp',
'../../utils/tinyxml/tinyxmlparser.cpp',
'../../utils/colorspacehandler/colorspacehandler.cpp',
'../../addons/slot2_auto.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_rom.cpp', '../../addons/slot1comp_protocol.cpp',
'../../addons/slot2_analog.cpp', '../../addons/slot2_auto.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_rom.cpp', '../../addons/slot1comp_protocol.cpp',
'../../cheatSystem.cpp',
'../../texcache.cpp', '../../rasterize.cpp',
'../../metaspu/metaspu.cpp',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,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_analog.cpp" />
<ClCompile Include="..\..\..\addons\slot2_auto.cpp" />
<ClCompile Include="..\..\..\addons\slot2_passme.cpp" />
<ClCompile Include="..\..\..\addons\slot2_piano.cpp" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,9 @@
<ClCompile Include="..\draw_sdl_window.cpp">
<Filter>frontend\interface</Filter>
</ClCompile>
<ClCompile Include="..\..\..\addons\slot2_analog.cpp">
<Filter>addons</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\utils\guid.h">
Expand Down
2 changes: 1 addition & 1 deletion desmume/src/frontend/posix/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ libdesmume_src = [
'../../utils/tinyxml/tinyxmlerror.cpp',
'../../utils/tinyxml/tinyxmlparser.cpp',
'../../utils/colorspacehandler/colorspacehandler.cpp',
'../../addons/slot2_auto.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_rom.cpp', '../../addons/slot1comp_protocol.cpp',
'../../addons/slot2_analog.cpp', '../../addons/slot2_auto.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_rom.cpp', '../../addons/slot1comp_protocol.cpp',
'../../cheatSystem.cpp',
'../../texcache.cpp', '../../rasterize.cpp',
'../../metaspu/metaspu.cpp',
Expand Down
1 change: 1 addition & 0 deletions desmume/src/frontend/windows/DeSmuME.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,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_analog.cpp" />
<ClCompile Include="..\..\addons\slot2_auto.cpp" />
<ClCompile Include="..\..\addons\slot2_passme.cpp" />
<ClCompile Include="..\..\addons\slot2_piano.cpp" />
Expand Down
3 changes: 3 additions & 0 deletions desmume/src/frontend/windows/DeSmuME.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -930,6 +930,9 @@
<ClCompile Include="display.cpp">
<Filter>frontend\Windows</Filter>
</ClCompile>
<ClCompile Include="..\..\addons\slot2_analog.cpp">
<Filter>addons</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\utils\guid.h">
Expand Down
Loading