Cocoa Port:

- Decouple window handling from the emulation control logic.
- Update copyright year on several files.
- Do various minor code cleanup.
This commit is contained in:
rogerman 2013-02-13 23:46:02 +00:00
parent 0fd5648ab6
commit 4dd70a0120
26 changed files with 4663 additions and 5700 deletions

View File

@ -52,6 +52,50 @@
AB0F29C714BE7213009ABC6F /* Icon_RotateCW_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB0F29A314BE7213009ABC6F /* Icon_RotateCW_420x420.png */; };
AB0F29C814BE7213009ABC6F /* Icon_ShowHUD_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB0F29A414BE7213009ABC6F /* Icon_ShowHUD_420x420.png */; };
AB0F29C914BE7213009ABC6F /* Icon_Speaker_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB0F29A514BE7213009ABC6F /* Icon_Speaker_420x420.png */; };
AB279D5916A4E6DE00ECC692 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4E16A4E6DE00ECC692 /* AAFilter.cpp */; };
AB279D5A16A4E6DE00ECC692 /* BPMDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4F16A4E6DE00ECC692 /* BPMDetect.cpp */; };
AB279D5B16A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5016A4E6DE00ECC692 /* cpu_detect_x86.cpp */; };
AB279D5C16A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5116A4E6DE00ECC692 /* FIFOSampleBuffer.cpp */; };
AB279D5D16A4E6DE00ECC692 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5216A4E6DE00ECC692 /* FIRFilter.cpp */; };
AB279D5E16A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5316A4E6DE00ECC692 /* mmx_optimized.cpp */; };
AB279D5F16A4E6DE00ECC692 /* PeakFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5416A4E6DE00ECC692 /* PeakFinder.cpp */; };
AB279D6016A4E6DE00ECC692 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5516A4E6DE00ECC692 /* RateTransposer.cpp */; };
AB279D6116A4E6DE00ECC692 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5616A4E6DE00ECC692 /* SoundTouch.cpp */; };
AB279D6216A4E6DE00ECC692 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5716A4E6DE00ECC692 /* sse_optimized.cpp */; };
AB279D6316A4E6DE00ECC692 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5816A4E6DE00ECC692 /* TDStretch.cpp */; };
AB279D6416A4E6DE00ECC692 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4E16A4E6DE00ECC692 /* AAFilter.cpp */; };
AB279D6516A4E6DE00ECC692 /* BPMDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4F16A4E6DE00ECC692 /* BPMDetect.cpp */; };
AB279D6616A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5016A4E6DE00ECC692 /* cpu_detect_x86.cpp */; };
AB279D6716A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5116A4E6DE00ECC692 /* FIFOSampleBuffer.cpp */; };
AB279D6816A4E6DE00ECC692 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5216A4E6DE00ECC692 /* FIRFilter.cpp */; };
AB279D6916A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5316A4E6DE00ECC692 /* mmx_optimized.cpp */; };
AB279D6A16A4E6DE00ECC692 /* PeakFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5416A4E6DE00ECC692 /* PeakFinder.cpp */; };
AB279D6B16A4E6DE00ECC692 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5516A4E6DE00ECC692 /* RateTransposer.cpp */; };
AB279D6C16A4E6DE00ECC692 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5616A4E6DE00ECC692 /* SoundTouch.cpp */; };
AB279D6D16A4E6DE00ECC692 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5716A4E6DE00ECC692 /* sse_optimized.cpp */; };
AB279D6E16A4E6DE00ECC692 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5816A4E6DE00ECC692 /* TDStretch.cpp */; };
AB279D6F16A4E6DE00ECC692 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4E16A4E6DE00ECC692 /* AAFilter.cpp */; };
AB279D7016A4E6DE00ECC692 /* BPMDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4F16A4E6DE00ECC692 /* BPMDetect.cpp */; };
AB279D7116A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5016A4E6DE00ECC692 /* cpu_detect_x86.cpp */; };
AB279D7216A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5116A4E6DE00ECC692 /* FIFOSampleBuffer.cpp */; };
AB279D7316A4E6DE00ECC692 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5216A4E6DE00ECC692 /* FIRFilter.cpp */; };
AB279D7416A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5316A4E6DE00ECC692 /* mmx_optimized.cpp */; };
AB279D7516A4E6DE00ECC692 /* PeakFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5416A4E6DE00ECC692 /* PeakFinder.cpp */; };
AB279D7616A4E6DE00ECC692 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5516A4E6DE00ECC692 /* RateTransposer.cpp */; };
AB279D7716A4E6DE00ECC692 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5616A4E6DE00ECC692 /* SoundTouch.cpp */; };
AB279D7816A4E6DE00ECC692 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5716A4E6DE00ECC692 /* sse_optimized.cpp */; };
AB279D7916A4E6DE00ECC692 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5816A4E6DE00ECC692 /* TDStretch.cpp */; };
AB279D7A16A4E6DE00ECC692 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4E16A4E6DE00ECC692 /* AAFilter.cpp */; };
AB279D7B16A4E6DE00ECC692 /* BPMDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D4F16A4E6DE00ECC692 /* BPMDetect.cpp */; };
AB279D7C16A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5016A4E6DE00ECC692 /* cpu_detect_x86.cpp */; };
AB279D7D16A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5116A4E6DE00ECC692 /* FIFOSampleBuffer.cpp */; };
AB279D7E16A4E6DE00ECC692 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5216A4E6DE00ECC692 /* FIRFilter.cpp */; };
AB279D7F16A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5316A4E6DE00ECC692 /* mmx_optimized.cpp */; };
AB279D8016A4E6DE00ECC692 /* PeakFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5416A4E6DE00ECC692 /* PeakFinder.cpp */; };
AB279D8116A4E6DE00ECC692 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5516A4E6DE00ECC692 /* RateTransposer.cpp */; };
AB279D8216A4E6DE00ECC692 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5616A4E6DE00ECC692 /* SoundTouch.cpp */; };
AB279D8316A4E6DE00ECC692 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5716A4E6DE00ECC692 /* sse_optimized.cpp */; };
AB279D8416A4E6DE00ECC692 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB279D5816A4E6DE00ECC692 /* TDStretch.cpp */; };
AB2F3B7D15CF9C6000858373 /* KeyNames.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB02475B13886BF300E9F9AB /* KeyNames.plist */; };
AB2F3B7E15CF9C6000858373 /* DefaultKeyMappings.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */; };
AB2F3B7F15CF9C6000858373 /* DefaultUserPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABBC0F8C1394B1AA0028B6BD /* DefaultUserPrefs.plist */; };
@ -124,7 +168,6 @@
AB2F3BC215CF9C6000858373 /* README.MAC in Resources */ = {isa = PBXBuildFile; fileRef = AB3ACC3D14C24D5400D7D192 /* README.MAC */; };
AB2F3BC315CF9C6000858373 /* AppIcon_FirmwareConfig.icns in Resources */ = {isa = PBXBuildFile; fileRef = AB75226D14C7BB51009B97B3 /* AppIcon_FirmwareConfig.icns */; };
AB2F3BC515CF9C6000858373 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1D1345ACBF00AF11D1 /* ConvertUTF.c */; };
AB2F3BC615CF9C6000858373 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */; };
AB2F3BC715CF9C6000858373 /* addons.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA11345AC8400AF11D1 /* addons.cpp */; };
AB2F3BC815CF9C6000858373 /* arm_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA31345AC8400AF11D1 /* arm_instructions.cpp */; };
AB2F3BC915CF9C6000858373 /* armcpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA41345AC8400AF11D1 /* armcpu.cpp */; };
@ -133,7 +176,6 @@
AB2F3BCC15CF9C6000858373 /* cheatSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA61345AC8400AF11D1 /* cheatSystem.cpp */; };
AB2F3BCD15CF9C6000858373 /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA81345AC8400AF11D1 /* common.cpp */; };
AB2F3BCE15CF9C6000858373 /* cp15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA91345AC8400AF11D1 /* cp15.cpp */; };
AB2F3BCF15CF9C6000858373 /* cpu_detect_x86_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */; };
AB2F3BD015CF9C6000858373 /* crc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF221345ACBF00AF11D1 /* crc.cpp */; };
AB2F3BD115CF9C6000858373 /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1F1345ACBF00AF11D1 /* datetime.cpp */; };
AB2F3BD215CF9C6000858373 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAB1345AC8400AF11D1 /* debug.cpp */; };
@ -148,10 +190,8 @@
AB2F3BDB15CF9C6000858373 /* fatdir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF391345ACBF00AF11D1 /* fatdir.cpp */; };
AB2F3BDC15CF9C6000858373 /* fatfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3B1345ACBF00AF11D1 /* fatfile.cpp */; };
AB2F3BDD15CF9C6000858373 /* FIFO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB01345AC8400AF11D1 /* FIFO.cpp */; };
AB2F3BDE15CF9C6000858373 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */; };
AB2F3BDF15CF9C6000858373 /* file_allocation_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3D1345ACBF00AF11D1 /* file_allocation_table.cpp */; };
AB2F3BE015CF9C6000858373 /* filetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3F1345ACBF00AF11D1 /* filetime.cpp */; };
AB2F3BE115CF9C6000858373 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */; };
AB2F3BE215CF9C6000858373 /* firmware.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB11345AC8400AF11D1 /* firmware.cpp */; };
AB2F3BE315CF9C6000858373 /* fs-linux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB21345AC8400AF11D1 /* fs-linux.cpp */; };
AB2F3BE415CF9C6000858373 /* gfx3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB41345AC8400AF11D1 /* gfx3d.cpp */; };
@ -167,13 +207,11 @@
AB2F3BEE15CF9C6000858373 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4A1345ACBF00AF11D1 /* md5.cpp */; };
AB2F3BEF15CF9C6000858373 /* metaspu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF771345ACFA00AF11D1 /* metaspu.cpp */; };
AB2F3BF015CF9C6000858373 /* MMU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBE1345AC8400AF11D1 /* MMU.cpp */; };
AB2F3BF115CF9C6000858373 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */; };
AB2F3BF215CF9C6000858373 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBF1345AC8400AF11D1 /* movie.cpp */; };
AB2F3BF315CF9C6000858373 /* NDSSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC01345AC8400AF11D1 /* NDSSystem.cpp */; };
AB2F3BF415CF9C6000858373 /* partition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF481345ACBF00AF11D1 /* partition.cpp */; };
AB2F3BF515CF9C6000858373 /* path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC21345AC8400AF11D1 /* path.cpp */; };
AB2F3BF615CF9C6000858373 /* rasterize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC31345AC8400AF11D1 /* rasterize.cpp */; };
AB2F3BF715CF9C6000858373 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */; };
AB2F3BF815CF9C6000858373 /* readwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC41345AC8400AF11D1 /* readwrite.cpp */; };
AB2F3BF915CF9C6000858373 /* render3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC51345AC8400AF11D1 /* render3D.cpp */; };
AB2F3BFA15CF9C6000858373 /* ROMReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC61345AC8400AF11D1 /* ROMReader.cpp */; };
@ -194,11 +232,8 @@
AB2F3C0915CF9C6000858373 /* slot2_rumblepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF0A1345AC9C00AF11D1 /* slot2_rumblepak.cpp */; };
AB2F3C0A15CF9C6000858373 /* sndOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD104141346652500AF11D1 /* sndOSX.cpp */; };
AB2F3C0B15CF9C6000858373 /* SndOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF7A1345ACFA00AF11D1 /* SndOut.cpp */; };
AB2F3C0C15CF9C6000858373 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */; };
AB2F3C0D15CF9C6000858373 /* SPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECB1345AC8400AF11D1 /* SPU.cpp */; };
AB2F3C0E15CF9C6000858373 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
AB2F3C0F15CF9C6000858373 /* task.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4C1345ACBF00AF11D1 /* task.cpp */; };
AB2F3C1015CF9C6000858373 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
AB2F3C1115CF9C6000858373 /* texcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECC1345AC8400AF11D1 /* texcache.cpp */; };
AB2F3C1215CF9C6000858373 /* thumb_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECD1345AC8400AF11D1 /* thumb_instructions.cpp */; };
AB2F3C1315CF9C6000858373 /* Timestretcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF9B1345ACFA00AF11D1 /* Timestretcher.cpp */; };
@ -209,7 +244,6 @@
AB2F3C1815CF9C6000858373 /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECE1345AC8400AF11D1 /* version.cpp */; };
AB2F3C1915CF9C6000858373 /* vfat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4F1345ACBF00AF11D1 /* vfat.cpp */; };
AB2F3C1A15CF9C6000858373 /* videofilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */; };
AB2F3C1B15CF9C6000858373 /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
AB2F3C1C15CF9C6000858373 /* wifi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECF1345AC8400AF11D1 /* wifi.cpp */; };
AB2F3C1D15CF9C6000858373 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF511345ACBF00AF11D1 /* xstring.cpp */; };
AB2F3C1E15CF9C6000858373 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = ABD104271346653B00AF11D1 /* main.m */; };
@ -258,6 +292,14 @@
AB3ACC4614C24D5400D7D192 /* COPYING in Resources */ = {isa = PBXBuildFile; fileRef = AB3ACC3A14C24D5400D7D192 /* COPYING */; };
AB3ACC4714C24D5400D7D192 /* README in Resources */ = {isa = PBXBuildFile; fileRef = AB3ACC3B14C24D5400D7D192 /* README */; };
AB3ACC4914C24D5400D7D192 /* README.MAC in Resources */ = {isa = PBXBuildFile; fileRef = AB3ACC3D14C24D5400D7D192 /* README.MAC */; };
AB6A187C16C9951C00384EED /* EmuControllerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */; };
AB6A187D16C9951C00384EED /* EmuControllerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */; };
AB6A187E16C9951C00384EED /* EmuControllerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */; };
AB6A187F16C9951C00384EED /* EmuControllerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */; };
AB6A198316CAD66900384EED /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A198216CAD66900384EED /* cocoa_GPU.mm */; };
AB6A198416CAD66900384EED /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A198216CAD66900384EED /* cocoa_GPU.mm */; };
AB6A198516CAD66900384EED /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A198216CAD66900384EED /* cocoa_GPU.mm */; };
AB6A198616CAD66900384EED /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB6A198216CAD66900384EED /* cocoa_GPU.mm */; };
AB711ED21481C35F009011C8 /* KeyNames.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB02475B13886BF300E9F9AB /* KeyNames.plist */; };
AB711ED31481C35F009011C8 /* DefaultKeyMappings.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */; };
AB711ED81481C35F009011C8 /* DefaultUserPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABBC0F8C1394B1AA0028B6BD /* DefaultUserPrefs.plist */; };
@ -351,15 +393,6 @@
AB711F501481C35F009011C8 /* slot1_retail_nand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB6FBEF5139B6258007BB045 /* slot1_retail_nand.cpp */; };
AB711F511481C35F009011C8 /* SndOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF7A1345ACFA00AF11D1 /* SndOut.cpp */; };
AB711F521481C35F009011C8 /* Timestretcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF9B1345ACFA00AF11D1 /* Timestretcher.cpp */; };
AB711F531481C35F009011C8 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */; };
AB711F541481C35F009011C8 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */; };
AB711F551481C35F009011C8 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */; };
AB711F561481C35F009011C8 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */; };
AB711F571481C35F009011C8 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */; };
AB711F581481C35F009011C8 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */; };
AB711F591481C35F009011C8 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
AB711F5A1481C35F009011C8 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
AB711F5B1481C35F009011C8 /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
AB711F5C1481C35F009011C8 /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1F1345ACBF00AF11D1 /* datetime.cpp */; };
AB711F5D1481C35F009011C8 /* fs-linux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB21345AC8400AF11D1 /* fs-linux.cpp */; };
AB711F5E1481C35F009011C8 /* cocoa_mic.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABD9A46413DB99B300777194 /* cocoa_mic.mm */; };
@ -373,7 +406,6 @@
AB711F6D1481C35F009011C8 /* videofilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */; };
AB711F6E1481C35F009011C8 /* cocoa_videofilter.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABE5DFE4143FB1DA00835AD8 /* cocoa_videofilter.mm */; };
AB711F701481C35F009011C8 /* cocoa_cheat.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABA6574A14511EC90077E5E9 /* cocoa_cheat.mm */; };
AB711F711481C35F009011C8 /* cpu_detect_x86_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */; };
AB711F721481C35F009011C8 /* cocoa_hid.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB350B691478A5B3007165AC /* cocoa_hid.mm */; };
AB711F741481C35F009011C8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
AB711F751481C35F009011C8 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D0134431CE00E7B0B1 /* AudioUnit.framework */; };
@ -453,7 +485,6 @@
AB73A9B01507C9F500A310C8 /* README.MAC in Resources */ = {isa = PBXBuildFile; fileRef = AB3ACC3D14C24D5400D7D192 /* README.MAC */; };
AB73A9B11507C9F500A310C8 /* AppIcon_FirmwareConfig.icns in Resources */ = {isa = PBXBuildFile; fileRef = AB75226D14C7BB51009B97B3 /* AppIcon_FirmwareConfig.icns */; };
AB73A9B31507C9F500A310C8 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1D1345ACBF00AF11D1 /* ConvertUTF.c */; };
AB73A9B41507C9F500A310C8 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */; };
AB73A9B51507C9F500A310C8 /* addons.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA11345AC8400AF11D1 /* addons.cpp */; };
AB73A9B61507C9F500A310C8 /* arm_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA31345AC8400AF11D1 /* arm_instructions.cpp */; };
AB73A9B71507C9F500A310C8 /* armcpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA41345AC8400AF11D1 /* armcpu.cpp */; };
@ -462,7 +493,6 @@
AB73A9BA1507C9F500A310C8 /* cheatSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA61345AC8400AF11D1 /* cheatSystem.cpp */; };
AB73A9BB1507C9F500A310C8 /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA81345AC8400AF11D1 /* common.cpp */; };
AB73A9BC1507C9F500A310C8 /* cp15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA91345AC8400AF11D1 /* cp15.cpp */; };
AB73A9BD1507C9F500A310C8 /* cpu_detect_x86_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */; };
AB73A9BE1507C9F500A310C8 /* crc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF221345ACBF00AF11D1 /* crc.cpp */; };
AB73A9BF1507C9F500A310C8 /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1F1345ACBF00AF11D1 /* datetime.cpp */; };
AB73A9C01507C9F500A310C8 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAB1345AC8400AF11D1 /* debug.cpp */; };
@ -477,10 +507,8 @@
AB73A9C91507C9F500A310C8 /* fatdir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF391345ACBF00AF11D1 /* fatdir.cpp */; };
AB73A9CA1507C9F500A310C8 /* fatfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3B1345ACBF00AF11D1 /* fatfile.cpp */; };
AB73A9CB1507C9F500A310C8 /* FIFO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB01345AC8400AF11D1 /* FIFO.cpp */; };
AB73A9CC1507C9F500A310C8 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */; };
AB73A9CD1507C9F500A310C8 /* file_allocation_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3D1345ACBF00AF11D1 /* file_allocation_table.cpp */; };
AB73A9CE1507C9F500A310C8 /* filetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3F1345ACBF00AF11D1 /* filetime.cpp */; };
AB73A9CF1507C9F500A310C8 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */; };
AB73A9D01507C9F500A310C8 /* firmware.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB11345AC8400AF11D1 /* firmware.cpp */; };
AB73A9D11507C9F500A310C8 /* fs-linux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB21345AC8400AF11D1 /* fs-linux.cpp */; };
AB73A9D21507C9F500A310C8 /* gfx3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB41345AC8400AF11D1 /* gfx3d.cpp */; };
@ -496,13 +524,11 @@
AB73A9DC1507C9F500A310C8 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4A1345ACBF00AF11D1 /* md5.cpp */; };
AB73A9DD1507C9F500A310C8 /* metaspu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF771345ACFA00AF11D1 /* metaspu.cpp */; };
AB73A9DE1507C9F500A310C8 /* MMU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBE1345AC8400AF11D1 /* MMU.cpp */; };
AB73A9DF1507C9F500A310C8 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */; };
AB73A9E01507C9F500A310C8 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBF1345AC8400AF11D1 /* movie.cpp */; };
AB73A9E11507C9F500A310C8 /* NDSSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC01345AC8400AF11D1 /* NDSSystem.cpp */; };
AB73A9E21507C9F500A310C8 /* partition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF481345ACBF00AF11D1 /* partition.cpp */; };
AB73A9E31507C9F500A310C8 /* path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC21345AC8400AF11D1 /* path.cpp */; };
AB73A9E41507C9F500A310C8 /* rasterize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC31345AC8400AF11D1 /* rasterize.cpp */; };
AB73A9E51507C9F500A310C8 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */; };
AB73A9E61507C9F500A310C8 /* readwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC41345AC8400AF11D1 /* readwrite.cpp */; };
AB73A9E71507C9F500A310C8 /* render3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC51345AC8400AF11D1 /* render3D.cpp */; };
AB73A9E81507C9F500A310C8 /* ROMReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC61345AC8400AF11D1 /* ROMReader.cpp */; };
@ -523,11 +549,8 @@
AB73A9F71507C9F500A310C8 /* slot2_rumblepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF0A1345AC9C00AF11D1 /* slot2_rumblepak.cpp */; };
AB73A9F81507C9F500A310C8 /* sndOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD104141346652500AF11D1 /* sndOSX.cpp */; };
AB73A9F91507C9F500A310C8 /* SndOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF7A1345ACFA00AF11D1 /* SndOut.cpp */; };
AB73A9FA1507C9F500A310C8 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */; };
AB73A9FB1507C9F500A310C8 /* SPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECB1345AC8400AF11D1 /* SPU.cpp */; };
AB73A9FC1507C9F500A310C8 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
AB73A9FD1507C9F500A310C8 /* task.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4C1345ACBF00AF11D1 /* task.cpp */; };
AB73A9FE1507C9F500A310C8 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
AB73A9FF1507C9F500A310C8 /* texcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECC1345AC8400AF11D1 /* texcache.cpp */; };
AB73AA001507C9F500A310C8 /* thumb_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECD1345AC8400AF11D1 /* thumb_instructions.cpp */; };
AB73AA011507C9F500A310C8 /* Timestretcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF9B1345ACFA00AF11D1 /* Timestretcher.cpp */; };
@ -538,7 +561,6 @@
AB73AA061507C9F500A310C8 /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECE1345AC8400AF11D1 /* version.cpp */; };
AB73AA071507C9F500A310C8 /* vfat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4F1345ACBF00AF11D1 /* vfat.cpp */; };
AB73AA081507C9F500A310C8 /* videofilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */; };
AB73AA091507C9F500A310C8 /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
AB73AA0A1507C9F500A310C8 /* wifi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECF1345AC8400AF11D1 /* wifi.cpp */; };
AB73AA0B1507C9F500A310C8 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF511345ACBF00AF11D1 /* xstring.cpp */; };
AB73AA0C1507C9F500A310C8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = ABD104271346653B00AF11D1 /* main.m */; };
@ -657,7 +679,6 @@
ABAD0FB815ACE7A00000EC47 /* README.MAC in Resources */ = {isa = PBXBuildFile; fileRef = AB3ACC3D14C24D5400D7D192 /* README.MAC */; };
ABAD0FB915ACE7A00000EC47 /* AppIcon_FirmwareConfig.icns in Resources */ = {isa = PBXBuildFile; fileRef = AB75226D14C7BB51009B97B3 /* AppIcon_FirmwareConfig.icns */; };
ABAD0FBB15ACE7A00000EC47 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1D1345ACBF00AF11D1 /* ConvertUTF.c */; };
ABAD0FBC15ACE7A00000EC47 /* AAFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */; };
ABAD0FBD15ACE7A00000EC47 /* addons.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA11345AC8400AF11D1 /* addons.cpp */; };
ABAD0FBE15ACE7A00000EC47 /* arm_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA31345AC8400AF11D1 /* arm_instructions.cpp */; };
ABAD0FBF15ACE7A00000EC47 /* armcpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA41345AC8400AF11D1 /* armcpu.cpp */; };
@ -666,7 +687,6 @@
ABAD0FC215ACE7A00000EC47 /* cheatSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA61345AC8400AF11D1 /* cheatSystem.cpp */; };
ABAD0FC315ACE7A00000EC47 /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA81345AC8400AF11D1 /* common.cpp */; };
ABAD0FC415ACE7A00000EC47 /* cp15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEA91345AC8400AF11D1 /* cp15.cpp */; };
ABAD0FC515ACE7A00000EC47 /* cpu_detect_x86_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */; };
ABAD0FC615ACE7A00000EC47 /* crc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF221345ACBF00AF11D1 /* crc.cpp */; };
ABAD0FC715ACE7A00000EC47 /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF1F1345ACBF00AF11D1 /* datetime.cpp */; };
ABAD0FC815ACE7A00000EC47 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEAB1345AC8400AF11D1 /* debug.cpp */; };
@ -681,10 +701,8 @@
ABAD0FD115ACE7A00000EC47 /* fatdir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF391345ACBF00AF11D1 /* fatdir.cpp */; };
ABAD0FD215ACE7A00000EC47 /* fatfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3B1345ACBF00AF11D1 /* fatfile.cpp */; };
ABAD0FD315ACE7A00000EC47 /* FIFO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB01345AC8400AF11D1 /* FIFO.cpp */; };
ABAD0FD415ACE7A00000EC47 /* FIFOSampleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */; };
ABAD0FD515ACE7A00000EC47 /* file_allocation_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3D1345ACBF00AF11D1 /* file_allocation_table.cpp */; };
ABAD0FD615ACE7A00000EC47 /* filetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF3F1345ACBF00AF11D1 /* filetime.cpp */; };
ABAD0FD715ACE7A00000EC47 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */; };
ABAD0FD815ACE7A00000EC47 /* firmware.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB11345AC8400AF11D1 /* firmware.cpp */; };
ABAD0FD915ACE7A00000EC47 /* fs-linux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB21345AC8400AF11D1 /* fs-linux.cpp */; };
ABAD0FDA15ACE7A00000EC47 /* gfx3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEB41345AC8400AF11D1 /* gfx3d.cpp */; };
@ -700,13 +718,11 @@
ABAD0FE415ACE7A00000EC47 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4A1345ACBF00AF11D1 /* md5.cpp */; };
ABAD0FE515ACE7A00000EC47 /* metaspu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF771345ACFA00AF11D1 /* metaspu.cpp */; };
ABAD0FE615ACE7A00000EC47 /* MMU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBE1345AC8400AF11D1 /* MMU.cpp */; };
ABAD0FE715ACE7A00000EC47 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */; };
ABAD0FE815ACE7A00000EC47 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEBF1345AC8400AF11D1 /* movie.cpp */; };
ABAD0FE915ACE7A00000EC47 /* NDSSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC01345AC8400AF11D1 /* NDSSystem.cpp */; };
ABAD0FEA15ACE7A00000EC47 /* partition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF481345ACBF00AF11D1 /* partition.cpp */; };
ABAD0FEB15ACE7A00000EC47 /* path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC21345AC8400AF11D1 /* path.cpp */; };
ABAD0FEC15ACE7A00000EC47 /* rasterize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC31345AC8400AF11D1 /* rasterize.cpp */; };
ABAD0FED15ACE7A00000EC47 /* RateTransposer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */; };
ABAD0FEE15ACE7A00000EC47 /* readwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC41345AC8400AF11D1 /* readwrite.cpp */; };
ABAD0FEF15ACE7A00000EC47 /* render3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC51345AC8400AF11D1 /* render3D.cpp */; };
ABAD0FF015ACE7A00000EC47 /* ROMReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FEC61345AC8400AF11D1 /* ROMReader.cpp */; };
@ -727,11 +743,8 @@
ABAD0FFF15ACE7A00000EC47 /* slot2_rumblepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF0A1345AC9C00AF11D1 /* slot2_rumblepak.cpp */; };
ABAD100015ACE7A00000EC47 /* sndOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD104141346652500AF11D1 /* sndOSX.cpp */; };
ABAD100115ACE7A00000EC47 /* SndOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF7A1345ACFA00AF11D1 /* SndOut.cpp */; };
ABAD100215ACE7A00000EC47 /* SoundTouch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */; };
ABAD100315ACE7A00000EC47 /* SPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECB1345AC8400AF11D1 /* SPU.cpp */; };
ABAD100415ACE7A00000EC47 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
ABAD100515ACE7A00000EC47 /* task.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4C1345ACBF00AF11D1 /* task.cpp */; };
ABAD100615ACE7A00000EC47 /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
ABAD100715ACE7A00000EC47 /* texcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECC1345AC8400AF11D1 /* texcache.cpp */; };
ABAD100815ACE7A00000EC47 /* thumb_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECD1345AC8400AF11D1 /* thumb_instructions.cpp */; };
ABAD100915ACE7A00000EC47 /* Timestretcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF9B1345ACFA00AF11D1 /* Timestretcher.cpp */; };
@ -742,7 +755,6 @@
ABAD100E15ACE7A00000EC47 /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECE1345AC8400AF11D1 /* version.cpp */; };
ABAD100F15ACE7A00000EC47 /* vfat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4F1345ACBF00AF11D1 /* vfat.cpp */; };
ABAD101015ACE7A00000EC47 /* videofilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */; };
ABAD101115ACE7A00000EC47 /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
ABAD101215ACE7A00000EC47 /* wifi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FECF1345AC8400AF11D1 /* wifi.cpp */; };
ABAD101315ACE7A00000EC47 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF511345ACBF00AF11D1 /* xstring.cpp */; };
ABAD101415ACE7A00000EC47 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = ABD104271346653B00AF11D1 /* main.m */; };
@ -913,6 +925,29 @@
AB0F29A314BE7213009ABC6F /* Icon_RotateCW_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_RotateCW_420x420.png; path = images/Icon_RotateCW_420x420.png; sourceTree = "<group>"; };
AB0F29A414BE7213009ABC6F /* Icon_ShowHUD_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_ShowHUD_420x420.png; path = images/Icon_ShowHUD_420x420.png; sourceTree = "<group>"; };
AB0F29A514BE7213009ABC6F /* Icon_Speaker_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_Speaker_420x420.png; path = images/Icon_Speaker_420x420.png; sourceTree = "<group>"; };
AB279D4216A4E6DE00ECC692 /* AAFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAFilter.h; sourceTree = "<group>"; };
AB279D4316A4E6DE00ECC692 /* BPMDetect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BPMDetect.h; sourceTree = "<group>"; };
AB279D4416A4E6DE00ECC692 /* cpu_detect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_detect.h; sourceTree = "<group>"; };
AB279D4516A4E6DE00ECC692 /* FIFOSampleBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIFOSampleBuffer.h; sourceTree = "<group>"; };
AB279D4616A4E6DE00ECC692 /* FIFOSamplePipe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIFOSamplePipe.h; sourceTree = "<group>"; };
AB279D4716A4E6DE00ECC692 /* FIRFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIRFilter.h; sourceTree = "<group>"; };
AB279D4816A4E6DE00ECC692 /* PeakFinder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PeakFinder.h; sourceTree = "<group>"; };
AB279D4916A4E6DE00ECC692 /* RateTransposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RateTransposer.h; sourceTree = "<group>"; };
AB279D4A16A4E6DE00ECC692 /* soundtouch_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = soundtouch_config.h; sourceTree = "<group>"; };
AB279D4B16A4E6DE00ECC692 /* SoundTouch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundTouch.h; sourceTree = "<group>"; };
AB279D4C16A4E6DE00ECC692 /* STTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STTypes.h; sourceTree = "<group>"; };
AB279D4D16A4E6DE00ECC692 /* TDStretch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TDStretch.h; sourceTree = "<group>"; };
AB279D4E16A4E6DE00ECC692 /* AAFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AAFilter.cpp; sourceTree = "<group>"; };
AB279D4F16A4E6DE00ECC692 /* BPMDetect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BPMDetect.cpp; sourceTree = "<group>"; };
AB279D5016A4E6DE00ECC692 /* cpu_detect_x86.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu_detect_x86.cpp; sourceTree = "<group>"; };
AB279D5116A4E6DE00ECC692 /* FIFOSampleBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FIFOSampleBuffer.cpp; sourceTree = "<group>"; };
AB279D5216A4E6DE00ECC692 /* FIRFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FIRFilter.cpp; sourceTree = "<group>"; };
AB279D5316A4E6DE00ECC692 /* mmx_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mmx_optimized.cpp; sourceTree = "<group>"; };
AB279D5416A4E6DE00ECC692 /* PeakFinder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PeakFinder.cpp; sourceTree = "<group>"; };
AB279D5516A4E6DE00ECC692 /* RateTransposer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RateTransposer.cpp; sourceTree = "<group>"; };
AB279D5616A4E6DE00ECC692 /* SoundTouch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundTouch.cpp; sourceTree = "<group>"; };
AB279D5716A4E6DE00ECC692 /* sse_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sse_optimized.cpp; sourceTree = "<group>"; };
AB279D5816A4E6DE00ECC692 /* TDStretch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TDStretch.cpp; sourceTree = "<group>"; };
AB2F3C4515CF9C6000858373 /* DeSmuME (PPC).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (PPC).app"; sourceTree = BUILT_PRODUCTS_DIR; };
AB350B681478A5B3007165AC /* cocoa_hid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_hid.h; sourceTree = "<group>"; };
AB350B691478A5B3007165AC /* cocoa_hid.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_hid.mm; sourceTree = "<group>"; };
@ -940,6 +975,10 @@
AB58F32B1364F44B0074C376 /* cocoa_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_file.h; sourceTree = "<group>"; };
AB58F32C1364F44B0074C376 /* cocoa_file.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_file.mm; sourceTree = "<group>"; };
AB64987B13ECC73800EE7DD2 /* FileTypeInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = FileTypeInfo.plist; sourceTree = "<group>"; };
AB6A187A16C9951C00384EED /* EmuControllerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmuControllerDelegate.h; sourceTree = "<group>"; };
AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EmuControllerDelegate.mm; sourceTree = "<group>"; };
AB6A198116CAD66900384EED /* cocoa_GPU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_GPU.h; sourceTree = "<group>"; };
AB6A198216CAD66900384EED /* cocoa_GPU.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_GPU.mm; sourceTree = "<group>"; };
AB6FBEF5139B6258007BB045 /* slot1_retail_nand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = slot1_retail_nand.cpp; sourceTree = "<group>"; };
AB711F7F1481C35F009011C8 /* DeSmuME.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DeSmuME.app; sourceTree = BUILT_PRODUCTS_DIR; };
AB73AA331507C9F500A310C8 /* DeSmuME.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DeSmuME.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -961,27 +1000,6 @@
ABA6574914511EC90077E5E9 /* cocoa_cheat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_cheat.h; sourceTree = "<group>"; };
ABA6574A14511EC90077E5E9 /* cocoa_cheat.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_cheat.mm; sourceTree = "<group>"; };
ABAD104915ACE7A00000EC47 /* DeSmuME (PPC).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (PPC).app"; sourceTree = BUILT_PRODUCTS_DIR; };
ABAD3E5913AF1D6D00502E1E /* AAFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAFilter.h; sourceTree = "<group>"; };
ABAD3E5A13AF1D6D00502E1E /* BPMDetect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BPMDetect.h; sourceTree = "<group>"; };
ABAD3E5B13AF1D6D00502E1E /* cpu_detect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_detect.h; sourceTree = "<group>"; };
ABAD3E5C13AF1D6D00502E1E /* FIFOSampleBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIFOSampleBuffer.h; sourceTree = "<group>"; };
ABAD3E5D13AF1D6D00502E1E /* FIFOSamplePipe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIFOSamplePipe.h; sourceTree = "<group>"; };
ABAD3E5E13AF1D6D00502E1E /* FIRFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIRFilter.h; sourceTree = "<group>"; };
ABAD3E5F13AF1D6D00502E1E /* RateTransposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RateTransposer.h; sourceTree = "<group>"; };
ABAD3E6013AF1D6D00502E1E /* SoundTouch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundTouch.h; sourceTree = "<group>"; };
ABAD3E6113AF1D6D00502E1E /* STTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STTypes.h; sourceTree = "<group>"; };
ABAD3E6213AF1D6D00502E1E /* TDStretch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TDStretch.h; sourceTree = "<group>"; };
ABAD3E6313AF1D6D00502E1E /* WavFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WavFile.h; sourceTree = "<group>"; };
ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AAFilter.cpp; sourceTree = "<group>"; };
ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu_detect_x86_gcc.cpp; sourceTree = "<group>"; };
ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FIFOSampleBuffer.cpp; sourceTree = "<group>"; };
ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FIRFilter.cpp; sourceTree = "<group>"; };
ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mmx_optimized.cpp; sourceTree = "<group>"; };
ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RateTransposer.cpp; sourceTree = "<group>"; };
ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundTouch.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>"; };
ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavFile.cpp; 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>"; };
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_DeSmuME_32x32.png; path = Images/Icon_DeSmuME_32x32.png; sourceTree = "<group>"; };
@ -1353,6 +1371,7 @@
AB58F32B1364F44B0074C376 /* cocoa_file.h */,
ABE7F53C13EE1C7900FD3A71 /* cocoa_firmware.h */,
AB9971CE134EDA0800531BA7 /* cocoa_globals.h */,
AB6A198116CAD66900384EED /* cocoa_GPU.h */,
AB350B681478A5B3007165AC /* cocoa_hid.h */,
ABD103FF1346652500AF11D1 /* cocoa_input.h */,
ABD9A46313DB99B300777194 /* cocoa_mic.h */,
@ -1367,6 +1386,7 @@
ABD104121346652500AF11D1 /* cocoa_core.mm */,
AB58F32C1364F44B0074C376 /* cocoa_file.mm */,
ABE7F53D13EE1C7900FD3A71 /* cocoa_firmware.mm */,
AB6A198216CAD66900384EED /* cocoa_GPU.mm */,
AB350B691478A5B3007165AC /* cocoa_hid.mm */,
ABD104111346652500AF11D1 /* cocoa_input.mm */,
ABD9A46413DB99B300777194 /* cocoa_mic.mm */,
@ -1471,6 +1491,7 @@
AB3ACB6614C2361100D7D192 /* appDelegate.h */,
AB3ACB6814C2361100D7D192 /* cheatWindowDelegate.h */,
AB3ACB6A14C2361100D7D192 /* displayView.h */,
AB6A187A16C9951C00384EED /* EmuControllerDelegate.h */,
AB3ACB6C14C2361100D7D192 /* emuWindowDelegate.h */,
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
@ -1478,6 +1499,7 @@
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
AB3ACB6914C2361100D7D192 /* cheatWindowDelegate.mm */,
AB3ACB6B14C2361100D7D192 /* displayView.mm */,
AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */,
AB3ACB6D14C2361100D7D192 /* emuWindowDelegate.mm */,
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
@ -1810,27 +1832,29 @@
ABD1FF7C1345ACFA00AF11D1 /* SoundTouch */ = {
isa = PBXGroup;
children = (
ABAD3E5913AF1D6D00502E1E /* AAFilter.h */,
ABAD3E5A13AF1D6D00502E1E /* BPMDetect.h */,
ABAD3E5B13AF1D6D00502E1E /* cpu_detect.h */,
ABAD3E5C13AF1D6D00502E1E /* FIFOSampleBuffer.h */,
ABAD3E5D13AF1D6D00502E1E /* FIFOSamplePipe.h */,
ABAD3E5E13AF1D6D00502E1E /* FIRFilter.h */,
ABAD3E5F13AF1D6D00502E1E /* RateTransposer.h */,
ABAD3E6013AF1D6D00502E1E /* SoundTouch.h */,
ABAD3E6113AF1D6D00502E1E /* STTypes.h */,
ABAD3E6213AF1D6D00502E1E /* TDStretch.h */,
ABAD3E6313AF1D6D00502E1E /* WavFile.h */,
ABAD3E6513AF1D6D00502E1E /* AAFilter.cpp */,
ABAD3E6613AF1D6D00502E1E /* cpu_detect_x86_gcc.cpp */,
ABAD3E6813AF1D6D00502E1E /* FIFOSampleBuffer.cpp */,
ABAD3E6913AF1D6D00502E1E /* FIRFilter.cpp */,
ABAD3E6A13AF1D6D00502E1E /* mmx_optimized.cpp */,
ABAD3E6B13AF1D6D00502E1E /* RateTransposer.cpp */,
ABAD3E6C13AF1D6D00502E1E /* SoundTouch.cpp */,
ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */,
ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */,
ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */,
AB279D4E16A4E6DE00ECC692 /* AAFilter.cpp */,
AB279D4F16A4E6DE00ECC692 /* BPMDetect.cpp */,
AB279D5016A4E6DE00ECC692 /* cpu_detect_x86.cpp */,
AB279D5116A4E6DE00ECC692 /* FIFOSampleBuffer.cpp */,
AB279D5216A4E6DE00ECC692 /* FIRFilter.cpp */,
AB279D5316A4E6DE00ECC692 /* mmx_optimized.cpp */,
AB279D5416A4E6DE00ECC692 /* PeakFinder.cpp */,
AB279D5516A4E6DE00ECC692 /* RateTransposer.cpp */,
AB279D5616A4E6DE00ECC692 /* SoundTouch.cpp */,
AB279D5716A4E6DE00ECC692 /* sse_optimized.cpp */,
AB279D5816A4E6DE00ECC692 /* TDStretch.cpp */,
AB279D4216A4E6DE00ECC692 /* AAFilter.h */,
AB279D4316A4E6DE00ECC692 /* BPMDetect.h */,
AB279D4416A4E6DE00ECC692 /* cpu_detect.h */,
AB279D4516A4E6DE00ECC692 /* FIFOSampleBuffer.h */,
AB279D4616A4E6DE00ECC692 /* FIFOSamplePipe.h */,
AB279D4716A4E6DE00ECC692 /* FIRFilter.h */,
AB279D4816A4E6DE00ECC692 /* PeakFinder.h */,
AB279D4916A4E6DE00ECC692 /* RateTransposer.h */,
AB279D4B16A4E6DE00ECC692 /* SoundTouch.h */,
AB279D4A16A4E6DE00ECC692 /* soundtouch_config.h */,
AB279D4C16A4E6DE00ECC692 /* STTypes.h */,
AB279D4D16A4E6DE00ECC692 /* TDStretch.h */,
);
path = SoundTouch;
sourceTree = "<group>";
@ -2505,7 +2529,6 @@
buildActionMask = 2147483647;
files = (
AB2F3BC515CF9C6000858373 /* ConvertUTF.c in Sources */,
AB2F3BC615CF9C6000858373 /* AAFilter.cpp in Sources */,
AB2F3BC715CF9C6000858373 /* addons.cpp in Sources */,
AB2F3BC815CF9C6000858373 /* arm_instructions.cpp in Sources */,
AB2F3BC915CF9C6000858373 /* armcpu.cpp in Sources */,
@ -2514,7 +2537,6 @@
AB2F3BCC15CF9C6000858373 /* cheatSystem.cpp in Sources */,
AB2F3BCD15CF9C6000858373 /* common.cpp in Sources */,
AB2F3BCE15CF9C6000858373 /* cp15.cpp in Sources */,
AB2F3BCF15CF9C6000858373 /* cpu_detect_x86_gcc.cpp in Sources */,
AB2F3BD015CF9C6000858373 /* crc.cpp in Sources */,
AB2F3BD115CF9C6000858373 /* datetime.cpp in Sources */,
AB2F3BD215CF9C6000858373 /* debug.cpp in Sources */,
@ -2529,10 +2551,8 @@
AB2F3BDB15CF9C6000858373 /* fatdir.cpp in Sources */,
AB2F3BDC15CF9C6000858373 /* fatfile.cpp in Sources */,
AB2F3BDD15CF9C6000858373 /* FIFO.cpp in Sources */,
AB2F3BDE15CF9C6000858373 /* FIFOSampleBuffer.cpp in Sources */,
AB2F3BDF15CF9C6000858373 /* file_allocation_table.cpp in Sources */,
AB2F3BE015CF9C6000858373 /* filetime.cpp in Sources */,
AB2F3BE115CF9C6000858373 /* FIRFilter.cpp in Sources */,
AB2F3BE215CF9C6000858373 /* firmware.cpp in Sources */,
AB2F3BE315CF9C6000858373 /* fs-linux.cpp in Sources */,
AB2F3BE415CF9C6000858373 /* gfx3d.cpp in Sources */,
@ -2548,13 +2568,11 @@
AB2F3BEE15CF9C6000858373 /* md5.cpp in Sources */,
AB2F3BEF15CF9C6000858373 /* metaspu.cpp in Sources */,
AB2F3BF015CF9C6000858373 /* MMU.cpp in Sources */,
AB2F3BF115CF9C6000858373 /* mmx_optimized.cpp in Sources */,
AB2F3BF215CF9C6000858373 /* movie.cpp in Sources */,
AB2F3BF315CF9C6000858373 /* NDSSystem.cpp in Sources */,
AB2F3BF415CF9C6000858373 /* partition.cpp in Sources */,
AB2F3BF515CF9C6000858373 /* path.cpp in Sources */,
AB2F3BF615CF9C6000858373 /* rasterize.cpp in Sources */,
AB2F3BF715CF9C6000858373 /* RateTransposer.cpp in Sources */,
AB2F3BF815CF9C6000858373 /* readwrite.cpp in Sources */,
AB2F3BF915CF9C6000858373 /* render3D.cpp in Sources */,
AB2F3BFA15CF9C6000858373 /* ROMReader.cpp in Sources */,
@ -2575,11 +2593,8 @@
AB2F3C0915CF9C6000858373 /* slot2_rumblepak.cpp in Sources */,
AB2F3C0A15CF9C6000858373 /* sndOSX.cpp in Sources */,
AB2F3C0B15CF9C6000858373 /* SndOut.cpp in Sources */,
AB2F3C0C15CF9C6000858373 /* SoundTouch.cpp in Sources */,
AB2F3C0D15CF9C6000858373 /* SPU.cpp in Sources */,
AB2F3C0E15CF9C6000858373 /* sse_optimized.cpp in Sources */,
AB2F3C0F15CF9C6000858373 /* task.cpp in Sources */,
AB2F3C1015CF9C6000858373 /* TDStretch.cpp in Sources */,
AB2F3C1115CF9C6000858373 /* texcache.cpp in Sources */,
AB2F3C1215CF9C6000858373 /* thumb_instructions.cpp in Sources */,
AB2F3C1315CF9C6000858373 /* Timestretcher.cpp in Sources */,
@ -2590,7 +2605,6 @@
AB2F3C1815CF9C6000858373 /* version.cpp in Sources */,
AB2F3C1915CF9C6000858373 /* vfat.cpp in Sources */,
AB2F3C1A15CF9C6000858373 /* videofilter.cpp in Sources */,
AB2F3C1B15CF9C6000858373 /* WavFile.cpp in Sources */,
AB2F3C1C15CF9C6000858373 /* wifi.cpp in Sources */,
AB2F3C1D15CF9C6000858373 /* xstring.cpp in Sources */,
AB2F3C1E15CF9C6000858373 /* main.m in Sources */,
@ -2622,6 +2636,19 @@
AB2F3C3815CF9C6000858373 /* coreaudiosound.cpp in Sources */,
AB2F3C3915CF9C6000858373 /* ringbuffer.cpp in Sources */,
ABA03571169127C000817C69 /* troubleshootingWindowDelegate.mm in Sources */,
AB279D6416A4E6DE00ECC692 /* AAFilter.cpp in Sources */,
AB279D6516A4E6DE00ECC692 /* BPMDetect.cpp in Sources */,
AB279D6616A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */,
AB279D6716A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */,
AB279D6816A4E6DE00ECC692 /* FIRFilter.cpp in Sources */,
AB279D6916A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */,
AB279D6A16A4E6DE00ECC692 /* PeakFinder.cpp in Sources */,
AB279D6B16A4E6DE00ECC692 /* RateTransposer.cpp in Sources */,
AB279D6C16A4E6DE00ECC692 /* SoundTouch.cpp in Sources */,
AB279D6D16A4E6DE00ECC692 /* sse_optimized.cpp in Sources */,
AB279D6E16A4E6DE00ECC692 /* TDStretch.cpp in Sources */,
AB6A187C16C9951C00384EED /* EmuControllerDelegate.mm in Sources */,
AB6A198316CAD66900384EED /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -2630,7 +2657,6 @@
buildActionMask = 2147483647;
files = (
AB711F2D1481C35F009011C8 /* ConvertUTF.c in Sources */,
AB711F531481C35F009011C8 /* AAFilter.cpp in Sources */,
AB711F001481C35F009011C8 /* addons.cpp in Sources */,
AB711F011481C35F009011C8 /* arm_instructions.cpp in Sources */,
AB711F021481C35F009011C8 /* armcpu.cpp in Sources */,
@ -2639,7 +2665,6 @@
AB711F041481C35F009011C8 /* cheatSystem.cpp in Sources */,
AB711F051481C35F009011C8 /* common.cpp in Sources */,
AB711F061481C35F009011C8 /* cp15.cpp in Sources */,
AB711F711481C35F009011C8 /* cpu_detect_x86_gcc.cpp in Sources */,
AB711F2E1481C35F009011C8 /* crc.cpp in Sources */,
AB711F5C1481C35F009011C8 /* datetime.cpp in Sources */,
AB711F071481C35F009011C8 /* debug.cpp in Sources */,
@ -2654,10 +2679,8 @@
AB711F371481C35F009011C8 /* fatdir.cpp in Sources */,
AB711F381481C35F009011C8 /* fatfile.cpp in Sources */,
AB711F0B1481C35F009011C8 /* FIFO.cpp in Sources */,
AB711F541481C35F009011C8 /* FIFOSampleBuffer.cpp in Sources */,
AB711F391481C35F009011C8 /* file_allocation_table.cpp in Sources */,
AB711F3A1481C35F009011C8 /* filetime.cpp in Sources */,
AB711F551481C35F009011C8 /* FIRFilter.cpp in Sources */,
AB711F0C1481C35F009011C8 /* firmware.cpp in Sources */,
AB711F5D1481C35F009011C8 /* fs-linux.cpp in Sources */,
AB711F0D1481C35F009011C8 /* gfx3d.cpp in Sources */,
@ -2673,14 +2696,12 @@
AB711F3F1481C35F009011C8 /* md5.cpp in Sources */,
AB711F431481C35F009011C8 /* metaspu.cpp in Sources */,
AB711F121481C35F009011C8 /* MMU.cpp in Sources */,
AB711F561481C35F009011C8 /* mmx_optimized.cpp in Sources */,
AB711F131481C35F009011C8 /* movie.cpp in Sources */,
AB711F141481C35F009011C8 /* NDSSystem.cpp in Sources */,
AB711F5F1481C35F009011C8 /* OGLRender.cpp in Sources */,
AB711F3E1481C35F009011C8 /* partition.cpp in Sources */,
AB711F151481C35F009011C8 /* path.cpp in Sources */,
AB711F161481C35F009011C8 /* rasterize.cpp in Sources */,
AB711F571481C35F009011C8 /* RateTransposer.cpp in Sources */,
AB711F171481C35F009011C8 /* readwrite.cpp in Sources */,
AB711F181481C35F009011C8 /* render3D.cpp in Sources */,
AB711F191481C35F009011C8 /* ROMReader.cpp in Sources */,
@ -2701,11 +2722,8 @@
AB711F2C1481C35F009011C8 /* slot2_rumblepak.cpp in Sources */,
AB711F491481C35F009011C8 /* sndOSX.cpp in Sources */,
AB711F511481C35F009011C8 /* SndOut.cpp in Sources */,
AB711F581481C35F009011C8 /* SoundTouch.cpp in Sources */,
AB711F1D1481C35F009011C8 /* SPU.cpp in Sources */,
AB711F591481C35F009011C8 /* sse_optimized.cpp in Sources */,
AB711F401481C35F009011C8 /* task.cpp in Sources */,
AB711F5A1481C35F009011C8 /* TDStretch.cpp in Sources */,
AB711F1E1481C35F009011C8 /* texcache.cpp in Sources */,
AB711F1F1481C35F009011C8 /* thumb_instructions.cpp in Sources */,
AB711F521481C35F009011C8 /* Timestretcher.cpp in Sources */,
@ -2716,7 +2734,6 @@
AB711F201481C35F009011C8 /* version.cpp in Sources */,
AB711F411481C35F009011C8 /* vfat.cpp in Sources */,
AB711F6D1481C35F009011C8 /* videofilter.cpp in Sources */,
AB711F5B1481C35F009011C8 /* WavFile.cpp in Sources */,
AB711F211481C35F009011C8 /* wifi.cpp in Sources */,
AB711F421481C35F009011C8 /* xstring.cpp in Sources */,
AB711F4A1481C35F009011C8 /* main.m in Sources */,
@ -2777,6 +2794,19 @@
ABF50AD4169F5FDA0018C08D /* x86func.cpp in Sources */,
ABF50AD5169F5FDA0018C08D /* x86operand.cpp in Sources */,
ABF50AD6169F5FDA0018C08D /* x86util.cpp in Sources */,
AB279D6F16A4E6DE00ECC692 /* AAFilter.cpp in Sources */,
AB279D7016A4E6DE00ECC692 /* BPMDetect.cpp in Sources */,
AB279D7116A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */,
AB279D7216A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */,
AB279D7316A4E6DE00ECC692 /* FIRFilter.cpp in Sources */,
AB279D7416A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */,
AB279D7516A4E6DE00ECC692 /* PeakFinder.cpp in Sources */,
AB279D7616A4E6DE00ECC692 /* RateTransposer.cpp in Sources */,
AB279D7716A4E6DE00ECC692 /* SoundTouch.cpp in Sources */,
AB279D7816A4E6DE00ECC692 /* sse_optimized.cpp in Sources */,
AB279D7916A4E6DE00ECC692 /* TDStretch.cpp in Sources */,
AB6A187E16C9951C00384EED /* EmuControllerDelegate.mm in Sources */,
AB6A198516CAD66900384EED /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -2785,7 +2815,6 @@
buildActionMask = 2147483647;
files = (
AB73A9B31507C9F500A310C8 /* ConvertUTF.c in Sources */,
AB73A9B41507C9F500A310C8 /* AAFilter.cpp in Sources */,
AB73A9B51507C9F500A310C8 /* addons.cpp in Sources */,
AB73A9B61507C9F500A310C8 /* arm_instructions.cpp in Sources */,
AB73A9B71507C9F500A310C8 /* armcpu.cpp in Sources */,
@ -2794,7 +2823,6 @@
AB73A9BA1507C9F500A310C8 /* cheatSystem.cpp in Sources */,
AB73A9BB1507C9F500A310C8 /* common.cpp in Sources */,
AB73A9BC1507C9F500A310C8 /* cp15.cpp in Sources */,
AB73A9BD1507C9F500A310C8 /* cpu_detect_x86_gcc.cpp in Sources */,
AB73A9BE1507C9F500A310C8 /* crc.cpp in Sources */,
AB73A9BF1507C9F500A310C8 /* datetime.cpp in Sources */,
AB73A9C01507C9F500A310C8 /* debug.cpp in Sources */,
@ -2809,10 +2837,8 @@
AB73A9C91507C9F500A310C8 /* fatdir.cpp in Sources */,
AB73A9CA1507C9F500A310C8 /* fatfile.cpp in Sources */,
AB73A9CB1507C9F500A310C8 /* FIFO.cpp in Sources */,
AB73A9CC1507C9F500A310C8 /* FIFOSampleBuffer.cpp in Sources */,
AB73A9CD1507C9F500A310C8 /* file_allocation_table.cpp in Sources */,
AB73A9CE1507C9F500A310C8 /* filetime.cpp in Sources */,
AB73A9CF1507C9F500A310C8 /* FIRFilter.cpp in Sources */,
AB73A9D01507C9F500A310C8 /* firmware.cpp in Sources */,
AB73A9D11507C9F500A310C8 /* fs-linux.cpp in Sources */,
AB73A9D21507C9F500A310C8 /* gfx3d.cpp in Sources */,
@ -2828,13 +2854,11 @@
AB73A9DC1507C9F500A310C8 /* md5.cpp in Sources */,
AB73A9DD1507C9F500A310C8 /* metaspu.cpp in Sources */,
AB73A9DE1507C9F500A310C8 /* MMU.cpp in Sources */,
AB73A9DF1507C9F500A310C8 /* mmx_optimized.cpp in Sources */,
AB73A9E01507C9F500A310C8 /* movie.cpp in Sources */,
AB73A9E11507C9F500A310C8 /* NDSSystem.cpp in Sources */,
AB73A9E21507C9F500A310C8 /* partition.cpp in Sources */,
AB73A9E31507C9F500A310C8 /* path.cpp in Sources */,
AB73A9E41507C9F500A310C8 /* rasterize.cpp in Sources */,
AB73A9E51507C9F500A310C8 /* RateTransposer.cpp in Sources */,
AB73A9E61507C9F500A310C8 /* readwrite.cpp in Sources */,
AB73A9E71507C9F500A310C8 /* render3D.cpp in Sources */,
AB73A9E81507C9F500A310C8 /* ROMReader.cpp in Sources */,
@ -2855,11 +2879,8 @@
AB73A9F71507C9F500A310C8 /* slot2_rumblepak.cpp in Sources */,
AB73A9F81507C9F500A310C8 /* sndOSX.cpp in Sources */,
AB73A9F91507C9F500A310C8 /* SndOut.cpp in Sources */,
AB73A9FA1507C9F500A310C8 /* SoundTouch.cpp in Sources */,
AB73A9FB1507C9F500A310C8 /* SPU.cpp in Sources */,
AB73A9FC1507C9F500A310C8 /* sse_optimized.cpp in Sources */,
AB73A9FD1507C9F500A310C8 /* task.cpp in Sources */,
AB73A9FE1507C9F500A310C8 /* TDStretch.cpp in Sources */,
AB73A9FF1507C9F500A310C8 /* texcache.cpp in Sources */,
AB73AA001507C9F500A310C8 /* thumb_instructions.cpp in Sources */,
AB73AA011507C9F500A310C8 /* Timestretcher.cpp in Sources */,
@ -2870,7 +2891,6 @@
AB73AA061507C9F500A310C8 /* version.cpp in Sources */,
AB73AA071507C9F500A310C8 /* vfat.cpp in Sources */,
AB73AA081507C9F500A310C8 /* videofilter.cpp in Sources */,
AB73AA091507C9F500A310C8 /* WavFile.cpp in Sources */,
AB73AA0A1507C9F500A310C8 /* wifi.cpp in Sources */,
AB73AA0B1507C9F500A310C8 /* xstring.cpp in Sources */,
AB73AA0C1507C9F500A310C8 /* main.m in Sources */,
@ -2932,6 +2952,19 @@
ABF50B2B169F5FDA0018C08D /* x86func.cpp in Sources */,
ABF50B2C169F5FDA0018C08D /* x86operand.cpp in Sources */,
ABF50B2D169F5FDA0018C08D /* x86util.cpp in Sources */,
AB279D5916A4E6DE00ECC692 /* AAFilter.cpp in Sources */,
AB279D5A16A4E6DE00ECC692 /* BPMDetect.cpp in Sources */,
AB279D5B16A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */,
AB279D5C16A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */,
AB279D5D16A4E6DE00ECC692 /* FIRFilter.cpp in Sources */,
AB279D5E16A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */,
AB279D5F16A4E6DE00ECC692 /* PeakFinder.cpp in Sources */,
AB279D6016A4E6DE00ECC692 /* RateTransposer.cpp in Sources */,
AB279D6116A4E6DE00ECC692 /* SoundTouch.cpp in Sources */,
AB279D6216A4E6DE00ECC692 /* sse_optimized.cpp in Sources */,
AB279D6316A4E6DE00ECC692 /* TDStretch.cpp in Sources */,
AB6A187F16C9951C00384EED /* EmuControllerDelegate.mm in Sources */,
AB6A198616CAD66900384EED /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -2940,7 +2973,6 @@
buildActionMask = 2147483647;
files = (
ABAD0FBB15ACE7A00000EC47 /* ConvertUTF.c in Sources */,
ABAD0FBC15ACE7A00000EC47 /* AAFilter.cpp in Sources */,
ABAD0FBD15ACE7A00000EC47 /* addons.cpp in Sources */,
ABAD0FBE15ACE7A00000EC47 /* arm_instructions.cpp in Sources */,
ABAD0FBF15ACE7A00000EC47 /* armcpu.cpp in Sources */,
@ -2949,7 +2981,6 @@
ABAD0FC215ACE7A00000EC47 /* cheatSystem.cpp in Sources */,
ABAD0FC315ACE7A00000EC47 /* common.cpp in Sources */,
ABAD0FC415ACE7A00000EC47 /* cp15.cpp in Sources */,
ABAD0FC515ACE7A00000EC47 /* cpu_detect_x86_gcc.cpp in Sources */,
ABAD0FC615ACE7A00000EC47 /* crc.cpp in Sources */,
ABAD0FC715ACE7A00000EC47 /* datetime.cpp in Sources */,
ABAD0FC815ACE7A00000EC47 /* debug.cpp in Sources */,
@ -2964,10 +2995,8 @@
ABAD0FD115ACE7A00000EC47 /* fatdir.cpp in Sources */,
ABAD0FD215ACE7A00000EC47 /* fatfile.cpp in Sources */,
ABAD0FD315ACE7A00000EC47 /* FIFO.cpp in Sources */,
ABAD0FD415ACE7A00000EC47 /* FIFOSampleBuffer.cpp in Sources */,
ABAD0FD515ACE7A00000EC47 /* file_allocation_table.cpp in Sources */,
ABAD0FD615ACE7A00000EC47 /* filetime.cpp in Sources */,
ABAD0FD715ACE7A00000EC47 /* FIRFilter.cpp in Sources */,
ABAD0FD815ACE7A00000EC47 /* firmware.cpp in Sources */,
ABAD0FD915ACE7A00000EC47 /* fs-linux.cpp in Sources */,
ABAD0FDA15ACE7A00000EC47 /* gfx3d.cpp in Sources */,
@ -2983,13 +3012,11 @@
ABAD0FE415ACE7A00000EC47 /* md5.cpp in Sources */,
ABAD0FE515ACE7A00000EC47 /* metaspu.cpp in Sources */,
ABAD0FE615ACE7A00000EC47 /* MMU.cpp in Sources */,
ABAD0FE715ACE7A00000EC47 /* mmx_optimized.cpp in Sources */,
ABAD0FE815ACE7A00000EC47 /* movie.cpp in Sources */,
ABAD0FE915ACE7A00000EC47 /* NDSSystem.cpp in Sources */,
ABAD0FEA15ACE7A00000EC47 /* partition.cpp in Sources */,
ABAD0FEB15ACE7A00000EC47 /* path.cpp in Sources */,
ABAD0FEC15ACE7A00000EC47 /* rasterize.cpp in Sources */,
ABAD0FED15ACE7A00000EC47 /* RateTransposer.cpp in Sources */,
ABAD0FEE15ACE7A00000EC47 /* readwrite.cpp in Sources */,
ABAD0FEF15ACE7A00000EC47 /* render3D.cpp in Sources */,
ABAD0FF015ACE7A00000EC47 /* ROMReader.cpp in Sources */,
@ -3010,11 +3037,8 @@
ABAD0FFF15ACE7A00000EC47 /* slot2_rumblepak.cpp in Sources */,
ABAD100015ACE7A00000EC47 /* sndOSX.cpp in Sources */,
ABAD100115ACE7A00000EC47 /* SndOut.cpp in Sources */,
ABAD100215ACE7A00000EC47 /* SoundTouch.cpp in Sources */,
ABAD100315ACE7A00000EC47 /* SPU.cpp in Sources */,
ABAD100415ACE7A00000EC47 /* sse_optimized.cpp in Sources */,
ABAD100515ACE7A00000EC47 /* task.cpp in Sources */,
ABAD100615ACE7A00000EC47 /* TDStretch.cpp in Sources */,
ABAD100715ACE7A00000EC47 /* texcache.cpp in Sources */,
ABAD100815ACE7A00000EC47 /* thumb_instructions.cpp in Sources */,
ABAD100915ACE7A00000EC47 /* Timestretcher.cpp in Sources */,
@ -3025,7 +3049,6 @@
ABAD100E15ACE7A00000EC47 /* version.cpp in Sources */,
ABAD100F15ACE7A00000EC47 /* vfat.cpp in Sources */,
ABAD101015ACE7A00000EC47 /* videofilter.cpp in Sources */,
ABAD101115ACE7A00000EC47 /* WavFile.cpp in Sources */,
ABAD101215ACE7A00000EC47 /* wifi.cpp in Sources */,
ABAD101315ACE7A00000EC47 /* xstring.cpp in Sources */,
ABAD101415ACE7A00000EC47 /* main.m in Sources */,
@ -3057,6 +3080,19 @@
ABAD102E15ACE7A00000EC47 /* coreaudiosound.cpp in Sources */,
ABAD102F15ACE7A00000EC47 /* ringbuffer.cpp in Sources */,
ABA03573169127C000817C69 /* troubleshootingWindowDelegate.mm in Sources */,
AB279D7A16A4E6DE00ECC692 /* AAFilter.cpp in Sources */,
AB279D7B16A4E6DE00ECC692 /* BPMDetect.cpp in Sources */,
AB279D7C16A4E6DE00ECC692 /* cpu_detect_x86.cpp in Sources */,
AB279D7D16A4E6DE00ECC692 /* FIFOSampleBuffer.cpp in Sources */,
AB279D7E16A4E6DE00ECC692 /* FIRFilter.cpp in Sources */,
AB279D7F16A4E6DE00ECC692 /* mmx_optimized.cpp in Sources */,
AB279D8016A4E6DE00ECC692 /* PeakFinder.cpp in Sources */,
AB279D8116A4E6DE00ECC692 /* RateTransposer.cpp in Sources */,
AB279D8216A4E6DE00ECC692 /* SoundTouch.cpp in Sources */,
AB279D8316A4E6DE00ECC692 /* sse_optimized.cpp in Sources */,
AB279D8416A4E6DE00ECC692 /* TDStretch.cpp in Sources */,
AB6A187D16C9951C00384EED /* EmuControllerDelegate.mm in Sources */,
AB6A198416CAD66900384EED /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -70,6 +70,11 @@
AB350B6A1478A5B3007165AC /* cocoa_hid.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB350B691478A5B3007165AC /* cocoa_hid.mm */; };
AB350BA51478AC96007165AC /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB350BA41478AC96007165AC /* IOKit.framework */; };
AB350D3B147A1D93007165AC /* HID_usage_strings.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB350D3A147A1D93007165AC /* HID_usage_strings.plist */; };
AB3A655E16CC5421001F5D4A /* EmuControllerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3A655D16CC5421001F5D4A /* EmuControllerDelegate.mm */; };
AB3A655F16CC5421001F5D4A /* EmuControllerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3A655D16CC5421001F5D4A /* EmuControllerDelegate.mm */; };
AB3A656116CC5438001F5D4A /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3A656016CC5438001F5D4A /* cocoa_GPU.mm */; };
AB3A656216CC5438001F5D4A /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3A656016CC5438001F5D4A /* cocoa_GPU.mm */; };
AB3A656316CC5438001F5D4A /* cocoa_GPU.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3A656016CC5438001F5D4A /* cocoa_GPU.mm */; };
AB3ACB7214C2361100D7D192 /* appDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3ACB6714C2361100D7D192 /* appDelegate.mm */; };
AB3ACB7314C2361100D7D192 /* cheatWindowDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3ACB6914C2361100D7D192 /* cheatWindowDelegate.mm */; };
AB3ACB7414C2361100D7D192 /* displayView.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB3ACB6B14C2361100D7D192 /* displayView.mm */; };
@ -679,6 +684,10 @@
AB350B691478A5B3007165AC /* cocoa_hid.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_hid.mm; sourceTree = "<group>"; };
AB350BA41478AC96007165AC /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
AB350D38147A1D8D007165AC /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = English; path = translations/English.lproj/HID_usage_strings.plist; sourceTree = "<group>"; };
AB3A655C16CC5416001F5D4A /* EmuControllerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmuControllerDelegate.h; sourceTree = "<group>"; };
AB3A655D16CC5421001F5D4A /* EmuControllerDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EmuControllerDelegate.mm; sourceTree = "<group>"; };
AB3A656016CC5438001F5D4A /* cocoa_GPU.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_GPU.mm; sourceTree = "<group>"; };
AB3A656416CC5442001F5D4A /* cocoa_GPU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_GPU.h; sourceTree = "<group>"; };
AB3ACB6614C2361100D7D192 /* appDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = appDelegate.h; sourceTree = "<group>"; };
AB3ACB6714C2361100D7D192 /* appDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = appDelegate.mm; sourceTree = "<group>"; };
AB3ACB6814C2361100D7D192 /* cheatWindowDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cheatWindowDelegate.h; sourceTree = "<group>"; };
@ -1106,6 +1115,7 @@
AB58F32B1364F44B0074C376 /* cocoa_file.h */,
ABE7F53C13EE1C7900FD3A71 /* cocoa_firmware.h */,
AB9971CE134EDA0800531BA7 /* cocoa_globals.h */,
AB3A656416CC5442001F5D4A /* cocoa_GPU.h */,
AB350B681478A5B3007165AC /* cocoa_hid.h */,
ABD103FF1346652500AF11D1 /* cocoa_input.h */,
ABD9A46313DB99B300777194 /* cocoa_mic.h */,
@ -1120,6 +1130,7 @@
ABD104121346652500AF11D1 /* cocoa_core.mm */,
AB58F32C1364F44B0074C376 /* cocoa_file.mm */,
ABE7F53D13EE1C7900FD3A71 /* cocoa_firmware.mm */,
AB3A656016CC5438001F5D4A /* cocoa_GPU.mm */,
AB350B691478A5B3007165AC /* cocoa_hid.mm */,
ABD104111346652500AF11D1 /* cocoa_input.mm */,
ABD9A46413DB99B300777194 /* cocoa_mic.mm */,
@ -1224,6 +1235,7 @@
AB3ACB6614C2361100D7D192 /* appDelegate.h */,
AB3ACB6814C2361100D7D192 /* cheatWindowDelegate.h */,
AB3ACB6A14C2361100D7D192 /* displayView.h */,
AB3A655C16CC5416001F5D4A /* EmuControllerDelegate.h */,
AB3ACB6C14C2361100D7D192 /* emuWindowDelegate.h */,
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
@ -1231,6 +1243,7 @@
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
AB3ACB6914C2361100D7D192 /* cheatWindowDelegate.mm */,
AB3ACB6B14C2361100D7D192 /* displayView.mm */,
AB3A655D16CC5421001F5D4A /* EmuControllerDelegate.mm */,
AB3ACB6D14C2361100D7D192 /* emuWindowDelegate.mm */,
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
@ -2225,6 +2238,8 @@
AB405694169F5DCC0016AC3E /* x86util.cpp in Sources */,
AB23567416C2F6F400DA782E /* macosx_10_5_compat.cpp in Sources */,
AB23567516C2FAD800DA782E /* OGLRender_3_2.cpp in Sources */,
AB3A655F16CC5421001F5D4A /* EmuControllerDelegate.mm in Sources */,
AB3A656216CC5438001F5D4A /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -2381,6 +2396,8 @@
AB405690169F5DCC0016AC3E /* x86operand.cpp in Sources */,
AB405693169F5DCC0016AC3E /* x86util.cpp in Sources */,
AB26D87C16B5253D00A2305C /* OGLRender_3_2.cpp in Sources */,
AB3A655E16CC5421001F5D4A /* EmuControllerDelegate.mm in Sources */,
AB3A656116CC5438001F5D4A /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -2525,6 +2542,7 @@
AB405692169F5DCC0016AC3E /* x86operand.cpp in Sources */,
AB405695169F5DCC0016AC3E /* x86util.cpp in Sources */,
AB68A0DD16B139BC00DE0546 /* OGLRender_3_2.cpp in Sources */,
AB3A656316CC5438001F5D4A /* cocoa_GPU.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -250,7 +250,7 @@
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright ©2012 DeSmuME Team. All rights reserved.</string>
<string>Copyright ©2013 DeSmuME Team. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>

View File

@ -250,7 +250,7 @@
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright ©2012 DeSmuME Team. All rights reserved.</string>
<string>Copyright ©2013 DeSmuME Team. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>

View File

@ -0,0 +1,89 @@
/*
Copyright (C) 2013 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 <Foundation/Foundation.h>
#include <pthread.h>
#include <libkern/OSAtomic.h>
@interface CocoaDSGPU : NSObject
{
UInt32 gpuStateFlags;
OSSpinLock spinlockGpuState;
BOOL gpuStateMainGPU;
BOOL gpuStateMainBG0;
BOOL gpuStateMainBG1;
BOOL gpuStateMainBG2;
BOOL gpuStateMainBG3;
BOOL gpuStateMainOBJ;
BOOL gpuStateSubGPU;
BOOL gpuStateSubBG0;
BOOL gpuStateSubBG1;
BOOL gpuStateSubBG2;
BOOL gpuStateSubBG3;
BOOL gpuStateSubOBJ;
BOOL isCPUCoreCountAuto;
pthread_mutex_t *mutexProducer;
}
@property (assign) UInt32 gpuStateFlags;
@property (assign) pthread_mutex_t *mutexProducer;
@property (assign) NSInteger render3DRenderingEngine;
@property (assign) BOOL render3DHighPrecisionColorInterpolation;
@property (assign) BOOL render3DEdgeMarking;
@property (assign) BOOL render3DFog;
@property (assign) BOOL render3DTextures;
@property (assign) NSUInteger render3DDepthComparisonThreshold;
@property (assign) NSUInteger render3DThreads;
@property (assign) BOOL render3DLineHack;
@property (assign) BOOL render3DMultisample;
- (BOOL) gpuStateByBit:(const UInt32)stateBit;
- (BOOL) isGPUTypeDisplayed:(const NSInteger)theGpuType;
- (void) hideGPUType:(const NSInteger)theGpuType;
- (void) showGPUType:(const NSInteger)theGpuType;
@end
#ifdef __cplusplus
extern "C"
{
#endif
void SetGPULayerState(const int gpuType, const unsigned int i, const bool state);
bool GetGPULayerState(const int gpuType, const unsigned int i);
void SetGPUDisplayState(const int gpuType, const bool state);
bool GetGPUDisplayState(const int gpuType);
bool OSXOpenGLRendererInit();
bool OSXOpenGLRendererBegin();
void OSXOpenGLRendererEnd();
bool CreateOpenGLRenderer();
void DestroyOpenGLRenderer();
void RequestOpenGLRenderer_3_2(bool request_3_2);
void SetOpenGLRendererFunctions(bool (*initFunction)(),
bool (*beginOGLFunction)(),
void (*endOGLFunction)());
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,811 @@
/*
Copyright (C) 2013 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_GPU.h"
#import "cocoa_globals.h"
#import "cocoa_util.h"
#include "../NDSSystem.h"
#include "../GPU.h"
#include "../rasterize.h"
#ifdef MAC_OS_X_VERSION_10_7
#include "../OGLRender_3_2.h"
#else
#include "../OGLRender.h"
#endif
#include <OpenGL/OpenGL.h>
#undef BOOL
GPU3DInterface *core3DList[] = {
&gpu3DNull,
&gpu3DRasterize,
&gpu3Dgl,
NULL
};
@implementation CocoaDSGPU
@dynamic gpuStateFlags;
@synthesize mutexProducer;
@dynamic render3DRenderingEngine;
@dynamic render3DHighPrecisionColorInterpolation;
@dynamic render3DEdgeMarking;
@dynamic render3DFog;
@dynamic render3DTextures;
@dynamic render3DDepthComparisonThreshold;
@dynamic render3DThreads;
@dynamic render3DLineHack;
@dynamic render3DMultisample;
- (id)init
{
self = [super init];
if (self == nil)
{
return self;
}
spinlockGpuState = OS_SPINLOCK_INIT;
mutexProducer = NULL;
gpuStateFlags = GPUSTATE_MAIN_GPU_MASK |
GPUSTATE_MAIN_BG0_MASK |
GPUSTATE_MAIN_BG1_MASK |
GPUSTATE_MAIN_BG2_MASK |
GPUSTATE_MAIN_BG3_MASK |
GPUSTATE_MAIN_OBJ_MASK |
GPUSTATE_SUB_GPU_MASK |
GPUSTATE_SUB_BG0_MASK |
GPUSTATE_SUB_BG1_MASK |
GPUSTATE_SUB_BG2_MASK |
GPUSTATE_SUB_BG3_MASK |
GPUSTATE_SUB_OBJ_MASK;
gpuStateMainGPU = YES;
gpuStateMainBG0 = YES;
gpuStateMainBG1 = YES;
gpuStateMainBG2 = YES;
gpuStateMainBG3 = YES;
gpuStateMainOBJ = YES;
gpuStateSubGPU = YES;
gpuStateSubBG0 = YES;
gpuStateSubBG1 = YES;
gpuStateSubBG2 = YES;
gpuStateSubBG3 = YES;
gpuStateSubOBJ = YES;
isCPUCoreCountAuto = NO;
SetOpenGLRendererFunctions(&OSXOpenGLRendererInit,
&OSXOpenGLRendererBegin,
&OSXOpenGLRendererEnd);
return self;
}
- (void)dealloc
{
DestroyOpenGLRenderer();
[super dealloc];
}
- (void) setGpuStateFlags:(UInt32)flags
{
OSSpinLockLock(&spinlockGpuState);
gpuStateFlags = flags;
OSSpinLockUnlock(&spinlockGpuState);
pthread_mutex_lock(self.mutexProducer);
if (flags & GPUSTATE_MAIN_GPU_MASK)
{
SetGPUDisplayState(DS_GPU_TYPE_MAIN, true);
gpuStateMainGPU = YES;
}
else
{
SetGPUDisplayState(DS_GPU_TYPE_MAIN, false);
gpuStateMainGPU = NO;
}
if (flags & GPUSTATE_MAIN_BG0_MASK)
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 0, true);
gpuStateMainBG0 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 0, false);
gpuStateMainBG0 = NO;
}
if (flags & GPUSTATE_MAIN_BG1_MASK)
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 1, true);
gpuStateMainBG1 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 1, false);
gpuStateMainBG1 = NO;
}
if (flags & GPUSTATE_MAIN_BG2_MASK)
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 2, true);
gpuStateMainBG2 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 2, false);
gpuStateMainBG2 = NO;
}
if (flags & GPUSTATE_MAIN_BG3_MASK)
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 3, true);
gpuStateMainBG3 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 3, false);
gpuStateMainBG3 = NO;
}
if (flags & GPUSTATE_MAIN_OBJ_MASK)
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 4, true);
gpuStateMainOBJ = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_MAIN, 4, false);
gpuStateMainOBJ = NO;
}
if (flags & GPUSTATE_SUB_GPU_MASK)
{
SetGPUDisplayState(DS_GPU_TYPE_SUB, true);
gpuStateSubGPU = YES;
}
else
{
SetGPUDisplayState(DS_GPU_TYPE_SUB, false);
gpuStateSubGPU = NO;
}
if (flags & GPUSTATE_SUB_BG0_MASK)
{
SetGPULayerState(DS_GPU_TYPE_SUB, 0, true);
gpuStateSubBG0 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_SUB, 0, false);
gpuStateSubBG0 = NO;
}
if (flags & GPUSTATE_SUB_BG1_MASK)
{
SetGPULayerState(DS_GPU_TYPE_SUB, 1, true);
gpuStateSubBG1 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_SUB, 1, false);
gpuStateSubBG1 = NO;
}
if (flags & GPUSTATE_SUB_BG2_MASK)
{
SetGPULayerState(DS_GPU_TYPE_SUB, 2, true);
gpuStateSubBG2 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_SUB, 2, false);
gpuStateSubBG2 = NO;
}
if (flags & GPUSTATE_SUB_BG3_MASK)
{
SetGPULayerState(DS_GPU_TYPE_SUB, 3, true);
gpuStateSubBG3 = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_SUB, 3, false);
gpuStateSubBG3 = NO;
}
if (flags & GPUSTATE_SUB_OBJ_MASK)
{
SetGPULayerState(DS_GPU_TYPE_SUB, 4, true);
gpuStateSubOBJ = YES;
}
else
{
SetGPULayerState(DS_GPU_TYPE_SUB, 4, false);
gpuStateSubOBJ = NO;
}
pthread_mutex_unlock(self.mutexProducer);
}
- (UInt32) gpuStateFlags
{
OSSpinLockLock(&spinlockGpuState);
const UInt32 flags = gpuStateFlags;
OSSpinLockUnlock(&spinlockGpuState);
return flags;
}
- (void) setRender3DRenderingEngine:(NSInteger)methodID
{
pthread_mutex_lock(self.mutexProducer);
NDS_3D_ChangeCore(methodID);
pthread_mutex_unlock(self.mutexProducer);
}
- (NSInteger) render3DRenderingEngine
{
pthread_mutex_lock(self.mutexProducer);
const NSInteger methodID = (NSInteger)cur3DCore;
pthread_mutex_unlock(self.mutexProducer);
return methodID;
}
- (void) setRender3DHighPrecisionColorInterpolation:(BOOL)state
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_HighResolutionInterpolateColor = state ? true : false;
pthread_mutex_unlock(self.mutexProducer);
}
- (BOOL) render3DHighPrecisionColorInterpolation
{
pthread_mutex_lock(self.mutexProducer);
const BOOL state = CommonSettings.GFX3D_HighResolutionInterpolateColor ? YES : NO;
pthread_mutex_unlock(self.mutexProducer);
return state;
}
- (void) setRender3DEdgeMarking:(BOOL)state
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_EdgeMark = state ? true : false;
pthread_mutex_unlock(self.mutexProducer);
}
- (BOOL) render3DEdgeMarking
{
pthread_mutex_lock(self.mutexProducer);
const BOOL state = CommonSettings.GFX3D_EdgeMark ? YES : NO;
pthread_mutex_unlock(self.mutexProducer);
return state;
}
- (void) setRender3DFog:(BOOL)state
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_Fog = state ? true : false;
pthread_mutex_unlock(self.mutexProducer);
}
- (BOOL) render3DFog
{
pthread_mutex_lock(self.mutexProducer);
const BOOL state = CommonSettings.GFX3D_Fog ? YES : NO;
pthread_mutex_unlock(self.mutexProducer);
return state;
}
- (void) setRender3DTextures:(BOOL)state
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_Texture = state ? true : false;
pthread_mutex_unlock(self.mutexProducer);
}
- (BOOL) render3DTextures
{
pthread_mutex_lock(self.mutexProducer);
const BOOL state = CommonSettings.GFX3D_Texture ? YES : NO;
pthread_mutex_unlock(self.mutexProducer);
return state;
}
- (void) setRender3DDepthComparisonThreshold:(NSUInteger)threshold
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_Zelda_Shadow_Depth_Hack = threshold;
pthread_mutex_unlock(self.mutexProducer);
}
- (NSUInteger) render3DDepthComparisonThreshold
{
pthread_mutex_lock(self.mutexProducer);
const NSUInteger threshold = (NSUInteger)CommonSettings.GFX3D_Zelda_Shadow_Depth_Hack;
pthread_mutex_unlock(self.mutexProducer);
return threshold;
}
- (void) setRender3DThreads:(NSUInteger)numberThreads
{
NSUInteger numberCores = [[NSProcessInfo processInfo] activeProcessorCount];
if (numberThreads == 0)
{
isCPUCoreCountAuto = YES;
if (numberCores >= 8)
{
numberCores = 8;
}
else if (numberCores >= 4)
{
numberCores = 4;
}
else if (numberCores >= 2)
{
numberCores = 2;
}
else
{
numberCores = 1;
}
}
else
{
isCPUCoreCountAuto = NO;
numberCores = numberThreads;
}
NSInteger renderingEngineID = [self render3DRenderingEngine];
pthread_mutex_lock(self.mutexProducer);
CommonSettings.num_cores = numberCores;
if (renderingEngineID == CORE3DLIST_SWRASTERIZE)
{
NDS_3D_ChangeCore(CORE3DLIST_SWRASTERIZE);
}
else if (renderingEngineID == CORE3DLIST_OPENGL)
{
NDS_3D_ChangeCore(CORE3DLIST_OPENGL);
}
pthread_mutex_unlock(self.mutexProducer);
}
- (NSUInteger) render3DThreads
{
pthread_mutex_lock(self.mutexProducer);
const NSUInteger numberThreads = isCPUCoreCountAuto ? 0 : (NSUInteger)CommonSettings.num_cores;
pthread_mutex_unlock(self.mutexProducer);
return numberThreads;
}
- (void) setRender3DLineHack:(BOOL)state
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_LineHack = state ? true : false;
pthread_mutex_unlock(self.mutexProducer);
}
- (BOOL) render3DLineHack
{
pthread_mutex_lock(self.mutexProducer);
const BOOL state = CommonSettings.GFX3D_LineHack ? YES : NO;
pthread_mutex_unlock(self.mutexProducer);
return state;
}
- (void) setRender3DMultisample:(BOOL)state
{
pthread_mutex_lock(self.mutexProducer);
CommonSettings.GFX3D_Renderer_Multisample = state ? true : false;
pthread_mutex_unlock(self.mutexProducer);
}
- (BOOL) render3DMultisample
{
pthread_mutex_lock(self.mutexProducer);
const BOOL state = CommonSettings.GFX3D_Renderer_Multisample ? YES : NO;
pthread_mutex_unlock(self.mutexProducer);
return state;
}
- (BOOL) gpuStateByBit:(const UInt32)stateBit
{
return (self.gpuStateFlags & (1 << stateBit)) ? YES : NO;
}
- (BOOL) isGPUTypeDisplayed:(const NSInteger)theGpuType
{
BOOL result = NO;
const UInt32 flags = self.gpuStateFlags;
switch (theGpuType)
{
case DS_GPU_TYPE_MAIN:
if (flags & GPUSTATE_MAIN_GPU_MASK)
{
result = YES;
}
break;
case DS_GPU_TYPE_SUB:
if (flags & GPUSTATE_SUB_GPU_MASK)
{
result = YES;
}
break;
case DS_GPU_TYPE_COMBO:
if (flags & (GPUSTATE_MAIN_GPU_MASK | GPUSTATE_SUB_GPU_MASK))
{
result = YES;
}
break;
default:
break;
}
return result;
}
- (void) hideGPUType:(const NSInteger)theGpuType
{
UInt32 flags = self.gpuStateFlags;
switch (theGpuType)
{
case DS_GPU_TYPE_MAIN:
flags &= ~GPUSTATE_MAIN_GPU_MASK;
break;
case DS_GPU_TYPE_SUB:
flags &= ~GPUSTATE_SUB_GPU_MASK;
break;
case DS_GPU_TYPE_COMBO:
flags &= ~GPUSTATE_MAIN_GPU_MASK;
flags &= ~GPUSTATE_SUB_GPU_MASK;
break;
default:
break;
}
self.gpuStateFlags = flags;
}
- (void) showGPUType:(const NSInteger)theGpuType
{
UInt32 flags = self.gpuStateFlags;
switch (theGpuType)
{
case DS_GPU_TYPE_MAIN:
flags |= GPUSTATE_MAIN_GPU_MASK;
break;
case DS_GPU_TYPE_SUB:
flags |= GPUSTATE_SUB_GPU_MASK;
break;
case DS_GPU_TYPE_COMBO:
flags |= GPUSTATE_MAIN_GPU_MASK;
flags |= GPUSTATE_SUB_GPU_MASK;
break;
default:
break;
}
self.gpuStateFlags = flags;
}
@end
void SetGPULayerState(const int gpuType, const unsigned int i, const bool state)
{
GPU *theGpu = NULL;
// Check bounds on the layer index.
if(i > 4)
{
return;
}
switch (gpuType)
{
case DS_GPU_TYPE_SUB:
theGpu = SubScreen.gpu;
break;
case DS_GPU_TYPE_MAIN:
theGpu = MainScreen.gpu;
break;
case DS_GPU_TYPE_COMBO:
SetGPULayerState(DS_GPU_TYPE_SUB, i, state); // Recursive call
theGpu = MainScreen.gpu;
break;
default:
break;
}
if (theGpu != NULL)
{
if (state)
{
GPU_addBack(theGpu, i);
}
else
{
GPU_remove(theGpu, i);
}
}
}
bool GetGPULayerState(const int gpuType, const unsigned int i)
{
bool result = false;
// Check bounds on the layer index.
if(i > 4)
{
return result;
}
switch (gpuType)
{
case DS_GPU_TYPE_SUB:
if (SubScreen.gpu != nil)
{
result = CommonSettings.dispLayers[SubScreen.gpu->core][i];
}
break;
case DS_GPU_TYPE_MAIN:
if (MainScreen.gpu != nil)
{
result = CommonSettings.dispLayers[MainScreen.gpu->core][i];
}
break;
case DS_GPU_TYPE_COMBO:
if (SubScreen.gpu != nil && MainScreen.gpu != nil)
{
result = (CommonSettings.dispLayers[SubScreen.gpu->core][i] && CommonSettings.dispLayers[MainScreen.gpu->core][i]);
}
break;
default:
break;
}
return result;
}
void SetGPUDisplayState(const int gpuType, const bool state)
{
switch (gpuType)
{
case DS_GPU_TYPE_SUB:
CommonSettings.showGpu.sub = state;
break;
case DS_GPU_TYPE_MAIN:
CommonSettings.showGpu.main = state;
break;
case DS_GPU_TYPE_COMBO:
CommonSettings.showGpu.sub = state;
CommonSettings.showGpu.main = state;
break;
default:
break;
}
}
bool GetGPUDisplayState(const int gpuType)
{
bool result = false;
switch (gpuType)
{
case DS_GPU_TYPE_SUB:
result = CommonSettings.showGpu.sub;
break;
case DS_GPU_TYPE_MAIN:
result = CommonSettings.showGpu.main;
break;
case DS_GPU_TYPE_COMBO:
result = (CommonSettings.showGpu.sub && CommonSettings.showGpu.main);
break;
default:
break;
}
return result;
}
CGLContextObj OSXOpenGLRendererContext = NULL;
CGLPBufferObj OSXOpenGLRendererPBuffer = NULL;
bool OSXOpenGLRendererInit()
{
static bool isContextAlreadyCreated = false;
if (!isContextAlreadyCreated)
{
isContextAlreadyCreated = CreateOpenGLRenderer();
}
return true;
}
bool OSXOpenGLRendererBegin()
{
CGLSetCurrentContext(OSXOpenGLRendererContext);
return true;
}
void OSXOpenGLRendererEnd()
{
}
bool CreateOpenGLRenderer()
{
bool result = false;
bool useContext_3_2 = false;
CGLPixelFormatObj cglPixFormat = NULL;
CGLContextObj newContext = NULL;
CGLPBufferObj newPBuffer = NULL;
GLint virtualScreenCount = 0;
CGLPixelFormatAttribute attrs[] = {
kCGLPFAColorSize, (CGLPixelFormatAttribute)24,
kCGLPFAAlphaSize, (CGLPixelFormatAttribute)8,
kCGLPFADepthSize, (CGLPixelFormatAttribute)24,
kCGLPFAStencilSize, (CGLPixelFormatAttribute)8,
kCGLPFAAccelerated,
(CGLPixelFormatAttribute)0, (CGLPixelFormatAttribute)0,
(CGLPixelFormatAttribute)0
};
#ifdef MAC_OS_X_VERSION_10_7
// If we can support a 3.2 Core Profile context, then request that in our
// pixel format attributes.
useContext_3_2 = [CocoaDSUtil OSVersionCheckMajor:10 minor:7 revision:0] ? true : false;
if (useContext_3_2)
{
attrs[9] = kCGLPFAOpenGLProfile;
attrs[10] = (CGLPixelFormatAttribute)kCGLOGLPVersion_3_2_Core;
}
#endif
CGLChoosePixelFormat(attrs, &cglPixFormat, &virtualScreenCount);
if (cglPixFormat == NULL)
{
// Remove the HW rendering requirement and try again. Note that this will
// result in SW rendering, which will cause a substantial speed hit.
attrs[8] = (CGLPixelFormatAttribute)0;
CGLChoosePixelFormat(attrs, &cglPixFormat, &virtualScreenCount);
if (cglPixFormat == NULL)
{
return result;
}
}
CGLCreateContext(cglPixFormat, NULL, &newContext);
CGLReleasePixelFormat(cglPixFormat);
// Create a PBuffer for legacy contexts since the availability of FBOs
// is not guaranteed.
if (!useContext_3_2)
{
CGLCreatePBuffer(GPU_DISPLAY_WIDTH, GPU_DISPLAY_HEIGHT, GL_TEXTURE_2D, GL_RGBA, 0, &newPBuffer);
if (newPBuffer == NULL)
{
CGLReleaseContext(newContext);
return result;
}
else
{
GLint virtualScreenID = 0;
CGLGetVirtualScreen(newContext, &virtualScreenID);
CGLSetPBuffer(newContext, newPBuffer, 0, 0, virtualScreenID);
}
}
RequestOpenGLRenderer_3_2(useContext_3_2);
OSXOpenGLRendererContext = newContext;
OSXOpenGLRendererPBuffer = newPBuffer;
result = true;
return result;
}
void DestroyOpenGLRenderer()
{
if (OSXOpenGLRendererContext == NULL)
{
return;
}
CGLReleasePBuffer(OSXOpenGLRendererPBuffer);
CGLReleaseContext(OSXOpenGLRendererContext);
OSXOpenGLRendererContext = NULL;
OSXOpenGLRendererPBuffer = NULL;
}
void RequestOpenGLRenderer_3_2(bool request_3_2)
{
#ifdef OGLRENDER_3_2_H
if (request_3_2)
{
OGLLoadEntryPoints_3_2_Func = &OGLLoadEntryPoints_3_2;
OGLCreateRenderer_3_2_Func = &OGLCreateRenderer_3_2;
}
else
{
OGLLoadEntryPoints_3_2_Func = NULL;
OGLCreateRenderer_3_2_Func = NULL;
}
#else
OGLLoadEntryPoints_3_2_Func = NULL;
OGLCreateRenderer_3_2_Func = NULL;
#endif
}
void SetOpenGLRendererFunctions(bool (*initFunction)(),
bool (*beginOGLFunction)(),
void (*endOGLFunction)())
{
oglrender_init = initFunction;
oglrender_beginOpenGL = beginOGLFunction;
oglrender_endOpenGL = endOGLFunction;
}

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -18,6 +18,7 @@
#import <Cocoa/Cocoa.h>
#include "../cheatSystem.h"
#undef BOOL
@class CocoaDSCore;

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -24,6 +24,7 @@
@class CocoaDSController;
@class CocoaDSFirmware;
@class CocoaDSGPU;
@class CocoaDSOutput;
typedef struct
@ -45,6 +46,7 @@ typedef struct
{
CocoaDSController *cdsController;
CocoaDSFirmware *cdsFirmware;
CocoaDSGPU *cdsGPU;
NSMutableArray *cdsOutputList;
pthread_t coreThread;
@ -77,7 +79,8 @@ typedef struct
@property (retain) CocoaDSController *cdsController;
@property (retain) CocoaDSFirmware *cdsFirmware;
@property (readonly) NSMutableArray *cdsOutputList;
@property (retain) CocoaDSGPU *cdsGPU;
@property (assign) NSMutableArray *cdsOutputList;
@property (assign) BOOL masterExecute;
@property (assign) BOOL isFrameSkipEnabled;

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -19,10 +19,12 @@
#import "cocoa_core.h"
#import "cocoa_input.h"
#import "cocoa_firmware.h"
#import "cocoa_GPU.h"
#import "cocoa_globals.h"
#import "cocoa_output.h"
#import "cocoa_rom.h"
#import "cocoa_util.h"
#include <mach/mach.h>
#include <mach/mach_time.h>
@ -38,6 +40,7 @@ volatile bool execute = true;
@dynamic cdsController;
@synthesize cdsFirmware;
@synthesize cdsGPU;
@synthesize cdsOutputList;
@dynamic masterExecute;
@ -77,6 +80,7 @@ static BOOL isCoreStarted = NO;
cdsController = nil;
cdsFirmware = nil;
cdsGPU = [[[[CocoaDSGPU alloc] init] autorelease] retain];
cdsOutputList = [[NSMutableArray alloc] initWithCapacity:32];
emulationFlags = EMULATION_ADVANCED_BUS_LEVEL_TIMING_MASK;
@ -120,6 +124,8 @@ static BOOL isCoreStarted = NO;
pthread_cond_init(&threadParam.condThreadExecute, NULL);
pthread_create(&coreThread, NULL, &RunCoreThread, &threadParam);
[cdsGPU setMutexProducer:mutexCoreExecute];
return self;
}
@ -155,6 +161,8 @@ static BOOL isCoreStarted = NO;
self.cdsController = nil;
self.cdsFirmware = nil;
self.cdsGPU = nil;
[self removeAllOutputs];
[cdsOutputList release];
@ -201,30 +209,14 @@ static BOOL isCoreStarted = NO;
- (void) setMasterExecute:(BOOL)theState
{
OSSpinLockLock(&spinlockMasterExecute);
if (theState)
{
execute = true;
}
else
{
execute = false;
}
execute = theState ? true : false;
OSSpinLockUnlock(&spinlockMasterExecute);
}
- (BOOL) masterExecute
{
BOOL theState = NO;
OSSpinLockLock(&spinlockMasterExecute);
if (execute)
{
theState = YES;
}
const BOOL theState = execute ? YES : NO;
OSSpinLockUnlock(&spinlockMasterExecute);
return theState;
@ -282,17 +274,10 @@ static BOOL isCoreStarted = NO;
- (BOOL) isFrameSkipEnabled
{
BOOL theState = NO;
pthread_mutex_lock(&threadParam.mutexThreadExecute);
bool cState = threadParam.isFrameSkipEnabled;
const BOOL theState = threadParam.isFrameSkipEnabled ? YES : NO;
pthread_mutex_unlock(&threadParam.mutexThreadExecute);
if (cState)
{
theState = YES;
}
return theState;
}
@ -307,7 +292,7 @@ static BOOL isCoreStarted = NO;
- (CGFloat) speedScalar
{
OSSpinLockLock(&spinlockExecutionChange);
CGFloat scalar = speedScalar;
const CGFloat scalar = speedScalar;
OSSpinLockUnlock(&spinlockExecutionChange);
return scalar;
@ -324,7 +309,7 @@ static BOOL isCoreStarted = NO;
- (BOOL) isSpeedLimitEnabled
{
OSSpinLockLock(&spinlockExecutionChange);
BOOL enabled = isSpeedLimitEnabled;
const BOOL enabled = isSpeedLimitEnabled;
OSSpinLockUnlock(&spinlockExecutionChange);
return enabled;
@ -333,30 +318,14 @@ static BOOL isCoreStarted = NO;
- (void) setIsCheatingEnabled:(BOOL)theState
{
OSSpinLockLock(&spinlockCheatEnableFlag);
if (theState)
{
CommonSettings.cheatsDisable = false;
}
else
{
CommonSettings.cheatsDisable = true;
}
CommonSettings.cheatsDisable = theState ? false : true;
OSSpinLockUnlock(&spinlockCheatEnableFlag);
}
- (BOOL) isCheatingEnabled
{
BOOL theState = YES;
OSSpinLockLock(&spinlockCheatEnableFlag);
if (CommonSettings.cheatsDisable)
{
theState = NO;
}
BOOL theState = CommonSettings.cheatsDisable ? NO : YES;
OSSpinLockUnlock(&spinlockCheatEnableFlag);
return theState;
@ -475,7 +444,7 @@ static BOOL isCoreStarted = NO;
- (NSUInteger) emulationFlags
{
OSSpinLockLock(&spinlockEmulationFlags);
NSUInteger theFlags = emulationFlags;
const NSUInteger theFlags = emulationFlags;
OSSpinLockUnlock(&spinlockEmulationFlags);
return theFlags;
@ -483,21 +452,19 @@ static BOOL isCoreStarted = NO;
- (void) setCpuEmulationEngine:(NSInteger)engineID
{
OSSpinLockLock(&spinlockCPUEmulationEngine);
#if defined(__i386__) || defined(__x86_64__)
OSSpinLockLock(&spinlockCPUEmulationEngine);
cpuEmulationEngine = engineID;
OSSpinLockUnlock(&spinlockCPUEmulationEngine);
#else
OSSpinLockLock(&spinlockCPUEmulationEngine);
cpuEmulationEngine = CPU_EMULATION_ENGINE_INTERPRETER;
OSSpinLockUnlock(&spinlockCPUEmulationEngine);
#endif
OSSpinLockUnlock(&spinlockCPUEmulationEngine);
}
- (NSInteger) cpuEmulationEngine
{
OSSpinLockLock(&spinlockCPUEmulationEngine);
NSInteger engineID = cpuEmulationEngine;
const NSInteger engineID = cpuEmulationEngine;
OSSpinLockUnlock(&spinlockCPUEmulationEngine);
return engineID;
@ -524,7 +491,7 @@ static BOOL isCoreStarted = NO;
- (NSInteger) coreState
{
pthread_mutex_lock(&threadParam.mutexThreadExecute);
NSInteger theState = threadParam.state;
const NSInteger theState = threadParam.state;
pthread_mutex_unlock(&threadParam.mutexThreadExecute);
return theState;
@ -654,16 +621,10 @@ static BOOL isCoreStarted = NO;
********************************************************************************************/
- (void) setDynaRec
{
NSInteger engineID = [self cpuEmulationEngine];
bool useDynaRec = false;
if (engineID == CPU_EMULATION_ENGINE_DYNAMIC_RECOMPILER)
{
useDynaRec = true;
}
const NSInteger engineID = [self cpuEmulationEngine];
pthread_mutex_lock(&threadParam.mutexThreadExecute);
CommonSettings.use_jit = useDynaRec;
CommonSettings.use_jit = (engineID == CPU_EMULATION_ENGINE_DYNAMIC_RECOMPILER);
pthread_mutex_unlock(&threadParam.mutexThreadExecute);
}

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2013 DeSmuME team
Copyright (C) 2011-2013 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
@ -144,62 +144,19 @@ typedef struct
@interface CocoaDSDisplay : CocoaDSOutput
{
UInt32 gpuStateFlags;
id <CocoaDSDisplayDelegate> delegate;
NSInteger displayMode;
NSSize frameSize;
pthread_mutex_t *mutexRender3D;
OSSpinLock spinlockDelegate;
OSSpinLock spinlockGpuState;
OSSpinLock spinlockDisplayType;
OSSpinLock spinlockRender3DRenderingEngine;
OSSpinLock spinlockRender3DHighPrecisionColorInterpolation;
OSSpinLock spinlockRender3DEdgeMarking;
OSSpinLock spinlockRender3DFog;
OSSpinLock spinlockRender3DTextures;
OSSpinLock spinlockRender3DDepthComparisonThreshold;
OSSpinLock spinlockRender3DThreads;
OSSpinLock spinlockRender3DLineHack;
OSSpinLock spinlockRender3DMultisample;
}
@property (assign) UInt32 gpuStateFlags;
@property (retain) id <CocoaDSDisplayDelegate> delegate;
@property (assign) NSInteger displayMode;
@property (readonly) NSSize frameSize;
@property (readonly) pthread_mutex_t *mutexRender3D;
- (void) setRender3DRenderingEngine:(NSInteger)methodID;
- (NSInteger) render3DRenderingEngine;
- (void) setRender3DHighPrecisionColorInterpolation:(BOOL)state;
- (BOOL) render3DHighPrecisionColorInterpolation;
- (void) setRender3DEdgeMarking:(BOOL)state;
- (BOOL) render3DEdgeMarking;
- (void) setRender3DFog:(BOOL)state;
- (BOOL) render3DFog;
- (void) setRender3DTextures:(BOOL)state;
- (BOOL) render3DTextures;
- (void) setRender3DDepthComparisonThreshold:(NSUInteger)threshold;
- (NSUInteger) render3DDepthComparisonThreshold;
- (void) setRender3DThreads:(NSUInteger)numberThreads;
- (NSUInteger) render3DThreads;
- (void) setRender3DLineHack:(BOOL)state;
- (BOOL) render3DLineHack;
- (void) setRender3DMultisample:(BOOL)state;
- (BOOL) render3DMultisample;
- (void) handleChangeGpuStateFlags:(NSData *)flagsData;
- (void) handleChangeDisplayMode:(NSData *)displayModeData;
- (void) handleSetRender3DRenderingEngine:(NSData *)methodIdData;
- (void) handleSetRender3DHighPrecisionColorInterpolation:(NSData *)stateData;
- (void) handleSetRender3DEdgeMarking:(NSData *)stateData;
- (void) handleSetRender3DFog:(NSData *)stateData;
- (void) handleSetRender3DTextures:(NSData *)stateData;
- (void) handleSetRender3DDepthComparisonThreshold:(NSData *)thresholdData;
- (void) handleSetRender3DThreads:(NSData *)numberThreadsData;
- (void) handleSetRender3DLineHack:(NSData *)stateData;
- (void) handleSetRender3DMultisample:(NSData *)stateData;
- (void) handleSetViewToBlack;
- (void) handleSetViewToWhite;
- (void) handleRequestScreenshot:(NSData *)fileURLStringData fileTypeData:(NSData *)fileTypeData;
@ -210,11 +167,6 @@ typedef struct
- (NSImage *) image;
- (NSBitmapImageRep *) bitmapImageRep;
- (BOOL) gpuStateByBit:(UInt32)stateBit;
- (BOOL) isGPUTypeDisplayed:(NSInteger)theGpuType;
- (void) hideGPUType:(NSInteger)theGpuType;
- (void) showGPUType:(NSInteger)theGpuType;
@end
@interface CocoaDSDisplayVideo : CocoaDSDisplay
@ -240,29 +192,3 @@ typedef struct
- (void) handleChangeVideoFilter:(NSData *)videoFilterTypeIdData;
@end
#ifdef __cplusplus
extern "C"
{
#endif
void HandleMessageEchoResponse(NSPortMessage *portMessage);
void SetGPULayerState(int gpuType, unsigned int i, bool state);
bool GetGPULayerState(int gpuType, unsigned int i);
void SetGPUDisplayState(int gpuType, bool state);
bool GetGPUDisplayState(int gpuType);
bool OSXOpenGLRendererInit();
bool OSXOpenGLRendererBegin();
void OSXOpenGLRendererEnd();
bool CreateOpenGLRenderer();
void DestroyOpenGLRenderer();
void RequestOpenGLRenderer_3_2(bool request_3_2);
void SetOpenGLRendererFunctions(bool (*initFunction)(),
bool (*beginOGLFunction)(),
void (*endOGLFunction)());
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -29,7 +29,6 @@
NSMutableDictionary *header;
NSMutableDictionary *bindings;
NSURL *fileURL;
BOOL isDataLoaded;
NSInteger saveType;
NSMutableDictionary *xmlCurrentRom;

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -22,6 +22,7 @@
#import "cocoa_util.h"
#include "../NDSSystem.h"
#include "../MMU.h"
#include "../mc.h"
#undef BOOL
@ -31,7 +32,7 @@
@synthesize header;
@synthesize bindings;
@synthesize fileURL;
@synthesize isDataLoaded;
@dynamic isDataLoaded;
@synthesize saveType;
static NSMutableDictionary *saveTypeValues = nil;
@ -87,7 +88,6 @@ static NSMutableDictionary *saveTypeValues = nil;
}
fileURL = nil;
isDataLoaded = NO;
saveType = saveTypeID;
xmlCurrentRom = nil;
@ -104,10 +104,9 @@ static NSMutableDictionary *saveTypeValues = nil;
- (void)dealloc
{
if (isDataLoaded)
if ([self isDataLoaded])
{
NDS_FreeROM();
isDataLoaded = NO;
}
[xmlElementStack release];
@ -119,6 +118,11 @@ static NSMutableDictionary *saveTypeValues = nil;
[super dealloc];
}
- (BOOL) isDataLoaded
{
return (MMU.CART_ROM != MMU.UNUSED_RAM);
}
- (void) initHeader
{
const NDS_header *ndsRomHeader = NDS_getROMHeader();
@ -222,7 +226,6 @@ static NSMutableDictionary *saveTypeValues = nil;
}
fileURL = [theURL copy];
isDataLoaded = YES;
[self initHeader];
NSString *advscDBPath = [[NSUserDefaults standardUserDefaults] stringForKey:@"Advanscene_DatabasePath"];

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2013 DeSmuME team
Copyright (C) 2011-2013 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
@ -18,6 +18,7 @@
#import <Foundation/Foundation.h>
#include "../filter/videofilter.h"
#undef BOOL
@class NSImage;
@class NSBitmapImageRep;

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2007 Jeff Bland
Copyright (C) 2007-2012 DeSmuME team
Copyright (C) 2007-2013 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
@ -21,6 +21,7 @@
#include <pthread.h>
#include "../SPU.h"
#undef BOOL
#define SNDCORE_OSX 58325 //hopefully this is unique number

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,173 @@
/*
Copyright (C) 2013 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>
@class CocoaDSRom;
@class CocoaDSFirmware;
@class CocoaDSSpeaker;
@class CocoaDSCheatManager;
@class CheatWindowDelegate;
@interface EmuControllerDelegate : NSObject <NSUserInterfaceValidations>
{
CocoaDSRom *currentRom;
CocoaDSFirmware *cdsFirmware;
CocoaDSSpeaker *cdsSpeaker;
CocoaDSCheatManager *cdsCheats;
CocoaDSCheatManager *dummyCheatList;
CheatWindowDelegate *cheatWindowDelegate;
NSObjectController *firmwarePanelController;
NSObjectController *romInfoPanelController;
NSObjectController *cdsCoreController;
NSObjectController *cdsSoundController;
NSObjectController *cheatWindowController;
NSArrayController *cheatListController;
NSArrayController *cheatDatabaseController;
NSWindow *saveFileMigrationSheet;
NSWindow *saveStatePrecloseSheet;
NSView *exportRomSavePanelAccessoryView;
BOOL isSaveStateEdited;
NSInteger selectedExportRomSaveID;
BOOL isWorking;
BOOL isRomLoading;
NSString *statusText;
float currentVolumeValue;
NSImage *currentVolumeIcon;
BOOL isShowingSaveStateDialog;
BOOL isShowingFileMigrationDialog;
BOOL isUserInterfaceBlockingExecution;
NSURL *currentSaveStateURL;
NSInteger selectedRomSaveTypeID;
NSImage *iconVolumeFull;
NSImage *iconVolumeTwoThird;
NSImage *iconVolumeOneThird;
NSImage *iconVolumeMute;
NSImage *iconExecute;
NSImage *iconPause;
NSImage *iconSpeedNormal;
NSImage *iconSpeedDouble;
NSMutableArray *windowList;
}
@property (assign) CocoaDSRom *currentRom; // Don't rely on autorelease since the emulator doesn't support concurrent unloading
@property (retain) CocoaDSFirmware *cdsFirmware;
@property (retain) CocoaDSSpeaker *cdsSpeaker;
@property (retain) CocoaDSCheatManager *cdsCheats;
@property (readonly) IBOutlet CheatWindowDelegate *cheatWindowDelegate;
@property (readonly) IBOutlet NSObjectController *firmwarePanelController;
@property (readonly) IBOutlet NSObjectController *romInfoPanelController;
@property (readonly) IBOutlet NSObjectController *cdsCoreController;
@property (readonly) IBOutlet NSObjectController *cdsSoundController;
@property (readonly) IBOutlet NSObjectController *cheatWindowController;
@property (readonly) IBOutlet NSArrayController *cheatListController;
@property (readonly) IBOutlet NSArrayController *cheatDatabaseController;
@property (readonly) IBOutlet NSWindow *saveFileMigrationSheet;
@property (readonly) IBOutlet NSWindow *saveStatePrecloseSheet;
@property (readonly) IBOutlet NSView *exportRomSavePanelAccessoryView;
@property (assign) BOOL isWorking;
@property (assign) BOOL isRomLoading;
@property (assign) NSString *statusText;
@property (assign) float currentVolumeValue;
@property (retain) NSImage *currentVolumeIcon;
@property (assign) BOOL isShowingSaveStateDialog;
@property (assign) BOOL isShowingFileMigrationDialog;
@property (assign) BOOL isUserInterfaceBlockingExecution;
@property (retain) NSURL *currentSaveStateURL;
@property (assign) NSInteger selectedRomSaveTypeID;
@property (assign) NSInteger render3DRenderingEngine;
@property (assign) BOOL render3DHighPrecisionColorInterpolation;
@property (assign) BOOL render3DEdgeMarking;
@property (assign) BOOL render3DFog;
@property (assign) BOOL render3DTextures;
@property (assign) NSInteger render3DDepthComparisonThreshold;
@property (assign) NSInteger render3DThreads;
@property (assign) BOOL render3DLineHack;
@property (assign) BOOL render3DMultisample;
@property (readonly) NSMutableArray *windowList;
// File Menu
- (IBAction) openRom:(id)sender;
- (IBAction) closeRom:(id)sender;
- (IBAction) openEmuSaveState:(id)sender;
- (IBAction) saveEmuSaveState:(id)sender;
- (IBAction) saveEmuSaveStateAs:(id)sender;
- (IBAction) revertEmuSaveState:(id)sender;
- (IBAction) loadEmuSaveStateSlot:(id)sender;
- (IBAction) saveEmuSaveStateSlot:(id)sender;
- (IBAction) importRomSave:(id)sender;
- (IBAction) exportRomSave:(id)sender;
- (IBAction) selectExportRomSaveFormat:(id)sender;
// Emulation Menu
- (IBAction) speedLimitDisable:(id)sender;
- (IBAction) toggleAutoFrameSkip:(id)sender;
- (IBAction) cheatsDisable:(id)sender;
- (IBAction) executeCoreToggle:(id)sender;
- (IBAction) resetCore:(id)sender;
- (IBAction) changeRomSaveType:(id)sender;
// Tools Menu
- (IBAction) toggleGPUState:(id)sender;
// Window Menu
- (IBAction) newDisplayWindow:(id)sender;
- (BOOL) handleLoadRom:(NSURL *)fileURL;
- (BOOL) handleUnloadRom:(NSInteger)reasonID romToLoad:(NSURL *)romURL;
- (BOOL) loadRom:(NSURL *)romURL;
- (void) loadRomDidFinish:(NSNotification *)aNotification;
- (BOOL) unloadRom;
- (void) executeCore;
- (void) pauseCore;
- (void) restoreCoreState;
- (IBAction) changeCoreSpeed:(id)sender;
- (IBAction) changeCoreEmuFlags:(id)sender;
- (IBAction) changeFirmwareSettings:(id)sender;
- (IBAction) changeVolume:(id)sender;
- (IBAction) changeAudioEngine:(id)sender;
- (IBAction) changeSpuAdvancedLogic:(id)sender;
- (IBAction) changeSpuInterpolationMode:(id)sender;
- (IBAction) changeSpuSyncMode:(id)sender;
- (IBAction) changeSpuSyncMethod:(id)sender;
- (IBAction) closeSheet:(id)sender;
- (void) didEndFileMigrationSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) didEndSaveStateSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) didEndSaveStateSheetOpen:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) didEndSaveStateSheetTerminate:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) setupUserDefaults;
- (IBAction) writeDefaults3DRenderingSettings:(id)sender;
- (IBAction) writeDefaultsEmulationSettings:(id)sender;
- (IBAction) writeDefaultsSoundSettings:(id)sender;
@end

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -20,6 +20,7 @@
@class InputPrefsView;
@class CocoaHIDManager;
@class EmuControllerDelegate;
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
@ -29,8 +30,12 @@
#endif
{
NSObject *dummyObject;
NSArrayController *fileMigrationList;
NSObjectController *aboutWindowController;
NSObjectController *emuControlController;
NSObjectController *cdsSoundController;
NSObjectController *romInfoPanelController;
NSObjectController *emuWindowController;
NSObjectController *prefWindowController;
NSObjectController *cheatWindowController;
@ -59,8 +64,12 @@
}
@property (readonly) IBOutlet NSObject *dummyObject;
@property (readonly) IBOutlet NSArrayController *fileMigrationList;
@property (readonly) IBOutlet NSObjectController *aboutWindowController;
@property (readonly) IBOutlet NSObjectController *emuControlController;
@property (readonly) IBOutlet NSObjectController *cdsSoundController;
@property (readonly) IBOutlet NSObjectController *romInfoPanelController;
@property (readonly) IBOutlet NSObjectController *emuWindowController;
@property (readonly) IBOutlet NSObjectController *prefWindowController;
@property (readonly) IBOutlet NSObjectController *cheatWindowController;

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -17,6 +17,7 @@
*/
#import "appDelegate.h"
#import "EmuControllerDelegate.h"
#import "emuWindowDelegate.h"
#import "preferencesWindowDelegate.h"
#import "troubleshootingWindowDelegate.h"
@ -31,6 +32,7 @@
#import "cocoa_hid.h"
#import "cocoa_input.h"
#import "cocoa_mic.h"
#import "cocoa_rom.h"
#import "cocoa_util.h"
@ -48,6 +50,9 @@
@synthesize inputPrefsView;
@synthesize fileMigrationList;
@synthesize aboutWindowController;
@synthesize emuControlController;
@synthesize cdsSoundController;
@synthesize romInfoPanelController;
@synthesize emuWindowController;
@synthesize prefWindowController;
@synthesize cdsCoreController;
@ -68,7 +73,7 @@
{
BOOL result = NO;
NSURL *fileURL = [NSURL fileURLWithPath:filename];
EmuWindowDelegate *mainWindowDelegate = [mainWindow delegate];
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
if (cdsCore == nil)
@ -79,8 +84,8 @@
NSString *fileKind = [CocoaDSFile fileKindByURL:fileURL];
if ([fileKind isEqualToString:@"ROM"])
{
result = [mainWindowDelegate handleLoadRom:fileURL];
if ([mainWindowDelegate isShowingSaveStateSheet] || [mainWindowDelegate isShowingFileMigrationSheet])
result = [emuControl handleLoadRom:fileURL];
if ([emuControl isShowingSaveStateDialog] || [emuControl isShowingFileMigrationDialog])
{
// Just reply YES if a sheet is showing, even if the ROM hasn't actually been loaded yet.
// This will prevent the error dialog from showing, which is the intended behavior in
@ -94,6 +99,7 @@
- (void)applicationWillFinishLaunching:(NSNotification *)notification
{
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
EmuWindowDelegate *mainWindowDelegate = [mainWindow delegate];
PreferencesWindowDelegate *prefWindowDelegate = [prefWindow delegate];
CheatWindowDelegate *cheatWindowDelegate = (CheatWindowDelegate *)[cheatListWindow delegate];
@ -113,6 +119,7 @@
return;
}
[[emuControl windowList] addObject:mainWindow];
[CocoaDSFile setupAllFilePaths];
// Setup the About window.
@ -155,6 +162,8 @@
[self setRomInfoPanelBoxTitleColors];
// Set up all the object controllers according to our default windows.
[cdsSoundController setContent:nil];
[romInfoPanelController setContent:[CocoaDSRom romNotLoadedBindings]];
[emuWindowController setContent:[mainWindowDelegate bindings]];
[prefWindowController setContent:[prefWindowDelegate bindings]];
[cheatWindowController setContent:[cheatWindowDelegate bindings]];
@ -196,7 +205,7 @@
// Init the DS speakers.
CocoaDSSpeaker *newSpeaker = [[[CocoaDSSpeaker alloc] init] autorelease];
[newCore addOutput:newSpeaker];
[mainWindowDelegate setCdsSpeaker:newSpeaker];
[emuControl setCdsSpeaker:newSpeaker];
// Start the core thread.
[NSThread detachNewThreadSelector:@selector(runThread:) toTarget:newCore withObject:nil];
@ -226,11 +235,12 @@
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
EmuWindowDelegate *mainWindowDelegate = [mainWindow delegate];
// Load a new ROM on launch per user preferences.
BOOL loadROMOnLaunch = [[NSUserDefaults standardUserDefaults] boolForKey:@"General_AutoloadROMOnLaunch"];
if (loadROMOnLaunch && ![mainWindowDelegate isRomLoaded])
if (loadROMOnLaunch && [emuControl currentRom] == nil)
{
NSInteger autoloadRomOption = [[NSUserDefaults standardUserDefaults] integerForKey:@"General_AutoloadROMOption"];
NSURL *autoloadRomURL = nil;
@ -250,7 +260,7 @@
if (autoloadRomURL != nil)
{
[mainWindowDelegate handleLoadRom:autoloadRomURL];
[emuControl handleLoadRom:autoloadRomURL];
}
}
@ -273,14 +283,14 @@
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
EmuWindowDelegate *mainWindowDelegate = [mainWindow delegate];
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
// If a file needs to be saved, give the user a chance to save it
// before quitting.
BOOL didRomClose = [mainWindowDelegate handleUnloadRom:REASONFORCLOSE_TERMINATE romToLoad:nil];
BOOL didRomClose = [emuControl handleUnloadRom:REASONFORCLOSE_TERMINATE romToLoad:nil];
if (!didRomClose)
{
if ([mainWindowDelegate isShowingSaveStateSheet])
if ([emuControl isShowingSaveStateDialog])
{
return NSTerminateLater;
}
@ -353,6 +363,7 @@
- (NSMenuItem *) addSlotMenuItem:(NSMenu *)menu slotNumber:(NSUInteger)slotNumber
{
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
NSUInteger slotNumberKey = slotNumber;
if (slotNumber == 10)
@ -364,13 +375,14 @@
action:nil
keyEquivalent:[NSString stringWithFormat:@"%ld", (unsigned long)slotNumberKey]];
[mItem setTarget:[mainWindow delegate]];
[mItem setTarget:emuControl];
return mItem;
}
- (void) setupUserDefaults
{
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
EmuWindowDelegate *mainWindowDelegate = [mainWindow delegate];
PreferencesWindowDelegate *prefWindowDelegate = [prefWindow delegate];
NSMutableDictionary *prefBindings = [prefWindowDelegate bindings];
@ -447,6 +459,7 @@
CocoaDSFirmware *newFirmware = [[[CocoaDSFirmware alloc] initWithDictionary:newFWDict] autorelease];
[cdsCore setCdsFirmware:newFirmware];
[newFirmware update];
[emuControl setCdsFirmware:newFirmware];
// Setup the ARM7 BIOS, ARM9 BIOS, and firmware image paths per user preferences.
NSString *arm7BiosImagePath = [[NSUserDefaults standardUserDefaults] stringForKey:@"BIOS_ARM7ImagePath"];
@ -532,6 +545,7 @@
[prefWindowDelegate updateVolumeIcon:nil];
[mainWindowDelegate setupUserDefaults];
[emuControl setupUserDefaults];
}
- (void) updateInputDisplayFields

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2013 DeSmuME team
Copyright (C) 2011-2013 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
@ -82,7 +82,6 @@ enum OGLVertexAttributeID
@property (retain) NSPort *sendPortInput;
@property (retain) CocoaDSController *cdsController;
@property (readonly) NSSize normalSize;
@property (assign) UInt32 gpuStateFlags;
@property (assign) double scale;
@property (assign) double rotation;
@property (assign) BOOL useBilinearOutput;
@ -93,20 +92,10 @@ enum OGLVertexAttributeID
@property (readonly) NSMutableDictionary *bindings;
- (void) setVideoFilterType:(NSInteger)theType;
- (void) setRender3DRenderingEngine:(NSInteger)methodID;
- (void) setRender3DHighPrecisionColorInterpolation:(BOOL)state;
- (void) setRender3DEdgeMarking:(BOOL)state;
- (void) setRender3DFog:(BOOL)state;
- (void) setRender3DTextures:(BOOL)state;
- (void) setRender3DDepthComparisonThreshold:(NSUInteger)threshold;
- (void) setRender3DThreads:(NSUInteger)numberThreads;
- (void) setRender3DLineHack:(BOOL)state;
- (void) setRender3DMultisample:(BOOL)state;
- (void) setViewToBlack;
- (void) setViewToWhite;
- (void) requestScreenshot:(NSURL *)fileURL fileType:(NSBitmapImageFileType)fileType;
- (void) copyToPasteboard;
- (BOOL) gpuStateByBit:(UInt32)stateBit;
- (NSPoint) dsPointFromEvent:(NSEvent *)theEvent;
- (NSPoint) convertPointToDS:(NSPoint)clickLoc;
- (BOOL) handleKeyPress:(NSEvent *)theEvent keyPressed:(BOOL)keyPressed;

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2013 DeSmuME team
Copyright (C) 2011-2013 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
@ -17,7 +17,7 @@
*/
#import "displayView.h"
#import "emuWindowDelegate.h"
#import "EmuControllerDelegate.h"
#import "cocoa_input.h"
#import "cocoa_globals.h"
@ -80,7 +80,6 @@ const char *fragmentProgram_100 = {"\
@synthesize isHudEnabled;
@synthesize isHudEditingModeEnabled;
@dynamic normalSize;
@dynamic gpuStateFlags;
@dynamic scale;
@dynamic rotation;
@dynamic useBilinearOutput;
@ -123,20 +122,6 @@ const char *fragmentProgram_100 = {"\
isHudEnabled = NO;
isHudEditingModeEnabled = NO;
UInt32 gpuStateFlags = GPUSTATE_MAIN_GPU_MASK |
GPUSTATE_MAIN_BG0_MASK |
GPUSTATE_MAIN_BG1_MASK |
GPUSTATE_MAIN_BG2_MASK |
GPUSTATE_MAIN_BG3_MASK |
GPUSTATE_MAIN_OBJ_MASK |
GPUSTATE_SUB_GPU_MASK |
GPUSTATE_SUB_BG0_MASK |
GPUSTATE_SUB_BG1_MASK |
GPUSTATE_SUB_BG2_MASK |
GPUSTATE_SUB_BG3_MASK |
GPUSTATE_SUB_OBJ_MASK;
[bindings setValue:[NSNumber numberWithInt:gpuStateFlags] forKey:@"GpuStateFlags"];
[bindings setValue:[NSNumber numberWithDouble:1.0] forKey:@"scale"];
[bindings setValue:[NSNumber numberWithDouble:0.0] forKey:@"rotation"];
[bindings setValue:[NSNumber numberWithBool:YES] forKey:@"useBilinearOutput"];
@ -145,15 +130,6 @@ const char *fragmentProgram_100 = {"\
[bindings setValue:@"Combo" forKey:@"displayModeString"];
[bindings setValue:[NSNumber numberWithInteger:VideoFilterTypeID_None] forKey:@"videoFilterType"];
[bindings setValue:[CocoaVideoFilter typeStringByID:VideoFilterTypeID_None] forKey:@"videoFilterTypeString"];
[bindings setValue:[NSNumber numberWithInteger:CORE3DLIST_NULL] forKey:@"render3DRenderingEngine"];
[bindings setValue:[NSNumber numberWithBool:YES] forKey:@"render3DHighPrecisionColorInterpolation"];
[bindings setValue:[NSNumber numberWithBool:YES] forKey:@"render3DEdgeMarking"];
[bindings setValue:[NSNumber numberWithBool:YES] forKey:@"render3DFog"];
[bindings setValue:[NSNumber numberWithBool:YES] forKey:@"render3DTextures"];
[bindings setValue:[NSNumber numberWithInteger:0] forKey:@"render3DDepthComparisonThreshold"];
[bindings setValue:[NSNumber numberWithInteger:0] forKey:@"render3DThreads"];
[bindings setValue:[NSNumber numberWithBool:YES] forKey:@"render3DLineHack"];
[bindings setValue:[NSNumber numberWithBool:NO] forKey:@"render3DMultisample"];
return self;
}
@ -176,24 +152,6 @@ const char *fragmentProgram_100 = {"\
return theSize;
}
- (void) setGpuStateFlags:(UInt32)flags
{
OSSpinLockLock(&spinlockGpuStateFlags);
[bindings setValue:[NSNumber numberWithInt:flags] forKey:@"GpuStateFlags"];
OSSpinLockUnlock(&spinlockGpuStateFlags);
[CocoaDSUtil messageSendOneWayWithInteger:self.sendPortDisplay msgID:MESSAGE_SET_GPU_STATE_FLAGS integerValue:flags];
}
- (UInt32) gpuStateFlags
{
OSSpinLockLock(&spinlockGpuStateFlags);
UInt32 flags = [[bindings valueForKey:@"GpuStateFlags"] intValue];
OSSpinLockUnlock(&spinlockGpuStateFlags);
return flags;
}
- (void) setScale:(double)s
{
OSSpinLockLock(&spinlockScale);
@ -406,60 +364,6 @@ const char *fragmentProgram_100 = {"\
[CocoaDSUtil messageSendOneWayWithInteger:self.sendPortDisplay msgID:MESSAGE_CHANGE_VIDEO_FILTER integerValue:theType];
}
- (void) setRender3DRenderingEngine:(NSInteger)methodID
{
[bindings setValue:[NSNumber numberWithInteger:methodID] forKey:@"render3DRenderingEngine"];
[CocoaDSUtil messageSendOneWayWithInteger:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_METHOD integerValue:methodID];
}
- (void) setRender3DHighPrecisionColorInterpolation:(BOOL)state
{
[bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DHighPrecisionColorInterpolation"];
[CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_HIGH_PRECISION_COLOR_INTERPOLATION boolValue:state];
}
- (void) setRender3DEdgeMarking:(BOOL)state
{
[bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DEdgeMarking"];
[CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_EDGE_MARKING boolValue:state];
}
- (void) setRender3DFog:(BOOL)state
{
[bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DFog"];
[CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_FOG boolValue:state];
}
- (void) setRender3DTextures:(BOOL)state
{
[bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DTextures"];
[CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_TEXTURES boolValue:state];
}
- (void) setRender3DDepthComparisonThreshold:(NSUInteger)threshold
{
[bindings setValue:[NSNumber numberWithInteger:threshold] forKey:@"render3DDepthComparisonThreshold"];
[CocoaDSUtil messageSendOneWayWithInteger:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_DEPTH_COMPARISON_THRESHOLD integerValue:threshold];
}
- (void) setRender3DThreads:(NSUInteger)numberThreads
{
[bindings setValue:[NSNumber numberWithInteger:numberThreads] forKey:@"render3DThreads"];
[CocoaDSUtil messageSendOneWayWithInteger:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_THREADS integerValue:numberThreads];
}
- (void) setRender3DLineHack:(BOOL)state
{
[bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DLineHack"];
[CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_LINE_HACK boolValue:state];
}
- (void) setRender3DMultisample:(BOOL)state
{
[bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DMultisample"];
[CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_MULTISAMPLE boolValue:state];
}
- (void) setViewToBlack
{
[CocoaDSUtil messageSendOneWay:self.sendPortDisplay msgID:MESSAGE_SET_VIEW_TO_BLACK];
@ -549,19 +453,6 @@ const char *fragmentProgram_100 = {"\
[CocoaDSUtil messageSendOneWay:self.sendPortDisplay msgID:MESSAGE_COPY_TO_PASTEBOARD];
}
- (BOOL) gpuStateByBit:(UInt32)stateBit
{
BOOL result = NO;
UInt32 flags = [self gpuStateFlags];
if (flags & (1 << stateBit))
{
result = YES;
}
return result;
}
- (BOOL) handleKeyPress:(NSEvent *)theEvent keyPressed:(BOOL)keyPressed
{
BOOL isHandled = NO;
@ -581,9 +472,9 @@ const char *fragmentProgram_100 = {"\
[NSNumber numberWithBool:keyPressed], @"on",
nil];
if (keyPressed && [theEvent window] != nil && [[[theEvent window] delegate] respondsToSelector:@selector(setStatus:)])
if (keyPressed && [theEvent window] != nil && [[[theEvent window] delegate] respondsToSelector:@selector(setStatusText:)])
{
[(EmuWindowDelegate *)[[theEvent window] delegate] setStatus:[NSString stringWithFormat:@"Keyboard:%i", [theEvent keyCode]]];
[(EmuControllerDelegate *)[[theEvent window] delegate] setStatusText:[NSString stringWithFormat:@"Keyboard:%i", [theEvent keyCode]]];
}
isHandled = [self.cdsController setStateWithInput:inputAttributes];
@ -636,9 +527,9 @@ const char *fragmentProgram_100 = {"\
[NSNumber numberWithFloat:touchLoc.y], @"pointY",
nil];
if (buttonPressed && [theEvent window] != nil && [[[theEvent window] delegate] respondsToSelector:@selector(setStatus:)])
if (buttonPressed && [theEvent window] != nil && [[[theEvent window] delegate] respondsToSelector:@selector(setStatusText:)])
{
[(EmuWindowDelegate *)[[theEvent window] delegate] setStatus:[NSString stringWithFormat:@"Mouse:%li X:%li Y:%li", (long)[theEvent buttonNumber], (long)(touchLoc.x), (long)(touchLoc.y)]];
[(EmuControllerDelegate *)[[theEvent window] delegate] setStatusText:[NSString stringWithFormat:@"Mouse:%li X:%li Y:%li", (long)[theEvent buttonNumber], (long)(touchLoc.x), (long)(touchLoc.y)]];
}
isHandled = [self.cdsController setStateWithInput:inputAttributes];

View File

@ -1,6 +1,6 @@
/*
Copyright (C) 2011 Roger Manuel
Copyright (C) 2012 DeSmuME team
Copyright (C) 2011-2013 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
@ -19,11 +19,7 @@
#import <Cocoa/Cocoa.h>
@protocol DisplayViewDelegate;
@class CocoaDSRom;
@class CocoaDSSpeaker;
@class CocoaDSCheatManager;
@class DisplayViewDelegate;
@class CheatWindowDelegate;
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
@ -37,79 +33,33 @@
NSWindow *saveFileMigrationSheet;
NSWindow *saveStatePrecloseSheet;
NSView <DisplayViewDelegate> *displayView;
NSView *exportRomSavePanelAccessoryView;
NSView *saveScreenshotPanelAccessoryView;
CocoaDSRom *currentRom;
CocoaDSSpeaker *cdsSpeaker;
CocoaDSCheatManager *cdsCheats;
CocoaDSCheatManager *dummyCheatList;
DisplayViewDelegate *dispViewDelegate;
CheatWindowDelegate *cheatWindowDelegate;
NSObjectController *romInfoPanelController;
NSObjectController *firmwarePanelController;
NSObjectController *cdsCoreController;
NSObjectController *cdsDisplayController;
NSObjectController *cdsSoundController;
NSObjectController *emuControlController;
NSObjectController *emuWindowController;
NSObjectController *cheatWindowController;
NSArrayController *cheatListController;
NSArrayController *cheatDatabaseController;
NSImage *iconVolumeFull;
NSImage *iconVolumeTwoThird;
NSImage *iconVolumeOneThird;
NSImage *iconVolumeMute;
NSImage *iconExecute;
NSImage *iconPause;
NSImage *iconSpeedNormal;
NSImage *iconSpeedDouble;
BOOL isRomLoading;
BOOL isSheetControllingExecution;
BOOL isShowingSaveStateSheet;
BOOL isShowingFileMigrationSheet;
BOOL isShowingStatusBar;
NSUInteger statusBarHeight;
NSSize minDisplayViewSize;
BOOL isMinSizeNormal;
NSBitmapImageFileType screenshotFileFormat;
NSURL *currentEmuSaveStateURL;
NSInteger selectedExportRomSaveID;
NSInteger selectedRomSaveTypeID;
NSMutableDictionary *bindings;
}
@property (readonly) IBOutlet NSObject *dummyObject;
@property (readonly) IBOutlet NSWindow *window;
@property (readonly) IBOutlet NSWindow *saveFileMigrationSheet;
@property (readonly) IBOutlet NSWindow *saveStatePrecloseSheet;
@property (readonly) IBOutlet NSView <DisplayViewDelegate> *displayView;
@property (readonly) IBOutlet NSView *exportRomSavePanelAccessoryView;
@property (readonly) IBOutlet NSView *saveScreenshotPanelAccessoryView;
@property (retain) CocoaDSRom *currentRom;
@property (retain) CocoaDSSpeaker *cdsSpeaker;
@property (retain) CocoaDSCheatManager *cdsCheats;
@property (retain) DisplayViewDelegate *dispViewDelegate;
@property (readonly) IBOutlet CheatWindowDelegate *cheatWindowDelegate;
@property (readonly) IBOutlet NSObjectController *romInfoPanelController;
@property (readonly) IBOutlet NSObjectController *firmwarePanelController;
@property (readonly) IBOutlet NSObjectController *cdsCoreController;
@property (readonly) IBOutlet NSObjectController *cdsDisplayController;
@property (readonly) IBOutlet NSObjectController *cdsSoundController;
@property (readonly) IBOutlet NSObjectController *emuControlController;
@property (readonly) IBOutlet NSObjectController *emuWindowController;
@property (readonly) IBOutlet NSObjectController *cheatWindowController;
@property (readonly) IBOutlet NSArrayController *cheatListController;
@property (readonly) IBOutlet NSArrayController *cheatDatabaseController;
@property (assign) BOOL isSheetControllingExecution;
@property (assign) BOOL isShowingSaveStateSheet;
@property (assign) BOOL isShowingFileMigrationSheet;
@property (assign) BOOL isMinSizeNormal;
@property (assign) NSInteger selectedRomSaveTypeID;
@property (readonly) NSMutableDictionary *bindings;
@ -117,37 +67,10 @@
- (void) setContentRotation:(double)angleDegrees;
- (double) resizeWithTransform:(NSSize)normalBounds scalar:(double)scalar rotation:(double)angleDegrees;
- (double) maxContentScalar:(NSSize)contentBounds;
- (void) setVolume:(float)vol;
- (float) volume;
- (void) setIsRomLoaded:(BOOL)theState;
- (BOOL) isRomLoaded;
- (void) setStatus:(NSString *)theString;
- (NSString *) status;
// File Menu
- (IBAction) openRom:(id)sender;
- (IBAction) closeRom:(id)sender;
- (IBAction) openEmuSaveState:(id)sender;
- (IBAction) saveEmuSaveState:(id)sender;
- (IBAction) saveEmuSaveStateAs:(id)sender;
- (IBAction) revertEmuSaveState:(id)sender;
- (IBAction) loadEmuSaveStateSlot:(id)sender;
- (IBAction) saveEmuSaveStateSlot:(id)sender;
- (IBAction) importRomSave:(id)sender;
- (IBAction) exportRomSave:(id)sender;
- (IBAction) selectExportRomSaveFormat:(id)sender;
// Edit Menu
- (IBAction) copy:(id)sender;
// Emulation Menu
- (IBAction) speedLimitDisable:(id)sender;
- (IBAction) toggleAutoFrameSkip:(id)sender;
- (IBAction) cheatsDisable:(id)sender;
- (IBAction) executeCoreToggle:(id)sender;
- (IBAction) resetCore:(id)sender;
- (IBAction) changeRomSaveType:(id)sender;
// View Menu
- (IBAction) hudDisable:(id)sender;
- (IBAction) toggleKeepMinDisplaySizeAtNormal:(id)sender;
@ -157,32 +80,7 @@
- (IBAction) selectScreenshotFileFormat:(id)sender;
- (IBAction) saveScreenshotAs:(id)sender;
- (void) saveScreenshotAsFinish:(NSNotification *)aNotification;
- (IBAction) toggleGPUState:(id)sender;
// Help Menu
// Window Elements
- (BOOL) handleLoadRom:(NSURL *)fileURL;
- (BOOL) handleUnloadRom:(NSInteger)reasonID romToLoad:(NSURL *)romURL;
- (BOOL) loadRom:(NSURL *)romURL;
- (void) loadRomDidFinish:(NSNotification *)aNotification;
- (BOOL) unloadRom;
- (void) executeCore;
- (void) pauseCore;
- (void) restoreCoreState;
- (IBAction) changeCoreSpeed:(id)sender;
- (IBAction) changeCoreEmuFlags:(id)sender;
- (IBAction) changeFirmwareSettings:(id)sender;
- (IBAction) changeVolume:(id)sender;
- (IBAction) changeAudioEngine:(id)sender;
- (IBAction) changeSpuAdvancedLogic:(id)sender;
- (IBAction) changeSpuInterpolationMode:(id)sender;
- (IBAction) changeSpuSyncMode:(id)sender;
- (IBAction) changeSpuSyncMethod:(id)sender;
- (IBAction) changeScale:(id)sender;
- (IBAction) changeRotation:(id)sender;
- (IBAction) changeRotationRelative:(id)sender;
@ -192,30 +90,12 @@
- (IBAction) changeDisplayOrientation:(id)sender;
- (IBAction) changeDisplayOrder:(id)sender;
- (IBAction) changeVideoFilter:(id)sender;
- (IBAction) change3DRenderMethod:(id)sender;
- (IBAction) change3DRenderHighPrecisionColorInterpolation:(id)sender;
- (IBAction) change3DRenderEdgeMarking:(id)sender;
- (IBAction) change3DRenderFog:(id)sender;
- (IBAction) change3DRenderTextures:(id)sender;
- (IBAction) change3DRenderDepthComparisonThreshold:(id)sender;
- (IBAction) change3DRenderThreads:(id)sender;
- (IBAction) change3DRenderLineHack:(id)sender;
- (IBAction) change3DRenderMultisample:(id)sender;
- (void) setShowStatusBar:(BOOL)showStatusBar;
- (IBAction) closeMigrationSheet:(id)sender;
- (void) didEndFileMigrationSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) didEndSaveStateSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) didEndSaveStateSheetOpen:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) didEndSaveStateSheetTerminate:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (void) setupUserDefaults;
- (IBAction) writeDefaultsDisplayRotation:(id)sender;
- (IBAction) writeDefaultsHUDSettings:(id)sender;
- (IBAction) writeDefaultsVideoOutputSettings:(id)sender;
- (IBAction) writeDefaults3DRenderingSettings:(id)sender;
- (IBAction) writeDefaultsEmulationSettings:(id)sender;
- (IBAction) writeDefaultsSoundSettings:(id)sender;
@end

File diff suppressed because it is too large Load Diff