Merge pull request #730 from reicast/wip/osx-support

OSX support
This commit is contained in:
TwistedUmbrella 2015-08-11 08:16:46 -04:00
commit 6487109507
89 changed files with 3438 additions and 255 deletions

2
.gitignore vendored
View File

@ -53,3 +53,5 @@ shell/lin86/reicast.elf
shell/lin64/.map
shell/lin64/nosym-reicast.elf
shell/lin64/reicast.elf
reicast-ios.xccheckout

View File

@ -199,6 +199,9 @@
#elif defined(TARGET_IPHONE)
#define HOST_OS OS_DARWIN
#define HOST_CPU CPU_ARM
#elif defined(TARGET_OSX)
#define HOST_OS OS_DARWIN
#define HOST_CPU CPU_GENERIC
#else
#error Invalid Target: TARGET_* not defined
#endif

View File

@ -305,5 +305,6 @@ size_t core_fsize(core_file* fc)
#if FEAT_HAS_COREIO_HTTP
return HTTP_GET(f->host, f->port, f->path, 0, 0,0);
#endif
}
}
return 0;
}

View File

@ -1,7 +1,7 @@
#pragma once
#if 1
#include "types.h"
#include "../types.h"
#else
//basic types
typedef signed __int8 s8;

View File

@ -408,6 +408,8 @@ void recSh4_Init()
#if HOST_CPU == CPU_X64
verify(rcb_noffs(p_sh4rcb->fpcb) == -67371008);
#elif HOST_CPU == CPU_GENERIC
verify(rcb_noffs(p_sh4rcb->fpcb) == -33816576 || rcb_noffs(p_sh4rcb->fpcb) == -67371008);
#else
verify(rcb_noffs(p_sh4rcb->fpcb) == -33816576);
#endif

View File

@ -72,32 +72,31 @@ void SetFloatStatusReg()
{
old_rm=fpscr.RM ;
old_dn=fpscr.DN ;
u32 temp=0x1f80; //no flush to zero && round to nearest
//Correct rounding is required by some games (SOTB, etc)
#if BUILD_COMPILER == COMPILER_VC
if (fpscr.RM == 1) //if round to 0 , set the flag
_controlfp(_RC_CHOP, _MCW_RC);
else
_controlfp(_RC_NEAR, _MCW_RC);
if (fpscr.DN) //denormals are considered 0
_controlfp(_DN_FLUSH, _MCW_DN);
else
_controlfp(_DN_SAVE, _MCW_DN);
#else
#if HOST_CPU==CPU_X86 || HOST_CPU==CPU_X64
//TODO: Implement this (needed for SOTB)
#if HOST_CPU==CPU_X86
u32 temp=0x1f80; //no flush to zero && round to nearest
#if BUILD_COMPILER == COMPILER_VC
if (fpscr.RM == 1) //if round to 0 , set the flag
_controlfp(_RC_CHOP, _MCW_RC);
else
_controlfp(_RC_NEAR, _MCW_RC);
if (fpscr.DN) //denormals are considered 0
_controlfp(_DN_FLUSH, _MCW_DN);
else
_controlfp(_DN_SAVE, _MCW_DN);
#else
if (fpscr.RM==1) //if round to 0 , set the flag
temp|=(3<<13);
if (fpscr.DN) //denormals are considered 0
temp|=(1<<15);
asm("ldmxcsr %0" : : "m"(temp));
#endif
#elif HOST_CPU==CPU_ARM
#elif HOST_CPU==CPU_ARM
static const unsigned int x = 0x04086060;
unsigned int y = 0x02000000;
if (fpscr.RM==1) //if round to 0 , set the flag
@ -118,6 +117,9 @@ void SetFloatStatusReg()
: "=r"(raa)
: "r"(x), "r"(y)
);
#else
printf("SetFloatStatusReg: Unsupported platform\n");
#endif
#endif
}

View File

@ -448,17 +448,7 @@ return;
if ('D' == key) { kcode[port] &= ~DPad_Left; }
if ('C' == key) { kcode[port] &= ~DPad_Right; }
#else
if ('b' == key) { kcode[port] &= ~Btn_C; }
if ('v' == key) { kcode[port] &= ~Btn_A; }
if ('c' == key) { kcode[port] &= ~Btn_B; }
if ('x' == key) { kcode[port] &= ~Btn_Y; }
if ('z' == key) { kcode[port] &= ~Btn_X; }
if ('i' == key) { kcode[port] &= ~DPad_Up; }
if ('k' == key) { kcode[port] &= ~DPad_Down; }
if ('j' == key) { kcode[port] &= ~DPad_Left; }
if ('l' == key) { kcode[port] &= ~DPad_Right; }
#endif
if (0x0A== key) { kcode[port] &= ~Btn_Start; }
 
#ifdef TARGET_PANDORA
if ('q' == key){ die("death by escape key"); }
#endif

View File

@ -18,7 +18,7 @@
#include <sys/param.h>
#include <sys/mman.h>
#include <sys/time.h>
#if !defined(_ANDROID) && !defined(TARGET_OS_IPHONE) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN)
#if !defined(_ANDROID) && !defined(TARGET_OS_IPHONE) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && !defined(TARGET_OSX)
#include <sys/personality.h>
#include <dlfcn.h>
#endif
@ -45,7 +45,7 @@ void sigill_handler(int sn, siginfo_t * si, void *segfault_ctx) {
unat pc = (unat)ctx.pc;
bool dyna_cde = (pc>(unat)CodeCache) && (pc<(unat)(CodeCache + CODE_SIZE));
printf("SIGILL @ %08X, fault_handler+0x%08X ... %08X -> was not in vram, %d\n", pc, pc - (u32)sigill_handler, (unat)si->si_addr, dyna_cde);
printf("SIGILL @ %08X, fault_handler+0x%08X ... %08X -> was not in vram, %d\n", pc, pc - (unat)sigill_handler, (unat)si->si_addr, dyna_cde);
printf("Entering infiniloop");
@ -69,7 +69,7 @@ void fault_handler (int sn, siginfo_t * si, void *segfault_ctx)
if (VramLockedWrite((u8*)si->si_addr) || BM_LockedWrite((u8*)si->si_addr))
return;
#if FEAT_SHREC != DYNAREC_NONE
#if FEAT_SHREC == DYNAREC_JIT
#if HOST_CPU==CPU_ARM
else if (dyna_cde)
{

View File

@ -64,6 +64,8 @@ void context_segfault(rei_host_context_t* reictx, void* segfault_ctx, bool to_se
bicopy(reictx->pc, MCTX(.gregs[REG_RIP]), to_segfault);
#elif HOST_CPU == CPU_MIPS
bicopy(reictx->pc, MCTX(.pc), to_segfault);
#elif HOST_CPU == CPU_GENERIC
//nothing!
#else
#error Unsupported HOST_CPU
#endif

View File

@ -2,7 +2,9 @@
struct rei_host_context_t {
#if HOST_CPU != CPU_GENERIC
unat pc;
#endif
#if HOST_CPU == CPU_X86
u32 eax;
@ -14,4 +16,4 @@ struct rei_host_context_t {
};
void context_from_segfault(rei_host_context_t* reictx, void* segfault_ctx);
void context_to_segfault(rei_host_context_t* reictx, void* segfault_ctx);
void context_to_segfault(rei_host_context_t* reictx, void* segfault_ctx);

View File

@ -16,9 +16,11 @@ int fbdev = -1;
#endif
#ifndef GLES
#if HOST_OS != OS_DARWIN
#include <GL3/gl3w.c>
#pragma comment(lib,"Opengl32.lib")
#endif
#endif
/*
GL|ES 2

View File

@ -23,9 +23,13 @@
#pragma comment(lib,"libGLES20.lib")
#endif
#else
#if HOST_OS == OS_DARWIN
#include <OpenGL/gl3.h>
#else
#include <GL3/gl3w.h>
#endif
#endif
#define glCheck() do { if (unlikely(settings.validate.OpenGlChecks)) { verify(glGetError()==GL_NO_ERROR); } } while(0)

View File

@ -41,6 +41,8 @@ int dpad_or_btn = 0;
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
// [event allTouches];
if (dpad_or_btn &1)
kcode[0] |= (key_CONT_START|key_CONT_A);
else

View File

Before

Width:  |  Height:  |  Size: 606 B

After

Width:  |  Height:  |  Size: 606 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 416 B

After

Width:  |  Height:  |  Size: 416 B

View File

Before

Width:  |  Height:  |  Size: 793 B

After

Width:  |  Height:  |  Size: 793 B

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,7 @@
Copyright (C) 2011, 2012 by Stuart Carnie
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,66 @@
/*
Copyright (C) 2011 by Stuart Carnie
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#import <UIKit/UIKit.h>
#import "iCadeState.h"
/*
UP ON,OFF = w,e
RT ON,OFF = d,c
DN ON,OFF = x,z
LT ON,OFF = a,q
A ON,OFF = y,t
B ON,OFF = h,r
C ON,OFF = u,f
D ON,OFF = j,n
E ON,OFF = i,m
F ON,OFF = k,p
G ON,OFF = o,g
H ON,OFF = l,v
*/
@protocol iCadeEventDelegate <NSObject>
@optional
- (void)stateChanged:(iCadeState)state;
- (void)buttonDown:(iCadeState)button;
- (void)buttonUp:(iCadeState)button;
@end
@interface iCadeReaderView : UIView<UIKeyInput> {
UIView *inputView;
iCadeState _iCadeState;
id<iCadeEventDelegate> _delegate;
struct {
bool stateChanged:1;
bool buttonDown:1;
bool buttonUp:1;
} _delegateFlags;
}
@property (nonatomic, assign) iCadeState iCadeState;
@property (nonatomic, assign) id<iCadeEventDelegate> delegate;
@property (nonatomic, assign) BOOL active;
@end

View File

@ -0,0 +1,141 @@
/*
Copyright (C) 2011 by Stuart Carnie
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#import "iCadeReaderView.h"
static const char *ON_STATES = "wdxayhujikol";
static const char *OFF_STATES = "eczqtrfnmpgv";
@interface iCadeReaderView()
- (void)didEnterBackground;
- (void)didBecomeActive;
@end
@implementation iCadeReaderView
@synthesize iCadeState=_iCadeState, delegate=_delegate, active;
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
inputView = [[UIView alloc] initWithFrame:CGRectZero];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
return self;
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
[super dealloc];
}
- (void)didEnterBackground {
if (self.active)
[self resignFirstResponder];
}
- (void)didBecomeActive {
if (self.active)
[self becomeFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)setActive:(BOOL)value {
if (active == value) return;
active = value;
if (active) {
[self becomeFirstResponder];
} else {
[self resignFirstResponder];
}
}
- (UIView*) inputView {
return inputView;
}
- (void)setDelegate:(id<iCadeEventDelegate>)delegate {
_delegate = delegate;
if (!_delegate) return;
_delegateFlags.stateChanged = [_delegate respondsToSelector:@selector(stateChanged:)];
_delegateFlags.buttonDown = [_delegate respondsToSelector:@selector(buttonDown:)];
_delegateFlags.buttonUp = [_delegate respondsToSelector:@selector(buttonUp:)];
}
#pragma mark -
#pragma mark UIKeyInput Protocol Methods
- (BOOL)hasText {
return NO;
}
- (void)insertText:(NSString *)text {
char ch = [text characterAtIndex:0];
char *p = strchr(ON_STATES, ch);
bool stateChanged = false;
if (p) {
int index = p-ON_STATES;
_iCadeState = (iCadeState) (_iCadeState | (1 << index));
stateChanged = true;
if (_delegateFlags.buttonDown) {
[_delegate buttonDown:(iCadeState) (1 << index)];
}
} else {
p = strchr(OFF_STATES, ch);
if (p) {
int index = p-OFF_STATES;
_iCadeState = (iCadeState) (_iCadeState & ~(1 << index));
stateChanged = true;
if (_delegateFlags.buttonUp) {
[_delegate buttonUp:(iCadeState) (1 << index)];
}
}
}
if (stateChanged && _delegateFlags.stateChanged) {
[_delegate stateChanged:_iCadeState];
}
static int cycleResponder = 0;
if (++cycleResponder > 20) {
// necessary to clear a buffer that accumulates internally
cycleResponder = 0;
[self resignFirstResponder];
[self becomeFirstResponder];
}
}
- (void)deleteBackward {
// This space intentionally left blank to complete protocol
}
@end

View File

@ -0,0 +1,44 @@
/*
Copyright (C) 2011 by Stuart Carnie
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
typedef enum iCadeState {
iCadeJoystickNone = 0x000,
iCadeJoystickUp = 0x001,
iCadeJoystickRight = 0x002,
iCadeJoystickDown = 0x004,
iCadeJoystickLeft = 0x008,
iCadeJoystickUpRight = iCadeJoystickUp | iCadeJoystickRight,
iCadeJoystickDownRight = iCadeJoystickDown | iCadeJoystickRight,
iCadeJoystickUpLeft = iCadeJoystickUp | iCadeJoystickLeft,
iCadeJoystickDownLeft = iCadeJoystickDown | iCadeJoystickLeft,
iCadeButtonA = 0x010,
iCadeButtonB = 0x020,
iCadeButtonC = 0x040,
iCadeButtonD = 0x080,
iCadeButtonE = 0x100,
iCadeButtonF = 0x200,
iCadeButtonG = 0x400,
iCadeButtonH = 0x800,
} iCadeState;

View File

@ -7,9 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
846293C61A6CE61900262464 /* EmulatorView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 846293C51A6CE61900262464 /* EmulatorView.mm */; };
8497BCBF1A41A0E900EFB9ED /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8497BCBC1A41A0E900EFB9ED /* common.cpp */; };
8497BCC21A41B02000EFB9ED /* ios_main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8497BCC11A41B02000EFB9ED /* ios_main.mm */; };
8497BCC01A41A0E900EFB9ED /* nixprof.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8497BCBD1A41A0E900EFB9ED /* nixprof.cpp */; };
8497BCCF1A41BFD800EFB9ED /* coreio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8497BCCD1A41BFD800EFB9ED /* coreio.cpp */; };
849C0D621B072C07008BAAA4 /* context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 849C0D601B072C07008BAAA4 /* context.cpp */; };
849C0D661B072CF8008BAAA4 /* reios.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 849C0D641B072CF8008BAAA4 /* reios.cpp */; };
@ -29,7 +28,6 @@
87078A9B18A47FE90034C7A0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 87078A9A18A47FE90034C7A0 /* AppDelegate.m */; };
87078AA318A47FE90034C7A0 /* Shader.fsh in Resources */ = {isa = PBXBuildFile; fileRef = 87078AA218A47FE90034C7A0 /* Shader.fsh */; };
87078AA518A47FE90034C7A0 /* Shader.vsh in Resources */ = {isa = PBXBuildFile; fileRef = 87078AA418A47FE90034C7A0 /* Shader.vsh */; };
87078AA818A47FE90034C7A0 /* EmulatorViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 87078AA718A47FE90034C7A0 /* EmulatorViewController.mm */; };
877652C21B6157BD00437F10 /* audiobackend_alsa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 877652B61B6157BD00437F10 /* audiobackend_alsa.cpp */; };
877652C31B6157BD00437F10 /* audiobackend_directsound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 877652B91B6157BD00437F10 /* audiobackend_directsound.cpp */; };
877652C41B6157BD00437F10 /* audiobackend_oss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 877652BB1B6157BD00437F10 /* audiobackend_oss.cpp */; };
@ -39,9 +37,42 @@
877652CA1B6157FC00437F10 /* rec_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 877652C81B6157FC00437F10 /* rec_arm.cpp */; };
87C4AA541A440BEB0048DBF4 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 87C4AA531A440BEB0048DBF4 /* libz.dylib */; };
87C4AA561A4414070048DBF4 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87C4AA551A4414070048DBF4 /* AssetsLibrary.framework */; };
87C4CC5B1B75491400CE6D3C /* nixprof.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87C4CC5A1B75491400CE6D3C /* nixprof.cpp */; };
87C4CC5D1B75499700CE6D3C /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87C4CC5C1B75499700CE6D3C /* GameController.framework */; };
87C64DDC1B6E80A400FDD99A /* iCadeReaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 87C64DDA1B6E80A400FDD99A /* iCadeReaderView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
87D92EA81B7839E600D8FD9E /* ios_main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 87D92EA71B7839E600D8FD9E /* ios_main.mm */; };
87D92F171B7A1B3400D8FD9E /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F041B7A1B3400D8FD9E /* AboutViewController.m */; };
87D92F181B7A1B3400D8FD9E /* BrowserTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F061B7A1B3400D8FD9E /* BrowserTableViewController.m */; };
87D92F191B7A1B3400D8FD9E /* CloudVMUViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F081B7A1B3400D8FD9E /* CloudVMUViewController.m */; };
87D92F1A1B7A1B3400D8FD9E /* EmulatorView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F0A1B7A1B3400D8FD9E /* EmulatorView.mm */; };
87D92F1B1B7A1B3400D8FD9E /* EmulatorViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F0C1B7A1B3400D8FD9E /* EmulatorViewController.mm */; };
87D92F1C1B7A1B3400D8FD9E /* InputViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F0E1B7A1B3400D8FD9E /* InputViewController.m */; };
87D92F1D1B7A1B3400D8FD9E /* PathsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F101B7A1B3400D8FD9E /* PathsViewController.m */; };
87D92F1E1B7A1B3400D8FD9E /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F121B7A1B3400D8FD9E /* SettingsViewController.m */; };
87D92F1F1B7A1B3400D8FD9E /* SideDrawerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F141B7A1B3400D8FD9E /* SideDrawerViewController.m */; };
87D92F201B7A1B3400D8FD9E /* SWRevealViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F161B7A1B3400D8FD9E /* SWRevealViewController.m */; };
87D92F371B7A1B4800D8FD9E /* 210-octocat.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F211B7A1B4800D8FD9E /* 210-octocat.png */; };
87D92F381B7A1B4800D8FD9E /* 210-octocat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F221B7A1B4800D8FD9E /* 210-octocat@2x.png */; };
87D92F391B7A1B4800D8FD9E /* 210-twitterbird.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F231B7A1B4800D8FD9E /* 210-twitterbird.png */; };
87D92F3A1B7A1B4800D8FD9E /* 210-twitterbird@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F241B7A1B4800D8FD9E /* 210-twitterbird@2x.png */; };
87D92F3B1B7A1B4800D8FD9E /* ABXYPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F251B7A1B4800D8FD9E /* ABXYPad.png */; };
87D92F3C1B7A1B4800D8FD9E /* ABXYPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F261B7A1B4800D8FD9E /* ABXYPad@2x.png */; };
87D92F3D1B7A1B4800D8FD9E /* DPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F271B7A1B4800D8FD9E /* DPad.png */; };
87D92F3E1B7A1B4800D8FD9E /* DPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F281B7A1B4800D8FD9E /* DPad@2x.png */; };
87D92F3F1B7A1B4800D8FD9E /* JoystickBackground.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F291B7A1B4800D8FD9E /* JoystickBackground.png */; };
87D92F401B7A1B4800D8FD9E /* JoystickBackground@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F2A1B7A1B4800D8FD9E /* JoystickBackground@2x.png */; };
87D92F411B7A1B4800D8FD9E /* JoystickButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F2B1B7A1B4800D8FD9E /* JoystickButton.png */; };
87D92F421B7A1B4800D8FD9E /* JoystickButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F2C1B7A1B4800D8FD9E /* JoystickButton@2x.png */; };
87D92F431B7A1B4800D8FD9E /* LTrigger.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F2D1B7A1B4800D8FD9E /* LTrigger.png */; };
87D92F441B7A1B4800D8FD9E /* LTrigger@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F2E1B7A1B4800D8FD9E /* LTrigger@2x.png */; };
87D92F451B7A1B4800D8FD9E /* menuback.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F2F1B7A1B4800D8FD9E /* menuback.png */; };
87D92F461B7A1B4800D8FD9E /* menuback@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F301B7A1B4800D8FD9E /* menuback@2x.png */; };
87D92F471B7A1B4800D8FD9E /* menuicon.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F311B7A1B4800D8FD9E /* menuicon.png */; };
87D92F481B7A1B4800D8FD9E /* menuicon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F321B7A1B4800D8FD9E /* menuicon@2x.png */; };
87D92F491B7A1B4800D8FD9E /* RTrigger.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F331B7A1B4800D8FD9E /* RTrigger.png */; };
87D92F4A1B7A1B4800D8FD9E /* RTrigger@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F341B7A1B4800D8FD9E /* RTrigger@2x.png */; };
87D92F4B1B7A1B4800D8FD9E /* Start.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F351B7A1B4800D8FD9E /* Start.png */; };
87D92F4C1B7A1B4800D8FD9E /* Start@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F361B7A1B4800D8FD9E /* Start@2x.png */; };
87D92F4E1B7A1B5700D8FD9E /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87D92F4D1B7A1B5700D8FD9E /* GameController.framework */; };
87D92F541B7A1BB100D8FD9E /* iCadeReaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F511B7A1BB100D8FD9E /* iCadeReaderView.m */; };
87D92F551B7A1BB100D8FD9E /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F531B7A1BB100D8FD9E /* LICENSE */; };
9C7A393318C804A80070BB5F /* reicast.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A393218C804A80070BB5F /* reicast.entitlements */; };
9C7A3AA218C806E00070BB5F /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A395118C806DE0070BB5F /* cfg.cpp */; };
9C7A3AA318C806E00070BB5F /* cl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A395318C806DE0070BB5F /* cl.cpp */; };
@ -202,44 +233,13 @@
9C7A3B4C18C806E00070BB5F /* TexCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3A9518C806E00070BB5F /* TexCache.cpp */; };
9C7A3B4E18C806E00070BB5F /* stdclass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3A9918C806E00070BB5F /* stdclass.cpp */; };
9C7A3B5918C81A4F0070BB5F /* SWRevealViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B5818C81A4F0070BB5F /* SWRevealViewController.m */; };
9C7A3B5C18C81BC80070BB5F /* SideDrawerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B5B18C81BC80070BB5F /* SideDrawerViewController.m */; };
9C7A3B5F18C81D090070BB5F /* BrowserTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B5E18C81D090070BB5F /* BrowserTableViewController.m */; };
9C7A3B6218C820630070BB5F /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B6118C820630070BB5F /* AboutViewController.m */; };
9C7A3B6818C8208D0070BB5F /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B6718C8208D0070BB5F /* SettingsViewController.m */; };
9C7A3B6B18C8209E0070BB5F /* PathsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B6A18C8209E0070BB5F /* PathsViewController.m */; };
9C7A3B6E18C820B40070BB5F /* InputViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B6D18C820B40070BB5F /* InputViewController.m */; };
9C7A3BC418C84EA10070BB5F /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BC318C84EA10070BB5F /* MainStoryboard.storyboard */; };
9C7A3BFF18C851C50070BB5F /* 210-octocat.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BD918C851C50070BB5F /* 210-octocat.png */; };
9C7A3C0018C851C50070BB5F /* 210-octocat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BDA18C851C50070BB5F /* 210-octocat@2x.png */; };
9C7A3C0118C851C50070BB5F /* 210-twitterbird.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BDB18C851C50070BB5F /* 210-twitterbird.png */; };
9C7A3C0218C851C50070BB5F /* 210-twitterbird@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BDC18C851C50070BB5F /* 210-twitterbird@2x.png */; };
9C7A3C0318C851C50070BB5F /* ABXYPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BDD18C851C50070BB5F /* ABXYPad.png */; };
9C7A3C0418C851C50070BB5F /* ABXYPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BDE18C851C50070BB5F /* ABXYPad@2x.png */; };
9C7A3C0D18C851C50070BB5F /* DPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BE718C851C50070BB5F /* DPad.png */; };
9C7A3C0E18C851C50070BB5F /* DPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BE818C851C50070BB5F /* DPad@2x.png */; };
9C7A3C1318C851C50070BB5F /* JoystickBackground.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BED18C851C50070BB5F /* JoystickBackground.png */; };
9C7A3C1418C851C50070BB5F /* JoystickBackground@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BEE18C851C50070BB5F /* JoystickBackground@2x.png */; };
9C7A3C1518C851C50070BB5F /* JoystickButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BEF18C851C50070BB5F /* JoystickButton.png */; };
9C7A3C1618C851C50070BB5F /* JoystickButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF018C851C50070BB5F /* JoystickButton@2x.png */; };
9C7A3C1718C851C50070BB5F /* LTrigger.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF118C851C50070BB5F /* LTrigger.png */; };
9C7A3C1818C851C50070BB5F /* LTrigger@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF218C851C50070BB5F /* LTrigger@2x.png */; };
9C7A3C1918C851C50070BB5F /* menuback.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF318C851C50070BB5F /* menuback.png */; };
9C7A3C1A18C851C50070BB5F /* menuback@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF418C851C50070BB5F /* menuback@2x.png */; };
9C7A3C1B18C851C50070BB5F /* menuicon.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF518C851C50070BB5F /* menuicon.png */; };
9C7A3C1C18C851C50070BB5F /* menuicon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BF618C851C50070BB5F /* menuicon@2x.png */; };
9C7A3C2118C851C50070BB5F /* RTrigger.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BFB18C851C50070BB5F /* RTrigger.png */; };
9C7A3C2218C851C50070BB5F /* RTrigger@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BFC18C851C50070BB5F /* RTrigger@2x.png */; };
9C7A3C2318C851C50070BB5F /* Start.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BFD18C851C50070BB5F /* Start.png */; };
9C7A3C2418C851C50070BB5F /* Start@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BFE18C851C50070BB5F /* Start@2x.png */; };
9C7D581019301E140004EA2C /* CloudVMUViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7D580F19301E140004EA2C /* CloudVMUViewController.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
846293C41A6CE61900262464 /* EmulatorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmulatorView.h; path = emulator/EmulatorView.h; sourceTree = "<group>"; };
846293C51A6CE61900262464 /* EmulatorView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = EmulatorView.mm; path = emulator/EmulatorView.mm; sourceTree = "<group>"; };
8497BCBC1A41A0E900EFB9ED /* common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common.cpp; sourceTree = "<group>"; };
8497BCBD1A41A0E900EFB9ED /* nixprof.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nixprof.cpp; sourceTree = "<group>"; };
8497BCBE1A41A0E900EFB9ED /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = "<group>"; };
8497BCC11A41B02000EFB9ED /* ios_main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_main.mm; sourceTree = "<group>"; };
8497BCCD1A41BFD800EFB9ED /* coreio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coreio.cpp; sourceTree = "<group>"; };
8497BCCE1A41BFD800EFB9ED /* coreio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = coreio.h; sourceTree = "<group>"; };
849C0D601B072C07008BAAA4 /* context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = context.cpp; sourceTree = "<group>"; };
@ -256,21 +256,19 @@
8703BC381A44B8DA00E7E939 /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72@2x.png"; sourceTree = "<group>"; };
8703BC391A44B8DA00E7E939 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
8703BC3A1A44B8DA00E7E939 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = "<group>"; };
87078A8318A47FE90034C7A0 /* emulator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emulator.app; sourceTree = BUILT_PRODUCTS_DIR; };
87078A8318A47FE90034C7A0 /* reicast-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "reicast-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
87078A8618A47FE90034C7A0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
87078A8818A47FE90034C7A0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
87078A8A18A47FE90034C7A0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
87078A8C18A47FE90034C7A0 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
87078A8E18A47FE90034C7A0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
87078A9218A47FE90034C7A0 /* emulator-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "emulator-Info.plist"; sourceTree = "<group>"; };
87078A9218A47FE90034C7A0 /* reicast-ios-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "reicast-ios-Info.plist"; sourceTree = "<group>"; };
87078A9618A47FE90034C7A0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
87078A9818A47FE90034C7A0 /* emulator-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "emulator-Prefix.pch"; sourceTree = "<group>"; };
87078A9818A47FE90034C7A0 /* reicast-ios-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "reicast-ios-Prefix.pch"; sourceTree = "<group>"; };
87078A9918A47FE90034C7A0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
87078A9A18A47FE90034C7A0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
87078AA218A47FE90034C7A0 /* Shader.fsh */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.glsl; name = Shader.fsh; path = Shaders/Shader.fsh; sourceTree = "<group>"; };
87078AA418A47FE90034C7A0 /* Shader.vsh */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.glsl; name = Shader.vsh; path = Shaders/Shader.vsh; sourceTree = "<group>"; };
87078AA618A47FE90034C7A0 /* EmulatorViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EmulatorViewController.h; path = emulator/EmulatorViewController.h; sourceTree = "<group>"; };
87078AA718A47FE90034C7A0 /* EmulatorViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = EmulatorViewController.mm; path = emulator/EmulatorViewController.mm; sourceTree = "<group>"; };
87078AB018A47FE90034C7A0 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
877652B61B6157BD00437F10 /* audiobackend_alsa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audiobackend_alsa.cpp; sourceTree = "<group>"; };
877652B71B6157BD00437F10 /* audiobackend_alsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audiobackend_alsa.h; sourceTree = "<group>"; };
@ -289,11 +287,54 @@
877652CC1B615AE800437F10 /* fp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fp.h; sourceTree = "<group>"; };
87C4AA531A440BEB0048DBF4 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
87C4AA551A4414070048DBF4 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
87C4CC5A1B75491400CE6D3C /* nixprof.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nixprof.cpp; sourceTree = "<group>"; };
87C4CC5C1B75499700CE6D3C /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
87C64DD91B6E80A400FDD99A /* iCadeReaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iCadeReaderView.h; sourceTree = "<group>"; };
87C64DDA1B6E80A400FDD99A /* iCadeReaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iCadeReaderView.m; sourceTree = "<group>"; };
87C64DDB1B6E80A400FDD99A /* iCadeState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iCadeState.h; sourceTree = "<group>"; };
87D92EA71B7839E600D8FD9E /* ios_main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_main.mm; sourceTree = SOURCE_ROOT; };
87D92F031B7A1B3400D8FD9E /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutViewController.h; sourceTree = "<group>"; };
87D92F041B7A1B3400D8FD9E /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutViewController.m; sourceTree = "<group>"; };
87D92F051B7A1B3400D8FD9E /* BrowserTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BrowserTableViewController.h; sourceTree = "<group>"; };
87D92F061B7A1B3400D8FD9E /* BrowserTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BrowserTableViewController.m; sourceTree = "<group>"; };
87D92F071B7A1B3400D8FD9E /* CloudVMUViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CloudVMUViewController.h; sourceTree = "<group>"; };
87D92F081B7A1B3400D8FD9E /* CloudVMUViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CloudVMUViewController.m; sourceTree = "<group>"; };
87D92F091B7A1B3400D8FD9E /* EmulatorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmulatorView.h; sourceTree = "<group>"; };
87D92F0A1B7A1B3400D8FD9E /* EmulatorView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EmulatorView.mm; sourceTree = "<group>"; };
87D92F0B1B7A1B3400D8FD9E /* EmulatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmulatorViewController.h; sourceTree = "<group>"; };
87D92F0C1B7A1B3400D8FD9E /* EmulatorViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EmulatorViewController.mm; sourceTree = "<group>"; };
87D92F0D1B7A1B3400D8FD9E /* InputViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputViewController.h; sourceTree = "<group>"; };
87D92F0E1B7A1B3400D8FD9E /* InputViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InputViewController.m; sourceTree = "<group>"; };
87D92F0F1B7A1B3400D8FD9E /* PathsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathsViewController.h; sourceTree = "<group>"; };
87D92F101B7A1B3400D8FD9E /* PathsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PathsViewController.m; sourceTree = "<group>"; };
87D92F111B7A1B3400D8FD9E /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsViewController.h; sourceTree = "<group>"; };
87D92F121B7A1B3400D8FD9E /* SettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsViewController.m; sourceTree = "<group>"; };
87D92F131B7A1B3400D8FD9E /* SideDrawerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideDrawerViewController.h; sourceTree = "<group>"; };
87D92F141B7A1B3400D8FD9E /* SideDrawerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideDrawerViewController.m; sourceTree = "<group>"; };
87D92F151B7A1B3400D8FD9E /* SWRevealViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWRevealViewController.h; sourceTree = "<group>"; };
87D92F161B7A1B3400D8FD9E /* SWRevealViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWRevealViewController.m; sourceTree = "<group>"; };
87D92F211B7A1B4800D8FD9E /* 210-octocat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-octocat.png"; path = "Images/210-octocat.png"; sourceTree = "<group>"; };
87D92F221B7A1B4800D8FD9E /* 210-octocat@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-octocat@2x.png"; path = "Images/210-octocat@2x.png"; sourceTree = "<group>"; };
87D92F231B7A1B4800D8FD9E /* 210-twitterbird.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-twitterbird.png"; path = "Images/210-twitterbird.png"; sourceTree = "<group>"; };
87D92F241B7A1B4800D8FD9E /* 210-twitterbird@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-twitterbird@2x.png"; path = "Images/210-twitterbird@2x.png"; sourceTree = "<group>"; };
87D92F251B7A1B4800D8FD9E /* ABXYPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ABXYPad.png; path = Images/ABXYPad.png; sourceTree = "<group>"; };
87D92F261B7A1B4800D8FD9E /* ABXYPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ABXYPad@2x.png"; path = "Images/ABXYPad@2x.png"; sourceTree = "<group>"; };
87D92F271B7A1B4800D8FD9E /* DPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = DPad.png; path = Images/DPad.png; sourceTree = "<group>"; };
87D92F281B7A1B4800D8FD9E /* DPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "DPad@2x.png"; path = "Images/DPad@2x.png"; sourceTree = "<group>"; };
87D92F291B7A1B4800D8FD9E /* JoystickBackground.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JoystickBackground.png; path = Images/JoystickBackground.png; sourceTree = "<group>"; };
87D92F2A1B7A1B4800D8FD9E /* JoystickBackground@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "JoystickBackground@2x.png"; path = "Images/JoystickBackground@2x.png"; sourceTree = "<group>"; };
87D92F2B1B7A1B4800D8FD9E /* JoystickButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JoystickButton.png; path = Images/JoystickButton.png; sourceTree = "<group>"; };
87D92F2C1B7A1B4800D8FD9E /* JoystickButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "JoystickButton@2x.png"; path = "Images/JoystickButton@2x.png"; sourceTree = "<group>"; };
87D92F2D1B7A1B4800D8FD9E /* LTrigger.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = LTrigger.png; path = Images/LTrigger.png; sourceTree = "<group>"; };
87D92F2E1B7A1B4800D8FD9E /* LTrigger@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "LTrigger@2x.png"; path = "Images/LTrigger@2x.png"; sourceTree = "<group>"; };
87D92F2F1B7A1B4800D8FD9E /* menuback.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = menuback.png; path = Images/menuback.png; sourceTree = "<group>"; };
87D92F301B7A1B4800D8FD9E /* menuback@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "menuback@2x.png"; path = "Images/menuback@2x.png"; sourceTree = "<group>"; };
87D92F311B7A1B4800D8FD9E /* menuicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = menuicon.png; path = Images/menuicon.png; sourceTree = "<group>"; };
87D92F321B7A1B4800D8FD9E /* menuicon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "menuicon@2x.png"; path = "Images/menuicon@2x.png"; sourceTree = "<group>"; };
87D92F331B7A1B4800D8FD9E /* RTrigger.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = RTrigger.png; path = Images/RTrigger.png; sourceTree = "<group>"; };
87D92F341B7A1B4800D8FD9E /* RTrigger@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RTrigger@2x.png"; path = "Images/RTrigger@2x.png"; sourceTree = "<group>"; };
87D92F351B7A1B4800D8FD9E /* Start.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Start.png; path = Images/Start.png; sourceTree = "<group>"; };
87D92F361B7A1B4800D8FD9E /* Start@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Start@2x.png"; path = "Images/Start@2x.png"; sourceTree = "<group>"; };
87D92F4D1B7A1B5700D8FD9E /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
87D92F501B7A1BB100D8FD9E /* iCadeReaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iCadeReaderView.h; sourceTree = "<group>"; };
87D92F511B7A1BB100D8FD9E /* iCadeReaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iCadeReaderView.m; sourceTree = "<group>"; };
87D92F521B7A1BB100D8FD9E /* iCadeState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iCadeState.h; sourceTree = "<group>"; };
87D92F531B7A1BB100D8FD9E /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
9C7A393218C804A80070BB5F /* reicast.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = reicast.entitlements; sourceTree = "<group>"; };
9C7A393A18C806DE0070BB5F /* arm_coding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arm_coding.h; sourceTree = "<group>"; };
9C7A393B18C806DE0070BB5F /* arm_disasm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arm_disasm.h; sourceTree = "<group>"; };
@ -583,43 +624,7 @@
9C7A3A9B18C806E00070BB5F /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
9C7A3B5718C81A4F0070BB5F /* SWRevealViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWRevealViewController.h; sourceTree = "<group>"; };
9C7A3B5818C81A4F0070BB5F /* SWRevealViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWRevealViewController.m; sourceTree = "<group>"; };
9C7A3B5A18C81BC80070BB5F /* SideDrawerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SideDrawerViewController.h; path = emulator/SideDrawerViewController.h; sourceTree = "<group>"; };
9C7A3B5B18C81BC80070BB5F /* SideDrawerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SideDrawerViewController.m; path = emulator/SideDrawerViewController.m; sourceTree = "<group>"; };
9C7A3B5D18C81D090070BB5F /* BrowserTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserTableViewController.h; path = emulator/BrowserTableViewController.h; sourceTree = "<group>"; };
9C7A3B5E18C81D090070BB5F /* BrowserTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BrowserTableViewController.m; path = emulator/BrowserTableViewController.m; sourceTree = "<group>"; };
9C7A3B6018C820630070BB5F /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AboutViewController.h; path = emulator/AboutViewController.h; sourceTree = "<group>"; };
9C7A3B6118C820630070BB5F /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AboutViewController.m; path = emulator/AboutViewController.m; sourceTree = "<group>"; };
9C7A3B6618C8208D0070BB5F /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SettingsViewController.h; path = emulator/SettingsViewController.h; sourceTree = "<group>"; };
9C7A3B6718C8208D0070BB5F /* SettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SettingsViewController.m; path = emulator/SettingsViewController.m; sourceTree = "<group>"; };
9C7A3B6918C8209E0070BB5F /* PathsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PathsViewController.h; path = emulator/PathsViewController.h; sourceTree = "<group>"; };
9C7A3B6A18C8209E0070BB5F /* PathsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PathsViewController.m; path = emulator/PathsViewController.m; sourceTree = "<group>"; };
9C7A3B6C18C820B40070BB5F /* InputViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputViewController.h; path = emulator/InputViewController.h; sourceTree = "<group>"; };
9C7A3B6D18C820B40070BB5F /* InputViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = InputViewController.m; path = emulator/InputViewController.m; sourceTree = "<group>"; };
9C7A3BC318C84EA10070BB5F /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = "<group>"; };
9C7A3BD918C851C50070BB5F /* 210-octocat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-octocat.png"; path = "emulator/Images/210-octocat.png"; sourceTree = "<group>"; };
9C7A3BDA18C851C50070BB5F /* 210-octocat@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-octocat@2x.png"; path = "emulator/Images/210-octocat@2x.png"; sourceTree = "<group>"; };
9C7A3BDB18C851C50070BB5F /* 210-twitterbird.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-twitterbird.png"; path = "emulator/Images/210-twitterbird.png"; sourceTree = "<group>"; };
9C7A3BDC18C851C50070BB5F /* 210-twitterbird@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-twitterbird@2x.png"; path = "emulator/Images/210-twitterbird@2x.png"; sourceTree = "<group>"; };
9C7A3BDD18C851C50070BB5F /* ABXYPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ABXYPad.png; path = emulator/Images/ABXYPad.png; sourceTree = "<group>"; };
9C7A3BDE18C851C50070BB5F /* ABXYPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ABXYPad@2x.png"; path = "emulator/Images/ABXYPad@2x.png"; sourceTree = "<group>"; };
9C7A3BE718C851C50070BB5F /* DPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = DPad.png; path = emulator/Images/DPad.png; sourceTree = "<group>"; };
9C7A3BE818C851C50070BB5F /* DPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "DPad@2x.png"; path = "emulator/Images/DPad@2x.png"; sourceTree = "<group>"; };
9C7A3BED18C851C50070BB5F /* JoystickBackground.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JoystickBackground.png; path = emulator/Images/JoystickBackground.png; sourceTree = "<group>"; };
9C7A3BEE18C851C50070BB5F /* JoystickBackground@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "JoystickBackground@2x.png"; path = "emulator/Images/JoystickBackground@2x.png"; sourceTree = "<group>"; };
9C7A3BEF18C851C50070BB5F /* JoystickButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JoystickButton.png; path = emulator/Images/JoystickButton.png; sourceTree = "<group>"; };
9C7A3BF018C851C50070BB5F /* JoystickButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "JoystickButton@2x.png"; path = "emulator/Images/JoystickButton@2x.png"; sourceTree = "<group>"; };
9C7A3BF118C851C50070BB5F /* LTrigger.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = LTrigger.png; path = emulator/Images/LTrigger.png; sourceTree = "<group>"; };
9C7A3BF218C851C50070BB5F /* LTrigger@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "LTrigger@2x.png"; path = "emulator/Images/LTrigger@2x.png"; sourceTree = "<group>"; };
9C7A3BF318C851C50070BB5F /* menuback.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = menuback.png; path = emulator/Images/menuback.png; sourceTree = "<group>"; };
9C7A3BF418C851C50070BB5F /* menuback@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "menuback@2x.png"; path = "emulator/Images/menuback@2x.png"; sourceTree = "<group>"; };
9C7A3BF518C851C50070BB5F /* menuicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = menuicon.png; path = emulator/Images/menuicon.png; sourceTree = "<group>"; };
9C7A3BF618C851C50070BB5F /* menuicon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "menuicon@2x.png"; path = "emulator/Images/menuicon@2x.png"; sourceTree = "<group>"; };
9C7A3BFB18C851C50070BB5F /* RTrigger.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = RTrigger.png; path = emulator/Images/RTrigger.png; sourceTree = "<group>"; };
9C7A3BFC18C851C50070BB5F /* RTrigger@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RTrigger@2x.png"; path = "emulator/Images/RTrigger@2x.png"; sourceTree = "<group>"; };
9C7A3BFD18C851C50070BB5F /* Start.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Start.png; path = emulator/Images/Start.png; sourceTree = "<group>"; };
9C7A3BFE18C851C50070BB5F /* Start@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Start@2x.png"; path = "emulator/Images/Start@2x.png"; sourceTree = "<group>"; };
9C7D580E19301E140004EA2C /* CloudVMUViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CloudVMUViewController.h; path = emulator/CloudVMUViewController.h; sourceTree = "<group>"; };
9C7D580F19301E140004EA2C /* CloudVMUViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CloudVMUViewController.m; path = emulator/CloudVMUViewController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -627,7 +632,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
87C4CC5D1B75499700CE6D3C /* GameController.framework in Frameworks */,
87D92F4E1B7A1B5700D8FD9E /* GameController.framework in Frameworks */,
87C4AA561A4414070048DBF4 /* AssetsLibrary.framework in Frameworks */,
87C4AA541A440BEB0048DBF4 /* libz.dylib in Frameworks */,
87078A8F18A47FE90034C7A0 /* OpenGLES.framework in Frameworks */,
@ -644,10 +649,10 @@
8497BCBB1A41A0E900EFB9ED /* linux */ = {
isa = PBXGroup;
children = (
87C4CC591B75491400CE6D3C /* nixprof */,
849C0D601B072C07008BAAA4 /* context.cpp */,
849C0D611B072C07008BAAA4 /* context.h */,
8497BCBC1A41A0E900EFB9ED /* common.cpp */,
8497BCBD1A41A0E900EFB9ED /* nixprof.cpp */,
8497BCBE1A41A0E900EFB9ED /* typedefs.h */,
);
path = linux;
@ -720,7 +725,7 @@
87078A8418A47FE90034C7A0 /* Products */ = {
isa = PBXGroup;
children = (
87078A8318A47FE90034C7A0 /* emulator.app */,
87078A8318A47FE90034C7A0 /* reicast-ios.app */,
);
name = Products;
sourceTree = "<group>";
@ -728,7 +733,7 @@
87078A8518A47FE90034C7A0 /* Frameworks */ = {
isa = PBXGroup;
children = (
87C4CC5C1B75499700CE6D3C /* GameController.framework */,
87D92F4D1B7A1B5700D8FD9E /* GameController.framework */,
87C4AA551A4414070048DBF4 /* AssetsLibrary.framework */,
87C4AA531A440BEB0048DBF4 /* libz.dylib */,
87078A8618A47FE90034C7A0 /* Foundation.framework */,
@ -750,13 +755,13 @@
9C7A393218C804A80070BB5F /* reicast.entitlements */,
87078AA218A47FE90034C7A0 /* Shader.fsh */,
87078AA418A47FE90034C7A0 /* Shader.vsh */,
87C64DC11B6E7FC600FDD99A /* iCade-iOS */,
87D92F4F1B7A1BB100D8FD9E /* iCade-iOS */,
9C7A393618C805F70070BB5F /* View Controller Subclasses */,
9C7A393718C806060070BB5F /* Images */,
9C7A393418C805980070BB5F /* Third-Party Frameworks */,
87078A9118A47FE90034C7A0 /* Supporting Files */,
9C7A393818C806DE0070BB5F /* Emulator Core Code */,
8497BCC11A41B02000EFB9ED /* ios_main.mm */,
87D92EA71B7839E600D8FD9E /* ios_main.mm */,
);
name = reicast;
path = emulator;
@ -766,30 +771,23 @@
isa = PBXGroup;
children = (
8703BC361A44B8DA00E7E939 /* assets */,
87078A9218A47FE90034C7A0 /* emulator-Info.plist */,
87078A9218A47FE90034C7A0 /* reicast-ios-Info.plist */,
87078A9618A47FE90034C7A0 /* main.m */,
87078A9818A47FE90034C7A0 /* emulator-Prefix.pch */,
87078A9818A47FE90034C7A0 /* reicast-ios-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
87C4CC591B75491400CE6D3C /* nixprof */ = {
87D92F4F1B7A1BB100D8FD9E /* iCade-iOS */ = {
isa = PBXGroup;
children = (
87C4CC5A1B75491400CE6D3C /* nixprof.cpp */,
);
path = nixprof;
sourceTree = "<group>";
};
87C64DC11B6E7FC600FDD99A /* iCade-iOS */ = {
isa = PBXGroup;
children = (
87C64DD91B6E80A400FDD99A /* iCadeReaderView.h */,
87C64DDA1B6E80A400FDD99A /* iCadeReaderView.m */,
87C64DDB1B6E80A400FDD99A /* iCadeState.h */,
87D92F501B7A1BB100D8FD9E /* iCadeReaderView.h */,
87D92F511B7A1BB100D8FD9E /* iCadeReaderView.m */,
87D92F521B7A1BB100D8FD9E /* iCadeState.h */,
87D92F531B7A1BB100D8FD9E /* LICENSE */,
);
path = "iCade-iOS";
sourceTree = "<group>";
sourceTree = SOURCE_ROOT;
};
9C7A393418C805980070BB5F /* Third-Party Frameworks */ = {
isa = PBXGroup;
@ -803,24 +801,26 @@
9C7A393618C805F70070BB5F /* View Controller Subclasses */ = {
isa = PBXGroup;
children = (
9C7D580E19301E140004EA2C /* CloudVMUViewController.h */,
9C7D580F19301E140004EA2C /* CloudVMUViewController.m */,
9C7A3B6C18C820B40070BB5F /* InputViewController.h */,
9C7A3B6D18C820B40070BB5F /* InputViewController.m */,
9C7A3B6618C8208D0070BB5F /* SettingsViewController.h */,
9C7A3B6718C8208D0070BB5F /* SettingsViewController.m */,
9C7A3B6918C8209E0070BB5F /* PathsViewController.h */,
9C7A3B6A18C8209E0070BB5F /* PathsViewController.m */,
9C7A3B6018C820630070BB5F /* AboutViewController.h */,
9C7A3B6118C820630070BB5F /* AboutViewController.m */,
9C7A3B5D18C81D090070BB5F /* BrowserTableViewController.h */,
9C7A3B5E18C81D090070BB5F /* BrowserTableViewController.m */,
9C7A3B5A18C81BC80070BB5F /* SideDrawerViewController.h */,
9C7A3B5B18C81BC80070BB5F /* SideDrawerViewController.m */,
87078AA618A47FE90034C7A0 /* EmulatorViewController.h */,
87078AA718A47FE90034C7A0 /* EmulatorViewController.mm */,
846293C41A6CE61900262464 /* EmulatorView.h */,
846293C51A6CE61900262464 /* EmulatorView.mm */,
87D92F031B7A1B3400D8FD9E /* AboutViewController.h */,
87D92F041B7A1B3400D8FD9E /* AboutViewController.m */,
87D92F051B7A1B3400D8FD9E /* BrowserTableViewController.h */,
87D92F061B7A1B3400D8FD9E /* BrowserTableViewController.m */,
87D92F071B7A1B3400D8FD9E /* CloudVMUViewController.h */,
87D92F081B7A1B3400D8FD9E /* CloudVMUViewController.m */,
87D92F091B7A1B3400D8FD9E /* EmulatorView.h */,
87D92F0A1B7A1B3400D8FD9E /* EmulatorView.mm */,
87D92F0B1B7A1B3400D8FD9E /* EmulatorViewController.h */,
87D92F0C1B7A1B3400D8FD9E /* EmulatorViewController.mm */,
87D92F0D1B7A1B3400D8FD9E /* InputViewController.h */,
87D92F0E1B7A1B3400D8FD9E /* InputViewController.m */,
87D92F0F1B7A1B3400D8FD9E /* PathsViewController.h */,
87D92F101B7A1B3400D8FD9E /* PathsViewController.m */,
87D92F111B7A1B3400D8FD9E /* SettingsViewController.h */,
87D92F121B7A1B3400D8FD9E /* SettingsViewController.m */,
87D92F131B7A1B3400D8FD9E /* SideDrawerViewController.h */,
87D92F141B7A1B3400D8FD9E /* SideDrawerViewController.m */,
87D92F151B7A1B3400D8FD9E /* SWRevealViewController.h */,
87D92F161B7A1B3400D8FD9E /* SWRevealViewController.m */,
);
name = "View Controller Subclasses";
path = ..;
@ -829,28 +829,28 @@
9C7A393718C806060070BB5F /* Images */ = {
isa = PBXGroup;
children = (
9C7A3BD918C851C50070BB5F /* 210-octocat.png */,
9C7A3BDA18C851C50070BB5F /* 210-octocat@2x.png */,
9C7A3BDB18C851C50070BB5F /* 210-twitterbird.png */,
9C7A3BDC18C851C50070BB5F /* 210-twitterbird@2x.png */,
9C7A3BDD18C851C50070BB5F /* ABXYPad.png */,
9C7A3BDE18C851C50070BB5F /* ABXYPad@2x.png */,
9C7A3BE718C851C50070BB5F /* DPad.png */,
9C7A3BE818C851C50070BB5F /* DPad@2x.png */,
9C7A3BED18C851C50070BB5F /* JoystickBackground.png */,
9C7A3BEE18C851C50070BB5F /* JoystickBackground@2x.png */,
9C7A3BEF18C851C50070BB5F /* JoystickButton.png */,
9C7A3BF018C851C50070BB5F /* JoystickButton@2x.png */,
9C7A3BF118C851C50070BB5F /* LTrigger.png */,
9C7A3BF218C851C50070BB5F /* LTrigger@2x.png */,
9C7A3BF318C851C50070BB5F /* menuback.png */,
9C7A3BF418C851C50070BB5F /* menuback@2x.png */,
9C7A3BF518C851C50070BB5F /* menuicon.png */,
9C7A3BF618C851C50070BB5F /* menuicon@2x.png */,
9C7A3BFB18C851C50070BB5F /* RTrigger.png */,
9C7A3BFC18C851C50070BB5F /* RTrigger@2x.png */,
9C7A3BFD18C851C50070BB5F /* Start.png */,
9C7A3BFE18C851C50070BB5F /* Start@2x.png */,
87D92F211B7A1B4800D8FD9E /* 210-octocat.png */,
87D92F221B7A1B4800D8FD9E /* 210-octocat@2x.png */,
87D92F231B7A1B4800D8FD9E /* 210-twitterbird.png */,
87D92F241B7A1B4800D8FD9E /* 210-twitterbird@2x.png */,
87D92F251B7A1B4800D8FD9E /* ABXYPad.png */,
87D92F261B7A1B4800D8FD9E /* ABXYPad@2x.png */,
87D92F271B7A1B4800D8FD9E /* DPad.png */,
87D92F281B7A1B4800D8FD9E /* DPad@2x.png */,
87D92F291B7A1B4800D8FD9E /* JoystickBackground.png */,
87D92F2A1B7A1B4800D8FD9E /* JoystickBackground@2x.png */,
87D92F2B1B7A1B4800D8FD9E /* JoystickButton.png */,
87D92F2C1B7A1B4800D8FD9E /* JoystickButton@2x.png */,
87D92F2D1B7A1B4800D8FD9E /* LTrigger.png */,
87D92F2E1B7A1B4800D8FD9E /* LTrigger@2x.png */,
87D92F2F1B7A1B4800D8FD9E /* menuback.png */,
87D92F301B7A1B4800D8FD9E /* menuback@2x.png */,
87D92F311B7A1B4800D8FD9E /* menuicon.png */,
87D92F321B7A1B4800D8FD9E /* menuicon@2x.png */,
87D92F331B7A1B4800D8FD9E /* RTrigger.png */,
87D92F341B7A1B4800D8FD9E /* RTrigger@2x.png */,
87D92F351B7A1B4800D8FD9E /* Start.png */,
87D92F361B7A1B4800D8FD9E /* Start@2x.png */,
);
name = Images;
path = ..;
@ -1424,9 +1424,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
87078A8218A47FE90034C7A0 /* emulator */ = {
87078A8218A47FE90034C7A0 /* reicast-ios */ = {
isa = PBXNativeTarget;
buildConfigurationList = 87078AC018A47FE90034C7A0 /* Build configuration list for PBXNativeTarget "emulator" */;
buildConfigurationList = 87078AC018A47FE90034C7A0 /* Build configuration list for PBXNativeTarget "reicast-ios" */;
buildPhases = (
87078A7F18A47FE90034C7A0 /* Sources */,
87078A8018A47FE90034C7A0 /* Frameworks */,
@ -1437,9 +1437,9 @@
);
dependencies = (
);
name = emulator;
name = "reicast-ios";
productName = emulator;
productReference = 87078A8318A47FE90034C7A0 /* emulator.app */;
productReference = 87078A8318A47FE90034C7A0 /* reicast-ios.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@ -1456,7 +1456,7 @@
};
};
};
buildConfigurationList = 87078A7E18A47FE90034C7A0 /* Build configuration list for PBXProject "emulator" */;
buildConfigurationList = 87078A7E18A47FE90034C7A0 /* Build configuration list for PBXProject "reicast-ios" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
@ -1469,7 +1469,7 @@
projectDirPath = "";
projectRoot = "";
targets = (
87078A8218A47FE90034C7A0 /* emulator */,
87078A8218A47FE90034C7A0 /* reicast-ios */,
);
};
/* End PBXProject section */
@ -1479,38 +1479,39 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9C7A3C1818C851C50070BB5F /* LTrigger@2x.png in Resources */,
9C7A3C1318C851C50070BB5F /* JoystickBackground.png in Resources */,
87D92F461B7A1B4800D8FD9E /* menuback@2x.png in Resources */,
87D92F491B7A1B4800D8FD9E /* RTrigger.png in Resources */,
87D92F4B1B7A1B4800D8FD9E /* Start.png in Resources */,
8703BC3C1A44B8DA00E7E939 /* Icon-72@2x.png in Resources */,
9C7A393318C804A80070BB5F /* reicast.entitlements in Resources */,
9C7A3C0018C851C50070BB5F /* 210-octocat@2x.png in Resources */,
9C7A3C1718C851C50070BB5F /* LTrigger.png in Resources */,
9C7A3C0218C851C50070BB5F /* 210-twitterbird@2x.png in Resources */,
87D92F391B7A1B4800D8FD9E /* 210-twitterbird.png in Resources */,
87D92F3A1B7A1B4800D8FD9E /* 210-twitterbird@2x.png in Resources */,
87D92F3D1B7A1B4800D8FD9E /* DPad.png in Resources */,
87D92F3C1B7A1B4800D8FD9E /* ABXYPad@2x.png in Resources */,
87D92F401B7A1B4800D8FD9E /* JoystickBackground@2x.png in Resources */,
9C7A3AA418C806E00070BB5F /* core.mk in Resources */,
9C7A3C2218C851C50070BB5F /* RTrigger@2x.png in Resources */,
9C7A3C0E18C851C50070BB5F /* DPad@2x.png in Resources */,
87D92F421B7A1B4800D8FD9E /* JoystickButton@2x.png in Resources */,
87D92F3F1B7A1B4800D8FD9E /* JoystickBackground.png in Resources */,
87D92F4A1B7A1B4800D8FD9E /* RTrigger@2x.png in Resources */,
87078AA318A47FE90034C7A0 /* Shader.fsh in Resources */,
9C7A3C2118C851C50070BB5F /* RTrigger.png in Resources */,
9C7A3C1C18C851C50070BB5F /* menuicon@2x.png in Resources */,
9C7A3C0118C851C50070BB5F /* 210-twitterbird.png in Resources */,
8703BC3D1A44B8DA00E7E939 /* Icon.png in Resources */,
9C7A3C0D18C851C50070BB5F /* DPad.png in Resources */,
9C7A3C1518C851C50070BB5F /* JoystickButton.png in Resources */,
8703BC3E1A44B8DA00E7E939 /* Icon@2x.png in Resources */,
9C7A3BFF18C851C50070BB5F /* 210-octocat.png in Resources */,
8703BC3B1A44B8DA00E7E939 /* Icon-72.png in Resources */,
9C7A3C1618C851C50070BB5F /* JoystickButton@2x.png in Resources */,
9C7A3C1418C851C50070BB5F /* JoystickBackground@2x.png in Resources */,
9C7A3C1918C851C50070BB5F /* menuback.png in Resources */,
9C7A3BC418C84EA10070BB5F /* MainStoryboard.storyboard in Resources */,
9C7A3C1A18C851C50070BB5F /* menuback@2x.png in Resources */,
87D92F381B7A1B4800D8FD9E /* 210-octocat@2x.png in Resources */,
87D92F431B7A1B4800D8FD9E /* LTrigger.png in Resources */,
87D92F3E1B7A1B4800D8FD9E /* DPad@2x.png in Resources */,
9C7A3B4418C806E00070BB5F /* README.md in Resources */,
9C7A3C1B18C851C50070BB5F /* menuicon.png in Resources */,
9C7A3C0418C851C50070BB5F /* ABXYPad@2x.png in Resources */,
87D92F4C1B7A1B4800D8FD9E /* Start@2x.png in Resources */,
87D92F471B7A1B4800D8FD9E /* menuicon.png in Resources */,
87D92F411B7A1B4800D8FD9E /* JoystickButton.png in Resources */,
87D92F441B7A1B4800D8FD9E /* LTrigger@2x.png in Resources */,
87D92F551B7A1BB100D8FD9E /* LICENSE in Resources */,
87D92F451B7A1B4800D8FD9E /* menuback.png in Resources */,
87078AA518A47FE90034C7A0 /* Shader.vsh in Resources */,
9C7A3C0318C851C50070BB5F /* ABXYPad.png in Resources */,
9C7A3C2418C851C50070BB5F /* Start@2x.png in Resources */,
9C7A3C2318C851C50070BB5F /* Start.png in Resources */,
87D92F3B1B7A1B4800D8FD9E /* ABXYPad.png in Resources */,
87D92F481B7A1B4800D8FD9E /* menuicon@2x.png in Resources */,
87D92F371B7A1B4800D8FD9E /* 210-octocat.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1552,6 +1553,7 @@
9C7A3B0718C806E00070BB5F /* vbaARM.cpp in Sources */,
9C7A3AD218C806E00070BB5F /* zip_fread.c in Sources */,
9C7A3B0418C806E00070BB5F /* sgc_if.cpp in Sources */,
87D92F1E1B7A1B3400D8FD9E /* SettingsViewController.m in Sources */,
9C7A3B1E18C806E00070BB5F /* decoder.cpp in Sources */,
9C7A3B2A18C806E00070BB5F /* rtc.cpp in Sources */,
877652C41B6157BD00437F10 /* audiobackend_oss.cpp in Sources */,
@ -1571,6 +1573,7 @@
9C7A3B2318C806E00070BB5F /* sh4_opcodes.cpp in Sources */,
9C7A3ADA18C806E00070BB5F /* zip_name_locate.c in Sources */,
9C7A3B1B18C806E00070BB5F /* ta_ctx.cpp in Sources */,
87D92F1A1B7A1B3400D8FD9E /* EmulatorView.mm in Sources */,
9C7A3AE018C806E00070BB5F /* zip_set_archive_flag.c in Sources */,
9C7A3B3518C806E00070BB5F /* cdi.cpp in Sources */,
9C7A3AE818C806E00070BB5F /* zip_source_zip.c in Sources */,
@ -1583,13 +1586,14 @@
9C7A3B4918C806E00070BB5F /* gles.cpp in Sources */,
9C7A3ADD18C806E00070BB5F /* zip_rename.c in Sources */,
9C7A3ADB18C806E00070BB5F /* zip_new.c in Sources */,
87C64DDC1B6E80A400FDD99A /* iCadeReaderView.m in Sources */,
9C7A3AD718C806E00070BB5F /* zip_get_name.c in Sources */,
877652C61B6157BD00437F10 /* audiostream.cpp in Sources */,
877652C51B6157BD00437F10 /* audiobackend_pulseaudio.cpp in Sources */,
9C7A3ABD18C806E00070BB5F /* zip_add_dir.c in Sources */,
87D92F541B7A1BB100D8FD9E /* iCadeReaderView.m in Sources */,
9C7A3B1418C806E00070BB5F /* drkPvr.cpp in Sources */,
9C7A3AB318C806E00070BB5F /* pngrtran.c in Sources */,
87D92F1F1B7A1B3400D8FD9E /* SideDrawerViewController.m in Sources */,
9C7A3AEC18C806E00070BB5F /* zip_strerror.c in Sources */,
849C0D6F1B072D14008BAAA4 /* reios_elf.cpp in Sources */,
9C7A3AB718C806E00070BB5F /* pngwio.c in Sources */,
@ -1607,16 +1611,15 @@
9C7A3B5918C81A4F0070BB5F /* SWRevealViewController.m in Sources */,
9C7A3B0F18C806E00070BB5F /* maple_cfg.cpp in Sources */,
9C7A3AF318C806E00070BB5F /* crc32.c in Sources */,
9C7A3B5F18C81D090070BB5F /* BrowserTableViewController.m in Sources */,
9C7D581019301E140004EA2C /* CloudVMUViewController.m in Sources */,
8497BCC01A41A0E900EFB9ED /* nixprof.cpp in Sources */,
9C7A3AE118C806E00070BB5F /* zip_set_file_comment.c in Sources */,
9C7A3AB118C806E00070BB5F /* pngread.c in Sources */,
9C7A3AAC18C806E00070BB5F /* png.c in Sources */,
9C7A3AC718C806E00070BB5F /* zip_error_get_sys_type.c in Sources */,
87D92F171B7A1B3400D8FD9E /* AboutViewController.m in Sources */,
9C7A3B3618C806E00070BB5F /* chd.cpp in Sources */,
9C7A3B2118C806E00070BB5F /* sh4_fpu.cpp in Sources */,
9C7A3B3218C806E00070BB5F /* sh4_opcode_list.cpp in Sources */,
87C4CC5B1B75491400CE6D3C /* nixprof.cpp in Sources */,
9C7A3AA918C806E00070BB5F /* elf.cpp in Sources */,
9C7A3AA618C806E00070BB5F /* chdr.cpp in Sources */,
9C7A3AA518C806E00070BB5F /* cdipsr.cpp in Sources */,
@ -1627,8 +1630,6 @@
9C7A3AF518C806E00070BB5F /* infback.c in Sources */,
8497BCCF1A41BFD800EFB9ED /* coreio.cpp in Sources */,
9C7A3B0E18C806E00070BB5F /* sb_mem.cpp in Sources */,
9C7A3B5C18C81BC80070BB5F /* SideDrawerViewController.m in Sources */,
8497BCC21A41B02000EFB9ED /* ios_main.mm in Sources */,
9C7A3B2C18C806E00070BB5F /* tmu.cpp in Sources */,
9C7A3B4C18C806E00070BB5F /* TexCache.cpp in Sources */,
9C7A3B1618C806E00070BB5F /* pvr_regs.cpp in Sources */,
@ -1645,23 +1646,23 @@
9C7A3AD618C806E00070BB5F /* zip_get_file_comment.c in Sources */,
9C7A3AEA18C806E00070BB5F /* zip_stat_index.c in Sources */,
9C7A3ACF18C806E00070BB5F /* zip_filerange_crc.c in Sources */,
87D92F201B7A1B3400D8FD9E /* SWRevealViewController.m in Sources */,
87D92F1D1B7A1B3400D8FD9E /* PathsViewController.m in Sources */,
9C7A3ABA18C806E00070BB5F /* pngwutil.c in Sources */,
9C7A3B2918C806E00070BB5F /* mmu.cpp in Sources */,
9C7A3B6B18C8209E0070BB5F /* PathsViewController.m in Sources */,
9C7A3AEB18C806E00070BB5F /* zip_stat_init.c in Sources */,
9C7A3B6818C8208D0070BB5F /* SettingsViewController.m in Sources */,
877652C21B6157BD00437F10 /* audiobackend_alsa.cpp in Sources */,
9C7A3B2E18C806E00070BB5F /* sh4_core_regs.cpp in Sources */,
9C7A3B1D18C806E00070BB5F /* blockmanager.cpp in Sources */,
9C7A3B2B18C806E00070BB5F /* serial.cpp in Sources */,
9C7A3B4A18C806E00070BB5F /* gltex.cpp in Sources */,
87078AA818A47FE90034C7A0 /* EmulatorViewController.mm in Sources */,
9C7A3ACD18C806E00070BB5F /* zip_file_get_offset.c in Sources */,
9C7A3B2818C806E00070BB5F /* intc.cpp in Sources */,
9C7A3B3A18C806E00070BB5F /* ioctl.cpp in Sources */,
9C7A3AF818C806E00070BB5F /* inftrees.c in Sources */,
9C7A3AE418C806E00070BB5F /* zip_source_file.c in Sources */,
9C7A3AD918C806E00070BB5F /* zip_memdup.c in Sources */,
87D92F181B7A1B3400D8FD9E /* BrowserTableViewController.m in Sources */,
87078A9B18A47FE90034C7A0 /* AppDelegate.m in Sources */,
9C7A3B0218C806E00070BB5F /* aica_mem.cpp in Sources */,
9C7A3ACA18C806E00070BB5F /* zip_fclose.c in Sources */,
@ -1670,9 +1671,7 @@
9C7A3AA718C806E00070BB5F /* md5.cpp in Sources */,
9C7A3AB818C806E00070BB5F /* pngwrite.c in Sources */,
9C7A3B1518C806E00070BB5F /* pvr_mem.cpp in Sources */,
9C7A3B6218C820630070BB5F /* AboutViewController.m in Sources */,
9C7A3AF718C806E00070BB5F /* inflate.c in Sources */,
846293C61A6CE61900262464 /* EmulatorView.mm in Sources */,
9C7A3AC918C806E00070BB5F /* zip_error_to_str.c in Sources */,
9C7A3B0918C806E00070BB5F /* gdrom_response.cpp in Sources */,
9C7A3B2218C806E00070BB5F /* sh4_interpreter.cpp in Sources */,
@ -1684,16 +1683,17 @@
9C7A3AE518C806E00070BB5F /* zip_source_filep.c in Sources */,
9C7A3B0318C806E00070BB5F /* dsp.cpp in Sources */,
8497BCBF1A41A0E900EFB9ED /* common.cpp in Sources */,
87D92F1C1B7A1B3400D8FD9E /* InputViewController.m in Sources */,
9C7A3B0B18C806E00070BB5F /* holly_intc.cpp in Sources */,
87078A9718A47FE90034C7A0 /* main.m in Sources */,
9C7A3AC418C806E00070BB5F /* zip_error.c in Sources */,
9C7A3AEE18C806E00070BB5F /* zip_unchange_all.c in Sources */,
9C7A3ABE18C806E00070BB5F /* zip_close.c in Sources */,
9C7A3B0818C806E00070BB5F /* virt_arm.cpp in Sources */,
9C7A3B6E18C820B40070BB5F /* InputViewController.m in Sources */,
9C7A3B4E18C806E00070BB5F /* stdclass.cpp in Sources */,
9C7A3ABC18C806E00070BB5F /* zip_add.c in Sources */,
9C7A3AD418C806E00070BB5F /* zip_get_archive_comment.c in Sources */,
87D92F1B1B7A1B3400D8FD9E /* EmulatorViewController.mm in Sources */,
9C7A3AEF18C806E00070BB5F /* zip_unchange_archive.c in Sources */,
9C7A3AD118C806E00070BB5F /* zip_fopen_index.c in Sources */,
9C7A3AF618C806E00070BB5F /* inffast.c in Sources */,
@ -1701,8 +1701,10 @@
9C7A3B1118C806E00070BB5F /* maple_helper.cpp in Sources */,
849C0D6E1B072D14008BAAA4 /* gdrom_hle.cpp in Sources */,
9C7A3AD018C806E00070BB5F /* zip_fopen.c in Sources */,
87D92F191B7A1B3400D8FD9E /* CloudVMUViewController.m in Sources */,
9C7A3B1718C806E00070BB5F /* pvr_sb_regs.cpp in Sources */,
9C7A3B3918C806E00070BB5F /* ImgReader.cpp in Sources */,
87D92EA81B7839E600D8FD9E /* ios_main.mm in Sources */,
9C7A3ACC18C806E00070BB5F /* zip_file_error_get.c in Sources */,
9C7A3B3F18C806E00070BB5F /* nullDC.cpp in Sources */,
9C7A3B0618C806E00070BB5F /* arm_mem.cpp in Sources */,
@ -1811,7 +1813,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "emulator/emulator-Prefix.pch";
GCC_PREFIX_HEADER = "reicast-ios-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"GLES=1",
"DEBUG=1",
@ -1826,11 +1828,11 @@
../../core/deps/,
../../core/khronos/,
);
INFOPLIST_FILE = "emulator/emulator-Info.plist";
INFOPLIST_FILE = "reicast-ios-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-mno-thumb";
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = "reicast-ios";
PROVISIONING_PROFILE = "";
TARGETED_DEVICE_FAMILY = "1,2";
VALID_ARCHS = "armv7 armv7s";
@ -1845,7 +1847,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "emulator/emulator-Prefix.pch";
GCC_PREFIX_HEADER = "reicast-ios-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"GLES=1",
"TARGET_IPHONE=1",
@ -1858,11 +1860,11 @@
../../core/deps/,
../../core/khronos/,
);
INFOPLIST_FILE = "emulator/emulator-Info.plist";
INFOPLIST_FILE = "reicast-ios-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-mno-thumb";
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = "reicast-ios";
PROVISIONING_PROFILE = "";
TARGETED_DEVICE_FAMILY = "1,2";
VALID_ARCHS = "armv7 armv7s";
@ -1873,7 +1875,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
87078A7E18A47FE90034C7A0 /* Build configuration list for PBXProject "emulator" */ = {
87078A7E18A47FE90034C7A0 /* Build configuration list for PBXProject "reicast-ios" */ = {
isa = XCConfigurationList;
buildConfigurations = (
87078ABE18A47FE90034C7A0 /* Debug */,
@ -1882,7 +1884,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
87078AC018A47FE90034C7A0 /* Build configuration list for PBXNativeTarget "emulator" */ = {
87078AC018A47FE90034C7A0 /* Build configuration list for PBXNativeTarget "reicast-ios" */ = {
isa = XCConfigurationList;
buildConfigurations = (
87078AC118A47FE90034C7A0 /* Debug */,

View File

@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:emulator.xcodeproj">
location = "self:reicast-ios.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,29 @@
//
// AppDelegate.swift
// emulator-osx
//
// Created by admin on 6/1/15.
// Copyright (c) 2015 reicast. All rights reserved.
//
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
emu_main();
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}

View File

@ -0,0 +1,681 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6250" systemVersion="13F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6250"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="emulator_osx" customModuleProvider="target">
<connections>
<outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="reicast-osx" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="reicast-osx" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About reicast-osx" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
<menuItem title="Hide reicast-osx" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="-1" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit reicast-osx" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="File" id="dMs-cI-mzQ">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="File" id="bib-Uj-vzu">
<items>
<menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
<connections>
<action selector="newDocument:" target="-1" id="4Si-XN-c54"/>
</connections>
</menuItem>
<menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
<connections>
<action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/>
</connections>
</menuItem>
<menuItem title="Open Recent" id="tXI-mr-wws">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
<items>
<menuItem title="Clear Menu" id="vNY-rz-j42">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
<menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
<connections>
<action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/>
</connections>
</menuItem>
<menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
<connections>
<action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/>
</connections>
</menuItem>
<menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
<connections>
<action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/>
</connections>
</menuItem>
<menuItem title="Revert to Saved" id="KaW-ft-85H">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
<menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
<connections>
<action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/>
</connections>
</menuItem>
<menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
<connections>
<action selector="print:" target="-1" id="qaZ-4w-aoO"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Edit" id="5QF-Oa-p0T">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
<items>
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
<connections>
<action selector="undo:" target="-1" id="M6e-cu-g7V"/>
</connections>
</menuItem>
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
<connections>
<action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
<connections>
<action selector="cut:" target="-1" id="YJe-68-I9s"/>
</connections>
</menuItem>
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
<connections>
<action selector="copy:" target="-1" id="G1f-GL-Joy"/>
</connections>
</menuItem>
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
<connections>
<action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
</connections>
</menuItem>
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
</connections>
</menuItem>
<menuItem title="Delete" id="pa3-QI-u2k">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
</connections>
</menuItem>
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
<connections>
<action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
<menuItem title="Find" id="4EN-yA-p0u">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Find" id="1b7-l0-nxx">
<items>
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
<connections>
<action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
</connections>
</menuItem>
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
</connections>
</menuItem>
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
<connections>
<action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
</connections>
</menuItem>
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
<connections>
<action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
</connections>
</menuItem>
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
<connections>
<action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
</connections>
</menuItem>
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
<connections>
<action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
<items>
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
<connections>
<action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
</connections>
</menuItem>
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
<connections>
<action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
</connections>
</menuItem>
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
</connections>
</menuItem>
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Substitutions" id="9ic-FL-obx">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
<items>
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
</connections>
</menuItem>
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
</connections>
</menuItem>
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
</connections>
</menuItem>
<menuItem title="Smart Links" id="cwL-P1-jid">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
</connections>
</menuItem>
<menuItem title="Data Detectors" id="tRr-pd-1PS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
</connections>
</menuItem>
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Transformations" id="2oI-Rn-ZJC">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
<items>
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
</connections>
</menuItem>
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
</connections>
</menuItem>
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Speech" id="xrE-MZ-jX0">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
<items>
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
</connections>
</menuItem>
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Format" id="jxT-CU-nIS">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Format" id="GEO-Iw-cKr">
<items>
<menuItem title="Font" id="Gi5-1S-RQB">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
<items>
<menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
<connections>
<action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
</connections>
</menuItem>
<menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
<connections>
<action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
</connections>
</menuItem>
<menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
<connections>
<action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
</connections>
</menuItem>
<menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
<connections>
<action selector="underline:" target="-1" id="FYS-2b-JAY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
<menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
<connections>
<action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
</connections>
</menuItem>
<menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
<connections>
<action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
<menuItem title="Kern" id="jBQ-r6-VK2">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Kern" id="tlD-Oa-oAM">
<items>
<menuItem title="Use Default" id="GUa-eO-cwY">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
</connections>
</menuItem>
<menuItem title="Use None" id="cDB-IK-hbR">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
</connections>
</menuItem>
<menuItem title="Tighten" id="46P-cB-AYj">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
</connections>
</menuItem>
<menuItem title="Loosen" id="ogc-rX-tC1">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Ligatures" id="o6e-r0-MWq">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
<items>
<menuItem title="Use Default" id="agt-UL-0e3">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
</connections>
</menuItem>
<menuItem title="Use None" id="J7y-lM-qPV">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
</connections>
</menuItem>
<menuItem title="Use All" id="xQD-1f-W4t">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Baseline" id="OaQ-X3-Vso">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Baseline" id="ijk-EB-dga">
<items>
<menuItem title="Use Default" id="3Om-Ey-2VK">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
</connections>
</menuItem>
<menuItem title="Superscript" id="Rqc-34-cIF">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
</connections>
</menuItem>
<menuItem title="Subscript" id="I0S-gh-46l">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
</connections>
</menuItem>
<menuItem title="Raise" id="2h7-ER-AoG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
</connections>
</menuItem>
<menuItem title="Lower" id="1tx-W0-xDw">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
<menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
<connections>
<action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
<menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
</connections>
</menuItem>
<menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Text" id="Fal-I4-PZk">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Text" id="d9c-me-L2H">
<items>
<menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
<connections>
<action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
</connections>
</menuItem>
<menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
<connections>
<action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
</connections>
</menuItem>
<menuItem title="Justify" id="J5U-5w-g23">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
</connections>
</menuItem>
<menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
<connections>
<action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
<menuItem title="Writing Direction" id="H1b-Si-o9J">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
<items>
<menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem id="YGs-j5-SAR">
<string key="title"> Default</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
</connections>
</menuItem>
<menuItem id="Lbh-J2-qVU">
<string key="title"> Left to Right</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
</connections>
</menuItem>
<menuItem id="jFq-tB-4Kx">
<string key="title"> Right to Left</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
<menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem id="Nop-cj-93Q">
<string key="title"> Default</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
</connections>
</menuItem>
<menuItem id="BgM-ve-c93">
<string key="title"> Left to Right</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
</connections>
</menuItem>
<menuItem id="RB4-Sm-HuC">
<string key="title"> Right to Left</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
<menuItem title="Show Ruler" id="vLm-3I-IUL">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
</connections>
</menuItem>
<menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
</connections>
</menuItem>
<menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="H8h-7b-M4v">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="View" id="HyV-fh-RgO">
<items>
<menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/>
</connections>
</menuItem>
<menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Help" id="wpr-3q-Mcd">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
<items>
<menuItem title="reicast-osx Help" keyEquivalent="?" id="FKE-Sm-Kum">
<connections>
<action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
<window title="reicast-osx" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="335" y="390" width="640" height="480"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1058"/>
<view key="contentView" id="EiT-Mj-1SZ" customClass="EmuGLView" customModule="emulator_osx" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="640" height="480"/>
<autoresizingMask key="autoresizingMask"/>
</view>
<point key="canvasLocation" x="525" y="479"/>
</window>
</objects>
</document>

View File

@ -0,0 +1,74 @@
//
// EmuGLView.swift
// emulator-osx
//
// Created by admin on 8/5/15.
// Copyright (c) 2015 reicast. All rights reserved.
//
import Cocoa
class EmuGLView: NSOpenGLView {
override var acceptsFirstResponder: Bool {
return true;
}
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)
// Drawing code here.
// screen_width = view.drawableWidth;
// screen_height = view.drawableHeight;
//glClearColor(0.65f, 0.65f, 0.65f, 1.0f);
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
openGLContext.makeCurrentContext()
while !emu_single_frame(Int32(dirtyRect.width), Int32(dirtyRect.height)) { }
openGLContext.flushBuffer()
}
override func awakeFromNib() {
var renderTimer = NSTimer.scheduledTimerWithTimeInterval(0.001, target: self, selector: Selector("timerTick"), userInfo: nil, repeats: true)
NSRunLoop.currentRunLoop().addTimer(renderTimer, forMode: NSDefaultRunLoopMode);
NSRunLoop.currentRunLoop().addTimer(renderTimer, forMode: NSEventTrackingRunLoopMode);
let attrs:[NSOpenGLPixelFormatAttribute] =
[
UInt32(NSOpenGLPFADoubleBuffer),
UInt32(NSOpenGLPFADepthSize), UInt32(24),
// Must specify the 3.2 Core Profile to use OpenGL 3.2
UInt32(NSOpenGLPFAOpenGLProfile),
UInt32(NSOpenGLProfileVersion3_2Core),
UInt32(0)
]
let pf = NSOpenGLPixelFormat(attributes:attrs)
let context = NSOpenGLContext(format: pf, shareContext: nil);
self.pixelFormat = pf;
self.openGLContext = context;
openGLContext.makeCurrentContext()
emu_gles_init();
}
func timerTick() {
self.needsDisplay = true;
}
override func keyDown(e: NSEvent) {
emu_key_input(e.characters!, 1);
}
override func keyUp(e: NSEvent) {
emu_key_input(e.characters!, 0);
}
}

View File

@ -0,0 +1,58 @@
{
"images" : [
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.reicast.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2015 reicast. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@ -0,0 +1,16 @@
//
// osx-main-Bridging-Header.h
// emulator-osx
//
// Created by admin on 8/5/15.
// Copyright (c) 2015 reicast. All rights reserved.
//
#ifndef emulator_osx_osx_main_Bridging_Header_h
#define emulator_osx_osx_main_Bridging_Header_h
void emu_main();
bool emu_single_frame(int w, int h);
void emu_gles_init();
void emu_key_input(const char* key, int state);
#endif

View File

@ -0,0 +1,177 @@
//
// osx-main.cpp
// emulator-osx
//
// Created by admin on 8/5/15.
// Copyright (c) 2015 reicast. All rights reserved.
//
#import <Carbon/Carbon.h>
#include "types.h"
#include <sys/stat.h>
#include <OpenGL/gl3.h>
int msgboxf(const wchar* text,unsigned int type,...)
{
va_list args;
wchar temp[2048];
va_start(args, type);
vsprintf(temp, text, args);
va_end(args);
puts(temp);
return 0;
}
u16 kcode[4] = { 0xFFFF };
u32 vks[4];
s8 joyx[4],joyy[4];
u8 rt[4],lt[4];
int get_mic_data(u8* buffer) { return 0; }
int push_vmu_screen(u8* buffer) { return 0; }
void os_SetWindowText(const char * text) {
puts(text);
}
void os_DoEvents() {
}
void UpdateInputState(u32 port) {
}
void os_CreateWindow() {
}
void* libPvr_GetRenderTarget() {
return 0;
}
void* libPvr_GetRenderSurface() {
return 0;
}
bool gl_init(void*, void*) {
return true;
}
void gl_term() {
}
void gl_swap() {
}
int dc_init(int argc,wchar* argv[]);
void dc_run();
bool has_init = false;
void* emuthread(void*) {
settings.profile.run_counts=0;
string home = (string)getenv("HOME");
if(home.c_str())
{
home += "/.reicast";
mkdir(home.c_str(), 0755); // create the directory if missing
SetHomeDir(home);
}
else
SetHomeDir(".");
char* argv[] = { "reicast" };
dc_init(1,argv);
has_init = true;
dc_run();
return 0;
}
pthread_t emu_thread;
extern "C" void emu_main() {
pthread_create(&emu_thread, 0, &emuthread, 0);
}
extern int screen_width,screen_height;
bool rend_single_frame();
bool gles_init();
extern "C" bool emu_single_frame(int w, int h) {
if (!has_init)
return true;
screen_width = w;
screen_height = h;
return rend_single_frame();
}
extern "C" void emu_gles_init() {
gles_init();
}
enum DCPad {
Btn_C = 1,
Btn_B = 1<<1,
Btn_A = 1<<2,
Btn_Start = 1<<3,
DPad_Up = 1<<4,
DPad_Down = 1<<5,
DPad_Left = 1<<6,
DPad_Right = 1<<7,
Btn_Z = 1<<8,
Btn_Y = 1<<9,
Btn_X = 1<<10,
Btn_D = 1<<11,
DPad2_Up = 1<<12,
DPad2_Down = 1<<13,
DPad2_Left = 1<<14,
DPad2_Right = 1<<15,
Axis_LT= 0x10000,
Axis_RT= 0x10001,
Axis_X= 0x20000,
Axis_Y= 0x20001,
};
void handle_key(int dckey, int state) {
if (state)
kcode[0] &= ~dckey;
else
kcode[0] |= dckey;
}
void handle_trig(u8* dckey, int state) {
if (state)
dckey[0] = 255;
else
dckey[0] = 0;
}
extern "C" void emu_key_input(char* keyt, int state) {
int key = keyt[0];
switch(key) {
case 'z': handle_key(Btn_X, state); break;
case 'x': handle_key(Btn_Y, state); break;
case 'c': handle_key(Btn_B, state); break;
case 'v': handle_key(Btn_A, state); break;
case 'a': handle_trig(lt, state); break;
case 's': handle_trig(rt, state); break;
case 'j': handle_key(DPad_Left, state); break;
case 'k': handle_key(DPad_Down, state); break;
case 'l': handle_key(DPad_Right, state); break;
case 'i': handle_key(DPad_Up, state); break;
case 0xa: handle_key(Btn_Start, state); break;
}
}

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.reicast.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@ -0,0 +1,36 @@
//
// emulator_osxTests.swift
// emulator-osxTests
//
// Created by admin on 6/1/15.
// Copyright (c) 2015 reicast. All rights reserved.
//
import Cocoa
import XCTest
class emulator_osxTests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
XCTAssert(true, "Pass")
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measureBlock() {
// Put the code you want to measure the time of here.
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:emulator-osx/reicast-osx.xcodeproj">
</FileRef>
<FileRef
location = "container:emulator-ios/reicast-ios.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>153E213C-241E-4F02-8A4F-A1601A5610B6</string>
<key>IDESourceControlProjectName</key>
<string>reicast-ios</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>BA170A7EFF7E25B0BD97DB6DB173D1CFB4CE3BD6</key>
<string>https://github.com/reicast/reicast-emulator.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>shell/apple/emulator-ios/reicast-ios.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>BA170A7EFF7E25B0BD97DB6DB173D1CFB4CE3BD6</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://github.com/reicast/reicast-emulator.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>BA170A7EFF7E25B0BD97DB6DB173D1CFB4CE3BD6</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>BA170A7EFF7E25B0BD97DB6DB173D1CFB4CE3BD6</string>
<key>IDESourceControlWCCName</key>
<string>reicast-emulator</string>
</dict>
</array>
</dict>
</plist>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4514" systemVersion="13C64" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="LVB-YS-i5n">
<dependencies>
<deployment defaultVersion="1280" identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3747"/>
</dependencies>
<scenes>
<!--GLKit View Controller-->
<scene sceneID="CtS-rA-C9T">
<objects>
<glkViewController preferredFramesPerSecond="30" id="LVB-YS-i5n" customClass="ViewController" sceneMemberID="viewController">
<glkView key="view" contentMode="scaleToFill" id="bdc-N1-crn">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</glkView>
</glkViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="btX-cZ-eVz" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<nil key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>
</document>