This commit adds support for building an emulator core plug-in that is compatible with OpenEmu (http://openemu.org). Please note that this is completely separate from our official port. You may see a different feature set when using DeSmuME in our official port vs. using DeSmuME in OpenEmu. Due to this reason, commit logs will distinguish each build target as "Cocoa Port", which is our official port, and "Cocoa OpenEmu Plug-in", which refers to the plug-in for OpenEmu.

Cocoa OpenEmu Plug-in:
- Add a build target for the OpenEmu Plug-in to the Xcode 4 project.
This commit is contained in:
rogerman 2012-03-03 03:45:30 +00:00
parent 8a7fd2445f
commit 0b00a16f4e
9 changed files with 1060 additions and 0 deletions

View File

@ -282,6 +282,120 @@
ABAD3E7913AF1D6D00502E1E /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; }; ABAD3E7913AF1D6D00502E1E /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
ABAD3E7A13AF1D6D00502E1E /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; }; ABAD3E7A13AF1D6D00502E1E /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
ABAD3E7B13AF1D6D00502E1E /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; }; ABAD3E7B13AF1D6D00502E1E /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
ABB3C6621501BF4E00E0C22E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = AB00E87914205EAE00DE561F /* InfoPlist.strings */; };
ABB3C6631501BF4E00E0C22E /* FileTypeInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB64987B13ECC73800EE7DD2 /* FileTypeInfo.plist */; };
ABB3C6641501BF8A00E0C22E /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; };
ABB3C6651501BF8A00E0C22E /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D0134431CE00E7B0B1 /* AudioUnit.framework */; };
ABB3C6661501BF8A00E0C22E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
ABB3C6671501BF8A00E0C22E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97325FDCFA39411CA2CEA /* Foundation.framework */; };
ABB3C6691501BF8A00E0C22E /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D4134431DA00E7B0B1 /* OpenGL.framework */; };
ABB3C66A1501BF8A00E0C22E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
ABB3C66C1501C04F00E0C22E /* NDSGameCore.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABB3C63E1501BB8300E0C22E /* NDSGameCore.mm */; };
ABB3C66D1501C04F00E0C22E /* coreaudiosound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB1B9E5F1501A78000464647 /* coreaudiosound.cpp */; };
ABB3C66E1501C04F00E0C22E /* ringbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB1B9E601501A78000464647 /* ringbuffer.cpp */; };
ABB3C66F1501C04F00E0C22E /* sndOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD104141346652500AF11D1 /* sndOSX.cpp */; };
ABB3C6701501C04F00E0C22E /* videofilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */; };
ABB3C6711501C04F00E0C22E /* cocoa_core.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABD104121346652500AF11D1 /* cocoa_core.mm */; };
ABB3C6721501C04F00E0C22E /* cocoa_file.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB58F32C1364F44B0074C376 /* cocoa_file.mm */; };
ABB3C6731501C04F00E0C22E /* cocoa_mic.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABD9A46413DB99B300777194 /* cocoa_mic.mm */; };
ABB3C6741501C04F00E0C22E /* cocoa_output.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3E34C8134AF4500056477A /* cocoa_output.mm */; };
ABB3C6751501C04F00E0C22E /* cocoa_rom.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABD104131346652500AF11D1 /* cocoa_rom.mm */; };
ABB3C6761501C04F00E0C22E /* cocoa_util.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB80E04C142BC4A800A52038 /* cocoa_util.mm */; };
ABB3C6771501C04F00E0C22E /* cocoa_videofilter.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABE5DFE4143FB1DA00835AD8 /* cocoa_videofilter.mm */; };
ABB3C6781501C04F00E0C22E /* slot1_none.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF001345AC9B00AF11D1 /* slot1_none.cpp */; };
ABB3C6791501C04F00E0C22E /* slot1_r4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF011345AC9B00AF11D1 /* slot1_r4.cpp */; };
ABB3C67A1501C04F00E0C22E /* slot1_retail_nand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB6FBEF5139B6258007BB045 /* slot1_retail_nand.cpp */; };
ABB3C67B1501C04F00E0C22E /* slot1_retail.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF021345AC9B00AF11D1 /* slot1_retail.cpp */; };
ABB3C67C1501C04F00E0C22E /* slot2_expMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF031345AC9B00AF11D1 /* slot2_expMemory.cpp */; };
ABB3C67D1501C04F00E0C22E /* slot2_gbagame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF041345AC9B00AF11D1 /* slot2_gbagame.cpp */; };
ABB3C67E1501C04F00E0C22E /* slot2_guitarGrip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF051345AC9B00AF11D1 /* slot2_guitarGrip.cpp */; };
ABB3C67F1501C04F00E0C22E /* slot2_mpcf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF061345AC9B00AF11D1 /* slot2_mpcf.cpp */; };
ABB3C6801501C04F00E0C22E /* slot2_none.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF071345AC9C00AF11D1 /* slot2_none.cpp */; };
ABB3C6811501C04F00E0C22E /* slot2_paddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF081345AC9C00AF11D1 /* slot2_paddle.cpp */; };
ABB3C6821501C04F00E0C22E /* slot2_piano.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF091345AC9C00AF11D1 /* slot2_piano.cpp */; };
ABB3C6831501C04F00E0C22E /* slot2_rumblepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF0A1345AC9C00AF11D1 /* slot2_rumblepak.cpp */; };
ABB3C6841501C04F00E0C22E /* 2xsai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE14FA14C92FF5005D6699 /* 2xsai.cpp */; };
ABB3C6851501C04F00E0C22E /* bilinear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE14FB14C92FF5005D6699 /* bilinear.cpp */; };
ABB3C6861501C04F00E0C22E /* epx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE14FC14C92FF5005D6699 /* epx.cpp */; };
ABB3C6871501C04F00E0C22E /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE14FE14C92FF5005D6699 /* hq2x.cpp */; };
ABB3C6881501C04F00E0C22E /* hq4x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE150014C92FF5005D6699 /* hq4x.cpp */; };
ABB3C6891501C04F00E0C22E /* lq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE150414C92FF5005D6699 /* lq2x.cpp */; };
ABB3C68A1501C04F00E0C22E /* scanline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE150614C92FF5005D6699 /* scanline.cpp */; };
ABB3C68B1501C04F00E0C22E /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */; };
ABB3C68C1501C04F00E0C22E /* cpu_detect_x86_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */; };
ABB3C68D1501C04F00E0C22E /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */; };
ABB3C68E1501C04F00E0C22E /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */; };
ABB3C68F1501C04F00E0C22E /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */; };
ABB3C6901501C04F00E0C22E /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */; };
ABB3C6911501C04F00E0C22E /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */; };
ABB3C6921501C04F00E0C22E /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
ABB3C6931501C04F00E0C22E /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
ABB3C6941501C04F00E0C22E /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
ABB3C6951501C04F00E0C22E /* metaspu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF771345ACFA00AF11D1 /* metaspu.cpp */; };
ABB3C6961501C04F00E0C22E /* SndOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF7A1345ACFA00AF11D1 /* SndOut.cpp */; };
ABB3C6971501C04F00E0C22E /* Timestretcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF9B1345ACFA00AF11D1 /* Timestretcher.cpp */; };
ABB3C6981501C04F00E0C22E /* crc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF221345ACBF00AF11D1 /* crc.cpp */; };
ABB3C6991501C04F00E0C22E /* decrypt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF241345ACBF00AF11D1 /* decrypt.cpp */; };
ABB3C69A1501C04F00E0C22E /* header.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF261345ACBF00AF11D1 /* header.cpp */; };
ABB3C69B1501C04F00E0C22E /* cache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF301345ACBF00AF11D1 /* cache.cpp */; };
ABB3C69C1501C04F00E0C22E /* directory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF331345ACBF00AF11D1 /* directory.cpp */; };
ABB3C69D1501C04F00E0C22E /* disc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF351345ACBF00AF11D1 /* disc.cpp */; };
ABB3C69E1501C04F00E0C22E /* fatdir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF391345ACBF00AF11D1 /* fatdir.cpp */; };
ABB3C69F1501C04F00E0C22E /* fatfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3B1345ACBF00AF11D1 /* fatfile.cpp */; };
ABB3C6A01501C04F00E0C22E /* file_allocation_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3D1345ACBF00AF11D1 /* file_allocation_table.cpp */; };
ABB3C6A11501C04F00E0C22E /* filetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3F1345ACBF00AF11D1 /* filetime.cpp */; };
ABB3C6A21501C04F00E0C22E /* libfat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF411345ACBF00AF11D1 /* libfat.cpp */; };
ABB3C6A31501C04F00E0C22E /* libfat_public_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF431345ACBF00AF11D1 /* libfat_public_api.cpp */; };
ABB3C6A41501C04F00E0C22E /* lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF451345ACBF00AF11D1 /* lock.cpp */; };
ABB3C6A51501C04F00E0C22E /* partition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF481345ACBF00AF11D1 /* partition.cpp */; };
ABB3C6A61501C04F00E0C22E /* tinystr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE670251415DE6C00E8E4C9 /* tinystr.cpp */; };
ABB3C6A71501C04F00E0C22E /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE670271415DE6C00E8E4C9 /* tinyxml.cpp */; };
ABB3C6A81501C04F00E0C22E /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE670291415DE6C00E8E4C9 /* tinyxmlerror.cpp */; };
ABB3C6A91501C04F00E0C22E /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE6702A1415DE6C00E8E4C9 /* tinyxmlparser.cpp */; };
ABB3C6AA1501C04F00E0C22E /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1D1345ACBF00AF11D1 /* ConvertUTF.c */; };
ABB3C6AB1501C04F00E0C22E /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1F1345ACBF00AF11D1 /* datetime.cpp */; };
ABB3C6AC1501C04F00E0C22E /* dlditool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF281345ACBF00AF11D1 /* dlditool.cpp */; };
ABB3C6AD1501C04F00E0C22E /* emufat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF291345ACBF00AF11D1 /* emufat.cpp */; };
ABB3C6AE1501C04F00E0C22E /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF2C1345ACBF00AF11D1 /* guid.cpp */; };
ABB3C6AF1501C04F00E0C22E /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4A1345ACBF00AF11D1 /* md5.cpp */; };
ABB3C6B01501C04F00E0C22E /* task.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4C1345ACBF00AF11D1 /* task.cpp */; };
ABB3C6B11501C04F00E0C22E /* vfat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4F1345ACBF00AF11D1 /* vfat.cpp */; };
ABB3C6B21501C04F00E0C22E /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF511345ACBF00AF11D1 /* xstring.cpp */; };
ABB3C6B31501C04F00E0C22E /* addons.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA11345AC8400AF11D1 /* addons.cpp */; };
ABB3C6B41501C04F00E0C22E /* arm_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA31345AC8400AF11D1 /* arm_instructions.cpp */; };
ABB3C6B51501C04F00E0C22E /* armcpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA41345AC8400AF11D1 /* armcpu.cpp */; };
ABB3C6B61501C04F00E0C22E /* bios.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA51345AC8400AF11D1 /* bios.cpp */; };
ABB3C6B71501C04F00E0C22E /* cheatSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA61345AC8400AF11D1 /* cheatSystem.cpp */; };
ABB3C6B81501C04F00E0C22E /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA81345AC8400AF11D1 /* common.cpp */; };
ABB3C6B91501C04F00E0C22E /* cp15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA91345AC8400AF11D1 /* cp15.cpp */; };
ABB3C6BA1501C04F00E0C22E /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAB1345AC8400AF11D1 /* debug.cpp */; };
ABB3C6BB1501C04F00E0C22E /* Disassembler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAD1345AC8400AF11D1 /* Disassembler.cpp */; };
ABB3C6BC1501C04F00E0C22E /* driver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAE1345AC8400AF11D1 /* driver.cpp */; };
ABB3C6BD1501C04F00E0C22E /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAF1345AC8400AF11D1 /* emufile.cpp */; };
ABB3C6BE1501C04F00E0C22E /* FIFO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB01345AC8400AF11D1 /* FIFO.cpp */; };
ABB3C6BF1501C04F00E0C22E /* firmware.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB11345AC8400AF11D1 /* firmware.cpp */; };
ABB3C6C01501C04F00E0C22E /* gfx3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB41345AC8400AF11D1 /* gfx3d.cpp */; };
ABB3C6C11501C04F00E0C22E /* GPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB71345AC8400AF11D1 /* GPU.cpp */; };
ABB3C6C21501C04F00E0C22E /* GPU_osd_stub.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB51345AC8400AF11D1 /* GPU_osd_stub.cpp */; };
ABB3C6C31501C04F00E0C22E /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB91345AC8400AF11D1 /* matrix.cpp */; };
ABB3C6C41501C04F00E0C22E /* mc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBA1345AC8400AF11D1 /* mc.cpp */; };
ABB3C6C61501C04F00E0C22E /* MMU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBE1345AC8400AF11D1 /* MMU.cpp */; };
ABB3C6C71501C04F00E0C22E /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBF1345AC8400AF11D1 /* movie.cpp */; };
ABB3C6C81501C04F00E0C22E /* NDSSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC01345AC8400AF11D1 /* NDSSystem.cpp */; };
ABB3C6C91501C04F00E0C22E /* OGLRender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC11345AC8400AF11D1 /* OGLRender.cpp */; };
ABB3C6CA1501C04F00E0C22E /* path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC21345AC8400AF11D1 /* path.cpp */; };
ABB3C6CB1501C04F00E0C22E /* rasterize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC31345AC8400AF11D1 /* rasterize.cpp */; };
ABB3C6CC1501C04F00E0C22E /* readwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC41345AC8400AF11D1 /* readwrite.cpp */; };
ABB3C6CD1501C04F00E0C22E /* render3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC51345AC8400AF11D1 /* render3D.cpp */; };
ABB3C6CE1501C04F00E0C22E /* ROMReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC61345AC8400AF11D1 /* ROMReader.cpp */; };
ABB3C6CF1501C04F00E0C22E /* rtc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC71345AC8400AF11D1 /* rtc.cpp */; };
ABB3C6D01501C04F00E0C22E /* saves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC81345AC8400AF11D1 /* saves.cpp */; };
ABB3C6D11501C04F00E0C22E /* slot1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC91345AC8400AF11D1 /* slot1.cpp */; };
ABB3C6D31501C04F00E0C22E /* SPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECB1345AC8400AF11D1 /* SPU.cpp */; };
ABB3C6D41501C04F00E0C22E /* texcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECC1345AC8400AF11D1 /* texcache.cpp */; };
ABB3C6D51501C04F00E0C22E /* thumb_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECD1345AC8400AF11D1 /* thumb_instructions.cpp */; };
ABB3C6D61501C04F00E0C22E /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECE1345AC8400AF11D1 /* version.cpp */; };
ABB3C6D71501C04F00E0C22E /* wifi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECF1345AC8400AF11D1 /* wifi.cpp */; };
ABB7154214E386740027FE88 /* KeyNames.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB02475B13886BF300E9F9AB /* KeyNames.plist */; }; ABB7154214E386740027FE88 /* KeyNames.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB02475B13886BF300E9F9AB /* KeyNames.plist */; };
ABB7154314E386740027FE88 /* DefaultKeyMappings.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */; }; ABB7154314E386740027FE88 /* DefaultKeyMappings.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */; };
ABB7154414E386740027FE88 /* DefaultUserPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABBC0F8C1394B1AA0028B6BD /* DefaultUserPrefs.plist */; }; ABB7154414E386740027FE88 /* DefaultUserPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABBC0F8C1394B1AA0028B6BD /* DefaultUserPrefs.plist */; };
@ -577,6 +691,9 @@
ABE6702D1415DE6C00E8E4C9 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE670291415DE6C00E8E4C9 /* tinyxmlerror.cpp */; }; ABE6702D1415DE6C00E8E4C9 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE670291415DE6C00E8E4C9 /* tinyxmlerror.cpp */; };
ABE6702E1415DE6C00E8E4C9 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE6702A1415DE6C00E8E4C9 /* tinyxmlparser.cpp */; }; ABE6702E1415DE6C00E8E4C9 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE6702A1415DE6C00E8E4C9 /* tinyxmlparser.cpp */; };
ABE7F53E13EE1C7900FD3A71 /* cocoa_firmware.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABE7F53D13EE1C7900FD3A71 /* cocoa_firmware.mm */; }; ABE7F53E13EE1C7900FD3A71 /* cocoa_firmware.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABE7F53D13EE1C7900FD3A71 /* cocoa_firmware.mm */; };
ABE9EEE81501C65700D3FB19 /* OpenEmuBase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC4076A1501C2EF00782D0E /* OpenEmuBase.framework */; };
ABE9EEEA1501C6EB00D3FB19 /* cocoa_firmware.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABE7F53D13EE1C7900FD3A71 /* cocoa_firmware.mm */; };
ABE9EEEB1501C78700D3FB19 /* fs-linux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB21345AC8400AF11D1 /* fs-linux.cpp */; };
ABEFCF61141AB82A000CC0CD /* AppIcon_ROMSave.icns in Resources */ = {isa = PBXBuildFile; fileRef = ABEFCF5D141AB82A000CC0CD /* AppIcon_ROMSave.icns */; }; ABEFCF61141AB82A000CC0CD /* AppIcon_ROMSave.icns in Resources */ = {isa = PBXBuildFile; fileRef = ABEFCF5D141AB82A000CC0CD /* AppIcon_ROMSave.icns */; };
ABEFCF62141AB82A000CC0CD /* AppIcon_DeSmuME.icns in Resources */ = {isa = PBXBuildFile; fileRef = ABEFCF5E141AB82A000CC0CD /* AppIcon_DeSmuME.icns */; }; ABEFCF62141AB82A000CC0CD /* AppIcon_DeSmuME.icns in Resources */ = {isa = PBXBuildFile; fileRef = ABEFCF5E141AB82A000CC0CD /* AppIcon_DeSmuME.icns */; };
ABEFCF63141AB82A000CC0CD /* AppIcon_NintendoDS_ROM.icns in Resources */ = {isa = PBXBuildFile; fileRef = ABEFCF5F141AB82A000CC0CD /* AppIcon_NintendoDS_ROM.icns */; }; ABEFCF63141AB82A000CC0CD /* AppIcon_NintendoDS_ROM.icns in Resources */ = {isa = PBXBuildFile; fileRef = ABEFCF5F141AB82A000CC0CD /* AppIcon_NintendoDS_ROM.icns */; };
@ -722,6 +839,14 @@
ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sse_optimized.cpp; sourceTree = "<group>"; }; ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sse_optimized.cpp; sourceTree = "<group>"; };
ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TDStretch.cpp; sourceTree = "<group>"; }; ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TDStretch.cpp; sourceTree = "<group>"; };
ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavFile.cpp; sourceTree = "<group>"; }; ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavFile.cpp; sourceTree = "<group>"; };
ABB3C63B1501BB8300E0C22E /* DeSmuME_Prefix_OpenEmu.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeSmuME_Prefix_OpenEmu.pch; sourceTree = "<group>"; };
ABB3C63C1501BB8300E0C22E /* Info (OpenEmu Plug-in).plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info (OpenEmu Plug-in).plist"; sourceTree = "<group>"; };
ABB3C63D1501BB8300E0C22E /* NDSGameCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NDSGameCore.h; sourceTree = "<group>"; };
ABB3C63E1501BB8300E0C22E /* NDSGameCore.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = NDSGameCore.mm; sourceTree = "<group>"; };
ABB3C63F1501BB8300E0C22E /* OENDSSystemResponderClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OENDSSystemResponderClient.h; sourceTree = "<group>"; };
ABB3C6401501BB8300E0C22E /* OpenEmuSoundInterface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = OpenEmuSoundInterface.cpp; sourceTree = "<group>"; };
ABB3C6411501BB8300E0C22E /* OpenEmuSoundInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenEmuSoundInterface.h; sourceTree = "<group>"; };
ABB3C6471501BC6D00E0C22E /* DeSmuME.oecoreplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DeSmuME.oecoreplugin; sourceTree = BUILT_PRODUCTS_DIR; };
ABB7160914E386740027FE88 /* DeSmuME (Debug).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (Debug).app"; sourceTree = BUILT_PRODUCTS_DIR; }; ABB7160914E386740027FE88 /* DeSmuME (Debug).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (Debug).app"; sourceTree = BUILT_PRODUCTS_DIR; };
ABB97873144E89CC00793FA3 /* Icon_ActionReplay_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_ActionReplay_32x32.png; path = Images/Icon_ActionReplay_32x32.png; sourceTree = "<group>"; }; ABB97873144E89CC00793FA3 /* Icon_ActionReplay_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_ActionReplay_32x32.png; path = Images/Icon_ActionReplay_32x32.png; sourceTree = "<group>"; };
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_CodeBreaker_32x32.png; path = Images/Icon_CodeBreaker_32x32.png; sourceTree = "<group>"; }; ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_CodeBreaker_32x32.png; path = Images/Icon_CodeBreaker_32x32.png; sourceTree = "<group>"; };
@ -732,6 +857,7 @@
ABC3AF2C14B7F06900D5B13D /* Icon_VolumeMute_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeMute_16x16.png; path = images/Icon_VolumeMute_16x16.png; sourceTree = "<group>"; }; ABC3AF2C14B7F06900D5B13D /* Icon_VolumeMute_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeMute_16x16.png; path = images/Icon_VolumeMute_16x16.png; sourceTree = "<group>"; };
ABC3AF2D14B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeOneThird_16x16.png; path = images/Icon_VolumeOneThird_16x16.png; sourceTree = "<group>"; }; ABC3AF2D14B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeOneThird_16x16.png; path = images/Icon_VolumeOneThird_16x16.png; sourceTree = "<group>"; };
ABC3AF2E14B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeTwoThird_16x16.png; path = images/Icon_VolumeTwoThird_16x16.png; sourceTree = "<group>"; }; ABC3AF2E14B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeTwoThird_16x16.png; path = images/Icon_VolumeTwoThird_16x16.png; sourceTree = "<group>"; };
ABC4076A1501C2EF00782D0E /* OpenEmuBase.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenEmuBase.framework; path = /Applications/OpenEmu.app/Contents/Frameworks/OpenEmuBase.framework; sourceTree = "<group>"; };
ABC570D0134431CE00E7B0B1 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; ABC570D0134431CE00E7B0B1 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
ABC570D4134431DA00E7B0B1 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; ABC570D4134431DA00E7B0B1 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultKeyMappings.plist; sourceTree = "<group>"; }; ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultKeyMappings.plist; sourceTree = "<group>"; };
@ -974,6 +1100,20 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
ABB3C6441501BC6D00E0C22E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
ABB3C6641501BF8A00E0C22E /* AppKit.framework in Frameworks */,
ABB3C6651501BF8A00E0C22E /* AudioUnit.framework in Frameworks */,
ABB3C6661501BF8A00E0C22E /* Cocoa.framework in Frameworks */,
ABB3C6671501BF8A00E0C22E /* Foundation.framework in Frameworks */,
ABB3C6691501BF8A00E0C22E /* OpenGL.framework in Frameworks */,
ABB3C66A1501BF8A00E0C22E /* libz.dylib in Frameworks */,
ABE9EEE81501C65700D3FB19 /* OpenEmuBase.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
ABB715FE14E386740027FE88 /* Frameworks */ = { ABB715FE14E386740027FE88 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@ -994,6 +1134,7 @@
080E96DDFE201D6D7F000001 /* Cocoa Port */ = { 080E96DDFE201D6D7F000001 /* Cocoa Port */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
ABB3C63A1501BB8300E0C22E /* openemu */,
AB3ACB6514C2361100D7D192 /* userinterface */, AB3ACB6514C2361100D7D192 /* userinterface */,
AB1B9E5F1501A78000464647 /* coreaudiosound.cpp */, AB1B9E5F1501A78000464647 /* coreaudiosound.cpp */,
AB1B9E601501A78000464647 /* ringbuffer.cpp */, AB1B9E601501A78000464647 /* ringbuffer.cpp */,
@ -1047,6 +1188,7 @@
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
ABC4076A1501C2EF00782D0E /* OpenEmuBase.framework */,
); );
name = "Other Frameworks"; name = "Other Frameworks";
sourceTree = "<group>"; sourceTree = "<group>";
@ -1057,6 +1199,7 @@
8D1107320486CEB800E47090 /* DeSmuME (Debug).app */, 8D1107320486CEB800E47090 /* DeSmuME (Debug).app */,
AB711F7F1481C35F009011C8 /* DeSmuME (Debug).app */, AB711F7F1481C35F009011C8 /* DeSmuME (Debug).app */,
ABB7160914E386740027FE88 /* DeSmuME (Debug).app */, ABB7160914E386740027FE88 /* DeSmuME (Debug).app */,
ABB3C6471501BC6D00E0C22E /* DeSmuME.oecoreplugin */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1148,6 +1291,20 @@
name = "App Icons"; name = "App Icons";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
ABB3C63A1501BB8300E0C22E /* openemu */ = {
isa = PBXGroup;
children = (
ABB3C6401501BB8300E0C22E /* OpenEmuSoundInterface.cpp */,
ABB3C63D1501BB8300E0C22E /* NDSGameCore.h */,
ABB3C63F1501BB8300E0C22E /* OENDSSystemResponderClient.h */,
ABB3C6411501BB8300E0C22E /* OpenEmuSoundInterface.h */,
ABB3C63E1501BB8300E0C22E /* NDSGameCore.mm */,
ABB3C63B1501BB8300E0C22E /* DeSmuME_Prefix_OpenEmu.pch */,
ABB3C63C1501BB8300E0C22E /* Info (OpenEmu Plug-in).plist */,
);
path = openemu;
sourceTree = "<group>";
};
ABC2ECD613B1C87000FAAA2A /* Images */ = { ABC2ECD613B1C87000FAAA2A /* Images */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -1543,6 +1700,23 @@
productReference = AB711F7F1481C35F009011C8 /* DeSmuME (Debug).app */; productReference = AB711F7F1481C35F009011C8 /* DeSmuME (Debug).app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
ABB3C6461501BC6D00E0C22E /* DeSmuME (OpenEmu Plug-in) */ = {
isa = PBXNativeTarget;
buildConfigurationList = ABB3C6571501BC6D00E0C22E /* Build configuration list for PBXNativeTarget "DeSmuME (OpenEmu Plug-in)" */;
buildPhases = (
ABB3C6611501BF3700E0C22E /* Resources */,
ABB3C6431501BC6D00E0C22E /* Sources */,
ABB3C6441501BC6D00E0C22E /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "DeSmuME (OpenEmu Plug-in)";
productName = DeSmuME;
productReference = ABB3C6471501BC6D00E0C22E /* DeSmuME.oecoreplugin */;
productType = "com.apple.product-type.bundle";
};
ABB7153F14E386740027FE88 /* DeSmuME (v10.7 Lion) */ = { ABB7153F14E386740027FE88 /* DeSmuME (v10.7 Lion) */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = ABB7160614E386740027FE88 /* Build configuration list for PBXNativeTarget "DeSmuME (v10.7 Lion)" */; buildConfigurationList = ABB7160614E386740027FE88 /* Build configuration list for PBXNativeTarget "DeSmuME (v10.7 Lion)" */;
@ -1584,6 +1758,7 @@
Chinese, Chinese,
Norwegian, Norwegian,
Romanian, Romanian,
en,
); );
mainGroup = 29B97314FDCFA39411CA2CEA /* DeSmuME */; mainGroup = 29B97314FDCFA39411CA2CEA /* DeSmuME */;
projectDirPath = ""; projectDirPath = "";
@ -1592,6 +1767,7 @@
8D1107260486CEB800E47090 /* DeSmuME (v10.5 Leopard) */, 8D1107260486CEB800E47090 /* DeSmuME (v10.5 Leopard) */,
AB711EBD1481C35F009011C8 /* DeSmuME (v10.6 Snow Leopard) */, AB711EBD1481C35F009011C8 /* DeSmuME (v10.6 Snow Leopard) */,
ABB7153F14E386740027FE88 /* DeSmuME (v10.7 Lion) */, ABB7153F14E386740027FE88 /* DeSmuME (v10.7 Lion) */,
ABB3C6461501BC6D00E0C22E /* DeSmuME (OpenEmu Plug-in) */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
@ -1755,6 +1931,15 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
ABB3C6611501BF3700E0C22E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
ABB3C6621501BF4E00E0C22E /* InfoPlist.strings in Resources */,
ABB3C6631501BF4E00E0C22E /* FileTypeInfo.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
ABB7154114E386740027FE88 /* Resources */ = { ABB7154114E386740027FE88 /* Resources */ = {
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@ -2133,6 +2318,121 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
ABB3C6431501BC6D00E0C22E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
ABE9EEEB1501C78700D3FB19 /* fs-linux.cpp in Sources */,
ABB3C66C1501C04F00E0C22E /* NDSGameCore.mm in Sources */,
ABB3C66D1501C04F00E0C22E /* coreaudiosound.cpp in Sources */,
ABB3C66E1501C04F00E0C22E /* ringbuffer.cpp in Sources */,
ABB3C66F1501C04F00E0C22E /* sndOSX.cpp in Sources */,
ABB3C6701501C04F00E0C22E /* videofilter.cpp in Sources */,
ABB3C6711501C04F00E0C22E /* cocoa_core.mm in Sources */,
ABB3C6721501C04F00E0C22E /* cocoa_file.mm in Sources */,
ABB3C6731501C04F00E0C22E /* cocoa_mic.mm in Sources */,
ABB3C6741501C04F00E0C22E /* cocoa_output.mm in Sources */,
ABB3C6751501C04F00E0C22E /* cocoa_rom.mm in Sources */,
ABB3C6761501C04F00E0C22E /* cocoa_util.mm in Sources */,
ABB3C6771501C04F00E0C22E /* cocoa_videofilter.mm in Sources */,
ABB3C6781501C04F00E0C22E /* slot1_none.cpp in Sources */,
ABB3C6791501C04F00E0C22E /* slot1_r4.cpp in Sources */,
ABB3C67A1501C04F00E0C22E /* slot1_retail_nand.cpp in Sources */,
ABB3C67B1501C04F00E0C22E /* slot1_retail.cpp in Sources */,
ABB3C67C1501C04F00E0C22E /* slot2_expMemory.cpp in Sources */,
ABB3C67D1501C04F00E0C22E /* slot2_gbagame.cpp in Sources */,
ABB3C67E1501C04F00E0C22E /* slot2_guitarGrip.cpp in Sources */,
ABB3C67F1501C04F00E0C22E /* slot2_mpcf.cpp in Sources */,
ABB3C6801501C04F00E0C22E /* slot2_none.cpp in Sources */,
ABB3C6811501C04F00E0C22E /* slot2_paddle.cpp in Sources */,
ABB3C6821501C04F00E0C22E /* slot2_piano.cpp in Sources */,
ABB3C6831501C04F00E0C22E /* slot2_rumblepak.cpp in Sources */,
ABB3C6841501C04F00E0C22E /* 2xsai.cpp in Sources */,
ABB3C6851501C04F00E0C22E /* bilinear.cpp in Sources */,
ABB3C6861501C04F00E0C22E /* epx.cpp in Sources */,
ABB3C6871501C04F00E0C22E /* hq2x.cpp in Sources */,
ABB3C6881501C04F00E0C22E /* hq4x.cpp in Sources */,
ABB3C6891501C04F00E0C22E /* lq2x.cpp in Sources */,
ABB3C68A1501C04F00E0C22E /* scanline.cpp in Sources */,
ABB3C68B1501C04F00E0C22E /* AAFilter.cpp in Sources */,
ABB3C68C1501C04F00E0C22E /* cpu_detect_x86_gcc.cpp in Sources */,
ABB3C68D1501C04F00E0C22E /* FIFOSampleBuffer.cpp in Sources */,
ABB3C68E1501C04F00E0C22E /* FIRFilter.cpp in Sources */,
ABB3C68F1501C04F00E0C22E /* mmx_optimized.cpp in Sources */,
ABB3C6901501C04F00E0C22E /* RateTransposer.cpp in Sources */,
ABB3C6911501C04F00E0C22E /* SoundTouch.cpp in Sources */,
ABB3C6921501C04F00E0C22E /* sse_optimized.cpp in Sources */,
ABB3C6931501C04F00E0C22E /* TDStretch.cpp in Sources */,
ABB3C6941501C04F00E0C22E /* WavFile.cpp in Sources */,
ABB3C6951501C04F00E0C22E /* metaspu.cpp in Sources */,
ABB3C6961501C04F00E0C22E /* SndOut.cpp in Sources */,
ABB3C6971501C04F00E0C22E /* Timestretcher.cpp in Sources */,
ABB3C6981501C04F00E0C22E /* crc.cpp in Sources */,
ABB3C6991501C04F00E0C22E /* decrypt.cpp in Sources */,
ABB3C69A1501C04F00E0C22E /* header.cpp in Sources */,
ABB3C69B1501C04F00E0C22E /* cache.cpp in Sources */,
ABB3C69C1501C04F00E0C22E /* directory.cpp in Sources */,
ABB3C69D1501C04F00E0C22E /* disc.cpp in Sources */,
ABB3C69E1501C04F00E0C22E /* fatdir.cpp in Sources */,
ABB3C69F1501C04F00E0C22E /* fatfile.cpp in Sources */,
ABB3C6A01501C04F00E0C22E /* file_allocation_table.cpp in Sources */,
ABB3C6A11501C04F00E0C22E /* filetime.cpp in Sources */,
ABB3C6A21501C04F00E0C22E /* libfat.cpp in Sources */,
ABB3C6A31501C04F00E0C22E /* libfat_public_api.cpp in Sources */,
ABB3C6A41501C04F00E0C22E /* lock.cpp in Sources */,
ABB3C6A51501C04F00E0C22E /* partition.cpp in Sources */,
ABB3C6A61501C04F00E0C22E /* tinystr.cpp in Sources */,
ABB3C6A71501C04F00E0C22E /* tinyxml.cpp in Sources */,
ABB3C6A81501C04F00E0C22E /* tinyxmlerror.cpp in Sources */,
ABB3C6A91501C04F00E0C22E /* tinyxmlparser.cpp in Sources */,
ABB3C6AA1501C04F00E0C22E /* ConvertUTF.c in Sources */,
ABB3C6AB1501C04F00E0C22E /* datetime.cpp in Sources */,
ABB3C6AC1501C04F00E0C22E /* dlditool.cpp in Sources */,
ABB3C6AD1501C04F00E0C22E /* emufat.cpp in Sources */,
ABB3C6AE1501C04F00E0C22E /* guid.cpp in Sources */,
ABB3C6AF1501C04F00E0C22E /* md5.cpp in Sources */,
ABB3C6B01501C04F00E0C22E /* task.cpp in Sources */,
ABB3C6B11501C04F00E0C22E /* vfat.cpp in Sources */,
ABB3C6B21501C04F00E0C22E /* xstring.cpp in Sources */,
ABB3C6B31501C04F00E0C22E /* addons.cpp in Sources */,
ABB3C6B41501C04F00E0C22E /* arm_instructions.cpp in Sources */,
ABB3C6B51501C04F00E0C22E /* armcpu.cpp in Sources */,
ABB3C6B61501C04F00E0C22E /* bios.cpp in Sources */,
ABB3C6B71501C04F00E0C22E /* cheatSystem.cpp in Sources */,
ABB3C6B81501C04F00E0C22E /* common.cpp in Sources */,
ABB3C6B91501C04F00E0C22E /* cp15.cpp in Sources */,
ABB3C6BA1501C04F00E0C22E /* debug.cpp in Sources */,
ABB3C6BB1501C04F00E0C22E /* Disassembler.cpp in Sources */,
ABB3C6BC1501C04F00E0C22E /* driver.cpp in Sources */,
ABB3C6BD1501C04F00E0C22E /* emufile.cpp in Sources */,
ABB3C6BE1501C04F00E0C22E /* FIFO.cpp in Sources */,
ABB3C6BF1501C04F00E0C22E /* firmware.cpp in Sources */,
ABB3C6C01501C04F00E0C22E /* gfx3d.cpp in Sources */,
ABB3C6C11501C04F00E0C22E /* GPU.cpp in Sources */,
ABB3C6C21501C04F00E0C22E /* GPU_osd_stub.cpp in Sources */,
ABB3C6C31501C04F00E0C22E /* matrix.cpp in Sources */,
ABB3C6C41501C04F00E0C22E /* mc.cpp in Sources */,
ABB3C6C61501C04F00E0C22E /* MMU.cpp in Sources */,
ABB3C6C71501C04F00E0C22E /* movie.cpp in Sources */,
ABB3C6C81501C04F00E0C22E /* NDSSystem.cpp in Sources */,
ABB3C6C91501C04F00E0C22E /* OGLRender.cpp in Sources */,
ABB3C6CA1501C04F00E0C22E /* path.cpp in Sources */,
ABB3C6CB1501C04F00E0C22E /* rasterize.cpp in Sources */,
ABB3C6CC1501C04F00E0C22E /* readwrite.cpp in Sources */,
ABB3C6CD1501C04F00E0C22E /* render3D.cpp in Sources */,
ABB3C6CE1501C04F00E0C22E /* ROMReader.cpp in Sources */,
ABB3C6CF1501C04F00E0C22E /* rtc.cpp in Sources */,
ABB3C6D01501C04F00E0C22E /* saves.cpp in Sources */,
ABB3C6D11501C04F00E0C22E /* slot1.cpp in Sources */,
ABB3C6D31501C04F00E0C22E /* SPU.cpp in Sources */,
ABB3C6D41501C04F00E0C22E /* texcache.cpp in Sources */,
ABB3C6D51501C04F00E0C22E /* thumb_instructions.cpp in Sources */,
ABB3C6D61501C04F00E0C22E /* version.cpp in Sources */,
ABB3C6D71501C04F00E0C22E /* wifi.cpp in Sources */,
ABE9EEEA1501C6EB00D3FB19 /* cocoa_firmware.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
ABB7158A14E386740027FE88 /* Sources */ = { ABB7158A14E386740027FE88 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@ -2317,6 +2617,44 @@
}; };
name = Release; name = Release;
}; };
ABB3C6581501BC6D00E0C22E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_APPS_DIR)/OpenEmu.app/Contents/Frameworks\"",
);
GCC_PREFIX_HEADER = openemu/DeSmuME_Prefix_OpenEmu.pch;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
INFOPLIST_FILE = "openemu/Info (OpenEmu Plug-in).plist";
MACOSX_DEPLOYMENT_TARGET = 10.7;
PRODUCT_NAME = DeSmuME;
SDKROOT = macosx;
WRAPPER_EXTENSION = oecoreplugin;
};
name = Debug;
};
ABB3C6591501BC6D00E0C22E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_APPS_DIR)/OpenEmu.app/Contents/Frameworks\"",
);
GCC_PREFIX_HEADER = openemu/DeSmuME_Prefix_OpenEmu.pch;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
INFOPLIST_FILE = "openemu/Info (OpenEmu Plug-in).plist";
MACOSX_DEPLOYMENT_TARGET = 10.7;
PRODUCT_NAME = DeSmuME;
SDKROOT = macosx;
WRAPPER_EXTENSION = oecoreplugin;
};
name = Release;
};
ABB7160714E386740027FE88 /* Debug */ = { ABB7160714E386740027FE88 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
@ -2428,6 +2766,15 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
ABB3C6571501BC6D00E0C22E /* Build configuration list for PBXNativeTarget "DeSmuME (OpenEmu Plug-in)" */ = {
isa = XCConfigurationList;
buildConfigurations = (
ABB3C6581501BC6D00E0C22E /* Debug */,
ABB3C6591501BC6D00E0C22E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
ABB7160614E386740027FE88 /* Build configuration list for PBXNativeTarget "DeSmuME (v10.7 Lion)" */ = { ABB7160614E386740027FE88 /* Build configuration list for PBXNativeTarget "DeSmuME (v10.7 Lion)" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "ABB3C6461501BC6D00E0C22E"
BuildableName = "DeSmuME.oecoreplugin"
BlueprintName = "DeSmuME (OpenEmu Plug-in)"
ReferencedContainer = "container:DeSmuME (XCode 4).xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,25 @@
/*
Copyright (C) 2012 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/>.
*/
#ifdef __OBJC__
#define OBJ_C
#endif
#define DESMUME_COCOA
#define HAVE_OPENGL
#define HAVE_LIBZ
#define PORT_VERSION "OpenEmu"

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>org.desmume.DeSmuME-OpenEmu</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>v0.9.8 (OpenEmu Plug-in)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.9.8</string>
<key>CSResourcesFileMapped</key>
<string>yes</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2012 DeSmuME Team. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string>OEGameCoreController</string>
<key>OEGameCoreClass</key>
<string>NDSGameCore</string>
<key>OEGameCorePlayerCount</key>
<string>1</string>
<key>OEProjectURL</key>
<string>http://desmume.org/</string>
<key>OESystemIdentifiers</key>
<array>
<string>openemu.system.nintendods</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,37 @@
/*
Copyright (C) 2012 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/>.
*/
#import <Cocoa/Cocoa.h>
#import <OpenEmuBase/OEGameCore.h>
#import <OpenEmuBase/OERingBuffer.h>
#import "OENDSSystemResponderClient.h"
#include "../ringbuffer.h"
@class CocoaDSFirmware;
@class CocoaDSMic;
@interface NDSGameCore : OEGameCore
{
bool *input;
CocoaDSFirmware *firmware;
CocoaDSMic *microphone;
}
@property (retain) CocoaDSFirmware *firmware;
@property (retain) CocoaDSMic *microphone;
@end

View File

@ -0,0 +1,349 @@
/*
Copyright (C) 2012 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/>.
*/
#import "NDSGameCore.h"
#import "cocoa_globals.h"
#import "cocoa_file.h"
#import "cocoa_firmware.h"
#import "cocoa_core.h"
#import "cocoa_mic.h"
#import "cocoa_output.h"
#include "../sndOSX.h"
//#include "OpenEmuSoundInterface.h"
#include <OpenGL/gl.h>
#include "../../path.h"
#include "../../NDSSystem.h"
#include "../../render3D.h"
#undef BOOL
@implementation NDSGameCore
@synthesize firmware;
@synthesize microphone;
- (id)init
{
self = [super init];
if(self == nil)
{
return self;
}
input = (bool *)calloc(sizeof(bool), OENDSButtonCount);
microphone = [[CocoaDSMic alloc] init];
microphone.mode = MICMODE_INTERNAL_NOISE;
CommonSettings.advanced_timing = true;
[CocoaDSCore startupCore];
firmware = [[CocoaDSFirmware alloc] init];
[firmware update];
NSUInteger numberCores = [[NSProcessInfo processInfo] activeProcessorCount];
if (numberCores >= 4)
{
numberCores = 4;
}
else if (numberCores >= 2)
{
numberCores = 2;
}
else
{
numberCores = 1;
}
CommonSettings.num_cores = numberCores;
NDS_3D_ChangeCore(CORE3DLIST_SWRASTERIZE);
CommonSettings.spu_advanced = true;
CommonSettings.spuInterpolationMode = SPUInterpolation_Cosine;
// Set up the sound core
NSInteger result = SPU_ChangeSoundCore(SNDCORE_OSX, (int)SPU_BUFFER_BYTES);
//NSInteger result = SPU_ChangeSoundCore(SNDCORE_OPENEMU, (int)SPU_BUFFER_BYTES);
if(result == -1)
{
SPU_ChangeSoundCore(SNDCORE_DUMMY, 0);
}
SPU_SetSynchMode(SPU_SYNC_MODE_SYNCHRONOUS, SPU_SYNC_METHOD_P);
SPU_SetVolume(100);
return self;
}
- (void)dealloc
{
self.microphone = nil;
free(input);
SPU_ChangeSoundCore(SNDCORE_DUMMY, 0);
NDS_3D_ChangeCore(CORE3DLIST_SWRASTERIZE);
[CocoaDSCore shutdownCore];
self.firmware = nil;
[super dealloc];
}
#pragma mark -
#pragma mark Execution
- (void)resetEmulation
{
NDS_Reset();
execute = true;
}
- (void)executeFrameSkippingFrame:(BOOL)skip
{
if (skip)
{
NDS_SkipNextFrame();
}
[self executeFrame];
}
- (void)executeFrame
{
[self updateNDSController];
NDS_beginProcessingInput();
NDS_endProcessingInput();
NDS_exec<false>();
SPU_Emulate_user();
}
- (BOOL)loadFileAtPath:(NSString*)path
{
NSURL *openEmuDataURL = [NSURL fileURLWithPath:[self batterySavesDirectoryPath]];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"ROM"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"ROM Save"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Save State"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Screenshot"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Video"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Cheat"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Sound Sample"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Firmware Configuration"];
[CocoaDSFile addURLToURLDictionary:openEmuDataURL groupKey:@PATH_OPEN_EMU fileKind:@"Lua Script"];
[CocoaDSFile setupAllFilePathsWithURLDictionary:@PATH_OPEN_EMU];
return [CocoaDSFile loadRom:[NSURL fileURLWithPath:path]];
}
#pragma mark Video
- (OEIntRect)screenRect
{
return (OEIntRect){{}, [self bufferSize]};
}
- (OEIntSize)bufferSize
{
return OESizeMake(256, 384);
}
- (const void *)videoBuffer
{
return GPU_screen;
}
- (GLenum)pixelFormat
{
return GL_RGBA;
}
- (GLenum)pixelType
{
return GL_UNSIGNED_SHORT_1_5_5_5_REV;
}
- (GLenum)internalPixelFormat
{
return GL_RGB5_A1;
}
#pragma mark Audio
- (NSUInteger)soundBufferCount
{
return 1;
}
- (void)getAudioBuffer:(void *)buffer frameCount:(NSUInteger)frameCount bufferIndex:(NSUInteger)index
{
// TODO: Better integrate the emulator audio with OpenEmu's audio system.
//
// Right now, we're using the Cocoa port's audio handling code, which works great.
// But it's a good idea to not use it for the purposes of proving good code modularity.
//if (openEmuSoundInterfaceBuffer != NULL)
//{
// openEmuSoundInterfaceBuffer->read(buffer, frameCount * SPU_BUFFER_BYTES);
//}
}
- (NSUInteger)channelCount
{
//return SPU_NUMBER_CHANNELS;
return 0;
}
- (NSUInteger)frameSampleCount
{
//static NSUInteger count = (NSUInteger)(SPU_SAMPLE_RATE / DS_FRAMES_PER_SECOND) + 1;
static NSUInteger count = 0;
return count;
}
- (NSUInteger)soundBufferSize
{
//return SPU_BUFFER_BYTES;
return 0;
}
- (NSUInteger)frameSampleRate
{
//return SPU_SAMPLE_RATE;
return 0;
}
- (NSUInteger)channelCountForBuffer:(NSUInteger)buffer
{
return [self channelCount];
}
- (NSUInteger)frameSampleCountForBuffer:(NSUInteger)buffer
{
return [self frameSampleCount];
}
- (NSUInteger)soundBufferSizeForBuffer:(NSUInteger)buffer
{
return [self soundBufferSize];
}
- (NSUInteger)frameSampleRateForBuffer:(NSUInteger)buffer
{
return [self frameSampleRate];
}
#pragma mark Input
- (void)didPushNDSButton:(OENDSButton)button forPlayer:(NSUInteger)player
{
input[button] = true;
}
- (void)didReleaseNDSButton:(OENDSButton)button forPlayer:(NSUInteger)player
{
input[button] = false;
}
- (void) updateNDSController
{
// Setup the DS pad.
NDS_setPad(input[OENDSButtonRight],
input[OENDSButtonLeft],
input[OENDSButtonDown],
input[OENDSButtonUp],
input[OENDSButtonSelect],
input[OENDSButtonStart],
input[OENDSButtonB],
input[OENDSButtonA],
input[OENDSButtonY],
input[OENDSButtonX],
input[OENDSButtonL],
input[OENDSButtonR],
input[OENDSButtonDebug],
input[OENDSButtonLid]);
// TODO: Add touch pad support in OpenEmu.
//
// As of March 3, 2012, reading coordinates from a view is not exposed in OpenEmu.
// When this functionality is exposed, then the DS touch pad will be supported.
/*
// Setup the DS touch pad.
if ([self isInputPressed:@"Touch"])
{
NSPoint touchLocation = [self inputLocation:@"Touch"];
NDS_setTouchPos((u16)touchLocation.x, (u16)touchLocation.y);
}
else
{
NDS_releaseTouch();
}
*/
// Setup the DS mic.
NDS_setMic(input[OENDSButtonMicrophone]);
if (input[OENDSButtonMicrophone])
{
if (self.microphone.mode == MICMODE_NONE)
{
[self.microphone fillWithNullSamples];
}
else if (self.microphone.mode == MICMODE_INTERNAL_NOISE)
{
[self.microphone fillWithInternalNoise];
}
else if (self.microphone.mode == MICMODE_WHITE_NOISE)
{
[self.microphone fillWithWhiteNoise];
}
else if (self.microphone.mode == MICMODE_SOUND_FILE)
{
// TODO: Need to implement. Does nothing for now.
}
}
}
- (NSTrackingAreaOptions)mouseTrackingOptions
{
return 0;
}
- (void)settingWasSet:(id)aValue forKey:(NSString *)keyName
{
DLog(@"keyName = %@", keyName);
//[self doesNotImplementSelector:_cmd];
}
#pragma mark Save State
- (BOOL)saveStateToFileAtPath:(NSString *)fileName
{
return [CocoaDSFile saveState:[NSURL fileURLWithPath:fileName]];
}
- (BOOL)loadStateFromFileAtPath:(NSString *)fileName
{
return [CocoaDSFile loadState:[NSURL fileURLWithPath:fileName]];
}
@end

View File

@ -0,0 +1,47 @@
/*
Copyright (C) 2012 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/>.
*/
#import <Cocoa/Cocoa.h>
@protocol OESystemResponderClient;
typedef enum _OENDSButton
{
OENDSButtonUp,
OENDSButtonDown,
OENDSButtonLeft,
OENDSButtonRight,
OENDSButtonA,
OENDSButtonB,
OENDSButtonX,
OENDSButtonY,
OENDSButtonL,
OENDSButtonR,
OENDSButtonSelect,
OENDSButtonStart,
OENDSButtonMicrophone,
OENDSButtonLid,
OENDSButtonDebug,
OENDSButtonCount
} OENDSButton;
@protocol OENDSSystemResponderClient <OESystemResponderClient, NSObject>
- (void)didPushNDSButton:(OENDSButton)button forPlayer:(NSUInteger)player;
- (void)didReleaseNDSButton:(OENDSButton)button forPlayer:(NSUInteger)player;
@end

View File

@ -0,0 +1,114 @@
/*
Copyright (C) 2012 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 "OpenEmuSoundInterface.h"
#include "cocoa_globals.h"
RingBuffer *openEmuSoundInterfaceBuffer = NULL;
// Sound interface to the SPU
SoundInterface_struct SNDOpenEmu = {
SNDCORE_OPENEMU,
"OpenEmu Sound Interface",
SNDOpenEmuInit,
SNDOpenEmuDeInit,
SNDOpenEmuUpdateAudio,
SNDOpenEmuGetAudioSpace,
SNDOpenEmuMuteAudio,
SNDOpenEmuUnMuteAudio,
SNDOpenEmuSetVolume,
SNDOpenEmuClearBuffer
};
SoundInterface_struct *SNDCoreList[] = {
&SNDDummy,
&SNDOpenEmu,
NULL
};
int SNDOpenEmuInit(int buffer_size)
{
if (openEmuSoundInterfaceBuffer != NULL)
{
RingBuffer *oldBuffer = openEmuSoundInterfaceBuffer;
openEmuSoundInterfaceBuffer = new RingBuffer(buffer_size / SPU_SAMPLE_SIZE, SPU_SAMPLE_SIZE);
delete oldBuffer;
}
else
{
openEmuSoundInterfaceBuffer = new RingBuffer(buffer_size / SPU_SAMPLE_SIZE, SPU_SAMPLE_SIZE);
}
return 0;
}
void SNDOpenEmuDeInit()
{
delete openEmuSoundInterfaceBuffer;
openEmuSoundInterfaceBuffer = NULL;
}
int SNDOpenEmuReset()
{
SNDOpenEmuClearBuffer();
return 0;
}
void SNDOpenEmuUpdateAudio(s16 *buffer, u32 num_samples)
{
if (openEmuSoundInterfaceBuffer != NULL)
{
openEmuSoundInterfaceBuffer->write(buffer, openEmuSoundInterfaceBuffer->getElementSize() * (size_t)num_samples);
}
}
u32 SNDOpenEmuGetAudioSpace()
{
u32 availableSamples = 0;
if (openEmuSoundInterfaceBuffer != NULL)
{
availableSamples = (u32)openEmuSoundInterfaceBuffer->getAvailableElements();
}
return availableSamples;
}
void SNDOpenEmuMuteAudio()
{
}
void SNDOpenEmuUnMuteAudio()
{
}
void SNDOpenEmuSetVolume(int volume)
{
}
void SNDOpenEmuClearBuffer()
{
if (openEmuSoundInterfaceBuffer != NULL)
{
openEmuSoundInterfaceBuffer->clear();
}
}

View File

@ -0,0 +1,43 @@
/*
Copyright (C) 2012 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/>.
*/
#ifndef _OPENEMUSOUNDINTERFACE_
#define _OPENEMUSOUNDINTERFACE_
#include "../ringbuffer.h"
#include "../../SPU.h"
#define SNDCORE_OPENEMU 58326
// Sound interface to the SPU
extern SoundInterface_struct SNDOpenEmu;
// Ring buffer
extern RingBuffer *openEmuSoundInterfaceBuffer;
// OpenEmu functions for the sound interface
int SNDOpenEmuInit(int buffer_size);
void SNDOpenEmuDeInit();
int SNDOpenEmuReset();
void SNDOpenEmuUpdateAudio(s16 *buffer, u32 num_samples);
u32 SNDOpenEmuGetAudioSpace();
void SNDOpenEmuMuteAudio();
void SNDOpenEmuUnMuteAudio();
void SNDOpenEmuSetVolume(int volume);
void SNDOpenEmuClearBuffer();
#endif // _OPENEMUSOUNDINTERFACE_