diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000000..81bbddb1c9 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,17 @@ +{ + "files": ["README.md"], + "imageSize": 100, + "contributorsPerLine": 7, + "contributorsSortAlphabetically": false, + "badgeTemplate": "[![All Contributors](https://img.shields.io/badge/all_contributors-<%= contributors.length %>-orange.svg?style=flat-square)](#contributors)", + "contributorTemplate": "\">\" width=\"<%= options.imageSize %>px;\" alt=\"\"/>
<%= contributor.name %>
", + "types": { + "custom": { + "symbol": "🔭", + "description": "A custom contribution type.", + "link": "[<%= symbol %>](<%= url %> \"<%= description %>\")," + } + }, + "skipCi": "true", + "contributors": [] +} diff --git a/.gitmodules b/.gitmodules index e5391e3793..1bbfdede95 100644 --- a/.gitmodules +++ b/.gitmodules @@ -76,3 +76,9 @@ [submodule "Cores/FinalBurnNeo/FBNeo"] path = Cores/FinalBurnNeo/FBNeo url = https://github.com/Provenance-Emu/FBNeo.git +[submodule "Cores/FCEU/fceux"] + path = Cores/FCEU/fceux + url = https://github.com/Provenance-Emu/fceux.git +[submodule "Cores/DosBox/dosbox-pure"] + path = Cores/DosBox/dosbox-pure + url = https://github.com/Provenance-Emu/dosbox-pure.git diff --git a/Build.xcconfig b/Build.xcconfig index 8785bc5cb0..9739ebe9d3 100644 --- a/Build.xcconfig +++ b/Build.xcconfig @@ -1,8 +1,8 @@ // Configuration settings file format documentation can be found at: // https://help.apple.com/xcode/#/dev745c5c974 -MARKETING_VERSION = 2.1.0 -CURRENT_PROJECT_VERSION = 2780 +MARKETING_VERSION = 2.1.1 +CURRENT_PROJECT_VERSION = 2781 // Vars to be overwritten by `CodeSigning.xcconfig` if exists DEVELOPMENT_TEAM = S32Z3HMYVQ @@ -50,7 +50,7 @@ PVLIBRARY_PRODUCT_BUNDLE_IDENTIFIER = $(ORG_PREFIX).$(PROJECT_NAME:lower).PVLibr // MAC_CODE_SIGN_ENTITLEMENTS = $(MAC_CODE_SIGN_ENTITLEMENTS_$(DEVELOPER_ACCOUNT_VM_ACCESS:default=NO)) // Fixes XCode 13.2.1 issues -OTHER_LDFLAGS = $(inherited) -Wl,-weak-lswift_Concurrency -Wl,-rpath,/usr/lib/swift -ObjC +//OTHER_LDFLAGS = $(inherited) -Wl,-weak-lswift_Concurrency -Wl,-rpath,/usr/lib/swift -ObjC //OTHER_LDFLAGS = $(inherited) ENABLE_BITCODE = NO diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e514f5783..a38adcce6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.1.1] - 2022-06-15 + +### Added + +- Controls: PSX on-screen joystick can be disabled in settings. No longer shows when controller is connected +- Swift UI beta for tvOS +- tvOS theme support +- Metal shader 200% speedup 👉 @mrjschulte +- early dosbox testing code (no running yet) + +### Fixed + +- tgbdual crash on ios fixed + +### Updated + +- fceux update core to 2.6.2 + ## [2.1.0] - 2022-02-14 Special thanks to contributors on this release; diff --git a/Cores/Cores.h b/Cores/Cores.h new file mode 100644 index 0000000000..228be8210d --- /dev/null +++ b/Cores/Cores.h @@ -0,0 +1,19 @@ +// +// Cores.h +// Cores +// +// Created by Joseph Mattiello on 3/12/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#import + +//! Project version number for Cores. +FOUNDATION_EXPORT double CoresVersionNumber; + +//! Project version string for Cores. +FOUNDATION_EXPORT const unsigned char CoresVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Cores/DosBox/BuildFlags.xcconfig b/Cores/DosBox/BuildFlags.xcconfig new file mode 100644 index 0000000000..8df90ae642 --- /dev/null +++ b/Cores/DosBox/BuildFlags.xcconfig @@ -0,0 +1,25 @@ +// +// BuildFlags.xcconfig +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// +// + +// All +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) +OTHER_CFLAGS = $(inherited) + + // Device +GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) TARGET_IPHONE=1 +OTHER_CFLAGS[sdk=iphoneos*] = $(inherited) + +// Simulator +GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) TARGET_IPHONE_SIMULATOR=1 + +// tvOS Device +GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvos*] = $(inherited) TARGET_IPHONE=1 +OTHER_CFLAGS[sdk=appletvos*] = $(inherited) + +// tvOS Simulator +GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvsimulator*] = $(inherited) TARGET_IPHONE_SIMULATOR=1 diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Audio.h b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Audio.h new file mode 100644 index 0000000000..ecdbae25cf --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Audio.h @@ -0,0 +1,17 @@ +// +// PVDosBoxCore+Audio.h +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface PVDosBoxCore (Audio) + +@end + +NS_ASSUME_NONNULL_END diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Audio.m b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Audio.m new file mode 100644 index 0000000000..19e3f0f16d --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Audio.m @@ -0,0 +1,25 @@ +// +// PVDosBoxCore+Audio.m +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import "PVDosBoxCore+Audio.h" + +@implementation PVDosBoxCore (Audio) + +- (NSTimeInterval)frameInterval { + return isNTSC ? 60 : 50; +} + +- (NSUInteger)channelCount { + return 2; +} + +- (double)audioSampleRate { + return sampleRate; +} + +@end diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Controls.h b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Controls.h new file mode 100644 index 0000000000..a43905a35b --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Controls.h @@ -0,0 +1,29 @@ +// +// PVDosBoxCore+Controls.h +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface PVDosBoxCore (Controls) + +- (void)initControllBuffers; +- (void)pollControllers; + +#pragma mark - Control + +- (void)didPushGameCubeButton:(enum PVGameCubeButton)button forPlayer:(NSInteger)player; +- (void)didReleaseGameCubeButton:(enum PVGameCubeButton)button forPlayer:(NSInteger)player; +- (void)didMoveGameCubeJoystickDirection:(enum PVGameCubeButton)button withValue:(CGFloat)value forPlayer:(NSInteger)player; +- (void)didMoveJoystick:(NSInteger)button withValue:(CGFloat)value forPlayer:(NSInteger)player; + +- (void)didPush:(NSInteger)button forPlayer:(NSInteger)player; +- (void)didRelease:(NSInteger)button forPlayer:(NSInteger)player; +@end + +NS_ASSUME_NONNULL_END diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Controls.mm b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Controls.mm new file mode 100644 index 0000000000..8a63fda020 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Controls.mm @@ -0,0 +1,202 @@ +// +// PVDosBoxCore+Controls.m +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import +#import +#import + +#define DC_BTN_C (1<<0) +#define DC_BTN_B (1<<1) +#define DC_BTN_A (1<<2) +#define DC_BTN_START (1<<3) +#define DC_DPAD_UP (1<<4) +#define DC_DPAD_DOWN (1<<5) +#define DC_DPAD_LEFT (1<<6) +#define DC_DPAD_RIGHT (1<<7) +#define DC_BTN_Z (1<<8) +#define DC_BTN_Y (1<<9) +#define DC_BTN_X (1<<10) +#define DC_BTN_D (1<<11) +#define DC_DPAD2_UP (1<<12) +#define DC_DPAD2_DOWN (1<<13) +#define DC_DPAD2_LEFT (1<<14) +#define DC_DPAD2_RIGHT (1<<15) + +#define DC_AXIS_LT (0X10000) +#define DC_AXIS_RT (0X10001) +#define DC_AXIS_X (0X20000) +#define DC_AXIS_Y (0X20001) + +static const int GameCubeMap[] = { + DC_DPAD_UP, DC_DPAD_DOWN, DC_DPAD_LEFT, DC_DPAD_RIGHT, + DC_BTN_A, DC_BTN_B, DC_BTN_X, DC_BTN_Y, + DC_AXIS_LT, DC_AXIS_RT, + DC_BTN_START +}; + +typedef unsigned char u8; +typedef signed char s8; +typedef unsigned short u16; +typedef unsigned int u32; + + // Reicast controller data +u16 kcode[4]; +u8 rt[4]; +u8 lt[4]; +u32 vks[4]; +s8 joyx[4], joyy[4]; + +@implementation PVDosBoxCore (Controls) + +- (void)initControllBuffers { + memset(&kcode, 0xFFFF, sizeof(kcode)); + bzero(&rt, sizeof(rt)); + bzero(<, sizeof(lt)); +} + +#pragma mark - Control + +- (void)pollControllers { + for (NSInteger playerIndex = 0; playerIndex < 4; playerIndex++) + { + GCController *controller = nil; + + if (self.controller1 && playerIndex == 0) + { + controller = self.controller1; + } + else if (self.controller2 && playerIndex == 1) + { + controller = self.controller2; + } + else if (self.controller3 && playerIndex == 3) + { + controller = self.controller3; + } + else if (self.controller4 && playerIndex == 4) + { + controller = self.controller4; + } + + if ([controller extendedGamepad]) + { + GCExtendedGamepad *gamepad = [controller extendedGamepad]; + GCControllerDirectionPad *dpad = [gamepad dpad]; + + dpad.up.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_UP) : kcode[playerIndex] |= (DC_DPAD_UP); + dpad.down.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_DOWN) : kcode[playerIndex] |= (DC_DPAD_DOWN); + dpad.left.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_LEFT) : kcode[playerIndex] |= (DC_DPAD_LEFT); + dpad.right.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_RIGHT) : kcode[playerIndex] |= (DC_DPAD_RIGHT); + + gamepad.buttonA.isPressed ? kcode[playerIndex] &= ~(DC_BTN_A) : kcode[playerIndex] |= (DC_BTN_A); + gamepad.buttonB.isPressed ? kcode[playerIndex] &= ~(DC_BTN_B) : kcode[playerIndex] |= (DC_BTN_B); + gamepad.buttonX.isPressed ? kcode[playerIndex] &= ~(DC_BTN_X) : kcode[playerIndex] |= (DC_BTN_X); + gamepad.buttonY.isPressed ? kcode[playerIndex] &= ~(DC_BTN_Y) : kcode[playerIndex] |= (DC_BTN_Y); + + gamepad.leftShoulder.isPressed ? kcode[playerIndex] &= ~(DC_AXIS_LT) : kcode[playerIndex] |= (DC_AXIS_LT); + gamepad.rightShoulder.isPressed ? kcode[playerIndex] &= ~(DC_AXIS_RT) : kcode[playerIndex] |= (DC_AXIS_RT); + + gamepad.leftTrigger.isPressed ? kcode[playerIndex] &= ~(DC_BTN_Z) : kcode[playerIndex] |= (DC_BTN_Z); + gamepad.rightTrigger.isPressed ? kcode[playerIndex] &= ~(DC_BTN_START) : kcode[playerIndex] |= (DC_BTN_START); + + + float xvalue = gamepad.leftThumbstick.xAxis.value; + s8 x=(s8)(xvalue*127); + joyx[0] = x; + + float yvalue = gamepad.leftThumbstick.yAxis.value; + s8 y=(s8)(yvalue*127 * - 1); //-127 ... + 127 range + joyy[0] = y; + + } else if ([controller gamepad]) { + GCGamepad *gamepad = [controller gamepad]; + GCControllerDirectionPad *dpad = [gamepad dpad]; + + dpad.up.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_UP) : kcode[playerIndex] |= (DC_DPAD_UP); + dpad.down.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_DOWN) : kcode[playerIndex] |= (DC_DPAD_DOWN); + dpad.left.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_LEFT) : kcode[playerIndex] |= (DC_DPAD_LEFT); + dpad.right.isPressed ? kcode[playerIndex] &= ~(DC_DPAD_RIGHT) : kcode[playerIndex] |= (DC_DPAD_RIGHT); + + gamepad.buttonA.isPressed ? kcode[playerIndex] &= ~(DC_BTN_A) : kcode[playerIndex] |= (DC_BTN_A); + gamepad.buttonB.isPressed ? kcode[playerIndex] &= ~(DC_BTN_B) : kcode[playerIndex] |= (DC_BTN_B); + gamepad.buttonX.isPressed ? kcode[playerIndex] &= ~(DC_BTN_X) : kcode[playerIndex] |= (DC_BTN_X); + gamepad.buttonY.isPressed ? kcode[playerIndex] &= ~(DC_BTN_Y) : kcode[playerIndex] |= (DC_BTN_Y); + + gamepad.leftShoulder.isPressed ? kcode[playerIndex] &= ~(DC_AXIS_LT) : kcode[playerIndex] |= (DC_AXIS_LT); + gamepad.rightShoulder.isPressed ? kcode[playerIndex] &= ~(DC_AXIS_RT) : kcode[playerIndex] |= (DC_AXIS_RT); + } +#if TARGET_OS_TV + else if ([controller microGamepad]) { + GCMicroGamepad *gamepad = [controller microGamepad]; + GCControllerDirectionPad *dpad = [gamepad dpad]; + } +#endif + } +} + +-(void)didPushGameCubeButton:(enum PVGameCubeButton)button forPlayer:(NSInteger)player { +// if(_isInitialized) +// { +// } +} + +-(void)didReleaseGameCubeButton:(enum PVGameCubeButton)button forPlayer:(NSInteger)player { +// if(_isInitialized) +// { +// } +} + +- (void)didMoveGameCubeJoystickDirection:(enum PVGameCubeButton)button withValue:(CGFloat)value forPlayer:(NSInteger)player { +// if(_isInitialized) +// { +// } +} + +-(void)didMoveJoystick:(NSInteger)button withValue:(CGFloat)value forPlayer:(NSInteger)player { + [self didMoveGameCubeJoystickDirection:(enum PVGameCubeButton)button withValue:value forPlayer:player]; +} + +- (void)didPush:(NSInteger)button forPlayer:(NSInteger)player { + [self didPushGameCubeButton:(PVGameCubeButton)button forPlayer:player]; +} + +- (void)didRelease:(NSInteger)button forPlayer:(NSInteger)player { + [self didReleaseGameCubeButton:(PVGameCubeButton)button forPlayer:player]; +} + + +# pragma mark - Input Wii +//- (oneway void)didMoveWiiJoystickDirection:(OEWiiButton)button withValue:(CGFloat)value forPlayer:(NSUInteger)player +//{ +// if(_isInitialized) +// { +// dol_host->SetAxis(button, value, (int)player); +// } +//} +// +//- (oneway void)didPushWiiButton:(OEWiiButton)button forPlayer:(NSUInteger)player +//{ +// if(_isInitialized) +// { +// if (button > OEWiiButtonCount) { +// dol_host->processSpecialKeys(button , (int)player); +// } else { +// dol_host->setButtonState(button, 1, (int)player); +// } +// } +//} +// +//- (oneway void)didReleaseWiiButton:(OEWiiButton)button forPlayer:(NSUInteger)player +//{ +// if(_isInitialized && button != OEWiimoteSideways && button != OEWiimoteUpright) +// { +// dol_host->setButtonState(button, 0, (int)player); +// } +//} + +@end diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Saves.h b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Saves.h new file mode 100644 index 0000000000..4ee6fb1980 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Saves.h @@ -0,0 +1,17 @@ +// +// PVDosBox+Saves.h +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface PVDosBoxCore (Saves) + +@end + +NS_ASSUME_NONNULL_END diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Saves.m b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Saves.m new file mode 100644 index 0000000000..f76a6feb45 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Saves.m @@ -0,0 +1,37 @@ +// +// PVDosBox+Saves.m +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import "PVDosBoxCore+Saves.h" +#import "PVDosBoxCore.h" + +@implementation PVDosBoxCore (Saves) + +#pragma mark - Properties +-(BOOL)supportsSaveStates { + return YES; +} + +#pragma mark - Methods + +- (BOOL)saveStateToFileAtPath:(NSString *)fileName { + return NO; +} + +- (void)saveStateToFileAtPath:(NSString *)fileName completionHandler:(void (^)(BOOL, NSError *))block { + block(NO, nil); +} + +- (BOOL)loadStateFromFileAtPath:(NSString *)fileName { + return NO; +} + +- (void)loadStateFromFileAtPath:(NSString *)fileName completionHandler:(void (^)(BOOL, NSError *))block { + block(NO, nil); +} + +@end diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Video.h b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Video.h new file mode 100644 index 0000000000..7a12553c4e --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Video.h @@ -0,0 +1,19 @@ +// +// PVDosBox+Video.h +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface PVDosBoxCore (Video) + +- (void)videoInterrupt; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Video.m b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Video.m new file mode 100644 index 0000000000..928ef63ae9 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore+Video.m @@ -0,0 +1,86 @@ +// +// PVDosBox+Video.m +// PVDosBox +// +// Created by Joseph Mattiello on 11/1/18. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import "PVDosBoxCore+Video.h" +#import "PVDosBoxCore.h" + +#import +#import +#import + +@implementation PVDosBoxCore (Video) + +# pragma mark - Methods + +- (void)videoInterrupt { + //dispatch_semaphore_signal(coreWaitToEndFrameSemaphore); + + //dispatch_semaphore_wait(mupenWaitToBeginFrameSemaphore, DISPATCH_TIME_FOREVER); +} + +- (void)swapBuffers { + [self.renderDelegate didRenderFrameOnAlternateThread]; +} + +- (void)executeFrameSkippingFrame:(BOOL)skip { + + if (![self isEmulationPaused]) + { + } + //dispatch_semaphore_signal(mupenWaitToBeginFrameSemaphore); + + //dispatch_semaphore_wait(coreWaitToEndFrameSemaphore, DISPATCH_TIME_FOREVER); +} + +- (void)executeFrame { + [self executeFrameSkippingFrame:NO]; +} + +# pragma mark - Properties + +- (CGSize)bufferSize { + return CGSizeMake(1024, 512); +} + +- (CGRect)screenRect { + return CGRectMake(0, 0, self.videoWidth, self.videoHeight); +} + +- (CGSize)aspectSize { + return CGSizeMake(self.videoWidth, self.videoHeight); +} + +- (BOOL)rendersToOpenGL { + return YES; +} + +- (BOOL)isDoubleBuffered { + return YES; +} + +- (const void *)videoBuffer { + return NULL; +} + +- (GLenum)pixelFormat { + return GL_RGBA; +} + +- (GLenum)pixelType { + return GL_UNSIGNED_BYTE; +} + +- (GLenum)internalPixelFormat { + return GL_RGBA; +} + +- (GLenum)depthFormat { + // 0, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24 + return GL_DEPTH_COMPONENT24; +} +@end diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore.h b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore.h new file mode 100644 index 0000000000..b9c4e6909a --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore.h @@ -0,0 +1,44 @@ +// +// PVDosBoxCore.h +// PVDosBox +// +// Created by Joseph Mattiello on 10/20/21. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import +#import +#import +#import + +#define GET_CURRENT_AND_RETURN(...) __strong __typeof__(_current) current = _current; if(current == nil) return __VA_ARGS__; +#define GET_CURRENT_OR_RETURN(...) __strong __typeof__(_current) current = _current; if(current == nil) return __VA_ARGS__; + +@interface PVDosBoxCore : PVEmulatorCore +{ + uint8_t padData[4][PVDreamcastButtonCount]; + int8_t xAxis[4]; + int8_t yAxis[4]; + // int videoWidth; + // int videoHeight; + // int videoBitDepth; + int videoDepthBitDepth; // eh + + float sampleRate; + + BOOL isNTSC; +@public + dispatch_queue_t _callbackQueue; +} + +@property (nonatomic, assign) int videoWidth; +@property (nonatomic, assign) int videoHeight; +@property (nonatomic, assign) int videoBitDepth; + +- (void) swapBuffers; +- (const char *) getBundlePath; +- (void) SetScreenSize:(int)width :(int)height; + +@end + +extern __weak PVDosBoxCore *_current; diff --git a/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore.mm b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore.mm new file mode 100644 index 0000000000..0601e6f6d4 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/Core/PVDosBoxCore.mm @@ -0,0 +1,157 @@ +// +// PVDosBoxCore.m +// PVDosBox +// +// Created by Joseph Mattiello on 6/15/22. +// Copyright © 2022 Provenance. All rights reserved. +// + +#import "PVDosBoxCore.h" +#include +#import "PVDosBoxCore+Controls.h" +#import "PVDosBoxCore+Audio.h" +#import "PVDosBoxCore+Video.h" + +#import "PVDosBoxCore+Audio.h" + +#import +#import + +#define SAMPLERATE 48000 +#define SIZESOUNDBUFFER 48000 / 60 * 4 +#define OpenEmu 1 + +__weak PVDosBoxCore *_current = 0; + +#pragma mark - Private +@interface PVDosBoxCore() { + +} + +@end + +#pragma mark - PVDosBoxCore Begin + +@implementation PVDosBoxCore +{ + uint16_t *_soundBuffer; + atomic_bool _isInitialized; + float _frameInterval; + + NSString *autoLoadStatefileName; +} + +- (instancetype)init { + if (self = [super init]) { + _videoWidth = 640; + _videoHeight = 480; + _videoBitDepth = 32; // ignored + videoDepthBitDepth = 0; // TODO + + sampleRate = 44100; + + isNTSC = YES; + _frameInterval = 60; + + dispatch_queue_attr_t queueAttributes = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, QOS_CLASS_USER_INTERACTIVE, 0); + + _callbackQueue = dispatch_queue_create("org.provenance-emu.dosbox.CallbackHandlerQueue", queueAttributes); + } + + _current = self; + return self; +} + +- (void)dealloc { + _current = nil; +} + +#pragma mark - PVEmulatorCore +- (BOOL)loadFileAtPath:(NSString *)path error:(NSError**)error { + NSBundle *coreBundle = [NSBundle bundleForClass:[self class]]; + const char *dataPath; + + [self initControllBuffers]; + + // TODO: Proper path + NSString *configPath = self.saveStatesPath; + dataPath = [[coreBundle resourcePath] fileSystemRepresentation]; + + [[NSFileManager defaultManager] createDirectoryAtPath:configPath + withIntermediateDirectories:YES + attributes:nil + error:nil]; + + NSString *batterySavesDirectory = self.batterySavesPath; + [[NSFileManager defaultManager] createDirectoryAtPath:batterySavesDirectory + withIntermediateDirectories:YES + attributes:nil + error:NULL]; + + return YES; +} + +#pragma mark - Running +- (void)startEmulation { + if (!_isInitialized) + { +// [self.renderDelegate willRenderFrameOnAlternateThread]; + _isInitialized = true; +// _frameInterval = dol_host->GetFrameInterval(); + } + [super startEmulation]; + + //Disable the OE framelimiting +// [self.renderDelegate suspendFPSLimiting]; +// if(!self.isRunning) { +// [super startEmulation]; +//// [NSThread detachNewThreadSelector:@selector(runReicastRenderThread) toTarget:self withObject:nil]; +// } +} + +- (void)runReicastEmuThread { + @autoreleasepool + { +// [self reicastMain]; + + // Core returns + + // Unlock rendering thread +// dispatch_semaphore_signal(coreWaitToEndFrameSemaphore); + + [super stopEmulation]; + } +} + +- (void)setPauseEmulation:(BOOL)flag { + [super setPauseEmulation:flag]; +} + +- (void)stopEmulation { + _isInitialized = false; + + self->shouldStop = YES; +// dispatch_semaphore_signal(mupenWaitToBeginFrameSemaphore); +// dispatch_semaphore_wait(coreWaitForExitSemaphore, DISPATCH_TIME_FOREVER); + [self.frontBufferCondition lock]; + [self.frontBufferCondition signal]; + [self.frontBufferCondition unlock]; + + [super stopEmulation]; +} + +- (void)resetEmulation { + // dispatch_semaphore_signal(mupenWaitToBeginFrameSemaphore); + [self.frontBufferCondition lock]; + [self.frontBufferCondition signal]; + [self.frontBufferCondition unlock]; +} + +//# pragma mark - Cheats +//- (void)setCheat:(NSString *)code setType:(NSString *)type setEnabled:(BOOL)enabled { +//} +// +//- (BOOL)supportsRumble { return NO; } +//- (BOOL)supportsCheatCodes { return NO; } + +@end diff --git a/Cores/DosBox/PBDosBoxCore/DosBoxGameCore.h b/Cores/DosBox/PBDosBoxCore/DosBoxGameCore.h new file mode 100755 index 0000000000..b2b4bb0d56 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/DosBoxGameCore.h @@ -0,0 +1,45 @@ +/* + Copyright (c) 2013, OpenEmu Team + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the OpenEmu Team nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY OpenEmu Team ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL OpenEmu Team BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import +#import +#import +#import "OEGCSystemResponderClient.h" +#import "Wii/OEWiiSystemResponderClient.h" + +@class OERingBuffer; + +OE_EXPORTED_CLASS +@interface DolphinGameCore : OEGameCore + +- (void) swapBuffers; +- (const char *) getBundlePath; +- (void) SetScreenSize:(int)width :(int)height; + +@end + +extern DolphinGameCore *_current; diff --git a/Cores/DosBox/PBDosBoxCore/DosBoxGameCore.mm b/Cores/DosBox/PBDosBoxCore/DosBoxGameCore.mm new file mode 100755 index 0000000000..598be40094 --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/DosBoxGameCore.mm @@ -0,0 +1,410 @@ +/* + Copyright (c) 2013, OpenEmu Team + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the OpenEmu Team nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY OpenEmu Team ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL OpenEmu Team BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + What doesn't work: + I got everything in GC working + + */ + +// Changed includes to +// Added iRenderFBO to Videoconfig, OGL postprocessing and renderer +// Added SetState to device.h for input and FullAnalogControl +// Added Render on alternate thread in Core.cpp in EmuThread() Video Thread +// Added Render on alternate thread in Cope.cpp in CPUThread() to support single thread mode CPU/GPU + +#import "DolphinGameCore.h" +#include "DolHost.h" +#include "AudioCommon/SoundStream.h" +#include "OpenEmuAudioStream.h" +#include + +#import +#include +#include + +#define SAMPLERATE 48000 +#define SIZESOUNDBUFFER 48000 / 60 * 4 +#define OpenEmu 1 + +@interface DolphinGameCore () +@property (copy) NSString *filePath; +@end + +DolphinGameCore *_current = 0; + +extern std::unique_ptr g_sound_stream; + +@implementation DolphinGameCore +{ + DolHost *dol_host; + + uint16_t *_soundBuffer; + bool _isWii; + atomic_bool _isInitialized; + float _frameInterval; + + NSString *autoLoadStatefileName; + NSString *_dolphinCoreModule; + OEIntSize _dolphinCoreAspect; + OEIntSize _dolphinCoreScreen; +} + +- (instancetype)init +{ + if(self = [super init]){ + dol_host = DolHost::GetInstance(); + } + + _current = self; + + return self; +} + +- (void)dealloc +{ + delete dol_host; + free(_soundBuffer); +} + +# pragma mark - Execution +- (BOOL)loadFileAtPath:(NSString *)path +{ + self.filePath = path; + + if([[self systemIdentifier] isEqualToString:@"openemu.system.gc"]) + { + _dolphinCoreModule = @"gc"; + _isWii = false; + _dolphinCoreAspect = OEIntSizeMake(4, 3); + _dolphinCoreScreen = OEIntSizeMake(640, 480); + } + else + { + _dolphinCoreModule = @"Wii"; + _isWii = true; + _dolphinCoreAspect = OEIntSizeMake(16,9); + _dolphinCoreScreen = OEIntSizeMake(854, 480); + } + + dol_host->Init([[self supportDirectoryPath] fileSystemRepresentation], [path fileSystemRepresentation] ); + + usleep(5000); + return YES; +} + +- (void)setPauseEmulation:(BOOL)flag +{ + dol_host->Pause(flag); + + [super setPauseEmulation:flag]; +} + +- (void)stopEmulation +{ + _isInitialized = false; + + dol_host->RequestStop(); + + [super stopEmulation]; +} + +- (void)startEmulation +{ + if (!_isInitialized) + { + [self.renderDelegate willRenderFrameOnAlternateThread]; + + dol_host->SetPresentationFBO((int)[[self.renderDelegate presentationFramebuffer] integerValue]); + + if(dol_host->LoadFileAtPath()) + _isInitialized = true; + + _frameInterval = dol_host->GetFrameInterval(); + + } + [super startEmulation]; + + //Disable the OE framelimiting + [self.renderDelegate suspendFPSLimiting]; +} + +- (void)resetEmulation +{ + dol_host->Reset(); +} + +- (void)executeFrame +{ + if (![self isEmulationPaused]) + { + if(!dol_host->CoreRunning()) { + dol_host->Pause(false); + } + + dol_host->UpdateFrame(); + } +} + +# pragma mark - Nand directory Callback +- (const char *)getBundlePath +{ + NSBundle *coreBundle = [NSBundle bundleForClass:[self class]]; + const char *dataPath; + dataPath = [[coreBundle resourcePath] fileSystemRepresentation]; + + return dataPath; +} + +# pragma mark - Video +- (OEGameCoreRendering)gameCoreRendering +{ + return OEGameCoreRenderingOpenGL3Video; +} + +- (BOOL)hasAlternateRenderingThread +{ + return YES; +} + +- (BOOL)needsDoubleBufferedFBO +{ + return NO; +} + +- (const void *)videoBuffer +{ + return NULL; +} + +- (NSTimeInterval)frameInterval +{ + return _frameInterval ?: 60; +} + +- (OEIntSize)bufferSize +{ + return _dolphinCoreScreen; +} + +- (OEIntSize)aspectSize +{ + return _dolphinCoreAspect; +} + +- (void) SetScreenSize:(int)width :(int)height +{ +} + +- (GLenum)pixelFormat +{ + return GL_RGBA; +} + +- (GLenum)pixelType +{ + return GL_UNSIGNED_BYTE; +} + +- (GLenum)internalPixelFormat +{ + return GL_RGBA; +} + +# pragma mark - Audio +- (NSUInteger)channelCount +{ + return 2; +} + +- (double)audioSampleRate +{ + return OE_SAMPLERATE; +} + +- (id)audioBufferAtIndex:(NSUInteger)index +{ + return self; +} + +- (NSUInteger)length +{ + return OE_SIZESOUNDBUFFER; +} + +- (NSUInteger)read:(void *)buffer maxLength:(NSUInteger)len +{ + if (_isInitialized && g_sound_stream) + return static_cast(g_sound_stream.get())->readAudio(buffer, (int)len); + return 0; +} + +- (NSUInteger)write:(const void *)buffer maxLength:(NSUInteger)length +{ + return 0; +} + +# pragma mark - Save States +- (void)saveStateToFileAtPath:(NSString *)fileName completionHandler:(void (^)(BOOL, NSError *))block +{ + // we need to make sure we are initialized before attempting to save a state + while (! _isInitialized) + usleep (1000); + + block(dol_host->SaveState([fileName UTF8String]),nil); + +} + +- (void)loadStateFromFileAtPath:(NSString *)fileName completionHandler:(void (^)(BOOL, NSError *))block +{ + if (!_isInitialized) + { + //Start a separate thread to load + autoLoadStatefileName = fileName; + + [NSThread detachNewThreadSelector:@selector(autoloadWaitThread) toTarget:self withObject:nil]; + block(true, nil); + } else { + block(dol_host->LoadState([fileName UTF8String]),nil); + } +} + +- (void)autoloadWaitThread +{ + @autoreleasepool + { + //Wait here until we get the signal for full initialization + while (!_isInitialized) + usleep (100); + + dol_host->LoadState([autoLoadStatefileName UTF8String]); + } +} + +# pragma mark - Input GC +- (oneway void)didMoveGCJoystickDirection:(OEGCButton)button withValue:(CGFloat)value forPlayer:(NSUInteger)player +{ + if(_isInitialized) + { + dol_host->SetAxis(button, value, (int)player); + } +} + +- (oneway void)didPushGCButton:(OEGCButton)button forPlayer:(NSUInteger)player +{ + if(_isInitialized) + { + dol_host->setButtonState(button, 1, (int)player); + } +} + +- (oneway void)didReleaseGCButton:(OEGCButton)button forPlayer:(NSUInteger)player +{ + if(_isInitialized) + { + dol_host->setButtonState(button, 0, (int)player); + } +} + +# pragma mark - Input Wii +- (oneway void)didMoveWiiJoystickDirection:(OEWiiButton)button withValue:(CGFloat)value forPlayer:(NSUInteger)player +{ + if(_isInitialized) + { + dol_host->SetAxis(button, value, (int)player); + } +} + +- (oneway void)didPushWiiButton:(OEWiiButton)button forPlayer:(NSUInteger)player +{ + if(_isInitialized) + { + if (button > OEWiiButtonCount) { + dol_host->processSpecialKeys(button , (int)player); + } else { + dol_host->setButtonState(button, 1, (int)player); + } + } +} + +- (oneway void)didReleaseWiiButton:(OEWiiButton)button forPlayer:(NSUInteger)player +{ + if(_isInitialized && button != OEWiimoteSideways && button != OEWiimoteUpright) + { + dol_host->setButtonState(button, 0, (int)player); + } +} + +//- (oneway void) didMoveWiiAccelerometer:(OEWiiAccelerometer)accelerometer withValue:(CGFloat)X withValue:(CGFloat)Y withValue:(CGFloat)Z forPlayer:(NSUInteger)player +//{ +// if(_isInitialized) +// { +// if (accelerometer == OEWiiNunchuk) +// { +// dol_host->setNunchukAccel(X,Y,Z,(int)player); +// } +// else +// { +// dol_host->setWiimoteAccel(X,Y,Z,(int)player); +// } +// } +//} + +//- (oneway void)didMoveWiiIR:(OEWiiButton)button IRinfo:(OEwiimoteIRinfo)IRinfo forPlayer:(NSUInteger)player +//{ +// if(_isInitialized) +// { +// dol_host->setIRdata(IRinfo ,(int)player); +// } +//} + +- (oneway void)didChangeWiiExtension:(OEWiimoteExtension)extension forPlayer:(NSUInteger)player +{ + if(_isInitialized) + { + dol_host->changeWiimoteExtension(extension, (int)player); + } +} + +- (oneway void)IRMovedAtPoint:(int)X withValue:(int)Y +{ +// if (_isInitialized) +// { +// int dX = (1023.0 / 854.0) * X; +// int dY = (767.0 / 480.0) * Y; +// +//// dol_host->DisplayMessage([[NSString stringWithFormat:@"X: %d, Y: %d",dX,dY ] UTF8String]); +// +// dol_host->SetIR(0, dX,dY); +// } +} + +# pragma mark - Cheats +- (void)setCheat:(NSString *)code setType:(NSString *)type setEnabled:(BOOL)enabled +{ + dol_host->SetCheat([code UTF8String], [type UTF8String], enabled); +} +@end diff --git a/Cores/DosBox/PBDosBoxCore/PVDosBox.mm b/Cores/DosBox/PBDosBoxCore/PVDosBox.mm new file mode 100644 index 0000000000..45eae2e55f --- /dev/null +++ b/Cores/DosBox/PBDosBoxCore/PVDosBox.mm @@ -0,0 +1,11 @@ +// +// PVDosBox.mm +// PVDosBox +// +// Created by Joseph Mattiello on 9/5/21. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import "PVDosBoxCore.h" +#import "PVDosBoxCore+Controls.h" +#import "PVDosBoxCore+Video.h" diff --git a/Cores/DosBox/PVDosBox.xcodeproj/project.pbxproj b/Cores/DosBox/PVDosBox.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..569f457bef --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/project.pbxproj @@ -0,0 +1,2238 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + B301797F207C909E0051B93D /* libdos-box-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B30178D3207C901D0051B93D /* libdos-box-iOS.a */; }; + B3135B9B26E4CAD40047F338 /* PVDosBoxCore.mm in Sources */ = {isa = PBXBuildFile; fileRef = B3C76224207833DE009950E4 /* PVDosBoxCore.mm */; }; + B3135B9C26E4CC290047F338 /* PVDosBoxCore.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C76223207833DE009950E4 /* PVDosBoxCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3135B9D26E4CC330047F338 /* PVDosBoxCore+Audio.h in Headers */ = {isa = PBXBuildFile; fileRef = B3447EB1218BC69700557ACE /* PVDosBoxCore+Audio.h */; }; + B3135B9E26E4CC330047F338 /* PVDosBoxCore+Video.h in Headers */ = {isa = PBXBuildFile; fileRef = B3447EAD218BC5C500557ACE /* PVDosBoxCore+Video.h */; }; + B3135B9F26E4CC330047F338 /* PVDosBoxCore+Saves.h in Headers */ = {isa = PBXBuildFile; fileRef = B3447EA9218BC59D00557ACE /* PVDosBoxCore+Saves.h */; }; + B3135BA026E4CC330047F338 /* PVDosBoxCore+Controls.h in Headers */ = {isa = PBXBuildFile; fileRef = B3447E96218B809200557ACE /* PVDosBoxCore+Controls.h */; }; + B3135BA126E4CC620047F338 /* PVDosBox.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C7621320783162009950E4 /* PVDosBox.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3135BA226E4CC650047F338 /* PVDosBox.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C7621320783162009950E4 /* PVDosBox.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3135BA326E4CD080047F338 /* PVDosBoxCore.mm in Sources */ = {isa = PBXBuildFile; fileRef = B3C76224207833DE009950E4 /* PVDosBoxCore.mm */; }; + B3135BA426E4CD500047F338 /* PVDosBoxCore+Saves.m in Sources */ = {isa = PBXBuildFile; fileRef = B3447EAA218BC59D00557ACE /* PVDosBoxCore+Saves.m */; }; + B3135BA526E4CD500047F338 /* PVDosBoxCore+Saves.m in Sources */ = {isa = PBXBuildFile; fileRef = B3447EAA218BC59D00557ACE /* PVDosBoxCore+Saves.m */; }; + B3135BA626E4CD5A0047F338 /* PVDosBoxCore+Video.m in Sources */ = {isa = PBXBuildFile; fileRef = B3447EAE218BC5C500557ACE /* PVDosBoxCore+Video.m */; }; + B3135BA726E4CD5A0047F338 /* PVDosBoxCore+Video.m in Sources */ = {isa = PBXBuildFile; fileRef = B3447EAE218BC5C500557ACE /* PVDosBoxCore+Video.m */; }; + B3135BA826E4CD600047F338 /* PVDosBoxCore+Audio.m in Sources */ = {isa = PBXBuildFile; fileRef = B3447EB2218BC69700557ACE /* PVDosBoxCore+Audio.m */; }; + B3135BA926E4CD600047F338 /* PVDosBoxCore+Audio.m in Sources */ = {isa = PBXBuildFile; fileRef = B3447EB2218BC69700557ACE /* PVDosBoxCore+Audio.m */; }; + B3135BAB26E4CDC50047F338 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3135BAA26E4CDC50047F338 /* QuartzCore.framework */; }; + B324C31C2191964F009F4EDC /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B324C31B2191964F009F4EDC /* AVFoundation.framework */; }; + B33350262078619C0036A448 /* Core.plist in Resources */ = {isa = PBXBuildFile; fileRef = B3C7622720783510009950E4 /* Core.plist */; }; + B3344A802859D5CF006E6B3A /* core_normal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1A2859D566006E6B3A /* core_normal.cpp */; }; + B3344A812859D5CF006E6B3A /* dosbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A502859D566006E6B3A /* dosbox.cpp */; }; + B3344A822859D5CF006E6B3A /* callback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1C2859D566006E6B3A /* callback.cpp */; }; + B3344A832859D5CF006E6B3A /* core_dynrec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A212859D566006E6B3A /* core_dynrec.cpp */; }; + B3344A842859D5CF006E6B3A /* modrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A202859D566006E6B3A /* modrm.cpp */; }; + B3344A852859D5CF006E6B3A /* flags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A112859D566006E6B3A /* flags.cpp */; }; + B3344A862859D5CF006E6B3A /* core_full.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A392859D566006E6B3A /* core_full.cpp */; }; + B3344A872859D5CF006E6B3A /* core_prefetch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A2B2859D566006E6B3A /* core_prefetch.cpp */; }; + B3344A882859D5CF006E6B3A /* core_simple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1E2859D566006E6B3A /* core_simple.cpp */; }; + B3344A892859D5CF006E6B3A /* paging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1F2859D566006E6B3A /* paging.cpp */; }; + B3344A8A2859D5CF006E6B3A /* core_dyn_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A372859D566006E6B3A /* core_dyn_x86.cpp */; }; + B3344A8B2859D5CF006E6B3A /* cpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A382859D566006E6B3A /* cpu.cpp */; }; + B3344A8C2859D5CF006E6B3A /* dbp_serialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A7B2859D566006E6B3A /* dbp_serialize.cpp */; }; + B3344A8D2859D5D3006E6B3A /* dos_execute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A062859D566006E6B3A /* dos_execute.cpp */; }; + B3344A8E2859D5D3006E6B3A /* dos_mscdex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F92859D566006E6B3A /* dos_mscdex.cpp */; }; + B3344A8F2859D5D3006E6B3A /* dos_files.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F12859D566006E6B3A /* dos_files.cpp */; }; + B3344A902859D5D3006E6B3A /* dos_devices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A072859D566006E6B3A /* dos_devices.cpp */; }; + B3344A912859D5D3006E6B3A /* drive_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A092859D566006E6B3A /* drive_memory.cpp */; }; + B3344A922859D5D3006E6B3A /* dos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0A2859D566006E6B3A /* dos.cpp */; }; + B3344A932859D5D3006E6B3A /* dos_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0C2859D566006E6B3A /* dos_misc.cpp */; }; + B3344A942859D5D4006E6B3A /* drive_virtual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FE2859D566006E6B3A /* drive_virtual.cpp */; }; + B3344A952859D5D4006E6B3A /* dos_keyboard_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FA2859D566006E6B3A /* dos_keyboard_layout.cpp */; }; + B3344A962859D5D4006E6B3A /* dos_programs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FB2859D566006E6B3A /* dos_programs.cpp */; }; + B3344A972859D5D4006E6B3A /* dos_ioctl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F32859D566006E6B3A /* dos_ioctl.cpp */; }; + B3344A982859D5D4006E6B3A /* drive_fat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0D2859D566006E6B3A /* drive_fat.cpp */; }; + B3344A992859D5D4006E6B3A /* dos_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F22859D566006E6B3A /* dos_tables.cpp */; }; + B3344A9A2859D5D4006E6B3A /* drives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A052859D566006E6B3A /* drives.cpp */; }; + B3344A9B2859D5D4006E6B3A /* drive_iso.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0B2859D566006E6B3A /* drive_iso.cpp */; }; + B3344A9C2859D5D4006E6B3A /* drive_local.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0F2859D566006E6B3A /* drive_local.cpp */; }; + B3344A9D2859D5D4006E6B3A /* drive_overlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F62859D566006E6B3A /* drive_overlay.cpp */; }; + B3344A9E2859D5D4006E6B3A /* dos_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FD2859D566006E6B3A /* dos_memory.cpp */; }; + B3344A9F2859D5D4006E6B3A /* cdrom_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F52859D566006E6B3A /* cdrom_image.cpp */; }; + B3344AA02859D5D4006E6B3A /* drive_zip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F72859D566006E6B3A /* drive_zip.cpp */; }; + B3344AA12859D5D4006E6B3A /* drive_union.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A002859D566006E6B3A /* drive_union.cpp */; }; + B3344AA22859D5D4006E6B3A /* dos_classes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A012859D566006E6B3A /* dos_classes.cpp */; }; + B3344AA32859D5D4006E6B3A /* cdrom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F42859D566006E6B3A /* cdrom.cpp */; }; + B3344AA42859D5D4006E6B3A /* drive_cache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F02859D566006E6B3A /* drive_cache.cpp */; }; + B3344AA52859D5EA006E6B3A /* midi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A572859D566006E6B3A /* midi.cpp */; }; + B3344AA62859D5EA006E6B3A /* cmos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D72859D566006E6B3A /* cmos.cpp */; }; + B3344AA72859D5EA006E6B3A /* sn76496.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C32859D566006E6B3A /* sn76496.cpp */; }; + B3344AA82859D5EA006E6B3A /* vga_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BA2859D566006E6B3A /* vga_memory.cpp */; }; + B3344AA92859D5EA006E6B3A /* mixer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C72859D566006E6B3A /* mixer.cpp */; }; + B3344AAA2859D5EA006E6B3A /* vga_gfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D02859D566006E6B3A /* vga_gfx.cpp */; }; + B3344AAB2859D5EA006E6B3A /* render_scalers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A5A2859D566006E6B3A /* render_scalers.cpp */; }; + B3344AAC2859D5EA006E6B3A /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C62859D566006E6B3A /* timer.cpp */; }; + B3344AAD2859D5EA006E6B3A /* gus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C92859D566006E6B3A /* gus.cpp */; }; + B3344AAE2859D5EA006E6B3A /* vga_crtc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DC2859D566006E6B3A /* vga_crtc.cpp */; }; + B3344AAF2859D5EA006E6B3A /* dbopl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DD2859D566006E6B3A /* dbopl.cpp */; }; + B3344AB02859D5EA006E6B3A /* vga_tseng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D52859D566006E6B3A /* vga_tseng.cpp */; }; + B3344AB12859D5EA006E6B3A /* gameblaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CA2859D566006E6B3A /* gameblaster.cpp */; }; + B3344AB22859D5EA006E6B3A /* disney.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D12859D566006E6B3A /* disney.cpp */; }; + B3344AB32859D5EA006E6B3A /* vga_attr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D22859D566006E6B3A /* vga_attr.cpp */; }; + B3344AB42859D5EA006E6B3A /* adlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D62859D566006E6B3A /* adlib.cpp */; }; + B3344AB52859D5EA006E6B3A /* hardware.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BC2859D566006E6B3A /* hardware.cpp */; }; + B3344AB62859D5EA006E6B3A /* vga_dac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D92859D566006E6B3A /* vga_dac.cpp */; }; + B3344AB72859D5EA006E6B3A /* pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B92859D566006E6B3A /* pic.cpp */; }; + B3344AB82859D5EA006E6B3A /* saa1099.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C22859D566006E6B3A /* saa1099.cpp */; }; + B3344AB92859D5EA006E6B3A /* tandy_sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CE2859D566006E6B3A /* tandy_sound.cpp */; }; + B3344ABA2859D5EA006E6B3A /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A542859D566006E6B3A /* render.cpp */; }; + B3344ABB2859D5EA006E6B3A /* dma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BE2859D566006E6B3A /* dma.cpp */; }; + B3344ABC2859D5EA006E6B3A /* vga_xga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D32859D566006E6B3A /* vga_xga.cpp */; }; + B3344ABD2859D5EA006E6B3A /* pci_bus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C52859D566006E6B3A /* pci_bus.cpp */; }; + B3344ABE2859D5EA006E6B3A /* vga_other.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BD2859D566006E6B3A /* vga_other.cpp */; }; + B3344ABF2859D5EA006E6B3A /* fpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A7E2859D566006E6B3A /* fpu.cpp */; }; + B3344AC02859D5EA006E6B3A /* vga_draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CB2859D566006E6B3A /* vga_draw.cpp */; }; + B3344AC12859D5EA006E6B3A /* sblaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CD2859D566006E6B3A /* sblaster.cpp */; }; + B3344AC22859D5EA006E6B3A /* nukedopl3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D82859D566006E6B3A /* nukedopl3.cpp */; }; + B3344AC32859D5EA006E6B3A /* iohandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D42859D566006E6B3A /* iohandler.cpp */; }; + B3344AC42859D5EA006E6B3A /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BB2859D566006E6B3A /* memory.cpp */; }; + B3344AC52859D5EA006E6B3A /* pcspeaker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DA2859D566006E6B3A /* pcspeaker.cpp */; }; + B3344AC62859D5F0006E6B3A /* vga_seq.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EE2859D566006E6B3A /* vga_seq.cpp */; }; + B3344AC72859D5F0006E6B3A /* serialdummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E42859D566006E6B3A /* serialdummy.cpp */; }; + B3344AC82859D5F0006E6B3A /* keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E92859D566006E6B3A /* keyboard.cpp */; }; + B3344AC92859D5F0006E6B3A /* vga_paradise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E72859D566006E6B3A /* vga_paradise.cpp */; }; + B3344ACA2859D5F0006E6B3A /* vga_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EC2859D566006E6B3A /* vga_misc.cpp */; }; + B3344ACB2859D5F0006E6B3A /* vga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EB2859D566006E6B3A /* vga.cpp */; }; + B3344ACC2859D5F0006E6B3A /* joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EA2859D566006E6B3A /* joystick.cpp */; }; + B3344ACD2859D5F0006E6B3A /* mpu401.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E82859D566006E6B3A /* mpu401.cpp */; }; + B3344ACE2859D5F0006E6B3A /* serialport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DF2859D566006E6B3A /* serialport.cpp */; }; + B3344ACF2859D5F0006E6B3A /* vga_s3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449ED2859D566006E6B3A /* vga_s3.cpp */; }; + B3344AD02859D5F4006E6B3A /* bios.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A692859D566006E6B3A /* bios.cpp */; }; + B3344AD12859D5F4006E6B3A /* int10.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A702859D566006E6B3A /* int10.cpp */; }; + B3344AD22859D5F4006E6B3A /* int10_modes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A722859D566006E6B3A /* int10_modes.cpp */; }; + B3344AD32859D5F4006E6B3A /* int10_vptable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A782859D566006E6B3A /* int10_vptable.cpp */; }; + B3344AD42859D5F4006E6B3A /* int10_vesa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6B2859D566006E6B3A /* int10_vesa.cpp */; }; + B3344AD52859D5F4006E6B3A /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6D2859D566006E6B3A /* mouse.cpp */; }; + B3344AD62859D5F4006E6B3A /* bios_keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A792859D566006E6B3A /* bios_keyboard.cpp */; }; + B3344AD72859D5F4006E6B3A /* int10_put_pixel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6C2859D566006E6B3A /* int10_put_pixel.cpp */; }; + B3344AD82859D5F4006E6B3A /* ems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6F2859D566006E6B3A /* ems.cpp */; }; + B3344AD92859D5F4006E6B3A /* int10_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A752859D566006E6B3A /* int10_memory.cpp */; }; + B3344ADA2859D5F4006E6B3A /* int10_video_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A742859D566006E6B3A /* int10_video_state.cpp */; }; + B3344ADB2859D5F4006E6B3A /* xms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A732859D566006E6B3A /* xms.cpp */; }; + B3344ADC2859D5F4006E6B3A /* int10_char.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6E2859D566006E6B3A /* int10_char.cpp */; }; + B3344ADD2859D5F4006E6B3A /* int10_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A712859D566006E6B3A /* int10_misc.cpp */; }; + B3344ADE2859D5F4006E6B3A /* bios_disk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A7A2859D566006E6B3A /* bios_disk.cpp */; }; + B3344ADF2859D5F4006E6B3A /* int10_pal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6A2859D566006E6B3A /* int10_pal.cpp */; }; + B3344AE02859D5F9006E6B3A /* cross.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B52859D566006E6B3A /* cross.cpp */; }; + B3344AE12859D5F9006E6B3A /* messages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B32859D566006E6B3A /* messages.cpp */; }; + B3344AE22859D5F9006E6B3A /* setup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B42859D566006E6B3A /* setup.cpp */; }; + B3344AE32859D5F9006E6B3A /* programs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B62859D566006E6B3A /* programs.cpp */; }; + B3344AE42859D5F9006E6B3A /* support.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B72859D566006E6B3A /* support.cpp */; }; + B3344AE52859D5FF006E6B3A /* shell_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4D2859D566006E6B3A /* shell_misc.cpp */; }; + B3344AE62859D5FF006E6B3A /* shell_cmds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4E2859D566006E6B3A /* shell_cmds.cpp */; }; + B3344AE72859D5FF006E6B3A /* shell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4F2859D566006E6B3A /* shell.cpp */; }; + B3344AE82859D5FF006E6B3A /* shell_batch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4C2859D566006E6B3A /* shell_batch.cpp */; }; + B3344AE92859D664006E6B3A /* int10_pal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6A2859D566006E6B3A /* int10_pal.cpp */; }; + B3344AEA2859D664006E6B3A /* gus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C92859D566006E6B3A /* gus.cpp */; }; + B3344AEB2859D664006E6B3A /* dos_keyboard_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FA2859D566006E6B3A /* dos_keyboard_layout.cpp */; }; + B3344AEC2859D664006E6B3A /* vga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EB2859D566006E6B3A /* vga.cpp */; }; + B3344AED2859D664006E6B3A /* drive_virtual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FE2859D566006E6B3A /* drive_virtual.cpp */; }; + B3344AEE2859D664006E6B3A /* shell_cmds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4E2859D566006E6B3A /* shell_cmds.cpp */; }; + B3344AEF2859D664006E6B3A /* bios_keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A792859D566006E6B3A /* bios_keyboard.cpp */; }; + B3344AF02859D664006E6B3A /* render_scalers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A5A2859D566006E6B3A /* render_scalers.cpp */; }; + B3344AF12859D664006E6B3A /* keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E92859D566006E6B3A /* keyboard.cpp */; }; + B3344AF22859D664006E6B3A /* messages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B32859D566006E6B3A /* messages.cpp */; }; + B3344AF32859D664006E6B3A /* bios_disk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A7A2859D566006E6B3A /* bios_disk.cpp */; }; + B3344AF42859D664006E6B3A /* core_prefetch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A2B2859D566006E6B3A /* core_prefetch.cpp */; }; + B3344AF52859D664006E6B3A /* vga_crtc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DC2859D566006E6B3A /* vga_crtc.cpp */; }; + B3344AF62859D664006E6B3A /* core_full.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A392859D566006E6B3A /* core_full.cpp */; }; + B3344AF72859D664006E6B3A /* fpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A7E2859D566006E6B3A /* fpu.cpp */; }; + B3344AF82859D664006E6B3A /* int10.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A702859D566006E6B3A /* int10.cpp */; }; + B3344AF92859D664006E6B3A /* int10_char.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6E2859D566006E6B3A /* int10_char.cpp */; }; + B3344AFA2859D664006E6B3A /* dos_classes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A012859D566006E6B3A /* dos_classes.cpp */; }; + B3344AFB2859D664006E6B3A /* callback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1C2859D566006E6B3A /* callback.cpp */; }; + B3344AFC2859D664006E6B3A /* serialport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DF2859D566006E6B3A /* serialport.cpp */; }; + B3344AFD2859D664006E6B3A /* vga_s3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449ED2859D566006E6B3A /* vga_s3.cpp */; }; + B3344AFE2859D664006E6B3A /* drive_overlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F62859D566006E6B3A /* drive_overlay.cpp */; }; + B3344AFF2859D664006E6B3A /* vga_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BA2859D566006E6B3A /* vga_memory.cpp */; }; + B3344B002859D664006E6B3A /* core_dynrec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A212859D566006E6B3A /* core_dynrec.cpp */; }; + B3344B012859D664006E6B3A /* modrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A202859D566006E6B3A /* modrm.cpp */; }; + B3344B022859D664006E6B3A /* int10_vesa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6B2859D566006E6B3A /* int10_vesa.cpp */; }; + B3344B032859D664006E6B3A /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BB2859D566006E6B3A /* memory.cpp */; }; + B3344B042859D664006E6B3A /* vga_xga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D32859D566006E6B3A /* vga_xga.cpp */; }; + B3344B052859D664006E6B3A /* int10_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A752859D566006E6B3A /* int10_memory.cpp */; }; + B3344B062859D664006E6B3A /* vga_paradise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E72859D566006E6B3A /* vga_paradise.cpp */; }; + B3344B072859D664006E6B3A /* dbopl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DD2859D566006E6B3A /* dbopl.cpp */; }; + B3344B082859D664006E6B3A /* int10_modes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A722859D566006E6B3A /* int10_modes.cpp */; }; + B3344B092859D664006E6B3A /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A542859D566006E6B3A /* render.cpp */; }; + B3344B0A2859D664006E6B3A /* drive_cache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F02859D566006E6B3A /* drive_cache.cpp */; }; + B3344B0B2859D664006E6B3A /* shell_batch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4C2859D566006E6B3A /* shell_batch.cpp */; }; + B3344B0C2859D664006E6B3A /* core_simple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1E2859D566006E6B3A /* core_simple.cpp */; }; + B3344B0D2859D664006E6B3A /* drive_iso.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0B2859D566006E6B3A /* drive_iso.cpp */; }; + B3344B0E2859D664006E6B3A /* cross.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B52859D566006E6B3A /* cross.cpp */; }; + B3344B0F2859D664006E6B3A /* xms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A732859D566006E6B3A /* xms.cpp */; }; + B3344B102859D664006E6B3A /* vga_tseng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D52859D566006E6B3A /* vga_tseng.cpp */; }; + B3344B112859D664006E6B3A /* cmos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D72859D566006E6B3A /* cmos.cpp */; }; + B3344B122859D664006E6B3A /* iohandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D42859D566006E6B3A /* iohandler.cpp */; }; + B3344B132859D664006E6B3A /* dos_files.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F12859D566006E6B3A /* dos_files.cpp */; }; + B3344B142859D664006E6B3A /* drive_fat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0D2859D566006E6B3A /* drive_fat.cpp */; }; + B3344B152859D664006E6B3A /* shell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4F2859D566006E6B3A /* shell.cpp */; }; + B3344B162859D664006E6B3A /* dos_ioctl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F32859D566006E6B3A /* dos_ioctl.cpp */; }; + B3344B172859D664006E6B3A /* drive_zip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F72859D566006E6B3A /* drive_zip.cpp */; }; + B3344B182859D664006E6B3A /* dma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BE2859D566006E6B3A /* dma.cpp */; }; + B3344B192859D664006E6B3A /* sn76496.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C32859D566006E6B3A /* sn76496.cpp */; }; + B3344B1A2859D664006E6B3A /* mpu401.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E82859D566006E6B3A /* mpu401.cpp */; }; + B3344B1B2859D664006E6B3A /* midi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A572859D566006E6B3A /* midi.cpp */; }; + B3344B1C2859D664006E6B3A /* support.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B72859D566006E6B3A /* support.cpp */; }; + B3344B1D2859D664006E6B3A /* int10_put_pixel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6C2859D566006E6B3A /* int10_put_pixel.cpp */; }; + B3344B1E2859D664006E6B3A /* programs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B62859D566006E6B3A /* programs.cpp */; }; + B3344B1F2859D664006E6B3A /* dos_programs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FB2859D566006E6B3A /* dos_programs.cpp */; }; + B3344B202859D664006E6B3A /* shell_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A4D2859D566006E6B3A /* shell_misc.cpp */; }; + B3344B212859D664006E6B3A /* cdrom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F42859D566006E6B3A /* cdrom.cpp */; }; + B3344B222859D664006E6B3A /* vga_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EC2859D566006E6B3A /* vga_misc.cpp */; }; + B3344B232859D664006E6B3A /* adlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D62859D566006E6B3A /* adlib.cpp */; }; + B3344B242859D664006E6B3A /* gameblaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CA2859D566006E6B3A /* gameblaster.cpp */; }; + B3344B252859D664006E6B3A /* cpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A382859D566006E6B3A /* cpu.cpp */; }; + B3344B262859D664006E6B3A /* tandy_sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CE2859D566006E6B3A /* tandy_sound.cpp */; }; + B3344B272859D664006E6B3A /* nukedopl3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D82859D566006E6B3A /* nukedopl3.cpp */; }; + B3344B282859D664006E6B3A /* int10_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A712859D566006E6B3A /* int10_misc.cpp */; }; + B3344B292859D664006E6B3A /* core_normal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1A2859D566006E6B3A /* core_normal.cpp */; }; + B3344B2A2859D664006E6B3A /* int10_video_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A742859D566006E6B3A /* int10_video_state.cpp */; }; + B3344B2B2859D664006E6B3A /* vga_gfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D02859D566006E6B3A /* vga_gfx.cpp */; }; + B3344B2C2859D664006E6B3A /* saa1099.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C22859D566006E6B3A /* saa1099.cpp */; }; + B3344B2D2859D664006E6B3A /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C62859D566006E6B3A /* timer.cpp */; }; + B3344B2E2859D664006E6B3A /* dosbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A502859D566006E6B3A /* dosbox.cpp */; }; + B3344B2F2859D664006E6B3A /* bios.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A692859D566006E6B3A /* bios.cpp */; }; + B3344B302859D664006E6B3A /* dos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0A2859D566006E6B3A /* dos.cpp */; }; + B3344B312859D664006E6B3A /* pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B92859D566006E6B3A /* pic.cpp */; }; + B3344B322859D664006E6B3A /* pci_bus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C52859D566006E6B3A /* pci_bus.cpp */; }; + B3344B332859D664006E6B3A /* drive_local.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0F2859D566006E6B3A /* drive_local.cpp */; }; + B3344B342859D664006E6B3A /* dos_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449FD2859D566006E6B3A /* dos_memory.cpp */; }; + B3344B352859D664006E6B3A /* drive_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A092859D566006E6B3A /* drive_memory.cpp */; }; + B3344B362859D664006E6B3A /* setup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449B42859D566006E6B3A /* setup.cpp */; }; + B3344B372859D664006E6B3A /* joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EA2859D566006E6B3A /* joystick.cpp */; }; + B3344B382859D664006E6B3A /* disney.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D12859D566006E6B3A /* disney.cpp */; }; + B3344B392859D664006E6B3A /* pcspeaker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449DA2859D566006E6B3A /* pcspeaker.cpp */; }; + B3344B3A2859D664006E6B3A /* dos_execute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A062859D566006E6B3A /* dos_execute.cpp */; }; + B3344B3B2859D664006E6B3A /* int10_vptable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A782859D566006E6B3A /* int10_vptable.cpp */; }; + B3344B3C2859D664006E6B3A /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6D2859D566006E6B3A /* mouse.cpp */; }; + B3344B3D2859D664006E6B3A /* drive_union.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A002859D566006E6B3A /* drive_union.cpp */; }; + B3344B3E2859D664006E6B3A /* ems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A6F2859D566006E6B3A /* ems.cpp */; }; + B3344B3F2859D664006E6B3A /* paging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A1F2859D566006E6B3A /* paging.cpp */; }; + B3344B402859D664006E6B3A /* vga_other.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BD2859D566006E6B3A /* vga_other.cpp */; }; + B3344B412859D664006E6B3A /* dos_mscdex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F92859D566006E6B3A /* dos_mscdex.cpp */; }; + B3344B422859D664006E6B3A /* vga_draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CB2859D566006E6B3A /* vga_draw.cpp */; }; + B3344B432859D664006E6B3A /* vga_dac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D92859D566006E6B3A /* vga_dac.cpp */; }; + B3344B442859D664006E6B3A /* dos_devices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A072859D566006E6B3A /* dos_devices.cpp */; }; + B3344B452859D664006E6B3A /* dbp_serialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A7B2859D566006E6B3A /* dbp_serialize.cpp */; }; + B3344B462859D664006E6B3A /* core_dyn_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A372859D566006E6B3A /* core_dyn_x86.cpp */; }; + B3344B472859D664006E6B3A /* sblaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449CD2859D566006E6B3A /* sblaster.cpp */; }; + B3344B482859D664006E6B3A /* dos_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F22859D566006E6B3A /* dos_tables.cpp */; }; + B3344B492859D664006E6B3A /* flags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A112859D566006E6B3A /* flags.cpp */; }; + B3344B4A2859D664006E6B3A /* dos_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A0C2859D566006E6B3A /* dos_misc.cpp */; }; + B3344B4B2859D664006E6B3A /* hardware.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449BC2859D566006E6B3A /* hardware.cpp */; }; + B3344B4C2859D664006E6B3A /* vga_attr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449D22859D566006E6B3A /* vga_attr.cpp */; }; + B3344B4D2859D664006E6B3A /* vga_seq.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449EE2859D566006E6B3A /* vga_seq.cpp */; }; + B3344B4E2859D664006E6B3A /* mixer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449C72859D566006E6B3A /* mixer.cpp */; }; + B3344B4F2859D664006E6B3A /* cdrom_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449F52859D566006E6B3A /* cdrom_image.cpp */; }; + B3344B502859D664006E6B3A /* drives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3344A052859D566006E6B3A /* drives.cpp */; }; + B3344B512859D664006E6B3A /* serialdummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B33449E42859D566006E6B3A /* serialdummy.cpp */; }; + B339468920783F41008DBAB4 /* libpthread.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468820783F41008DBAB4 /* libpthread.tbd */; }; + B339468B20783F48008DBAB4 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468A20783F48008DBAB4 /* libz.tbd */; }; + B3447ECD218BEDD200557ACE /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF4207CD2740040709A /* CoreAudio.framework */; }; + B3447ECE218BEDD200557ACE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF1207CD2670040709A /* AudioToolbox.framework */; }; + B3447ED0218BEDD200557ACE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468A20783F48008DBAB4 /* libz.tbd */; }; + B3447ED1218BEDD200557ACE /* libpthread.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468820783F41008DBAB4 /* libpthread.tbd */; }; + B3447ED3218BEDD200557ACE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621E2078325C009950E4 /* Foundation.framework */; }; + B3447ED4218BEDD200557ACE /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621C20783243009950E4 /* OpenGLES.framework */; }; + B3447EE2218BEDD200557ACE /* Core.plist in Resources */ = {isa = PBXBuildFile; fileRef = B3C7622720783510009950E4 /* Core.plist */; }; + B35E6BF2207CD2680040709A /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF1207CD2670040709A /* AudioToolbox.framework */; }; + B35E6BF5207CD2740040709A /* CoreAudioKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF3207CD2730040709A /* CoreAudioKit.framework */; }; + B35E6BF6207CD2740040709A /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF4207CD2740040709A /* CoreAudio.framework */; }; + B35E6BF9207D00D00040709A /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF8207D00D00040709A /* AVFoundation.framework */; }; + B3A3204227209ED700F338F6 /* PVDosBoxCore+Controls.h in Headers */ = {isa = PBXBuildFile; fileRef = B3447E96218B809200557ACE /* PVDosBoxCore+Controls.h */; }; + B3A3204527209EE100F338F6 /* PVDosBoxCore+Controls.mm in Sources */ = {isa = PBXBuildFile; fileRef = B3447E97218B809300557ACE /* PVDosBoxCore+Controls.mm */; }; + B3A3204627209EE100F338F6 /* PVDosBoxCore+Controls.mm in Sources */ = {isa = PBXBuildFile; fileRef = B3447E97218B809300557ACE /* PVDosBoxCore+Controls.mm */; }; + B3B104AF218F26F400210C39 /* libdos-box-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3447F91218BEE3F00557ACE /* libdos-box-tvOS.a */; }; + B3B104B9218F281B00210C39 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3B104B8218F281B00210C39 /* PVSupport.framework */; }; + B3C7621D20783243009950E4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621C20783243009950E4 /* OpenGLES.framework */; }; + B3C7621F2078325C009950E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621E2078325C009950E4 /* Foundation.framework */; }; + B3C7622220783297009950E4 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7622120783297009950E4 /* PVSupport.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + B30178D1207C901D0051B93D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3447F8D218BEE3F00557ACE /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + B30178D3207C901D0051B93D /* libdos-box-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libdos-box-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3135BAA26E4CDC50047F338 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + B324C31B2191964F009F4EDC /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.1.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; }; + B33448842859D565006E6B3A /* core_options.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = core_options.h; sourceTree = ""; }; + B33448852859D566006E6B3A /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + B33448872859D566006E6B3A /* onscreenkeyboard.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = onscreenkeyboard.png; sourceTree = ""; }; + B33448882859D566006E6B3A /* padmapper.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = padmapper.png; sourceTree = ""; }; + B33448892859D566006E6B3A /* startmenu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = startmenu.png; sourceTree = ""; }; + B334488A2859D566006E6B3A /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = ""; }; + B334488B2859D566006E6B3A /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + B334488D2859D566006E6B3A /* dma.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dma.h; sourceTree = ""; }; + B334488E2859D566006E6B3A /* dos_system.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dos_system.h; sourceTree = ""; }; + B334488F2859D566006E6B3A /* bios.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bios.h; sourceTree = ""; }; + B33448902859D566006E6B3A /* control.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = control.h; sourceTree = ""; }; + B33448912859D566006E6B3A /* debug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = ""; }; + B33448922859D566006E6B3A /* shell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = shell.h; sourceTree = ""; }; + B33448932859D566006E6B3A /* setup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = setup.h; sourceTree = ""; }; + B33448942859D566006E6B3A /* cross.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cross.h; sourceTree = ""; }; + B33448952859D566006E6B3A /* ipx.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ipx.h; sourceTree = ""; }; + B33448962859D566006E6B3A /* dos_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dos_inc.h; sourceTree = ""; }; + B33448972859D566006E6B3A /* midi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi.h; sourceTree = ""; }; + B33448982859D566006E6B3A /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + B33448992859D566006E6B3A /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = ""; }; + B334489A2859D566006E6B3A /* bios_disk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bios_disk.h; sourceTree = ""; }; + B334489B2859D566006E6B3A /* mapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mapper.h; sourceTree = ""; }; + B334489C2859D566006E6B3A /* vga.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = vga.h; sourceTree = ""; }; + B334489D2859D566006E6B3A /* logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = logging.h; sourceTree = ""; }; + B334489E2859D566006E6B3A /* serialport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = serialport.h; sourceTree = ""; }; + B334489F2859D566006E6B3A /* mouse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mouse.h; sourceTree = ""; }; + B33448A02859D566006E6B3A /* timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = ""; }; + B33448A12859D566006E6B3A /* mixer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mixer.h; sourceTree = ""; }; + B33448A22859D566006E6B3A /* ipxserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ipxserver.h; sourceTree = ""; }; + B33448A32859D566006E6B3A /* fpu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fpu.h; sourceTree = ""; }; + B33448A42859D566006E6B3A /* pic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pic.h; sourceTree = ""; }; + B33448A52859D566006E6B3A /* keyboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyboard.h; sourceTree = ""; }; + B33448A62859D566006E6B3A /* cpu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cpu.h; sourceTree = ""; }; + B33448A72859D566006E6B3A /* video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = video.h; sourceTree = ""; }; + B33448A82859D566006E6B3A /* paging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = paging.h; sourceTree = ""; }; + B33448A92859D566006E6B3A /* regs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = regs.h; sourceTree = ""; }; + B33448AA2859D566006E6B3A /* mem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = ""; }; + B33448AB2859D566006E6B3A /* inout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inout.h; sourceTree = ""; }; + B33448AC2859D566006E6B3A /* pci_bus.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pci_bus.h; sourceTree = ""; }; + B33448AD2859D566006E6B3A /* hardware.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hardware.h; sourceTree = ""; }; + B33448AE2859D566006E6B3A /* callback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = callback.h; sourceTree = ""; }; + B33448AF2859D566006E6B3A /* dosbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dosbox.h; sourceTree = ""; }; + B33448B02859D566006E6B3A /* programs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = programs.h; sourceTree = ""; }; + B33448B12859D566006E6B3A /* render.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render.h; sourceTree = ""; }; + B33448B22859D566006E6B3A /* dbp_serialize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dbp_serialize.h; sourceTree = ""; }; + B33448B32859D566006E6B3A /* support.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = support.h; sourceTree = ""; }; + B33448B42859D566006E6B3A /* keyb2joypad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyb2joypad.h; sourceTree = ""; }; + B33448B52859D566006E6B3A /* dosbox_pure_libretro.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = dosbox_pure_libretro.dylib; sourceTree = ""; }; + B33448B62859D566006E6B3A /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + B33448B72859D566006E6B3A /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; + B33448B82859D566006E6B3A /* DOSBOX-AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = "DOSBOX-AUTHORS"; sourceTree = ""; }; + B33448BB2859D566006E6B3A /* encoding_utf.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = encoding_utf.c; sourceTree = ""; }; + B33448BD2859D566006E6B3A /* compat_strl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = compat_strl.c; sourceTree = ""; }; + B33448BE2859D566006E6B3A /* fopen_utf8.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = fopen_utf8.c; sourceTree = ""; }; + B33448C12859D566006E6B3A /* utf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = utf.h; sourceTree = ""; }; + B33448C32859D566006E6B3A /* strl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = strl.h; sourceTree = ""; }; + B33448C42859D566006E6B3A /* fopen_utf8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fopen_utf8.h; sourceTree = ""; }; + B33448C52859D566006E6B3A /* retro_common_api.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = retro_common_api.h; sourceTree = ""; }; + B33448C62859D566006E6B3A /* retro_timers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = retro_timers.h; sourceTree = ""; }; + B33448C72859D566006E6B3A /* retro_inline.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = retro_inline.h; sourceTree = ""; }; + B33448C82859D566006E6B3A /* boolean.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = boolean.h; sourceTree = ""; }; + B33448C92859D566006E6B3A /* libretro.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libretro.h; sourceTree = ""; }; + B33448CB2859D566006E6B3A /* wiiu_pthread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wiiu_pthread.h; sourceTree = ""; }; + B33448CC2859D566006E6B3A /* gx_pthread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gx_pthread.h; sourceTree = ""; }; + B33448CD2859D566006E6B3A /* ctr_pthread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ctr_pthread.h; sourceTree = ""; }; + B33448CE2859D566006E6B3A /* dosbox_pure_libretro.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dosbox_pure_libretro.cpp; sourceTree = ""; }; + B33448CF2859D566006E6B3A /* dosbox_pure_libretro.sln */ = {isa = PBXFileReference; lastKnownFileType = text; path = dosbox_pure_libretro.sln; sourceTree = ""; }; + B33448D02859D566006E6B3A /* .gitlab-ci.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = ".gitlab-ci.yml"; sourceTree = ""; }; + B33448D12859D566006E6B3A /* DOSBOX-THANKS */ = {isa = PBXFileReference; lastKnownFileType = text; path = "DOSBOX-THANKS"; sourceTree = ""; }; + B33449AA2859D566006E6B3A /* dosbox_pure_libretro.vcxproj */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = dosbox_pure_libretro.vcxproj; sourceTree = ""; }; + B33449AB2859D566006E6B3A /* dosbox_pure_libretro.vcxproj.filters */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = dosbox_pure_libretro.vcxproj.filters; sourceTree = ""; }; + B33449AC2859D566006E6B3A /* dosbox_pure_libretro.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = dosbox_pure_libretro.info; sourceTree = ""; }; + B33449AE2859D566006E6B3A /* Android.mk */ = {isa = PBXFileReference; lastKnownFileType = text; path = Android.mk; sourceTree = ""; }; + B33449AF2859D566006E6B3A /* Application.mk */ = {isa = PBXFileReference; lastKnownFileType = text; path = Application.mk; sourceTree = ""; }; + B33449B02859D566006E6B3A /* keyb2joypad.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = keyb2joypad.cpp; sourceTree = ""; }; + B33449B32859D566006E6B3A /* messages.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = messages.cpp; sourceTree = ""; }; + B33449B42859D566006E6B3A /* setup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = setup.cpp; sourceTree = ""; }; + B33449B52859D566006E6B3A /* cross.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cross.cpp; sourceTree = ""; }; + B33449B62859D566006E6B3A /* programs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = programs.cpp; sourceTree = ""; }; + B33449B72859D566006E6B3A /* support.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = support.cpp; sourceTree = ""; }; + B33449B92859D566006E6B3A /* pic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = pic.cpp; sourceTree = ""; }; + B33449BA2859D566006E6B3A /* vga_memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_memory.cpp; sourceTree = ""; }; + B33449BB2859D566006E6B3A /* memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memory.cpp; sourceTree = ""; }; + B33449BC2859D566006E6B3A /* hardware.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = hardware.cpp; sourceTree = ""; }; + B33449BD2859D566006E6B3A /* vga_other.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_other.cpp; sourceTree = ""; }; + B33449BE2859D566006E6B3A /* dma.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dma.cpp; sourceTree = ""; }; + B33449C02859D566006E6B3A /* sn76496.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sn76496.h; sourceTree = ""; }; + B33449C12859D566006E6B3A /* emu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = emu.h; sourceTree = ""; }; + B33449C22859D566006E6B3A /* saa1099.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = saa1099.cpp; sourceTree = ""; }; + B33449C32859D566006E6B3A /* sn76496.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sn76496.cpp; sourceTree = ""; }; + B33449C42859D566006E6B3A /* saa1099.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = saa1099.h; sourceTree = ""; }; + B33449C52859D566006E6B3A /* pci_bus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = pci_bus.cpp; sourceTree = ""; }; + B33449C62859D566006E6B3A /* timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = ""; }; + B33449C72859D566006E6B3A /* mixer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mixer.cpp; sourceTree = ""; }; + B33449C82859D566006E6B3A /* adlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = adlib.h; sourceTree = ""; }; + B33449C92859D566006E6B3A /* gus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gus.cpp; sourceTree = ""; }; + B33449CA2859D566006E6B3A /* gameblaster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gameblaster.cpp; sourceTree = ""; }; + B33449CB2859D566006E6B3A /* vga_draw.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_draw.cpp; sourceTree = ""; }; + B33449CC2859D566006E6B3A /* dbopl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dbopl.h; sourceTree = ""; }; + B33449CD2859D566006E6B3A /* sblaster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sblaster.cpp; sourceTree = ""; }; + B33449CE2859D566006E6B3A /* tandy_sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tandy_sound.cpp; sourceTree = ""; }; + B33449CF2859D566006E6B3A /* pci_devices.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pci_devices.h; sourceTree = ""; }; + B33449D02859D566006E6B3A /* vga_gfx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_gfx.cpp; sourceTree = ""; }; + B33449D12859D566006E6B3A /* disney.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = disney.cpp; sourceTree = ""; }; + B33449D22859D566006E6B3A /* vga_attr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_attr.cpp; sourceTree = ""; }; + B33449D32859D566006E6B3A /* vga_xga.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_xga.cpp; sourceTree = ""; }; + B33449D42859D566006E6B3A /* iohandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = iohandler.cpp; sourceTree = ""; }; + B33449D52859D566006E6B3A /* vga_tseng.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_tseng.cpp; sourceTree = ""; }; + B33449D62859D566006E6B3A /* adlib.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = adlib.cpp; sourceTree = ""; }; + B33449D72859D566006E6B3A /* cmos.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cmos.cpp; sourceTree = ""; }; + B33449D82859D566006E6B3A /* nukedopl3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = nukedopl3.cpp; sourceTree = ""; }; + B33449D92859D566006E6B3A /* vga_dac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_dac.cpp; sourceTree = ""; }; + B33449DA2859D566006E6B3A /* pcspeaker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = pcspeaker.cpp; sourceTree = ""; }; + B33449DB2859D566006E6B3A /* nukedopl3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nukedopl3.h; sourceTree = ""; }; + B33449DC2859D566006E6B3A /* vga_crtc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_crtc.cpp; sourceTree = ""; }; + B33449DD2859D566006E6B3A /* dbopl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dbopl.cpp; sourceTree = ""; }; + B33449DF2859D566006E6B3A /* serialport.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = serialport.cpp; sourceTree = ""; }; + B33449E02859D566006E6B3A /* misc_util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = misc_util.h; sourceTree = ""; }; + B33449E12859D566006E6B3A /* directserial.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = directserial.h; sourceTree = ""; }; + B33449E22859D566006E6B3A /* softmodem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = softmodem.h; sourceTree = ""; }; + B33449E32859D566006E6B3A /* serialdummy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = serialdummy.h; sourceTree = ""; }; + B33449E42859D566006E6B3A /* serialdummy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = serialdummy.cpp; sourceTree = ""; }; + B33449E52859D566006E6B3A /* nullmodem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nullmodem.h; sourceTree = ""; }; + B33449E62859D566006E6B3A /* libserial.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libserial.h; sourceTree = ""; }; + B33449E72859D566006E6B3A /* vga_paradise.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_paradise.cpp; sourceTree = ""; }; + B33449E82859D566006E6B3A /* mpu401.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mpu401.cpp; sourceTree = ""; }; + B33449E92859D566006E6B3A /* keyboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = keyboard.cpp; sourceTree = ""; }; + B33449EA2859D566006E6B3A /* joystick.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = joystick.cpp; sourceTree = ""; }; + B33449EB2859D566006E6B3A /* vga.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga.cpp; sourceTree = ""; }; + B33449EC2859D566006E6B3A /* vga_misc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_misc.cpp; sourceTree = ""; }; + B33449ED2859D566006E6B3A /* vga_s3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_s3.cpp; sourceTree = ""; }; + B33449EE2859D566006E6B3A /* vga_seq.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vga_seq.cpp; sourceTree = ""; }; + B33449F02859D566006E6B3A /* drive_cache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_cache.cpp; sourceTree = ""; }; + B33449F12859D566006E6B3A /* dos_files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_files.cpp; sourceTree = ""; }; + B33449F22859D566006E6B3A /* dos_tables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_tables.cpp; sourceTree = ""; }; + B33449F32859D566006E6B3A /* dos_ioctl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_ioctl.cpp; sourceTree = ""; }; + B33449F42859D566006E6B3A /* cdrom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cdrom.cpp; sourceTree = ""; }; + B33449F52859D566006E6B3A /* cdrom_image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cdrom_image.cpp; sourceTree = ""; }; + B33449F62859D566006E6B3A /* drive_overlay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_overlay.cpp; sourceTree = ""; }; + B33449F72859D566006E6B3A /* drive_zip.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_zip.cpp; sourceTree = ""; }; + B33449F82859D566006E6B3A /* stb_vorbis.inl */ = {isa = PBXFileReference; lastKnownFileType = text; path = stb_vorbis.inl; sourceTree = ""; }; + B33449F92859D566006E6B3A /* dos_mscdex.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_mscdex.cpp; sourceTree = ""; }; + B33449FA2859D566006E6B3A /* dos_keyboard_layout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_keyboard_layout.cpp; sourceTree = ""; }; + B33449FB2859D566006E6B3A /* dos_programs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_programs.cpp; sourceTree = ""; }; + B33449FC2859D566006E6B3A /* dos_keyboard_layout_data.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dos_keyboard_layout_data.h; sourceTree = ""; }; + B33449FD2859D566006E6B3A /* dos_memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_memory.cpp; sourceTree = ""; }; + B33449FE2859D566006E6B3A /* drive_virtual.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_virtual.cpp; sourceTree = ""; }; + B33449FF2859D566006E6B3A /* dos_codepages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dos_codepages.h; sourceTree = ""; }; + B3344A002859D566006E6B3A /* drive_union.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_union.cpp; sourceTree = ""; }; + B3344A012859D566006E6B3A /* dos_classes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_classes.cpp; sourceTree = ""; }; + B3344A022859D566006E6B3A /* cdrom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cdrom.h; sourceTree = ""; }; + B3344A032859D566006E6B3A /* dev_con.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dev_con.h; sourceTree = ""; }; + B3344A042859D566006E6B3A /* drives.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = drives.h; sourceTree = ""; }; + B3344A052859D566006E6B3A /* drives.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drives.cpp; sourceTree = ""; }; + B3344A062859D566006E6B3A /* dos_execute.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_execute.cpp; sourceTree = ""; }; + B3344A072859D566006E6B3A /* dos_devices.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_devices.cpp; sourceTree = ""; }; + B3344A082859D566006E6B3A /* scsidefs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = scsidefs.h; sourceTree = ""; }; + B3344A092859D566006E6B3A /* drive_memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_memory.cpp; sourceTree = ""; }; + B3344A0A2859D566006E6B3A /* dos.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos.cpp; sourceTree = ""; }; + B3344A0B2859D566006E6B3A /* drive_iso.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_iso.cpp; sourceTree = ""; }; + B3344A0C2859D566006E6B3A /* dos_misc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dos_misc.cpp; sourceTree = ""; }; + B3344A0D2859D566006E6B3A /* drive_fat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_fat.cpp; sourceTree = ""; }; + B3344A0E2859D566006E6B3A /* wnaspi32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wnaspi32.h; sourceTree = ""; }; + B3344A0F2859D566006E6B3A /* drive_local.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drive_local.cpp; sourceTree = ""; }; + B3344A112859D566006E6B3A /* flags.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = flags.cpp; sourceTree = ""; }; + B3344A132859D566006E6B3A /* risc_x86.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_x86.h; sourceTree = ""; }; + B3344A142859D566006E6B3A /* dyn_fpu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dyn_fpu.h; sourceTree = ""; }; + B3344A152859D566006E6B3A /* decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = decoder.h; sourceTree = ""; }; + B3344A162859D566006E6B3A /* dyn_fpu_dh.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dyn_fpu_dh.h; sourceTree = ""; }; + B3344A172859D566006E6B3A /* helpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = helpers.h; sourceTree = ""; }; + B3344A182859D566006E6B3A /* risc_x64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_x64.h; sourceTree = ""; }; + B3344A192859D566006E6B3A /* string.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = string.h; sourceTree = ""; }; + B3344A1A2859D566006E6B3A /* core_normal.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = core_normal.cpp; sourceTree = ""; }; + B3344A1B2859D566006E6B3A /* modrm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = modrm.h; sourceTree = ""; }; + B3344A1C2859D566006E6B3A /* callback.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = callback.cpp; sourceTree = ""; }; + B3344A1D2859D566006E6B3A /* dyn_cache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dyn_cache.h; sourceTree = ""; }; + B3344A1E2859D566006E6B3A /* core_simple.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = core_simple.cpp; sourceTree = ""; }; + B3344A1F2859D566006E6B3A /* paging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = paging.cpp; sourceTree = ""; }; + B3344A202859D566006E6B3A /* modrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = modrm.cpp; sourceTree = ""; }; + B3344A212859D566006E6B3A /* core_dynrec.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = core_dynrec.cpp; sourceTree = ""; }; + B3344A232859D566006E6B3A /* loadwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = loadwrite.h; sourceTree = ""; }; + B3344A242859D566006E6B3A /* ea_lookup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ea_lookup.h; sourceTree = ""; }; + B3344A252859D566006E6B3A /* op.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = op.h; sourceTree = ""; }; + B3344A262859D566006E6B3A /* load.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = load.h; sourceTree = ""; }; + B3344A272859D566006E6B3A /* save.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = save.h; sourceTree = ""; }; + B3344A282859D566006E6B3A /* optable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = optable.h; sourceTree = ""; }; + B3344A292859D566006E6B3A /* string.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = string.h; sourceTree = ""; }; + B3344A2A2859D566006E6B3A /* support.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = support.h; sourceTree = ""; }; + B3344A2B2859D566006E6B3A /* core_prefetch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = core_prefetch.cpp; sourceTree = ""; }; + B3344A2C2859D566006E6B3A /* lazyflags.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lazyflags.h; sourceTree = ""; }; + B3344A2D2859D566006E6B3A /* instructions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = instructions.h; sourceTree = ""; }; + B3344A2F2859D566006E6B3A /* prefix_none.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = prefix_none.h; sourceTree = ""; }; + B3344A302859D566006E6B3A /* prefix_66.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = prefix_66.h; sourceTree = ""; }; + B3344A312859D566006E6B3A /* table_ea.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = table_ea.h; sourceTree = ""; }; + B3344A322859D566006E6B3A /* prefix_0f.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = prefix_0f.h; sourceTree = ""; }; + B3344A332859D566006E6B3A /* prefix_66_0f.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = prefix_66_0f.h; sourceTree = ""; }; + B3344A342859D566006E6B3A /* helpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = helpers.h; sourceTree = ""; }; + B3344A352859D566006E6B3A /* string.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = string.h; sourceTree = ""; }; + B3344A362859D566006E6B3A /* support.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = support.h; sourceTree = ""; }; + B3344A372859D566006E6B3A /* core_dyn_x86.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = core_dyn_x86.cpp; sourceTree = ""; }; + B3344A382859D566006E6B3A /* cpu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cpu.cpp; sourceTree = ""; }; + B3344A392859D566006E6B3A /* core_full.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = core_full.cpp; sourceTree = ""; }; + B3344A3B2859D566006E6B3A /* risc_armv4le-o3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "risc_armv4le-o3.h"; sourceTree = ""; }; + B3344A3C2859D566006E6B3A /* risc_armv4le-thumb-iw.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "risc_armv4le-thumb-iw.h"; sourceTree = ""; }; + B3344A3D2859D566006E6B3A /* risc_x86.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_x86.h; sourceTree = ""; }; + B3344A3E2859D566006E6B3A /* dyn_fpu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dyn_fpu.h; sourceTree = ""; }; + B3344A3F2859D566006E6B3A /* operators.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = operators.h; sourceTree = ""; }; + B3344A402859D566006E6B3A /* risc_armv4le-thumb-niw.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "risc_armv4le-thumb-niw.h"; sourceTree = ""; }; + B3344A412859D566006E6B3A /* decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = decoder.h; sourceTree = ""; }; + B3344A422859D566006E6B3A /* risc_mipsel32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_mipsel32.h; sourceTree = ""; }; + B3344A432859D566006E6B3A /* risc_armv8le.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_armv8le.h; sourceTree = ""; }; + B3344A442859D566006E6B3A /* risc_armv4le.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_armv4le.h; sourceTree = ""; }; + B3344A452859D566006E6B3A /* risc_armv4le-thumb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "risc_armv4le-thumb.h"; sourceTree = ""; }; + B3344A462859D566006E6B3A /* risc_armv4le-common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "risc_armv4le-common.h"; sourceTree = ""; }; + B3344A472859D566006E6B3A /* decoder_basic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = decoder_basic.h; sourceTree = ""; }; + B3344A482859D566006E6B3A /* decoder_opcodes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = decoder_opcodes.h; sourceTree = ""; }; + B3344A492859D566006E6B3A /* risc_x64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_x64.h; sourceTree = ""; }; + B3344A4A2859D566006E6B3A /* risc_ppc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = risc_ppc.h; sourceTree = ""; }; + B3344A4C2859D566006E6B3A /* shell_batch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = shell_batch.cpp; sourceTree = ""; }; + B3344A4D2859D566006E6B3A /* shell_misc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = shell_misc.cpp; sourceTree = ""; }; + B3344A4E2859D566006E6B3A /* shell_cmds.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = shell_cmds.cpp; sourceTree = ""; }; + B3344A4F2859D566006E6B3A /* shell.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = shell.cpp; sourceTree = ""; }; + B3344A502859D566006E6B3A /* dosbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dosbox.cpp; sourceTree = ""; }; + B3344A522859D566006E6B3A /* render_scalers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_scalers.h; sourceTree = ""; }; + B3344A532859D566006E6B3A /* render_simple.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_simple.h; sourceTree = ""; }; + B3344A542859D566006E6B3A /* render.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = render.cpp; sourceTree = ""; }; + B3344A552859D566006E6B3A /* midi_alsa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_alsa.h; sourceTree = ""; }; + B3344A562859D566006E6B3A /* render_templates_hq.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_templates_hq.h; sourceTree = ""; }; + B3344A572859D566006E6B3A /* midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = midi.cpp; sourceTree = ""; }; + B3344A582859D566006E6B3A /* midi_oss.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_oss.h; sourceTree = ""; }; + B3344A592859D566006E6B3A /* render_templates_sai.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_templates_sai.h; sourceTree = ""; }; + B3344A5A2859D566006E6B3A /* render_scalers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = render_scalers.cpp; sourceTree = ""; }; + B3344A5B2859D566006E6B3A /* render_loops.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_loops.h; sourceTree = ""; }; + B3344A5C2859D566006E6B3A /* midi_retro.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_retro.h; sourceTree = ""; }; + B3344A5D2859D566006E6B3A /* midi_coremidi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_coremidi.h; sourceTree = ""; }; + B3344A5E2859D566006E6B3A /* midi_coreaudio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_coreaudio.h; sourceTree = ""; }; + B3344A5F2859D566006E6B3A /* mt32emu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mt32emu.h; sourceTree = ""; }; + B3344A602859D566006E6B3A /* render_glsl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_glsl.h; sourceTree = ""; }; + B3344A612859D566006E6B3A /* tsf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tsf.h; sourceTree = ""; }; + B3344A622859D566006E6B3A /* render_templates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_templates.h; sourceTree = ""; }; + B3344A632859D566006E6B3A /* midi_tsf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_tsf.h; sourceTree = ""; }; + B3344A642859D566006E6B3A /* render_templates_hq2x.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_templates_hq2x.h; sourceTree = ""; }; + B3344A652859D566006E6B3A /* midi_win32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_win32.h; sourceTree = ""; }; + B3344A662859D566006E6B3A /* render_templates_hq3x.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = render_templates_hq3x.h; sourceTree = ""; }; + B3344A672859D566006E6B3A /* midi_mt32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midi_mt32.h; sourceTree = ""; }; + B3344A692859D566006E6B3A /* bios.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bios.cpp; sourceTree = ""; }; + B3344A6A2859D566006E6B3A /* int10_pal.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_pal.cpp; sourceTree = ""; }; + B3344A6B2859D566006E6B3A /* int10_vesa.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_vesa.cpp; sourceTree = ""; }; + B3344A6C2859D566006E6B3A /* int10_put_pixel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_put_pixel.cpp; sourceTree = ""; }; + B3344A6D2859D566006E6B3A /* mouse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mouse.cpp; sourceTree = ""; }; + B3344A6E2859D566006E6B3A /* int10_char.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_char.cpp; sourceTree = ""; }; + B3344A6F2859D566006E6B3A /* ems.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ems.cpp; sourceTree = ""; }; + B3344A702859D566006E6B3A /* int10.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10.cpp; sourceTree = ""; }; + B3344A712859D566006E6B3A /* int10_misc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_misc.cpp; sourceTree = ""; }; + B3344A722859D566006E6B3A /* int10_modes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_modes.cpp; sourceTree = ""; }; + B3344A732859D566006E6B3A /* xms.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = xms.cpp; sourceTree = ""; }; + B3344A742859D566006E6B3A /* int10_video_state.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_video_state.cpp; sourceTree = ""; }; + B3344A752859D566006E6B3A /* int10_memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_memory.cpp; sourceTree = ""; }; + B3344A762859D566006E6B3A /* int10.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = int10.h; sourceTree = ""; }; + B3344A772859D566006E6B3A /* xms.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = xms.h; sourceTree = ""; }; + B3344A782859D566006E6B3A /* int10_vptable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = int10_vptable.cpp; sourceTree = ""; }; + B3344A792859D566006E6B3A /* bios_keyboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bios_keyboard.cpp; sourceTree = ""; }; + B3344A7A2859D566006E6B3A /* bios_disk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bios_disk.cpp; sourceTree = ""; }; + B3344A7B2859D566006E6B3A /* dbp_serialize.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dbp_serialize.cpp; sourceTree = ""; }; + B3344A7D2859D566006E6B3A /* fpu_instructions_x86.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fpu_instructions_x86.h; sourceTree = ""; }; + B3344A7E2859D566006E6B3A /* fpu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fpu.cpp; sourceTree = ""; }; + B3344A7F2859D566006E6B3A /* fpu_instructions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fpu_instructions.h; sourceTree = ""; }; + B339468820783F41008DBAB4 /* libpthread.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libpthread.tbd; path = usr/lib/libpthread.tbd; sourceTree = SDKROOT; }; + B339468A20783F48008DBAB4 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + B3447E96218B809200557ACE /* PVDosBoxCore+Controls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PVDosBoxCore+Controls.h"; sourceTree = ""; }; + B3447E97218B809300557ACE /* PVDosBoxCore+Controls.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "PVDosBoxCore+Controls.mm"; sourceTree = ""; }; + B3447EA0218B881000557ACE /* PVDosBox.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PVDosBox.mm; sourceTree = ""; }; + B3447EA9218BC59D00557ACE /* PVDosBoxCore+Saves.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PVDosBoxCore+Saves.h"; sourceTree = ""; }; + B3447EAA218BC59D00557ACE /* PVDosBoxCore+Saves.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PVDosBoxCore+Saves.m"; sourceTree = ""; }; + B3447EAD218BC5C500557ACE /* PVDosBoxCore+Video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PVDosBoxCore+Video.h"; sourceTree = ""; }; + B3447EAE218BC5C500557ACE /* PVDosBoxCore+Video.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PVDosBoxCore+Video.m"; sourceTree = ""; }; + B3447EB1218BC69700557ACE /* PVDosBoxCore+Audio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PVDosBoxCore+Audio.h"; sourceTree = ""; }; + B3447EB2218BC69700557ACE /* PVDosBoxCore+Audio.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PVDosBoxCore+Audio.m"; sourceTree = ""; }; + B3447EBF218BE9DA00557ACE /* BuildFlags.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BuildFlags.xcconfig; sourceTree = ""; }; + B3447EE6218BEDD200557ACE /* PVDosBox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PVDosBox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3447F91218BEE3F00557ACE /* libdos-box-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libdos-box-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B35E6BEF207CD2610040709A /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; + B35E6BF1207CD2670040709A /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + B35E6BF3207CD2730040709A /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + B35E6BF4207CD2740040709A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + B35E6BF8207D00D00040709A /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + B3B104B8218F281B00210C39 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3C7621020783162009950E4 /* PVDosBox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PVDosBox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3C7621320783162009950E4 /* PVDosBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PVDosBox.h; sourceTree = ""; }; + B3C7621420783162009950E4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B3C7621C20783243009950E4 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + B3C7621E2078325C009950E4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + B3C7622120783297009950E4 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3C76223207833DE009950E4 /* PVDosBoxCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PVDosBoxCore.h; sourceTree = ""; }; + B3C76224207833DE009950E4 /* PVDosBoxCore.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PVDosBoxCore.mm; sourceTree = ""; }; + B3C7622720783510009950E4 /* Core.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Core.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B30178D0207C901D0051B93D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3447ECA218BEDD200557ACE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B324C31C2191964F009F4EDC /* AVFoundation.framework in Frameworks */, + B3B104B9218F281B00210C39 /* PVSupport.framework in Frameworks */, + B3B104AF218F26F400210C39 /* libdos-box-tvOS.a in Frameworks */, + B3447ECD218BEDD200557ACE /* CoreAudio.framework in Frameworks */, + B3447ECE218BEDD200557ACE /* AudioToolbox.framework in Frameworks */, + B3447ED0218BEDD200557ACE /* libz.tbd in Frameworks */, + B3447ED1218BEDD200557ACE /* libpthread.tbd in Frameworks */, + B3447ED3218BEDD200557ACE /* Foundation.framework in Frameworks */, + B3447ED4218BEDD200557ACE /* OpenGLES.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3447F8C218BEE3F00557ACE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3C7620C20783162009950E4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B35E6BF9207D00D00040709A /* AVFoundation.framework in Frameworks */, + B35E6BF5207CD2740040709A /* CoreAudioKit.framework in Frameworks */, + B35E6BF6207CD2740040709A /* CoreAudio.framework in Frameworks */, + B3135BAB26E4CDC50047F338 /* QuartzCore.framework in Frameworks */, + B35E6BF2207CD2680040709A /* AudioToolbox.framework in Frameworks */, + B301797F207C909E0051B93D /* libdos-box-iOS.a in Frameworks */, + B339468B20783F48008DBAB4 /* libz.tbd in Frameworks */, + B339468920783F41008DBAB4 /* libpthread.tbd in Frameworks */, + B3C7622220783297009950E4 /* PVSupport.framework in Frameworks */, + B3C7621F2078325C009950E4 /* Foundation.framework in Frameworks */, + B3C7621D20783243009950E4 /* OpenGLES.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + B33448832859D565006E6B3A /* dosbox-pure */ = { + isa = PBXGroup; + children = ( + B33448B72859D566006E6B3A /* .gitignore */, + B33448B82859D566006E6B3A /* DOSBOX-AUTHORS */, + B33448D12859D566006E6B3A /* DOSBOX-THANKS */, + B33448852859D566006E6B3A /* LICENSE */, + B334488B2859D566006E6B3A /* Makefile */, + B33448CE2859D566006E6B3A /* dosbox_pure_libretro.cpp */, + B33449B02859D566006E6B3A /* keyb2joypad.cpp */, + B33448B52859D566006E6B3A /* dosbox_pure_libretro.dylib */, + B33449AB2859D566006E6B3A /* dosbox_pure_libretro.vcxproj.filters */, + B33448842859D565006E6B3A /* core_options.h */, + B33448B42859D566006E6B3A /* keyb2joypad.h */, + B33449AC2859D566006E6B3A /* dosbox_pure_libretro.info */, + B33448B62859D566006E6B3A /* README.md */, + B33448CF2859D566006E6B3A /* dosbox_pure_libretro.sln */, + B33449AA2859D566006E6B3A /* dosbox_pure_libretro.vcxproj */, + B33448D02859D566006E6B3A /* .gitlab-ci.yml */, + B33448862859D566006E6B3A /* images */, + B334488C2859D566006E6B3A /* include */, + B33449AD2859D566006E6B3A /* jni */, + B33448B92859D566006E6B3A /* libretro-common */, + B33449B12859D566006E6B3A /* src */, + ); + path = "dosbox-pure"; + sourceTree = ""; + }; + B33448862859D566006E6B3A /* images */ = { + isa = PBXGroup; + children = ( + B33448872859D566006E6B3A /* onscreenkeyboard.png */, + B33448882859D566006E6B3A /* padmapper.png */, + B33448892859D566006E6B3A /* startmenu.png */, + B334488A2859D566006E6B3A /* logo.png */, + ); + path = images; + sourceTree = ""; + }; + B334488C2859D566006E6B3A /* include */ = { + isa = PBXGroup; + children = ( + B334488D2859D566006E6B3A /* dma.h */, + B334488E2859D566006E6B3A /* dos_system.h */, + B334488F2859D566006E6B3A /* bios.h */, + B33448902859D566006E6B3A /* control.h */, + B33448912859D566006E6B3A /* debug.h */, + B33448922859D566006E6B3A /* shell.h */, + B33448932859D566006E6B3A /* setup.h */, + B33448942859D566006E6B3A /* cross.h */, + B33448952859D566006E6B3A /* ipx.h */, + B33448962859D566006E6B3A /* dos_inc.h */, + B33448972859D566006E6B3A /* midi.h */, + B33448982859D566006E6B3A /* config.h */, + B33448992859D566006E6B3A /* joystick.h */, + B334489A2859D566006E6B3A /* bios_disk.h */, + B334489B2859D566006E6B3A /* mapper.h */, + B334489C2859D566006E6B3A /* vga.h */, + B334489D2859D566006E6B3A /* logging.h */, + B334489E2859D566006E6B3A /* serialport.h */, + B334489F2859D566006E6B3A /* mouse.h */, + B33448A02859D566006E6B3A /* timer.h */, + B33448A12859D566006E6B3A /* mixer.h */, + B33448A22859D566006E6B3A /* ipxserver.h */, + B33448A32859D566006E6B3A /* fpu.h */, + B33448A42859D566006E6B3A /* pic.h */, + B33448A52859D566006E6B3A /* keyboard.h */, + B33448A62859D566006E6B3A /* cpu.h */, + B33448A72859D566006E6B3A /* video.h */, + B33448A82859D566006E6B3A /* paging.h */, + B33448A92859D566006E6B3A /* regs.h */, + B33448AA2859D566006E6B3A /* mem.h */, + B33448AB2859D566006E6B3A /* inout.h */, + B33448AC2859D566006E6B3A /* pci_bus.h */, + B33448AD2859D566006E6B3A /* hardware.h */, + B33448AE2859D566006E6B3A /* callback.h */, + B33448AF2859D566006E6B3A /* dosbox.h */, + B33448B02859D566006E6B3A /* programs.h */, + B33448B12859D566006E6B3A /* render.h */, + B33448B22859D566006E6B3A /* dbp_serialize.h */, + B33448B32859D566006E6B3A /* support.h */, + ); + path = include; + sourceTree = ""; + }; + B33448B92859D566006E6B3A /* libretro-common */ = { + isa = PBXGroup; + children = ( + B33448BA2859D566006E6B3A /* encodings */, + B33448BC2859D566006E6B3A /* compat */, + B33448BF2859D566006E6B3A /* include */, + B33448CA2859D566006E6B3A /* rthreads */, + ); + path = "libretro-common"; + sourceTree = ""; + }; + B33448BA2859D566006E6B3A /* encodings */ = { + isa = PBXGroup; + children = ( + B33448BB2859D566006E6B3A /* encoding_utf.c */, + ); + path = encodings; + sourceTree = ""; + }; + B33448BC2859D566006E6B3A /* compat */ = { + isa = PBXGroup; + children = ( + B33448BD2859D566006E6B3A /* compat_strl.c */, + B33448BE2859D566006E6B3A /* fopen_utf8.c */, + ); + path = compat; + sourceTree = ""; + }; + B33448BF2859D566006E6B3A /* include */ = { + isa = PBXGroup; + children = ( + B33448C02859D566006E6B3A /* encodings */, + B33448C22859D566006E6B3A /* compat */, + B33448C52859D566006E6B3A /* retro_common_api.h */, + B33448C62859D566006E6B3A /* retro_timers.h */, + B33448C72859D566006E6B3A /* retro_inline.h */, + B33448C82859D566006E6B3A /* boolean.h */, + B33448C92859D566006E6B3A /* libretro.h */, + ); + path = include; + sourceTree = ""; + }; + B33448C02859D566006E6B3A /* encodings */ = { + isa = PBXGroup; + children = ( + B33448C12859D566006E6B3A /* utf.h */, + ); + path = encodings; + sourceTree = ""; + }; + B33448C22859D566006E6B3A /* compat */ = { + isa = PBXGroup; + children = ( + B33448C32859D566006E6B3A /* strl.h */, + B33448C42859D566006E6B3A /* fopen_utf8.h */, + ); + path = compat; + sourceTree = ""; + }; + B33448CA2859D566006E6B3A /* rthreads */ = { + isa = PBXGroup; + children = ( + B33448CB2859D566006E6B3A /* wiiu_pthread.h */, + B33448CC2859D566006E6B3A /* gx_pthread.h */, + B33448CD2859D566006E6B3A /* ctr_pthread.h */, + ); + path = rthreads; + sourceTree = ""; + }; + B33449AD2859D566006E6B3A /* jni */ = { + isa = PBXGroup; + children = ( + B33449AE2859D566006E6B3A /* Android.mk */, + B33449AF2859D566006E6B3A /* Application.mk */, + ); + path = jni; + sourceTree = ""; + }; + B33449B12859D566006E6B3A /* src */ = { + isa = PBXGroup; + children = ( + B3344A7B2859D566006E6B3A /* dbp_serialize.cpp */, + B3344A502859D566006E6B3A /* dosbox.cpp */, + B3344A102859D566006E6B3A /* cpu */, + B33449EF2859D566006E6B3A /* dos */, + B3344A7C2859D566006E6B3A /* fpu */, + B3344A512859D566006E6B3A /* gui */, + B33449B82859D566006E6B3A /* hardware */, + B3344A682859D566006E6B3A /* ints */, + B33449B22859D566006E6B3A /* misc */, + B3344A4B2859D566006E6B3A /* shell */, + ); + path = src; + sourceTree = ""; + }; + B33449B22859D566006E6B3A /* misc */ = { + isa = PBXGroup; + children = ( + B33449B32859D566006E6B3A /* messages.cpp */, + B33449B42859D566006E6B3A /* setup.cpp */, + B33449B52859D566006E6B3A /* cross.cpp */, + B33449B62859D566006E6B3A /* programs.cpp */, + B33449B72859D566006E6B3A /* support.cpp */, + ); + path = misc; + sourceTree = ""; + }; + B33449B82859D566006E6B3A /* hardware */ = { + isa = PBXGroup; + children = ( + B33449B92859D566006E6B3A /* pic.cpp */, + B33449BA2859D566006E6B3A /* vga_memory.cpp */, + B33449BB2859D566006E6B3A /* memory.cpp */, + B33449BC2859D566006E6B3A /* hardware.cpp */, + B33449BD2859D566006E6B3A /* vga_other.cpp */, + B33449BE2859D566006E6B3A /* dma.cpp */, + B33449BF2859D566006E6B3A /* mame */, + B33449C52859D566006E6B3A /* pci_bus.cpp */, + B33449C62859D566006E6B3A /* timer.cpp */, + B33449C72859D566006E6B3A /* mixer.cpp */, + B33449C82859D566006E6B3A /* adlib.h */, + B33449C92859D566006E6B3A /* gus.cpp */, + B33449CA2859D566006E6B3A /* gameblaster.cpp */, + B33449CB2859D566006E6B3A /* vga_draw.cpp */, + B33449CC2859D566006E6B3A /* dbopl.h */, + B33449CD2859D566006E6B3A /* sblaster.cpp */, + B33449CE2859D566006E6B3A /* tandy_sound.cpp */, + B33449CF2859D566006E6B3A /* pci_devices.h */, + B33449D02859D566006E6B3A /* vga_gfx.cpp */, + B33449D12859D566006E6B3A /* disney.cpp */, + B33449D22859D566006E6B3A /* vga_attr.cpp */, + B33449D32859D566006E6B3A /* vga_xga.cpp */, + B33449D42859D566006E6B3A /* iohandler.cpp */, + B33449D52859D566006E6B3A /* vga_tseng.cpp */, + B33449D62859D566006E6B3A /* adlib.cpp */, + B33449D72859D566006E6B3A /* cmos.cpp */, + B33449D82859D566006E6B3A /* nukedopl3.cpp */, + B33449D92859D566006E6B3A /* vga_dac.cpp */, + B33449DA2859D566006E6B3A /* pcspeaker.cpp */, + B33449DB2859D566006E6B3A /* nukedopl3.h */, + B33449DC2859D566006E6B3A /* vga_crtc.cpp */, + B33449DD2859D566006E6B3A /* dbopl.cpp */, + B33449DE2859D566006E6B3A /* serialport */, + B33449E72859D566006E6B3A /* vga_paradise.cpp */, + B33449E82859D566006E6B3A /* mpu401.cpp */, + B33449E92859D566006E6B3A /* keyboard.cpp */, + B33449EA2859D566006E6B3A /* joystick.cpp */, + B33449EB2859D566006E6B3A /* vga.cpp */, + B33449EC2859D566006E6B3A /* vga_misc.cpp */, + B33449ED2859D566006E6B3A /* vga_s3.cpp */, + B33449EE2859D566006E6B3A /* vga_seq.cpp */, + ); + path = hardware; + sourceTree = ""; + }; + B33449BF2859D566006E6B3A /* mame */ = { + isa = PBXGroup; + children = ( + B33449C02859D566006E6B3A /* sn76496.h */, + B33449C12859D566006E6B3A /* emu.h */, + B33449C22859D566006E6B3A /* saa1099.cpp */, + B33449C32859D566006E6B3A /* sn76496.cpp */, + B33449C42859D566006E6B3A /* saa1099.h */, + ); + path = mame; + sourceTree = ""; + }; + B33449DE2859D566006E6B3A /* serialport */ = { + isa = PBXGroup; + children = ( + B33449DF2859D566006E6B3A /* serialport.cpp */, + B33449E02859D566006E6B3A /* misc_util.h */, + B33449E12859D566006E6B3A /* directserial.h */, + B33449E22859D566006E6B3A /* softmodem.h */, + B33449E32859D566006E6B3A /* serialdummy.h */, + B33449E42859D566006E6B3A /* serialdummy.cpp */, + B33449E52859D566006E6B3A /* nullmodem.h */, + B33449E62859D566006E6B3A /* libserial.h */, + ); + path = serialport; + sourceTree = ""; + }; + B33449EF2859D566006E6B3A /* dos */ = { + isa = PBXGroup; + children = ( + B33449F02859D566006E6B3A /* drive_cache.cpp */, + B33449F12859D566006E6B3A /* dos_files.cpp */, + B33449F22859D566006E6B3A /* dos_tables.cpp */, + B33449F32859D566006E6B3A /* dos_ioctl.cpp */, + B33449F42859D566006E6B3A /* cdrom.cpp */, + B33449F52859D566006E6B3A /* cdrom_image.cpp */, + B33449F62859D566006E6B3A /* drive_overlay.cpp */, + B33449F72859D566006E6B3A /* drive_zip.cpp */, + B33449F82859D566006E6B3A /* stb_vorbis.inl */, + B33449F92859D566006E6B3A /* dos_mscdex.cpp */, + B33449FA2859D566006E6B3A /* dos_keyboard_layout.cpp */, + B33449FB2859D566006E6B3A /* dos_programs.cpp */, + B33449FC2859D566006E6B3A /* dos_keyboard_layout_data.h */, + B33449FD2859D566006E6B3A /* dos_memory.cpp */, + B33449FE2859D566006E6B3A /* drive_virtual.cpp */, + B33449FF2859D566006E6B3A /* dos_codepages.h */, + B3344A002859D566006E6B3A /* drive_union.cpp */, + B3344A012859D566006E6B3A /* dos_classes.cpp */, + B3344A022859D566006E6B3A /* cdrom.h */, + B3344A032859D566006E6B3A /* dev_con.h */, + B3344A042859D566006E6B3A /* drives.h */, + B3344A052859D566006E6B3A /* drives.cpp */, + B3344A062859D566006E6B3A /* dos_execute.cpp */, + B3344A072859D566006E6B3A /* dos_devices.cpp */, + B3344A082859D566006E6B3A /* scsidefs.h */, + B3344A092859D566006E6B3A /* drive_memory.cpp */, + B3344A0A2859D566006E6B3A /* dos.cpp */, + B3344A0B2859D566006E6B3A /* drive_iso.cpp */, + B3344A0C2859D566006E6B3A /* dos_misc.cpp */, + B3344A0D2859D566006E6B3A /* drive_fat.cpp */, + B3344A0E2859D566006E6B3A /* wnaspi32.h */, + B3344A0F2859D566006E6B3A /* drive_local.cpp */, + ); + path = dos; + sourceTree = ""; + }; + B3344A102859D566006E6B3A /* cpu */ = { + isa = PBXGroup; + children = ( + B3344A112859D566006E6B3A /* flags.cpp */, + B3344A122859D566006E6B3A /* core_dyn_x86 */, + B3344A1A2859D566006E6B3A /* core_normal.cpp */, + B3344A1B2859D566006E6B3A /* modrm.h */, + B3344A1C2859D566006E6B3A /* callback.cpp */, + B3344A1D2859D566006E6B3A /* dyn_cache.h */, + B3344A1E2859D566006E6B3A /* core_simple.cpp */, + B3344A1F2859D566006E6B3A /* paging.cpp */, + B3344A202859D566006E6B3A /* modrm.cpp */, + B3344A212859D566006E6B3A /* core_dynrec.cpp */, + B3344A222859D566006E6B3A /* core_full */, + B3344A2B2859D566006E6B3A /* core_prefetch.cpp */, + B3344A2C2859D566006E6B3A /* lazyflags.h */, + B3344A2D2859D566006E6B3A /* instructions.h */, + B3344A2E2859D566006E6B3A /* core_normal */, + B3344A372859D566006E6B3A /* core_dyn_x86.cpp */, + B3344A382859D566006E6B3A /* cpu.cpp */, + B3344A392859D566006E6B3A /* core_full.cpp */, + B3344A3A2859D566006E6B3A /* core_dynrec */, + ); + path = cpu; + sourceTree = ""; + }; + B3344A122859D566006E6B3A /* core_dyn_x86 */ = { + isa = PBXGroup; + children = ( + B3344A132859D566006E6B3A /* risc_x86.h */, + B3344A142859D566006E6B3A /* dyn_fpu.h */, + B3344A152859D566006E6B3A /* decoder.h */, + B3344A162859D566006E6B3A /* dyn_fpu_dh.h */, + B3344A172859D566006E6B3A /* helpers.h */, + B3344A182859D566006E6B3A /* risc_x64.h */, + B3344A192859D566006E6B3A /* string.h */, + ); + path = core_dyn_x86; + sourceTree = ""; + }; + B3344A222859D566006E6B3A /* core_full */ = { + isa = PBXGroup; + children = ( + B3344A232859D566006E6B3A /* loadwrite.h */, + B3344A242859D566006E6B3A /* ea_lookup.h */, + B3344A252859D566006E6B3A /* op.h */, + B3344A262859D566006E6B3A /* load.h */, + B3344A272859D566006E6B3A /* save.h */, + B3344A282859D566006E6B3A /* optable.h */, + B3344A292859D566006E6B3A /* string.h */, + B3344A2A2859D566006E6B3A /* support.h */, + ); + path = core_full; + sourceTree = ""; + }; + B3344A2E2859D566006E6B3A /* core_normal */ = { + isa = PBXGroup; + children = ( + B3344A2F2859D566006E6B3A /* prefix_none.h */, + B3344A302859D566006E6B3A /* prefix_66.h */, + B3344A312859D566006E6B3A /* table_ea.h */, + B3344A322859D566006E6B3A /* prefix_0f.h */, + B3344A332859D566006E6B3A /* prefix_66_0f.h */, + B3344A342859D566006E6B3A /* helpers.h */, + B3344A352859D566006E6B3A /* string.h */, + B3344A362859D566006E6B3A /* support.h */, + ); + path = core_normal; + sourceTree = ""; + }; + B3344A3A2859D566006E6B3A /* core_dynrec */ = { + isa = PBXGroup; + children = ( + B3344A3B2859D566006E6B3A /* risc_armv4le-o3.h */, + B3344A3C2859D566006E6B3A /* risc_armv4le-thumb-iw.h */, + B3344A3D2859D566006E6B3A /* risc_x86.h */, + B3344A3E2859D566006E6B3A /* dyn_fpu.h */, + B3344A3F2859D566006E6B3A /* operators.h */, + B3344A402859D566006E6B3A /* risc_armv4le-thumb-niw.h */, + B3344A412859D566006E6B3A /* decoder.h */, + B3344A422859D566006E6B3A /* risc_mipsel32.h */, + B3344A432859D566006E6B3A /* risc_armv8le.h */, + B3344A442859D566006E6B3A /* risc_armv4le.h */, + B3344A452859D566006E6B3A /* risc_armv4le-thumb.h */, + B3344A462859D566006E6B3A /* risc_armv4le-common.h */, + B3344A472859D566006E6B3A /* decoder_basic.h */, + B3344A482859D566006E6B3A /* decoder_opcodes.h */, + B3344A492859D566006E6B3A /* risc_x64.h */, + B3344A4A2859D566006E6B3A /* risc_ppc.h */, + ); + path = core_dynrec; + sourceTree = ""; + }; + B3344A4B2859D566006E6B3A /* shell */ = { + isa = PBXGroup; + children = ( + B3344A4C2859D566006E6B3A /* shell_batch.cpp */, + B3344A4D2859D566006E6B3A /* shell_misc.cpp */, + B3344A4E2859D566006E6B3A /* shell_cmds.cpp */, + B3344A4F2859D566006E6B3A /* shell.cpp */, + ); + path = shell; + sourceTree = ""; + }; + B3344A512859D566006E6B3A /* gui */ = { + isa = PBXGroup; + children = ( + B3344A522859D566006E6B3A /* render_scalers.h */, + B3344A532859D566006E6B3A /* render_simple.h */, + B3344A542859D566006E6B3A /* render.cpp */, + B3344A552859D566006E6B3A /* midi_alsa.h */, + B3344A562859D566006E6B3A /* render_templates_hq.h */, + B3344A572859D566006E6B3A /* midi.cpp */, + B3344A582859D566006E6B3A /* midi_oss.h */, + B3344A592859D566006E6B3A /* render_templates_sai.h */, + B3344A5A2859D566006E6B3A /* render_scalers.cpp */, + B3344A5B2859D566006E6B3A /* render_loops.h */, + B3344A5C2859D566006E6B3A /* midi_retro.h */, + B3344A5D2859D566006E6B3A /* midi_coremidi.h */, + B3344A5E2859D566006E6B3A /* midi_coreaudio.h */, + B3344A5F2859D566006E6B3A /* mt32emu.h */, + B3344A602859D566006E6B3A /* render_glsl.h */, + B3344A612859D566006E6B3A /* tsf.h */, + B3344A622859D566006E6B3A /* render_templates.h */, + B3344A632859D566006E6B3A /* midi_tsf.h */, + B3344A642859D566006E6B3A /* render_templates_hq2x.h */, + B3344A652859D566006E6B3A /* midi_win32.h */, + B3344A662859D566006E6B3A /* render_templates_hq3x.h */, + B3344A672859D566006E6B3A /* midi_mt32.h */, + ); + path = gui; + sourceTree = ""; + }; + B3344A682859D566006E6B3A /* ints */ = { + isa = PBXGroup; + children = ( + B3344A692859D566006E6B3A /* bios.cpp */, + B3344A6A2859D566006E6B3A /* int10_pal.cpp */, + B3344A6B2859D566006E6B3A /* int10_vesa.cpp */, + B3344A6C2859D566006E6B3A /* int10_put_pixel.cpp */, + B3344A6D2859D566006E6B3A /* mouse.cpp */, + B3344A6E2859D566006E6B3A /* int10_char.cpp */, + B3344A6F2859D566006E6B3A /* ems.cpp */, + B3344A702859D566006E6B3A /* int10.cpp */, + B3344A712859D566006E6B3A /* int10_misc.cpp */, + B3344A722859D566006E6B3A /* int10_modes.cpp */, + B3344A732859D566006E6B3A /* xms.cpp */, + B3344A742859D566006E6B3A /* int10_video_state.cpp */, + B3344A752859D566006E6B3A /* int10_memory.cpp */, + B3344A762859D566006E6B3A /* int10.h */, + B3344A772859D566006E6B3A /* xms.h */, + B3344A782859D566006E6B3A /* int10_vptable.cpp */, + B3344A792859D566006E6B3A /* bios_keyboard.cpp */, + B3344A7A2859D566006E6B3A /* bios_disk.cpp */, + ); + path = ints; + sourceTree = ""; + }; + B3344A7C2859D566006E6B3A /* fpu */ = { + isa = PBXGroup; + children = ( + B3344A7D2859D566006E6B3A /* fpu_instructions_x86.h */, + B3344A7E2859D566006E6B3A /* fpu.cpp */, + B3344A7F2859D566006E6B3A /* fpu_instructions.h */, + ); + path = fpu; + sourceTree = ""; + }; + B3447EB5218BCE2000557ACE /* Core */ = { + isa = PBXGroup; + children = ( + B3C76223207833DE009950E4 /* PVDosBoxCore.h */, + B3C76224207833DE009950E4 /* PVDosBoxCore.mm */, + B3447EB1218BC69700557ACE /* PVDosBoxCore+Audio.h */, + B3447EB2218BC69700557ACE /* PVDosBoxCore+Audio.m */, + B3447EAD218BC5C500557ACE /* PVDosBoxCore+Video.h */, + B3447EAE218BC5C500557ACE /* PVDosBoxCore+Video.m */, + B3447EA9218BC59D00557ACE /* PVDosBoxCore+Saves.h */, + B3447EAA218BC59D00557ACE /* PVDosBoxCore+Saves.m */, + B3447E96218B809200557ACE /* PVDosBoxCore+Controls.h */, + B3447E97218B809300557ACE /* PVDosBoxCore+Controls.mm */, + ); + path = Core; + sourceTree = ""; + }; + B3C7620620783162009950E4 = { + isa = PBXGroup; + children = ( + B3447EBF218BE9DA00557ACE /* BuildFlags.xcconfig */, + B33448832859D565006E6B3A /* dosbox-pure */, + B3C762202078327B009950E4 /* PVDosBoxCore */, + B3C7621220783162009950E4 /* PVDosBox */, + B3C7621120783162009950E4 /* Products */, + B3C7621B20783242009950E4 /* Frameworks */, + ); + sourceTree = ""; + }; + B3C7621120783162009950E4 /* Products */ = { + isa = PBXGroup; + children = ( + B3C7621020783162009950E4 /* PVDosBox.framework */, + B30178D3207C901D0051B93D /* libdos-box-iOS.a */, + B3447EE6218BEDD200557ACE /* PVDosBox.framework */, + B3447F91218BEE3F00557ACE /* libdos-box-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + B3C7621220783162009950E4 /* PVDosBox */ = { + isa = PBXGroup; + children = ( + B3C7622720783510009950E4 /* Core.plist */, + B3C7621320783162009950E4 /* PVDosBox.h */, + B3C7621420783162009950E4 /* Info.plist */, + ); + path = PVDosBox; + sourceTree = ""; + }; + B3C7621B20783242009950E4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + B3135BAA26E4CDC50047F338 /* QuartzCore.framework */, + B35E6BF1207CD2670040709A /* AudioToolbox.framework */, + B35E6BEF207CD2610040709A /* AudioUnit.framework */, + B324C31B2191964F009F4EDC /* AVFoundation.framework */, + B35E6BF8207D00D00040709A /* AVFoundation.framework */, + B35E6BF4207CD2740040709A /* CoreAudio.framework */, + B35E6BF3207CD2730040709A /* CoreAudioKit.framework */, + B3C7621E2078325C009950E4 /* Foundation.framework */, + B339468820783F41008DBAB4 /* libpthread.tbd */, + B339468A20783F48008DBAB4 /* libz.tbd */, + B3C7621C20783243009950E4 /* OpenGLES.framework */, + B3B104B8218F281B00210C39 /* PVSupport.framework */, + B3C7622120783297009950E4 /* PVSupport.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + B3C762202078327B009950E4 /* PVDosBoxCore */ = { + isa = PBXGroup; + children = ( + B3447EB5218BCE2000557ACE /* Core */, + B3447EA0218B881000557ACE /* PVDosBox.mm */, + ); + name = PVDosBoxCore; + path = PBDosBoxCore; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + B3447ED5218BEDD200557ACE /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B3A3204227209ED700F338F6 /* PVDosBoxCore+Controls.h in Headers */, + B3135BA226E4CC650047F338 /* PVDosBox.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3C7620D20783162009950E4 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B3135B9D26E4CC330047F338 /* PVDosBoxCore+Audio.h in Headers */, + B3135BA026E4CC330047F338 /* PVDosBoxCore+Controls.h in Headers */, + B3135B9C26E4CC290047F338 /* PVDosBoxCore.h in Headers */, + B3135B9F26E4CC330047F338 /* PVDosBoxCore+Saves.h in Headers */, + B3135BA126E4CC620047F338 /* PVDosBox.h in Headers */, + B3135B9E26E4CC330047F338 /* PVDosBoxCore+Video.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + B30178D2207C901D0051B93D /* dos-box-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B30178D9207C901D0051B93D /* Build configuration list for PBXNativeTarget "dos-box-iOS" */; + buildPhases = ( + B30178CF207C901D0051B93D /* Sources */, + B30178D0207C901D0051B93D /* Frameworks */, + B30178D1207C901D0051B93D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "dos-box-iOS"; + productName = reicast; + productReference = B30178D3207C901D0051B93D /* libdos-box-iOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3447EC0218BEDD200557ACE /* PVDosBox-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3447EE3218BEDD200557ACE /* Build configuration list for PBXNativeTarget "PVDosBox-tvOS" */; + buildPhases = ( + B3447EC1218BEDD200557ACE /* Sources */, + B3447ECA218BEDD200557ACE /* Frameworks */, + B3447ED5218BEDD200557ACE /* Headers */, + B3447EDF218BEDD200557ACE /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PVDosBox-tvOS"; + productName = PVReicast; + productReference = B3447EE6218BEDD200557ACE /* PVDosBox.framework */; + productType = "com.apple.product-type.framework"; + }; + B3447EE8218BEE3F00557ACE /* dos-box-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3447F8E218BEE3F00557ACE /* Build configuration list for PBXNativeTarget "dos-box-tvOS" */; + buildPhases = ( + B3447EE9218BEE3F00557ACE /* Sources */, + B3447F8C218BEE3F00557ACE /* Frameworks */, + B3447F8D218BEE3F00557ACE /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "dos-box-tvOS"; + productName = reicast; + productReference = B3447F91218BEE3F00557ACE /* libdos-box-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3C7620F20783162009950E4 /* PVDosBox-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3C7621820783162009950E4 /* Build configuration list for PBXNativeTarget "PVDosBox-iOS" */; + buildPhases = ( + B3C7620B20783162009950E4 /* Sources */, + B3C7620C20783162009950E4 /* Frameworks */, + B3C7620D20783162009950E4 /* Headers */, + B3C7620E20783162009950E4 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PVDosBox-iOS"; + productName = PVReicast; + productReference = B3C7621020783162009950E4 /* PVDosBox.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + B3C7620720783162009950E4 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + CLASSPREFIX = PV; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = "Provenance Emu"; + TargetAttributes = { + B30178D2207C901D0051B93D = { + CreatedOnToolsVersion = 9.3; + ProvisioningStyle = Automatic; + }; + B3C7620F20783162009950E4 = { + CreatedOnToolsVersion = 9.3; + }; + }; + }; + buildConfigurationList = B3C7620A20783162009950E4 /* Build configuration list for PBXProject "PVDosBox" */; + compatibilityVersion = "Xcode 12.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + de, + "zh-Hans", + ja, + es, + it, + sv, + ko, + "pt-BR", + ru, + fr, + nl, + ); + mainGroup = B3C7620620783162009950E4; + productRefGroup = B3C7621120783162009950E4 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + B3C7620F20783162009950E4 /* PVDosBox-iOS */, + B3447EC0218BEDD200557ACE /* PVDosBox-tvOS */, + B30178D2207C901D0051B93D /* dos-box-iOS */, + B3447EE8218BEE3F00557ACE /* dos-box-tvOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + B3447EDF218BEDD200557ACE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3447EE2218BEDD200557ACE /* Core.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3C7620E20783162009950E4 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B33350262078619C0036A448 /* Core.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B30178CF207C901D0051B93D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3344A8B2859D5CF006E6B3A /* cpu.cpp in Sources */, + B3344AB32859D5EA006E6B3A /* vga_attr.cpp in Sources */, + B3344AD02859D5F4006E6B3A /* bios.cpp in Sources */, + B3344AB82859D5EA006E6B3A /* saa1099.cpp in Sources */, + B3344AE52859D5FF006E6B3A /* shell_misc.cpp in Sources */, + B3344ABF2859D5EA006E6B3A /* fpu.cpp in Sources */, + B3344ACA2859D5F0006E6B3A /* vga_misc.cpp in Sources */, + B3344A8A2859D5CF006E6B3A /* core_dyn_x86.cpp in Sources */, + B3344AE62859D5FF006E6B3A /* shell_cmds.cpp in Sources */, + B3344AE02859D5F9006E6B3A /* cross.cpp in Sources */, + B3344AD82859D5F4006E6B3A /* ems.cpp in Sources */, + B3344AD32859D5F4006E6B3A /* int10_vptable.cpp in Sources */, + B3344AE22859D5F9006E6B3A /* setup.cpp in Sources */, + B3344AA62859D5EA006E6B3A /* cmos.cpp in Sources */, + B3344AD72859D5F4006E6B3A /* int10_put_pixel.cpp in Sources */, + B3344AA12859D5D4006E6B3A /* drive_union.cpp in Sources */, + B3344A962859D5D4006E6B3A /* dos_programs.cpp in Sources */, + B3344A8E2859D5D3006E6B3A /* dos_mscdex.cpp in Sources */, + B3344AE32859D5F9006E6B3A /* programs.cpp in Sources */, + B3344AAA2859D5EA006E6B3A /* vga_gfx.cpp in Sources */, + B3344A822859D5CF006E6B3A /* callback.cpp in Sources */, + B3344ADA2859D5F4006E6B3A /* int10_video_state.cpp in Sources */, + B3344A992859D5D4006E6B3A /* dos_tables.cpp in Sources */, + B3344AD92859D5F4006E6B3A /* int10_memory.cpp in Sources */, + B3344AE82859D5FF006E6B3A /* shell_batch.cpp in Sources */, + B3344A9E2859D5D4006E6B3A /* dos_memory.cpp in Sources */, + B3344A9B2859D5D4006E6B3A /* drive_iso.cpp in Sources */, + B3344ABC2859D5EA006E6B3A /* vga_xga.cpp in Sources */, + B3344ADC2859D5F4006E6B3A /* int10_char.cpp in Sources */, + B3344AAE2859D5EA006E6B3A /* vga_crtc.cpp in Sources */, + B3344A8C2859D5CF006E6B3A /* dbp_serialize.cpp in Sources */, + B3344ADB2859D5F4006E6B3A /* xms.cpp in Sources */, + B3344A982859D5D4006E6B3A /* drive_fat.cpp in Sources */, + B3344A972859D5D4006E6B3A /* dos_ioctl.cpp in Sources */, + B3344ADD2859D5F4006E6B3A /* int10_misc.cpp in Sources */, + B3344ABE2859D5EA006E6B3A /* vga_other.cpp in Sources */, + B3344AD42859D5F4006E6B3A /* int10_vesa.cpp in Sources */, + B3344A922859D5D3006E6B3A /* dos.cpp in Sources */, + B3344A942859D5D4006E6B3A /* drive_virtual.cpp in Sources */, + B3344AD22859D5F4006E6B3A /* int10_modes.cpp in Sources */, + B3344A832859D5CF006E6B3A /* core_dynrec.cpp in Sources */, + B3344AE42859D5F9006E6B3A /* support.cpp in Sources */, + B3344ABD2859D5EA006E6B3A /* pci_bus.cpp in Sources */, + B3344AB92859D5EA006E6B3A /* tandy_sound.cpp in Sources */, + B3344ACB2859D5F0006E6B3A /* vga.cpp in Sources */, + B3344ADF2859D5F4006E6B3A /* int10_pal.cpp in Sources */, + B3344AC92859D5F0006E6B3A /* vga_paradise.cpp in Sources */, + B3344A8F2859D5D3006E6B3A /* dos_files.cpp in Sources */, + B3344AC02859D5EA006E6B3A /* vga_draw.cpp in Sources */, + B3344AB72859D5EA006E6B3A /* pic.cpp in Sources */, + B3344AA92859D5EA006E6B3A /* mixer.cpp in Sources */, + B3344ACD2859D5F0006E6B3A /* mpu401.cpp in Sources */, + B3344AC12859D5EA006E6B3A /* sblaster.cpp in Sources */, + B3344AC82859D5F0006E6B3A /* keyboard.cpp in Sources */, + B3344A812859D5CF006E6B3A /* dosbox.cpp in Sources */, + B3344A8D2859D5D3006E6B3A /* dos_execute.cpp in Sources */, + B3344A872859D5CF006E6B3A /* core_prefetch.cpp in Sources */, + B3344A9A2859D5D4006E6B3A /* drives.cpp in Sources */, + B3344AA72859D5EA006E6B3A /* sn76496.cpp in Sources */, + B3344AE72859D5FF006E6B3A /* shell.cpp in Sources */, + B3344AB62859D5EA006E6B3A /* vga_dac.cpp in Sources */, + B3344AC72859D5F0006E6B3A /* serialdummy.cpp in Sources */, + B3344AC22859D5EA006E6B3A /* nukedopl3.cpp in Sources */, + B3344ABB2859D5EA006E6B3A /* dma.cpp in Sources */, + B3344A852859D5CF006E6B3A /* flags.cpp in Sources */, + B3344A902859D5D3006E6B3A /* dos_devices.cpp in Sources */, + B3344ACF2859D5F0006E6B3A /* vga_s3.cpp in Sources */, + B3344AAC2859D5EA006E6B3A /* timer.cpp in Sources */, + B3344AA82859D5EA006E6B3A /* vga_memory.cpp in Sources */, + B3344A892859D5CF006E6B3A /* paging.cpp in Sources */, + B3344AA42859D5D4006E6B3A /* drive_cache.cpp in Sources */, + B3344AC52859D5EA006E6B3A /* pcspeaker.cpp in Sources */, + B3344A952859D5D4006E6B3A /* dos_keyboard_layout.cpp in Sources */, + B3344A9F2859D5D4006E6B3A /* cdrom_image.cpp in Sources */, + B3344AA22859D5D4006E6B3A /* dos_classes.cpp in Sources */, + B3344A842859D5CF006E6B3A /* modrm.cpp in Sources */, + B3344AA32859D5D4006E6B3A /* cdrom.cpp in Sources */, + B3344AB42859D5EA006E6B3A /* adlib.cpp in Sources */, + B3344A862859D5CF006E6B3A /* core_full.cpp in Sources */, + B3344AA02859D5D4006E6B3A /* drive_zip.cpp in Sources */, + B3344A882859D5CF006E6B3A /* core_simple.cpp in Sources */, + B3344ACC2859D5F0006E6B3A /* joystick.cpp in Sources */, + B3344AB52859D5EA006E6B3A /* hardware.cpp in Sources */, + B3344AA52859D5EA006E6B3A /* midi.cpp in Sources */, + B3344A802859D5CF006E6B3A /* core_normal.cpp in Sources */, + B3344AAB2859D5EA006E6B3A /* render_scalers.cpp in Sources */, + B3344AAD2859D5EA006E6B3A /* gus.cpp in Sources */, + B3344AB22859D5EA006E6B3A /* disney.cpp in Sources */, + B3344AB12859D5EA006E6B3A /* gameblaster.cpp in Sources */, + B3344ADE2859D5F4006E6B3A /* bios_disk.cpp in Sources */, + B3344AE12859D5F9006E6B3A /* messages.cpp in Sources */, + B3344AC62859D5F0006E6B3A /* vga_seq.cpp in Sources */, + B3344ACE2859D5F0006E6B3A /* serialport.cpp in Sources */, + B3344AAF2859D5EA006E6B3A /* dbopl.cpp in Sources */, + B3344A9C2859D5D4006E6B3A /* drive_local.cpp in Sources */, + B3344A932859D5D3006E6B3A /* dos_misc.cpp in Sources */, + B3344AD62859D5F4006E6B3A /* bios_keyboard.cpp in Sources */, + B3344AB02859D5EA006E6B3A /* vga_tseng.cpp in Sources */, + B3344AD52859D5F4006E6B3A /* mouse.cpp in Sources */, + B3344AC32859D5EA006E6B3A /* iohandler.cpp in Sources */, + B3344A912859D5D3006E6B3A /* drive_memory.cpp in Sources */, + B3344ABA2859D5EA006E6B3A /* render.cpp in Sources */, + B3344A9D2859D5D4006E6B3A /* drive_overlay.cpp in Sources */, + B3344AD12859D5F4006E6B3A /* int10.cpp in Sources */, + B3344AC42859D5EA006E6B3A /* memory.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3447EC1218BEDD200557ACE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3135BA626E4CD5A0047F338 /* PVDosBoxCore+Video.m in Sources */, + B3135BA426E4CD500047F338 /* PVDosBoxCore+Saves.m in Sources */, + B3A3204627209EE100F338F6 /* PVDosBoxCore+Controls.mm in Sources */, + B3135BA326E4CD080047F338 /* PVDosBoxCore.mm in Sources */, + B3135BA826E4CD600047F338 /* PVDosBoxCore+Audio.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3447EE9218BEE3F00557ACE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3344B162859D664006E6B3A /* dos_ioctl.cpp in Sources */, + B3344AF32859D664006E6B3A /* bios_disk.cpp in Sources */, + B3344B152859D664006E6B3A /* shell.cpp in Sources */, + B3344B022859D664006E6B3A /* int10_vesa.cpp in Sources */, + B3344B2E2859D664006E6B3A /* dosbox.cpp in Sources */, + B3344B3B2859D664006E6B3A /* int10_vptable.cpp in Sources */, + B3344B472859D664006E6B3A /* sblaster.cpp in Sources */, + B3344B422859D664006E6B3A /* vga_draw.cpp in Sources */, + B3344B502859D664006E6B3A /* drives.cpp in Sources */, + B3344B3F2859D664006E6B3A /* paging.cpp in Sources */, + B3344B142859D664006E6B3A /* drive_fat.cpp in Sources */, + B3344B2D2859D664006E6B3A /* timer.cpp in Sources */, + B3344B382859D664006E6B3A /* disney.cpp in Sources */, + B3344B1B2859D664006E6B3A /* midi.cpp in Sources */, + B3344B0D2859D664006E6B3A /* drive_iso.cpp in Sources */, + B3344B4B2859D664006E6B3A /* hardware.cpp in Sources */, + B3344AFE2859D664006E6B3A /* drive_overlay.cpp in Sources */, + B3344B1F2859D664006E6B3A /* dos_programs.cpp in Sources */, + B3344B092859D664006E6B3A /* render.cpp in Sources */, + B3344B292859D664006E6B3A /* core_normal.cpp in Sources */, + B3344B082859D664006E6B3A /* int10_modes.cpp in Sources */, + B3344B2A2859D664006E6B3A /* int10_video_state.cpp in Sources */, + B3344AE92859D664006E6B3A /* int10_pal.cpp in Sources */, + B3344AF52859D664006E6B3A /* vga_crtc.cpp in Sources */, + B3344B132859D664006E6B3A /* dos_files.cpp in Sources */, + B3344B032859D664006E6B3A /* memory.cpp in Sources */, + B3344B272859D664006E6B3A /* nukedopl3.cpp in Sources */, + B3344B512859D664006E6B3A /* serialdummy.cpp in Sources */, + B3344B0F2859D664006E6B3A /* xms.cpp in Sources */, + B3344B462859D664006E6B3A /* core_dyn_x86.cpp in Sources */, + B3344B3C2859D664006E6B3A /* mouse.cpp in Sources */, + B3344B4F2859D664006E6B3A /* cdrom_image.cpp in Sources */, + B3344B342859D664006E6B3A /* dos_memory.cpp in Sources */, + B3344B172859D664006E6B3A /* drive_zip.cpp in Sources */, + B3344B072859D664006E6B3A /* dbopl.cpp in Sources */, + B3344B482859D664006E6B3A /* dos_tables.cpp in Sources */, + B3344B0E2859D664006E6B3A /* cross.cpp in Sources */, + B3344B0A2859D664006E6B3A /* drive_cache.cpp in Sources */, + B3344B4E2859D664006E6B3A /* mixer.cpp in Sources */, + B3344AFD2859D664006E6B3A /* vga_s3.cpp in Sources */, + B3344B1E2859D664006E6B3A /* programs.cpp in Sources */, + B3344B4A2859D664006E6B3A /* dos_misc.cpp in Sources */, + B3344AEE2859D664006E6B3A /* shell_cmds.cpp in Sources */, + B3344B242859D664006E6B3A /* gameblaster.cpp in Sources */, + B3344AEF2859D664006E6B3A /* bios_keyboard.cpp in Sources */, + B3344B302859D664006E6B3A /* dos.cpp in Sources */, + B3344B312859D664006E6B3A /* pic.cpp in Sources */, + B3344B3D2859D664006E6B3A /* drive_union.cpp in Sources */, + B3344AF62859D664006E6B3A /* core_full.cpp in Sources */, + B3344B112859D664006E6B3A /* cmos.cpp in Sources */, + B3344AF82859D664006E6B3A /* int10.cpp in Sources */, + B3344AFF2859D664006E6B3A /* vga_memory.cpp in Sources */, + B3344AF72859D664006E6B3A /* fpu.cpp in Sources */, + B3344AFC2859D664006E6B3A /* serialport.cpp in Sources */, + B3344B3E2859D664006E6B3A /* ems.cpp in Sources */, + B3344B402859D664006E6B3A /* vga_other.cpp in Sources */, + B3344B192859D664006E6B3A /* sn76496.cpp in Sources */, + B3344B2F2859D664006E6B3A /* bios.cpp in Sources */, + B3344B492859D664006E6B3A /* flags.cpp in Sources */, + B3344B372859D664006E6B3A /* joystick.cpp in Sources */, + B3344AEA2859D664006E6B3A /* gus.cpp in Sources */, + B3344AEC2859D664006E6B3A /* vga.cpp in Sources */, + B3344B1A2859D664006E6B3A /* mpu401.cpp in Sources */, + B3344B202859D664006E6B3A /* shell_misc.cpp in Sources */, + B3344B332859D664006E6B3A /* drive_local.cpp in Sources */, + B3344B2B2859D664006E6B3A /* vga_gfx.cpp in Sources */, + B3344B4D2859D664006E6B3A /* vga_seq.cpp in Sources */, + B3344B452859D664006E6B3A /* dbp_serialize.cpp in Sources */, + B3344AED2859D664006E6B3A /* drive_virtual.cpp in Sources */, + B3344B042859D664006E6B3A /* vga_xga.cpp in Sources */, + B3344AEB2859D664006E6B3A /* dos_keyboard_layout.cpp in Sources */, + B3344B392859D664006E6B3A /* pcspeaker.cpp in Sources */, + B3344AF92859D664006E6B3A /* int10_char.cpp in Sources */, + B3344B0B2859D664006E6B3A /* shell_batch.cpp in Sources */, + B3344B1C2859D664006E6B3A /* support.cpp in Sources */, + B3344B102859D664006E6B3A /* vga_tseng.cpp in Sources */, + B3344AF02859D664006E6B3A /* render_scalers.cpp in Sources */, + B3344B012859D664006E6B3A /* modrm.cpp in Sources */, + B3344AF12859D664006E6B3A /* keyboard.cpp in Sources */, + B3344B262859D664006E6B3A /* tandy_sound.cpp in Sources */, + B3344AFA2859D664006E6B3A /* dos_classes.cpp in Sources */, + B3344AF22859D664006E6B3A /* messages.cpp in Sources */, + B3344B4C2859D664006E6B3A /* vga_attr.cpp in Sources */, + B3344B252859D664006E6B3A /* cpu.cpp in Sources */, + B3344B002859D664006E6B3A /* core_dynrec.cpp in Sources */, + B3344B212859D664006E6B3A /* cdrom.cpp in Sources */, + B3344B2C2859D664006E6B3A /* saa1099.cpp in Sources */, + B3344AFB2859D664006E6B3A /* callback.cpp in Sources */, + B3344B352859D664006E6B3A /* drive_memory.cpp in Sources */, + B3344B322859D664006E6B3A /* pci_bus.cpp in Sources */, + B3344B282859D664006E6B3A /* int10_misc.cpp in Sources */, + B3344B1D2859D664006E6B3A /* int10_put_pixel.cpp in Sources */, + B3344B182859D664006E6B3A /* dma.cpp in Sources */, + B3344B432859D664006E6B3A /* vga_dac.cpp in Sources */, + B3344B222859D664006E6B3A /* vga_misc.cpp in Sources */, + B3344AF42859D664006E6B3A /* core_prefetch.cpp in Sources */, + B3344B052859D664006E6B3A /* int10_memory.cpp in Sources */, + B3344B3A2859D664006E6B3A /* dos_execute.cpp in Sources */, + B3344B362859D664006E6B3A /* setup.cpp in Sources */, + B3344B0C2859D664006E6B3A /* core_simple.cpp in Sources */, + B3344B412859D664006E6B3A /* dos_mscdex.cpp in Sources */, + B3344B442859D664006E6B3A /* dos_devices.cpp in Sources */, + B3344B122859D664006E6B3A /* iohandler.cpp in Sources */, + B3344B232859D664006E6B3A /* adlib.cpp in Sources */, + B3344B062859D664006E6B3A /* vga_paradise.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3C7620B20783162009950E4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3135BA726E4CD5A0047F338 /* PVDosBoxCore+Video.m in Sources */, + B3135BA526E4CD500047F338 /* PVDosBoxCore+Saves.m in Sources */, + B3A3204527209EE100F338F6 /* PVDosBoxCore+Controls.mm in Sources */, + B3135B9B26E4CAD40047F338 /* PVDosBoxCore.mm in Sources */, + B3135BA926E4CD600047F338 /* PVDosBoxCore+Audio.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + B30178DA207C901D0051B93D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/dosbox-pure/include\"", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B30178DB207C901D0051B93D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/dosbox-pure/include\"", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + B324C5012191A2A2009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B3447EBF218BE9DA00557ACE /* BuildFlags.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = NO; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + RELEASE, + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = ( + "$(inherited)", + "-mno-thumb", + "-mfpu=neon", + "-fno-operator-names", + "-fno-rtti", + "-ffast-math", + "-ftree-vectorize", + "-fno-strict-aliasing", + "-frename-registers", + "-fno-rtti", + "-fpermissive", + "-fno-operator-names", + "-fsingle-precision-constant", + "-DTARGET_NO_NIXPROF", + ); + SDKROOT = iphoneos; + TVOS_DEPLOYMENT_TARGET = 11.0; + VALIDATE_PRODUCT = YES; + VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Archive; + }; + B324C5022191A2A2009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/Play-/deps/Framework/include\"", + "\"$(SRCROOT)/Play-/Source/ui_ios\"", + "\"$(SRCROOT)/Play-/deps/Dependencies/ghc_filesystem/include\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/PVDosBox/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.PVDosBox"; + PRODUCT_NAME = PVDosBox; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Archive; + }; + B324C5032191A2A2009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/Play-/deps/Dependencies/ghc_filesystem/include\"", + "\"$(SRCROOT)/Play-/deps/Framework/include\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/PVDosBox/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.PVDosBox"; + PRODUCT_NAME = PVDosBox; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Archive; + }; + B324C5042191A2A2009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/dosbox-pure/include\"", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Archive; + }; + B324C5052191A2A2009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/dosbox-pure/include\"", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Archive; + }; + B3447EE4218BEDD200557ACE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/Play-/deps/Dependencies/ghc_filesystem/include\"", + "\"$(SRCROOT)/Play-/deps/Framework/include\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/PVDosBox/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.PVDosBox"; + PRODUCT_NAME = PVDosBox; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Debug; + }; + B3447EE5218BEDD200557ACE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/Play-/deps/Dependencies/ghc_filesystem/include\"", + "\"$(SRCROOT)/Play-/deps/Framework/include\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/PVDosBox/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.PVDosBox"; + PRODUCT_NAME = PVDosBox; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Release; + }; + B3447F8F218BEE3F00557ACE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/dosbox-pure/include\"", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Debug; + }; + B3447F90218BEE3F00557ACE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/dosbox-pure/include\"", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Release; + }; + B3C7621620783162009950E4 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B3447EBF218BE9DA00557ACE /* BuildFlags.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_BITCODE = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + DEBUG, + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "-DTARGET_NO_NIXPROF"; + SDKROOT = iphoneos; + TVOS_DEPLOYMENT_TARGET = 11.0; + VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + B3C7621720783162009950E4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B3447EBF218BE9DA00557ACE /* BuildFlags.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = NO; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + RELEASE, + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-mno-thumb", + "-mfpu=neon", + "-fno-operator-names", + "-fno-rtti", + "-ffast-math", + "-ftree-vectorize", + "-fno-strict-aliasing", + "-frename-registers", + "-fno-rtti", + "-fpermissive", + "-fno-operator-names", + "-fsingle-precision-constant", + "-DTARGET_NO_NIXPROF", + ); + SDKROOT = iphoneos; + TVOS_DEPLOYMENT_TARGET = 11.0; + VALIDATE_PRODUCT = YES; + VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + B3C7621920783162009950E4 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/Play-/deps/Framework/include\"", + "\"$(SRCROOT)/Play-/Source/ui_ios\"", + "\"$(SRCROOT)/Play-/deps/Dependencies/ghc_filesystem/include\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/PVDosBox/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.PVDosBox"; + PRODUCT_NAME = PVDosBox; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B3C7621A20783162009950E4 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "\"$(SRCROOT)/Play-/deps/Framework/include\"", + "\"$(SRCROOT)/Play-/Source/ui_ios\"", + "\"$(SRCROOT)/Play-/deps/Dependencies/ghc_filesystem/include\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/PVDosBox/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.PVDosBox"; + PRODUCT_NAME = PVDosBox; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + B30178D9207C901D0051B93D /* Build configuration list for PBXNativeTarget "dos-box-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B30178DA207C901D0051B93D /* Debug */, + B30178DB207C901D0051B93D /* Release */, + B324C5042191A2A2009F4EDC /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3447EE3218BEDD200557ACE /* Build configuration list for PBXNativeTarget "PVDosBox-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3447EE4218BEDD200557ACE /* Debug */, + B3447EE5218BEDD200557ACE /* Release */, + B324C5032191A2A2009F4EDC /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3447F8E218BEE3F00557ACE /* Build configuration list for PBXNativeTarget "dos-box-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3447F8F218BEE3F00557ACE /* Debug */, + B3447F90218BEE3F00557ACE /* Release */, + B324C5052191A2A2009F4EDC /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3C7620A20783162009950E4 /* Build configuration list for PBXProject "PVDosBox" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3C7621620783162009950E4 /* Debug */, + B3C7621720783162009950E4 /* Release */, + B324C5012191A2A2009F4EDC /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3C7621820783162009950E4 /* Build configuration list for PBXNativeTarget "PVDosBox-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3C7621920783162009950E4 /* Debug */, + B3C7621A20783162009950E4 /* Release */, + B324C5022191A2A2009F4EDC /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = B3C7620720783162009950E4 /* Project object */; +} diff --git a/Cores/DosBox/PVDosBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Cores/DosBox/PVDosBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..919434a625 --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Cores/DosBox/PVDosBox.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVDosBox-iOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVDosBox-iOS.xcscheme new file mode 100644 index 0000000000..8cd17cc9b5 --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVDosBox-iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVDosBox-tvOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVDosBox-tvOS.xcscheme new file mode 100644 index 0000000000..04503613eb --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVDosBox-tvOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVPlay-iOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVPlay-iOS.xcscheme new file mode 100644 index 0000000000..dc284006b2 --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVPlay-iOS.xcscheme @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVPlay-tvOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVPlay-tvOS.xcscheme new file mode 100644 index 0000000000..f868ab7064 --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/PVPlay-tvOS.xcscheme @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/dos-box-iOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/dos-box-iOS.xcscheme new file mode 100644 index 0000000000..8e9cab685c --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/dos-box-iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/play-iOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/play-iOS.xcscheme new file mode 100644 index 0000000000..dfab77b214 --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/play-iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/play-tvOS.xcscheme b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/play-tvOS.xcscheme new file mode 100644 index 0000000000..6b5b16f37e --- /dev/null +++ b/Cores/DosBox/PVDosBox.xcodeproj/xcshareddata/xcschemes/play-tvOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/DosBox/PVDosBox/Core.plist b/Cores/DosBox/PVDosBox/Core.plist new file mode 100644 index 0000000000..a5e70e4c2c --- /dev/null +++ b/Cores/DosBox/PVDosBox/Core.plist @@ -0,0 +1,20 @@ + + + + + PVCoreIdentifier + com.provenance.dosbox + PVPrincipleClass + PVDosBoxCore + PVSupportedSystems + + com.provenance.dos + + PVProjectName + DosBox + PVProjectURL + https://github.com/schellingb/dosbox-pure + PVProjectVersion + 0.9.2 + + diff --git a/Cores/DosBox/PVDosBox/Info.plist b/Cores/DosBox/PVDosBox/Info.plist new file mode 100644 index 0000000000..1007fd9dd7 --- /dev/null +++ b/Cores/DosBox/PVDosBox/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Cores/DosBox/PVDosBox/PVDosBox.h b/Cores/DosBox/PVDosBox/PVDosBox.h new file mode 100644 index 0000000000..390d826dcc --- /dev/null +++ b/Cores/DosBox/PVDosBox/PVDosBox.h @@ -0,0 +1,18 @@ +// +// PVDosBox.h +// PVDosBox +// +// Created by Joseph Mattiello on 6/15/22. +// Copyright © 2021 Provenance. All rights reserved. +// + +#import + +//! Project version number for PVDosBox. +FOUNDATION_EXPORT double PVDosBoxVersionNumber; + +//! Project version string for PVDosBox. +FOUNDATION_EXPORT const unsigned char PVDosBoxVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import +#import diff --git a/Cores/DosBox/dosbox-pure b/Cores/DosBox/dosbox-pure new file mode 160000 index 0000000000..0d930c4386 --- /dev/null +++ b/Cores/DosBox/dosbox-pure @@ -0,0 +1 @@ +Subproject commit 0d930c4386991dbc145e427c6ac693170479bedc diff --git a/Cores/FCEU/BuildFlags.xcconfig b/Cores/FCEU/BuildFlags.xcconfig new file mode 100644 index 0000000000..e38719e7b8 --- /dev/null +++ b/Cores/FCEU/BuildFlags.xcconfig @@ -0,0 +1,36 @@ +// +// BuildFlags.xcconfig +// FCEUX +// +// Created by Joseph Mattiello on 02/19/22. +// +// + +// All +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) +OTHER_CFLAGS = $(inherited) -DHAVE_ASPRINTF -DPSS_STYLE=1 -DLSB_FIRST -ObjC +GCC_C_LANGUAGE_STANDARD = c99 +//GCC_C_LANGUAGE_STANDARD = gnu99 +CLANG_CXX_LANGUAGE_STANDARD = gnu++0x +CLANG_CXX_LIBRARY = libc++ +WARNING_CFLAGS = $(inherited) -Wno-write-strings +//:configuration = Archive +HEADER_SEARCH_PATHS = $(inherited) "$(SRCROOT)/fceux/src/drivers" "$(SRCROOT)/fceux/src/boards" "$(SRCROOT)/fceux/src/attic" "$(SRCROOT)/fceux/src" "$(SRCROOT)/fceux/drivers/sdl" + +// +// // Device +//GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) +//OTHER_CFLAGS[sdk=iphoneos*] = $(inherited) +// +//// Simulator +//GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) +// +//// tvOS Device +//GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvos*] = $(inherited) +//OTHER_CFLAGS[sdk=appletvos*] = $(inherited) +// +//// tvOS Simulator +//GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvsimulator*] = $(inherited) +// +//// DEBUG +//GCC_PREPROCESSOR_DEFINITIONS[configuration=Debug] = DEBUG=1 $(inherited) diff --git a/Cores/FCEU/FCEU/SConscript b/Cores/FCEU/FCEU-2.2.3/SConscript similarity index 100% rename from Cores/FCEU/FCEU/SConscript rename to Cores/FCEU/FCEU-2.2.3/SConscript diff --git a/Cores/FCEU/FCEU/asm.cpp b/Cores/FCEU/FCEU-2.2.3/asm.cpp similarity index 100% rename from Cores/FCEU/FCEU/asm.cpp rename to Cores/FCEU/FCEU-2.2.3/asm.cpp diff --git a/Cores/FCEU/FCEU/asm.h b/Cores/FCEU/FCEU-2.2.3/asm.h similarity index 100% rename from Cores/FCEU/FCEU/asm.h rename to Cores/FCEU/FCEU-2.2.3/asm.h diff --git a/Cores/FCEU/FCEU/auxlib.lua b/Cores/FCEU/FCEU-2.2.3/auxlib.lua similarity index 100% rename from Cores/FCEU/FCEU/auxlib.lua rename to Cores/FCEU/FCEU-2.2.3/auxlib.lua diff --git a/Cores/FCEU/FCEU/boards/01-222.cpp b/Cores/FCEU/FCEU-2.2.3/boards/01-222.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/01-222.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/01-222.cpp diff --git a/Cores/FCEU/FCEU/boards/09-034a.cpp b/Cores/FCEU/FCEU-2.2.3/boards/09-034a.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/09-034a.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/09-034a.cpp diff --git a/Cores/FCEU/FCEU/boards/103.cpp b/Cores/FCEU/FCEU-2.2.3/boards/103.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/103.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/103.cpp diff --git a/Cores/FCEU/FCEU/boards/106.cpp b/Cores/FCEU/FCEU-2.2.3/boards/106.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/106.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/106.cpp diff --git a/Cores/FCEU/FCEU/boards/108.cpp b/Cores/FCEU/FCEU-2.2.3/boards/108.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/108.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/108.cpp diff --git a/Cores/FCEU/FCEU/boards/112.cpp b/Cores/FCEU/FCEU-2.2.3/boards/112.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/112.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/112.cpp diff --git a/Cores/FCEU/FCEU/boards/116.cpp b/Cores/FCEU/FCEU-2.2.3/boards/116.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/116.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/116.cpp diff --git a/Cores/FCEU/FCEU/boards/117.cpp b/Cores/FCEU/FCEU-2.2.3/boards/117.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/117.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/117.cpp diff --git a/Cores/FCEU/FCEU/boards/120.cpp b/Cores/FCEU/FCEU-2.2.3/boards/120.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/120.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/120.cpp diff --git a/Cores/FCEU/FCEU/boards/121.cpp b/Cores/FCEU/FCEU-2.2.3/boards/121.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/121.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/121.cpp diff --git a/Cores/FCEU/FCEU/boards/12in1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/12in1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/12in1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/12in1.cpp diff --git a/Cores/FCEU/FCEU/boards/15.cpp b/Cores/FCEU/FCEU-2.2.3/boards/15.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/15.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/15.cpp diff --git a/Cores/FCEU/FCEU/boards/151.cpp b/Cores/FCEU/FCEU-2.2.3/boards/151.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/151.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/151.cpp diff --git a/Cores/FCEU/FCEU/boards/156.cpp b/Cores/FCEU/FCEU-2.2.3/boards/156.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/156.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/156.cpp diff --git a/Cores/FCEU/FCEU/boards/158B.cpp b/Cores/FCEU/FCEU-2.2.3/boards/158B.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/158B.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/158B.cpp diff --git a/Cores/FCEU/FCEU/boards/164.cpp b/Cores/FCEU/FCEU-2.2.3/boards/164.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/164.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/164.cpp diff --git a/Cores/FCEU/FCEU/boards/168.cpp b/Cores/FCEU/FCEU-2.2.3/boards/168.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/168.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/168.cpp diff --git a/Cores/FCEU/FCEU/boards/170.cpp b/Cores/FCEU/FCEU-2.2.3/boards/170.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/170.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/170.cpp diff --git a/Cores/FCEU/FCEU/boards/175.cpp b/Cores/FCEU/FCEU-2.2.3/boards/175.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/175.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/175.cpp diff --git a/Cores/FCEU/FCEU/boards/176.cpp b/Cores/FCEU/FCEU-2.2.3/boards/176.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/176.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/176.cpp diff --git a/Cores/FCEU/FCEU/boards/177.cpp b/Cores/FCEU/FCEU-2.2.3/boards/177.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/177.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/177.cpp diff --git a/Cores/FCEU/FCEU/boards/178.cpp b/Cores/FCEU/FCEU-2.2.3/boards/178.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/178.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/178.cpp diff --git a/Cores/FCEU/FCEU/boards/18.cpp b/Cores/FCEU/FCEU-2.2.3/boards/18.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/18.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/18.cpp diff --git a/Cores/FCEU/FCEU/boards/183.cpp b/Cores/FCEU/FCEU-2.2.3/boards/183.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/183.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/183.cpp diff --git a/Cores/FCEU/FCEU/boards/185.cpp b/Cores/FCEU/FCEU-2.2.3/boards/185.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/185.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/185.cpp diff --git a/Cores/FCEU/FCEU/boards/186.cpp b/Cores/FCEU/FCEU-2.2.3/boards/186.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/186.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/186.cpp diff --git a/Cores/FCEU/FCEU/boards/187.cpp b/Cores/FCEU/FCEU-2.2.3/boards/187.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/187.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/187.cpp diff --git a/Cores/FCEU/FCEU/boards/189.cpp b/Cores/FCEU/FCEU-2.2.3/boards/189.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/189.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/189.cpp diff --git a/Cores/FCEU/FCEU/boards/193.cpp b/Cores/FCEU/FCEU-2.2.3/boards/193.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/193.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/193.cpp diff --git a/Cores/FCEU/FCEU/boards/199.cpp b/Cores/FCEU/FCEU-2.2.3/boards/199.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/199.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/199.cpp diff --git a/Cores/FCEU/FCEU/boards/206.cpp b/Cores/FCEU/FCEU-2.2.3/boards/206.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/206.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/206.cpp diff --git a/Cores/FCEU/FCEU/boards/208.cpp b/Cores/FCEU/FCEU-2.2.3/boards/208.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/208.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/208.cpp diff --git a/Cores/FCEU/FCEU/boards/222.cpp b/Cores/FCEU/FCEU-2.2.3/boards/222.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/222.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/222.cpp diff --git a/Cores/FCEU/FCEU/boards/225.cpp b/Cores/FCEU/FCEU-2.2.3/boards/225.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/225.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/225.cpp diff --git a/Cores/FCEU/FCEU/boards/228.cpp b/Cores/FCEU/FCEU-2.2.3/boards/228.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/228.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/228.cpp diff --git a/Cores/FCEU/FCEU/boards/230.cpp b/Cores/FCEU/FCEU-2.2.3/boards/230.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/230.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/230.cpp diff --git a/Cores/FCEU/FCEU/boards/232.cpp b/Cores/FCEU/FCEU-2.2.3/boards/232.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/232.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/232.cpp diff --git a/Cores/FCEU/FCEU/boards/234.cpp b/Cores/FCEU/FCEU-2.2.3/boards/234.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/234.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/234.cpp diff --git a/Cores/FCEU/FCEU/boards/235.cpp b/Cores/FCEU/FCEU-2.2.3/boards/235.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/235.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/235.cpp diff --git a/Cores/FCEU/FCEU/boards/244.cpp b/Cores/FCEU/FCEU-2.2.3/boards/244.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/244.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/244.cpp diff --git a/Cores/FCEU/FCEU/boards/246.cpp b/Cores/FCEU/FCEU-2.2.3/boards/246.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/246.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/246.cpp diff --git a/Cores/FCEU/FCEU/boards/252.cpp b/Cores/FCEU/FCEU-2.2.3/boards/252.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/252.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/252.cpp diff --git a/Cores/FCEU/FCEU/boards/253.cpp b/Cores/FCEU/FCEU-2.2.3/boards/253.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/253.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/253.cpp diff --git a/Cores/FCEU/FCEU/boards/28.cpp b/Cores/FCEU/FCEU-2.2.3/boards/28.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/28.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/28.cpp diff --git a/Cores/FCEU/FCEU/boards/32.cpp b/Cores/FCEU/FCEU-2.2.3/boards/32.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/32.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/32.cpp diff --git a/Cores/FCEU/FCEU/boards/33.cpp b/Cores/FCEU/FCEU-2.2.3/boards/33.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/33.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/33.cpp diff --git a/Cores/FCEU/FCEU/boards/34.cpp b/Cores/FCEU/FCEU-2.2.3/boards/34.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/34.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/34.cpp diff --git a/Cores/FCEU/FCEU/boards/36.cpp b/Cores/FCEU/FCEU-2.2.3/boards/36.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/36.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/36.cpp diff --git a/Cores/FCEU/FCEU/boards/3d-block.cpp b/Cores/FCEU/FCEU-2.2.3/boards/3d-block.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/3d-block.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/3d-block.cpp diff --git a/Cores/FCEU/FCEU/boards/40.cpp b/Cores/FCEU/FCEU-2.2.3/boards/40.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/40.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/40.cpp diff --git a/Cores/FCEU/FCEU/boards/41.cpp b/Cores/FCEU/FCEU-2.2.3/boards/41.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/41.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/41.cpp diff --git a/Cores/FCEU/FCEU/boards/411120-c.cpp b/Cores/FCEU/FCEU-2.2.3/boards/411120-c.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/411120-c.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/411120-c.cpp diff --git a/Cores/FCEU/FCEU/boards/42.cpp b/Cores/FCEU/FCEU-2.2.3/boards/42.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/42.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/42.cpp diff --git a/Cores/FCEU/FCEU/boards/43.cpp b/Cores/FCEU/FCEU-2.2.3/boards/43.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/43.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/43.cpp diff --git a/Cores/FCEU/FCEU/boards/46.cpp b/Cores/FCEU/FCEU-2.2.3/boards/46.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/46.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/46.cpp diff --git a/Cores/FCEU/FCEU/boards/50.cpp b/Cores/FCEU/FCEU-2.2.3/boards/50.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/50.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/50.cpp diff --git a/Cores/FCEU/FCEU/boards/51.cpp b/Cores/FCEU/FCEU-2.2.3/boards/51.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/51.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/51.cpp diff --git a/Cores/FCEU/FCEU/boards/57.cpp b/Cores/FCEU/FCEU-2.2.3/boards/57.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/57.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/57.cpp diff --git a/Cores/FCEU/FCEU/boards/603-5052.cpp b/Cores/FCEU/FCEU-2.2.3/boards/603-5052.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/603-5052.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/603-5052.cpp diff --git a/Cores/FCEU/FCEU/boards/62.cpp b/Cores/FCEU/FCEU-2.2.3/boards/62.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/62.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/62.cpp diff --git a/Cores/FCEU/FCEU/boards/65.cpp b/Cores/FCEU/FCEU-2.2.3/boards/65.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/65.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/65.cpp diff --git a/Cores/FCEU/FCEU/boards/67.cpp b/Cores/FCEU/FCEU-2.2.3/boards/67.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/67.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/67.cpp diff --git a/Cores/FCEU/FCEU/boards/68.cpp b/Cores/FCEU/FCEU-2.2.3/boards/68.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/68.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/68.cpp diff --git a/Cores/FCEU/FCEU/boards/69.cpp b/Cores/FCEU/FCEU-2.2.3/boards/69.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/69.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/69.cpp diff --git a/Cores/FCEU/FCEU/boards/71.cpp b/Cores/FCEU/FCEU-2.2.3/boards/71.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/71.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/71.cpp diff --git a/Cores/FCEU/FCEU/boards/72.cpp b/Cores/FCEU/FCEU-2.2.3/boards/72.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/72.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/72.cpp diff --git a/Cores/FCEU/FCEU/boards/77.cpp b/Cores/FCEU/FCEU-2.2.3/boards/77.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/77.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/77.cpp diff --git a/Cores/FCEU/FCEU/boards/79.cpp b/Cores/FCEU/FCEU-2.2.3/boards/79.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/79.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/79.cpp diff --git a/Cores/FCEU/FCEU/boards/80.cpp b/Cores/FCEU/FCEU-2.2.3/boards/80.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/80.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/80.cpp diff --git a/Cores/FCEU/FCEU/boards/8157.cpp b/Cores/FCEU/FCEU-2.2.3/boards/8157.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/8157.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/8157.cpp diff --git a/Cores/FCEU/FCEU/boards/82.cpp b/Cores/FCEU/FCEU-2.2.3/boards/82.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/82.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/82.cpp diff --git a/Cores/FCEU/FCEU/boards/8237.cpp b/Cores/FCEU/FCEU-2.2.3/boards/8237.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/8237.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/8237.cpp diff --git a/Cores/FCEU/FCEU/boards/830118C.cpp b/Cores/FCEU/FCEU-2.2.3/boards/830118C.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/830118C.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/830118C.cpp diff --git a/Cores/FCEU/FCEU/boards/88.cpp b/Cores/FCEU/FCEU-2.2.3/boards/88.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/88.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/88.cpp diff --git a/Cores/FCEU/FCEU/boards/8in1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/8in1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/8in1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/8in1.cpp diff --git a/Cores/FCEU/FCEU/boards/90.cpp b/Cores/FCEU/FCEU-2.2.3/boards/90.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/90.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/90.cpp diff --git a/Cores/FCEU/FCEU/boards/91.cpp b/Cores/FCEU/FCEU-2.2.3/boards/91.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/91.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/91.cpp diff --git a/Cores/FCEU/FCEU/boards/96.cpp b/Cores/FCEU/FCEU-2.2.3/boards/96.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/96.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/96.cpp diff --git a/Cores/FCEU/FCEU/boards/99.cpp b/Cores/FCEU/FCEU-2.2.3/boards/99.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/99.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/99.cpp diff --git a/Cores/FCEU/FCEU/boards/BMW8544.cpp b/Cores/FCEU/FCEU-2.2.3/boards/BMW8544.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/BMW8544.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/BMW8544.cpp diff --git a/Cores/FCEU/FCEU/boards/F-15.cpp b/Cores/FCEU/FCEU-2.2.3/boards/F-15.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/F-15.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/F-15.cpp diff --git a/Cores/FCEU/FCEU/boards/SConscript b/Cores/FCEU/FCEU-2.2.3/boards/SConscript similarity index 100% rename from Cores/FCEU/FCEU/boards/SConscript rename to Cores/FCEU/FCEU-2.2.3/boards/SConscript diff --git a/Cores/FCEU/FCEU/boards/__dummy_mapper.cpp b/Cores/FCEU/FCEU-2.2.3/boards/__dummy_mapper.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/__dummy_mapper.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/__dummy_mapper.cpp diff --git a/Cores/FCEU/FCEU/boards/a9746.cpp b/Cores/FCEU/FCEU-2.2.3/boards/a9746.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/a9746.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/a9746.cpp diff --git a/Cores/FCEU/FCEU/boards/ac-08.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ac-08.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ac-08.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ac-08.cpp diff --git a/Cores/FCEU/FCEU/boards/addrlatch.cpp b/Cores/FCEU/FCEU-2.2.3/boards/addrlatch.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/addrlatch.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/addrlatch.cpp diff --git a/Cores/FCEU/FCEU/boards/ax5705.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ax5705.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ax5705.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ax5705.cpp diff --git a/Cores/FCEU/FCEU/boards/bandai.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bandai.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bandai.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bandai.cpp diff --git a/Cores/FCEU/FCEU/boards/bb.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bb.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bb.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bb.cpp diff --git a/Cores/FCEU/FCEU/boards/bmc13in1jy110.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bmc13in1jy110.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bmc13in1jy110.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bmc13in1jy110.cpp diff --git a/Cores/FCEU/FCEU/boards/bmc42in1r.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bmc42in1r.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bmc42in1r.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bmc42in1r.cpp diff --git a/Cores/FCEU/FCEU/boards/bmc64in1nr.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bmc64in1nr.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bmc64in1nr.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bmc64in1nr.cpp diff --git a/Cores/FCEU/FCEU/boards/bmc70in1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bmc70in1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bmc70in1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bmc70in1.cpp diff --git a/Cores/FCEU/FCEU/boards/bonza.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bonza.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bonza.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bonza.cpp diff --git a/Cores/FCEU/FCEU/boards/bs-5.cpp b/Cores/FCEU/FCEU-2.2.3/boards/bs-5.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/bs-5.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/bs-5.cpp diff --git a/Cores/FCEU/FCEU/boards/cityfighter.cpp b/Cores/FCEU/FCEU-2.2.3/boards/cityfighter.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/cityfighter.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/cityfighter.cpp diff --git a/Cores/FCEU/FCEU/boards/coolboy.cpp b/Cores/FCEU/FCEU-2.2.3/boards/coolboy.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/coolboy.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/coolboy.cpp diff --git a/Cores/FCEU/FCEU/boards/dance2000.cpp b/Cores/FCEU/FCEU-2.2.3/boards/dance2000.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/dance2000.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/dance2000.cpp diff --git a/Cores/FCEU/FCEU/boards/datalatch.cpp b/Cores/FCEU/FCEU-2.2.3/boards/datalatch.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/datalatch.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/datalatch.cpp diff --git a/Cores/FCEU/FCEU/boards/dream.cpp b/Cores/FCEU/FCEU-2.2.3/boards/dream.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/dream.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/dream.cpp diff --git a/Cores/FCEU/FCEU/boards/edu2000.cpp b/Cores/FCEU/FCEU-2.2.3/boards/edu2000.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/edu2000.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/edu2000.cpp diff --git a/Cores/FCEU/FCEU/boards/eh8813a.cpp b/Cores/FCEU/FCEU-2.2.3/boards/eh8813a.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/eh8813a.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/eh8813a.cpp diff --git a/Cores/FCEU/FCEU/boards/emu2413.c b/Cores/FCEU/FCEU-2.2.3/boards/emu2413.c similarity index 100% rename from Cores/FCEU/FCEU/boards/emu2413.c rename to Cores/FCEU/FCEU-2.2.3/boards/emu2413.c diff --git a/Cores/FCEU/FCEU/boards/emu2413.h b/Cores/FCEU/FCEU-2.2.3/boards/emu2413.h similarity index 100% rename from Cores/FCEU/FCEU/boards/emu2413.h rename to Cores/FCEU/FCEU-2.2.3/boards/emu2413.h diff --git a/Cores/FCEU/FCEU/boards/et-100.cpp b/Cores/FCEU/FCEU-2.2.3/boards/et-100.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/et-100.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/et-100.cpp diff --git a/Cores/FCEU/FCEU/boards/et-4320.cpp b/Cores/FCEU/FCEU-2.2.3/boards/et-4320.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/et-4320.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/et-4320.cpp diff --git a/Cores/FCEU/FCEU/boards/famicombox.cpp b/Cores/FCEU/FCEU-2.2.3/boards/famicombox.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/famicombox.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/famicombox.cpp diff --git a/Cores/FCEU/FCEU/boards/ffe.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ffe.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ffe.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ffe.cpp diff --git a/Cores/FCEU/FCEU/boards/fk23c.cpp b/Cores/FCEU/FCEU-2.2.3/boards/fk23c.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/fk23c.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/fk23c.cpp diff --git a/Cores/FCEU/FCEU/boards/ghostbusters63in1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ghostbusters63in1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ghostbusters63in1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ghostbusters63in1.cpp diff --git a/Cores/FCEU/FCEU/boards/gs-2004.cpp b/Cores/FCEU/FCEU-2.2.3/boards/gs-2004.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/gs-2004.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/gs-2004.cpp diff --git a/Cores/FCEU/FCEU/boards/gs-2013.cpp b/Cores/FCEU/FCEU-2.2.3/boards/gs-2013.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/gs-2013.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/gs-2013.cpp diff --git a/Cores/FCEU/FCEU/boards/h2288.cpp b/Cores/FCEU/FCEU-2.2.3/boards/h2288.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/h2288.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/h2288.cpp diff --git a/Cores/FCEU/FCEU/boards/hp898f.cpp b/Cores/FCEU/FCEU-2.2.3/boards/hp898f.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/hp898f.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/hp898f.cpp diff --git a/Cores/FCEU/FCEU/boards/inlnsf.cpp b/Cores/FCEU/FCEU-2.2.3/boards/inlnsf.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/inlnsf.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/inlnsf.cpp diff --git a/Cores/FCEU/FCEU/boards/karaoke.cpp b/Cores/FCEU/FCEU-2.2.3/boards/karaoke.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/karaoke.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/karaoke.cpp diff --git a/Cores/FCEU/FCEU/boards/kof97.cpp b/Cores/FCEU/FCEU-2.2.3/boards/kof97.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/kof97.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/kof97.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7010.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7010.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7010.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7010.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7012.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7012.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7012.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7012.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7013.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7013.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7013.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7013.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7016.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7016.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7016.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7016.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7017.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7017.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7017.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7017.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7030.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7030.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7030.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7030.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7031.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7031.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7031.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7031.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7032.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7032.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7032.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7032.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7037.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7037.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7037.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7037.cpp diff --git a/Cores/FCEU/FCEU/boards/ks7057.cpp b/Cores/FCEU/FCEU-2.2.3/boards/ks7057.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/ks7057.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/ks7057.cpp diff --git a/Cores/FCEU/FCEU/boards/le05.cpp b/Cores/FCEU/FCEU-2.2.3/boards/le05.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/le05.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/le05.cpp diff --git a/Cores/FCEU/FCEU/boards/lh32.cpp b/Cores/FCEU/FCEU-2.2.3/boards/lh32.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/lh32.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/lh32.cpp diff --git a/Cores/FCEU/FCEU/boards/lh53.cpp b/Cores/FCEU/FCEU-2.2.3/boards/lh53.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/lh53.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/lh53.cpp diff --git a/Cores/FCEU/FCEU/boards/malee.cpp b/Cores/FCEU/FCEU-2.2.3/boards/malee.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/malee.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/malee.cpp diff --git a/Cores/FCEU/FCEU/boards/mapinc.h b/Cores/FCEU/FCEU-2.2.3/boards/mapinc.h similarity index 100% rename from Cores/FCEU/FCEU/boards/mapinc.h rename to Cores/FCEU/FCEU-2.2.3/boards/mapinc.h diff --git a/Cores/FCEU/FCEU/boards/mihunche.cpp b/Cores/FCEU/FCEU-2.2.3/boards/mihunche.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/mihunche.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/mihunche.cpp diff --git a/Cores/FCEU/FCEU/boards/mmc1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/mmc1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/mmc1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/mmc1.cpp diff --git a/Cores/FCEU/FCEU/boards/mmc2and4.cpp b/Cores/FCEU/FCEU-2.2.3/boards/mmc2and4.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/mmc2and4.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/mmc2and4.cpp diff --git a/Cores/FCEU/FCEU/boards/mmc3.cpp b/Cores/FCEU/FCEU-2.2.3/boards/mmc3.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/mmc3.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/mmc3.cpp diff --git a/Cores/FCEU/FCEU/boards/mmc3.h b/Cores/FCEU/FCEU-2.2.3/boards/mmc3.h similarity index 100% rename from Cores/FCEU/FCEU/boards/mmc3.h rename to Cores/FCEU/FCEU-2.2.3/boards/mmc3.h diff --git a/Cores/FCEU/FCEU/boards/mmc5.cpp b/Cores/FCEU/FCEU-2.2.3/boards/mmc5.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/mmc5.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/mmc5.cpp diff --git a/Cores/FCEU/FCEU/boards/n106.cpp b/Cores/FCEU/FCEU-2.2.3/boards/n106.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/n106.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/n106.cpp diff --git a/Cores/FCEU/FCEU/boards/n625092.cpp b/Cores/FCEU/FCEU-2.2.3/boards/n625092.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/n625092.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/n625092.cpp diff --git a/Cores/FCEU/FCEU/boards/novel.cpp b/Cores/FCEU/FCEU-2.2.3/boards/novel.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/novel.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/novel.cpp diff --git a/Cores/FCEU/FCEU/boards/onebus.cpp b/Cores/FCEU/FCEU-2.2.3/boards/onebus.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/onebus.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/onebus.cpp diff --git a/Cores/FCEU/FCEU/boards/pec-586.cpp b/Cores/FCEU/FCEU-2.2.3/boards/pec-586.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/pec-586.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/pec-586.cpp diff --git a/Cores/FCEU/FCEU/boards/rt-01.cpp b/Cores/FCEU/FCEU-2.2.3/boards/rt-01.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/rt-01.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/rt-01.cpp diff --git a/Cores/FCEU/FCEU/boards/sa-9602b.cpp b/Cores/FCEU/FCEU-2.2.3/boards/sa-9602b.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/sa-9602b.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/sa-9602b.cpp diff --git a/Cores/FCEU/FCEU/boards/sachen.cpp b/Cores/FCEU/FCEU-2.2.3/boards/sachen.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/sachen.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/sachen.cpp diff --git a/Cores/FCEU/FCEU/boards/sb-2000.cpp b/Cores/FCEU/FCEU-2.2.3/boards/sb-2000.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/sb-2000.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/sb-2000.cpp diff --git a/Cores/FCEU/FCEU/boards/sc-127.cpp b/Cores/FCEU/FCEU-2.2.3/boards/sc-127.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/sc-127.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/sc-127.cpp diff --git a/Cores/FCEU/FCEU/boards/sheroes.cpp b/Cores/FCEU/FCEU-2.2.3/boards/sheroes.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/sheroes.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/sheroes.cpp diff --git a/Cores/FCEU/FCEU/boards/sl1632.cpp b/Cores/FCEU/FCEU-2.2.3/boards/sl1632.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/sl1632.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/sl1632.cpp diff --git a/Cores/FCEU/FCEU/boards/subor.cpp b/Cores/FCEU/FCEU-2.2.3/boards/subor.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/subor.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/subor.cpp diff --git a/Cores/FCEU/FCEU/boards/super24.cpp b/Cores/FCEU/FCEU-2.2.3/boards/super24.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/super24.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/super24.cpp diff --git a/Cores/FCEU/FCEU/boards/supervision.cpp b/Cores/FCEU/FCEU-2.2.3/boards/supervision.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/supervision.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/supervision.cpp diff --git a/Cores/FCEU/FCEU/boards/t-227-1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/t-227-1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/t-227-1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/t-227-1.cpp diff --git a/Cores/FCEU/FCEU/boards/t-262.cpp b/Cores/FCEU/FCEU-2.2.3/boards/t-262.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/t-262.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/t-262.cpp diff --git a/Cores/FCEU/FCEU/boards/tengen.cpp b/Cores/FCEU/FCEU-2.2.3/boards/tengen.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/tengen.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/tengen.cpp diff --git a/Cores/FCEU/FCEU/boards/tf-1201.cpp b/Cores/FCEU/FCEU-2.2.3/boards/tf-1201.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/tf-1201.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/tf-1201.cpp diff --git a/Cores/FCEU/FCEU/boards/transformer.cpp b/Cores/FCEU/FCEU-2.2.3/boards/transformer.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/transformer.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/transformer.cpp diff --git a/Cores/FCEU/FCEU/boards/unrom512.cpp b/Cores/FCEU/FCEU-2.2.3/boards/unrom512.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/unrom512.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/unrom512.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc1.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc1.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc1.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc1.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc2and4.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc2and4.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc2and4.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc2and4.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc3.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc3.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc3.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc3.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc5.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc5.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc5.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc5.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc6.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc6.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc6.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc6.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc7.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc7.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc7.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc7.cpp diff --git a/Cores/FCEU/FCEU/boards/vrc7p.cpp b/Cores/FCEU/FCEU-2.2.3/boards/vrc7p.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/vrc7p.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/vrc7p.cpp diff --git a/Cores/FCEU/FCEU/boards/yoko.cpp b/Cores/FCEU/FCEU-2.2.3/boards/yoko.cpp similarity index 100% rename from Cores/FCEU/FCEU/boards/yoko.cpp rename to Cores/FCEU/FCEU-2.2.3/boards/yoko.cpp diff --git a/Cores/FCEU/FCEU/cart.cpp b/Cores/FCEU/FCEU-2.2.3/cart.cpp similarity index 100% rename from Cores/FCEU/FCEU/cart.cpp rename to Cores/FCEU/FCEU-2.2.3/cart.cpp diff --git a/Cores/FCEU/FCEU/cart.h b/Cores/FCEU/FCEU-2.2.3/cart.h similarity index 100% rename from Cores/FCEU/FCEU/cart.h rename to Cores/FCEU/FCEU-2.2.3/cart.h diff --git a/Cores/FCEU/FCEU/cheat.cpp b/Cores/FCEU/FCEU-2.2.3/cheat.cpp similarity index 100% rename from Cores/FCEU/FCEU/cheat.cpp rename to Cores/FCEU/FCEU-2.2.3/cheat.cpp diff --git a/Cores/FCEU/FCEU/cheat.h b/Cores/FCEU/FCEU-2.2.3/cheat.h similarity index 100% rename from Cores/FCEU/FCEU/cheat.h rename to Cores/FCEU/FCEU-2.2.3/cheat.h diff --git a/Cores/FCEU/FCEU/conddebug.cpp b/Cores/FCEU/FCEU-2.2.3/conddebug.cpp similarity index 100% rename from Cores/FCEU/FCEU/conddebug.cpp rename to Cores/FCEU/FCEU-2.2.3/conddebug.cpp diff --git a/Cores/FCEU/FCEU/conddebug.h b/Cores/FCEU/FCEU-2.2.3/conddebug.h similarity index 100% rename from Cores/FCEU/FCEU/conddebug.h rename to Cores/FCEU/FCEU-2.2.3/conddebug.h diff --git a/Cores/FCEU/FCEU/config.cpp b/Cores/FCEU/FCEU-2.2.3/config.cpp similarity index 100% rename from Cores/FCEU/FCEU/config.cpp rename to Cores/FCEU/FCEU-2.2.3/config.cpp diff --git a/Cores/FCEU/FCEU/config.h b/Cores/FCEU/FCEU-2.2.3/config.h similarity index 100% rename from Cores/FCEU/FCEU/config.h rename to Cores/FCEU/FCEU-2.2.3/config.h diff --git a/Cores/FCEU/FCEU/debug.cpp b/Cores/FCEU/FCEU-2.2.3/debug.cpp similarity index 100% rename from Cores/FCEU/FCEU/debug.cpp rename to Cores/FCEU/FCEU-2.2.3/debug.cpp diff --git a/Cores/FCEU/FCEU/debug.h b/Cores/FCEU/FCEU-2.2.3/debug.h similarity index 100% rename from Cores/FCEU/FCEU/debug.h rename to Cores/FCEU/FCEU-2.2.3/debug.h diff --git a/Cores/FCEU/FCEU/drawing.cpp b/Cores/FCEU/FCEU-2.2.3/drawing.cpp similarity index 100% rename from Cores/FCEU/FCEU/drawing.cpp rename to Cores/FCEU/FCEU-2.2.3/drawing.cpp diff --git a/Cores/FCEU/FCEU/drawing.h b/Cores/FCEU/FCEU-2.2.3/drawing.h similarity index 100% rename from Cores/FCEU/FCEU/drawing.h rename to Cores/FCEU/FCEU-2.2.3/drawing.h diff --git a/Cores/FCEU/FCEU/driver.h b/Cores/FCEU/FCEU-2.2.3/driver.h similarity index 100% rename from Cores/FCEU/FCEU/driver.h rename to Cores/FCEU/FCEU-2.2.3/driver.h diff --git a/Cores/FCEU/FCEU/drivers/common/SConscript b/Cores/FCEU/FCEU-2.2.3/drivers/common/SConscript similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/SConscript rename to Cores/FCEU/FCEU-2.2.3/drivers/common/SConscript diff --git a/Cores/FCEU/FCEU/drivers/common/args.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/args.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/args.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/args.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/args.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/args.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/args.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/args.h diff --git a/Cores/FCEU/FCEU/drivers/common/cheat.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/cheat.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/cheat.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/cheat.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/cheat.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/cheat.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/cheat.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/cheat.h diff --git a/Cores/FCEU/FCEU/drivers/common/config.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/config.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/config.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/config.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/config.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/config.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/config.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/config.h diff --git a/Cores/FCEU/FCEU/drivers/common/configSys.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/configSys.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/configSys.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/configSys.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/configSys.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/configSys.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/configSys.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/configSys.h diff --git a/Cores/FCEU/FCEU/drivers/common/hq2x.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/hq2x.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/hq2x.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/hq2x.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/hq2x.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/hq2x.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/hq2x.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/hq2x.h diff --git a/Cores/FCEU/FCEU/drivers/common/hq3x.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/hq3x.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/hq3x.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/hq3x.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/hq3x.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/hq3x.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/hq3x.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/hq3x.h diff --git a/Cores/FCEU/FCEU/drivers/common/nes_ntsc.c b/Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/nes_ntsc.c rename to Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc.c diff --git a/Cores/FCEU/FCEU/drivers/common/nes_ntsc.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/nes_ntsc.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc.h diff --git a/Cores/FCEU/FCEU/drivers/common/nes_ntsc_config.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc_config.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/nes_ntsc_config.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc_config.h diff --git a/Cores/FCEU/FCEU/drivers/common/nes_ntsc_impl.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc_impl.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/nes_ntsc_impl.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/nes_ntsc_impl.h diff --git a/Cores/FCEU/FCEU/drivers/common/scale2x.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/scale2x.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/scale2x.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/scale2x.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/scale2x.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/scale2x.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/scale2x.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/scale2x.h diff --git a/Cores/FCEU/FCEU/drivers/common/scale3x.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/scale3x.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/scale3x.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/scale3x.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/scale3x.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/scale3x.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/scale3x.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/scale3x.h diff --git a/Cores/FCEU/FCEU/drivers/common/scalebit.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/scalebit.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/scalebit.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/scalebit.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/scalebit.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/scalebit.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/scalebit.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/scalebit.h diff --git a/Cores/FCEU/FCEU/drivers/common/vidblit.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/common/vidblit.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/vidblit.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/common/vidblit.cpp diff --git a/Cores/FCEU/FCEU/drivers/common/vidblit.h b/Cores/FCEU/FCEU-2.2.3/drivers/common/vidblit.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/common/vidblit.h rename to Cores/FCEU/FCEU-2.2.3/drivers/common/vidblit.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/SConscript b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/SConscript similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/SConscript rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/SConscript diff --git a/Cores/FCEU/FCEU/drivers/sdl/config.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/config.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/config.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/config.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/config.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/config.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/config.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/config.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/dface.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/dface.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/dface.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/dface.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/gui.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/gui.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/gui.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/gui.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/gui.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/gui.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/gui.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/gui.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/icon.xpm b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/icon.xpm similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/icon.xpm rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/icon.xpm diff --git a/Cores/FCEU/FCEU/drivers/sdl/input.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/input.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/input.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/input.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/input.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/input.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/input.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/input.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/keyscan.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/keyscan.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/keyscan.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/keyscan.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/main.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/main.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/main.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/main.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-icon.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-icon.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-icon.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-icon.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-joystick.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-joystick.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-joystick.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-joystick.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-netplay.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-netplay.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-netplay.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-netplay.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-opengl.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-opengl.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-opengl.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-opengl.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-opengl.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-opengl.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-opengl.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-opengl.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-sound.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-sound.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-sound.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-sound.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-throttle.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-throttle.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-throttle.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-throttle.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-video.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-video.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-video.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-video.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl-video.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-video.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl-video.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl-video.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/sdl.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/sdl.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/sdl.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/throttle.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/throttle.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/throttle.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/throttle.h diff --git a/Cores/FCEU/FCEU/drivers/sdl/unix-netplay.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/unix-netplay.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/unix-netplay.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/unix-netplay.cpp diff --git a/Cores/FCEU/FCEU/drivers/sdl/unix-netplay.h b/Cores/FCEU/FCEU-2.2.3/drivers/sdl/unix-netplay.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/sdl/unix-netplay.h rename to Cores/FCEU/FCEU-2.2.3/drivers/sdl/unix-netplay.h diff --git a/Cores/FCEU/FCEU/drivers/videolog/SConscript b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/SConscript similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/SConscript rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/SConscript diff --git a/Cores/FCEU/FCEU/drivers/videolog/nesvideos-piece.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/nesvideos-piece.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/nesvideos-piece.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/nesvideos-piece.cpp diff --git a/Cores/FCEU/FCEU/drivers/videolog/nesvideos-piece.h b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/nesvideos-piece.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/nesvideos-piece.h rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/nesvideos-piece.h diff --git a/Cores/FCEU/FCEU/drivers/videolog/quantize.h b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/quantize.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/quantize.h rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/quantize.h diff --git a/Cores/FCEU/FCEU/drivers/videolog/rgbtorgb.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/rgbtorgb.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/rgbtorgb.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/rgbtorgb.cpp diff --git a/Cores/FCEU/FCEU/drivers/videolog/rgbtorgb.h b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/rgbtorgb.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/rgbtorgb.h rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/rgbtorgb.h diff --git a/Cores/FCEU/FCEU/drivers/videolog/simd.h b/Cores/FCEU/FCEU-2.2.3/drivers/videolog/simd.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/videolog/simd.h rename to Cores/FCEU/FCEU-2.2.3/drivers/videolog/simd.h diff --git a/Cores/FCEU/FCEU/drivers/win/7z.dll b/Cores/FCEU/FCEU-2.2.3/drivers/win/7z.dll similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7z.dll rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7z.dll diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/IArchive.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/IArchive.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/IArchive.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/IArchive.h diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/IProgress.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/IProgress.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/IProgress.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/IProgress.h diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/IStream.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/IStream.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/IStream.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/IStream.h diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/MyUnknown.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/MyUnknown.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/MyUnknown.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/MyUnknown.h diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/PropID.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/PropID.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/PropID.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/PropID.h diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/Types.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/Types.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/Types.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/Types.h diff --git a/Cores/FCEU/FCEU/drivers/win/7zip/readme.txt b/Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/readme.txt similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/7zip/readme.txt rename to Cores/FCEU/FCEU-2.2.3/drivers/win/7zip/readme.txt diff --git a/Cores/FCEU/FCEU/drivers/win/OutputDS.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/OutputDS.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/OutputDS.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/OutputDS.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/SConscript b/Cores/FCEU/FCEU-2.2.3/drivers/win/SConscript similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/SConscript rename to Cores/FCEU/FCEU-2.2.3/drivers/win/SConscript diff --git a/Cores/FCEU/FCEU/drivers/win/Win32InputBox.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/Win32InputBox.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/Win32InputBox.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/Win32InputBox.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/Win32InputBox.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/Win32InputBox.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/Win32InputBox.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/Win32InputBox.h diff --git a/Cores/FCEU/FCEU/drivers/win/afxres.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/afxres.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/afxres.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/afxres.h diff --git a/Cores/FCEU/FCEU/drivers/win/archive.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/archive.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/archive.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/archive.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/archive.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/archive.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/archive.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/archive.h diff --git a/Cores/FCEU/FCEU/drivers/win/args.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/args.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/args.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/args.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/args.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/args.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/args.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/args.h diff --git a/Cores/FCEU/FCEU/drivers/win/aviout.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/aviout.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/aviout.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/aviout.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/cdlogger.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/cdlogger.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/cdlogger.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/cdlogger.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/cdlogger.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/cdlogger.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/cdlogger.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/cdlogger.h diff --git a/Cores/FCEU/FCEU/drivers/win/cheat.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/cheat.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/cheat.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/cheat.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/cheat.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/cheat.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/cheat.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/cheat.h diff --git a/Cores/FCEU/FCEU/drivers/win/common.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/common.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/common.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/common.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/common.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/common.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/common.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/common.h diff --git a/Cores/FCEU/FCEU/drivers/win/config.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/config.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/config.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/config.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/config.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/config.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/config.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/config.h diff --git a/Cores/FCEU/FCEU/drivers/win/debug.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/debug.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/debug.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/debug.h diff --git a/Cores/FCEU/FCEU/drivers/win/debugger.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/debugger.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/debugger.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/debugger.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/debugger.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/debugger.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/debugger.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/debugger.h diff --git a/Cores/FCEU/FCEU/drivers/win/debuggersp.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/debuggersp.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/debuggersp.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/debuggersp.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/debuggersp.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/debuggersp.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/debuggersp.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/debuggersp.h diff --git a/Cores/FCEU/FCEU/drivers/win/directories.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/directories.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directories.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directories.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/directories.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/directories.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directories.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directories.h diff --git a/Cores/FCEU/FCEU/drivers/win/directx/SConscript b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/SConscript similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/SConscript rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/SConscript diff --git a/Cores/FCEU/FCEU/drivers/win/directx/ddraw.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/ddraw.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/ddraw.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/ddraw.h diff --git a/Cores/FCEU/FCEU/drivers/win/directx/ddraw.lib b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/ddraw.lib similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/ddraw.lib rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/ddraw.lib diff --git a/Cores/FCEU/FCEU/drivers/win/directx/dinput.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dinput.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/dinput.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dinput.h diff --git a/Cores/FCEU/FCEU/drivers/win/directx/dinput.lib b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dinput.lib similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/dinput.lib rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dinput.lib diff --git a/Cores/FCEU/FCEU/drivers/win/directx/dsound.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dsound.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/dsound.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dsound.h diff --git a/Cores/FCEU/FCEU/drivers/win/directx/dsound.lib b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dsound.lib similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/dsound.lib rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dsound.lib diff --git a/Cores/FCEU/FCEU/drivers/win/directx/dxguid.lib b/Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dxguid.lib similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/directx/dxguid.lib rename to Cores/FCEU/FCEU-2.2.3/drivers/win/directx/dxguid.lib diff --git a/Cores/FCEU/FCEU/drivers/win/fceu_x86.manifest b/Cores/FCEU/FCEU-2.2.3/drivers/win/fceu_x86.manifest similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/fceu_x86.manifest rename to Cores/FCEU/FCEU-2.2.3/drivers/win/fceu_x86.manifest diff --git a/Cores/FCEU/FCEU/drivers/win/gui.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/gui.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/gui.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/gui.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/gui.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/gui.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/gui.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/gui.h diff --git a/Cores/FCEU/FCEU/drivers/win/guiconfig.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/guiconfig.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/guiconfig.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/guiconfig.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/guiconfig.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/guiconfig.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/guiconfig.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/guiconfig.h diff --git a/Cores/FCEU/FCEU/drivers/win/help.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/help.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/help.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/help.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/help.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/help.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/help.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/help.h diff --git a/Cores/FCEU/FCEU/drivers/win/input.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/input.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/input.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/input.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/input.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/input.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/input.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/input.h diff --git a/Cores/FCEU/FCEU/drivers/win/joystick.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/joystick.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/joystick.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/joystick.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/joystick.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/joystick.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/joystick.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/joystick.h diff --git a/Cores/FCEU/FCEU/drivers/win/keyboard.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/keyboard.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/keyboard.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/keyboard.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/keyboard.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/keyboard.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/keyboard.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/keyboard.h diff --git a/Cores/FCEU/FCEU/drivers/win/keyscan.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/keyscan.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/keyscan.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/keyscan.h diff --git a/Cores/FCEU/FCEU/drivers/win/log.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/log.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/log.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/log.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/log.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/log.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/log.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/log.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lauxlib.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lauxlib.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lauxlib.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lauxlib.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/llimits.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/llimits.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/llimits.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/llimits.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lmem.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lmem.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lmem.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lmem.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lobject.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lobject.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lobject.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lobject.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lstate.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lstate.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lstate.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lstate.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/ltm.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/ltm.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/ltm.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/ltm.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lua.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lua.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lua.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lua.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lua.hpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lua.hpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lua.hpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lua.hpp diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/luaconf.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/luaconf.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/luaconf.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/luaconf.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lualib.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lualib.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lualib.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lualib.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/include/lzio.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lzio.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/include/lzio.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/include/lzio.h diff --git a/Cores/FCEU/FCEU/drivers/win/lua/win32/lua5.1.dll b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/win32/lua5.1.dll similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/win32/lua5.1.dll rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/win32/lua5.1.dll diff --git a/Cores/FCEU/FCEU/drivers/win/lua/win32/lua51.dll b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/win32/lua51.dll similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/win32/lua51.dll rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/win32/lua51.dll diff --git a/Cores/FCEU/FCEU/drivers/win/lua/win32/lua51.lib b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/win32/lua51.lib similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/win32/lua51.lib rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/win32/lua51.lib diff --git a/Cores/FCEU/FCEU/drivers/win/lua/x64/lua5.1.dll b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/x64/lua5.1.dll similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/x64/lua5.1.dll rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/x64/lua5.1.dll diff --git a/Cores/FCEU/FCEU/drivers/win/lua/x64/lua51.dll b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/x64/lua51.dll similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/x64/lua51.dll rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/x64/lua51.dll diff --git a/Cores/FCEU/FCEU/drivers/win/lua/x64/lua51.lib b/Cores/FCEU/FCEU-2.2.3/drivers/win/lua/x64/lua51.lib similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/lua/x64/lua51.lib rename to Cores/FCEU/FCEU-2.2.3/drivers/win/lua/x64/lua51.lib diff --git a/Cores/FCEU/FCEU/drivers/win/luaconsole.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/luaconsole.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/luaconsole.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/luaconsole.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/main.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/main.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/main.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/main.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/main.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/main.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/main.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/main.h diff --git a/Cores/FCEU/FCEU/drivers/win/mapinput.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/mapinput.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/mapinput.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/mapinput.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/mapinput.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/mapinput.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/mapinput.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/mapinput.h diff --git a/Cores/FCEU/FCEU/drivers/win/memview.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/memview.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/memview.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/memview.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/memview.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/memview.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/memview.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/memview.h diff --git a/Cores/FCEU/FCEU/drivers/win/memviewsp.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/memviewsp.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/memviewsp.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/memviewsp.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/memviewsp.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/memviewsp.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/memviewsp.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/memviewsp.h diff --git a/Cores/FCEU/FCEU/drivers/win/memwatch.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/memwatch.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/memwatch.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/memwatch.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/memwatch.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/memwatch.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/memwatch.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/memwatch.h diff --git a/Cores/FCEU/FCEU/drivers/win/monitor.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/monitor.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/monitor.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/monitor.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/monitor.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/monitor.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/monitor.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/monitor.h diff --git a/Cores/FCEU/FCEU/drivers/win/movieoptions.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/movieoptions.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/movieoptions.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/movieoptions.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/movieoptions.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/movieoptions.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/movieoptions.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/movieoptions.h diff --git a/Cores/FCEU/FCEU/drivers/win/netplay.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/netplay.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/netplay.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/netplay.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/netplay.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/netplay.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/netplay.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/netplay.h diff --git a/Cores/FCEU/FCEU/drivers/win/ntview.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/ntview.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ntview.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ntview.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/ntview.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/ntview.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ntview.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ntview.h diff --git a/Cores/FCEU/FCEU/drivers/win/oakra.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/oakra.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/oakra.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/oakra.h diff --git a/Cores/FCEU/FCEU/drivers/win/palette.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/palette.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/palette.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/palette.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/palette.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/palette.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/palette.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/palette.h diff --git a/Cores/FCEU/FCEU/drivers/win/ppuview.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/ppuview.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ppuview.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ppuview.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/ppuview.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/ppuview.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ppuview.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ppuview.h diff --git a/Cores/FCEU/FCEU/drivers/win/pref.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/pref.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/pref.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/pref.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/pref.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/pref.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/pref.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/pref.h diff --git a/Cores/FCEU/FCEU/drivers/win/ram_search.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/ram_search.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ram_search.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ram_search.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/ram_search.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/ram_search.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ram_search.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ram_search.h diff --git a/Cores/FCEU/FCEU/drivers/win/ramwatch.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/ramwatch.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ramwatch.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ramwatch.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/ramwatch.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/ramwatch.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/ramwatch.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/ramwatch.h diff --git a/Cores/FCEU/FCEU/drivers/win/replay.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/replay.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/replay.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/replay.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/replay.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/replay.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/replay.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/replay.h diff --git a/Cores/FCEU/FCEU/drivers/win/res.rc b/Cores/FCEU/FCEU-2.2.3/drivers/win/res.rc similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res.rc rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res.rc diff --git a/Cores/FCEU/FCEU/drivers/win/res/ICON_1.ico b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/ICON_1.ico similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/ICON_1.ico rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/ICON_1.ico diff --git a/Cores/FCEU/FCEU/drivers/win/res/ICON_2.ico b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/ICON_2.ico similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/ICON_2.ico rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/ICON_2.ico diff --git a/Cores/FCEU/FCEU/drivers/win/res/branch_spritesheet.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/branch_spritesheet.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/branch_spritesheet.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/branch_spritesheet.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/taseditor-icon.ico b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/taseditor-icon.ico similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/taseditor-icon.ico rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/taseditor-icon.ico diff --git a/Cores/FCEU/FCEU/drivers/win/res/taseditor-icon32.ico b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/taseditor-icon32.ico similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/taseditor-icon32.ico rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/taseditor-icon32.ico diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_0.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_0.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_0.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_0.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_0_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_0_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_0_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_0_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_1.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_1.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_1.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_1.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_10.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_10.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_10.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_10.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_10_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_10_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_10_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_10_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_11.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_11.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_11.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_11.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_11_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_11_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_11_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_11_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_12.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_12.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_12.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_12.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_12_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_12_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_12_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_12_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_13.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_13.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_13.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_13.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_13_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_13_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_13_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_13_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_14.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_14.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_14.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_14.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_14_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_14_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_14_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_14_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_15.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_15.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_15.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_15.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_15_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_15_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_15_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_15_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_16.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_16.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_16.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_16.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_16_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_16_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_16_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_16_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_17.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_17.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_17.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_17.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_17_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_17_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_17_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_17_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_18.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_18.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_18.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_18.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_18_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_18_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_18_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_18_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_19.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_19.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_19.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_19.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_19_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_19_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_19_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_19_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_1_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_1_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_1_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_1_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_2.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_2.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_2.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_2.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_2_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_2_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_2_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_2_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_3.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_3.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_3.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_3.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_3_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_3_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_3_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_3_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_4.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_4.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_4.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_4.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_4_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_4_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_4_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_4_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_5.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_5.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_5.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_5.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_5_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_5_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_5_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_5_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_6.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_6.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_6.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_6.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_6_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_6_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_6_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_6_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_7.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_7.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_7.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_7.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_7_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_7_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_7_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_7_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_8.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_8.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_8.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_8.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_8_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_8_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_8_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_8_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_9.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_9.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_9.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_9.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_9_selected.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_9_selected.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_9_selected.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_9_selected.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_arrow.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_arrow.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_arrow.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_arrow.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_green_arrow.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_green_arrow.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_green_arrow.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_green_arrow.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_green_blue_arrow.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_green_blue_arrow.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_green_blue_arrow.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_green_blue_arrow.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_0.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_0.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_0.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_0.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_0_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_0_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_0_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_0_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_0_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_0_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_0_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_0_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_1.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_1.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_1.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_1.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_10.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_10.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_10.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_10.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_10_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_10_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_10_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_10_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_10_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_10_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_10_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_10_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_11.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_11.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_11.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_11.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_11_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_11_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_11_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_11_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_11_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_11_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_11_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_11_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_12.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_12.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_12.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_12.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_12_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_12_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_12_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_12_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_12_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_12_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_12_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_12_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_13.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_13.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_13.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_13.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_13_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_13_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_13_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_13_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_13_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_13_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_13_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_13_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_14.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_14.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_14.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_14.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_14_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_14_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_14_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_14_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_14_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_14_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_14_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_14_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_15.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_15.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_15.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_15.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_15_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_15_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_15_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_15_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_15_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_15_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_15_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_15_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_16.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_16.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_16.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_16.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_16_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_16_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_16_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_16_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_16_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_16_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_16_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_16_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_17.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_17.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_17.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_17.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_17_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_17_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_17_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_17_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_17_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_17_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_17_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_17_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_18.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_18.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_18.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_18.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_18_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_18_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_18_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_18_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_18_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_18_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_18_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_18_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_19.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_19.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_19.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_19.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_19_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_19_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_19_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_19_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_19_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_19_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_19_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_19_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_1_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_1_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_1_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_1_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_1_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_1_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_1_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_1_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_2.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_2.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_2.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_2.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_2_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_2_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_2_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_2_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_2_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_2_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_2_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_2_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_3.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_3.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_3.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_3.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_3_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_3_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_3_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_3_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_3_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_3_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_3_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_3_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_4.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_4.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_4.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_4.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_4_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_4_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_4_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_4_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_4_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_4_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_4_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_4_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_5.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_5.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_5.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_5.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_5_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_5_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_5_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_5_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_5_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_5_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_5_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_5_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_6.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_6.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_6.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_6.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_6_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_6_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_6_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_6_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_6_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_6_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_6_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_6_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_7.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_7.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_7.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_7.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_7_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_7_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_7_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_7_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_7_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_7_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_7_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_7_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_8.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_8.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_8.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_8.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_8_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_8_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_8_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_8_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_8_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_8_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_8_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_8_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_9.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_9.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_9.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_9.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_9_lostpos.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_9_lostpos.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_9_lostpos.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_9_lostpos.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/res/te_piano_9_playback.bmp b/Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_9_playback.bmp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/res/te_piano_9_playback.bmp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/res/te_piano_9_playback.bmp diff --git a/Cores/FCEU/FCEU/drivers/win/resource.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/resource.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/resource.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/resource.h diff --git a/Cores/FCEU/FCEU/drivers/win/sound.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/sound.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/sound.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/sound.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/sound.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/sound.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/sound.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/sound.h diff --git a/Cores/FCEU/FCEU/drivers/win/state.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/state.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/state.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/state.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/state.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/state.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/state.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/state.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/bookmark.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmark.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/bookmark.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmark.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/bookmark.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmark.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/bookmark.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmark.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/bookmarks.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmarks.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/bookmarks.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmarks.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/bookmarks.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmarks.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/bookmarks.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/bookmarks.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/branches.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/branches.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/branches.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/branches.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/branches.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/branches.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/branches.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/branches.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/editor.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/editor.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/editor.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/editor.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/editor.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/editor.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/editor.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/editor.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/greenzone.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/greenzone.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/greenzone.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/greenzone.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/greenzone.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/greenzone.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/greenzone.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/greenzone.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/history.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/history.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/history.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/history.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/history.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/history.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/history.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/history.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/inputlog.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/inputlog.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/inputlog.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/inputlog.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/inputlog.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/inputlog.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/inputlog.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/inputlog.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/laglog.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/laglog.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/laglog.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/laglog.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/laglog.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/laglog.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/laglog.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/laglog.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/markers.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/markers.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/markers.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/markers.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/markers_manager.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers_manager.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/markers_manager.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers_manager.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/markers_manager.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers_manager.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/markers_manager.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/markers_manager.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/piano_roll.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/piano_roll.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/piano_roll.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/piano_roll.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/piano_roll.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/piano_roll.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/piano_roll.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/piano_roll.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/playback.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/playback.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/playback.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/playback.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/playback.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/playback.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/playback.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/playback.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/popup_display.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/popup_display.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/popup_display.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/popup_display.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/popup_display.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/popup_display.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/popup_display.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/popup_display.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/recorder.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/recorder.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/recorder.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/recorder.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/recorder.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/recorder.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/recorder.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/recorder.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/selection.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/selection.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/selection.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/selection.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/selection.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/selection.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/selection.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/selection.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/snapshot.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/snapshot.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/snapshot.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/snapshot.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/snapshot.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/snapshot.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/snapshot.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/snapshot.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/splicer.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/splicer.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/splicer.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/splicer.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/splicer.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/splicer.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/splicer.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/splicer.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_config.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_config.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_config.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_config.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_config.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_config.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_config.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_config.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_lua.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_lua.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_lua.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_lua.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_lua.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_lua.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_lua.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_lua.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_project.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_project.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_project.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_project.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_project.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_project.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_project.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_project.h diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_window.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_window.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_window.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_window.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_window.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_window.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/taseditor/taseditor_window.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/taseditor/taseditor_window.h diff --git a/Cores/FCEU/FCEU/drivers/win/texthook.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/texthook.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/texthook.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/texthook.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/texthook.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/texthook.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/texthook.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/texthook.h diff --git a/Cores/FCEU/FCEU/drivers/win/throttle.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/throttle.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/throttle.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/throttle.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/throttle.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/throttle.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/throttle.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/throttle.h diff --git a/Cores/FCEU/FCEU/drivers/win/timing.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/timing.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/timing.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/timing.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/timing.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/timing.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/timing.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/timing.h diff --git a/Cores/FCEU/FCEU/drivers/win/tracer.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/tracer.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/tracer.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/tracer.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/tracer.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/tracer.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/tracer.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/tracer.h diff --git a/Cores/FCEU/FCEU/drivers/win/video.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/video.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/video.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/video.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/video.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/video.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/video.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/video.h diff --git a/Cores/FCEU/FCEU/drivers/win/wave.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/wave.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/wave.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/wave.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/wave.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/wave.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/wave.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/wave.h diff --git a/Cores/FCEU/FCEU/drivers/win/window.cpp b/Cores/FCEU/FCEU-2.2.3/drivers/win/window.cpp similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/window.cpp rename to Cores/FCEU/FCEU-2.2.3/drivers/win/window.cpp diff --git a/Cores/FCEU/FCEU/drivers/win/window.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/window.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/window.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/window.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/SConscript b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/SConscript similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/SConscript rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/SConscript diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/adler32.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/adler32.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/adler32.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/adler32.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/algorithm.txt b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/algorithm.txt similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/algorithm.txt rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/algorithm.txt diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/changelog b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/changelog similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/changelog rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/changelog diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/compress.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/compress.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/compress.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/compress.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/crc32.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/crc32.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/crc32.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/crc32.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/deflate.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/deflate.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/deflate.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/deflate.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/deflate.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/deflate.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/deflate.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/deflate.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/descrip.mms b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/descrip.mms similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/descrip.mms rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/descrip.mms diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/example.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/example.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/example.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/example.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/faq b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/faq similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/faq rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/faq diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/gzio.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/gzio.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/gzio.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/gzio.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/infblock.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infblock.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/infblock.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infblock.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/infblock.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infblock.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/infblock.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infblock.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/infcodes.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infcodes.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/infcodes.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infcodes.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/infcodes.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infcodes.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/infcodes.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infcodes.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/inffast.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inffast.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/inffast.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inffast.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/inffast.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inffast.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/inffast.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inffast.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/inffixed.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inffixed.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/inffixed.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inffixed.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/inflate.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inflate.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/inflate.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inflate.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/inftrees.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inftrees.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/inftrees.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inftrees.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/inftrees.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inftrees.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/inftrees.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/inftrees.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/infutil.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infutil.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/infutil.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infutil.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/infutil.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infutil.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/infutil.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/infutil.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/makefile b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/makefile similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/makefile rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/makefile diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/maketree.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/maketree.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/maketree.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/maketree.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/readme b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/readme similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/readme rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/readme diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/trees.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/trees.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/trees.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/trees.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/trees.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/trees.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/trees.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/trees.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/uncompr.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/uncompr.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/uncompr.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/uncompr.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/unzip.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/unzip.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/unzip.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/unzip.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/unzip.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/unzip.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/unzip.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/unzip.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/zconf.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zconf.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/zconf.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zconf.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/zlib.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zlib.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/zlib.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zlib.h diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/zutil.c b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zutil.c similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/zutil.c rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zutil.c diff --git a/Cores/FCEU/FCEU/drivers/win/zlib/zutil.h b/Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zutil.h similarity index 100% rename from Cores/FCEU/FCEU/drivers/win/zlib/zutil.h rename to Cores/FCEU/FCEU-2.2.3/drivers/win/zlib/zutil.h diff --git a/Cores/FCEU/FCEU/emufile.cpp b/Cores/FCEU/FCEU-2.2.3/emufile.cpp similarity index 100% rename from Cores/FCEU/FCEU/emufile.cpp rename to Cores/FCEU/FCEU-2.2.3/emufile.cpp diff --git a/Cores/FCEU/FCEU/emufile.h b/Cores/FCEU/FCEU-2.2.3/emufile.h similarity index 100% rename from Cores/FCEU/FCEU/emufile.h rename to Cores/FCEU/FCEU-2.2.3/emufile.h diff --git a/Cores/FCEU/FCEU/emufile_types.h b/Cores/FCEU/FCEU-2.2.3/emufile_types.h similarity index 100% rename from Cores/FCEU/FCEU/emufile_types.h rename to Cores/FCEU/FCEU-2.2.3/emufile_types.h diff --git a/Cores/FCEU/FCEU/fceu.cpp b/Cores/FCEU/FCEU-2.2.3/fceu.cpp similarity index 100% rename from Cores/FCEU/FCEU/fceu.cpp rename to Cores/FCEU/FCEU-2.2.3/fceu.cpp diff --git a/Cores/FCEU/FCEU/fceu.h b/Cores/FCEU/FCEU-2.2.3/fceu.h similarity index 100% rename from Cores/FCEU/FCEU/fceu.h rename to Cores/FCEU/FCEU-2.2.3/fceu.h diff --git a/Cores/FCEU/FCEU/fceulua.h b/Cores/FCEU/FCEU-2.2.3/fceulua.h similarity index 100% rename from Cores/FCEU/FCEU/fceulua.h rename to Cores/FCEU/FCEU-2.2.3/fceulua.h diff --git a/Cores/FCEU/FCEU/fcoeffs.h b/Cores/FCEU/FCEU-2.2.3/fcoeffs.h similarity index 100% rename from Cores/FCEU/FCEU/fcoeffs.h rename to Cores/FCEU/FCEU-2.2.3/fcoeffs.h diff --git a/Cores/FCEU/FCEU/fds.cpp b/Cores/FCEU/FCEU-2.2.3/fds.cpp similarity index 100% rename from Cores/FCEU/FCEU/fds.cpp rename to Cores/FCEU/FCEU-2.2.3/fds.cpp diff --git a/Cores/FCEU/FCEU/fds.h b/Cores/FCEU/FCEU-2.2.3/fds.h similarity index 100% rename from Cores/FCEU/FCEU/fds.h rename to Cores/FCEU/FCEU-2.2.3/fds.h diff --git a/Cores/FCEU/FCEU/file.cpp b/Cores/FCEU/FCEU-2.2.3/file.cpp similarity index 100% rename from Cores/FCEU/FCEU/file.cpp rename to Cores/FCEU/FCEU-2.2.3/file.cpp diff --git a/Cores/FCEU/FCEU/file.h b/Cores/FCEU/FCEU-2.2.3/file.h similarity index 100% rename from Cores/FCEU/FCEU/file.h rename to Cores/FCEU/FCEU-2.2.3/file.h diff --git a/Cores/FCEU/FCEU/filter.cpp b/Cores/FCEU/FCEU-2.2.3/filter.cpp similarity index 100% rename from Cores/FCEU/FCEU/filter.cpp rename to Cores/FCEU/FCEU-2.2.3/filter.cpp diff --git a/Cores/FCEU/FCEU/filter.h b/Cores/FCEU/FCEU-2.2.3/filter.h similarity index 100% rename from Cores/FCEU/FCEU/filter.h rename to Cores/FCEU/FCEU-2.2.3/filter.h diff --git a/Cores/FCEU/FCEU/fir/Makefile b/Cores/FCEU/FCEU-2.2.3/fir/Makefile similarity index 100% rename from Cores/FCEU/FCEU/fir/Makefile rename to Cores/FCEU/FCEU-2.2.3/fir/Makefile diff --git a/Cores/FCEU/FCEU/fir/README b/Cores/FCEU/FCEU-2.2.3/fir/README similarity index 100% rename from Cores/FCEU/FCEU/fir/README rename to Cores/FCEU/FCEU-2.2.3/fir/README diff --git a/Cores/FCEU/FCEU/fir/SConscript b/Cores/FCEU/FCEU-2.2.3/fir/SConscript similarity index 100% rename from Cores/FCEU/FCEU/fir/SConscript rename to Cores/FCEU/FCEU-2.2.3/fir/SConscript diff --git a/Cores/FCEU/FCEU/fir/c44100ntsc.coef b/Cores/FCEU/FCEU-2.2.3/fir/c44100ntsc.coef similarity index 100% rename from Cores/FCEU/FCEU/fir/c44100ntsc.coef rename to Cores/FCEU/FCEU-2.2.3/fir/c44100ntsc.coef diff --git a/Cores/FCEU/FCEU/fir/c44100ntsc.h b/Cores/FCEU/FCEU-2.2.3/fir/c44100ntsc.h similarity index 100% rename from Cores/FCEU/FCEU/fir/c44100ntsc.h rename to Cores/FCEU/FCEU-2.2.3/fir/c44100ntsc.h diff --git a/Cores/FCEU/FCEU/fir/c44100ntsc.scm b/Cores/FCEU/FCEU-2.2.3/fir/c44100ntsc.scm similarity index 100% rename from Cores/FCEU/FCEU/fir/c44100ntsc.scm rename to Cores/FCEU/FCEU-2.2.3/fir/c44100ntsc.scm diff --git a/Cores/FCEU/FCEU/fir/c44100pal.coef b/Cores/FCEU/FCEU-2.2.3/fir/c44100pal.coef similarity index 100% rename from Cores/FCEU/FCEU/fir/c44100pal.coef rename to Cores/FCEU/FCEU-2.2.3/fir/c44100pal.coef diff --git a/Cores/FCEU/FCEU/fir/c44100pal.h b/Cores/FCEU/FCEU-2.2.3/fir/c44100pal.h similarity index 100% rename from Cores/FCEU/FCEU/fir/c44100pal.h rename to Cores/FCEU/FCEU-2.2.3/fir/c44100pal.h diff --git a/Cores/FCEU/FCEU/fir/c44100pal.scm b/Cores/FCEU/FCEU-2.2.3/fir/c44100pal.scm similarity index 100% rename from Cores/FCEU/FCEU/fir/c44100pal.scm rename to Cores/FCEU/FCEU-2.2.3/fir/c44100pal.scm diff --git a/Cores/FCEU/FCEU/fir/c48000ntsc.coef b/Cores/FCEU/FCEU-2.2.3/fir/c48000ntsc.coef similarity index 100% rename from Cores/FCEU/FCEU/fir/c48000ntsc.coef rename to Cores/FCEU/FCEU-2.2.3/fir/c48000ntsc.coef diff --git a/Cores/FCEU/FCEU/fir/c48000ntsc.h b/Cores/FCEU/FCEU-2.2.3/fir/c48000ntsc.h similarity index 100% rename from Cores/FCEU/FCEU/fir/c48000ntsc.h rename to Cores/FCEU/FCEU-2.2.3/fir/c48000ntsc.h diff --git a/Cores/FCEU/FCEU/fir/c48000ntsc.scm b/Cores/FCEU/FCEU-2.2.3/fir/c48000ntsc.scm similarity index 100% rename from Cores/FCEU/FCEU/fir/c48000ntsc.scm rename to Cores/FCEU/FCEU-2.2.3/fir/c48000ntsc.scm diff --git a/Cores/FCEU/FCEU/fir/c48000pal.coef b/Cores/FCEU/FCEU-2.2.3/fir/c48000pal.coef similarity index 100% rename from Cores/FCEU/FCEU/fir/c48000pal.coef rename to Cores/FCEU/FCEU-2.2.3/fir/c48000pal.coef diff --git a/Cores/FCEU/FCEU/fir/c48000pal.h b/Cores/FCEU/FCEU-2.2.3/fir/c48000pal.h similarity index 100% rename from Cores/FCEU/FCEU/fir/c48000pal.h rename to Cores/FCEU/FCEU-2.2.3/fir/c48000pal.h diff --git a/Cores/FCEU/FCEU/fir/c48000pal.scm b/Cores/FCEU/FCEU-2.2.3/fir/c48000pal.scm similarity index 100% rename from Cores/FCEU/FCEU/fir/c48000pal.scm rename to Cores/FCEU/FCEU-2.2.3/fir/c48000pal.scm diff --git a/Cores/FCEU/FCEU/fir/c96000ntsc.coef b/Cores/FCEU/FCEU-2.2.3/fir/c96000ntsc.coef similarity index 100% rename from Cores/FCEU/FCEU/fir/c96000ntsc.coef rename to Cores/FCEU/FCEU-2.2.3/fir/c96000ntsc.coef diff --git a/Cores/FCEU/FCEU/fir/c96000ntsc.h b/Cores/FCEU/FCEU-2.2.3/fir/c96000ntsc.h similarity index 100% rename from Cores/FCEU/FCEU/fir/c96000ntsc.h rename to Cores/FCEU/FCEU-2.2.3/fir/c96000ntsc.h diff --git a/Cores/FCEU/FCEU/fir/c96000ntsc.scm b/Cores/FCEU/FCEU-2.2.3/fir/c96000ntsc.scm similarity index 100% rename from Cores/FCEU/FCEU/fir/c96000ntsc.scm rename to Cores/FCEU/FCEU-2.2.3/fir/c96000ntsc.scm diff --git a/Cores/FCEU/FCEU/fir/c96000pal.coef b/Cores/FCEU/FCEU-2.2.3/fir/c96000pal.coef similarity index 100% rename from Cores/FCEU/FCEU/fir/c96000pal.coef rename to Cores/FCEU/FCEU-2.2.3/fir/c96000pal.coef diff --git a/Cores/FCEU/FCEU/fir/c96000pal.h b/Cores/FCEU/FCEU-2.2.3/fir/c96000pal.h similarity index 100% rename from Cores/FCEU/FCEU/fir/c96000pal.h rename to Cores/FCEU/FCEU-2.2.3/fir/c96000pal.h diff --git a/Cores/FCEU/FCEU/fir/c96000pal.scm b/Cores/FCEU/FCEU-2.2.3/fir/c96000pal.scm similarity index 100% rename from Cores/FCEU/FCEU/fir/c96000pal.scm rename to Cores/FCEU/FCEU-2.2.3/fir/c96000pal.scm diff --git a/Cores/FCEU/FCEU/fir/toh.c b/Cores/FCEU/FCEU-2.2.3/fir/toh.c similarity index 100% rename from Cores/FCEU/FCEU/fir/toh.c rename to Cores/FCEU/FCEU-2.2.3/fir/toh.c diff --git a/Cores/FCEU/FCEU/git.h b/Cores/FCEU/FCEU-2.2.3/git.h similarity index 100% rename from Cores/FCEU/FCEU/git.h rename to Cores/FCEU/FCEU-2.2.3/git.h diff --git a/Cores/FCEU/FCEU/ines-bad.h b/Cores/FCEU/FCEU-2.2.3/ines-bad.h similarity index 100% rename from Cores/FCEU/FCEU/ines-bad.h rename to Cores/FCEU/FCEU-2.2.3/ines-bad.h diff --git a/Cores/FCEU/FCEU/ines-correct.h b/Cores/FCEU/FCEU-2.2.3/ines-correct.h similarity index 100% rename from Cores/FCEU/FCEU/ines-correct.h rename to Cores/FCEU/FCEU-2.2.3/ines-correct.h diff --git a/Cores/FCEU/FCEU/ines.cpp b/Cores/FCEU/FCEU-2.2.3/ines.cpp similarity index 100% rename from Cores/FCEU/FCEU/ines.cpp rename to Cores/FCEU/FCEU-2.2.3/ines.cpp diff --git a/Cores/FCEU/FCEU/ines.h b/Cores/FCEU/FCEU-2.2.3/ines.h similarity index 100% rename from Cores/FCEU/FCEU/ines.h rename to Cores/FCEU/FCEU-2.2.3/ines.h diff --git a/Cores/FCEU/FCEU/input.cpp b/Cores/FCEU/FCEU-2.2.3/input.cpp similarity index 100% rename from Cores/FCEU/FCEU/input.cpp rename to Cores/FCEU/FCEU-2.2.3/input.cpp diff --git a/Cores/FCEU/FCEU/input.h b/Cores/FCEU/FCEU-2.2.3/input.h similarity index 100% rename from Cores/FCEU/FCEU/input.h rename to Cores/FCEU/FCEU-2.2.3/input.h diff --git a/Cores/FCEU/FCEU/input/SConscript b/Cores/FCEU/FCEU-2.2.3/input/SConscript similarity index 100% rename from Cores/FCEU/FCEU/input/SConscript rename to Cores/FCEU/FCEU-2.2.3/input/SConscript diff --git a/Cores/FCEU/FCEU/input/arkanoid.cpp b/Cores/FCEU/FCEU-2.2.3/input/arkanoid.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/arkanoid.cpp rename to Cores/FCEU/FCEU-2.2.3/input/arkanoid.cpp diff --git a/Cores/FCEU/FCEU/input/bworld.cpp b/Cores/FCEU/FCEU-2.2.3/input/bworld.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/bworld.cpp rename to Cores/FCEU/FCEU-2.2.3/input/bworld.cpp diff --git a/Cores/FCEU/FCEU/input/cursor.cpp b/Cores/FCEU/FCEU-2.2.3/input/cursor.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/cursor.cpp rename to Cores/FCEU/FCEU-2.2.3/input/cursor.cpp diff --git a/Cores/FCEU/FCEU/input/fkb.cpp b/Cores/FCEU/FCEU-2.2.3/input/fkb.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/fkb.cpp rename to Cores/FCEU/FCEU-2.2.3/input/fkb.cpp diff --git a/Cores/FCEU/FCEU/input/fkb.h b/Cores/FCEU/FCEU-2.2.3/input/fkb.h similarity index 100% rename from Cores/FCEU/FCEU/input/fkb.h rename to Cores/FCEU/FCEU-2.2.3/input/fkb.h diff --git a/Cores/FCEU/FCEU/input/ftrainer.cpp b/Cores/FCEU/FCEU-2.2.3/input/ftrainer.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/ftrainer.cpp rename to Cores/FCEU/FCEU-2.2.3/input/ftrainer.cpp diff --git a/Cores/FCEU/FCEU/input/hypershot.cpp b/Cores/FCEU/FCEU-2.2.3/input/hypershot.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/hypershot.cpp rename to Cores/FCEU/FCEU-2.2.3/input/hypershot.cpp diff --git a/Cores/FCEU/FCEU/input/mahjong.cpp b/Cores/FCEU/FCEU-2.2.3/input/mahjong.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/mahjong.cpp rename to Cores/FCEU/FCEU-2.2.3/input/mahjong.cpp diff --git a/Cores/FCEU/FCEU/input/mouse.cpp b/Cores/FCEU/FCEU-2.2.3/input/mouse.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/mouse.cpp rename to Cores/FCEU/FCEU-2.2.3/input/mouse.cpp diff --git a/Cores/FCEU/FCEU/input/oekakids.cpp b/Cores/FCEU/FCEU-2.2.3/input/oekakids.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/oekakids.cpp rename to Cores/FCEU/FCEU-2.2.3/input/oekakids.cpp diff --git a/Cores/FCEU/FCEU/input/pec586kb.cpp b/Cores/FCEU/FCEU-2.2.3/input/pec586kb.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/pec586kb.cpp rename to Cores/FCEU/FCEU-2.2.3/input/pec586kb.cpp diff --git a/Cores/FCEU/FCEU/input/powerpad.cpp b/Cores/FCEU/FCEU-2.2.3/input/powerpad.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/powerpad.cpp rename to Cores/FCEU/FCEU-2.2.3/input/powerpad.cpp diff --git a/Cores/FCEU/FCEU/input/quiz.cpp b/Cores/FCEU/FCEU-2.2.3/input/quiz.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/quiz.cpp rename to Cores/FCEU/FCEU-2.2.3/input/quiz.cpp diff --git a/Cores/FCEU/FCEU/input/shadow.cpp b/Cores/FCEU/FCEU-2.2.3/input/shadow.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/shadow.cpp rename to Cores/FCEU/FCEU-2.2.3/input/shadow.cpp diff --git a/Cores/FCEU/FCEU/input/share.h b/Cores/FCEU/FCEU-2.2.3/input/share.h similarity index 100% rename from Cores/FCEU/FCEU/input/share.h rename to Cores/FCEU/FCEU-2.2.3/input/share.h diff --git a/Cores/FCEU/FCEU/input/snesmouse.cpp b/Cores/FCEU/FCEU-2.2.3/input/snesmouse.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/snesmouse.cpp rename to Cores/FCEU/FCEU-2.2.3/input/snesmouse.cpp diff --git a/Cores/FCEU/FCEU/input/suborkb.cpp b/Cores/FCEU/FCEU-2.2.3/input/suborkb.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/suborkb.cpp rename to Cores/FCEU/FCEU-2.2.3/input/suborkb.cpp diff --git a/Cores/FCEU/FCEU/input/suborkb.h b/Cores/FCEU/FCEU-2.2.3/input/suborkb.h similarity index 100% rename from Cores/FCEU/FCEU/input/suborkb.h rename to Cores/FCEU/FCEU-2.2.3/input/suborkb.h diff --git a/Cores/FCEU/FCEU/input/toprider.cpp b/Cores/FCEU/FCEU-2.2.3/input/toprider.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/toprider.cpp rename to Cores/FCEU/FCEU-2.2.3/input/toprider.cpp diff --git a/Cores/FCEU/FCEU/input/zapper.cpp b/Cores/FCEU/FCEU-2.2.3/input/zapper.cpp similarity index 100% rename from Cores/FCEU/FCEU/input/zapper.cpp rename to Cores/FCEU/FCEU-2.2.3/input/zapper.cpp diff --git a/Cores/FCEU/FCEU/input/zapper.h b/Cores/FCEU/FCEU-2.2.3/input/zapper.h similarity index 100% rename from Cores/FCEU/FCEU/input/zapper.h rename to Cores/FCEU/FCEU-2.2.3/input/zapper.h diff --git a/Cores/FCEU/FCEU/lua-engine.cpp b/Cores/FCEU/FCEU-2.2.3/lua-engine.cpp similarity index 100% rename from Cores/FCEU/FCEU/lua-engine.cpp rename to Cores/FCEU/FCEU-2.2.3/lua-engine.cpp diff --git a/Cores/FCEU/FCEU/lua/COPYRIGHT b/Cores/FCEU/FCEU-2.2.3/lua/COPYRIGHT similarity index 100% rename from Cores/FCEU/FCEU/lua/COPYRIGHT rename to Cores/FCEU/FCEU-2.2.3/lua/COPYRIGHT diff --git a/Cores/FCEU/FCEU/lua/HISTORY b/Cores/FCEU/FCEU-2.2.3/lua/HISTORY similarity index 100% rename from Cores/FCEU/FCEU/lua/HISTORY rename to Cores/FCEU/FCEU-2.2.3/lua/HISTORY diff --git a/Cores/FCEU/FCEU/lua/README b/Cores/FCEU/FCEU-2.2.3/lua/README similarity index 100% rename from Cores/FCEU/FCEU/lua/README rename to Cores/FCEU/FCEU-2.2.3/lua/README diff --git a/Cores/FCEU/FCEU/lua/SConscript b/Cores/FCEU/FCEU-2.2.3/lua/SConscript similarity index 100% rename from Cores/FCEU/FCEU/lua/SConscript rename to Cores/FCEU/FCEU-2.2.3/lua/SConscript diff --git a/Cores/FCEU/FCEU/lua/lua.vcproj b/Cores/FCEU/FCEU-2.2.3/lua/lua.vcproj similarity index 100% rename from Cores/FCEU/FCEU/lua/lua.vcproj rename to Cores/FCEU/FCEU-2.2.3/lua/lua.vcproj diff --git a/Cores/FCEU/FCEU/lua/src/Makefile b/Cores/FCEU/FCEU-2.2.3/lua/src/Makefile similarity index 100% rename from Cores/FCEU/FCEU/lua/src/Makefile rename to Cores/FCEU/FCEU-2.2.3/lua/src/Makefile diff --git a/Cores/FCEU/FCEU/lua/src/lapi.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lapi.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lapi.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lapi.c diff --git a/Cores/FCEU/FCEU/lua/src/lapi.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lapi.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lapi.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lapi.h diff --git a/Cores/FCEU/FCEU/lua/src/lauxlib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lauxlib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lauxlib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lauxlib.c diff --git a/Cores/FCEU/FCEU/lua/src/lauxlib.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lauxlib.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lauxlib.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lauxlib.h diff --git a/Cores/FCEU/FCEU/lua/src/lbaselib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lbaselib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lbaselib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lbaselib.c diff --git a/Cores/FCEU/FCEU/lua/src/lcode.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lcode.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lcode.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lcode.c diff --git a/Cores/FCEU/FCEU/lua/src/lcode.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lcode.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lcode.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lcode.h diff --git a/Cores/FCEU/FCEU/lua/src/ldblib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ldblib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ldblib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ldblib.c diff --git a/Cores/FCEU/FCEU/lua/src/ldebug.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ldebug.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ldebug.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ldebug.c diff --git a/Cores/FCEU/FCEU/lua/src/ldebug.h b/Cores/FCEU/FCEU-2.2.3/lua/src/ldebug.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ldebug.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/ldebug.h diff --git a/Cores/FCEU/FCEU/lua/src/ldo.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ldo.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ldo.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ldo.c diff --git a/Cores/FCEU/FCEU/lua/src/ldo.h b/Cores/FCEU/FCEU-2.2.3/lua/src/ldo.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ldo.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/ldo.h diff --git a/Cores/FCEU/FCEU/lua/src/ldump.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ldump.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ldump.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ldump.c diff --git a/Cores/FCEU/FCEU/lua/src/lfunc.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lfunc.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lfunc.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lfunc.c diff --git a/Cores/FCEU/FCEU/lua/src/lfunc.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lfunc.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lfunc.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lfunc.h diff --git a/Cores/FCEU/FCEU/lua/src/lgc.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lgc.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lgc.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lgc.c diff --git a/Cores/FCEU/FCEU/lua/src/lgc.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lgc.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lgc.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lgc.h diff --git a/Cores/FCEU/FCEU/lua/src/linit.c b/Cores/FCEU/FCEU-2.2.3/lua/src/linit.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/linit.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/linit.c diff --git a/Cores/FCEU/FCEU/lua/src/liolib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/liolib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/liolib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/liolib.c diff --git a/Cores/FCEU/FCEU/lua/src/llex.c b/Cores/FCEU/FCEU-2.2.3/lua/src/llex.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/llex.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/llex.c diff --git a/Cores/FCEU/FCEU/lua/src/llex.h b/Cores/FCEU/FCEU-2.2.3/lua/src/llex.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/llex.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/llex.h diff --git a/Cores/FCEU/FCEU/lua/src/llimits.h b/Cores/FCEU/FCEU-2.2.3/lua/src/llimits.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/llimits.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/llimits.h diff --git a/Cores/FCEU/FCEU/lua/src/lmathlib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lmathlib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lmathlib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lmathlib.c diff --git a/Cores/FCEU/FCEU/lua/src/lmem.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lmem.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lmem.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lmem.c diff --git a/Cores/FCEU/FCEU/lua/src/lmem.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lmem.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lmem.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lmem.h diff --git a/Cores/FCEU/FCEU/lua/src/loadlib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/loadlib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/loadlib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/loadlib.c diff --git a/Cores/FCEU/FCEU/lua/src/lobject.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lobject.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lobject.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lobject.c diff --git a/Cores/FCEU/FCEU/lua/src/lobject.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lobject.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lobject.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lobject.h diff --git a/Cores/FCEU/FCEU/lua/src/lopcodes.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lopcodes.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lopcodes.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lopcodes.c diff --git a/Cores/FCEU/FCEU/lua/src/lopcodes.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lopcodes.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lopcodes.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lopcodes.h diff --git a/Cores/FCEU/FCEU/lua/src/loslib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/loslib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/loslib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/loslib.c diff --git a/Cores/FCEU/FCEU/lua/src/lparser.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lparser.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lparser.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lparser.c diff --git a/Cores/FCEU/FCEU/lua/src/lparser.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lparser.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lparser.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lparser.h diff --git a/Cores/FCEU/FCEU/lua/src/lstate.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lstate.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lstate.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lstate.c diff --git a/Cores/FCEU/FCEU/lua/src/lstate.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lstate.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lstate.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lstate.h diff --git a/Cores/FCEU/FCEU/lua/src/lstring.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lstring.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lstring.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lstring.c diff --git a/Cores/FCEU/FCEU/lua/src/lstring.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lstring.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lstring.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lstring.h diff --git a/Cores/FCEU/FCEU/lua/src/lstrlib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lstrlib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lstrlib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lstrlib.c diff --git a/Cores/FCEU/FCEU/lua/src/ltable.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ltable.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ltable.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ltable.c diff --git a/Cores/FCEU/FCEU/lua/src/ltable.h b/Cores/FCEU/FCEU-2.2.3/lua/src/ltable.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ltable.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/ltable.h diff --git a/Cores/FCEU/FCEU/lua/src/ltablib.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ltablib.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ltablib.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ltablib.c diff --git a/Cores/FCEU/FCEU/lua/src/ltm.c b/Cores/FCEU/FCEU-2.2.3/lua/src/ltm.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ltm.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/ltm.c diff --git a/Cores/FCEU/FCEU/lua/src/ltm.h b/Cores/FCEU/FCEU-2.2.3/lua/src/ltm.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/ltm.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/ltm.h diff --git a/Cores/FCEU/FCEU/lua/src/lua.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lua.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lua.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lua.c diff --git a/Cores/FCEU/FCEU/lua/src/lua.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lua.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lua.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lua.h diff --git a/Cores/FCEU/FCEU/lua/src/luac.c b/Cores/FCEU/FCEU-2.2.3/lua/src/luac.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/luac.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/luac.c diff --git a/Cores/FCEU/FCEU/lua/src/luaconf.h b/Cores/FCEU/FCEU-2.2.3/lua/src/luaconf.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/luaconf.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/luaconf.h diff --git a/Cores/FCEU/FCEU/lua/src/lualib.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lualib.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lualib.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lualib.h diff --git a/Cores/FCEU/FCEU/lua/src/lundump.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lundump.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lundump.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lundump.c diff --git a/Cores/FCEU/FCEU/lua/src/lundump.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lundump.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lundump.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lundump.h diff --git a/Cores/FCEU/FCEU/lua/src/lvm.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lvm.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lvm.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lvm.c diff --git a/Cores/FCEU/FCEU/lua/src/lvm.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lvm.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lvm.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lvm.h diff --git a/Cores/FCEU/FCEU/lua/src/lzio.c b/Cores/FCEU/FCEU-2.2.3/lua/src/lzio.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lzio.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/lzio.c diff --git a/Cores/FCEU/FCEU/lua/src/lzio.h b/Cores/FCEU/FCEU-2.2.3/lua/src/lzio.h similarity index 100% rename from Cores/FCEU/FCEU/lua/src/lzio.h rename to Cores/FCEU/FCEU-2.2.3/lua/src/lzio.h diff --git a/Cores/FCEU/FCEU/lua/src/print.c b/Cores/FCEU/FCEU-2.2.3/lua/src/print.c similarity index 100% rename from Cores/FCEU/FCEU/lua/src/print.c rename to Cores/FCEU/FCEU-2.2.3/lua/src/print.c diff --git a/Cores/FCEU/FCEU/movie.cpp b/Cores/FCEU/FCEU-2.2.3/movie.cpp similarity index 100% rename from Cores/FCEU/FCEU/movie.cpp rename to Cores/FCEU/FCEU-2.2.3/movie.cpp diff --git a/Cores/FCEU/FCEU/movie.h b/Cores/FCEU/FCEU-2.2.3/movie.h similarity index 100% rename from Cores/FCEU/FCEU/movie.h rename to Cores/FCEU/FCEU-2.2.3/movie.h diff --git a/Cores/FCEU/FCEU/netplay.cpp b/Cores/FCEU/FCEU-2.2.3/netplay.cpp similarity index 100% rename from Cores/FCEU/FCEU/netplay.cpp rename to Cores/FCEU/FCEU-2.2.3/netplay.cpp diff --git a/Cores/FCEU/FCEU/netplay.h b/Cores/FCEU/FCEU-2.2.3/netplay.h similarity index 100% rename from Cores/FCEU/FCEU/netplay.h rename to Cores/FCEU/FCEU-2.2.3/netplay.h diff --git a/Cores/FCEU/FCEU/nsf.cpp b/Cores/FCEU/FCEU-2.2.3/nsf.cpp similarity index 100% rename from Cores/FCEU/FCEU/nsf.cpp rename to Cores/FCEU/FCEU-2.2.3/nsf.cpp diff --git a/Cores/FCEU/FCEU/nsf.h b/Cores/FCEU/FCEU-2.2.3/nsf.h similarity index 100% rename from Cores/FCEU/FCEU/nsf.h rename to Cores/FCEU/FCEU-2.2.3/nsf.h diff --git a/Cores/FCEU/FCEU/oldmovie.cpp b/Cores/FCEU/FCEU-2.2.3/oldmovie.cpp similarity index 100% rename from Cores/FCEU/FCEU/oldmovie.cpp rename to Cores/FCEU/FCEU-2.2.3/oldmovie.cpp diff --git a/Cores/FCEU/FCEU/oldmovie.h b/Cores/FCEU/FCEU-2.2.3/oldmovie.h similarity index 100% rename from Cores/FCEU/FCEU/oldmovie.h rename to Cores/FCEU/FCEU-2.2.3/oldmovie.h diff --git a/Cores/FCEU/FCEU/ops.inc b/Cores/FCEU/FCEU-2.2.3/ops.inc similarity index 100% rename from Cores/FCEU/FCEU/ops.inc rename to Cores/FCEU/FCEU-2.2.3/ops.inc diff --git a/Cores/FCEU/FCEU/palette.cpp b/Cores/FCEU/FCEU-2.2.3/palette.cpp similarity index 100% rename from Cores/FCEU/FCEU/palette.cpp rename to Cores/FCEU/FCEU-2.2.3/palette.cpp diff --git a/Cores/FCEU/FCEU/palette.h b/Cores/FCEU/FCEU-2.2.3/palette.h similarity index 100% rename from Cores/FCEU/FCEU/palette.h rename to Cores/FCEU/FCEU-2.2.3/palette.h diff --git a/Cores/FCEU/FCEU/palettes/SConscript b/Cores/FCEU/FCEU-2.2.3/palettes/SConscript similarity index 100% rename from Cores/FCEU/FCEU/palettes/SConscript rename to Cores/FCEU/FCEU-2.2.3/palettes/SConscript diff --git a/Cores/FCEU/FCEU/palettes/conv.c b/Cores/FCEU/FCEU-2.2.3/palettes/conv.c similarity index 100% rename from Cores/FCEU/FCEU/palettes/conv.c rename to Cores/FCEU/FCEU-2.2.3/palettes/conv.c diff --git a/Cores/FCEU/FCEU/palettes/palettes.h b/Cores/FCEU/FCEU-2.2.3/palettes/palettes.h similarity index 100% rename from Cores/FCEU/FCEU/palettes/palettes.h rename to Cores/FCEU/FCEU-2.2.3/palettes/palettes.h diff --git a/Cores/FCEU/FCEU/palettes/rp2c04001.h b/Cores/FCEU/FCEU-2.2.3/palettes/rp2c04001.h similarity index 100% rename from Cores/FCEU/FCEU/palettes/rp2c04001.h rename to Cores/FCEU/FCEU-2.2.3/palettes/rp2c04001.h diff --git a/Cores/FCEU/FCEU/palettes/rp2c04002.h b/Cores/FCEU/FCEU-2.2.3/palettes/rp2c04002.h similarity index 100% rename from Cores/FCEU/FCEU/palettes/rp2c04002.h rename to Cores/FCEU/FCEU-2.2.3/palettes/rp2c04002.h diff --git a/Cores/FCEU/FCEU/palettes/rp2c04003.h b/Cores/FCEU/FCEU-2.2.3/palettes/rp2c04003.h similarity index 100% rename from Cores/FCEU/FCEU/palettes/rp2c04003.h rename to Cores/FCEU/FCEU-2.2.3/palettes/rp2c04003.h diff --git a/Cores/FCEU/FCEU/palettes/rp2c05004.h b/Cores/FCEU/FCEU-2.2.3/palettes/rp2c05004.h similarity index 100% rename from Cores/FCEU/FCEU/palettes/rp2c05004.h rename to Cores/FCEU/FCEU-2.2.3/palettes/rp2c05004.h diff --git a/Cores/FCEU/FCEU/ppu.cpp b/Cores/FCEU/FCEU-2.2.3/ppu.cpp similarity index 100% rename from Cores/FCEU/FCEU/ppu.cpp rename to Cores/FCEU/FCEU-2.2.3/ppu.cpp diff --git a/Cores/FCEU/FCEU/ppu.h b/Cores/FCEU/FCEU-2.2.3/ppu.h similarity index 100% rename from Cores/FCEU/FCEU/ppu.h rename to Cores/FCEU/FCEU-2.2.3/ppu.h diff --git a/Cores/FCEU/FCEU/pputile.inc b/Cores/FCEU/FCEU-2.2.3/pputile.inc similarity index 100% rename from Cores/FCEU/FCEU/pputile.inc rename to Cores/FCEU/FCEU-2.2.3/pputile.inc diff --git a/Cores/FCEU/FCEU/sound.cpp b/Cores/FCEU/FCEU-2.2.3/sound.cpp similarity index 100% rename from Cores/FCEU/FCEU/sound.cpp rename to Cores/FCEU/FCEU-2.2.3/sound.cpp diff --git a/Cores/FCEU/FCEU/sound.h b/Cores/FCEU/FCEU-2.2.3/sound.h similarity index 100% rename from Cores/FCEU/FCEU/sound.h rename to Cores/FCEU/FCEU-2.2.3/sound.h diff --git a/Cores/FCEU/FCEU/state.cpp b/Cores/FCEU/FCEU-2.2.3/state.cpp similarity index 100% rename from Cores/FCEU/FCEU/state.cpp rename to Cores/FCEU/FCEU-2.2.3/state.cpp diff --git a/Cores/FCEU/FCEU/state.h b/Cores/FCEU/FCEU-2.2.3/state.h similarity index 100% rename from Cores/FCEU/FCEU/state.h rename to Cores/FCEU/FCEU-2.2.3/state.h diff --git a/Cores/FCEU/FCEU/types-des.h b/Cores/FCEU/FCEU-2.2.3/types-des.h similarity index 100% rename from Cores/FCEU/FCEU/types-des.h rename to Cores/FCEU/FCEU-2.2.3/types-des.h diff --git a/Cores/FCEU/FCEU/types.h b/Cores/FCEU/FCEU-2.2.3/types.h similarity index 100% rename from Cores/FCEU/FCEU/types.h rename to Cores/FCEU/FCEU-2.2.3/types.h diff --git a/Cores/FCEU/FCEU/unif.cpp b/Cores/FCEU/FCEU-2.2.3/unif.cpp similarity index 100% rename from Cores/FCEU/FCEU/unif.cpp rename to Cores/FCEU/FCEU-2.2.3/unif.cpp diff --git a/Cores/FCEU/FCEU/unif.h b/Cores/FCEU/FCEU-2.2.3/unif.h similarity index 100% rename from Cores/FCEU/FCEU/unif.h rename to Cores/FCEU/FCEU-2.2.3/unif.h diff --git a/Cores/FCEU/FCEU/utils/ConvertUTF.c b/Cores/FCEU/FCEU-2.2.3/utils/ConvertUTF.c similarity index 100% rename from Cores/FCEU/FCEU/utils/ConvertUTF.c rename to Cores/FCEU/FCEU-2.2.3/utils/ConvertUTF.c diff --git a/Cores/FCEU/FCEU/utils/ConvertUTF.h b/Cores/FCEU/FCEU-2.2.3/utils/ConvertUTF.h similarity index 100% rename from Cores/FCEU/FCEU/utils/ConvertUTF.h rename to Cores/FCEU/FCEU-2.2.3/utils/ConvertUTF.h diff --git a/Cores/FCEU/FCEU/utils/SConscript b/Cores/FCEU/FCEU-2.2.3/utils/SConscript similarity index 100% rename from Cores/FCEU/FCEU/utils/SConscript rename to Cores/FCEU/FCEU-2.2.3/utils/SConscript diff --git a/Cores/FCEU/FCEU/utils/backward.cpp b/Cores/FCEU/FCEU-2.2.3/utils/backward.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/backward.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/backward.cpp diff --git a/Cores/FCEU/FCEU/utils/backward.hpp b/Cores/FCEU/FCEU-2.2.3/utils/backward.hpp similarity index 100% rename from Cores/FCEU/FCEU/utils/backward.hpp rename to Cores/FCEU/FCEU-2.2.3/utils/backward.hpp diff --git a/Cores/FCEU/FCEU/utils/crc32.cpp b/Cores/FCEU/FCEU-2.2.3/utils/crc32.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/crc32.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/crc32.cpp diff --git a/Cores/FCEU/FCEU/utils/crc32.h b/Cores/FCEU/FCEU-2.2.3/utils/crc32.h similarity index 100% rename from Cores/FCEU/FCEU/utils/crc32.h rename to Cores/FCEU/FCEU-2.2.3/utils/crc32.h diff --git a/Cores/FCEU/FCEU/utils/endian.cpp b/Cores/FCEU/FCEU-2.2.3/utils/endian.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/endian.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/endian.cpp diff --git a/Cores/FCEU/FCEU/utils/endian.h b/Cores/FCEU/FCEU-2.2.3/utils/endian.h similarity index 100% rename from Cores/FCEU/FCEU/utils/endian.h rename to Cores/FCEU/FCEU-2.2.3/utils/endian.h diff --git a/Cores/FCEU/FCEU/utils/general.cpp b/Cores/FCEU/FCEU-2.2.3/utils/general.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/general.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/general.cpp diff --git a/Cores/FCEU/FCEU/utils/general.h b/Cores/FCEU/FCEU-2.2.3/utils/general.h similarity index 100% rename from Cores/FCEU/FCEU/utils/general.h rename to Cores/FCEU/FCEU-2.2.3/utils/general.h diff --git a/Cores/FCEU/FCEU/utils/guid.cpp b/Cores/FCEU/FCEU-2.2.3/utils/guid.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/guid.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/guid.cpp diff --git a/Cores/FCEU/FCEU/utils/guid.h b/Cores/FCEU/FCEU-2.2.3/utils/guid.h similarity index 100% rename from Cores/FCEU/FCEU/utils/guid.h rename to Cores/FCEU/FCEU-2.2.3/utils/guid.h diff --git a/Cores/FCEU/FCEU/utils/ioapi.cpp b/Cores/FCEU/FCEU-2.2.3/utils/ioapi.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/ioapi.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/ioapi.cpp diff --git a/Cores/FCEU/FCEU/utils/ioapi.h b/Cores/FCEU/FCEU-2.2.3/utils/ioapi.h similarity index 100% rename from Cores/FCEU/FCEU/utils/ioapi.h rename to Cores/FCEU/FCEU-2.2.3/utils/ioapi.h diff --git a/Cores/FCEU/FCEU/utils/md5.cpp b/Cores/FCEU/FCEU-2.2.3/utils/md5.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/md5.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/md5.cpp diff --git a/Cores/FCEU/FCEU/utils/md5.h b/Cores/FCEU/FCEU-2.2.3/utils/md5.h similarity index 100% rename from Cores/FCEU/FCEU/utils/md5.h rename to Cores/FCEU/FCEU-2.2.3/utils/md5.h diff --git a/Cores/FCEU/FCEU/utils/memory.cpp b/Cores/FCEU/FCEU-2.2.3/utils/memory.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/memory.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/memory.cpp diff --git a/Cores/FCEU/FCEU/utils/memory.h b/Cores/FCEU/FCEU-2.2.3/utils/memory.h similarity index 100% rename from Cores/FCEU/FCEU/utils/memory.h rename to Cores/FCEU/FCEU-2.2.3/utils/memory.h diff --git a/Cores/FCEU/FCEU/utils/unzip.cpp b/Cores/FCEU/FCEU-2.2.3/utils/unzip.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/unzip.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/unzip.cpp diff --git a/Cores/FCEU/FCEU/utils/unzip.h b/Cores/FCEU/FCEU-2.2.3/utils/unzip.h similarity index 100% rename from Cores/FCEU/FCEU/utils/unzip.h rename to Cores/FCEU/FCEU-2.2.3/utils/unzip.h diff --git a/Cores/FCEU/FCEU/utils/valuearray.h b/Cores/FCEU/FCEU-2.2.3/utils/valuearray.h similarity index 100% rename from Cores/FCEU/FCEU/utils/valuearray.h rename to Cores/FCEU/FCEU-2.2.3/utils/valuearray.h diff --git a/Cores/FCEU/FCEU/utils/xstring.cpp b/Cores/FCEU/FCEU-2.2.3/utils/xstring.cpp similarity index 100% rename from Cores/FCEU/FCEU/utils/xstring.cpp rename to Cores/FCEU/FCEU-2.2.3/utils/xstring.cpp diff --git a/Cores/FCEU/FCEU/utils/xstring.h b/Cores/FCEU/FCEU-2.2.3/utils/xstring.h similarity index 100% rename from Cores/FCEU/FCEU/utils/xstring.h rename to Cores/FCEU/FCEU-2.2.3/utils/xstring.h diff --git a/Cores/FCEU/FCEU/version.h b/Cores/FCEU/FCEU-2.2.3/version.h similarity index 100% rename from Cores/FCEU/FCEU/version.h rename to Cores/FCEU/FCEU-2.2.3/version.h diff --git a/Cores/FCEU/FCEU/video.cpp b/Cores/FCEU/FCEU-2.2.3/video.cpp similarity index 100% rename from Cores/FCEU/FCEU/video.cpp rename to Cores/FCEU/FCEU-2.2.3/video.cpp diff --git a/Cores/FCEU/FCEU/video.h b/Cores/FCEU/FCEU-2.2.3/video.h similarity index 100% rename from Cores/FCEU/FCEU/video.h rename to Cores/FCEU/FCEU-2.2.3/video.h diff --git a/Cores/FCEU/FCEU/vsuni.cpp b/Cores/FCEU/FCEU-2.2.3/vsuni.cpp similarity index 100% rename from Cores/FCEU/FCEU/vsuni.cpp rename to Cores/FCEU/FCEU-2.2.3/vsuni.cpp diff --git a/Cores/FCEU/FCEU/vsuni.h b/Cores/FCEU/FCEU-2.2.3/vsuni.h similarity index 100% rename from Cores/FCEU/FCEU/vsuni.h rename to Cores/FCEU/FCEU-2.2.3/vsuni.h diff --git a/Cores/FCEU/FCEU/wave.cpp b/Cores/FCEU/FCEU-2.2.3/wave.cpp similarity index 100% rename from Cores/FCEU/FCEU/wave.cpp rename to Cores/FCEU/FCEU-2.2.3/wave.cpp diff --git a/Cores/FCEU/FCEU/wave.h b/Cores/FCEU/FCEU-2.2.3/wave.h similarity index 100% rename from Cores/FCEU/FCEU/wave.h rename to Cores/FCEU/FCEU-2.2.3/wave.h diff --git a/Cores/FCEU/FCEU/x6502.cpp b/Cores/FCEU/FCEU-2.2.3/x6502.cpp similarity index 100% rename from Cores/FCEU/FCEU/x6502.cpp rename to Cores/FCEU/FCEU-2.2.3/x6502.cpp diff --git a/Cores/FCEU/FCEU/x6502.h b/Cores/FCEU/FCEU-2.2.3/x6502.h similarity index 100% rename from Cores/FCEU/FCEU/x6502.h rename to Cores/FCEU/FCEU-2.2.3/x6502.h diff --git a/Cores/FCEU/FCEU/x6502abbrev.h b/Cores/FCEU/FCEU-2.2.3/x6502abbrev.h similarity index 100% rename from Cores/FCEU/FCEU/x6502abbrev.h rename to Cores/FCEU/FCEU-2.2.3/x6502abbrev.h diff --git a/Cores/FCEU/FCEU/x6502struct.h b/Cores/FCEU/FCEU-2.2.3/x6502struct.h similarity index 100% rename from Cores/FCEU/FCEU/x6502struct.h rename to Cores/FCEU/FCEU-2.2.3/x6502struct.h diff --git a/Cores/FCEU/FCEU/~attic/fceustr.cpp b/Cores/FCEU/FCEU-2.2.3/~attic/fceustr.cpp similarity index 100% rename from Cores/FCEU/FCEU/~attic/fceustr.cpp rename to Cores/FCEU/FCEU-2.2.3/~attic/fceustr.cpp diff --git a/Cores/FCEU/FCEU/~attic/fceustr.h b/Cores/FCEU/FCEU-2.2.3/~attic/fceustr.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/fceustr.h rename to Cores/FCEU/FCEU-2.2.3/~attic/fceustr.h diff --git a/Cores/FCEU/FCEU/~attic/pc/dface.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dface.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dface.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dface.h diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-joystick.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-joystick.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-joystick.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-joystick.c diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-joystick.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-joystick.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-joystick.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-joystick.h diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-keyboard.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-keyboard.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-keyboard.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-keyboard.c diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-mouse.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-mouse.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-mouse.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-mouse.c diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-sound.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-sound.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-sound.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-sound.c diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-sound.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-sound.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-sound.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-sound.h diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-video.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-video.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-video.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-video.c diff --git a/Cores/FCEU/FCEU/~attic/pc/dos-video.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-video.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos-video.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos-video.h diff --git a/Cores/FCEU/FCEU/~attic/pc/dos.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos.c diff --git a/Cores/FCEU/FCEU/~attic/pc/dos.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/dos.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/dos.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/dos.h diff --git a/Cores/FCEU/FCEU/~attic/pc/input.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/input.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/input.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/input.c diff --git a/Cores/FCEU/FCEU/~attic/pc/input.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/input.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/input.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/input.h diff --git a/Cores/FCEU/FCEU/~attic/pc/keyscan.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/keyscan.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/keyscan.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/keyscan.h diff --git a/Cores/FCEU/FCEU/~attic/pc/main.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/main.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/main.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/main.c diff --git a/Cores/FCEU/FCEU/~attic/pc/main.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/main.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/main.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/main.h diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-icon.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-icon.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-icon.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-icon.h diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-joystick.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-joystick.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-joystick.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-joystick.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-netplay.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-netplay.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-netplay.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-netplay.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-netplay.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-netplay.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-netplay.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-netplay.h diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-opengl.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-opengl.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-opengl.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-opengl.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-opengl.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-opengl.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-opengl.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-opengl.h diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-sound.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-sound.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-sound.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-sound.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-throttle.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-throttle.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-throttle.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-throttle.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-video.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-video.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-video.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-video.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl-video.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-video.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl-video.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl-video.h diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl.c diff --git a/Cores/FCEU/FCEU/~attic/pc/sdl.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/sdl.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/sdl.h diff --git a/Cores/FCEU/FCEU/~attic/pc/throttle.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/throttle.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/throttle.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/throttle.c diff --git a/Cores/FCEU/FCEU/~attic/pc/throttle.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/throttle.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/throttle.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/throttle.h diff --git a/Cores/FCEU/FCEU/~attic/pc/unix-netplay.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/unix-netplay.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/unix-netplay.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/unix-netplay.c diff --git a/Cores/FCEU/FCEU/~attic/pc/unix-netplay.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/unix-netplay.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/unix-netplay.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/unix-netplay.h diff --git a/Cores/FCEU/FCEU/~attic/pc/usage.h b/Cores/FCEU/FCEU-2.2.3/~attic/pc/usage.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/usage.h rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/usage.h diff --git a/Cores/FCEU/FCEU/~attic/pc/vgatweak.c b/Cores/FCEU/FCEU-2.2.3/~attic/pc/vgatweak.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/pc/vgatweak.c rename to Cores/FCEU/FCEU-2.2.3/~attic/pc/vgatweak.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/convert.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convert.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/convert.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convert.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/convert.h b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convert.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/convert.h rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convert.h diff --git a/Cores/FCEU/FCEU/~attic/sexyal/convert.inc b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convert.inc similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/convert.inc rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convert.inc diff --git a/Cores/FCEU/FCEU/~attic/sexyal/convertgen b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convertgen similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/convertgen rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convertgen diff --git a/Cores/FCEU/FCEU/~attic/sexyal/convertgen.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convertgen.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/convertgen.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/convertgen.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/drivers/dsound.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/dsound.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/drivers/dsound.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/dsound.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/drivers/oss.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/oss.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/drivers/oss.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/oss.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/drivers/oss.h b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/oss.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/drivers/oss.h rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/oss.h diff --git a/Cores/FCEU/FCEU/~attic/sexyal/drivers/osxcoreaudio.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/osxcoreaudio.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/drivers/osxcoreaudio.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/drivers/osxcoreaudio.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/md5.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/md5.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/md5.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/md5.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/md5.h b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/md5.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/md5.h rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/md5.h diff --git a/Cores/FCEU/FCEU/~attic/sexyal/sexyal.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/sexyal.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/sexyal.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/sexyal.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/sexyal.h b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/sexyal.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/sexyal.h rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/sexyal.h diff --git a/Cores/FCEU/FCEU/~attic/sexyal/smallc.c b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/smallc.c similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/smallc.c rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/smallc.c diff --git a/Cores/FCEU/FCEU/~attic/sexyal/smallc.h b/Cores/FCEU/FCEU-2.2.3/~attic/sexyal/smallc.h similarity index 100% rename from Cores/FCEU/FCEU/~attic/sexyal/smallc.h rename to Cores/FCEU/FCEU-2.2.3/~attic/sexyal/smallc.h diff --git a/Cores/FCEU/FCEU/~attic/soundexp.cpp b/Cores/FCEU/FCEU-2.2.3/~attic/soundexp.cpp similarity index 100% rename from Cores/FCEU/FCEU/~attic/soundexp.cpp rename to Cores/FCEU/FCEU-2.2.3/~attic/soundexp.cpp diff --git a/Cores/FCEU/FCEU/~attic/old fceultra docs.zip b/Cores/FCEU/FCEU/~attic/old fceultra docs.zip deleted file mode 100644 index 9d203c370c..0000000000 Binary files a/Cores/FCEU/FCEU/~attic/old fceultra docs.zip and /dev/null differ diff --git a/Cores/FCEU/PVFCEU.xcodeproj/project.pbxproj b/Cores/FCEU/PVFCEU.xcodeproj/project.pbxproj index 994212f1aa..4334452d43 100644 --- a/Cores/FCEU/PVFCEU.xcodeproj/project.pbxproj +++ b/Cores/FCEU/PVFCEU.xcodeproj/project.pbxproj @@ -12,11 +12,154 @@ B30614F7218D60CB0041AD4F /* PVFCEU+Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = B30614F6218D60CB0041AD4F /* PVFCEU+Swift.h */; }; B30614F8218D60CB0041AD4F /* PVFCEU+Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = B30614F6218D60CB0041AD4F /* PVFCEU+Swift.h */; }; B306150C218D6F330041AD4F /* PVFCEUEmulatorCore+Controls.mm in Sources */ = {isa = PBXBuildFile; fileRef = B30614EB218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.mm */; }; + B30C093827C0AB5A009F25D0 /* asm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53427C09C5B0012118D /* asm.cpp */; }; + B30C093927C0AB5A009F25D0 /* asm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53427C09C5B0012118D /* asm.cpp */; }; + B30C093C27C0AB6F009F25D0 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53B27C09C5B0012118D /* movie.cpp */; }; + B30C093D27C0AB6F009F25D0 /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53227C09C5B0012118D /* cheat.cpp */; }; + B30C093E27C0AB6F009F25D0 /* wave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C927C09C5B0012118D /* wave.cpp */; }; + B30C093F27C0AB6F009F25D0 /* ines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53A27C09C5B0012118D /* ines.cpp */; }; + B30C094027C0AB6F009F25D0 /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D327C09C5B0012118D /* state.cpp */; }; + B30C094127C0AB6F009F25D0 /* ppu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB16C27C09C5A0012118D /* ppu.cpp */; }; + B30C094227C0AB6F009F25D0 /* unif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47427C09C5B0012118D /* unif.cpp */; }; + B30C094327C0AB6F009F25D0 /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB17027C09C5A0012118D /* input.cpp */; }; + B30C094427C0AB6F009F25D0 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47827C09C5B0012118D /* debug.cpp */; }; + B30C094527C0AB6F009F25D0 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43927C09C5B0012118D /* file.cpp */; }; + B30C094627C0AB6F009F25D0 /* oldmovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53027C09C5B0012118D /* oldmovie.cpp */; }; + B30C094727C0AB6F009F25D0 /* nsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52B27C09C5B0012118D /* nsf.cpp */; }; + B30C094827C0AB6F009F25D0 /* fds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47A27C09C5B0012118D /* fds.cpp */; }; + B30C094927C0AB6F009F25D0 /* conddebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43027C09C5B0012118D /* conddebug.cpp */; }; + B30C094A27C0AB6F009F25D0 /* x6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43A27C09C5B0012118D /* x6502.cpp */; }; + B30C094B27C0AB6F009F25D0 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47927C09C5B0012118D /* sound.cpp */; }; + B30C094C27C0AB6F009F25D0 /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43327C09C5B0012118D /* drawing.cpp */; }; + B30C094E27C0AB6F009F25D0 /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53627C09C5B0012118D /* emufile.cpp */; }; + B30C094F27C0AB6F009F25D0 /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3EF27C09C5B0012118D /* filter.cpp */; }; + B30C095027C0AB6F009F25D0 /* vsuni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52E27C09C5B0012118D /* vsuni.cpp */; }; + B30C095127C0AB6F009F25D0 /* fceu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52F27C09C5B0012118D /* fceu.cpp */; }; + B30C095227C0AB6F009F25D0 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53327C09C5B0012118D /* palette.cpp */; }; + B30C095327C0AB6F009F25D0 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3EE27C09C5B0012118D /* video.cpp */; }; + B30C095427C0AB6F009F25D0 /* cart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53C27C09C5B0012118D /* cart.cpp */; }; + B30C095527C0AB6F009F25D0 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47527C09C5B0012118D /* config.cpp */; }; + B30C095627C0AB6F009F25D0 /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53927C09C5B0012118D /* netplay.cpp */; }; + B30C095727C0AB6F009F25D0 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53B27C09C5B0012118D /* movie.cpp */; }; + B30C095827C0AB6F009F25D0 /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53227C09C5B0012118D /* cheat.cpp */; }; + B30C095927C0AB6F009F25D0 /* wave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C927C09C5B0012118D /* wave.cpp */; }; + B30C095A27C0AB6F009F25D0 /* ines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53A27C09C5B0012118D /* ines.cpp */; }; + B30C095B27C0AB6F009F25D0 /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D327C09C5B0012118D /* state.cpp */; }; + B30C095C27C0AB6F009F25D0 /* ppu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB16C27C09C5A0012118D /* ppu.cpp */; }; + B30C095D27C0AB6F009F25D0 /* unif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47427C09C5B0012118D /* unif.cpp */; }; + B30C095E27C0AB6F009F25D0 /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB17027C09C5A0012118D /* input.cpp */; }; + B30C095F27C0AB6F009F25D0 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47827C09C5B0012118D /* debug.cpp */; }; + B30C096027C0AB6F009F25D0 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43927C09C5B0012118D /* file.cpp */; }; + B30C096127C0AB6F009F25D0 /* oldmovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53027C09C5B0012118D /* oldmovie.cpp */; }; + B30C096227C0AB6F009F25D0 /* nsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52B27C09C5B0012118D /* nsf.cpp */; }; + B30C096327C0AB6F009F25D0 /* fds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47A27C09C5B0012118D /* fds.cpp */; }; + B30C096427C0AB6F009F25D0 /* conddebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43027C09C5B0012118D /* conddebug.cpp */; }; + B30C096527C0AB6F009F25D0 /* x6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43A27C09C5B0012118D /* x6502.cpp */; }; + B30C096627C0AB6F009F25D0 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47927C09C5B0012118D /* sound.cpp */; }; + B30C096727C0AB6F009F25D0 /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB43327C09C5B0012118D /* drawing.cpp */; }; + B30C096927C0AB6F009F25D0 /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53627C09C5B0012118D /* emufile.cpp */; }; + B30C096A27C0AB6F009F25D0 /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3EF27C09C5B0012118D /* filter.cpp */; }; + B30C096B27C0AB6F009F25D0 /* vsuni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52E27C09C5B0012118D /* vsuni.cpp */; }; + B30C096C27C0AB6F009F25D0 /* fceu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52F27C09C5B0012118D /* fceu.cpp */; }; + B30C096D27C0AB6F009F25D0 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53327C09C5B0012118D /* palette.cpp */; }; + B30C096E27C0AB6F009F25D0 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3EE27C09C5B0012118D /* video.cpp */; }; + B30C096F27C0AB6F009F25D0 /* cart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53C27C09C5B0012118D /* cart.cpp */; }; + B30C097027C0AB6F009F25D0 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47527C09C5B0012118D /* config.cpp */; }; + B30C097127C0AB6F009F25D0 /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB53927C09C5B0012118D /* netplay.cpp */; }; + B30C097227C0ABC4009F25D0 /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E027C09C5B0012118D /* endian.cpp */; }; + B30C097327C0ABC4009F25D0 /* crc32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E127C09C5B0012118D /* crc32.cpp */; }; + B30C097427C0ABC4009F25D0 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D727C09C5B0012118D /* memory.cpp */; }; + B30C097527C0ABC4009F25D0 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D927C09C5B0012118D /* ConvertUTF.c */; }; + B30C097627C0ABC4009F25D0 /* ioapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3DA27C09C5B0012118D /* ioapi.cpp */; }; + B30C097727C0ABC4009F25D0 /* backward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3DB27C09C5B0012118D /* backward.cpp */; }; + B30C097827C0ABC4009F25D0 /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E227C09C5B0012118D /* unzip.cpp */; }; + B30C097927C0ABC4009F25D0 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E727C09C5B0012118D /* xstring.cpp */; }; + B30C097A27C0ABC4009F25D0 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D827C09C5B0012118D /* md5.cpp */; }; + B30C097B27C0ABC4009F25D0 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E827C09C5B0012118D /* guid.cpp */; }; + B30C097C27C0ABC4009F25D0 /* general.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D627C09C5B0012118D /* general.cpp */; }; + B30C097D27C0ABC4009F25D0 /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E027C09C5B0012118D /* endian.cpp */; }; + B30C097E27C0ABC4009F25D0 /* crc32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E127C09C5B0012118D /* crc32.cpp */; }; + B30C097F27C0ABC4009F25D0 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D727C09C5B0012118D /* memory.cpp */; }; + B30C098027C0ABC4009F25D0 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D927C09C5B0012118D /* ConvertUTF.c */; }; + B30C098127C0ABC4009F25D0 /* ioapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3DA27C09C5B0012118D /* ioapi.cpp */; }; + B30C098227C0ABC4009F25D0 /* backward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3DB27C09C5B0012118D /* backward.cpp */; }; + B30C098327C0ABC4009F25D0 /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E227C09C5B0012118D /* unzip.cpp */; }; + B30C098427C0ABC4009F25D0 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E727C09C5B0012118D /* xstring.cpp */; }; + B30C098527C0ABC4009F25D0 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D827C09C5B0012118D /* md5.cpp */; }; + B30C098627C0ABC4009F25D0 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3E827C09C5B0012118D /* guid.cpp */; }; + B30C098727C0ABC4009F25D0 /* general.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3D627C09C5B0012118D /* general.cpp */; }; + B30C098827C0ADD1009F25D0 /* ppu.h in Headers */ = {isa = PBXBuildFile; fileRef = B3BCB43827C09C5B0012118D /* ppu.h */; }; + B30C098927C0ADD1009F25D0 /* ppu.h in Headers */ = {isa = PBXBuildFile; fileRef = B3BCB43827C09C5B0012118D /* ppu.h */; }; + B3341F5427C1B18C00E001C6 /* fceux_netplay_server.m in Sources */ = {isa = PBXBuildFile; fileRef = B3341F5327C1B18C00E001C6 /* fceux_netplay_server.m */; }; + B3341F5527C1B18C00E001C6 /* fceux_netplay_server.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = B3341F5227C1B18C00E001C6 /* fceux_netplay_server.h */; }; + B3341F6D27C1B1E600E001C6 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F5B27C1B1CC00E001C6 /* md5.cpp */; }; + B3341F6E27C1B1E600E001C6 /* server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F6C27C1B1CD00E001C6 /* server.cpp */; }; + B3341F6F27C1B1E600E001C6 /* throttle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F6A27C1B1CD00E001C6 /* throttle.cpp */; }; + B3341F7227C1B23A00E001C6 /* server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F6C27C1B1CD00E001C6 /* server.cpp */; }; + B3341F7327C1B23A00E001C6 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F5B27C1B1CC00E001C6 /* md5.cpp */; }; + B3341F7427C1B23A00E001C6 /* fceux_netplay_server.m in Sources */ = {isa = PBXBuildFile; fileRef = B3341F5327C1B18C00E001C6 /* fceux_netplay_server.m */; }; + B3341F7527C1B23A00E001C6 /* throttle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F6A27C1B1CD00E001C6 /* throttle.cpp */; }; + B3341F7827C1B23A00E001C6 /* fceux_netplay_server.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = B3341F5227C1B18C00E001C6 /* fceux_netplay_server.h */; }; + B3341F7E27C1B2CF00E001C6 /* libfceux-netplay-server-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3341F5027C1B18C00E001C6 /* libfceux-netplay-server-iOS.a */; }; + B3341F8127C1B2D400E001C6 /* libfceux-netplay-server-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3341F7D27C1B23A00E001C6 /* libfceux-netplay-server-tvOS.a */; }; + B3341F8527C1B34100E001C6 /* fceux-server.conf in Resources */ = {isa = PBXBuildFile; fileRef = B3341F8427C1B34000E001C6 /* fceux-server.conf */; }; + B3341F8627C1B34100E001C6 /* fceux-server.conf in Resources */ = {isa = PBXBuildFile; fileRef = B3341F8427C1B34000E001C6 /* fceux-server.conf */; }; + B3341F8E27C1B39200E001C6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B3341F8D27C1B39200E001C6 /* main.m */; }; + B3341F9327C1B39A00E001C6 /* throttle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F6A27C1B1CD00E001C6 /* throttle.cpp */; }; + B3341F9427C1B39A00E001C6 /* server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F6C27C1B1CD00E001C6 /* server.cpp */; }; + B3341F9527C1B39A00E001C6 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3341F5B27C1B1CC00E001C6 /* md5.cpp */; }; B34AB55A2106D57B00C45F09 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B34AB5592106D57B00C45F09 /* PVSupport.framework */; }; B34AB5822106DDCC00C45F09 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B34AB5812106DDCC00C45F09 /* PVSupport.framework */; }; B3547B4B205857B900CFF7D8 /* Core.plist in Resources */ = {isa = PBXBuildFile; fileRef = B3547B4A205857B900CFF7D8 /* Core.plist */; }; B3547B4C205857B900CFF7D8 /* Core.plist in Resources */ = {isa = PBXBuildFile; fileRef = B3547B4A205857B900CFF7D8 /* Core.plist */; }; - B39E8CB320539B2500380DCD /* PVFCEUEmulatorCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39E8CB220539B2500380DCD /* PVFCEUEmulatorCore.swift */; settings = {COMPILER_FLAGS = "-Weverything"; }; }; + B391F2D427C1695700730B53 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B391F2D227C1695700730B53 /* CoreFoundation.framework */; }; + B391F2D527C1695700730B53 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B391F2D327C1695700730B53 /* Foundation.framework */; }; + B391F2D727C1696A00730B53 /* liblzma.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B391F2D627C1696A00730B53 /* liblzma.tbd */; }; + B391F2D927C16AC200730B53 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B391F2D827C16AC100730B53 /* OpenGL.framework */; platformFilter = maccatalyst; }; + B391F2DA27C16ACA00730B53 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A3A79AF1ABF1D41002274A3 /* OpenGLES.framework */; }; + B391F2DC27C1710400730B53 /* hypershot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B327C09C5B0012118D /* hypershot.cpp */; }; + B391F2DD27C1710400730B53 /* hypershot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B327C09C5B0012118D /* hypershot.cpp */; }; + B391F2DE27C1715000730B53 /* fns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C627C09C5B0012118D /* fns.cpp */; }; + B391F2DF27C1715000730B53 /* ftrainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B627C09C5B0012118D /* ftrainer.cpp */; }; + B391F2E027C1715000730B53 /* arkanoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C227C09C5B0012118D /* arkanoid.cpp */; }; + B391F2E127C1715000730B53 /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C427C09C5B0012118D /* cursor.cpp */; }; + B391F2E227C1715000730B53 /* virtualboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B527C09C5B0012118D /* virtualboy.cpp */; }; + B391F2E327C1715000730B53 /* oekakids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B727C09C5B0012118D /* oekakids.cpp */; }; + B391F2E427C1715000730B53 /* zapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BB27C09C5B0012118D /* zapper.cpp */; }; + B391F2E527C1715000730B53 /* toprider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BD27C09C5B0012118D /* toprider.cpp */; }; + B391F2E627C1715000730B53 /* powerpad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BA27C09C5B0012118D /* powerpad.cpp */; }; + B391F2E727C1715000730B53 /* pec586kb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C127C09C5B0012118D /* pec586kb.cpp */; }; + B391F2E827C1715000730B53 /* shadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B127C09C5B0012118D /* shadow.cpp */; }; + B391F2E927C1715000730B53 /* bworld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C527C09C5B0012118D /* bworld.cpp */; }; + B391F2EA27C1715000730B53 /* lcdcompzapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C727C09C5B0012118D /* lcdcompzapper.cpp */; }; + B391F2EB27C1715000730B53 /* fkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B927C09C5B0012118D /* fkb.cpp */; }; + B391F2EC27C1715000730B53 /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B827C09C5B0012118D /* mouse.cpp */; }; + B391F2ED27C1715000730B53 /* mahjong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C027C09C5B0012118D /* mahjong.cpp */; }; + B391F2EE27C1715000730B53 /* snesmouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B227C09C5B0012118D /* snesmouse.cpp */; }; + B391F2EF27C1715000730B53 /* suborkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BF27C09C5B0012118D /* suborkb.cpp */; }; + B391F2F027C1715000730B53 /* quiz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B427C09C5B0012118D /* quiz.cpp */; }; + B391F2F127C1715000730B53 /* fns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C627C09C5B0012118D /* fns.cpp */; }; + B391F2F227C1715000730B53 /* ftrainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B627C09C5B0012118D /* ftrainer.cpp */; }; + B391F2F327C1715000730B53 /* arkanoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C227C09C5B0012118D /* arkanoid.cpp */; }; + B391F2F427C1715000730B53 /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C427C09C5B0012118D /* cursor.cpp */; }; + B391F2F527C1715000730B53 /* virtualboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B527C09C5B0012118D /* virtualboy.cpp */; }; + B391F2F627C1715000730B53 /* oekakids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B727C09C5B0012118D /* oekakids.cpp */; }; + B391F2F727C1715000730B53 /* zapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BB27C09C5B0012118D /* zapper.cpp */; }; + B391F2F827C1715000730B53 /* toprider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BD27C09C5B0012118D /* toprider.cpp */; }; + B391F2F927C1715000730B53 /* powerpad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BA27C09C5B0012118D /* powerpad.cpp */; }; + B391F2FA27C1715000730B53 /* pec586kb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C127C09C5B0012118D /* pec586kb.cpp */; }; + B391F2FB27C1715000730B53 /* shadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B127C09C5B0012118D /* shadow.cpp */; }; + B391F2FC27C1715000730B53 /* bworld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C527C09C5B0012118D /* bworld.cpp */; }; + B391F2FD27C1715000730B53 /* lcdcompzapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C727C09C5B0012118D /* lcdcompzapper.cpp */; }; + B391F2FE27C1715000730B53 /* fkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B927C09C5B0012118D /* fkb.cpp */; }; + B391F2FF27C1715000730B53 /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B827C09C5B0012118D /* mouse.cpp */; }; + B391F30027C1715000730B53 /* mahjong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3C027C09C5B0012118D /* mahjong.cpp */; }; + B391F30127C1715000730B53 /* snesmouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B227C09C5B0012118D /* snesmouse.cpp */; }; + B391F30227C1715000730B53 /* suborkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3BF27C09C5B0012118D /* suborkb.cpp */; }; + B391F30327C1715000730B53 /* quiz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB3B427C09C5B0012118D /* quiz.cpp */; }; + B391F30427C172B600730B53 /* vidblit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37C27C09C5B0012118D /* vidblit.cpp */; }; + B391F30527C172B700730B53 /* vidblit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37C27C09C5B0012118D /* vidblit.cpp */; }; + B39E8CB320539B2500380DCD /* PVFCEUEmulatorCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39E8CB220539B2500380DCD /* PVFCEUEmulatorCore.swift */; }; B39E8CB420539B2500380DCD /* PVFCEUEmulatorCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39E8CB220539B2500380DCD /* PVFCEUEmulatorCore.swift */; }; B3A9F43A1DE877B4008450F5 /* PVFCEU.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9F4381DE877B4008450F5 /* PVFCEU.h */; settings = {ATTRIBUTES = (Public, ); }; }; B3A9F44F1DE87827008450F5 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A3A79AF1ABF1D41002274A3 /* OpenGLES.framework */; platformFilter = ios; }; @@ -24,479 +167,937 @@ B3A9F4551DE87840008450F5 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3A9F4541DE87840008450F5 /* OpenGLES.framework */; }; B3A9F4591DE8784B008450F5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3A9F4581DE8784B008450F5 /* Foundation.framework */; }; B3A9F45A1DE8785A008450F5 /* PVFCEU.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9F4381DE877B4008450F5 /* PVFCEU.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B3A9F45E1DE87E09008450F5 /* addrlatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3D1D6ECD7500742D04 /* addrlatch.cpp */; }; - B3A9F45F1DE87E09008450F5 /* 253.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE351D6ECD7500742D04 /* 253.cpp */; }; - B3A9F4601DE87E09008450F5 /* 603-5052.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE361D6ECD7500742D04 /* 603-5052.cpp */; }; - B3A9F4611DE87E09008450F5 /* 246.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE331D6ECD7500742D04 /* 246.cpp */; }; - B3A9F4621DE87E09008450F5 /* ks7031.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE651D6ECD7500742D04 /* ks7031.cpp */; }; - B3A9F4631DE87E09008450F5 /* 67.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE021D6ECD7500742D04 /* 67.cpp */; }; - B3A9F4641DE87E09008450F5 /* 71.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE051D6ECD7500742D04 /* 71.cpp */; }; - B3A9F4651DE87E09008450F5 /* vrc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8C1D6ECD7500742D04 /* vrc3.cpp */; }; - B3A9F4661DE87E09008450F5 /* onebus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE771D6ECD7500742D04 /* onebus.cpp */; }; - B3A9F4671DE87E09008450F5 /* 33.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF51D6ECD7500742D04 /* 33.cpp */; }; - B3A9F4681DE87E09008450F5 /* 120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE161D6ECD7500742D04 /* 120.cpp */; }; - B3A9F4691DE87E09008450F5 /* sheroes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7F1D6ECD7500742D04 /* sheroes.cpp */; }; - B3A9F46A1DE87E09008450F5 /* ghostbusters63in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE571D6ECD7500742D04 /* ghostbusters63in1.cpp */; }; - B3A9F46B1DE87E09008450F5 /* novel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE761D6ECD7500742D04 /* novel.cpp */; }; - B3A9F46C1DE87E09008450F5 /* vrc6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8E1D6ECD7500742D04 /* vrc6.cpp */; }; - B3A9F46D1DE87E09008450F5 /* tf-1201.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE871D6ECD7500742D04 /* tf-1201.cpp */; }; - B3A9F46E1DE87E09008450F5 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E01ABF16A5002274A3 /* memory.cpp */; }; - B3A9F46F1DE87E09008450F5 /* 103.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE101D6ECD7500742D04 /* 103.cpp */; }; - B3A9F4701DE87E09008450F5 /* 170.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1D1D6ECD7500742D04 /* 170.cpp */; }; - B3A9F4711DE87E09008450F5 /* 28.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF31D6ECD7500742D04 /* 28.cpp */; }; - B3A9F4721DE87E09008450F5 /* famicombox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE541D6ECD7500742D04 /* famicombox.cpp */; }; - B3A9F4731DE87E09008450F5 /* ks7016.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE621D6ECD7500742D04 /* ks7016.cpp */; }; - B3A9F4741DE87E09008450F5 /* 40.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF81D6ECD7500742D04 /* 40.cpp */; }; - B3A9F4751DE87E09008450F5 /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AC1ABF16A3002274A3 /* drawing.cpp */; }; - B3A9F4761DE87E09008450F5 /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E31ABF16A5002274A3 /* unzip.cpp */; }; - B3A9F4771DE87E09008450F5 /* vrc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8A1D6ECD7500742D04 /* vrc1.cpp */; }; - B3A9F4781DE87E09008450F5 /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A41ABF16A3002274A3 /* cheat.cpp */; }; - B3A9F4791DE87E09008450F5 /* 206.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE291D6ECD7500742D04 /* 206.cpp */; }; - B3A9F47A1DE87E09008450F5 /* 185.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE231D6ECD7500742D04 /* 185.cpp */; }; - B3A9F47B1DE87E09008450F5 /* bonza.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE461D6ECD7500742D04 /* bonza.cpp */; }; - B3A9F47C1DE87E09008450F5 /* ks7017.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE631D6ECD7500742D04 /* ks7017.cpp */; }; - B3A9F47D1DE87E09008450F5 /* 41.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF91D6ECD7500742D04 /* 41.cpp */; }; - B3A9F47E1DE87E09008450F5 /* a9746.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3B1D6ECD7500742D04 /* a9746.cpp */; }; - B3A9F47F1DE87E09008450F5 /* ac-08.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3C1D6ECD7500742D04 /* ac-08.cpp */; }; - B3A9F4801DE87E09008450F5 /* 80.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE091D6ECD7500742D04 /* 80.cpp */; }; - B3A9F4811DE87E09008450F5 /* t-262.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE851D6ECD7500742D04 /* t-262.cpp */; }; - B3A9F4821DE87E09008450F5 /* 252.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE341D6ECD7500742D04 /* 252.cpp */; }; - B3A9F4831DE87E09008450F5 /* oldmovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */; }; - B3A9F4841DE87E09008450F5 /* coolboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE491D6ECD7500742D04 /* coolboy.cpp */; }; - B3A9F4851DE87E09008450F5 /* eh8813a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4E1D6ECD7500742D04 /* eh8813a.cpp */; }; - B3A9F4861DE87E09008450F5 /* 228.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2D1D6ECD7500742D04 /* 228.cpp */; }; - B3A9F4871DE87E09008450F5 /* cityfighter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE481D6ECD7500742D04 /* cityfighter.cpp */; }; - B3A9F4881DE87E09008450F5 /* 232.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2F1D6ECD7500742D04 /* 232.cpp */; }; - B3A9F4891DE87E09008450F5 /* sl1632.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE801D6ECD7500742D04 /* sl1632.cpp */; }; - B3A9F48A1DE87E09008450F5 /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A773B1ABF16A4002274A3 /* filter.cpp */; }; - B3A9F48B1DE87E09008450F5 /* args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEB1D6ED36300742D04 /* args.cpp */; }; - B3A9F48C1DE87E09008450F5 /* scale2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFB1D6ED36300742D04 /* scale2x.cpp */; }; - B3A9F48D1DE87E09008450F5 /* 121.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE171D6ECD7500742D04 /* 121.cpp */; }; - B3A9F48E1DE87E09008450F5 /* 234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE301D6ECD7500742D04 /* 234.cpp */; }; - B3A9F48F1DE87E09008450F5 /* 164.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1B1D6ECD7500742D04 /* 164.cpp */; }; - B3A9F4901DE87E09008450F5 /* fceu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77331ABF16A4002274A3 /* fceu.cpp */; }; - B3A9F4911DE87E09008450F5 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C71ABF16A5002274A3 /* sound.cpp */; }; - B3A9F4921DE87E09008450F5 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DA1ABF16A5002274A3 /* guid.cpp */; }; - B3A9F4931DE87E09008450F5 /* PVFCEUEmulatorCore.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A79AC1ABF1CE8002274A3 /* PVFCEUEmulatorCore.mm */; settings = {COMPILER_FLAGS = "-Weverything"; }; }; - B3A9F4941DE87E09008450F5 /* 186.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE241D6ECD7500742D04 /* 186.cpp */; }; - B3A9F4951DE87E09008450F5 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E91ABF16A5002274A3 /* video.cpp */; }; - B3A9F4961DE87E09008450F5 /* scale3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFD1D6ED36300742D04 /* scale3x.cpp */; }; - B3A9F4971DE87E09008450F5 /* super24.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE821D6ECD7500742D04 /* super24.cpp */; }; - B3A9F4981DE87E09008450F5 /* hypershot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77601ABF16A4002274A3 /* hypershot.cpp */; }; - B3A9F4991DE87E09008450F5 /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFED1D6ED36300742D04 /* cheat.cpp */; }; - B3A9F49A1DE87E09008450F5 /* ioapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DC1ABF16A5002274A3 /* ioapi.cpp */; }; - B3A9F49B1DE87E09008450F5 /* backward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D01ABF16A5002274A3 /* backward.cpp */; }; - B3A9F49C1DE87E09008450F5 /* 43.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFB1D6ECD7500742D04 /* 43.cpp */; }; - B3A9F49D1DE87E09008450F5 /* kof97.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5E1D6ECD7500742D04 /* kof97.cpp */; }; - B3A9F49E1DE87E09008450F5 /* 88.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0B1D6ECD7500742D04 /* 88.cpp */; }; - B3A9F49F1DE87E09008450F5 /* pec-586.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE781D6ECD7500742D04 /* pec-586.cpp */; }; - B3A9F4A01DE87E09008450F5 /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775C1ABF16A4002274A3 /* cursor.cpp */; }; - B3A9F4A11DE87E09008450F5 /* 65.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE011D6ECD7500742D04 /* 65.cpp */; }; - B3A9F4A21DE87E09008450F5 /* 68.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE031D6ECD7500742D04 /* 68.cpp */; }; - B3A9F4A31DE87E09008450F5 /* 99.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0F1D6ECD7500742D04 /* 99.cpp */; }; - B3A9F4A41DE87E09008450F5 /* 01-222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEC1D6ECD7500742D04 /* 01-222.cpp */; }; - B3A9F4A51DE87E09008450F5 /* shadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77671ABF16A4002274A3 /* shadow.cpp */; }; - B3A9F4A61DE87E09008450F5 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEF1D6ED36300742D04 /* config.cpp */; }; - B3A9F4A71DE87E09008450F5 /* 830118C.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3A1D6ECD7500742D04 /* 830118C.cpp */; }; - B3A9F4A81DE87E09008450F5 /* vsuni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EB1ABF16A5002274A3 /* vsuni.cpp */; }; - B3A9F4A91DE87E09008450F5 /* 112.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE131D6ECD7500742D04 /* 112.cpp */; }; - B3A9F4AA1DE87E09008450F5 /* 222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2B1D6ECD7500742D04 /* 222.cpp */; }; - B3A9F4AB1DE87E09008450F5 /* h2288.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5A1D6ECD7500742D04 /* h2288.cpp */; }; - B3A9F4AD1DE87E09008450F5 /* mmc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE711D6ECD7500742D04 /* mmc3.cpp */; }; - B3A9F4AE1DE87E09008450F5 /* 156.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE191D6ECD7500742D04 /* 156.cpp */; }; - B3A9F4AF1DE87E09008450F5 /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D61ABF16A5002274A3 /* endian.cpp */; }; - B3A9F4B01DE87E09008450F5 /* ines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77571ABF16A4002274A3 /* ines.cpp */; }; - B3A9F4B11DE87E09008450F5 /* 90.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0C1D6ECD7500742D04 /* 90.cpp */; }; - B3A9F4B21DE87E09008450F5 /* 244.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE321D6ECD7500742D04 /* 244.cpp */; }; - B3A9F4B31DE87E09008450F5 /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF31D6ED36300742D04 /* hq2x.cpp */; }; - B3A9F4B41DE87E09008450F5 /* 175.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1E1D6ECD7500742D04 /* 175.cpp */; }; - B3A9F4B51DE87E09008450F5 /* bmc42in1r.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE421D6ECD7500742D04 /* bmc42in1r.cpp */; }; - B3A9F4B61DE87E09008450F5 /* 193.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE271D6ECD7500742D04 /* 193.cpp */; }; - B3A9F4B71DE87E09008450F5 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B01ABF16A4002274A3 /* movie.cpp */; }; - B3A9F4B81DE87E09008450F5 /* 51.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFE1D6ECD7500742D04 /* 51.cpp */; }; - B3A9F4B91DE87E09008450F5 /* unif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77CD1ABF16A5002274A3 /* unif.cpp */; }; - B3A9F4BA1DE87E09008450F5 /* gs-2013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE591D6ECD7500742D04 /* gs-2013.cpp */; }; - B3A9F4BB1DE87E09008450F5 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DE1ABF16A5002274A3 /* md5.cpp */; }; - B3A9F4BC1DE87E09008450F5 /* arkanoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775A1ABF16A4002274A3 /* arkanoid.cpp */; }; - B3A9F4BD1DE87E09008450F5 /* 79.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE081D6ECD7500742D04 /* 79.cpp */; }; - B3A9F4BE1DE87E09008450F5 /* scalebit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFF1D6ED36300742D04 /* scalebit.cpp */; }; - B3A9F4BF1DE87E09008450F5 /* mihunche.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6E1D6ECD7500742D04 /* mihunche.cpp */; }; - B3A9F4C01DE87E09008450F5 /* t-227-1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE841D6ECD7500742D04 /* t-227-1.cpp */; }; - B3A9F4C11DE87E09008450F5 /* ks7057.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE681D6ECD7500742D04 /* ks7057.cpp */; }; - B3A9F4C21DE87E09008450F5 /* wave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77ED1ABF16A5002274A3 /* wave.cpp */; }; - B3A9F4C31DE87E09008450F5 /* vidblit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFE71D6ED33500742D04 /* vidblit.cpp */; }; - B3A9F4C41DE87E09008450F5 /* 8157.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE371D6ECD7500742D04 /* 8157.cpp */; }; - B3A9F4C51DE87E09008450F5 /* 96.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0E1D6ECD7500742D04 /* 96.cpp */; }; - B3A9F4C61DE87E09008450F5 /* toprider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776B1ABF16A4002274A3 /* toprider.cpp */; }; - B3A9F4C71DE87E09008450F5 /* le05.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE691D6ECD7500742D04 /* le05.cpp */; }; - B3A9F4C81DE87E09008450F5 /* 32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF41D6ECD7500742D04 /* 32.cpp */; }; - B3A9F4C91DE87E09008450F5 /* 225.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2C1D6ECD7500742D04 /* 225.cpp */; }; - B3A9F4CA1DE87E09008450F5 /* quiz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77651ABF16A4002274A3 /* quiz.cpp */; }; - B3A9F4CB1DE87E09008450F5 /* sb-2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7C1D6ECD7500742D04 /* sb-2000.cpp */; }; - B3A9F4CC1DE87E09008450F5 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77391ABF16A4002274A3 /* file.cpp */; }; - B3A9F4CD1DE87E09008450F5 /* karaoke.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5D1D6ECD7500742D04 /* karaoke.cpp */; }; - B3A9F4CE1DE87E09008450F5 /* 8237.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE381D6ECD7500742D04 /* 8237.cpp */; }; - B3A9F4CF1DE87E09008450F5 /* 116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE141D6ECD7500742D04 /* 116.cpp */; }; - B3A9F4D01DE87E09008450F5 /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77301ABF16A4002274A3 /* emufile.cpp */; }; - B3A9F4D11DE87E09008450F5 /* 411120-c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE391D6ECD7500742D04 /* 411120-c.cpp */; }; - B3A9F4D21DE87E09008450F5 /* rt-01.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE791D6ECD7500742D04 /* rt-01.cpp */; }; - B3A9F4D31DE87E09008450F5 /* 183.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE221D6ECD7500742D04 /* 183.cpp */; }; - B3A9F4D41DE87E09008450F5 /* 82.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0A1D6ECD7500742D04 /* 82.cpp */; }; - B3A9F4D51DE87E09008450F5 /* dream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4C1D6ECD7500742D04 /* dream.cpp */; }; - B3A9F4D61DE87E09008450F5 /* fds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77371ABF16A4002274A3 /* fds.cpp */; }; - B3A9F4D71DE87E09008450F5 /* unrom512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE891D6ECD7500742D04 /* unrom512.cpp */; }; - B3A9F4D81DE87E09008450F5 /* mmc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE731D6ECD7500742D04 /* mmc5.cpp */; }; - B3A9F4D91DE87E09008450F5 /* 117.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE151D6ECD7500742D04 /* 117.cpp */; }; - B3A9F4DA1DE87E09008450F5 /* ks7030.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE641D6ECD7500742D04 /* ks7030.cpp */; }; - B3A9F4DB1DE87E09008450F5 /* malee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6C1D6ECD7500742D04 /* malee.cpp */; }; - B3A9F4DC1DE87E09008450F5 /* 50.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFD1D6ECD7500742D04 /* 50.cpp */; }; - B3A9F4DD1DE87E09008450F5 /* 15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF11D6ECD7500742D04 /* 15.cpp */; }; - B3A9F4DE1DE87E09008450F5 /* ftrainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775F1ABF16A4002274A3 /* ftrainer.cpp */; }; - B3A9F4DF1DE87E09008450F5 /* ks7037.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE671D6ECD7500742D04 /* ks7037.cpp */; }; - B3A9F4E11DE87E09008450F5 /* 106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE111D6ECD7500742D04 /* 106.cpp */; }; - B3A9F4E21DE87E09008450F5 /* 18.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF21D6ECD7500742D04 /* 18.cpp */; }; - B3A9F4E31DE87E09008450F5 /* cart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A21ABF16A3002274A3 /* cart.cpp */; }; - B3A9F4E41DE87E09008450F5 /* yoko.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE911D6ECD7500742D04 /* yoko.cpp */; }; - B3A9F4E51DE87E09008450F5 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A81ABF16A3002274A3 /* config.cpp */; }; - B3A9F4E61DE87E09008450F5 /* 230.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2E1D6ECD7500742D04 /* 230.cpp */; }; - B3A9F4E71DE87E09008450F5 /* et-4320.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE521D6ECD7500742D04 /* et-4320.cpp */; }; - B3A9F4E81DE87E09008450F5 /* powerpad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77641ABF16A4002274A3 /* powerpad.cpp */; }; - B3A9F4E91DE87E09008450F5 /* 3d-block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDED1D6ECD7500742D04 /* 3d-block.cpp */; }; - B3A9F4EA1DE87E09008450F5 /* 12in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF01D6ECD7500742D04 /* 12in1.cpp */; }; - B3A9F4EB1DE87E09008450F5 /* emu2413.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4F1D6ECD7500742D04 /* emu2413.c */; }; - B3A9F4EC1DE87E09008450F5 /* gs-2004.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE581D6ECD7500742D04 /* gs-2004.cpp */; }; - B3A9F4ED1DE87E09008450F5 /* bmc70in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE441D6ECD7500742D04 /* bmc70in1.cpp */; }; - B3A9F4EE1DE87E09008450F5 /* transformer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE881D6ECD7500742D04 /* transformer.cpp */; }; - B3A9F4EF1DE87E09008450F5 /* pec586kb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFD81D6ECFC200742D04 /* pec586kb.cpp */; }; - B3A9F4F01DE87E09008450F5 /* 42.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFA1D6ECD7500742D04 /* 42.cpp */; }; - B3A9F4F11DE87E09008450F5 /* fkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775D1ABF16A4002274A3 /* fkb.cpp */; }; - B3A9F4F21DE87E09008450F5 /* nsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B41ABF16A4002274A3 /* nsf.cpp */; }; - B3A9F4F31DE87E09008450F5 /* asm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75061ABF16A3002274A3 /* asm.cpp */; }; - B3A9F4F41DE87E09008450F5 /* 235.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE311D6ECD7500742D04 /* 235.cpp */; }; - B3A9F4F51DE87E09008450F5 /* configSys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF11D6ED36300742D04 /* configSys.cpp */; }; - B3A9F4F61DE87E09008450F5 /* sachen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7B1D6ECD7500742D04 /* sachen.cpp */; }; - B3A9F4F71DE87E09008450F5 /* x6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EF1ABF16A5002274A3 /* x6502.cpp */; }; - B3A9F4F81DE87E09008450F5 /* ax5705.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3E1D6ECD7500742D04 /* ax5705.cpp */; }; - B3A9F4F91DE87E09008450F5 /* oekakids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77631ABF16A4002274A3 /* oekakids.cpp */; }; - B3A9F4FA1DE87E09008450F5 /* vrc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8B1D6ECD7500742D04 /* vrc2and4.cpp */; }; - B3A9F4FB1DE87E09008450F5 /* 34.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF61D6ECD7500742D04 /* 34.cpp */; }; - B3A9F4FC1DE87E09008450F5 /* et-100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE511D6ECD7500742D04 /* et-100.cpp */; }; - B3A9F4FD1DE87E09008450F5 /* mmc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6F1D6ECD7500742D04 /* mmc1.cpp */; }; - B3A9F4FE1DE87E09008450F5 /* conddebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A61ABF16A3002274A3 /* conddebug.cpp */; }; - B3A9F4FF1DE87E09008450F5 /* 108.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE121D6ECD7500742D04 /* 108.cpp */; }; - B3A9F5001DE87E09008450F5 /* 208.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2A1D6ECD7500742D04 /* 208.cpp */; }; - B3A9F5011DE87E09008450F5 /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C91ABF16A5002274A3 /* state.cpp */; }; - B3A9F5021DE87E09008450F5 /* 187.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE251D6ECD7500742D04 /* 187.cpp */; }; - B3A9F5031DE87E09008450F5 /* sc-127.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7D1D6ECD7500742D04 /* sc-127.cpp */; }; - B3A9F5041DE87E09008450F5 /* tengen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE861D6ECD7500742D04 /* tengen.cpp */; }; - B3A9F5051DE87E09008450F5 /* 178.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE211D6ECD7500742D04 /* 178.cpp */; }; - B3A9F5061DE87E09008450F5 /* mmc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE701D6ECD7500742D04 /* mmc2and4.cpp */; }; - B3A9F5071DE87E09008450F5 /* bmc13in1jy110.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE411D6ECD7500742D04 /* bmc13in1jy110.cpp */; }; - B3A9F5081DE87E09008450F5 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B91ABF16A4002274A3 /* palette.cpp */; }; - B3A9F5091DE87E09008450F5 /* zapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776C1ABF16A4002274A3 /* zapper.cpp */; }; - B3A9F50A1DE87E09008450F5 /* 62.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE001D6ECD7500742D04 /* 62.cpp */; }; - B3A9F50B1DE87E09008450F5 /* 151.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE181D6ECD7500742D04 /* 151.cpp */; }; - B3A9F50C1DE87E09008450F5 /* ks7032.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE661D6ECD7500742D04 /* ks7032.cpp */; }; - B3A9F50D1DE87E09008450F5 /* suborkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77691ABF16A4002274A3 /* suborkb.cpp */; }; - B3A9F50E1DE87E09008450F5 /* lh53.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6B1D6ECD7500742D04 /* lh53.cpp */; }; - B3A9F50F1DE87E09008450F5 /* 199.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE281D6ECD7500742D04 /* 199.cpp */; }; - B3A9F5101DE87E09008450F5 /* supervision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE831D6ECD7500742D04 /* supervision.cpp */; }; - B3A9F5111DE87E09008450F5 /* hp898f.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5B1D6ECD7500742D04 /* hp898f.cpp */; }; - B3A9F5121DE87E09008450F5 /* 09-034a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEF1D6ECD7500742D04 /* 09-034a.cpp */; }; - B3A9F5131DE87E09008450F5 /* snesmouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFDB1D6ED02100742D04 /* snesmouse.cpp */; }; - B3A9F5141DE87E09008450F5 /* bs-5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE471D6ECD7500742D04 /* bs-5.cpp */; }; - B3A9F5151DE87E09008450F5 /* ks7010.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5F1D6ECD7500742D04 /* ks7010.cpp */; }; - B3A9F5161DE87E09008450F5 /* __dummy_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEB1D6ECD7500742D04 /* __dummy_mapper.cpp */; }; - B3A9F5171DE87E09008450F5 /* bworld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775B1ABF16A4002274A3 /* bworld.cpp */; }; - B3A9F5181DE87E09008450F5 /* vrc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8D1D6ECD7500742D04 /* vrc5.cpp */; }; - B3A9F5191DE87E09008450F5 /* 36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF71D6ECD7500742D04 /* 36.cpp */; }; - B3A9F51A1DE87E09008450F5 /* inlnsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5C1D6ECD7500742D04 /* inlnsf.cpp */; }; - B3A9F51B1DE87E09008450F5 /* 168.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1C1D6ECD7500742D04 /* 168.cpp */; }; - B3A9F51C1DE87E09008450F5 /* 77.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE071D6ECD7500742D04 /* 77.cpp */; }; - B3A9F51D1DE87E09008450F5 /* F-15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE531D6ECD7500742D04 /* F-15.cpp */; }; - B3A9F51E1DE87E09008450F5 /* bandai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3F1D6ECD7500742D04 /* bandai.cpp */; }; - B3A9F51F1DE87E09008450F5 /* edu2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4D1D6ECD7500742D04 /* edu2000.cpp */; }; - B3A9F5201DE87E09008450F5 /* 158B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1A1D6ECD7500742D04 /* 158B.cpp */; }; - B3A9F5211DE87E09008450F5 /* vrc7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8F1D6ECD7500742D04 /* vrc7.cpp */; }; - B3A9F5221DE87E09008450F5 /* ffe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE551D6ECD7500742D04 /* ffe.cpp */; }; - B3A9F5231DE87E09008450F5 /* n625092.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE751D6ECD7500742D04 /* n625092.cpp */; }; - B3A9F5241DE87E09008450F5 /* sa-9602b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7A1D6ECD7500742D04 /* sa-9602b.cpp */; }; - B3A9F5251DE87E09008450F5 /* 91.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0D1D6ECD7500742D04 /* 91.cpp */; }; - B3A9F5261DE87E09008450F5 /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF51D6ED36300742D04 /* hq3x.cpp */; }; - B3A9F5271DE87E09008450F5 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D21ABF16A5002274A3 /* ConvertUTF.c */; }; - B3A9F5281DE87E09008450F5 /* n106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE741D6ECD7500742D04 /* n106.cpp */; }; - B3A9F5291DE87E09008450F5 /* BMW8544.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE451D6ECD7500742D04 /* BMW8544.cpp */; }; - B3A9F52A1DE87E09008450F5 /* 57.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFF1D6ECD7500742D04 /* 57.cpp */; }; - B3A9F52B1DE87E09008450F5 /* 69.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE041D6ECD7500742D04 /* 69.cpp */; }; - B3A9F52C1DE87E09008450F5 /* datalatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4B1D6ECD7500742D04 /* datalatch.cpp */; }; - B3A9F52D1DE87E09008450F5 /* 176.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1F1D6ECD7500742D04 /* 176.cpp */; }; - B3A9F52E1DE87E09008450F5 /* 189.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE261D6ECD7500742D04 /* 189.cpp */; }; - B3A9F52F1DE87E09008450F5 /* lh32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6A1D6ECD7500742D04 /* lh32.cpp */; }; - B3A9F5301DE87E09008450F5 /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776E1ABF16A4002274A3 /* input.cpp */; }; - B3A9F5311DE87E09008450F5 /* ks7013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE611D6ECD7500742D04 /* ks7013.cpp */; }; - B3A9F5321DE87E09008450F5 /* mahjong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77611ABF16A4002274A3 /* mahjong.cpp */; }; - B3A9F5331DE87E09008450F5 /* 177.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE201D6ECD7500742D04 /* 177.cpp */; }; - B3A9F5341DE87E09008450F5 /* 46.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFC1D6ECD7500742D04 /* 46.cpp */; }; - B3A9F5361DE87E09008450F5 /* fk23c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE561D6ECD7500742D04 /* fk23c.cpp */; }; - B3A9F5371DE87E09008450F5 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E61ABF16A5002274A3 /* xstring.cpp */; }; - B3A9F5381DE87E09008450F5 /* vrc7p.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE901D6ECD7500742D04 /* vrc7p.cpp */; }; - B3A9F5391DE87E09008450F5 /* general.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D81ABF16A5002274A3 /* general.cpp */; }; - B3A9F53A1DE87E09008450F5 /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B21ABF16A4002274A3 /* netplay.cpp */; }; - B3A9F53B1DE87E09008450F5 /* nes_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF91D6ED36300742D04 /* nes_ntsc.c */; }; - B3A9F53C1DE87E09008450F5 /* dance2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4A1D6ECD7500742D04 /* dance2000.cpp */; }; - B3A9F53D1DE87E09008450F5 /* subor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE811D6ECD7500742D04 /* subor.cpp */; }; - B3A9F53E1DE87E09008450F5 /* bb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE401D6ECD7500742D04 /* bb.cpp */; }; - B3A9F53F1DE87E09008450F5 /* 72.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE061D6ECD7500742D04 /* 72.cpp */; }; - B3A9F5401DE87E09008450F5 /* 8in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEE1D6ECD7500742D04 /* 8in1.cpp */; }; - B3A9F5411DE87E09008450F5 /* crc32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D41ABF16A5002274A3 /* crc32.cpp */; }; - B3A9F5421DE87E09008450F5 /* ks7012.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE601D6ECD7500742D04 /* ks7012.cpp */; }; - B3A9F5431DE87E09008450F5 /* bmc64in1nr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE431D6ECD7500742D04 /* bmc64in1nr.cpp */; }; - B3A9F5441DE87E09008450F5 /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77621ABF16A4002274A3 /* mouse.cpp */; }; - B3A9F5451DE87E09008450F5 /* addrlatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3D1D6ECD7500742D04 /* addrlatch.cpp */; }; - B3A9F5461DE87E09008450F5 /* 253.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE351D6ECD7500742D04 /* 253.cpp */; }; - B3A9F5471DE87E09008450F5 /* 603-5052.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE361D6ECD7500742D04 /* 603-5052.cpp */; }; - B3A9F5481DE87E09008450F5 /* 246.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE331D6ECD7500742D04 /* 246.cpp */; }; - B3A9F5491DE87E09008450F5 /* ks7031.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE651D6ECD7500742D04 /* ks7031.cpp */; }; - B3A9F54A1DE87E09008450F5 /* 67.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE021D6ECD7500742D04 /* 67.cpp */; }; - B3A9F54B1DE87E09008450F5 /* 71.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE051D6ECD7500742D04 /* 71.cpp */; }; - B3A9F54C1DE87E09008450F5 /* vrc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8C1D6ECD7500742D04 /* vrc3.cpp */; }; - B3A9F54D1DE87E09008450F5 /* onebus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE771D6ECD7500742D04 /* onebus.cpp */; }; - B3A9F54E1DE87E09008450F5 /* 33.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF51D6ECD7500742D04 /* 33.cpp */; }; - B3A9F54F1DE87E09008450F5 /* 120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE161D6ECD7500742D04 /* 120.cpp */; }; - B3A9F5501DE87E09008450F5 /* sheroes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7F1D6ECD7500742D04 /* sheroes.cpp */; }; - B3A9F5511DE87E09008450F5 /* ghostbusters63in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE571D6ECD7500742D04 /* ghostbusters63in1.cpp */; }; - B3A9F5521DE87E09008450F5 /* novel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE761D6ECD7500742D04 /* novel.cpp */; }; - B3A9F5531DE87E09008450F5 /* vrc6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8E1D6ECD7500742D04 /* vrc6.cpp */; }; - B3A9F5541DE87E09008450F5 /* tf-1201.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE871D6ECD7500742D04 /* tf-1201.cpp */; }; - B3A9F5551DE87E09008450F5 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E01ABF16A5002274A3 /* memory.cpp */; }; - B3A9F5561DE87E09008450F5 /* 103.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE101D6ECD7500742D04 /* 103.cpp */; }; - B3A9F5571DE87E09008450F5 /* 170.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1D1D6ECD7500742D04 /* 170.cpp */; }; - B3A9F5581DE87E09008450F5 /* 28.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF31D6ECD7500742D04 /* 28.cpp */; }; - B3A9F5591DE87E09008450F5 /* famicombox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE541D6ECD7500742D04 /* famicombox.cpp */; }; - B3A9F55A1DE87E09008450F5 /* ks7016.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE621D6ECD7500742D04 /* ks7016.cpp */; }; - B3A9F55B1DE87E09008450F5 /* 40.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF81D6ECD7500742D04 /* 40.cpp */; }; - B3A9F55C1DE87E09008450F5 /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AC1ABF16A3002274A3 /* drawing.cpp */; }; - B3A9F55D1DE87E09008450F5 /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E31ABF16A5002274A3 /* unzip.cpp */; }; - B3A9F55E1DE87E09008450F5 /* vrc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8A1D6ECD7500742D04 /* vrc1.cpp */; }; - B3A9F55F1DE87E09008450F5 /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A41ABF16A3002274A3 /* cheat.cpp */; }; - B3A9F5601DE87E09008450F5 /* 206.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE291D6ECD7500742D04 /* 206.cpp */; }; - B3A9F5611DE87E09008450F5 /* 185.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE231D6ECD7500742D04 /* 185.cpp */; }; - B3A9F5621DE87E09008450F5 /* bonza.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE461D6ECD7500742D04 /* bonza.cpp */; }; - B3A9F5631DE87E09008450F5 /* ks7017.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE631D6ECD7500742D04 /* ks7017.cpp */; }; - B3A9F5641DE87E09008450F5 /* 41.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF91D6ECD7500742D04 /* 41.cpp */; }; - B3A9F5651DE87E09008450F5 /* a9746.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3B1D6ECD7500742D04 /* a9746.cpp */; }; - B3A9F5661DE87E09008450F5 /* ac-08.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3C1D6ECD7500742D04 /* ac-08.cpp */; }; - B3A9F5671DE87E09008450F5 /* 80.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE091D6ECD7500742D04 /* 80.cpp */; }; - B3A9F5681DE87E09008450F5 /* t-262.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE851D6ECD7500742D04 /* t-262.cpp */; }; - B3A9F5691DE87E09008450F5 /* 252.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE341D6ECD7500742D04 /* 252.cpp */; }; - B3A9F56A1DE87E09008450F5 /* oldmovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */; }; - B3A9F56B1DE87E09008450F5 /* coolboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE491D6ECD7500742D04 /* coolboy.cpp */; }; - B3A9F56C1DE87E09008450F5 /* eh8813a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4E1D6ECD7500742D04 /* eh8813a.cpp */; }; - B3A9F56D1DE87E09008450F5 /* 228.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2D1D6ECD7500742D04 /* 228.cpp */; }; - B3A9F56E1DE87E09008450F5 /* cityfighter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE481D6ECD7500742D04 /* cityfighter.cpp */; }; - B3A9F56F1DE87E09008450F5 /* 232.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2F1D6ECD7500742D04 /* 232.cpp */; }; - B3A9F5701DE87E09008450F5 /* sl1632.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE801D6ECD7500742D04 /* sl1632.cpp */; }; - B3A9F5711DE87E09008450F5 /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A773B1ABF16A4002274A3 /* filter.cpp */; }; - B3A9F5721DE87E09008450F5 /* args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEB1D6ED36300742D04 /* args.cpp */; }; - B3A9F5731DE87E09008450F5 /* scale2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFB1D6ED36300742D04 /* scale2x.cpp */; }; - B3A9F5741DE87E09008450F5 /* 121.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE171D6ECD7500742D04 /* 121.cpp */; }; - B3A9F5751DE87E09008450F5 /* 234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE301D6ECD7500742D04 /* 234.cpp */; }; - B3A9F5761DE87E09008450F5 /* 164.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1B1D6ECD7500742D04 /* 164.cpp */; }; - B3A9F5771DE87E09008450F5 /* fceu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77331ABF16A4002274A3 /* fceu.cpp */; }; - B3A9F5781DE87E09008450F5 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C71ABF16A5002274A3 /* sound.cpp */; }; - B3A9F5791DE87E09008450F5 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DA1ABF16A5002274A3 /* guid.cpp */; }; + B3A9F4931DE87E09008450F5 /* PVFCEUEmulatorCore.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A79AC1ABF1CE8002274A3 /* PVFCEUEmulatorCore.mm */; }; B3A9F57A1DE87E09008450F5 /* PVFCEUEmulatorCore.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A79AC1ABF1CE8002274A3 /* PVFCEUEmulatorCore.mm */; }; - B3A9F57B1DE87E09008450F5 /* 186.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE241D6ECD7500742D04 /* 186.cpp */; }; - B3A9F57C1DE87E09008450F5 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E91ABF16A5002274A3 /* video.cpp */; }; - B3A9F57D1DE87E09008450F5 /* scale3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFD1D6ED36300742D04 /* scale3x.cpp */; }; - B3A9F57E1DE87E09008450F5 /* super24.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE821D6ECD7500742D04 /* super24.cpp */; }; - B3A9F57F1DE87E09008450F5 /* hypershot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77601ABF16A4002274A3 /* hypershot.cpp */; }; - B3A9F5801DE87E09008450F5 /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFED1D6ED36300742D04 /* cheat.cpp */; }; - B3A9F5811DE87E09008450F5 /* ioapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DC1ABF16A5002274A3 /* ioapi.cpp */; }; - B3A9F5821DE87E09008450F5 /* backward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D01ABF16A5002274A3 /* backward.cpp */; }; - B3A9F5831DE87E09008450F5 /* 43.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFB1D6ECD7500742D04 /* 43.cpp */; }; - B3A9F5841DE87E09008450F5 /* kof97.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5E1D6ECD7500742D04 /* kof97.cpp */; }; - B3A9F5851DE87E09008450F5 /* 88.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0B1D6ECD7500742D04 /* 88.cpp */; }; - B3A9F5861DE87E09008450F5 /* pec-586.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE781D6ECD7500742D04 /* pec-586.cpp */; }; - B3A9F5871DE87E09008450F5 /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775C1ABF16A4002274A3 /* cursor.cpp */; }; - B3A9F5881DE87E09008450F5 /* 65.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE011D6ECD7500742D04 /* 65.cpp */; }; - B3A9F5891DE87E09008450F5 /* 68.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE031D6ECD7500742D04 /* 68.cpp */; }; - B3A9F58A1DE87E09008450F5 /* 99.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0F1D6ECD7500742D04 /* 99.cpp */; }; - B3A9F58B1DE87E09008450F5 /* 01-222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEC1D6ECD7500742D04 /* 01-222.cpp */; }; - B3A9F58C1DE87E09008450F5 /* shadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77671ABF16A4002274A3 /* shadow.cpp */; }; - B3A9F58D1DE87E09008450F5 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEF1D6ED36300742D04 /* config.cpp */; }; - B3A9F58E1DE87E09008450F5 /* 830118C.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3A1D6ECD7500742D04 /* 830118C.cpp */; }; - B3A9F58F1DE87E09008450F5 /* vsuni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EB1ABF16A5002274A3 /* vsuni.cpp */; }; - B3A9F5901DE87E09008450F5 /* 112.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE131D6ECD7500742D04 /* 112.cpp */; }; - B3A9F5911DE87E09008450F5 /* 222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2B1D6ECD7500742D04 /* 222.cpp */; }; - B3A9F5921DE87E09008450F5 /* h2288.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5A1D6ECD7500742D04 /* h2288.cpp */; }; - B3A9F5941DE87E09008450F5 /* mmc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE711D6ECD7500742D04 /* mmc3.cpp */; }; - B3A9F5951DE87E09008450F5 /* 156.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE191D6ECD7500742D04 /* 156.cpp */; }; - B3A9F5961DE87E09008450F5 /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D61ABF16A5002274A3 /* endian.cpp */; }; - B3A9F5971DE87E09008450F5 /* ines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77571ABF16A4002274A3 /* ines.cpp */; }; - B3A9F5981DE87E09008450F5 /* 90.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0C1D6ECD7500742D04 /* 90.cpp */; }; - B3A9F5991DE87E09008450F5 /* 244.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE321D6ECD7500742D04 /* 244.cpp */; }; - B3A9F59A1DE87E09008450F5 /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF31D6ED36300742D04 /* hq2x.cpp */; }; - B3A9F59B1DE87E09008450F5 /* 175.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1E1D6ECD7500742D04 /* 175.cpp */; }; - B3A9F59C1DE87E09008450F5 /* bmc42in1r.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE421D6ECD7500742D04 /* bmc42in1r.cpp */; }; - B3A9F59D1DE87E09008450F5 /* 193.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE271D6ECD7500742D04 /* 193.cpp */; }; - B3A9F59E1DE87E09008450F5 /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B01ABF16A4002274A3 /* movie.cpp */; }; - B3A9F59F1DE87E09008450F5 /* 51.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFE1D6ECD7500742D04 /* 51.cpp */; }; - B3A9F5A01DE87E09008450F5 /* unif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77CD1ABF16A5002274A3 /* unif.cpp */; }; - B3A9F5A11DE87E09008450F5 /* gs-2013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE591D6ECD7500742D04 /* gs-2013.cpp */; }; - B3A9F5A21DE87E09008450F5 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DE1ABF16A5002274A3 /* md5.cpp */; }; - B3A9F5A31DE87E09008450F5 /* arkanoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775A1ABF16A4002274A3 /* arkanoid.cpp */; }; - B3A9F5A41DE87E09008450F5 /* 79.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE081D6ECD7500742D04 /* 79.cpp */; }; - B3A9F5A51DE87E09008450F5 /* scalebit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFF1D6ED36300742D04 /* scalebit.cpp */; }; - B3A9F5A61DE87E09008450F5 /* mihunche.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6E1D6ECD7500742D04 /* mihunche.cpp */; }; - B3A9F5A71DE87E09008450F5 /* t-227-1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE841D6ECD7500742D04 /* t-227-1.cpp */; }; - B3A9F5A81DE87E09008450F5 /* ks7057.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE681D6ECD7500742D04 /* ks7057.cpp */; }; - B3A9F5A91DE87E09008450F5 /* wave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77ED1ABF16A5002274A3 /* wave.cpp */; }; - B3A9F5AA1DE87E09008450F5 /* vidblit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFE71D6ED33500742D04 /* vidblit.cpp */; }; - B3A9F5AB1DE87E09008450F5 /* 8157.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE371D6ECD7500742D04 /* 8157.cpp */; }; - B3A9F5AC1DE87E09008450F5 /* 96.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0E1D6ECD7500742D04 /* 96.cpp */; }; - B3A9F5AD1DE87E09008450F5 /* toprider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776B1ABF16A4002274A3 /* toprider.cpp */; }; - B3A9F5AE1DE87E09008450F5 /* le05.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE691D6ECD7500742D04 /* le05.cpp */; }; - B3A9F5AF1DE87E09008450F5 /* 32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF41D6ECD7500742D04 /* 32.cpp */; }; - B3A9F5B01DE87E09008450F5 /* 225.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2C1D6ECD7500742D04 /* 225.cpp */; }; - B3A9F5B11DE87E09008450F5 /* quiz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77651ABF16A4002274A3 /* quiz.cpp */; }; - B3A9F5B21DE87E09008450F5 /* sb-2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7C1D6ECD7500742D04 /* sb-2000.cpp */; }; - B3A9F5B31DE87E09008450F5 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77391ABF16A4002274A3 /* file.cpp */; }; - B3A9F5B41DE87E09008450F5 /* karaoke.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5D1D6ECD7500742D04 /* karaoke.cpp */; }; - B3A9F5B51DE87E09008450F5 /* 8237.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE381D6ECD7500742D04 /* 8237.cpp */; }; - B3A9F5B61DE87E09008450F5 /* 116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE141D6ECD7500742D04 /* 116.cpp */; }; - B3A9F5B71DE87E09008450F5 /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77301ABF16A4002274A3 /* emufile.cpp */; }; - B3A9F5B81DE87E09008450F5 /* 411120-c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE391D6ECD7500742D04 /* 411120-c.cpp */; }; - B3A9F5B91DE87E09008450F5 /* rt-01.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE791D6ECD7500742D04 /* rt-01.cpp */; }; - B3A9F5BA1DE87E09008450F5 /* 183.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE221D6ECD7500742D04 /* 183.cpp */; }; - B3A9F5BB1DE87E09008450F5 /* 82.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0A1D6ECD7500742D04 /* 82.cpp */; }; - B3A9F5BC1DE87E09008450F5 /* dream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4C1D6ECD7500742D04 /* dream.cpp */; }; - B3A9F5BD1DE87E09008450F5 /* fds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77371ABF16A4002274A3 /* fds.cpp */; }; - B3A9F5BE1DE87E09008450F5 /* unrom512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE891D6ECD7500742D04 /* unrom512.cpp */; }; - B3A9F5BF1DE87E09008450F5 /* mmc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE731D6ECD7500742D04 /* mmc5.cpp */; }; - B3A9F5C01DE87E09008450F5 /* 117.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE151D6ECD7500742D04 /* 117.cpp */; }; - B3A9F5C11DE87E09008450F5 /* ks7030.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE641D6ECD7500742D04 /* ks7030.cpp */; }; - B3A9F5C21DE87E09008450F5 /* malee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6C1D6ECD7500742D04 /* malee.cpp */; }; - B3A9F5C31DE87E09008450F5 /* 50.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFD1D6ECD7500742D04 /* 50.cpp */; }; - B3A9F5C41DE87E09008450F5 /* 15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF11D6ECD7500742D04 /* 15.cpp */; }; - B3A9F5C51DE87E09008450F5 /* ftrainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775F1ABF16A4002274A3 /* ftrainer.cpp */; }; - B3A9F5C61DE87E09008450F5 /* ks7037.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE671D6ECD7500742D04 /* ks7037.cpp */; }; - B3A9F5C81DE87E09008450F5 /* 106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE111D6ECD7500742D04 /* 106.cpp */; }; - B3A9F5C91DE87E09008450F5 /* 18.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF21D6ECD7500742D04 /* 18.cpp */; }; - B3A9F5CA1DE87E09008450F5 /* cart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A21ABF16A3002274A3 /* cart.cpp */; }; - B3A9F5CB1DE87E09008450F5 /* yoko.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE911D6ECD7500742D04 /* yoko.cpp */; }; - B3A9F5CC1DE87E09008450F5 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A81ABF16A3002274A3 /* config.cpp */; }; - B3A9F5CD1DE87E09008450F5 /* 230.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2E1D6ECD7500742D04 /* 230.cpp */; }; - B3A9F5CE1DE87E09008450F5 /* et-4320.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE521D6ECD7500742D04 /* et-4320.cpp */; }; - B3A9F5CF1DE87E09008450F5 /* powerpad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77641ABF16A4002274A3 /* powerpad.cpp */; }; - B3A9F5D01DE87E09008450F5 /* 3d-block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDED1D6ECD7500742D04 /* 3d-block.cpp */; }; - B3A9F5D11DE87E09008450F5 /* 12in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF01D6ECD7500742D04 /* 12in1.cpp */; }; - B3A9F5D21DE87E09008450F5 /* emu2413.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4F1D6ECD7500742D04 /* emu2413.c */; }; - B3A9F5D31DE87E09008450F5 /* gs-2004.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE581D6ECD7500742D04 /* gs-2004.cpp */; }; - B3A9F5D41DE87E09008450F5 /* bmc70in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE441D6ECD7500742D04 /* bmc70in1.cpp */; }; - B3A9F5D51DE87E09008450F5 /* transformer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE881D6ECD7500742D04 /* transformer.cpp */; }; - B3A9F5D61DE87E09008450F5 /* pec586kb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFD81D6ECFC200742D04 /* pec586kb.cpp */; }; - B3A9F5D71DE87E09008450F5 /* 42.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFA1D6ECD7500742D04 /* 42.cpp */; }; - B3A9F5D81DE87E09008450F5 /* fkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775D1ABF16A4002274A3 /* fkb.cpp */; }; - B3A9F5D91DE87E09008450F5 /* nsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B41ABF16A4002274A3 /* nsf.cpp */; }; - B3A9F5DA1DE87E09008450F5 /* asm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75061ABF16A3002274A3 /* asm.cpp */; }; - B3A9F5DB1DE87E09008450F5 /* 235.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE311D6ECD7500742D04 /* 235.cpp */; }; - B3A9F5DC1DE87E09008450F5 /* configSys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF11D6ED36300742D04 /* configSys.cpp */; }; - B3A9F5DD1DE87E09008450F5 /* sachen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7B1D6ECD7500742D04 /* sachen.cpp */; }; - B3A9F5DE1DE87E09008450F5 /* x6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EF1ABF16A5002274A3 /* x6502.cpp */; }; - B3A9F5DF1DE87E09008450F5 /* ax5705.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3E1D6ECD7500742D04 /* ax5705.cpp */; }; - B3A9F5E01DE87E09008450F5 /* oekakids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77631ABF16A4002274A3 /* oekakids.cpp */; }; - B3A9F5E11DE87E09008450F5 /* vrc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8B1D6ECD7500742D04 /* vrc2and4.cpp */; }; - B3A9F5E21DE87E09008450F5 /* 34.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF61D6ECD7500742D04 /* 34.cpp */; }; - B3A9F5E31DE87E09008450F5 /* et-100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE511D6ECD7500742D04 /* et-100.cpp */; }; - B3A9F5E41DE87E09008450F5 /* mmc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6F1D6ECD7500742D04 /* mmc1.cpp */; }; - B3A9F5E51DE87E09008450F5 /* conddebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A61ABF16A3002274A3 /* conddebug.cpp */; }; - B3A9F5E61DE87E09008450F5 /* 108.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE121D6ECD7500742D04 /* 108.cpp */; }; - B3A9F5E71DE87E09008450F5 /* 208.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2A1D6ECD7500742D04 /* 208.cpp */; }; - B3A9F5E81DE87E09008450F5 /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C91ABF16A5002274A3 /* state.cpp */; }; - B3A9F5E91DE87E09008450F5 /* 187.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE251D6ECD7500742D04 /* 187.cpp */; }; - B3A9F5EA1DE87E09008450F5 /* sc-127.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7D1D6ECD7500742D04 /* sc-127.cpp */; }; - B3A9F5EB1DE87E09008450F5 /* tengen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE861D6ECD7500742D04 /* tengen.cpp */; }; - B3A9F5EC1DE87E09008450F5 /* 178.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE211D6ECD7500742D04 /* 178.cpp */; }; - B3A9F5ED1DE87E09008450F5 /* mmc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE701D6ECD7500742D04 /* mmc2and4.cpp */; }; - B3A9F5EE1DE87E09008450F5 /* bmc13in1jy110.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE411D6ECD7500742D04 /* bmc13in1jy110.cpp */; }; - B3A9F5EF1DE87E09008450F5 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B91ABF16A4002274A3 /* palette.cpp */; }; - B3A9F5F01DE87E09008450F5 /* zapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776C1ABF16A4002274A3 /* zapper.cpp */; }; - B3A9F5F11DE87E09008450F5 /* 62.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE001D6ECD7500742D04 /* 62.cpp */; }; - B3A9F5F21DE87E09008450F5 /* 151.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE181D6ECD7500742D04 /* 151.cpp */; }; - B3A9F5F31DE87E09008450F5 /* ks7032.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE661D6ECD7500742D04 /* ks7032.cpp */; }; - B3A9F5F41DE87E09008450F5 /* suborkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77691ABF16A4002274A3 /* suborkb.cpp */; }; - B3A9F5F51DE87E09008450F5 /* lh53.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6B1D6ECD7500742D04 /* lh53.cpp */; }; - B3A9F5F61DE87E09008450F5 /* 199.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE281D6ECD7500742D04 /* 199.cpp */; }; - B3A9F5F71DE87E09008450F5 /* supervision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE831D6ECD7500742D04 /* supervision.cpp */; }; - B3A9F5F81DE87E09008450F5 /* hp898f.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5B1D6ECD7500742D04 /* hp898f.cpp */; }; - B3A9F5F91DE87E09008450F5 /* 09-034a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEF1D6ECD7500742D04 /* 09-034a.cpp */; }; - B3A9F5FA1DE87E09008450F5 /* snesmouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFDB1D6ED02100742D04 /* snesmouse.cpp */; }; - B3A9F5FB1DE87E09008450F5 /* bs-5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE471D6ECD7500742D04 /* bs-5.cpp */; }; - B3A9F5FC1DE87E09008450F5 /* ks7010.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5F1D6ECD7500742D04 /* ks7010.cpp */; }; - B3A9F5FD1DE87E09008450F5 /* __dummy_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEB1D6ECD7500742D04 /* __dummy_mapper.cpp */; }; - B3A9F5FE1DE87E09008450F5 /* bworld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775B1ABF16A4002274A3 /* bworld.cpp */; }; - B3A9F5FF1DE87E09008450F5 /* vrc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8D1D6ECD7500742D04 /* vrc5.cpp */; }; - B3A9F6001DE87E09008450F5 /* 36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF71D6ECD7500742D04 /* 36.cpp */; }; - B3A9F6011DE87E09008450F5 /* inlnsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5C1D6ECD7500742D04 /* inlnsf.cpp */; }; - B3A9F6021DE87E09008450F5 /* 168.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1C1D6ECD7500742D04 /* 168.cpp */; }; - B3A9F6031DE87E09008450F5 /* 77.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE071D6ECD7500742D04 /* 77.cpp */; }; - B3A9F6041DE87E09008450F5 /* F-15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE531D6ECD7500742D04 /* F-15.cpp */; }; - B3A9F6051DE87E09008450F5 /* bandai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3F1D6ECD7500742D04 /* bandai.cpp */; }; - B3A9F6061DE87E09008450F5 /* edu2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4D1D6ECD7500742D04 /* edu2000.cpp */; }; - B3A9F6071DE87E09008450F5 /* 158B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1A1D6ECD7500742D04 /* 158B.cpp */; }; - B3A9F6081DE87E09008450F5 /* vrc7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8F1D6ECD7500742D04 /* vrc7.cpp */; }; - B3A9F6091DE87E09008450F5 /* ffe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE551D6ECD7500742D04 /* ffe.cpp */; }; - B3A9F60A1DE87E09008450F5 /* n625092.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE751D6ECD7500742D04 /* n625092.cpp */; }; - B3A9F60B1DE87E09008450F5 /* sa-9602b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7A1D6ECD7500742D04 /* sa-9602b.cpp */; }; - B3A9F60C1DE87E09008450F5 /* 91.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0D1D6ECD7500742D04 /* 91.cpp */; }; - B3A9F60D1DE87E09008450F5 /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF51D6ED36300742D04 /* hq3x.cpp */; }; - B3A9F60E1DE87E09008450F5 /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D21ABF16A5002274A3 /* ConvertUTF.c */; }; - B3A9F60F1DE87E09008450F5 /* n106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE741D6ECD7500742D04 /* n106.cpp */; }; - B3A9F6101DE87E09008450F5 /* BMW8544.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE451D6ECD7500742D04 /* BMW8544.cpp */; }; - B3A9F6111DE87E09008450F5 /* 57.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFF1D6ECD7500742D04 /* 57.cpp */; }; - B3A9F6121DE87E09008450F5 /* 69.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE041D6ECD7500742D04 /* 69.cpp */; }; - B3A9F6131DE87E09008450F5 /* datalatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4B1D6ECD7500742D04 /* datalatch.cpp */; }; - B3A9F6141DE87E09008450F5 /* 176.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1F1D6ECD7500742D04 /* 176.cpp */; }; - B3A9F6151DE87E09008450F5 /* 189.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE261D6ECD7500742D04 /* 189.cpp */; }; - B3A9F6161DE87E09008450F5 /* lh32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6A1D6ECD7500742D04 /* lh32.cpp */; }; - B3A9F6171DE87E09008450F5 /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776E1ABF16A4002274A3 /* input.cpp */; }; - B3A9F6181DE87E09008450F5 /* ks7013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE611D6ECD7500742D04 /* ks7013.cpp */; }; - B3A9F6191DE87E09008450F5 /* mahjong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77611ABF16A4002274A3 /* mahjong.cpp */; }; - B3A9F61A1DE87E09008450F5 /* 177.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE201D6ECD7500742D04 /* 177.cpp */; }; - B3A9F61B1DE87E09008450F5 /* 46.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFC1D6ECD7500742D04 /* 46.cpp */; }; - B3A9F61D1DE87E09008450F5 /* fk23c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE561D6ECD7500742D04 /* fk23c.cpp */; }; - B3A9F61E1DE87E09008450F5 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E61ABF16A5002274A3 /* xstring.cpp */; }; - B3A9F61F1DE87E09008450F5 /* vrc7p.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE901D6ECD7500742D04 /* vrc7p.cpp */; }; - B3A9F6201DE87E09008450F5 /* general.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D81ABF16A5002274A3 /* general.cpp */; }; - B3A9F6211DE87E09008450F5 /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B21ABF16A4002274A3 /* netplay.cpp */; }; - B3A9F6221DE87E09008450F5 /* nes_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF91D6ED36300742D04 /* nes_ntsc.c */; }; - B3A9F6231DE87E09008450F5 /* dance2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4A1D6ECD7500742D04 /* dance2000.cpp */; }; - B3A9F6241DE87E09008450F5 /* subor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE811D6ECD7500742D04 /* subor.cpp */; }; - B3A9F6251DE87E09008450F5 /* bb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE401D6ECD7500742D04 /* bb.cpp */; }; - B3A9F6261DE87E09008450F5 /* 72.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE061D6ECD7500742D04 /* 72.cpp */; }; - B3A9F6271DE87E09008450F5 /* 8in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEE1D6ECD7500742D04 /* 8in1.cpp */; }; - B3A9F6281DE87E09008450F5 /* crc32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D41ABF16A5002274A3 /* crc32.cpp */; }; - B3A9F6291DE87E09008450F5 /* ks7012.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE601D6ECD7500742D04 /* ks7012.cpp */; }; - B3A9F62A1DE87E09008450F5 /* bmc64in1nr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE431D6ECD7500742D04 /* bmc64in1nr.cpp */; }; - B3A9F62B1DE87E09008450F5 /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77621ABF16A4002274A3 /* mouse.cpp */; }; B3A9F6301DE883F1008450F5 /* PVFCEUEmulatorCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3A79AB1ABF1CE8002274A3 /* PVFCEUEmulatorCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; B3A9F6311DE883FC008450F5 /* PVFCEUEmulatorCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3A79AB1ABF1CE8002274A3 /* PVFCEUEmulatorCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; B3A9F6331DE88425008450F5 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B3A9F6321DE88425008450F5 /* libz.tbd */; }; B3A9F6351DE8842C008450F5 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B3A9F6341DE8842C008450F5 /* libz.tbd */; }; - B3C9D41C1DEA0C090068D057 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AA1ABF16A3002274A3 /* debug.cpp */; }; - B3C9D41D1DEA0C0A0068D057 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AA1ABF16A3002274A3 /* debug.cpp */; }; - B3C9D41E1DEA0CE20068D057 /* ppu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C31ABF16A5002274A3 /* ppu.cpp */; }; - B3C9D41F1DEA0CE20068D057 /* ppu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C31ABF16A5002274A3 /* ppu.cpp */; }; - B3C9D4201DEA0CE50068D057 /* ppu.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3A77C41ABF16A5002274A3 /* ppu.h */; }; - B3C9D4221DEA0CE70068D057 /* ppu.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3A77C41ABF16A5002274A3 /* ppu.h */; }; + B3AAF51627C0A94B001CAE1F /* 15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E727C09C5B0012118D /* 15.cpp */; }; + B3AAF51727C0A94B001CAE1F /* 80.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48D27C09C5B0012118D /* 80.cpp */; }; + B3AAF51827C0A94B001CAE1F /* 112.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F827C09C5B0012118D /* 112.cpp */; }; + B3AAF51927C0A94B001CAE1F /* 88.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50E27C09C5B0012118D /* 88.cpp */; }; + B3AAF51A27C0A94B001CAE1F /* 177.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50427C09C5B0012118D /* 177.cpp */; }; + B3AAF51B27C0A94B001CAE1F /* 8157.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48827C09C5B0012118D /* 8157.cpp */; }; + B3AAF51C27C0A94B001CAE1F /* addrlatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EC27C09C5B0012118D /* addrlatch.cpp */; }; + B3AAF51D27C0A94B001CAE1F /* bs-5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C627C09C5B0012118D /* bs-5.cpp */; }; + B3AAF51E27C0A94B001CAE1F /* cityfighter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E127C09C5B0012118D /* cityfighter.cpp */; }; + B3AAF51F27C0A94B001CAE1F /* sl1632.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48F27C09C5B0012118D /* sl1632.cpp */; }; + B3AAF52027C0A94B001CAE1F /* pec-586.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48927C09C5B0012118D /* pec-586.cpp */; }; + B3AAF52127C0A94B001CAE1F /* supervision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E627C09C5B0012118D /* supervision.cpp */; }; + B3AAF52227C0A94B001CAE1F /* ghostbusters63in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B427C09C5B0012118D /* ghostbusters63in1.cpp */; }; + B3AAF52327C0A94B001CAE1F /* sa-9602b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A027C09C5B0012118D /* sa-9602b.cpp */; }; + B3AAF52427C0A94B001CAE1F /* 235.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49627C09C5B0012118D /* 235.cpp */; }; + B3AAF52527C0A94B001CAE1F /* famicombox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50027C09C5B0012118D /* famicombox.cpp */; }; + B3AAF52627C0A94B001CAE1F /* gs-2004.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BE27C09C5B0012118D /* gs-2004.cpp */; }; + B3AAF52727C0A94B001CAE1F /* 09-034a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F527C09C5B0012118D /* 09-034a.cpp */; }; + B3AAF52827C0A94B001CAE1F /* 103.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DC27C09C5B0012118D /* 103.cpp */; }; + B3AAF52927C0A94B001CAE1F /* 603-5052.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51627C09C5B0012118D /* 603-5052.cpp */; }; + B3AAF52A27C0A94B001CAE1F /* 208.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49527C09C5B0012118D /* 208.cpp */; }; + B3AAF52B27C0A94B001CAE1F /* 170.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52427C09C5B0012118D /* 170.cpp */; }; + B3AAF52C27C0A94B001CAE1F /* 62.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50527C09C5B0012118D /* 62.cpp */; }; + B3AAF52D27C0A94B001CAE1F /* 36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B727C09C5B0012118D /* 36.cpp */; }; + B3AAF52E27C0A94B001CAE1F /* 68.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47C27C09C5B0012118D /* 68.cpp */; }; + B3AAF52F27C0A94B001CAE1F /* dance2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51827C09C5B0012118D /* dance2000.cpp */; }; + B3AAF53027C0A94B001CAE1F /* 106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F727C09C5B0012118D /* 106.cpp */; }; + B3AAF53127C0A94B001CAE1F /* __dummy_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49727C09C5B0012118D /* __dummy_mapper.cpp */; }; + B3AAF53227C0A94B001CAE1F /* 77.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50B27C09C5B0012118D /* 77.cpp */; }; + B3AAF53327C0A94B001CAE1F /* 186.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AF27C09C5B0012118D /* 186.cpp */; }; + B3AAF53427C0A94B001CAE1F /* 232.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AD27C09C5B0012118D /* 232.cpp */; }; + B3AAF53527C0A94B001CAE1F /* sheroes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4ED27C09C5B0012118D /* sheroes.cpp */; }; + B3AAF53627C0A94B001CAE1F /* t-262.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51E27C09C5B0012118D /* t-262.cpp */; }; + B3AAF53727C0A94B001CAE1F /* 71.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52227C09C5B0012118D /* 71.cpp */; }; + B3AAF53827C0A94B001CAE1F /* 225.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49D27C09C5B0012118D /* 225.cpp */; }; + B3AAF53927C0A94B001CAE1F /* 164.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52527C09C5B0012118D /* 164.cpp */; }; + B3AAF53A27C0A94B001CAE1F /* ks7057.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48E27C09C5B0012118D /* ks7057.cpp */; }; + B3AAF53B27C0A94B001CAE1F /* emu2413.c in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52727C09C5B0012118D /* emu2413.c */; }; + B3AAF53C27C0A94B001CAE1F /* 99.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51A27C09C5B0012118D /* 99.cpp */; }; + B3AAF53D27C0A94B001CAE1F /* et-100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F427C09C5B0012118D /* et-100.cpp */; }; + B3AAF53E27C0A94B001CAE1F /* 230.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49F27C09C5B0012118D /* 230.cpp */; }; + B3AAF53F27C0A94B001CAE1F /* ks7012.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FE27C09C5B0012118D /* ks7012.cpp */; }; + B3AAF54027C0A94B001CAE1F /* lh32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48727C09C5B0012118D /* lh32.cpp */; }; + B3AAF54127C0A94B001CAE1F /* bonza.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CB27C09C5B0012118D /* bonza.cpp */; }; + B3AAF54227C0A94B001CAE1F /* 28.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EF27C09C5B0012118D /* 28.cpp */; }; + B3AAF54327C0A94B001CAE1F /* ffe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D227C09C5B0012118D /* ffe.cpp */; }; + B3AAF54427C0A94B001CAE1F /* 72.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51927C09C5B0012118D /* 72.cpp */; }; + B3AAF54527C0A94B001CAE1F /* ks7032.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D627C09C5B0012118D /* ks7032.cpp */; }; + B3AAF54627C0A94B001CAE1F /* vrc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48A27C09C5B0012118D /* vrc1.cpp */; }; + B3AAF54727C0A94B001CAE1F /* gs-2013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B527C09C5B0012118D /* gs-2013.cpp */; }; + B3AAF54827C0A94B001CAE1F /* 189.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50C27C09C5B0012118D /* 189.cpp */; }; + B3AAF54927C0A94B001CAE1F /* ks7030.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D027C09C5B0012118D /* ks7030.cpp */; }; + B3AAF54A27C0A94B001CAE1F /* 116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E527C09C5B0012118D /* 116.cpp */; }; + B3AAF54B27C0A94B001CAE1F /* 51.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A727C09C5B0012118D /* 51.cpp */; }; + B3AAF54C27C0A94B001CAE1F /* vrc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B227C09C5B0012118D /* vrc2and4.cpp */; }; + B3AAF54D27C0A94B001CAE1F /* 228.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50A27C09C5B0012118D /* 228.cpp */; }; + B3AAF54E27C0A94B001CAE1F /* 199.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51427C09C5B0012118D /* 199.cpp */; }; + B3AAF54F27C0A94B001CAE1F /* 178.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A627C09C5B0012118D /* 178.cpp */; }; + B3AAF55027C0A94B001CAE1F /* vrc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48B27C09C5B0012118D /* vrc3.cpp */; }; + B3AAF55127C0A94B001CAE1F /* 32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D527C09C5B0012118D /* 32.cpp */; }; + B3AAF55227C0A94B001CAE1F /* edu2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C027C09C5B0012118D /* edu2000.cpp */; }; + B3AAF55327C0A94B001CAE1F /* 193.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AA27C09C5B0012118D /* 193.cpp */; }; + B3AAF55427C0A94B001CAE1F /* 8237.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49327C09C5B0012118D /* 8237.cpp */; }; + B3AAF55527C0A94B001CAE1F /* BMW8544.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C927C09C5B0012118D /* BMW8544.cpp */; }; + B3AAF55627C0A94B001CAE1F /* hp898f.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50327C09C5B0012118D /* hp898f.cpp */; }; + B3AAF55727C0A94B001CAE1F /* bs4xxxr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50127C09C5B0012118D /* bs4xxxr.cpp */; }; + B3AAF55827C0A94B001CAE1F /* 156.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48C27C09C5B0012118D /* 156.cpp */; }; + B3AAF55927C0A94B001CAE1F /* 234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49427C09C5B0012118D /* 234.cpp */; }; + B3AAF55A27C0A94B001CAE1F /* a9746.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CC27C09C5B0012118D /* a9746.cpp */; }; + B3AAF55B27C0A94B001CAE1F /* eh8813a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50727C09C5B0012118D /* eh8813a.cpp */; }; + B3AAF55C27C0A94B001CAE1F /* dream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F027C09C5B0012118D /* dream.cpp */; }; + B3AAF55D27C0A94B001CAE1F /* sb-2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50627C09C5B0012118D /* sb-2000.cpp */; }; + B3AAF55E27C0A94B001CAE1F /* sc-127.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FA27C09C5B0012118D /* sc-127.cpp */; }; + B3AAF55F27C0A94B001CAE1F /* n106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50927C09C5B0012118D /* n106.cpp */; }; + B3AAF56027C0A94B001CAE1F /* 187.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A827C09C5B0012118D /* 187.cpp */; }; + B3AAF56127C0A94B001CAE1F /* sachen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D727C09C5B0012118D /* sachen.cpp */; }; + B3AAF56227C0A94B001CAE1F /* vrc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A427C09C5B0012118D /* vrc5.cpp */; }; + B3AAF56327C0A94B001CAE1F /* fns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51B27C09C5B0012118D /* fns.cpp */; }; + B3AAF56427C0A94B001CAE1F /* 46.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49B27C09C5B0012118D /* 46.cpp */; }; + B3AAF56527C0A94B001CAE1F /* 82.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48627C09C5B0012118D /* 82.cpp */; }; + B3AAF56627C0A94B001CAE1F /* ac-08.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AB27C09C5B0012118D /* ac-08.cpp */; }; + B3AAF56727C0A94B001CAE1F /* bmc70in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C727C09C5B0012118D /* bmc70in1.cpp */; }; + B3AAF56827C0A94B001CAE1F /* ks7037.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B327C09C5B0012118D /* ks7037.cpp */; }; + B3AAF56927C0A94B001CAE1F /* 185.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A127C09C5B0012118D /* 185.cpp */; }; + B3AAF56A27C0A94B001CAE1F /* 206.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51F27C09C5B0012118D /* 206.cpp */; }; + B3AAF56B27C0A94B001CAE1F /* 120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C427C09C5B0012118D /* 120.cpp */; }; + B3AAF56C27C0A94B001CAE1F /* 42.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49827C09C5B0012118D /* 42.cpp */; }; + B3AAF56D27C0A94B001CAE1F /* 222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48027C09C5B0012118D /* 222.cpp */; }; + B3AAF56E27C0A94B001CAE1F /* 108.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C327C09C5B0012118D /* 108.cpp */; }; + B3AAF56F27C0A94B001CAE1F /* 80013-B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B627C09C5B0012118D /* 80013-B.cpp */; }; + B3AAF57027C0A94B001CAE1F /* 67.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51327C09C5B0012118D /* 67.cpp */; }; + B3AAF57127C0A94B001CAE1F /* 183.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48327C09C5B0012118D /* 183.cpp */; }; + B3AAF57227C0A94B001CAE1F /* hp10xx_hp20xx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51027C09C5B0012118D /* hp10xx_hp20xx.cpp */; }; + B3AAF57327C0A94B001CAE1F /* inlnsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E927C09C5B0012118D /* inlnsf.cpp */; }; + B3AAF57427C0A94B001CAE1F /* le05.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D927C09C5B0012118D /* le05.cpp */; }; + B3AAF57527C0A94B001CAE1F /* mmc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D427C09C5B0012118D /* mmc2and4.cpp */; }; + B3AAF57627C0A94B001CAE1F /* onebus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FB27C09C5B0012118D /* onebus.cpp */; }; + B3AAF57727C0A94B001CAE1F /* ks7013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F927C09C5B0012118D /* ks7013.cpp */; }; + B3AAF57827C0A94B001CAE1F /* tf-1201.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50827C09C5B0012118D /* tf-1201.cpp */; }; + B3AAF57927C0A94B001CAE1F /* 158B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52027C09C5B0012118D /* 158B.cpp */; }; + B3AAF57A27C0A94B001CAE1F /* 253.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CF27C09C5B0012118D /* 253.cpp */; }; + B3AAF57B27C0A94B001CAE1F /* ks7010.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F127C09C5B0012118D /* ks7010.cpp */; }; + B3AAF57C27C0A94B001CAE1F /* 190.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49C27C09C5B0012118D /* 190.cpp */; }; + B3AAF57D27C0A94B001CAE1F /* 176.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50F27C09C5B0012118D /* 176.cpp */; }; + B3AAF57E27C0A94B001CAE1F /* ks7016.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DF27C09C5B0012118D /* ks7016.cpp */; }; + B3AAF57F27C0A94B001CAE1F /* ks7017.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E427C09C5B0012118D /* ks7017.cpp */; }; + B3AAF58027C0A94B001CAE1F /* 01-222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A527C09C5B0012118D /* 01-222.cpp */; }; + B3AAF58127C0A94B001CAE1F /* karaoke.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C227C09C5B0012118D /* karaoke.cpp */; }; + B3AAF58227C0A94B001CAE1F /* 69.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48227C09C5B0012118D /* 69.cpp */; }; + B3AAF58327C0A94B001CAE1F /* ax5705.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E327C09C5B0012118D /* ax5705.cpp */; }; + B3AAF58427C0A94B001CAE1F /* 43.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49227C09C5B0012118D /* 43.cpp */; }; + B3AAF58527C0A94B001CAE1F /* cheapocabra.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C127C09C5B0012118D /* cheapocabra.cpp */; }; + B3AAF58627C0A94B001CAE1F /* super24.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F227C09C5B0012118D /* super24.cpp */; }; + B3AAF58727C0A94B001CAE1F /* 175.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50227C09C5B0012118D /* 175.cpp */; }; + B3AAF58827C0A94B001CAE1F /* bmc13in1jy110.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47E27C09C5B0012118D /* bmc13in1jy110.cpp */; }; + B3AAF58927C0A94B001CAE1F /* 12in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51C27C09C5B0012118D /* 12in1.cpp */; }; + B3AAF58A27C0A94B001CAE1F /* bmc42in1r.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F627C09C5B0012118D /* bmc42in1r.cpp */; }; + B3AAF58B27C0A94B001CAE1F /* vrc6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49927C09C5B0012118D /* vrc6.cpp */; }; + B3AAF58C27C0A94B001CAE1F /* novel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D327C09C5B0012118D /* novel.cpp */; }; + B3AAF58D27C0A94B001CAE1F /* 168.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48427C09C5B0012118D /* 168.cpp */; }; + B3AAF58E27C0A94B001CAE1F /* 79.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A927C09C5B0012118D /* 79.cpp */; }; + B3AAF58F27C0A94B001CAE1F /* bb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49127C09C5B0012118D /* bb.cpp */; }; + B3AAF59027C0A94B001CAE1F /* 8in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BF27C09C5B0012118D /* 8in1.cpp */; }; + B3AAF59127C0A94B001CAE1F /* 34.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BC27C09C5B0012118D /* 34.cpp */; }; + B3AAF59227C0A94B001CAE1F /* ks7031.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C827C09C5B0012118D /* ks7031.cpp */; }; + B3AAF59327C0A94B001CAE1F /* rt-01.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52627C09C5B0012118D /* rt-01.cpp */; }; + B3AAF59427C0A94B001CAE1F /* coolboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AE27C09C5B0012118D /* coolboy.cpp */; }; + B3AAF59527C0A94B001CAE1F /* 3d-block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B827C09C5B0012118D /* 3d-block.cpp */; }; + B3AAF59627C0A94B001CAE1F /* n625092.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47F27C09C5B0012118D /* n625092.cpp */; }; + B3AAF59727C0A94B001CAE1F /* 246.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CD27C09C5B0012118D /* 246.cpp */; }; + B3AAF59827C0A94B001CAE1F /* 41.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48127C09C5B0012118D /* 41.cpp */; }; + B3AAF59927C0A94B001CAE1F /* malee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DB27C09C5B0012118D /* malee.cpp */; }; + B3AAF59A27C0A94B001CAE1F /* subor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C527C09C5B0012118D /* subor.cpp */; }; + B3AAF59B27C0A94B001CAE1F /* t-227-1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51527C09C5B0012118D /* t-227-1.cpp */; }; + B3AAF59C27C0A94B001CAE1F /* lh53.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B927C09C5B0012118D /* lh53.cpp */; }; + B3AAF59D27C0A94B001CAE1F /* bmc64in1nr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FD27C09C5B0012118D /* bmc64in1nr.cpp */; }; + B3AAF59E27C0A94B001CAE1F /* vrc7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A327C09C5B0012118D /* vrc7.cpp */; }; + B3AAF59F27C0A94B001CAE1F /* 40.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47D27C09C5B0012118D /* 40.cpp */; }; + B3AAF5A027C0A94B001CAE1F /* yoko.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FF27C09C5B0012118D /* yoko.cpp */; }; + B3AAF5A127C0A94B001CAE1F /* mmc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EB27C09C5B0012118D /* mmc1.cpp */; }; + B3AAF5A227C0A94B001CAE1F /* 121.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BA27C09C5B0012118D /* 121.cpp */; }; + B3AAF5A327C0A94B001CAE1F /* 411120-c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E027C09C5B0012118D /* 411120-c.cpp */; }; + B3AAF5A427C0A94B001CAE1F /* fk23c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51D27C09C5B0012118D /* fk23c.cpp */; }; + B3AAF5A527C0A94B001CAE1F /* 244.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D827C09C5B0012118D /* 244.cpp */; }; + B3AAF5A627C0A94B001CAE1F /* bandai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BD27C09C5B0012118D /* bandai.cpp */; }; + B3AAF5A727C0A94B001CAE1F /* vrc7p.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51127C09C5B0012118D /* vrc7p.cpp */; }; + B3AAF5A827C0A94B001CAE1F /* 96.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48527C09C5B0012118D /* 96.cpp */; }; + B3AAF5A927C0A94B001CAE1F /* mmc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F327C09C5B0012118D /* mmc5.cpp */; }; + B3AAF5AA27C0A94B001CAE1F /* 90.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A227C09C5B0012118D /* 90.cpp */; }; + B3AAF5AB27C0A94B001CAE1F /* 33.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DA27C09C5B0012118D /* 33.cpp */; }; + B3AAF5AC27C0A94B001CAE1F /* F-15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51227C09C5B0012118D /* F-15.cpp */; }; + B3AAF5AD27C0A94B001CAE1F /* tengen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52127C09C5B0012118D /* tengen.cpp */; }; + B3AAF5AE27C0A94B001CAE1F /* 91.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49A27C09C5B0012118D /* 91.cpp */; }; + B3AAF5AF27C0A94B001CAE1F /* transformer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FC27C09C5B0012118D /* transformer.cpp */; }; + B3AAF5B027C0A94B001CAE1F /* kof97.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E827C09C5B0012118D /* kof97.cpp */; }; + B3AAF5B127C0A94B001CAE1F /* 252.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CE27C09C5B0012118D /* 252.cpp */; }; + B3AAF5B227C0A94B001CAE1F /* 65.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52327C09C5B0012118D /* 65.cpp */; }; + B3AAF5B327C0A94B001CAE1F /* mihunche.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EA27C09C5B0012118D /* mihunche.cpp */; }; + B3AAF5B427C0A94B001CAE1F /* et-4320.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BB27C09C5B0012118D /* et-4320.cpp */; }; + B3AAF5B527C0A94B001CAE1F /* 117.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DD27C09C5B0012118D /* 117.cpp */; }; + B3AAF5B627C0A94B001CAE1F /* datalatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AC27C09C5B0012118D /* datalatch.cpp */; }; + B3AAF5B727C0A94B001CAE1F /* 18.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D127C09C5B0012118D /* 18.cpp */; }; + B3AAF5B827C0A94B001CAE1F /* 50.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B027C09C5B0012118D /* 50.cpp */; }; + B3AAF5B927C0A94B001CAE1F /* 830118C.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51727C09C5B0012118D /* 830118C.cpp */; }; + B3AAF5BA27C0A94B001CAE1F /* 57.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49027C09C5B0012118D /* 57.cpp */; }; + B3AAF5BB27C0A94B001CAE1F /* 151.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B127C09C5B0012118D /* 151.cpp */; }; + B3AAF5BC27C0A94B001CAE1F /* h2288.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49E27C09C5B0012118D /* h2288.cpp */; }; + B3AAF5BD27C0A94B001CAE1F /* mmc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E227C09C5B0012118D /* mmc3.cpp */; }; + B3AAF5BE27C0A94B001CAE1F /* unrom512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DE27C09C5B0012118D /* unrom512.cpp */; }; + B3AAF5BF27C0A94B001CAE1F /* 15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E727C09C5B0012118D /* 15.cpp */; }; + B3AAF5C027C0A94B001CAE1F /* 80.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48D27C09C5B0012118D /* 80.cpp */; }; + B3AAF5C127C0A94B001CAE1F /* 112.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F827C09C5B0012118D /* 112.cpp */; }; + B3AAF5C227C0A94B001CAE1F /* 88.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50E27C09C5B0012118D /* 88.cpp */; }; + B3AAF5C327C0A94B001CAE1F /* 177.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50427C09C5B0012118D /* 177.cpp */; }; + B3AAF5C427C0A94B001CAE1F /* 8157.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48827C09C5B0012118D /* 8157.cpp */; }; + B3AAF5C527C0A94B001CAE1F /* addrlatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EC27C09C5B0012118D /* addrlatch.cpp */; }; + B3AAF5C627C0A94B001CAE1F /* bs-5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C627C09C5B0012118D /* bs-5.cpp */; }; + B3AAF5C727C0A94B001CAE1F /* cityfighter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E127C09C5B0012118D /* cityfighter.cpp */; }; + B3AAF5C827C0A94B001CAE1F /* sl1632.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48F27C09C5B0012118D /* sl1632.cpp */; }; + B3AAF5C927C0A94B001CAE1F /* pec-586.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48927C09C5B0012118D /* pec-586.cpp */; }; + B3AAF5CA27C0A94B001CAE1F /* supervision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E627C09C5B0012118D /* supervision.cpp */; }; + B3AAF5CB27C0A94B001CAE1F /* ghostbusters63in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B427C09C5B0012118D /* ghostbusters63in1.cpp */; }; + B3AAF5CC27C0A94B001CAE1F /* sa-9602b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A027C09C5B0012118D /* sa-9602b.cpp */; }; + B3AAF5CD27C0A94B001CAE1F /* 235.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49627C09C5B0012118D /* 235.cpp */; }; + B3AAF5CE27C0A94B001CAE1F /* famicombox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50027C09C5B0012118D /* famicombox.cpp */; }; + B3AAF5CF27C0A94B001CAE1F /* gs-2004.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BE27C09C5B0012118D /* gs-2004.cpp */; }; + B3AAF5D027C0A94B001CAE1F /* 09-034a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F527C09C5B0012118D /* 09-034a.cpp */; }; + B3AAF5D127C0A94B001CAE1F /* 103.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DC27C09C5B0012118D /* 103.cpp */; }; + B3AAF5D227C0A94B001CAE1F /* 603-5052.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51627C09C5B0012118D /* 603-5052.cpp */; }; + B3AAF5D327C0A94B001CAE1F /* 208.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49527C09C5B0012118D /* 208.cpp */; }; + B3AAF5D427C0A94B001CAE1F /* 170.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52427C09C5B0012118D /* 170.cpp */; }; + B3AAF5D527C0A94B001CAE1F /* 62.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50527C09C5B0012118D /* 62.cpp */; }; + B3AAF5D627C0A94B001CAE1F /* 36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B727C09C5B0012118D /* 36.cpp */; }; + B3AAF5D727C0A94B001CAE1F /* 68.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47C27C09C5B0012118D /* 68.cpp */; }; + B3AAF5D827C0A94B001CAE1F /* dance2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51827C09C5B0012118D /* dance2000.cpp */; }; + B3AAF5D927C0A94B001CAE1F /* 106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F727C09C5B0012118D /* 106.cpp */; }; + B3AAF5DA27C0A94B001CAE1F /* __dummy_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49727C09C5B0012118D /* __dummy_mapper.cpp */; }; + B3AAF5DB27C0A94B001CAE1F /* 77.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50B27C09C5B0012118D /* 77.cpp */; }; + B3AAF5DC27C0A94B001CAE1F /* 186.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AF27C09C5B0012118D /* 186.cpp */; }; + B3AAF5DD27C0A94B001CAE1F /* 232.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AD27C09C5B0012118D /* 232.cpp */; }; + B3AAF5DE27C0A94B001CAE1F /* sheroes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4ED27C09C5B0012118D /* sheroes.cpp */; }; + B3AAF5DF27C0A94B001CAE1F /* t-262.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51E27C09C5B0012118D /* t-262.cpp */; }; + B3AAF5E027C0A94B001CAE1F /* 71.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52227C09C5B0012118D /* 71.cpp */; }; + B3AAF5E127C0A94B001CAE1F /* 225.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49D27C09C5B0012118D /* 225.cpp */; }; + B3AAF5E227C0A94B001CAE1F /* 164.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52527C09C5B0012118D /* 164.cpp */; }; + B3AAF5E327C0A94B001CAE1F /* ks7057.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48E27C09C5B0012118D /* ks7057.cpp */; }; + B3AAF5E427C0A94B001CAE1F /* emu2413.c in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52727C09C5B0012118D /* emu2413.c */; }; + B3AAF5E527C0A94B001CAE1F /* 99.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51A27C09C5B0012118D /* 99.cpp */; }; + B3AAF5E627C0A94B001CAE1F /* et-100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F427C09C5B0012118D /* et-100.cpp */; }; + B3AAF5E727C0A94B001CAE1F /* 230.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49F27C09C5B0012118D /* 230.cpp */; }; + B3AAF5E827C0A94B001CAE1F /* ks7012.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FE27C09C5B0012118D /* ks7012.cpp */; }; + B3AAF5E927C0A94B001CAE1F /* lh32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48727C09C5B0012118D /* lh32.cpp */; }; + B3AAF5EA27C0A94B001CAE1F /* bonza.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CB27C09C5B0012118D /* bonza.cpp */; }; + B3AAF5EB27C0A94B001CAE1F /* 28.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EF27C09C5B0012118D /* 28.cpp */; }; + B3AAF5EC27C0A94B001CAE1F /* ffe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D227C09C5B0012118D /* ffe.cpp */; }; + B3AAF5ED27C0A94B001CAE1F /* 72.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51927C09C5B0012118D /* 72.cpp */; }; + B3AAF5EE27C0A94B001CAE1F /* ks7032.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D627C09C5B0012118D /* ks7032.cpp */; }; + B3AAF5EF27C0A94B001CAE1F /* vrc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48A27C09C5B0012118D /* vrc1.cpp */; }; + B3AAF5F027C0A94B001CAE1F /* gs-2013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B527C09C5B0012118D /* gs-2013.cpp */; }; + B3AAF5F127C0A94B001CAE1F /* 189.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50C27C09C5B0012118D /* 189.cpp */; }; + B3AAF5F227C0A94B001CAE1F /* ks7030.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D027C09C5B0012118D /* ks7030.cpp */; }; + B3AAF5F327C0A94B001CAE1F /* 116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E527C09C5B0012118D /* 116.cpp */; }; + B3AAF5F427C0A94B001CAE1F /* 51.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A727C09C5B0012118D /* 51.cpp */; }; + B3AAF5F527C0A94B001CAE1F /* vrc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B227C09C5B0012118D /* vrc2and4.cpp */; }; + B3AAF5F627C0A94B001CAE1F /* 228.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50A27C09C5B0012118D /* 228.cpp */; }; + B3AAF5F727C0A94B001CAE1F /* 199.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51427C09C5B0012118D /* 199.cpp */; }; + B3AAF5F827C0A94B001CAE1F /* 178.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A627C09C5B0012118D /* 178.cpp */; }; + B3AAF5F927C0A94B001CAE1F /* vrc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48B27C09C5B0012118D /* vrc3.cpp */; }; + B3AAF5FA27C0A94B001CAE1F /* 32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D527C09C5B0012118D /* 32.cpp */; }; + B3AAF5FB27C0A94B001CAE1F /* edu2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C027C09C5B0012118D /* edu2000.cpp */; }; + B3AAF5FC27C0A94B001CAE1F /* 193.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AA27C09C5B0012118D /* 193.cpp */; }; + B3AAF5FD27C0A94B001CAE1F /* 8237.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49327C09C5B0012118D /* 8237.cpp */; }; + B3AAF5FE27C0A94B001CAE1F /* BMW8544.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C927C09C5B0012118D /* BMW8544.cpp */; }; + B3AAF5FF27C0A94B001CAE1F /* hp898f.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50327C09C5B0012118D /* hp898f.cpp */; }; + B3AAF60027C0A94B001CAE1F /* bs4xxxr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50127C09C5B0012118D /* bs4xxxr.cpp */; }; + B3AAF60127C0A94B001CAE1F /* 156.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48C27C09C5B0012118D /* 156.cpp */; }; + B3AAF60227C0A94B001CAE1F /* 234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49427C09C5B0012118D /* 234.cpp */; }; + B3AAF60327C0A94B001CAE1F /* a9746.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CC27C09C5B0012118D /* a9746.cpp */; }; + B3AAF60427C0A94B001CAE1F /* eh8813a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50727C09C5B0012118D /* eh8813a.cpp */; }; + B3AAF60527C0A94B001CAE1F /* dream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F027C09C5B0012118D /* dream.cpp */; }; + B3AAF60627C0A94B001CAE1F /* sb-2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50627C09C5B0012118D /* sb-2000.cpp */; }; + B3AAF60727C0A94B001CAE1F /* sc-127.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FA27C09C5B0012118D /* sc-127.cpp */; }; + B3AAF60827C0A94B001CAE1F /* n106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50927C09C5B0012118D /* n106.cpp */; }; + B3AAF60927C0A94B001CAE1F /* 187.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A827C09C5B0012118D /* 187.cpp */; }; + B3AAF60A27C0A94B001CAE1F /* sachen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D727C09C5B0012118D /* sachen.cpp */; }; + B3AAF60B27C0A94B001CAE1F /* vrc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A427C09C5B0012118D /* vrc5.cpp */; }; + B3AAF60C27C0A94B001CAE1F /* fns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51B27C09C5B0012118D /* fns.cpp */; }; + B3AAF60D27C0A94B001CAE1F /* 46.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49B27C09C5B0012118D /* 46.cpp */; }; + B3AAF60E27C0A94B001CAE1F /* 82.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48627C09C5B0012118D /* 82.cpp */; }; + B3AAF60F27C0A94B001CAE1F /* ac-08.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AB27C09C5B0012118D /* ac-08.cpp */; }; + B3AAF61027C0A94B001CAE1F /* bmc70in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C727C09C5B0012118D /* bmc70in1.cpp */; }; + B3AAF61127C0A94B001CAE1F /* ks7037.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B327C09C5B0012118D /* ks7037.cpp */; }; + B3AAF61227C0A94B001CAE1F /* 185.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A127C09C5B0012118D /* 185.cpp */; }; + B3AAF61327C0A94B001CAE1F /* 206.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51F27C09C5B0012118D /* 206.cpp */; }; + B3AAF61427C0A94B001CAE1F /* 120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C427C09C5B0012118D /* 120.cpp */; }; + B3AAF61527C0A94B001CAE1F /* 42.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49827C09C5B0012118D /* 42.cpp */; }; + B3AAF61627C0A94B001CAE1F /* 222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48027C09C5B0012118D /* 222.cpp */; }; + B3AAF61727C0A94B001CAE1F /* 108.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C327C09C5B0012118D /* 108.cpp */; }; + B3AAF61827C0A94B001CAE1F /* 80013-B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B627C09C5B0012118D /* 80013-B.cpp */; }; + B3AAF61927C0A94B001CAE1F /* 67.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51327C09C5B0012118D /* 67.cpp */; }; + B3AAF61A27C0A94B001CAE1F /* 183.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48327C09C5B0012118D /* 183.cpp */; }; + B3AAF61B27C0A94B001CAE1F /* hp10xx_hp20xx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51027C09C5B0012118D /* hp10xx_hp20xx.cpp */; }; + B3AAF61C27C0A94B001CAE1F /* inlnsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E927C09C5B0012118D /* inlnsf.cpp */; }; + B3AAF61D27C0A94B001CAE1F /* le05.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D927C09C5B0012118D /* le05.cpp */; }; + B3AAF61E27C0A94B001CAE1F /* mmc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D427C09C5B0012118D /* mmc2and4.cpp */; }; + B3AAF61F27C0A94B001CAE1F /* onebus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FB27C09C5B0012118D /* onebus.cpp */; }; + B3AAF62027C0A94B001CAE1F /* ks7013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F927C09C5B0012118D /* ks7013.cpp */; }; + B3AAF62127C0A94B001CAE1F /* tf-1201.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50827C09C5B0012118D /* tf-1201.cpp */; }; + B3AAF62227C0A94B001CAE1F /* 158B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52027C09C5B0012118D /* 158B.cpp */; }; + B3AAF62327C0A94B001CAE1F /* 253.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CF27C09C5B0012118D /* 253.cpp */; }; + B3AAF62427C0A94B001CAE1F /* ks7010.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F127C09C5B0012118D /* ks7010.cpp */; }; + B3AAF62527C0A94B001CAE1F /* 190.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49C27C09C5B0012118D /* 190.cpp */; }; + B3AAF62627C0A94B001CAE1F /* 176.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50F27C09C5B0012118D /* 176.cpp */; }; + B3AAF62727C0A94B001CAE1F /* ks7016.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DF27C09C5B0012118D /* ks7016.cpp */; }; + B3AAF62827C0A94B001CAE1F /* ks7017.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E427C09C5B0012118D /* ks7017.cpp */; }; + B3AAF62927C0A94B001CAE1F /* 01-222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A527C09C5B0012118D /* 01-222.cpp */; }; + B3AAF62A27C0A94B001CAE1F /* karaoke.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C227C09C5B0012118D /* karaoke.cpp */; }; + B3AAF62B27C0A94B001CAE1F /* 69.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48227C09C5B0012118D /* 69.cpp */; }; + B3AAF62C27C0A94B001CAE1F /* ax5705.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E327C09C5B0012118D /* ax5705.cpp */; }; + B3AAF62D27C0A94B001CAE1F /* 43.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49227C09C5B0012118D /* 43.cpp */; }; + B3AAF62E27C0A94B001CAE1F /* cheapocabra.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C127C09C5B0012118D /* cheapocabra.cpp */; }; + B3AAF62F27C0A94B001CAE1F /* super24.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F227C09C5B0012118D /* super24.cpp */; }; + B3AAF63027C0A94B001CAE1F /* 175.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB50227C09C5B0012118D /* 175.cpp */; }; + B3AAF63127C0A94B001CAE1F /* bmc13in1jy110.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47E27C09C5B0012118D /* bmc13in1jy110.cpp */; }; + B3AAF63227C0A94B001CAE1F /* 12in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51C27C09C5B0012118D /* 12in1.cpp */; }; + B3AAF63327C0A94B001CAE1F /* bmc42in1r.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F627C09C5B0012118D /* bmc42in1r.cpp */; }; + B3AAF63427C0A94B001CAE1F /* vrc6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49927C09C5B0012118D /* vrc6.cpp */; }; + B3AAF63527C0A94B001CAE1F /* novel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D327C09C5B0012118D /* novel.cpp */; }; + B3AAF63627C0A94B001CAE1F /* 168.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48427C09C5B0012118D /* 168.cpp */; }; + B3AAF63727C0A94B001CAE1F /* 79.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A927C09C5B0012118D /* 79.cpp */; }; + B3AAF63827C0A94B001CAE1F /* bb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49127C09C5B0012118D /* bb.cpp */; }; + B3AAF63927C0A94B001CAE1F /* 8in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BF27C09C5B0012118D /* 8in1.cpp */; }; + B3AAF63A27C0A94B001CAE1F /* 34.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BC27C09C5B0012118D /* 34.cpp */; }; + B3AAF63B27C0A94B001CAE1F /* ks7031.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C827C09C5B0012118D /* ks7031.cpp */; }; + B3AAF63C27C0A94B001CAE1F /* rt-01.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52627C09C5B0012118D /* rt-01.cpp */; }; + B3AAF63D27C0A94B001CAE1F /* coolboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AE27C09C5B0012118D /* coolboy.cpp */; }; + B3AAF63E27C0A94B001CAE1F /* 3d-block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B827C09C5B0012118D /* 3d-block.cpp */; }; + B3AAF63F27C0A94B001CAE1F /* n625092.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47F27C09C5B0012118D /* n625092.cpp */; }; + B3AAF64027C0A94B001CAE1F /* 246.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CD27C09C5B0012118D /* 246.cpp */; }; + B3AAF64127C0A94B001CAE1F /* 41.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48127C09C5B0012118D /* 41.cpp */; }; + B3AAF64227C0A94B001CAE1F /* malee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DB27C09C5B0012118D /* malee.cpp */; }; + B3AAF64327C0A94B001CAE1F /* subor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4C527C09C5B0012118D /* subor.cpp */; }; + B3AAF64427C0A94B001CAE1F /* t-227-1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51527C09C5B0012118D /* t-227-1.cpp */; }; + B3AAF64527C0A94B001CAE1F /* lh53.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B927C09C5B0012118D /* lh53.cpp */; }; + B3AAF64627C0A94B001CAE1F /* bmc64in1nr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FD27C09C5B0012118D /* bmc64in1nr.cpp */; }; + B3AAF64727C0A94B001CAE1F /* vrc7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A327C09C5B0012118D /* vrc7.cpp */; }; + B3AAF64827C0A94B001CAE1F /* 40.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB47D27C09C5B0012118D /* 40.cpp */; }; + B3AAF64927C0A94B001CAE1F /* yoko.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FF27C09C5B0012118D /* yoko.cpp */; }; + B3AAF64A27C0A94B001CAE1F /* mmc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EB27C09C5B0012118D /* mmc1.cpp */; }; + B3AAF64B27C0A94B001CAE1F /* 121.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BA27C09C5B0012118D /* 121.cpp */; }; + B3AAF64C27C0A94B001CAE1F /* 411120-c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E027C09C5B0012118D /* 411120-c.cpp */; }; + B3AAF64D27C0A94B001CAE1F /* fk23c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51D27C09C5B0012118D /* fk23c.cpp */; }; + B3AAF64E27C0A94B001CAE1F /* 244.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D827C09C5B0012118D /* 244.cpp */; }; + B3AAF64F27C0A94B001CAE1F /* bandai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BD27C09C5B0012118D /* bandai.cpp */; }; + B3AAF65027C0A94B001CAE1F /* vrc7p.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51127C09C5B0012118D /* vrc7p.cpp */; }; + B3AAF65127C0A94B001CAE1F /* 96.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB48527C09C5B0012118D /* 96.cpp */; }; + B3AAF65227C0A94B001CAE1F /* mmc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4F327C09C5B0012118D /* mmc5.cpp */; }; + B3AAF65327C0A94B001CAE1F /* 90.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4A227C09C5B0012118D /* 90.cpp */; }; + B3AAF65427C0A94B001CAE1F /* 33.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DA27C09C5B0012118D /* 33.cpp */; }; + B3AAF65527C0A94B001CAE1F /* F-15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51227C09C5B0012118D /* F-15.cpp */; }; + B3AAF65627C0A94B001CAE1F /* tengen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52127C09C5B0012118D /* tengen.cpp */; }; + B3AAF65727C0A94B001CAE1F /* 91.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49A27C09C5B0012118D /* 91.cpp */; }; + B3AAF65827C0A94B001CAE1F /* transformer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4FC27C09C5B0012118D /* transformer.cpp */; }; + B3AAF65927C0A94B001CAE1F /* kof97.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E827C09C5B0012118D /* kof97.cpp */; }; + B3AAF65A27C0A94B001CAE1F /* 252.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4CE27C09C5B0012118D /* 252.cpp */; }; + B3AAF65B27C0A94B001CAE1F /* 65.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB52327C09C5B0012118D /* 65.cpp */; }; + B3AAF65C27C0A94B001CAE1F /* mihunche.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4EA27C09C5B0012118D /* mihunche.cpp */; }; + B3AAF65D27C0A94B001CAE1F /* et-4320.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4BB27C09C5B0012118D /* et-4320.cpp */; }; + B3AAF65E27C0A94C001CAE1F /* 117.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DD27C09C5B0012118D /* 117.cpp */; }; + B3AAF65F27C0A94C001CAE1F /* datalatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4AC27C09C5B0012118D /* datalatch.cpp */; }; + B3AAF66027C0A94C001CAE1F /* 18.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4D127C09C5B0012118D /* 18.cpp */; }; + B3AAF66127C0A94C001CAE1F /* 50.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B027C09C5B0012118D /* 50.cpp */; }; + B3AAF66227C0A94C001CAE1F /* 830118C.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB51727C09C5B0012118D /* 830118C.cpp */; }; + B3AAF66327C0A94C001CAE1F /* 57.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49027C09C5B0012118D /* 57.cpp */; }; + B3AAF66427C0A94C001CAE1F /* 151.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4B127C09C5B0012118D /* 151.cpp */; }; + B3AAF66527C0A94C001CAE1F /* h2288.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB49E27C09C5B0012118D /* h2288.cpp */; }; + B3AAF66627C0A94C001CAE1F /* mmc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4E227C09C5B0012118D /* mmc3.cpp */; }; + B3AAF66727C0A94C001CAE1F /* unrom512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB4DE27C09C5B0012118D /* unrom512.cpp */; }; + B3AAF66827C0A95C001CAE1F /* libfceux-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3BCA9BC27C09C230012118D /* libfceux-iOS.a */; }; + B3AAF66B27C0AA43001CAE1F /* os_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38827C09C5B0012118D /* os_utils.cpp */; }; + B3AAF66C27C0AA43001CAE1F /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38627C09C5B0012118D /* cheat.cpp */; }; + B3AAF66D27C0AA43001CAE1F /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38027C09C5B0012118D /* hq2x.cpp */; }; + B3AAF66E27C0AA43001CAE1F /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38227C09C5B0012118D /* hq3x.cpp */; }; + B3AAF66F27C0AA43001CAE1F /* configSys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB36F27C09C5B0012118D /* configSys.cpp */; }; + B3AAF67027C0AA43001CAE1F /* scale3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37827C09C5B0012118D /* scale3x.cpp */; }; + B3AAF67227C0AA43001CAE1F /* nes_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38527C09C5B0012118D /* nes_ntsc.c */; }; + B3AAF67327C0AA43001CAE1F /* args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37527C09C5B0012118D /* args.cpp */; }; + B3AAF67427C0AA43001CAE1F /* scalebit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37427C09C5B0012118D /* scalebit.cpp */; }; + B3AAF67527C0AA43001CAE1F /* scale2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37027C09C5B0012118D /* scale2x.cpp */; }; + B3AAF67627C0AA43001CAE1F /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38127C09C5B0012118D /* config.cpp */; }; + B3AAF68327C0AA51001CAE1F /* os_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38827C09C5B0012118D /* os_utils.cpp */; }; + B3AAF68427C0AA51001CAE1F /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38627C09C5B0012118D /* cheat.cpp */; }; + B3AAF68527C0AA51001CAE1F /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38027C09C5B0012118D /* hq2x.cpp */; }; + B3AAF68627C0AA51001CAE1F /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38227C09C5B0012118D /* hq3x.cpp */; }; + B3AAF68727C0AA51001CAE1F /* configSys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB36F27C09C5B0012118D /* configSys.cpp */; }; + B3AAF68827C0AA51001CAE1F /* scale3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37827C09C5B0012118D /* scale3x.cpp */; }; + B3AAF68A27C0AA51001CAE1F /* nes_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38527C09C5B0012118D /* nes_ntsc.c */; }; + B3AAF68B27C0AA51001CAE1F /* args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37527C09C5B0012118D /* args.cpp */; }; + B3AAF68C27C0AA51001CAE1F /* scalebit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37427C09C5B0012118D /* scalebit.cpp */; }; + B3AAF68D27C0AA51001CAE1F /* scale2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB37027C09C5B0012118D /* scale2x.cpp */; }; + B3AAF68E27C0AA51001CAE1F /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3BCB38127C09C5B0012118D /* config.cpp */; }; + B3BCA6F227C098C00012118D /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77301ABF16A4002274A3 /* emufile.cpp */; }; + B3BCA6F327C098C00012118D /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DE1ABF16A5002274A3 /* md5.cpp */; }; + B3BCA6F427C098C00012118D /* powerpad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77641ABF16A4002274A3 /* powerpad.cpp */; }; + B3BCA6F527C098C00012118D /* 170.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1D1D6ECD7500742D04 /* 170.cpp */; }; + B3BCA6F627C098C00012118D /* n625092.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE751D6ECD7500742D04 /* n625092.cpp */; }; + B3BCA6F727C098C00012118D /* sb-2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7C1D6ECD7500742D04 /* sb-2000.cpp */; }; + B3BCA6F827C098C00012118D /* snesmouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFDB1D6ED02100742D04 /* snesmouse.cpp */; }; + B3BCA6F927C098C00012118D /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEF1D6ED36300742D04 /* config.cpp */; }; + B3BCA6FA27C098C00012118D /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AC1ABF16A3002274A3 /* drawing.cpp */; }; + B3BCA6FB27C098C00012118D /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFED1D6ED36300742D04 /* cheat.cpp */; }; + B3BCA6FC27C098C00012118D /* 79.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE081D6ECD7500742D04 /* 79.cpp */; }; + B3BCA6FD27C098C00012118D /* et-100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE511D6ECD7500742D04 /* et-100.cpp */; }; + B3BCA6FE27C098C00012118D /* ax5705.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3E1D6ECD7500742D04 /* ax5705.cpp */; }; + B3BCA6FF27C098C00012118D /* vrc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8C1D6ECD7500742D04 /* vrc3.cpp */; }; + B3BCA70027C098C00012118D /* emu2413.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4F1D6ECD7500742D04 /* emu2413.c */; }; + B3BCA70127C098C00012118D /* cityfighter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE481D6ECD7500742D04 /* cityfighter.cpp */; }; + B3BCA70227C098C00012118D /* 40.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF81D6ECD7500742D04 /* 40.cpp */; }; + B3BCA70327C098C00012118D /* 206.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE291D6ECD7500742D04 /* 206.cpp */; }; + B3BCA70427C098C00012118D /* lh32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6A1D6ECD7500742D04 /* lh32.cpp */; }; + B3BCA70527C098C00012118D /* mmc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE731D6ECD7500742D04 /* mmc5.cpp */; }; + B3BCA70627C098C00012118D /* 99.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0F1D6ECD7500742D04 /* 99.cpp */; }; + B3BCA70727C098C00012118D /* ks7031.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE651D6ECD7500742D04 /* ks7031.cpp */; }; + B3BCA70827C098C00012118D /* wave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77ED1ABF16A5002274A3 /* wave.cpp */; }; + B3BCA70927C098C00012118D /* 46.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFC1D6ECD7500742D04 /* 46.cpp */; }; + B3BCA70A27C098C00012118D /* bb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE401D6ECD7500742D04 /* bb.cpp */; }; + B3BCA70B27C098C00012118D /* mmc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6F1D6ECD7500742D04 /* mmc1.cpp */; }; + B3BCA70C27C098C00012118D /* malee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6C1D6ECD7500742D04 /* malee.cpp */; }; + B3BCA70D27C098C00012118D /* subor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE811D6ECD7500742D04 /* subor.cpp */; }; + B3BCA70E27C098C00012118D /* ks7057.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE681D6ECD7500742D04 /* ks7057.cpp */; }; + B3BCA70F27C098C00012118D /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E61ABF16A5002274A3 /* xstring.cpp */; }; + B3BCA71027C098C00012118D /* 189.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE261D6ECD7500742D04 /* 189.cpp */; }; + B3BCA71127C098C00012118D /* 151.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE181D6ECD7500742D04 /* 151.cpp */; }; + B3BCA71227C098C00012118D /* backward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D01ABF16A5002274A3 /* backward.cpp */; }; + B3BCA71327C098C00012118D /* 177.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE201D6ECD7500742D04 /* 177.cpp */; }; + B3BCA71427C098C00012118D /* 222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2B1D6ECD7500742D04 /* 222.cpp */; }; + B3BCA71527C098C00012118D /* vidblit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8C0021D6ED36300742D04 /* vidblit.cpp */; }; + B3BCA71627C098C00012118D /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775C1ABF16A4002274A3 /* cursor.cpp */; }; + B3BCA71727C098C00012118D /* 67.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE021D6ECD7500742D04 /* 67.cpp */; }; + B3BCA71827C098C00012118D /* sc-127.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7D1D6ECD7500742D04 /* sc-127.cpp */; }; + B3BCA71927C098C00012118D /* pec586kb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFD81D6ECFC200742D04 /* pec586kb.cpp */; }; + B3BCA71A27C098C00012118D /* 57.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFF1D6ECD7500742D04 /* 57.cpp */; }; + B3BCA71B27C098C00012118D /* 96.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0E1D6ECD7500742D04 /* 96.cpp */; }; + B3BCA71C27C098C00012118D /* 106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE111D6ECD7500742D04 /* 106.cpp */; }; + B3BCA71D27C098C00012118D /* fds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77371ABF16A4002274A3 /* fds.cpp */; }; + B3BCA71E27C098C00012118D /* n106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE741D6ECD7500742D04 /* n106.cpp */; }; + B3BCA71F27C098C00012118D /* 103.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE101D6ECD7500742D04 /* 103.cpp */; }; + B3BCA72027C098C00012118D /* pec-586.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE781D6ECD7500742D04 /* pec-586.cpp */; }; + B3BCA72127C098C00012118D /* conddebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A61ABF16A3002274A3 /* conddebug.cpp */; }; + B3BCA72227C098C00012118D /* 82.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0A1D6ECD7500742D04 /* 82.cpp */; }; + B3BCA72327C098C00012118D /* 156.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE191D6ECD7500742D04 /* 156.cpp */; }; + B3BCA72427C098C00012118D /* fkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775D1ABF16A4002274A3 /* fkb.cpp */; }; + B3BCA72527C098C00012118D /* bmc42in1r.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE421D6ECD7500742D04 /* bmc42in1r.cpp */; }; + B3BCA72627C098C00012118D /* eh8813a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4E1D6ECD7500742D04 /* eh8813a.cpp */; }; + B3BCA72727C098C00012118D /* edu2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4D1D6ECD7500742D04 /* edu2000.cpp */; }; + B3BCA72827C098C00012118D /* vsuni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EB1ABF16A5002274A3 /* vsuni.cpp */; }; + B3BCA72927C098C00012118D /* inlnsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5C1D6ECD7500742D04 /* inlnsf.cpp */; }; + B3BCA72A27C098C00012118D /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A773B1ABF16A4002274A3 /* filter.cpp */; }; + B3BCA72B27C098C00012118D /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D21ABF16A5002274A3 /* ConvertUTF.c */; }; + B3BCA72C27C098C00012118D /* tf-1201.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE871D6ECD7500742D04 /* tf-1201.cpp */; }; + B3BCA72D27C098C00012118D /* 199.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE281D6ECD7500742D04 /* 199.cpp */; }; + B3BCA72E27C098C00012118D /* ac-08.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3C1D6ECD7500742D04 /* ac-08.cpp */; }; + B3BCA72F27C098C00012118D /* gs-2013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE591D6ECD7500742D04 /* gs-2013.cpp */; }; + B3BCA73027C098C00012118D /* scalebit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFF1D6ED36300742D04 /* scalebit.cpp */; }; + B3BCA73127C098C00012118D /* 18.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF21D6ECD7500742D04 /* 18.cpp */; }; + B3BCA73227C098C00012118D /* 228.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2D1D6ECD7500742D04 /* 228.cpp */; }; + B3BCA73327C098C00012118D /* h2288.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5A1D6ECD7500742D04 /* h2288.cpp */; }; + B3BCA73427C098C00012118D /* 183.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE221D6ECD7500742D04 /* 183.cpp */; }; + B3BCA73527C098C00012118D /* ioapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DC1ABF16A5002274A3 /* ioapi.cpp */; }; + B3BCA73627C098C00012118D /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776E1ABF16A4002274A3 /* input.cpp */; }; + B3BCA73727C098C00012118D /* 62.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE001D6ECD7500742D04 /* 62.cpp */; }; + B3BCA73827C098C00012118D /* vrc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8B1D6ECD7500742D04 /* vrc2and4.cpp */; }; + B3BCA73927C098C00012118D /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77621ABF16A4002274A3 /* mouse.cpp */; }; + B3BCA73A27C098C00012118D /* suborkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77691ABF16A4002274A3 /* suborkb.cpp */; }; + B3BCA73B27C098C00012118D /* nsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B41ABF16A4002274A3 /* nsf.cpp */; }; + B3BCA73C27C098C00012118D /* oldmovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */; }; + B3BCA73D27C098C00012118D /* 36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF71D6ECD7500742D04 /* 36.cpp */; }; + B3BCA73E27C098C00012118D /* 34.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF61D6ECD7500742D04 /* 34.cpp */; }; + B3BCA73F27C098C00012118D /* 164.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1B1D6ECD7500742D04 /* 164.cpp */; }; + B3BCA74027C098C00012118D /* ks7013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE611D6ECD7500742D04 /* ks7013.cpp */; }; + B3BCA74127C098C00012118D /* bs-5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE471D6ECD7500742D04 /* bs-5.cpp */; }; + B3BCA74227C098C00012118D /* 187.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE251D6ECD7500742D04 /* 187.cpp */; }; + B3BCA74327C098C00012118D /* ftrainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775F1ABF16A4002274A3 /* ftrainer.cpp */; }; + B3BCA74427C098C00012118D /* 116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE141D6ECD7500742D04 /* 116.cpp */; }; + B3BCA74527C098C00012118D /* nes_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF91D6ED36300742D04 /* nes_ntsc.c */; }; + B3BCA74627C098C00012118D /* 09-034a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEF1D6ECD7500742D04 /* 09-034a.cpp */; }; + B3BCA74727C098C00012118D /* sl1632.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE801D6ECD7500742D04 /* sl1632.cpp */; }; + B3BCA74827C098C00012118D /* ks7012.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE601D6ECD7500742D04 /* ks7012.cpp */; }; + B3BCA74927C098C00012118D /* vrc7p.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE901D6ECD7500742D04 /* vrc7p.cpp */; }; + B3BCA74A27C098C00012118D /* configSys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF11D6ED36300742D04 /* configSys.cpp */; }; + B3BCA74B27C098C00012118D /* fk23c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE561D6ECD7500742D04 /* fk23c.cpp */; }; + B3BCA74C27C098C00012118D /* bmc13in1jy110.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE411D6ECD7500742D04 /* bmc13in1jy110.cpp */; }; + B3BCA74D27C098C00012118D /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C71ABF16A5002274A3 /* sound.cpp */; }; + B3BCA74E27C098C00012118D /* 235.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE311D6ECD7500742D04 /* 235.cpp */; }; + B3BCA74F27C098C00012118D /* ks7016.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE621D6ECD7500742D04 /* ks7016.cpp */; }; + B3BCA75027C098C00012118D /* ffe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE551D6ECD7500742D04 /* ffe.cpp */; }; + B3BCA75127C098C00012118D /* bworld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775B1ABF16A4002274A3 /* bworld.cpp */; }; + B3BCA75227C098C00012118D /* 253.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE351D6ECD7500742D04 /* 253.cpp */; }; + B3BCA75327C098C00012118D /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E31ABF16A5002274A3 /* unzip.cpp */; }; + B3BCA75427C098C00012118D /* 185.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE231D6ECD7500742D04 /* 185.cpp */; }; + B3BCA75527C098C00012118D /* 88.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0B1D6ECD7500742D04 /* 88.cpp */; }; + B3BCA75627C098C00012118D /* ks7030.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE641D6ECD7500742D04 /* ks7030.cpp */; }; + B3BCA75727C098C00012118D /* coolboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE491D6ECD7500742D04 /* coolboy.cpp */; }; + B3BCA75827C098C00012118D /* mahjong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77611ABF16A4002274A3 /* mahjong.cpp */; }; + B3BCA75927C098C00012118D /* crc32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D41ABF16A5002274A3 /* crc32.cpp */; }; + B3BCA75A27C098C00012118D /* asm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75061ABF16A3002274A3 /* asm.cpp */; }; + B3BCA75B27C098C00012118D /* sachen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7B1D6ECD7500742D04 /* sachen.cpp */; }; + B3BCA75C27C098C00012118D /* 208.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2A1D6ECD7500742D04 /* 208.cpp */; }; + B3BCA75D27C098C00012118D /* 108.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE121D6ECD7500742D04 /* 108.cpp */; }; + B3BCA75E27C098C00012118D /* 51.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFE1D6ECD7500742D04 /* 51.cpp */; }; + B3BCA75F27C098C00012118D /* 411120-c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE391D6ECD7500742D04 /* 411120-c.cpp */; }; + B3BCA76027C098C00012118D /* 244.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE321D6ECD7500742D04 /* 244.cpp */; }; + B3BCA76127C098C00012118D /* 8in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEE1D6ECD7500742D04 /* 8in1.cpp */; }; + B3BCA76227C098C00012118D /* ks7037.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE671D6ECD7500742D04 /* ks7037.cpp */; }; + B3BCA76327C098C00012118D /* oekakids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77631ABF16A4002274A3 /* oekakids.cpp */; }; + B3BCA76427C098C00012118D /* 80.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE091D6ECD7500742D04 /* 80.cpp */; }; + B3BCA76527C098C00012118D /* unif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77CD1ABF16A5002274A3 /* unif.cpp */; }; + B3BCA76627C098C00012118D /* shadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77671ABF16A4002274A3 /* shadow.cpp */; }; + B3BCA76727C098C00012118D /* 225.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2C1D6ECD7500742D04 /* 225.cpp */; }; + B3BCA76827C098C00012118D /* 168.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1C1D6ECD7500742D04 /* 168.cpp */; }; + B3BCA76927C098C00012118D /* 175.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1E1D6ECD7500742D04 /* 175.cpp */; }; + B3BCA76A27C098C00012118D /* args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEB1D6ED36300742D04 /* args.cpp */; }; + B3BCA76B27C098C00012118D /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B91ABF16A4002274A3 /* palette.cpp */; }; + B3BCA76C27C098C00012118D /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D61ABF16A5002274A3 /* endian.cpp */; }; + B3BCA76D27C098C00012118D /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E01ABF16A5002274A3 /* memory.cpp */; }; + B3BCA76E27C098C00012118D /* 68.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE031D6ECD7500742D04 /* 68.cpp */; }; + B3BCA76F27C098C00012118D /* 65.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE011D6ECD7500742D04 /* 65.cpp */; }; + B3BCA77027C098C00012118D /* scale3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFD1D6ED36300742D04 /* scale3x.cpp */; }; + B3BCA77127C098C00012118D /* 176.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1F1D6ECD7500742D04 /* 176.cpp */; }; + B3BCA77227C098C00012118D /* 42.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFA1D6ECD7500742D04 /* 42.cpp */; }; + B3BCA77327C098C00012118D /* t-227-1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE841D6ECD7500742D04 /* t-227-1.cpp */; }; + B3BCA77427C098C00012118D /* 3d-block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDED1D6ECD7500742D04 /* 3d-block.cpp */; }; + B3BCA77527C098C00012118D /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77391ABF16A4002274A3 /* file.cpp */; }; + B3BCA77627C098C00012118D /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C91ABF16A5002274A3 /* state.cpp */; }; + B3BCA77727C098C00012118D /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AA1ABF16A3002274A3 /* debug.cpp */; }; + B3BCA77827C098C00012118D /* ines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77571ABF16A4002274A3 /* ines.cpp */; }; + B3BCA77927C098C00012118D /* 193.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE271D6ECD7500742D04 /* 193.cpp */; }; + B3BCA77A27C098C00012118D /* 112.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE131D6ECD7500742D04 /* 112.cpp */; }; + B3BCA77B27C098C00012118D /* 252.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE341D6ECD7500742D04 /* 252.cpp */; }; + B3BCA77C27C098C00012118D /* 230.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2E1D6ECD7500742D04 /* 230.cpp */; }; + B3BCA77D27C098C00012118D /* yoko.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE911D6ECD7500742D04 /* yoko.cpp */; }; + B3BCA77E27C098C00012118D /* vrc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8A1D6ECD7500742D04 /* vrc1.cpp */; }; + B3BCA77F27C098C00012118D /* hp898f.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5B1D6ECD7500742D04 /* hp898f.cpp */; }; + B3BCA78027C098C00012118D /* super24.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE821D6ECD7500742D04 /* super24.cpp */; }; + B3BCA78127C098C00012118D /* 178.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE211D6ECD7500742D04 /* 178.cpp */; }; + B3BCA78227C098C00012118D /* vrc7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8F1D6ECD7500742D04 /* vrc7.cpp */; }; + B3BCA78327C098C00012118D /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF51D6ED36300742D04 /* hq3x.cpp */; }; + B3BCA78427C098C00012118D /* bmc64in1nr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE431D6ECD7500742D04 /* bmc64in1nr.cpp */; }; + B3BCA78527C098C00012118D /* 246.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE331D6ECD7500742D04 /* 246.cpp */; }; + B3BCA78627C098C00012118D /* ks7032.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE661D6ECD7500742D04 /* ks7032.cpp */; }; + B3BCA78727C098C00012118D /* ks7010.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5F1D6ECD7500742D04 /* ks7010.cpp */; }; + B3BCA78827C098C00012118D /* a9746.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3B1D6ECD7500742D04 /* a9746.cpp */; }; + B3BCA78927C098C00012118D /* toprider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776B1ABF16A4002274A3 /* toprider.cpp */; }; + B3BCA78A27C098C00012118D /* mmc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE701D6ECD7500742D04 /* mmc2and4.cpp */; }; + B3BCA78B27C098C00012118D /* 120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE161D6ECD7500742D04 /* 120.cpp */; }; + B3BCA78C27C098C00012118D /* 8237.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE381D6ECD7500742D04 /* 8237.cpp */; }; + B3BCA78D27C098C00012118D /* onebus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE771D6ECD7500742D04 /* onebus.cpp */; }; + B3BCA78E27C098C00012118D /* 830118C.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3A1D6ECD7500742D04 /* 830118C.cpp */; }; + B3BCA78F27C098C00012118D /* 8157.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE371D6ECD7500742D04 /* 8157.cpp */; }; + B3BCA79027C098C00012118D /* 90.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0C1D6ECD7500742D04 /* 90.cpp */; }; + B3BCA79127C098C00012118D /* tengen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE861D6ECD7500742D04 /* tengen.cpp */; }; + B3BCA79227C098C00012118D /* dance2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4A1D6ECD7500742D04 /* dance2000.cpp */; }; + B3BCA79327C098C00012118D /* sa-9602b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7A1D6ECD7500742D04 /* sa-9602b.cpp */; }; + B3BCA79427C098C00012118D /* ks7017.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE631D6ECD7500742D04 /* ks7017.cpp */; }; + B3BCA79527C098C00012118D /* ppu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C31ABF16A5002274A3 /* ppu.cpp */; }; + B3BCA79627C098C00012118D /* gs-2004.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE581D6ECD7500742D04 /* gs-2004.cpp */; }; + B3BCA79727C098C00012118D /* __dummy_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEB1D6ECD7500742D04 /* __dummy_mapper.cpp */; }; + B3BCA79827C098C00012118D /* rt-01.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE791D6ECD7500742D04 /* rt-01.cpp */; }; + B3BCA79927C098C00012118D /* bmc70in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE441D6ECD7500742D04 /* bmc70in1.cpp */; }; + B3BCA79A27C098C00012118D /* 603-5052.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE361D6ECD7500742D04 /* 603-5052.cpp */; }; + B3BCA79B27C098C00012118D /* 43.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFB1D6ECD7500742D04 /* 43.cpp */; }; + B3BCA79C27C098C00012118D /* lh53.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6B1D6ECD7500742D04 /* lh53.cpp */; }; + B3BCA79D27C098C00012118D /* vrc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8D1D6ECD7500742D04 /* vrc5.cpp */; }; + B3BCA79E27C098C00012118D /* quiz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77651ABF16A4002274A3 /* quiz.cpp */; }; + B3BCA79F27C098C00012118D /* 158B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1A1D6ECD7500742D04 /* 158B.cpp */; }; + B3BCA7A027C098C00012118D /* ghostbusters63in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE571D6ECD7500742D04 /* ghostbusters63in1.cpp */; }; + B3BCA7A127C098C00012118D /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B01ABF16A4002274A3 /* movie.cpp */; }; + B3BCA7A227C098C00012118D /* x6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EF1ABF16A5002274A3 /* x6502.cpp */; }; + B3BCA7A327C098C00012118D /* 33.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF51D6ECD7500742D04 /* 33.cpp */; }; + B3BCA7A427C098C00012118D /* 117.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE151D6ECD7500742D04 /* 117.cpp */; }; + B3BCA7A527C098C00012118D /* datalatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4B1D6ECD7500742D04 /* datalatch.cpp */; }; + B3BCA7A627C098C00012118D /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B21ABF16A4002274A3 /* netplay.cpp */; }; + B3BCA7A727C098C00012118D /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF31D6ED36300742D04 /* hq2x.cpp */; }; + B3BCA7A827C098C00012118D /* 15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF11D6ECD7500742D04 /* 15.cpp */; }; + B3BCA7A927C098C00012118D /* 234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE301D6ECD7500742D04 /* 234.cpp */; }; + B3BCA7AA27C098C00012118D /* 71.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE051D6ECD7500742D04 /* 71.cpp */; }; + B3BCA7AB27C098C00012118D /* kof97.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5E1D6ECD7500742D04 /* kof97.cpp */; }; + B3BCA7AC27C098C00012118D /* sheroes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7F1D6ECD7500742D04 /* sheroes.cpp */; }; + B3BCA7AD27C098C10012118D /* vrc6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8E1D6ECD7500742D04 /* vrc6.cpp */; }; + B3BCA7AE27C098C10012118D /* karaoke.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5D1D6ECD7500742D04 /* karaoke.cpp */; }; + B3BCA7AF27C098C10012118D /* 91.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0D1D6ECD7500742D04 /* 91.cpp */; }; + B3BCA7B027C098C10012118D /* cart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A21ABF16A3002274A3 /* cart.cpp */; }; + B3BCA7B127C098C10012118D /* fceu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77331ABF16A4002274A3 /* fceu.cpp */; }; + B3BCA7B227C098C10012118D /* et-4320.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE521D6ECD7500742D04 /* et-4320.cpp */; }; + B3BCA7B327C098C10012118D /* 72.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE061D6ECD7500742D04 /* 72.cpp */; }; + B3BCA7B427C098C10012118D /* le05.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE691D6ECD7500742D04 /* le05.cpp */; }; + B3BCA7B527C098C10012118D /* bandai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3F1D6ECD7500742D04 /* bandai.cpp */; }; + B3BCA7B627C098C10012118D /* t-262.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE851D6ECD7500742D04 /* t-262.cpp */; }; + B3BCA7B727C098C10012118D /* unrom512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE891D6ECD7500742D04 /* unrom512.cpp */; }; + B3BCA7B827C098C10012118D /* mihunche.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6E1D6ECD7500742D04 /* mihunche.cpp */; }; + B3BCA7B927C098C10012118D /* hypershot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77601ABF16A4002274A3 /* hypershot.cpp */; }; + B3BCA7BA27C098C10012118D /* 69.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE041D6ECD7500742D04 /* 69.cpp */; }; + B3BCA7BB27C098C10012118D /* 77.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE071D6ECD7500742D04 /* 77.cpp */; }; + B3BCA7BC27C098C10012118D /* BMW8544.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE451D6ECD7500742D04 /* BMW8544.cpp */; }; + B3BCA7BD27C098C10012118D /* 50.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFD1D6ECD7500742D04 /* 50.cpp */; }; + B3BCA7BE27C098C10012118D /* arkanoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775A1ABF16A4002274A3 /* arkanoid.cpp */; }; + B3BCA7BF27C098C10012118D /* famicombox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE541D6ECD7500742D04 /* famicombox.cpp */; }; + B3BCA7C027C098C10012118D /* general.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D81ABF16A5002274A3 /* general.cpp */; }; + B3BCA7C127C098C10012118D /* dream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4C1D6ECD7500742D04 /* dream.cpp */; }; + B3BCA7C227C098C10012118D /* zapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776C1ABF16A4002274A3 /* zapper.cpp */; }; + B3BCA7C327C098C10012118D /* 121.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE171D6ECD7500742D04 /* 121.cpp */; }; + B3BCA7C427C098C10012118D /* 232.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2F1D6ECD7500742D04 /* 232.cpp */; }; + B3BCA7C527C098C10012118D /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DA1ABF16A5002274A3 /* guid.cpp */; }; + B3BCA7C627C098C10012118D /* 12in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF01D6ECD7500742D04 /* 12in1.cpp */; }; + B3BCA7C727C098C10012118D /* addrlatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3D1D6ECD7500742D04 /* addrlatch.cpp */; }; + B3BCA7C827C098C10012118D /* transformer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE881D6ECD7500742D04 /* transformer.cpp */; }; + B3BCA7C927C098C10012118D /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A81ABF16A3002274A3 /* config.cpp */; }; + B3BCA7CA27C098C10012118D /* 32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF41D6ECD7500742D04 /* 32.cpp */; }; + B3BCA7CB27C098C10012118D /* bonza.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE461D6ECD7500742D04 /* bonza.cpp */; }; + B3BCA7CC27C098C10012118D /* scale2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFB1D6ED36300742D04 /* scale2x.cpp */; }; + B3BCA7CD27C098C10012118D /* 41.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF91D6ECD7500742D04 /* 41.cpp */; }; + B3BCA7CE27C098C10012118D /* 186.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE241D6ECD7500742D04 /* 186.cpp */; }; + B3BCA7CF27C098C10012118D /* novel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE761D6ECD7500742D04 /* novel.cpp */; }; + B3BCA7D027C098C10012118D /* mmc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE711D6ECD7500742D04 /* mmc3.cpp */; }; + B3BCA7D127C098C10012118D /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E91ABF16A5002274A3 /* video.cpp */; }; + B3BCA7D227C098C10012118D /* supervision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE831D6ECD7500742D04 /* supervision.cpp */; }; + B3BCA7D327C098C10012118D /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A41ABF16A3002274A3 /* cheat.cpp */; }; + B3BCA7D427C098C10012118D /* 01-222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEC1D6ECD7500742D04 /* 01-222.cpp */; }; + B3BCA7D527C098C10012118D /* F-15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE531D6ECD7500742D04 /* F-15.cpp */; }; + B3BCA7D627C098C10012118D /* 28.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF31D6ECD7500742D04 /* 28.cpp */; }; + B3BCA7D927C099700012118D /* 72.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE061D6ECD7500742D04 /* 72.cpp */; }; + B3BCA7DA27C099700012118D /* 90.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0C1D6ECD7500742D04 /* 90.cpp */; }; + B3BCA7DB27C099700012118D /* 176.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1F1D6ECD7500742D04 /* 176.cpp */; }; + B3BCA7DC27C099700012118D /* 34.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF61D6ECD7500742D04 /* 34.cpp */; }; + B3BCA7DD27C099700012118D /* 183.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE221D6ECD7500742D04 /* 183.cpp */; }; + B3BCA7DE27C099700012118D /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DA1ABF16A5002274A3 /* guid.cpp */; }; + B3BCA7DF27C099700012118D /* 253.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE351D6ECD7500742D04 /* 253.cpp */; }; + B3BCA7E027C099700012118D /* dance2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4A1D6ECD7500742D04 /* dance2000.cpp */; }; + B3BCA7E127C099700012118D /* coolboy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE491D6ECD7500742D04 /* coolboy.cpp */; }; + B3BCA7E227C099700012118D /* 18.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF21D6ECD7500742D04 /* 18.cpp */; }; + B3BCA7E327C099700012118D /* 67.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE021D6ECD7500742D04 /* 67.cpp */; }; + B3BCA7E427C099700012118D /* 33.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF51D6ECD7500742D04 /* 33.cpp */; }; + B3BCA7E527C099700012118D /* snesmouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFDB1D6ED02100742D04 /* snesmouse.cpp */; }; + B3BCA7E627C099700012118D /* nes_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF91D6ED36300742D04 /* nes_ntsc.c */; }; + B3BCA7E727C099700012118D /* bworld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775B1ABF16A4002274A3 /* bworld.cpp */; }; + B3BCA7E827C099700012118D /* ax5705.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3E1D6ECD7500742D04 /* ax5705.cpp */; }; + B3BCA7E927C099700012118D /* mmc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6F1D6ECD7500742D04 /* mmc1.cpp */; }; + B3BCA7EA27C099700012118D /* scalebit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFF1D6ED36300742D04 /* scalebit.cpp */; }; + B3BCA7EB27C099700012118D /* 178.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE211D6ECD7500742D04 /* 178.cpp */; }; + B3BCA7EC27C099700012118D /* transformer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE881D6ECD7500742D04 /* transformer.cpp */; }; + B3BCA7ED27C099700012118D /* ffe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE551D6ECD7500742D04 /* ffe.cpp */; }; + B3BCA7EE27C099700012118D /* movie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B01ABF16A4002274A3 /* movie.cpp */; }; + B3BCA7EF27C099700012118D /* 228.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2D1D6ECD7500742D04 /* 228.cpp */; }; + B3BCA7F027C099700012118D /* famicombox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE541D6ECD7500742D04 /* famicombox.cpp */; }; + B3BCA7F127C099700012118D /* 830118C.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3A1D6ECD7500742D04 /* 830118C.cpp */; }; + B3BCA7F227C099700012118D /* ks7030.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE641D6ECD7500742D04 /* ks7030.cpp */; }; + B3BCA7F327C099700012118D /* 168.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1C1D6ECD7500742D04 /* 168.cpp */; }; + B3BCA7F427C099700012118D /* unrom512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE891D6ECD7500742D04 /* unrom512.cpp */; }; + B3BCA7F527C099700012118D /* oldmovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */; }; + B3BCA7F627C099700012118D /* karaoke.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5D1D6ECD7500742D04 /* karaoke.cpp */; }; + B3BCA7F727C099700012118D /* mahjong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77611ABF16A4002274A3 /* mahjong.cpp */; }; + B3BCA7F827C099700012118D /* mmc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE731D6ECD7500742D04 /* mmc5.cpp */; }; + B3BCA7F927C099700012118D /* ks7037.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE671D6ECD7500742D04 /* ks7037.cpp */; }; + B3BCA7FA27C099700012118D /* 208.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2A1D6ECD7500742D04 /* 208.cpp */; }; + B3BCA7FB27C099700012118D /* 82.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0A1D6ECD7500742D04 /* 82.cpp */; }; + B3BCA7FC27C099700012118D /* vrc6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8E1D6ECD7500742D04 /* vrc6.cpp */; }; + B3BCA7FD27C099700012118D /* 62.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE001D6ECD7500742D04 /* 62.cpp */; }; + B3BCA7FE27C099700012118D /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFED1D6ED36300742D04 /* cheat.cpp */; }; + B3BCA7FF27C099700012118D /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DE1ABF16A5002274A3 /* md5.cpp */; }; + B3BCA80027C099700012118D /* 09-034a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEF1D6ECD7500742D04 /* 09-034a.cpp */; }; + B3BCA80127C099700012118D /* cart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A21ABF16A3002274A3 /* cart.cpp */; }; + B3BCA80227C099700012118D /* sheroes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7F1D6ECD7500742D04 /* sheroes.cpp */; }; + B3BCA80327C099700012118D /* 91.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0D1D6ECD7500742D04 /* 91.cpp */; }; + B3BCA80427C099700012118D /* 603-5052.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE361D6ECD7500742D04 /* 603-5052.cpp */; }; + B3BCA80527C099700012118D /* 151.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE181D6ECD7500742D04 /* 151.cpp */; }; + B3BCA80627C099700012118D /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775C1ABF16A4002274A3 /* cursor.cpp */; }; + B3BCA80727C099700012118D /* 99.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0F1D6ECD7500742D04 /* 99.cpp */; }; + B3BCA80827C099700012118D /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AC1ABF16A3002274A3 /* drawing.cpp */; }; + B3BCA80927C099700012118D /* hypershot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77601ABF16A4002274A3 /* hypershot.cpp */; }; + B3BCA80A27C099700012118D /* zapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776C1ABF16A4002274A3 /* zapper.cpp */; }; + B3BCA80B27C099700012118D /* ghostbusters63in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE571D6ECD7500742D04 /* ghostbusters63in1.cpp */; }; + B3BCA80C27C099700012118D /* mihunche.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6E1D6ECD7500742D04 /* mihunche.cpp */; }; + B3BCA80D27C099700012118D /* sb-2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7C1D6ECD7500742D04 /* sb-2000.cpp */; }; + B3BCA80E27C099700012118D /* ks7013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE611D6ECD7500742D04 /* ks7013.cpp */; }; + B3BCA80F27C099700012118D /* cityfighter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE481D6ECD7500742D04 /* cityfighter.cpp */; }; + B3BCA81027C099700012118D /* 36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF71D6ECD7500742D04 /* 36.cpp */; }; + B3BCA81127C099700012118D /* ks7031.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE651D6ECD7500742D04 /* ks7031.cpp */; }; + B3BCA81227C099700012118D /* 170.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1D1D6ECD7500742D04 /* 170.cpp */; }; + B3BCA81327C099700012118D /* 244.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE321D6ECD7500742D04 /* 244.cpp */; }; + B3BCA81427C099700012118D /* crc32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D41ABF16A5002274A3 /* crc32.cpp */; }; + B3BCA81527C099700012118D /* sa-9602b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7A1D6ECD7500742D04 /* sa-9602b.cpp */; }; + B3BCA81627C099700012118D /* et-100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE511D6ECD7500742D04 /* et-100.cpp */; }; + B3BCA81727C099700012118D /* oekakids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77631ABF16A4002274A3 /* oekakids.cpp */; }; + B3BCA81827C099700012118D /* 164.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1B1D6ECD7500742D04 /* 164.cpp */; }; + B3BCA81927C099700012118D /* sc-127.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7D1D6ECD7500742D04 /* sc-127.cpp */; }; + B3BCA81A27C099700012118D /* 28.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF31D6ECD7500742D04 /* 28.cpp */; }; + B3BCA81B27C099700012118D /* ks7016.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE621D6ECD7500742D04 /* ks7016.cpp */; }; + B3BCA81C27C099700012118D /* 77.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE071D6ECD7500742D04 /* 77.cpp */; }; + B3BCA81D27C099700012118D /* vidblit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8C0021D6ED36300742D04 /* vidblit.cpp */; }; + B3BCA81E27C099700012118D /* 225.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2C1D6ECD7500742D04 /* 225.cpp */; }; + B3BCA81F27C099700012118D /* tf-1201.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE871D6ECD7500742D04 /* tf-1201.cpp */; }; + B3BCA82027C099700012118D /* 234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE301D6ECD7500742D04 /* 234.cpp */; }; + B3BCA82127C099700012118D /* args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEB1D6ED36300742D04 /* args.cpp */; }; + B3BCA82227C099700012118D /* scale3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFD1D6ED36300742D04 /* scale3x.cpp */; }; + B3BCA82327C099700012118D /* 187.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE251D6ECD7500742D04 /* 187.cpp */; }; + B3BCA82427C099700012118D /* 50.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFD1D6ECD7500742D04 /* 50.cpp */; }; + B3BCA82527C099700012118D /* pec586kb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFD81D6ECFC200742D04 /* pec586kb.cpp */; }; + B3BCA82627C099700012118D /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E91ABF16A5002274A3 /* video.cpp */; }; + B3BCA82727C099700012118D /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77391ABF16A4002274A3 /* file.cpp */; }; + B3BCA82827C099700012118D /* vrc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8C1D6ECD7500742D04 /* vrc3.cpp */; }; + B3BCA82927C099700012118D /* 69.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE041D6ECD7500742D04 /* 69.cpp */; }; + B3BCA82A27C099700012118D /* 43.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFB1D6ECD7500742D04 /* 43.cpp */; }; + B3BCA82B27C099700012118D /* unif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77CD1ABF16A5002274A3 /* unif.cpp */; }; + B3BCA82C27C099700012118D /* bb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE401D6ECD7500742D04 /* bb.cpp */; }; + B3BCA82E27C099700012118D /* ines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77571ABF16A4002274A3 /* ines.cpp */; }; + B3BCA82F27C099700012118D /* BMW8544.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE451D6ECD7500742D04 /* BMW8544.cpp */; }; + B3BCA83027C099700012118D /* bandai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3F1D6ECD7500742D04 /* bandai.cpp */; }; + B3BCA83127C099700012118D /* bmc70in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE441D6ECD7500742D04 /* bmc70in1.cpp */; }; + B3BCA83227C099700012118D /* 68.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE031D6ECD7500742D04 /* 68.cpp */; }; + B3BCA83327C099700012118D /* emufile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77301ABF16A4002274A3 /* emufile.cpp */; }; + B3BCA83427C099700012118D /* __dummy_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEB1D6ECD7500742D04 /* __dummy_mapper.cpp */; }; + B3BCA83527C099700012118D /* hp898f.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5B1D6ECD7500742D04 /* hp898f.cpp */; }; + B3BCA83627C099700012118D /* 41.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF91D6ECD7500742D04 /* 41.cpp */; }; + B3BCA83727C099700012118D /* 96.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0E1D6ECD7500742D04 /* 96.cpp */; }; + B3BCA83827C099700012118D /* 12in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF01D6ECD7500742D04 /* 12in1.cpp */; }; + B3BCA83927C099700012118D /* 108.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE121D6ECD7500742D04 /* 108.cpp */; }; + B3BCA83A27C099700012118D /* 88.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE0B1D6ECD7500742D04 /* 88.cpp */; }; + B3BCA83B27C099700012118D /* F-15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE531D6ECD7500742D04 /* F-15.cpp */; }; + B3BCA83C27C099700012118D /* subor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE811D6ECD7500742D04 /* subor.cpp */; }; + B3BCA83D27C099700012118D /* emu2413.c in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4F1D6ECD7500742D04 /* emu2413.c */; }; + B3BCA83E27C099700012118D /* nsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B41ABF16A4002274A3 /* nsf.cpp */; }; + B3BCA83F27C099700012118D /* sachen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE7B1D6ECD7500742D04 /* sachen.cpp */; }; + B3BCA84027C099700012118D /* 8157.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE371D6ECD7500742D04 /* 8157.cpp */; }; + B3BCA84127C099700012118D /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A773B1ABF16A4002274A3 /* filter.cpp */; }; + B3BCA84227C099700012118D /* 117.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE151D6ECD7500742D04 /* 117.cpp */; }; + B3BCA84327C099700012118D /* a9746.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3B1D6ECD7500742D04 /* a9746.cpp */; }; + B3BCA84427C099700012118D /* 42.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFA1D6ECD7500742D04 /* 42.cpp */; }; + B3BCA84527C099700012118D /* 51.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFE1D6ECD7500742D04 /* 51.cpp */; }; + B3BCA84627C099700012118D /* 8in1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEE1D6ECD7500742D04 /* 8in1.cpp */; }; + B3BCA84727C099700012118D /* ac-08.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3C1D6ECD7500742D04 /* ac-08.cpp */; }; + B3BCA84827C099700012118D /* n625092.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE751D6ECD7500742D04 /* n625092.cpp */; }; + B3BCA84927C099700012118D /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D21ABF16A5002274A3 /* ConvertUTF.c */; }; + B3BCA84A27C099700012118D /* 120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE161D6ECD7500742D04 /* 120.cpp */; }; + B3BCA84B27C099700012118D /* quiz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77651ABF16A4002274A3 /* quiz.cpp */; }; + B3BCA84C27C099700012118D /* vrc5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8D1D6ECD7500742D04 /* vrc5.cpp */; }; + B3BCA84D27C099700012118D /* ks7057.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE681D6ECD7500742D04 /* ks7057.cpp */; }; + B3BCA84E27C099700012118D /* state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C91ABF16A5002274A3 /* state.cpp */; }; + B3BCA84F27C099700012118D /* t-227-1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE841D6ECD7500742D04 /* t-227-1.cpp */; }; + B3BCA85027C099700012118D /* shadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77671ABF16A4002274A3 /* shadow.cpp */; }; + B3BCA85127C099700012118D /* powerpad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77641ABF16A4002274A3 /* powerpad.cpp */; }; + B3BCA85227C099700012118D /* 156.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE191D6ECD7500742D04 /* 156.cpp */; }; + B3BCA85327C099700012118D /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C71ABF16A5002274A3 /* sound.cpp */; }; + B3BCA85427C099700012118D /* 185.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE231D6ECD7500742D04 /* 185.cpp */; }; + B3BCA85527C099700012118D /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFEF1D6ED36300742D04 /* config.cpp */; }; + B3BCA85627C099700012118D /* vrc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8B1D6ECD7500742D04 /* vrc2and4.cpp */; }; + B3BCA85727C099700012118D /* sl1632.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE801D6ECD7500742D04 /* sl1632.cpp */; }; + B3BCA85827C099700012118D /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A41ABF16A3002274A3 /* cheat.cpp */; }; + B3BCA85927C099700012118D /* 112.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE131D6ECD7500742D04 /* 112.cpp */; }; + B3BCA85A27C099700012118D /* le05.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE691D6ECD7500742D04 /* le05.cpp */; }; + B3BCA85B27C099700012118D /* fceu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77331ABF16A4002274A3 /* fceu.cpp */; }; + B3BCA85C27C099700012118D /* general.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D81ABF16A5002274A3 /* general.cpp */; }; + B3BCA85D27C099700012118D /* 230.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2E1D6ECD7500742D04 /* 230.cpp */; }; + B3BCA85E27C099700012118D /* 57.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFF1D6ECD7500742D04 /* 57.cpp */; }; + B3BCA85F27C099700012118D /* edu2000.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4D1D6ECD7500742D04 /* edu2000.cpp */; }; + B3BCA86027C099700012118D /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D61ABF16A5002274A3 /* endian.cpp */; }; + B3BCA86127C099700012118D /* 65.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE011D6ECD7500742D04 /* 65.cpp */; }; + B3BCA86227C099700012118D /* x6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EF1ABF16A5002274A3 /* x6502.cpp */; }; + B3BCA86327C099700012118D /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776E1ABF16A4002274A3 /* input.cpp */; }; + B3BCA86427C099700012118D /* t-262.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE851D6ECD7500742D04 /* t-262.cpp */; }; + B3BCA86527C099700012118D /* novel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE761D6ECD7500742D04 /* novel.cpp */; }; + B3BCA86627C099700012118D /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B91ABF16A4002274A3 /* palette.cpp */; }; + B3BCA86727C099700012118D /* 246.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE331D6ECD7500742D04 /* 246.cpp */; }; + B3BCA86827C099700012118D /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77B21ABF16A4002274A3 /* netplay.cpp */; }; + B3BCA86927C099700012118D /* ks7032.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE661D6ECD7500742D04 /* ks7032.cpp */; }; + B3BCA86A27C099700012118D /* yoko.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE911D6ECD7500742D04 /* yoko.cpp */; }; + B3BCA86B27C099700012118D /* bmc64in1nr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE431D6ECD7500742D04 /* bmc64in1nr.cpp */; }; + B3BCA86C27C099700012118D /* 235.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE311D6ECD7500742D04 /* 235.cpp */; }; + B3BCA86D27C099700012118D /* 106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE111D6ECD7500742D04 /* 106.cpp */; }; + B3BCA86E27C099700012118D /* h2288.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5A1D6ECD7500742D04 /* h2288.cpp */; }; + B3BCA86F27C099700012118D /* super24.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE821D6ECD7500742D04 /* super24.cpp */; }; + B3BCA87027C099700012118D /* eh8813a.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4E1D6ECD7500742D04 /* eh8813a.cpp */; }; + B3BCA87127C099700012118D /* scale2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFFB1D6ED36300742D04 /* scale2x.cpp */; }; + B3BCA87227C099700012118D /* 01-222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDEC1D6ECD7500742D04 /* 01-222.cpp */; }; + B3BCA87327C099700012118D /* 103.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE101D6ECD7500742D04 /* 103.cpp */; }; + B3BCA87427C099700012118D /* supervision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE831D6ECD7500742D04 /* supervision.cpp */; }; + B3BCA87527C099700012118D /* ppu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77C31ABF16A5002274A3 /* ppu.cpp */; }; + B3BCA87627C099700012118D /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF51D6ED36300742D04 /* hq3x.cpp */; }; + B3BCA87727C099700012118D /* fk23c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE561D6ECD7500742D04 /* fk23c.cpp */; }; + B3BCA87827C099700012118D /* 79.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE081D6ECD7500742D04 /* 79.cpp */; }; + B3BCA87927C099700012118D /* 175.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1E1D6ECD7500742D04 /* 175.cpp */; }; + B3BCA87A27C099700012118D /* bs-5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE471D6ECD7500742D04 /* bs-5.cpp */; }; + B3BCA87B27C099700012118D /* configSys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF11D6ED36300742D04 /* configSys.cpp */; }; + B3BCA87C27C099700012118D /* malee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6C1D6ECD7500742D04 /* malee.cpp */; }; + B3BCA87D27C099700012118D /* 46.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDFC1D6ECD7500742D04 /* 46.cpp */; }; + B3BCA87E27C099700012118D /* addrlatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE3D1D6ECD7500742D04 /* addrlatch.cpp */; }; + B3BCA87F27C099700012118D /* mmc2and4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE701D6ECD7500742D04 /* mmc2and4.cpp */; }; + B3BCA88027C099700012118D /* lh53.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6B1D6ECD7500742D04 /* lh53.cpp */; }; + B3BCA88127C099700012118D /* arkanoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775A1ABF16A4002274A3 /* arkanoid.cpp */; }; + B3BCA88227C099700012118D /* pec-586.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE781D6ECD7500742D04 /* pec-586.cpp */; }; + B3BCA88327C099700012118D /* 158B.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE1A1D6ECD7500742D04 /* 158B.cpp */; }; + B3BCA88427C099700012118D /* 189.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE261D6ECD7500742D04 /* 189.cpp */; }; + B3BCA88527C099700012118D /* suborkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77691ABF16A4002274A3 /* suborkb.cpp */; }; + B3BCA88627C099700012118D /* bonza.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE461D6ECD7500742D04 /* bonza.cpp */; }; + B3BCA88727C099700012118D /* ks7010.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5F1D6ECD7500742D04 /* ks7010.cpp */; }; + B3BCA88827C099700012118D /* mmc3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE711D6ECD7500742D04 /* mmc3.cpp */; }; + B3BCA88927C099700012118D /* rt-01.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE791D6ECD7500742D04 /* rt-01.cpp */; }; + B3BCA88A27C099700012118D /* vrc7p.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE901D6ECD7500742D04 /* vrc7p.cpp */; }; + B3BCA88B27C099700012118D /* conddebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A61ABF16A3002274A3 /* conddebug.cpp */; }; + B3BCA88C27C099700012118D /* wave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77ED1ABF16A5002274A3 /* wave.cpp */; }; + B3BCA88D27C099700012118D /* 206.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE291D6ECD7500742D04 /* 206.cpp */; }; + B3BCA88E27C099700012118D /* 222.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2B1D6ECD7500742D04 /* 222.cpp */; }; + B3BCA88F27C099700012118D /* 232.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE2F1D6ECD7500742D04 /* 232.cpp */; }; + B3BCA89027C099700012118D /* onebus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE771D6ECD7500742D04 /* onebus.cpp */; }; + B3BCA89127C099700012118D /* inlnsf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5C1D6ECD7500742D04 /* inlnsf.cpp */; }; + B3BCA89227C099700012118D /* mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77621ABF16A4002274A3 /* mouse.cpp */; }; + B3BCA89327C099700012118D /* ioapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77DC1ABF16A5002274A3 /* ioapi.cpp */; }; + B3BCA89427C099700012118D /* 15.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF11D6ECD7500742D04 /* 15.cpp */; }; + B3BCA89527C099700012118D /* lh32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE6A1D6ECD7500742D04 /* lh32.cpp */; }; + B3BCA89627C099700012118D /* toprider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A776B1ABF16A4002274A3 /* toprider.cpp */; }; + B3BCA89727C099700012118D /* gs-2013.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE591D6ECD7500742D04 /* gs-2013.cpp */; }; + B3BCA89827C099700012118D /* 116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE141D6ECD7500742D04 /* 116.cpp */; }; + B3BCA89927C099700012118D /* 80.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE091D6ECD7500742D04 /* 80.cpp */; }; + B3BCA89A27C099700012118D /* ftrainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775F1ABF16A4002274A3 /* ftrainer.cpp */; }; + B3BCA89B27C099700012118D /* 71.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE051D6ECD7500742D04 /* 71.cpp */; }; + B3BCA89C27C099700012118D /* kof97.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE5E1D6ECD7500742D04 /* kof97.cpp */; }; + B3BCA89D27C099700012118D /* vsuni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77EB1ABF16A5002274A3 /* vsuni.cpp */; }; + B3BCA89E27C099700012118D /* 186.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE241D6ECD7500742D04 /* 186.cpp */; }; + B3BCA89F27C099700012118D /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E01ABF16A5002274A3 /* memory.cpp */; }; + B3BCA8A027C099700012118D /* 121.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE171D6ECD7500742D04 /* 121.cpp */; }; + B3BCA8A127C099700012118D /* 32.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF41D6ECD7500742D04 /* 32.cpp */; }; + B3BCA8A227C099700012118D /* asm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75061ABF16A3002274A3 /* asm.cpp */; }; + B3BCA8A327C099700012118D /* 193.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE271D6ECD7500742D04 /* 193.cpp */; }; + B3BCA8A427C099700012118D /* bmc13in1jy110.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE411D6ECD7500742D04 /* bmc13in1jy110.cpp */; }; + B3BCA8A527C099700012118D /* tengen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE861D6ECD7500742D04 /* tengen.cpp */; }; + B3BCA8A627C099700012118D /* n106.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE741D6ECD7500742D04 /* n106.cpp */; }; + B3BCA8A727C099700012118D /* 3d-block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDED1D6ECD7500742D04 /* 3d-block.cpp */; }; + B3BCA8A827C099700012118D /* bmc42in1r.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE421D6ECD7500742D04 /* bmc42in1r.cpp */; }; + B3BCA8A927C099700012118D /* 8237.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE381D6ECD7500742D04 /* 8237.cpp */; }; + B3BCA8AA27C099700012118D /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75AA1ABF16A3002274A3 /* debug.cpp */; }; + B3BCA8AB27C099700012118D /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E61ABF16A5002274A3 /* xstring.cpp */; }; + B3BCA8AC27C099700012118D /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BFF31D6ED36300742D04 /* hq2x.cpp */; }; + B3BCA8AD27C099700012118D /* 199.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE281D6ECD7500742D04 /* 199.cpp */; }; + B3BCA8AE27C099700012118D /* 252.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE341D6ECD7500742D04 /* 252.cpp */; }; + B3BCA8AF27C099700012118D /* vrc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8A1D6ECD7500742D04 /* vrc1.cpp */; }; + B3BCA8B027C099700012118D /* vrc7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE8F1D6ECD7500742D04 /* vrc7.cpp */; }; + B3BCA8B127C099700012118D /* fkb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A775D1ABF16A4002274A3 /* fkb.cpp */; }; + B3BCA8B227C099700012118D /* dream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4C1D6ECD7500742D04 /* dream.cpp */; }; + B3BCA8B327C099700012118D /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A75A81ABF16A3002274A3 /* config.cpp */; }; + B3BCA8B427C099700012118D /* ks7017.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE631D6ECD7500742D04 /* ks7017.cpp */; }; + B3BCA8B527C099700012118D /* ks7012.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE601D6ECD7500742D04 /* ks7012.cpp */; }; + B3BCA8B627C099700012118D /* backward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77D01ABF16A5002274A3 /* backward.cpp */; }; + B3BCA8B727C099700012118D /* fds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77371ABF16A4002274A3 /* fds.cpp */; }; + B3BCA8B827C099700012118D /* gs-2004.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE581D6ECD7500742D04 /* gs-2004.cpp */; }; + B3BCA8B927C099700012118D /* unzip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3A77E31ABF16A5002274A3 /* unzip.cpp */; }; + B3BCA8BA27C099700012118D /* et-4320.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE521D6ECD7500742D04 /* et-4320.cpp */; }; + B3BCA8BB27C099700012118D /* 411120-c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE391D6ECD7500742D04 /* 411120-c.cpp */; }; + B3BCA8BC27C099700012118D /* 40.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BDF81D6ECD7500742D04 /* 40.cpp */; }; + B3BCA8BD27C099700012118D /* datalatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE4B1D6ECD7500742D04 /* datalatch.cpp */; }; + B3BCA8BE27C099700012118D /* 177.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BED8BE201D6ECD7500742D04 /* 177.cpp */; }; + B3BCB54427C09C820012118D /* libfceux-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3BCAAAC27C09C2D0012118D /* libfceux-tvOS.a */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + B3341F7F27C1B2CF00E001C6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1A3A74E01ABF11AC002274A3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B3341F4F27C1B18C00E001C6; + remoteInfo = "fceux-netplay-server-iOS"; + }; + B3341F8227C1B2D400E001C6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1A3A74E01ABF11AC002274A3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B3341F7027C1B23A00E001C6; + remoteInfo = "fceux-netplay-server-tvOS"; + }; + B3AAF66927C0A95C001CAE1F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1A3A74E01ABF11AC002274A3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B3BCA8CD27C09C230012118D; + remoteInfo = "fceux-iOS"; + }; + B3BCB54527C09C820012118D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1A3A74E01ABF11AC002274A3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B3BCA9BD27C09C2D0012118D; + remoteInfo = "fceux-tvOS"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + B3341F4E27C1B18C00E001C6 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + B3341F5527C1B18C00E001C6 /* fceux_netplay_server.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3341F7727C1B23A00E001C6 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + B3341F7827C1B23A00E001C6 /* fceux_netplay_server.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3341F8927C1B39100E001C6 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + B3BCA6E627C098710012118D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA8C027C099700012118D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA9B627C09C230012118D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCAAA627C09C2D0012118D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 1A3A75031ABF123F002274A3 /* PVFCEU-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PVFCEU-Prefix.pch"; sourceTree = ""; }; 1A3A75061ABF16A3002274A3 /* asm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = asm.cpp; sourceTree = ""; }; 1A3A75071ABF16A3002274A3 /* asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm.h; sourceTree = ""; }; - 1A3A75081ABF16A3002274A3 /* auxlib.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = auxlib.lua; sourceTree = ""; }; 1A3A75A21ABF16A3002274A3 /* cart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cart.cpp; sourceTree = ""; }; 1A3A75A31ABF16A3002274A3 /* cart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cart.h; sourceTree = ""; }; 1A3A75A41ABF16A3002274A3 /* cheat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cheat.cpp; sourceTree = ""; }; @@ -523,28 +1124,6 @@ 1A3A773A1ABF16A4002274A3 /* file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = ""; }; 1A3A773B1ABF16A4002274A3 /* filter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = filter.cpp; sourceTree = ""; }; 1A3A773C1ABF16A4002274A3 /* filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filter.h; sourceTree = ""; }; - 1A3A773E1ABF16A4002274A3 /* c44100ntsc.coef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c44100ntsc.coef; sourceTree = ""; }; - 1A3A773F1ABF16A4002274A3 /* c44100ntsc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c44100ntsc.h; sourceTree = ""; }; - 1A3A77401ABF16A4002274A3 /* c44100ntsc.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c44100ntsc.scm; sourceTree = ""; }; - 1A3A77411ABF16A4002274A3 /* c44100pal.coef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c44100pal.coef; sourceTree = ""; }; - 1A3A77421ABF16A4002274A3 /* c44100pal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c44100pal.h; sourceTree = ""; }; - 1A3A77431ABF16A4002274A3 /* c44100pal.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c44100pal.scm; sourceTree = ""; }; - 1A3A77441ABF16A4002274A3 /* c48000ntsc.coef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c48000ntsc.coef; sourceTree = ""; }; - 1A3A77451ABF16A4002274A3 /* c48000ntsc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c48000ntsc.h; sourceTree = ""; }; - 1A3A77461ABF16A4002274A3 /* c48000ntsc.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c48000ntsc.scm; sourceTree = ""; }; - 1A3A77471ABF16A4002274A3 /* c48000pal.coef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c48000pal.coef; sourceTree = ""; }; - 1A3A77481ABF16A4002274A3 /* c48000pal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c48000pal.h; sourceTree = ""; }; - 1A3A77491ABF16A4002274A3 /* c48000pal.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c48000pal.scm; sourceTree = ""; }; - 1A3A774A1ABF16A4002274A3 /* c96000ntsc.coef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c96000ntsc.coef; sourceTree = ""; }; - 1A3A774B1ABF16A4002274A3 /* c96000ntsc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c96000ntsc.h; sourceTree = ""; }; - 1A3A774C1ABF16A4002274A3 /* c96000ntsc.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c96000ntsc.scm; sourceTree = ""; }; - 1A3A774D1ABF16A4002274A3 /* c96000pal.coef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c96000pal.coef; sourceTree = ""; }; - 1A3A774E1ABF16A4002274A3 /* c96000pal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c96000pal.h; sourceTree = ""; }; - 1A3A774F1ABF16A4002274A3 /* c96000pal.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = c96000pal.scm; sourceTree = ""; }; - 1A3A77501ABF16A4002274A3 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 1A3A77511ABF16A4002274A3 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; - 1A3A77521ABF16A4002274A3 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SConscript; sourceTree = ""; }; - 1A3A77531ABF16A4002274A3 /* toh.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = toh.c; sourceTree = ""; }; 1A3A77541ABF16A4002274A3 /* git.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = git.h; sourceTree = ""; }; 1A3A77551ABF16A4002274A3 /* ines-bad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ines-bad.h"; sourceTree = ""; }; 1A3A77561ABF16A4002274A3 /* ines-correct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ines-correct.h"; sourceTree = ""; }; @@ -562,7 +1141,6 @@ 1A3A77631ABF16A4002274A3 /* oekakids.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oekakids.cpp; sourceTree = ""; }; 1A3A77641ABF16A4002274A3 /* powerpad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = powerpad.cpp; sourceTree = ""; }; 1A3A77651ABF16A4002274A3 /* quiz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = quiz.cpp; sourceTree = ""; }; - 1A3A77661ABF16A4002274A3 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SConscript; sourceTree = ""; }; 1A3A77671ABF16A4002274A3 /* shadow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shadow.cpp; sourceTree = ""; }; 1A3A77681ABF16A4002274A3 /* share.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = share.h; sourceTree = ""; }; 1A3A77691ABF16A4002274A3 /* suborkb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suborkb.cpp; sourceTree = ""; }; @@ -580,20 +1158,10 @@ 1A3A77B51ABF16A4002274A3 /* nsf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsf.h; sourceTree = ""; }; 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oldmovie.cpp; sourceTree = ""; }; 1A3A77B71ABF16A4002274A3 /* oldmovie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oldmovie.h; sourceTree = ""; }; - 1A3A77B81ABF16A4002274A3 /* ops.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; path = ops.inc; sourceTree = ""; }; 1A3A77B91ABF16A4002274A3 /* palette.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = palette.cpp; sourceTree = ""; }; 1A3A77BA1ABF16A4002274A3 /* palette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = palette.h; sourceTree = ""; }; - 1A3A77BC1ABF16A5002274A3 /* conv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = conv.c; sourceTree = ""; }; - 1A3A77BD1ABF16A5002274A3 /* palettes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = palettes.h; sourceTree = ""; }; - 1A3A77BE1ABF16A5002274A3 /* rp2c04001.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rp2c04001.h; sourceTree = ""; }; - 1A3A77BF1ABF16A5002274A3 /* rp2c04002.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rp2c04002.h; sourceTree = ""; }; - 1A3A77C01ABF16A5002274A3 /* rp2c04003.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rp2c04003.h; sourceTree = ""; }; - 1A3A77C11ABF16A5002274A3 /* rp2c05004.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rp2c05004.h; sourceTree = ""; }; - 1A3A77C21ABF16A5002274A3 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SConscript; sourceTree = ""; }; 1A3A77C31ABF16A5002274A3 /* ppu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ppu.cpp; sourceTree = ""; }; 1A3A77C41ABF16A5002274A3 /* ppu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ppu.h; sourceTree = ""; }; - 1A3A77C51ABF16A5002274A3 /* pputile.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; path = pputile.inc; sourceTree = ""; }; - 1A3A77C61ABF16A5002274A3 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SConscript; sourceTree = ""; }; 1A3A77C71ABF16A5002274A3 /* sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sound.cpp; sourceTree = ""; }; 1A3A77C81ABF16A5002274A3 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = ""; }; 1A3A77C91ABF16A5002274A3 /* state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = state.cpp; sourceTree = ""; }; @@ -644,9 +1212,35 @@ B30614EA218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PVFCEUEmulatorCore+Controls.h"; sourceTree = ""; }; B30614EB218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = "PVFCEUEmulatorCore+Controls.mm"; sourceTree = ""; }; B30614F6218D60CB0041AD4F /* PVFCEU+Swift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PVFCEU+Swift.h"; sourceTree = ""; }; + B3341F5027C1B18C00E001C6 /* libfceux-netplay-server-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libfceux-netplay-server-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3341F5227C1B18C00E001C6 /* fceux_netplay_server.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceux_netplay_server.h; sourceTree = ""; }; + B3341F5327C1B18C00E001C6 /* fceux_netplay_server.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = fceux_netplay_server.m; sourceTree = ""; }; + B3341F5B27C1B1CC00E001C6 /* md5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = md5.cpp; sourceTree = ""; }; + B3341F5C27C1B1CC00E001C6 /* ChangeLog */ = {isa = PBXFileReference; lastKnownFileType = text; path = ChangeLog; sourceTree = ""; }; + B3341F6127C1B1CD00E001C6 /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + B3341F6227C1B1CD00E001C6 /* AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = AUTHORS; sourceTree = ""; }; + B3341F6327C1B1CD00E001C6 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + B3341F6427C1B1CD00E001C6 /* fceux-net-server.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = "fceux-net-server.exe"; sourceTree = ""; }; + B3341F6527C1B1CD00E001C6 /* cygwin1.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = cygwin1.dll; sourceTree = ""; }; + B3341F6627C1B1CD00E001C6 /* md5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = ""; }; + B3341F6727C1B1CD00E001C6 /* fceux-server.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "fceux-server.conf"; sourceTree = ""; }; + B3341F6827C1B1CD00E001C6 /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = ""; }; + B3341F6927C1B1CD00E001C6 /* COPYING */ = {isa = PBXFileReference; lastKnownFileType = text; path = COPYING; sourceTree = ""; }; + B3341F6A27C1B1CD00E001C6 /* throttle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = throttle.cpp; sourceTree = ""; }; + B3341F6B27C1B1CD00E001C6 /* throttle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = throttle.h; sourceTree = ""; }; + B3341F6C27C1B1CD00E001C6 /* server.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = server.cpp; sourceTree = ""; }; + B3341F7D27C1B23A00E001C6 /* libfceux-netplay-server-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libfceux-netplay-server-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3341F8427C1B34000E001C6 /* fceux-server.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "fceux-server.conf"; sourceTree = ""; }; + B3341F8B27C1B39100E001C6 /* fceux-server */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "fceux-server"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3341F8D27C1B39200E001C6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; B34AB5592106D57B00C45F09 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B34AB5812106DDCC00C45F09 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3547B4A205857B900CFF7D8 /* Core.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Core.plist; sourceTree = ""; }; + B391F2B627C14FA300730B53 /* BuildFlags.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BuildFlags.xcconfig; sourceTree = ""; }; + B391F2D227C1695700730B53 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; }; + B391F2D327C1695700730B53 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + B391F2D627C1696A00730B53 /* liblzma.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = liblzma.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib/liblzma.tbd; sourceTree = DEVELOPER_DIR; }; + B391F2D827C16AC100730B53 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/OpenGL.framework; sourceTree = DEVELOPER_DIR; }; B39E8CB220539B2500380DCD /* PVFCEUEmulatorCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PVFCEUEmulatorCore.swift; sourceTree = ""; }; B3A9F4361DE877B4008450F5 /* PVFCEU.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PVFCEU.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3A9F4381DE877B4008450F5 /* PVFCEU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PVFCEU.h; sourceTree = ""; }; @@ -656,7 +1250,970 @@ B3A9F4581DE8784B008450F5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; B3A9F6321DE88425008450F5 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; B3A9F6341DE8842C008450F5 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/usr/lib/libz.tbd; sourceTree = DEVELOPER_DIR; }; - B3D5E2A8218EBEB70015C690 /* ops.inc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.pascal; path = ops.inc; sourceTree = ""; }; + B3BCA6E827C098710012118D /* libfceux-2.2.3-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libfceux-2.2.3-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3BCA8C627C099700012118D /* libfceux-2.2.3-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libfceux-2.2.3-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3BCA9BC27C09C230012118D /* libfceux-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libfceux-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3BCAAAC27C09C2D0012118D /* libfceux-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libfceux-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B3BCB16727C09C5A0012118D /* oldmovie.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = oldmovie.h; sourceTree = ""; }; + B3BCB16827C09C5A0012118D /* sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = ""; }; + B3BCB16927C09C5A0012118D /* cheat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cheat.h; sourceTree = ""; }; + B3BCB16A27C09C5A0012118D /* ines.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ines.h; sourceTree = ""; }; + B3BCB16B27C09C5A0012118D /* types-des.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "types-des.h"; sourceTree = ""; }; + B3BCB16C27C09C5A0012118D /* ppu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ppu.cpp; sourceTree = ""; }; + B3BCB16D27C09C5A0012118D /* input.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = input.h; sourceTree = ""; }; + B3BCB16E27C09C5A0012118D /* fceulua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceulua.h; sourceTree = ""; }; + B3BCB16F27C09C5A0012118D /* debug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = ""; }; + B3BCB17027C09C5A0012118D /* input.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = input.cpp; sourceTree = ""; }; + B3BCB17127C09C5A0012118D /* version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; + B3BCB17327C09C5A0012118D /* c48000ntsc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = c48000ntsc.h; sourceTree = ""; }; + B3BCB17427C09C5A0012118D /* c96000pal.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = c96000pal.scm; sourceTree = ""; }; + B3BCB17527C09C5A0012118D /* c96000ntsc.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = c96000ntsc.scm; sourceTree = ""; }; + B3BCB17627C09C5A0012118D /* c44100pal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = c44100pal.h; sourceTree = ""; }; + B3BCB17727C09C5A0012118D /* toh.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = toh.c; sourceTree = ""; }; + B3BCB17827C09C5A0012118D /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + B3BCB17927C09C5A0012118D /* c48000pal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = c48000pal.h; sourceTree = ""; }; + B3BCB17A27C09C5A0012118D /* c44100ntsc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = c44100ntsc.h; sourceTree = ""; }; + B3BCB17B27C09C5A0012118D /* c44100ntsc.coef */ = {isa = PBXFileReference; lastKnownFileType = text; path = c44100ntsc.coef; sourceTree = ""; }; + B3BCB17C27C09C5A0012118D /* c96000ntsc.coef */ = {isa = PBXFileReference; lastKnownFileType = text; path = c96000ntsc.coef; sourceTree = ""; }; + B3BCB17D27C09C5A0012118D /* c44100pal.coef */ = {isa = PBXFileReference; lastKnownFileType = text; path = c44100pal.coef; sourceTree = ""; }; + B3BCB17E27C09C5A0012118D /* c48000ntsc.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = c48000ntsc.scm; sourceTree = ""; }; + B3BCB17F27C09C5A0012118D /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = ""; }; + B3BCB18027C09C5A0012118D /* c44100ntsc.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = c44100ntsc.scm; sourceTree = ""; }; + B3BCB18127C09C5A0012118D /* c44100pal.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = c44100pal.scm; sourceTree = ""; }; + B3BCB18227C09C5A0012118D /* c48000pal.coef */ = {isa = PBXFileReference; lastKnownFileType = text; path = c48000pal.coef; sourceTree = ""; }; + B3BCB18327C09C5A0012118D /* c96000pal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = c96000pal.h; sourceTree = ""; }; + B3BCB18427C09C5A0012118D /* c48000ntsc.coef */ = {isa = PBXFileReference; lastKnownFileType = text; path = c48000ntsc.coef; sourceTree = ""; }; + B3BCB18527C09C5A0012118D /* c48000pal.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = c48000pal.scm; sourceTree = ""; }; + B3BCB18627C09C5A0012118D /* c96000ntsc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = c96000ntsc.h; sourceTree = ""; }; + B3BCB18727C09C5A0012118D /* c96000pal.coef */ = {isa = PBXFileReference; lastKnownFileType = text; path = c96000pal.coef; sourceTree = ""; }; + B3BCB18827C09C5A0012118D /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; + B3BCB18B27C09C5A0012118D /* quantize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = quantize.h; sourceTree = ""; }; + B3BCB18C27C09C5A0012118D /* nesvideos-piece.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "nesvideos-piece.h"; sourceTree = ""; }; + B3BCB18D27C09C5A0012118D /* rgbtorgb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = rgbtorgb.cpp; sourceTree = ""; }; + B3BCB18E27C09C5A0012118D /* rgbtorgb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rgbtorgb.h; sourceTree = ""; }; + B3BCB18F27C09C5A0012118D /* simd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = simd.h; sourceTree = ""; }; + B3BCB19027C09C5A0012118D /* nesvideos-piece.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "nesvideos-piece.cpp"; sourceTree = ""; }; + B3BCB19227C09C5A0012118D /* help.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = help.h; sourceTree = ""; }; + B3BCB19327C09C5A0012118D /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; }; + B3BCB19427C09C5A0012118D /* taseditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor.h; sourceTree = ""; }; + B3BCB19527C09C5A0012118D /* sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = ""; }; + B3BCB19627C09C5A0012118D /* header_editor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = header_editor.cpp; sourceTree = ""; }; + B3BCB19727C09C5A0012118D /* cheat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cheat.h; sourceTree = ""; }; + B3BCB19827C09C5A0012118D /* keyscan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyscan.h; sourceTree = ""; }; + B3BCB19927C09C5A0012118D /* 7z_64.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = 7z_64.dll; sourceTree = ""; }; + B3BCB19A27C09C5A0012118D /* pref.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = pref.cpp; sourceTree = ""; }; + B3BCB19B27C09C5A0012118D /* memviewsp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memviewsp.h; sourceTree = ""; }; + B3BCB19C27C09C5A0012118D /* common.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = common.cpp; sourceTree = ""; }; + B3BCB19D27C09C5A0012118D /* archive.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = archive.h; sourceTree = ""; }; + B3BCB19F27C09C5A0012118D /* te_piano_12.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_12.bmp; sourceTree = ""; }; + B3BCB1A027C09C5A0012118D /* te_green_blue_arrow.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_green_blue_arrow.bmp; sourceTree = ""; }; + B3BCB1A127C09C5A0012118D /* te_0_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_0_selected.bmp; sourceTree = ""; }; + B3BCB1A227C09C5A0012118D /* te_piano_5_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_5_lostpos.bmp; sourceTree = ""; }; + B3BCB1A327C09C5A0012118D /* te_piano_3_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_3_playback.bmp; sourceTree = ""; }; + B3BCB1A427C09C5A0012118D /* te_7_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_7_selected.bmp; sourceTree = ""; }; + B3BCB1A527C09C5A0012118D /* te_piano_13_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_13_lostpos.bmp; sourceTree = ""; }; + B3BCB1A627C09C5A0012118D /* te_piano_4_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_4_playback.bmp; sourceTree = ""; }; + B3BCB1A727C09C5A0012118D /* te_piano_16_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_16_playback.bmp; sourceTree = ""; }; + B3BCB1A827C09C5A0012118D /* te_piano_13.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_13.bmp; sourceTree = ""; }; + B3BCB1A927C09C5A0012118D /* te_piano_11_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_11_playback.bmp; sourceTree = ""; }; + B3BCB1AA27C09C5A0012118D /* te_11_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_11_selected.bmp; sourceTree = ""; }; + B3BCB1AB27C09C5A0012118D /* te_16_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_16_selected.bmp; sourceTree = ""; }; + B3BCB1AC27C09C5A0012118D /* te_piano_11.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_11.bmp; sourceTree = ""; }; + B3BCB1AD27C09C5A0012118D /* te_piano_10.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_10.bmp; sourceTree = ""; }; + B3BCB1AE27C09C5A0012118D /* te_piano_5_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_5_playback.bmp; sourceTree = ""; }; + B3BCB1AF27C09C5A0012118D /* te_6_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_6_selected.bmp; sourceTree = ""; }; + B3BCB1B027C09C5A0012118D /* te_piano_14.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_14.bmp; sourceTree = ""; }; + B3BCB1B127C09C5A0012118D /* te_piano_2_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_2_playback.bmp; sourceTree = ""; }; + B3BCB1B227C09C5A0012118D /* te_1_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_1_selected.bmp; sourceTree = ""; }; + B3BCB1B327C09C5A0012118D /* te_piano_10_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_10_playback.bmp; sourceTree = ""; }; + B3BCB1B427C09C5A0012118D /* te_piano_17_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_17_playback.bmp; sourceTree = ""; }; + B3BCB1B527C09C5A0012118D /* te_8.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_8.bmp; sourceTree = ""; }; + B3BCB1B627C09C5A0012118D /* te_9.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_9.bmp; sourceTree = ""; }; + B3BCB1B727C09C5A0012118D /* te_piano_9_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_9_lostpos.bmp; sourceTree = ""; }; + B3BCB1B827C09C5A0012118D /* te_piano_15.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_15.bmp; sourceTree = ""; }; + B3BCB1B927C09C5A0012118D /* te_piano_17.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_17.bmp; sourceTree = ""; }; + B3BCB1BA27C09C5A0012118D /* te_piano_9.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_9.bmp; sourceTree = ""; }; + B3BCB1BB27C09C5A0012118D /* te_17_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_17_selected.bmp; sourceTree = ""; }; + B3BCB1BC27C09C5A0012118D /* te_10_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_10_selected.bmp; sourceTree = ""; }; + B3BCB1BD27C09C5A0012118D /* taseditor-icon32.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = "taseditor-icon32.ico"; sourceTree = ""; }; + B3BCB1BE27C09C5A0012118D /* te_piano_8.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_8.bmp; sourceTree = ""; }; + B3BCB1BF27C09C5A0012118D /* te_piano_16_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_16_lostpos.bmp; sourceTree = ""; }; + B3BCB1C027C09C5A0012118D /* te_piano_16.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_16.bmp; sourceTree = ""; }; + B3BCB1C127C09C5A0012118D /* te_piano_0_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_0_lostpos.bmp; sourceTree = ""; }; + B3BCB1C227C09C5A0012118D /* te_piano_15_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_15_lostpos.bmp; sourceTree = ""; }; + B3BCB1C327C09C5A0012118D /* te_piano_3_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_3_lostpos.bmp; sourceTree = ""; }; + B3BCB1C427C09C5A0012118D /* te_12.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_12.bmp; sourceTree = ""; }; + B3BCB1C527C09C5A0012118D /* te_13.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_13.bmp; sourceTree = ""; }; + B3BCB1C627C09C5A0012118D /* te_11.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_11.bmp; sourceTree = ""; }; + B3BCB1C727C09C5A0012118D /* te_piano_8_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_8_playback.bmp; sourceTree = ""; }; + B3BCB1C827C09C5A0012118D /* te_10.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_10.bmp; sourceTree = ""; }; + B3BCB1C927C09C5A0012118D /* te_piano_19_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_19_lostpos.bmp; sourceTree = ""; }; + B3BCB1CA27C09C5A0012118D /* te_14.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_14.bmp; sourceTree = ""; }; + B3BCB1CB27C09C5A0012118D /* te_15.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_15.bmp; sourceTree = ""; }; + B3BCB1CC27C09C5A0012118D /* te_piano_9_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_9_playback.bmp; sourceTree = ""; }; + B3BCB1CD27C09C5A0012118D /* te_piano_6_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_6_lostpos.bmp; sourceTree = ""; }; + B3BCB1CE27C09C5A0012118D /* te_17.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_17.bmp; sourceTree = ""; }; + B3BCB1CF27C09C5A0012118D /* te_piano_10_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_10_lostpos.bmp; sourceTree = ""; }; + B3BCB1D027C09C5A0012118D /* te_16.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_16.bmp; sourceTree = ""; }; + B3BCB1D127C09C5A0012118D /* te_piano_1_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_1_lostpos.bmp; sourceTree = ""; }; + B3BCB1D227C09C5A0012118D /* te_piano_17_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_17_lostpos.bmp; sourceTree = ""; }; + B3BCB1D327C09C5A0012118D /* te_19_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_19_selected.bmp; sourceTree = ""; }; + B3BCB1D427C09C5A0012118D /* te_piano_19_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_19_playback.bmp; sourceTree = ""; }; + B3BCB1D527C09C5A0012118D /* te_8_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_8_selected.bmp; sourceTree = ""; }; + B3BCB1D627C09C5A0012118D /* te_18.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_18.bmp; sourceTree = ""; }; + B3BCB1D727C09C5A0012118D /* te_piano_8_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_8_lostpos.bmp; sourceTree = ""; }; + B3BCB1D827C09C5A0012118D /* te_19.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_19.bmp; sourceTree = ""; }; + B3BCB1D927C09C5A0012118D /* te_18_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_18_selected.bmp; sourceTree = ""; }; + B3BCB1DA27C09C5A0012118D /* te_green_arrow.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_green_arrow.bmp; sourceTree = ""; }; + B3BCB1DB27C09C5A0012118D /* te_piano_12_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_12_lostpos.bmp; sourceTree = ""; }; + B3BCB1DC27C09C5A0012118D /* te_piano_4_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_4_lostpos.bmp; sourceTree = ""; }; + B3BCB1DD27C09C5A0012118D /* te_piano_18_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_18_playback.bmp; sourceTree = ""; }; + B3BCB1DE27C09C5A0012118D /* branch_spritesheet.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = branch_spritesheet.bmp; sourceTree = ""; }; + B3BCB1DF27C09C5A0012118D /* te_9_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_9_selected.bmp; sourceTree = ""; }; + B3BCB1E027C09C5A0012118D /* te_piano_15_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_15_playback.bmp; sourceTree = ""; }; + B3BCB1E127C09C5A0012118D /* te_arrow.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_arrow.bmp; sourceTree = ""; }; + B3BCB1E227C09C5A0012118D /* te_piano_12_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_12_playback.bmp; sourceTree = ""; }; + B3BCB1E327C09C5A0012118D /* te_piano_5.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_5.bmp; sourceTree = ""; }; + B3BCB1E427C09C5A0012118D /* te_3_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_3_selected.bmp; sourceTree = ""; }; + B3BCB1E527C09C5A0012118D /* te_piano_0_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_0_playback.bmp; sourceTree = ""; }; + B3BCB1E627C09C5A0012118D /* te_4_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_4_selected.bmp; sourceTree = ""; }; + B3BCB1E727C09C5A0012118D /* te_7.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_7.bmp; sourceTree = ""; }; + B3BCB1E827C09C5A0012118D /* te_piano_7_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_7_playback.bmp; sourceTree = ""; }; + B3BCB1E927C09C5A0012118D /* te_6.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_6.bmp; sourceTree = ""; }; + B3BCB1EA27C09C5A0012118D /* te_piano_4.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_4.bmp; sourceTree = ""; }; + B3BCB1EB27C09C5A0012118D /* te_piano_11_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_11_lostpos.bmp; sourceTree = ""; }; + B3BCB1EC27C09C5A0012118D /* te_piano_7_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_7_lostpos.bmp; sourceTree = ""; }; + B3BCB1ED27C09C5A0012118D /* te_piano_18.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_18.bmp; sourceTree = ""; }; + B3BCB1EE27C09C5A0012118D /* te_piano_6.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_6.bmp; sourceTree = ""; }; + B3BCB1EF27C09C5A0012118D /* te_4.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_4.bmp; sourceTree = ""; }; + B3BCB1F027C09C5A0012118D /* te_5.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_5.bmp; sourceTree = ""; }; + B3BCB1F127C09C5A0012118D /* te_piano_7.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_7.bmp; sourceTree = ""; }; + B3BCB1F227C09C5A0012118D /* te_12_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_12_selected.bmp; sourceTree = ""; }; + B3BCB1F327C09C5A0012118D /* te_piano_19.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_19.bmp; sourceTree = ""; }; + B3BCB1F427C09C5A0012118D /* te_15_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_15_selected.bmp; sourceTree = ""; }; + B3BCB1F527C09C5A0012118D /* te_piano_18_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_18_lostpos.bmp; sourceTree = ""; }; + B3BCB1F627C09C5A0012118D /* te_piano_3.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_3.bmp; sourceTree = ""; }; + B3BCB1F727C09C5A0012118D /* te_1.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_1.bmp; sourceTree = ""; }; + B3BCB1F827C09C5A0012118D /* te_piano_13_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_13_playback.bmp; sourceTree = ""; }; + B3BCB1F927C09C5A0012118D /* te_0.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_0.bmp; sourceTree = ""; }; + B3BCB1FA27C09C5A0012118D /* te_piano_14_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_14_playback.bmp; sourceTree = ""; }; + B3BCB1FB27C09C5A0012118D /* te_piano_2.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_2.bmp; sourceTree = ""; }; + B3BCB1FC27C09C5A0012118D /* te_piano_6_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_6_playback.bmp; sourceTree = ""; }; + B3BCB1FD27C09C5A0012118D /* te_5_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_5_selected.bmp; sourceTree = ""; }; + B3BCB1FE27C09C5A0012118D /* te_piano_1_playback.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_1_playback.bmp; sourceTree = ""; }; + B3BCB1FF27C09C5A0012118D /* te_2_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_2_selected.bmp; sourceTree = ""; }; + B3BCB20027C09C5A0012118D /* te_piano_0.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_0.bmp; sourceTree = ""; }; + B3BCB20127C09C5A0012118D /* te_14_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_14_selected.bmp; sourceTree = ""; }; + B3BCB20227C09C5A0012118D /* te_2.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_2.bmp; sourceTree = ""; }; + B3BCB20327C09C5A0012118D /* te_13_selected.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_13_selected.bmp; sourceTree = ""; }; + B3BCB20427C09C5A0012118D /* te_piano_2_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_2_lostpos.bmp; sourceTree = ""; }; + B3BCB20527C09C5A0012118D /* te_3.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_3.bmp; sourceTree = ""; }; + B3BCB20627C09C5A0012118D /* te_piano_14_lostpos.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_14_lostpos.bmp; sourceTree = ""; }; + B3BCB20727C09C5A0012118D /* taseditor-icon.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = "taseditor-icon.ico"; sourceTree = ""; }; + B3BCB20827C09C5A0012118D /* te_piano_1.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = te_piano_1.bmp; sourceTree = ""; }; + B3BCB20927C09C5A0012118D /* input.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = input.h; sourceTree = ""; }; + B3BCB20A27C09C5A0012118D /* log.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = log.cpp; sourceTree = ""; }; + B3BCB20B27C09C5A0012118D /* debug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = ""; }; + B3BCB20C27C09C5A0012118D /* input.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = input.cpp; sourceTree = ""; }; + B3BCB20D27C09C5A0012118D /* args.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = args.cpp; sourceTree = ""; }; + B3BCB20E27C09C5A0012118D /* ramwatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ramwatch.h; sourceTree = ""; }; + B3BCB20F27C09C5A0012118D /* aviout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = aviout.cpp; sourceTree = ""; }; + B3BCB21027C09C5A0012118D /* debuggersp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = debuggersp.cpp; sourceTree = ""; }; + B3BCB21127C09C5A0012118D /* Win32InputBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Win32InputBox.cpp; sourceTree = ""; }; + B3BCB21227C09C5A0012118D /* movieoptions.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = movieoptions.cpp; sourceTree = ""; }; + B3BCB21327C09C5A0012118D /* 7z.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = 7z.dll; sourceTree = ""; }; + B3BCB21427C09C5A0012118D /* Win32InputBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Win32InputBox.h; sourceTree = ""; }; + B3BCB21527C09C5A0012118D /* debuggersp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debuggersp.h; sourceTree = ""; }; + B3BCB21627C09C5A0012118D /* luaconsole.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = luaconsole.cpp; sourceTree = ""; }; + B3BCB21727C09C5A0012118D /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + B3BCB21827C09C5A0012118D /* mapinput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mapinput.h; sourceTree = ""; }; + B3BCB21927C09C5A0012118D /* afxres.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = afxres.h; sourceTree = ""; }; + B3BCB21A27C09C5A0012118D /* window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = window.cpp; sourceTree = ""; }; + B3BCB21B27C09C5A0012118D /* wave.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wave.cpp; sourceTree = ""; }; + B3BCB21C27C09C5A0012118D /* help.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = help.cpp; sourceTree = ""; }; + B3BCB21D27C09C5A0012118D /* ntview.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ntview.h; sourceTree = ""; }; + B3BCB21E27C09C5A0012118D /* mapinput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mapinput.cpp; sourceTree = ""; }; + B3BCB21F27C09C5A0012118D /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = ""; }; + B3BCB22027C09C5A0012118D /* monitor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = monitor.cpp; sourceTree = ""; }; + B3BCB22127C09C5A0012118D /* timing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = timing.h; sourceTree = ""; }; + B3BCB22227C09C5A0012118D /* OutputDS.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = OutputDS.cpp; sourceTree = ""; }; + B3BCB22327C09C5A0012118D /* texthook.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = texthook.cpp; sourceTree = ""; }; + B3BCB22427C09C5A0012118D /* state.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = state.cpp; sourceTree = ""; }; + B3BCB22527C09C5A0012118D /* ppuview.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ppuview.h; sourceTree = ""; }; + B3BCB22627C09C5A0012118D /* window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = window.h; sourceTree = ""; }; + B3BCB22727C09C5A0012118D /* fceu_x86.manifest */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = fceu_x86.manifest; sourceTree = ""; }; + B3BCB22827C09C5A0012118D /* video.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = video.cpp; sourceTree = ""; }; + B3BCB22A27C09C5A0012118D /* zutil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = ""; }; + B3BCB22B27C09C5A0012118D /* inftrees.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = ""; }; + B3BCB22C27C09C5A0012118D /* inflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = ""; }; + B3BCB22D27C09C5A0012118D /* unzip.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = ""; }; + B3BCB22E27C09C5A0012118D /* algorithm.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = algorithm.txt; sourceTree = ""; }; + B3BCB22F27C09C5A0012118D /* compress.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; + B3BCB23027C09C5A0012118D /* changelog */ = {isa = PBXFileReference; lastKnownFileType = text; path = changelog; sourceTree = ""; }; + B3BCB23127C09C5A0012118D /* deflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = ""; }; + B3BCB23227C09C5A0012118D /* infutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = infutil.c; sourceTree = ""; }; + B3BCB23327C09C5A0012118D /* inffixed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = ""; }; + B3BCB23427C09C5A0012118D /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = ""; }; + B3BCB23527C09C5A0012118D /* faq */ = {isa = PBXFileReference; lastKnownFileType = text; path = faq; sourceTree = ""; }; + B3BCB23627C09C5A0012118D /* infcodes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = infcodes.h; sourceTree = ""; }; + B3BCB23727C09C5A0012118D /* trees.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = ""; }; + B3BCB23827C09C5A0012118D /* infblock.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = infblock.c; sourceTree = ""; }; + B3BCB23927C09C5A0012118D /* inffast.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = ""; }; + B3BCB23A27C09C5A0012118D /* crc32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = ""; }; + B3BCB23B27C09C5A0012118D /* readme */ = {isa = PBXFileReference; lastKnownFileType = text; path = readme; sourceTree = ""; }; + B3BCB23C27C09C5A0012118D /* example.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = example.c; sourceTree = ""; }; + B3BCB23D27C09C5A0012118D /* zutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = ""; }; + B3BCB23E27C09C5A0012118D /* deflate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = ""; }; + B3BCB23F27C09C5A0012118D /* zlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; + B3BCB24027C09C5A0012118D /* unzip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = ""; }; + B3BCB24127C09C5A0012118D /* inftrees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = ""; }; + B3BCB24227C09C5A0012118D /* uncompr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = ""; }; + B3BCB24327C09C5A0012118D /* infblock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = infblock.h; sourceTree = ""; }; + B3BCB24427C09C5A0012118D /* descrip.mms */ = {isa = PBXFileReference; lastKnownFileType = text; path = descrip.mms; sourceTree = ""; }; + B3BCB24527C09C5A0012118D /* trees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = ""; }; + B3BCB24627C09C5A0012118D /* infcodes.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = infcodes.c; sourceTree = ""; }; + B3BCB24727C09C5A0012118D /* infutil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = infutil.h; sourceTree = ""; }; + B3BCB24827C09C5A0012118D /* gzio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gzio.c; sourceTree = ""; }; + B3BCB24927C09C5A0012118D /* inffast.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = ""; }; + B3BCB24A27C09C5A0012118D /* maketree.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = maketree.c; sourceTree = ""; }; + B3BCB24B27C09C5A0012118D /* adler32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = ""; }; + B3BCB24C27C09C5A0012118D /* zconf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = ""; }; + B3BCB24D27C09C5A0012118D /* taseditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor.cpp; sourceTree = ""; }; + B3BCB25027C09C5A0012118D /* luaperks.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = luaperks.lib; sourceTree = ""; }; + B3BCB25127C09C5A0012118D /* lua5.1.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = lua5.1.dll; sourceTree = ""; }; + B3BCB25227C09C5A0012118D /* lua51.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = lua51.lib; sourceTree = ""; }; + B3BCB25327C09C5A0012118D /* lua51.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = lua51.dll; sourceTree = ""; }; + B3BCB25527C09C5A0012118D /* lmem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lmem.h; sourceTree = ""; }; + B3BCB25627C09C5A0012118D /* llimits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = llimits.h; sourceTree = ""; }; + B3BCB25727C09C5A0012118D /* luaconf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = luaconf.h; sourceTree = ""; }; + B3BCB25827C09C5A0012118D /* lzio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lzio.h; sourceTree = ""; }; + B3BCB25927C09C5A0012118D /* lua.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = lua.hpp; sourceTree = ""; }; + B3BCB25A27C09C5A0012118D /* lualib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lualib.h; sourceTree = ""; }; + B3BCB25B27C09C5A0012118D /* ltm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ltm.h; sourceTree = ""; }; + B3BCB25C27C09C5A0012118D /* lobject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lobject.h; sourceTree = ""; }; + B3BCB25D27C09C5A0012118D /* lstate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lstate.h; sourceTree = ""; }; + B3BCB25E27C09C5A0012118D /* lauxlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lauxlib.h; sourceTree = ""; }; + B3BCB25F27C09C5A0012118D /* lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lua.h; sourceTree = ""; }; + B3BCB26027C09C5A0012118D /* luaperks.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = luaperks.txt; sourceTree = ""; }; + B3BCB26227C09C5A0012118D /* luaperks.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = luaperks.lib; sourceTree = ""; }; + B3BCB26327C09C5A0012118D /* lua5.1.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = lua5.1.dll; sourceTree = ""; }; + B3BCB26427C09C5A0012118D /* lua51.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = lua51.lib; sourceTree = ""; }; + B3BCB26527C09C5A0012118D /* lua51.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = lua51.dll; sourceTree = ""; }; + B3BCB26627C09C5A0012118D /* guiconfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = guiconfig.h; sourceTree = ""; }; + B3BCB26727C09C5A0012118D /* ppuview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ppuview.cpp; sourceTree = ""; }; + B3BCB26827C09C5A0012118D /* gui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gui.h; sourceTree = ""; }; + B3BCB26927C09C5A0012118D /* args.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = args.h; sourceTree = ""; }; + B3BCB26A27C09C5A0012118D /* memview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memview.cpp; sourceTree = ""; }; + B3BCB26B27C09C5A0012118D /* palette.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = palette.h; sourceTree = ""; }; + B3BCB26C27C09C5A0012118D /* monitor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = monitor.h; sourceTree = ""; }; + B3BCB26D27C09C5A0012118D /* gui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gui.cpp; sourceTree = ""; }; + B3BCB26F27C09C5A0012118D /* IProgress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IProgress.h; sourceTree = ""; }; + B3BCB27027C09C5A0012118D /* Types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Types.h; sourceTree = ""; }; + B3BCB27127C09C5A0012118D /* IArchive.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IArchive.h; sourceTree = ""; }; + B3BCB27227C09C5A0012118D /* MyUnknown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyUnknown.h; sourceTree = ""; }; + B3BCB27327C09C5A0012118D /* PropID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PropID.h; sourceTree = ""; }; + B3BCB27427C09C5A0012118D /* IStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IStream.h; sourceTree = ""; }; + B3BCB27527C09C5A0012118D /* readme.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = readme.txt; sourceTree = ""; }; + B3BCB27627C09C5A0012118D /* common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + B3BCB27727C09C5A0012118D /* ram_search.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ram_search.cpp; sourceTree = ""; }; + B3BCB27827C09C5A0012118D /* replay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = replay.h; sourceTree = ""; }; + B3BCB27927C09C5A0012118D /* memview.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memview.h; sourceTree = ""; }; + B3BCB27A27C09C5A0012118D /* log.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = ""; }; + B3BCB27B27C09C5A0012118D /* tracer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tracer.h; sourceTree = ""; }; + B3BCB27C27C09C5B0012118D /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = config.cpp; sourceTree = ""; }; + B3BCB27D27C09C5B0012118D /* keyboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyboard.h; sourceTree = ""; }; + B3BCB27E27C09C5B0012118D /* memwatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memwatch.cpp; sourceTree = ""; }; + B3BCB27F27C09C5B0012118D /* ramwatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ramwatch.cpp; sourceTree = ""; }; + B3BCB28027C09C5B0012118D /* sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sound.cpp; sourceTree = ""; }; + B3BCB28127C09C5B0012118D /* guiconfig.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = guiconfig.cpp; sourceTree = ""; }; + B3BCB28227C09C5B0012118D /* throttle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = throttle.cpp; sourceTree = ""; }; + B3BCB28327C09C5B0012118D /* video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = video.h; sourceTree = ""; }; + B3BCB28427C09C5B0012118D /* oakra.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = oakra.h; sourceTree = ""; }; + B3BCB28527C09C5B0012118D /* resource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = ""; }; + B3BCB28627C09C5B0012118D /* pref.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pref.h; sourceTree = ""; }; + B3BCB28727C09C5B0012118D /* debugger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = debugger.cpp; sourceTree = ""; }; + B3BCB28827C09C5B0012118D /* netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = netplay.h; sourceTree = ""; }; + B3BCB28927C09C5B0012118D /* directories.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = directories.h; sourceTree = ""; }; + B3BCB28A27C09C5B0012118D /* debugger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debugger.h; sourceTree = ""; }; + B3BCB28B27C09C5B0012118D /* movieoptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = movieoptions.h; sourceTree = ""; }; + B3BCB28C27C09C5B0012118D /* wave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wave.h; sourceTree = ""; }; + B3BCB28D27C09C5B0012118D /* tracer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tracer.cpp; sourceTree = ""; }; + B3BCB28E27C09C5B0012118D /* memwatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memwatch.h; sourceTree = ""; }; + B3BCB28F27C09C5B0012118D /* cheat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cheat.cpp; sourceTree = ""; }; + B3BCB29027C09C5B0012118D /* texthook.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = texthook.h; sourceTree = ""; }; + B3BCB29127C09C5B0012118D /* ntview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ntview.cpp; sourceTree = ""; }; + B3BCB29227C09C5B0012118D /* palette.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = palette.cpp; sourceTree = ""; }; + B3BCB29327C09C5B0012118D /* replay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = replay.cpp; sourceTree = ""; }; + B3BCB29427C09C5B0012118D /* state.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = state.h; sourceTree = ""; }; + B3BCB29627C09C5B0012118D /* ddraw.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ddraw.h; sourceTree = ""; }; + B3BCB29727C09C5B0012118D /* dinput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dinput.h; sourceTree = ""; }; + B3BCB29827C09C5B0012118D /* dsound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dsound.h; sourceTree = ""; }; + B3BCB29A27C09C5B0012118D /* ddraw.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ddraw.h; sourceTree = ""; }; + B3BCB29B27C09C5B0012118D /* dinput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dinput.h; sourceTree = ""; }; + B3BCB29C27C09C5B0012118D /* dsound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dsound.h; sourceTree = ""; }; + B3BCB29D27C09C5B0012118D /* dinput.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = dinput.lib; sourceTree = ""; }; + B3BCB29E27C09C5B0012118D /* source.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = source.txt; sourceTree = ""; }; + B3BCB29F27C09C5B0012118D /* dxguid.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = dxguid.lib; sourceTree = ""; }; + B3BCB2A027C09C5B0012118D /* ddraw.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = ddraw.lib; sourceTree = ""; }; + B3BCB2A127C09C5B0012118D /* dsound.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = dsound.lib; sourceTree = ""; }; + B3BCB2A227C09C5B0012118D /* dinput.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = dinput.lib; sourceTree = ""; }; + B3BCB2A327C09C5B0012118D /* dxguid.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = dxguid.lib; sourceTree = ""; }; + B3BCB2A427C09C5B0012118D /* ddraw.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = ddraw.lib; sourceTree = ""; }; + B3BCB2A527C09C5B0012118D /* dsound.lib */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = dsound.lib; sourceTree = ""; }; + B3BCB2A627C09C5B0012118D /* keyboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = keyboard.cpp; sourceTree = ""; }; + B3BCB2A727C09C5B0012118D /* joystick.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = joystick.cpp; sourceTree = ""; }; + B3BCB2A827C09C5B0012118D /* timing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = timing.cpp; sourceTree = ""; }; + B3BCB2A927C09C5B0012118D /* memviewsp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memviewsp.cpp; sourceTree = ""; }; + B3BCB2AA27C09C5B0012118D /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; + B3BCB2AB27C09C5B0012118D /* directories.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = directories.cpp; sourceTree = ""; }; + B3BCB2AC27C09C5B0012118D /* res.rc */ = {isa = PBXFileReference; lastKnownFileType = text; path = res.rc; sourceTree = ""; }; + B3BCB2AD27C09C5B0012118D /* throttle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = throttle.h; sourceTree = ""; }; + B3BCB2AE27C09C5B0012118D /* netplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = netplay.cpp; sourceTree = ""; }; + B3BCB2AF27C09C5B0012118D /* header_editor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = header_editor.h; sourceTree = ""; }; + B3BCB2B127C09C5B0012118D /* editor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = editor.h; sourceTree = ""; }; + B3BCB2B227C09C5B0012118D /* branches.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = branches.cpp; sourceTree = ""; }; + B3BCB2B327C09C5B0012118D /* playback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = playback.h; sourceTree = ""; }; + B3BCB2B427C09C5B0012118D /* taseditor_window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_window.cpp; sourceTree = ""; }; + B3BCB2B527C09C5B0012118D /* inputlog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inputlog.h; sourceTree = ""; }; + B3BCB2B627C09C5B0012118D /* bookmarks.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bookmarks.cpp; sourceTree = ""; }; + B3BCB2B727C09C5B0012118D /* greenzone.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = greenzone.cpp; sourceTree = ""; }; + B3BCB2B827C09C5B0012118D /* bookmark.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bookmark.cpp; sourceTree = ""; }; + B3BCB2B927C09C5B0012118D /* taseditor_lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_lua.h; sourceTree = ""; }; + B3BCB2BA27C09C5B0012118D /* taseditor_project.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_project.h; sourceTree = ""; }; + B3BCB2BB27C09C5B0012118D /* playback.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = playback.cpp; sourceTree = ""; }; + B3BCB2BC27C09C5B0012118D /* history.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = history.cpp; sourceTree = ""; }; + B3BCB2BD27C09C5B0012118D /* markers_manager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = markers_manager.h; sourceTree = ""; }; + B3BCB2BE27C09C5B0012118D /* splicer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = splicer.h; sourceTree = ""; }; + B3BCB2BF27C09C5B0012118D /* splicer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = splicer.cpp; sourceTree = ""; }; + B3BCB2C027C09C5B0012118D /* recorder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = recorder.h; sourceTree = ""; }; + B3BCB2C127C09C5B0012118D /* taseditor_project.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_project.cpp; sourceTree = ""; }; + B3BCB2C227C09C5B0012118D /* greenzone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = greenzone.h; sourceTree = ""; }; + B3BCB2C327C09C5B0012118D /* taseditor_window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_window.h; sourceTree = ""; }; + B3BCB2C427C09C5B0012118D /* snapshot.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = snapshot.cpp; sourceTree = ""; }; + B3BCB2C527C09C5B0012118D /* laglog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = laglog.cpp; sourceTree = ""; }; + B3BCB2C627C09C5B0012118D /* history.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = history.h; sourceTree = ""; }; + B3BCB2C727C09C5B0012118D /* markers_manager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = markers_manager.cpp; sourceTree = ""; }; + B3BCB2C827C09C5B0012118D /* editor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = editor.cpp; sourceTree = ""; }; + B3BCB2C927C09C5B0012118D /* popup_display.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = popup_display.h; sourceTree = ""; }; + B3BCB2CA27C09C5B0012118D /* markers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = markers.h; sourceTree = ""; }; + B3BCB2CB27C09C5B0012118D /* inputlog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = inputlog.cpp; sourceTree = ""; }; + B3BCB2CC27C09C5B0012118D /* bookmarks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bookmarks.h; sourceTree = ""; }; + B3BCB2CD27C09C5B0012118D /* taseditor_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_config.h; sourceTree = ""; }; + B3BCB2CE27C09C5B0012118D /* piano_roll.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = piano_roll.h; sourceTree = ""; }; + B3BCB2CF27C09C5B0012118D /* laglog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = laglog.h; sourceTree = ""; }; + B3BCB2D027C09C5B0012118D /* branches.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = branches.h; sourceTree = ""; }; + B3BCB2D127C09C5B0012118D /* snapshot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = snapshot.h; sourceTree = ""; }; + B3BCB2D227C09C5B0012118D /* taseditor_lua.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_lua.cpp; sourceTree = ""; }; + B3BCB2D327C09C5B0012118D /* markers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = markers.cpp; sourceTree = ""; }; + B3BCB2D427C09C5B0012118D /* piano_roll.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = piano_roll.cpp; sourceTree = ""; }; + B3BCB2D527C09C5B0012118D /* selection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = selection.h; sourceTree = ""; }; + B3BCB2D627C09C5B0012118D /* selection.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = selection.cpp; sourceTree = ""; }; + B3BCB2D727C09C5B0012118D /* taseditor_config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_config.cpp; sourceTree = ""; }; + B3BCB2D827C09C5B0012118D /* bookmark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bookmark.h; sourceTree = ""; }; + B3BCB2D927C09C5B0012118D /* popup_display.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = popup_display.cpp; sourceTree = ""; }; + B3BCB2DA27C09C5B0012118D /* recorder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = recorder.cpp; sourceTree = ""; }; + B3BCB2DB27C09C5B0012118D /* archive.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = archive.cpp; sourceTree = ""; }; + B3BCB2DC27C09C5B0012118D /* cdlogger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cdlogger.cpp; sourceTree = ""; }; + B3BCB2DD27C09C5B0012118D /* ram_search.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ram_search.h; sourceTree = ""; }; + B3BCB2DE27C09C5B0012118D /* cdlogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cdlogger.h; sourceTree = ""; }; + B3BCB2E027C09C5B0012118D /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; }; + B3BCB2E127C09C5B0012118D /* PaletteConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaletteConf.h; sourceTree = ""; }; + B3BCB2E227C09C5B0012118D /* MsgLogViewer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MsgLogViewer.h; sourceTree = ""; }; + B3BCB2E327C09C5B0012118D /* ConsoleVideoConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleVideoConf.cpp; sourceTree = ""; }; + B3BCB2E427C09C5B0012118D /* NameTableViewer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NameTableViewer.h; sourceTree = ""; }; + B3BCB2E527C09C5B0012118D /* keyscan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyscan.h; sourceTree = ""; }; + B3BCB2E627C09C5B0012118D /* MsgLogViewer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MsgLogViewer.cpp; sourceTree = ""; }; + B3BCB2E727C09C5B0012118D /* CheatsConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CheatsConf.cpp; sourceTree = ""; }; + B3BCB2E827C09C5B0012118D /* fceux_git_info.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceux_git_info.h; sourceTree = ""; }; + B3BCB2E927C09C5B0012118D /* RamSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RamSearch.cpp; sourceTree = ""; }; + B3BCB2EA27C09C5B0012118D /* ppuViewer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ppuViewer.cpp; sourceTree = ""; }; + B3BCB2EB27C09C5B0012118D /* nes_shm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nes_shm.h; sourceTree = ""; }; + B3BCB2EC27C09C5B0012118D /* HelpPages.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HelpPages.cpp; sourceTree = ""; }; + B3BCB2ED27C09C5B0012118D /* FrameTimingStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FrameTimingStats.cpp; sourceTree = ""; }; + B3BCB2EE27C09C5B0012118D /* ConsoleViewerGL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleViewerGL.cpp; sourceTree = ""; }; + B3BCB2EF27C09C5B0012118D /* sdl-sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-sound.cpp"; sourceTree = ""; }; + B3BCB2F027C09C5B0012118D /* input.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = input.h; sourceTree = ""; }; + B3BCB2F127C09C5B0012118D /* HexEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HexEditor.h; sourceTree = ""; }; + B3BCB2F227C09C5B0012118D /* input.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = input.cpp; sourceTree = ""; }; + B3BCB2F327C09C5B0012118D /* ConsoleDebugger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleDebugger.cpp; sourceTree = ""; }; + B3BCB2F427C09C5B0012118D /* ConsoleWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleWindow.cpp; sourceTree = ""; }; + B3BCB2F527C09C5B0012118D /* ConsoleSoundConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleSoundConf.cpp; sourceTree = ""; }; + B3BCB2F627C09C5B0012118D /* RamWatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RamWatch.h; sourceTree = ""; }; + B3BCB2F727C09C5B0012118D /* TimingConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TimingConf.h; sourceTree = ""; }; + B3BCB2F827C09C5B0012118D /* unix-netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "unix-netplay.h"; sourceTree = ""; }; + B3BCB2F927C09C5B0012118D /* dface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dface.h; sourceTree = ""; }; + B3BCB2FA27C09C5B0012118D /* ColorMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ColorMenu.h; sourceTree = ""; }; + B3BCB2FC27C09C5B0012118D /* avi-utils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "avi-utils.cpp"; sourceTree = ""; }; + B3BCB2FD27C09C5B0012118D /* fileio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fileio.cpp; sourceTree = ""; }; + B3BCB2FE27C09C5B0012118D /* gwavi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gwavi.h; sourceTree = ""; }; + B3BCB2FF27C09C5B0012118D /* gwavi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gwavi.cpp; sourceTree = ""; }; + B3BCB30027C09C5B0012118D /* MovieOptions.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MovieOptions.cpp; sourceTree = ""; }; + B3BCB30127C09C5B0012118D /* GuiConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuiConf.cpp; sourceTree = ""; }; + B3BCB30227C09C5B0012118D /* GameGenie.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GameGenie.cpp; sourceTree = ""; }; + B3BCB30327C09C5B0012118D /* unix-netplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "unix-netplay.cpp"; sourceTree = ""; }; + B3BCB30427C09C5B0012118D /* AviRiffViewer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AviRiffViewer.h; sourceTree = ""; }; + B3BCB30527C09C5B0012118D /* TraceLogger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TraceLogger.cpp; sourceTree = ""; }; + B3BCB30627C09C5B0012118D /* TimingConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TimingConf.cpp; sourceTree = ""; }; + B3BCB30727C09C5B0012118D /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + B3BCB30827C09C5B0012118D /* nes_shm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = nes_shm.cpp; sourceTree = ""; }; + B3BCB30927C09C5B0012118D /* HelpPages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HelpPages.h; sourceTree = ""; }; + B3BCB30A27C09C5B0012118D /* HotKeyConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HotKeyConf.cpp; sourceTree = ""; }; + B3BCB30B27C09C5B0012118D /* SplashScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SplashScreen.h; sourceTree = ""; }; + B3BCB30C27C09C5B0012118D /* PaletteConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PaletteConf.cpp; sourceTree = ""; }; + B3BCB30D27C09C5B0012118D /* FrameTimingStats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameTimingStats.h; sourceTree = ""; }; + B3BCB30E27C09C5B0012118D /* SymbolicDebug.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolicDebug.cpp; sourceTree = ""; }; + B3BCB30F27C09C5B0012118D /* AboutWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AboutWindow.cpp; sourceTree = ""; }; + B3BCB31027C09C5B0012118D /* ConsoleUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleUtilities.h; sourceTree = ""; }; + B3BCB31127C09C5B0012118D /* ConsoleViewerSDL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleViewerSDL.cpp; sourceTree = ""; }; + B3BCB31227C09C5B0012118D /* InputConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = InputConf.cpp; sourceTree = ""; }; + B3BCB31327C09C5B0012118D /* ConsoleViewerSDL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleViewerSDL.h; sourceTree = ""; }; + B3BCB31427C09C5B0012118D /* MoviePlay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoviePlay.h; sourceTree = ""; }; + B3BCB31527C09C5B0012118D /* LuaControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuaControl.h; sourceTree = ""; }; + B3BCB31627C09C5B0012118D /* ConsoleUtilities.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleUtilities.cpp; sourceTree = ""; }; + B3BCB31727C09C5B0012118D /* TraceLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TraceLogger.h; sourceTree = ""; }; + B3BCB31827C09C5B0012118D /* ConsoleViewerGL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleViewerGL.h; sourceTree = ""; }; + B3BCB31927C09C5B0012118D /* .qmake.stash */ = {isa = PBXFileReference; lastKnownFileType = text; path = .qmake.stash; sourceTree = ""; }; + B3BCB31A27C09C5B0012118D /* fceuWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceuWrapper.h; sourceTree = ""; }; + B3BCB31B27C09C5B0012118D /* AviRecord.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AviRecord.h; sourceTree = ""; }; + B3BCB31C27C09C5B0012118D /* AviRecord.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AviRecord.cpp; sourceTree = ""; }; + B3BCB31D27C09C5B0012118D /* sdl-throttle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-throttle.cpp"; sourceTree = ""; }; + B3BCB31E27C09C5B0012118D /* GamePadConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GamePadConf.cpp; sourceTree = ""; }; + B3BCB31F27C09C5B0012118D /* PaletteEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PaletteEditor.cpp; sourceTree = ""; }; + B3BCB32027C09C5B0012118D /* fceuWrapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fceuWrapper.cpp; sourceTree = ""; }; + B3BCB32127C09C5B0012118D /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = config.cpp; sourceTree = ""; }; + B3BCB32227C09C5B0012118D /* HexEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HexEditor.cpp; sourceTree = ""; }; + B3BCB32327C09C5B0012118D /* MovieRecord.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MovieRecord.cpp; sourceTree = ""; }; + B3BCB32427C09C5B0012118D /* RamWatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RamWatch.cpp; sourceTree = ""; }; + B3BCB32527C09C5B0012118D /* ConsoleDebugger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleDebugger.h; sourceTree = ""; }; + B3BCB32627C09C5B0012118D /* ConsoleWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleWindow.h; sourceTree = ""; }; + B3BCB32727C09C5B0012118D /* ColorMenu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ColorMenu.cpp; sourceTree = ""; }; + B3BCB32827C09C5B0012118D /* SymbolicDebug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SymbolicDebug.h; sourceTree = ""; }; + B3BCB32927C09C5B0012118D /* RamSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RamSearch.h; sourceTree = ""; }; + B3BCB32A27C09C5B0012118D /* InputConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InputConf.h; sourceTree = ""; }; + B3BCB32B27C09C5B0012118D /* GuiConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiConf.h; sourceTree = ""; }; + B3BCB32C27C09C5B0012118D /* MoviePlay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MoviePlay.cpp; sourceTree = ""; }; + B3BCB32D27C09C5B0012118D /* AboutWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AboutWindow.h; sourceTree = ""; }; + B3BCB32E27C09C5B0012118D /* GameGenie.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameGenie.h; sourceTree = ""; }; + B3BCB32F27C09C5B0012118D /* sdl-joystick.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-joystick.cpp"; sourceTree = ""; }; + B3BCB33027C09C5B0012118D /* MovieOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MovieOptions.h; sourceTree = ""; }; + B3BCB33127C09C5B0012118D /* sdl-video.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-video.cpp"; sourceTree = ""; }; + B3BCB33227C09C5B0012118D /* keyscan.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = keyscan.cpp; sourceTree = ""; }; + B3BCB33327C09C5B0012118D /* HotKeyConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HotKeyConf.h; sourceTree = ""; }; + B3BCB33427C09C5B0012118D /* MovieRecord.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MovieRecord.h; sourceTree = ""; }; + B3BCB33527C09C5B0012118D /* sdl-video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-video.h"; sourceTree = ""; }; + B3BCB33627C09C5B0012118D /* PaletteEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaletteEditor.h; sourceTree = ""; }; + B3BCB33727C09C5B0012118D /* ppuViewer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ppuViewer.h; sourceTree = ""; }; + B3BCB33827C09C5B0012118D /* sdl-joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-joystick.h"; sourceTree = ""; }; + B3BCB33927C09C5B0012118D /* SplashScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SplashScreen.cpp; sourceTree = ""; }; + B3BCB33A27C09C5B0012118D /* iNesHeaderEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = iNesHeaderEditor.cpp; sourceTree = ""; }; + B3BCB33B27C09C5B0012118D /* LuaControl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LuaControl.cpp; sourceTree = ""; }; + B3BCB33C27C09C5B0012118D /* iNesHeaderEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iNesHeaderEditor.h; sourceTree = ""; }; + B3BCB33D27C09C5B0012118D /* sdl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sdl.h; sourceTree = ""; }; + B3BCB33E27C09C5B0012118D /* CheatsConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CheatsConf.h; sourceTree = ""; }; + B3BCB33F27C09C5B0012118D /* ConsoleVideoConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleVideoConf.h; sourceTree = ""; }; + B3BCB34027C09C5B0012118D /* ConsoleSoundConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConsoleSoundConf.h; sourceTree = ""; }; + B3BCB34127C09C5B0012118D /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; + B3BCB34227C09C5B0012118D /* GamePadConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GamePadConf.h; sourceTree = ""; }; + B3BCB34327C09C5B0012118D /* NameTableViewer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NameTableViewer.cpp; sourceTree = ""; }; + B3BCB34427C09C5B0012118D /* throttle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = throttle.h; sourceTree = ""; }; + B3BCB34527C09C5B0012118D /* CodeDataLogger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CodeDataLogger.cpp; sourceTree = ""; }; + B3BCB34627C09C5B0012118D /* CodeDataLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CodeDataLogger.h; sourceTree = ""; }; + B3BCB34827C09C5B0012118D /* branches.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = branches.cpp; sourceTree = ""; }; + B3BCB34927C09C5B0012118D /* playback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = playback.h; sourceTree = ""; }; + B3BCB34A27C09C5B0012118D /* inputlog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inputlog.h; sourceTree = ""; }; + B3BCB34B27C09C5B0012118D /* bookmarks.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bookmarks.cpp; sourceTree = ""; }; + B3BCB34C27C09C5B0012118D /* TasEditorWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TasEditorWindow.cpp; sourceTree = ""; }; + B3BCB34D27C09C5B0012118D /* greenzone.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = greenzone.cpp; sourceTree = ""; }; + B3BCB34E27C09C5B0012118D /* bookmark.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bookmark.cpp; sourceTree = ""; }; + B3BCB34F27C09C5B0012118D /* taseditor_lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_lua.h; sourceTree = ""; }; + B3BCB35027C09C5B0012118D /* taseditor_project.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_project.h; sourceTree = ""; }; + B3BCB35127C09C5B0012118D /* playback.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = playback.cpp; sourceTree = ""; }; + B3BCB35227C09C5B0012118D /* history.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = history.cpp; sourceTree = ""; }; + B3BCB35327C09C5B0012118D /* TasColors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TasColors.h; sourceTree = ""; }; + B3BCB35427C09C5B0012118D /* markers_manager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = markers_manager.h; sourceTree = ""; }; + B3BCB35527C09C5B0012118D /* splicer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = splicer.h; sourceTree = ""; }; + B3BCB35627C09C5B0012118D /* splicer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = splicer.cpp; sourceTree = ""; }; + B3BCB35727C09C5B0012118D /* recorder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = recorder.h; sourceTree = ""; }; + B3BCB35827C09C5B0012118D /* taseditor_project.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_project.cpp; sourceTree = ""; }; + B3BCB35927C09C5B0012118D /* greenzone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = greenzone.h; sourceTree = ""; }; + B3BCB35A27C09C5B0012118D /* snapshot.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = snapshot.cpp; sourceTree = ""; }; + B3BCB35B27C09C5B0012118D /* laglog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = laglog.cpp; sourceTree = ""; }; + B3BCB35C27C09C5B0012118D /* history.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = history.h; sourceTree = ""; }; + B3BCB35D27C09C5B0012118D /* markers_manager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = markers_manager.cpp; sourceTree = ""; }; + B3BCB35E27C09C5B0012118D /* TasEditorWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TasEditorWindow.h; sourceTree = ""; }; + B3BCB35F27C09C5B0012118D /* markers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = markers.h; sourceTree = ""; }; + B3BCB36027C09C5B0012118D /* inputlog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = inputlog.cpp; sourceTree = ""; }; + B3BCB36127C09C5B0012118D /* bookmarks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bookmarks.h; sourceTree = ""; }; + B3BCB36227C09C5B0012118D /* taseditor_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = taseditor_config.h; sourceTree = ""; }; + B3BCB36327C09C5B0012118D /* laglog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = laglog.h; sourceTree = ""; }; + B3BCB36427C09C5B0012118D /* branches.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = branches.h; sourceTree = ""; }; + B3BCB36527C09C5B0012118D /* snapshot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = snapshot.h; sourceTree = ""; }; + B3BCB36627C09C5B0012118D /* taseditor_lua.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_lua.cpp; sourceTree = ""; }; + B3BCB36727C09C5B0012118D /* markers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = markers.cpp; sourceTree = ""; }; + B3BCB36827C09C5B0012118D /* selection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = selection.h; sourceTree = ""; }; + B3BCB36927C09C5B0012118D /* selection.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = selection.cpp; sourceTree = ""; }; + B3BCB36A27C09C5B0012118D /* taseditor_config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = taseditor_config.cpp; sourceTree = ""; }; + B3BCB36B27C09C5B0012118D /* bookmark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bookmark.h; sourceTree = ""; }; + B3BCB36C27C09C5B0012118D /* recorder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = recorder.cpp; sourceTree = ""; }; + B3BCB36D27C09C5B0012118D /* AviRiffViewer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AviRiffViewer.cpp; sourceTree = ""; }; + B3BCB36F27C09C5B0012118D /* configSys.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = configSys.cpp; sourceTree = ""; }; + B3BCB37027C09C5B0012118D /* scale2x.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = scale2x.cpp; sourceTree = ""; }; + B3BCB37127C09C5B0012118D /* hq3x.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hq3x.h; sourceTree = ""; }; + B3BCB37227C09C5B0012118D /* cheat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cheat.h; sourceTree = ""; }; + B3BCB37327C09C5B0012118D /* configSys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = configSys.h; sourceTree = ""; }; + B3BCB37427C09C5B0012118D /* scalebit.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = scalebit.cpp; sourceTree = ""; }; + B3BCB37527C09C5B0012118D /* args.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = args.cpp; sourceTree = ""; }; + B3BCB37627C09C5B0012118D /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + B3BCB37727C09C5B0012118D /* hq2x.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hq2x.h; sourceTree = ""; }; + B3BCB37827C09C5B0012118D /* scale3x.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = scale3x.cpp; sourceTree = ""; }; + B3BCB37927C09C5B0012118D /* nes_ntsc_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nes_ntsc_config.h; sourceTree = ""; }; + B3BCB37A27C09C5B0012118D /* vidblit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = vidblit.h; sourceTree = ""; }; + B3BCB37B27C09C5B0012118D /* nes_ntsc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nes_ntsc.h; sourceTree = ""; }; + B3BCB37C27C09C5B0012118D /* vidblit.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vidblit.cpp; sourceTree = ""; }; + B3BCB37D27C09C5B0012118D /* nes_ntsc_impl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nes_ntsc_impl.h; sourceTree = ""; }; + B3BCB37E27C09C5B0012118D /* scale2x.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = scale2x.h; sourceTree = ""; }; + B3BCB37F27C09C5B0012118D /* args.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = args.h; sourceTree = ""; }; + B3BCB38027C09C5B0012118D /* hq2x.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = hq2x.cpp; sourceTree = ""; }; + B3BCB38127C09C5B0012118D /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = config.cpp; sourceTree = ""; }; + B3BCB38227C09C5B0012118D /* hq3x.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = hq3x.cpp; sourceTree = ""; }; + B3BCB38327C09C5B0012118D /* scalebit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = scalebit.h; sourceTree = ""; }; + B3BCB38427C09C5B0012118D /* scale3x.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = scale3x.h; sourceTree = ""; }; + B3BCB38527C09C5B0012118D /* nes_ntsc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nes_ntsc.c; sourceTree = ""; }; + B3BCB38627C09C5B0012118D /* cheat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cheat.cpp; sourceTree = ""; }; + B3BCB38727C09C5B0012118D /* os_utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = os_utils.h; sourceTree = ""; }; + B3BCB38827C09C5B0012118D /* os_utils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = os_utils.cpp; sourceTree = ""; }; + B3BCB38A27C09C5B0012118D /* glxwin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = glxwin.cpp; sourceTree = ""; }; + B3BCB38B27C09C5B0012118D /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; }; + B3BCB38C27C09C5B0012118D /* cheat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cheat.h; sourceTree = ""; }; + B3BCB38D27C09C5B0012118D /* keyscan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyscan.h; sourceTree = ""; }; + B3BCB38E27C09C5B0012118D /* fceux_git_info.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceux_git_info.h; sourceTree = ""; }; + B3BCB38F27C09C5B0012118D /* sdl-sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-sound.cpp"; sourceTree = ""; }; + B3BCB39027C09C5B0012118D /* input.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = input.h; sourceTree = ""; }; + B3BCB39127C09C5B0012118D /* input.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = input.cpp; sourceTree = ""; }; + B3BCB39227C09C5B0012118D /* ramwatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ramwatch.h; sourceTree = ""; }; + B3BCB39327C09C5B0012118D /* unix-netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "unix-netplay.h"; sourceTree = ""; }; + B3BCB39427C09C5B0012118D /* dface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dface.h; sourceTree = ""; }; + B3BCB39527C09C5B0012118D /* unix-netplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "unix-netplay.cpp"; sourceTree = ""; }; + B3BCB39627C09C5B0012118D /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + B3BCB39727C09C5B0012118D /* glxwin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = glxwin.h; sourceTree = ""; }; + B3BCB39827C09C5B0012118D /* sdl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sdl.cpp; sourceTree = ""; }; + B3BCB39927C09C5B0012118D /* gui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gui.h; sourceTree = ""; }; + B3BCB39A27C09C5B0012118D /* sdl-throttle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-throttle.cpp"; sourceTree = ""; }; + B3BCB39B27C09C5B0012118D /* GamePadConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GamePadConf.cpp; sourceTree = ""; }; + B3BCB39C27C09C5B0012118D /* memview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memview.cpp; sourceTree = ""; }; + B3BCB39D27C09C5B0012118D /* gui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gui.cpp; sourceTree = ""; }; + B3BCB39E27C09C5B0012118D /* memview.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memview.h; sourceTree = ""; }; + B3BCB39F27C09C5B0012118D /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = config.cpp; sourceTree = ""; }; + B3BCB3A027C09C5B0012118D /* ramwatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ramwatch.cpp; sourceTree = ""; }; + B3BCB3A127C09C5B0012118D /* icon.xpm */ = {isa = PBXFileReference; lastKnownFileType = text; path = icon.xpm; sourceTree = ""; }; + B3BCB3A227C09C5B0012118D /* sdl-icon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-icon.h"; sourceTree = ""; }; + B3BCB3A327C09C5B0012118D /* debugger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = debugger.cpp; sourceTree = ""; }; + B3BCB3A427C09C5B0012118D /* sdl-netplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-netplay.cpp"; sourceTree = ""; }; + B3BCB3A527C09C5B0012118D /* sdl-joystick.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-joystick.cpp"; sourceTree = ""; }; + B3BCB3A627C09C5B0012118D /* debugger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debugger.h; sourceTree = ""; }; + B3BCB3A727C09C5B0012118D /* sdl-video.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sdl-video.cpp"; sourceTree = ""; }; + B3BCB3A827C09C5B0012118D /* sdl-video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-video.h"; sourceTree = ""; }; + B3BCB3A927C09C5B0012118D /* cheat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cheat.cpp; sourceTree = ""; }; + B3BCB3AA27C09C5B0012118D /* sdl-joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-joystick.h"; sourceTree = ""; }; + B3BCB3AB27C09C5B0012118D /* sdl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sdl.h; sourceTree = ""; }; + B3BCB3AC27C09C5B0012118D /* GamePadConf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GamePadConf.h; sourceTree = ""; }; + B3BCB3AD27C09C5B0012118D /* throttle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = throttle.h; sourceTree = ""; }; + B3BCB3AE27C09C5B0012118D /* drawing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = drawing.h; sourceTree = ""; }; + B3BCB3AF27C09C5B0012118D /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + B3BCB3B127C09C5B0012118D /* shadow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = shadow.cpp; sourceTree = ""; }; + B3BCB3B227C09C5B0012118D /* snesmouse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = snesmouse.cpp; sourceTree = ""; }; + B3BCB3B327C09C5B0012118D /* hypershot.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = hypershot.cpp; sourceTree = ""; }; + B3BCB3B427C09C5B0012118D /* quiz.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = quiz.cpp; sourceTree = ""; }; + B3BCB3B527C09C5B0012118D /* virtualboy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = virtualboy.cpp; sourceTree = ""; }; + B3BCB3B627C09C5B0012118D /* ftrainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ftrainer.cpp; sourceTree = ""; }; + B3BCB3B727C09C5B0012118D /* oekakids.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = oekakids.cpp; sourceTree = ""; }; + B3BCB3B827C09C5B0012118D /* mouse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mouse.cpp; sourceTree = ""; }; + B3BCB3B927C09C5B0012118D /* fkb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fkb.cpp; sourceTree = ""; }; + B3BCB3BA27C09C5B0012118D /* powerpad.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = powerpad.cpp; sourceTree = ""; }; + B3BCB3BB27C09C5B0012118D /* zapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = zapper.cpp; sourceTree = ""; }; + B3BCB3BC27C09C5B0012118D /* fkb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fkb.h; sourceTree = ""; }; + B3BCB3BD27C09C5B0012118D /* toprider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = toprider.cpp; sourceTree = ""; }; + B3BCB3BE27C09C5B0012118D /* share.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = share.h; sourceTree = ""; }; + B3BCB3BF27C09C5B0012118D /* suborkb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = suborkb.cpp; sourceTree = ""; }; + B3BCB3C027C09C5B0012118D /* mahjong.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mahjong.cpp; sourceTree = ""; }; + B3BCB3C127C09C5B0012118D /* pec586kb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = pec586kb.cpp; sourceTree = ""; }; + B3BCB3C227C09C5B0012118D /* arkanoid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = arkanoid.cpp; sourceTree = ""; }; + B3BCB3C327C09C5B0012118D /* zapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zapper.h; sourceTree = ""; }; + B3BCB3C427C09C5B0012118D /* cursor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cursor.cpp; sourceTree = ""; }; + B3BCB3C527C09C5B0012118D /* bworld.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bworld.cpp; sourceTree = ""; }; + B3BCB3C627C09C5B0012118D /* fns.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fns.cpp; sourceTree = ""; }; + B3BCB3C727C09C5B0012118D /* lcdcompzapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = lcdcompzapper.cpp; sourceTree = ""; }; + B3BCB3C827C09C5B0012118D /* suborkb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = suborkb.h; sourceTree = ""; }; + B3BCB3C927C09C5B0012118D /* wave.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wave.cpp; sourceTree = ""; }; + B3BCB3CA27C09C5B0012118D /* conddebug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = conddebug.h; sourceTree = ""; }; + B3BCB3CB27C09C5B0012118D /* emufile_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = emufile_types.h; sourceTree = ""; }; + B3BCB3CC27C09C5B0012118D /* unif.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = unif.h; sourceTree = ""; }; + B3BCB3CD27C09C5B0012118D /* movie.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = movie.h; sourceTree = ""; }; + B3BCB3CE27C09C5B0012118D /* x6502.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = x6502.h; sourceTree = ""; }; + B3BCB3CF27C09C5B0012118D /* x6502abbrev.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = x6502abbrev.h; sourceTree = ""; }; + B3BCB3D027C09C5B0012118D /* ines-correct.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ines-correct.h"; sourceTree = ""; }; + B3BCB3D127C09C5B0012118D /* file.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = ""; }; + B3BCB3D227C09C5B0012118D /* nsf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nsf.h; sourceTree = ""; }; + B3BCB3D327C09C5B0012118D /* state.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = state.cpp; sourceTree = ""; }; + B3BCB3D427C09C5B0012118D /* driver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = driver.h; sourceTree = ""; }; + B3BCB3D627C09C5B0012118D /* general.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = general.cpp; sourceTree = ""; }; + B3BCB3D727C09C5B0012118D /* memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memory.cpp; sourceTree = ""; }; + B3BCB3D827C09C5B0012118D /* md5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = md5.cpp; sourceTree = ""; }; + B3BCB3D927C09C5B0012118D /* ConvertUTF.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ConvertUTF.c; sourceTree = ""; }; + B3BCB3DA27C09C5B0012118D /* ioapi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ioapi.cpp; sourceTree = ""; }; + B3BCB3DB27C09C5B0012118D /* backward.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = backward.cpp; sourceTree = ""; }; + B3BCB3DC27C09C5B0012118D /* valuearray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = valuearray.h; sourceTree = ""; }; + B3BCB3DD27C09C5B0012118D /* endian.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = endian.h; sourceTree = ""; }; + B3BCB3DE27C09C5B0012118D /* general.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = general.h; sourceTree = ""; }; + B3BCB3DF27C09C5B0012118D /* md5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = ""; }; + B3BCB3E027C09C5B0012118D /* endian.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = endian.cpp; sourceTree = ""; }; + B3BCB3E127C09C5B0012118D /* crc32.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = crc32.cpp; sourceTree = ""; }; + B3BCB3E227C09C5B0012118D /* unzip.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = unzip.cpp; sourceTree = ""; }; + B3BCB3E327C09C5B0012118D /* guid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = guid.h; sourceTree = ""; }; + B3BCB3E427C09C5B0012118D /* unzip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = ""; }; + B3BCB3E527C09C5B0012118D /* ConvertUTF.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConvertUTF.h; sourceTree = ""; }; + B3BCB3E627C09C5B0012118D /* memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; }; + B3BCB3E727C09C5B0012118D /* xstring.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = xstring.cpp; sourceTree = ""; }; + B3BCB3E827C09C5B0012118D /* guid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = guid.cpp; sourceTree = ""; }; + B3BCB3E927C09C5B0012118D /* ioapi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = ""; }; + B3BCB3EA27C09C5B0012118D /* crc32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = crc32.h; sourceTree = ""; }; + B3BCB3EB27C09C5B0012118D /* xstring.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = xstring.h; sourceTree = ""; }; + B3BCB3EC27C09C5B0012118D /* backward.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = backward.hpp; sourceTree = ""; }; + B3BCB3ED27C09C5B0012118D /* git.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = git.h; sourceTree = ""; }; + B3BCB3EE27C09C5B0012118D /* video.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = video.cpp; sourceTree = ""; }; + B3BCB3EF27C09C5B0012118D /* filter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = filter.cpp; sourceTree = ""; }; + B3BCB3F027C09C5B0012118D /* x6502struct.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = x6502struct.h; sourceTree = ""; }; + B3BCB3F127C09C5B0012118D /* asm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = asm.h; sourceTree = ""; }; + B3BCB3F327C09C5B0012118D /* lua.vcproj */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = lua.vcproj; sourceTree = ""; }; + B3BCB3F427C09C5B0012118D /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = ""; }; + B3BCB3F527C09C5B0012118D /* HISTORY */ = {isa = PBXFileReference; lastKnownFileType = text; path = HISTORY; sourceTree = ""; }; + B3BCB3F627C09C5B0012118D /* COPYRIGHT */ = {isa = PBXFileReference; lastKnownFileType = text; path = COPYRIGHT; sourceTree = ""; }; + B3BCB3F827C09C5B0012118D /* lauxlib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lauxlib.c; sourceTree = ""; }; + B3BCB3F927C09C5B0012118D /* lmem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lmem.h; sourceTree = ""; }; + B3BCB3FA27C09C5B0012118D /* llimits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = llimits.h; sourceTree = ""; }; + B3BCB3FB27C09C5B0012118D /* luaconf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = luaconf.h; sourceTree = ""; }; + B3BCB3FC27C09C5B0012118D /* lzio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lzio.h; sourceTree = ""; }; + B3BCB3FD27C09C5B0012118D /* lgc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lgc.h; sourceTree = ""; }; + B3BCB3FE27C09C5B0012118D /* liolib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = liolib.c; sourceTree = ""; }; + B3BCB3FF27C09C5B0012118D /* lopcodes.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lopcodes.c; sourceTree = ""; }; + B3BCB40027C09C5B0012118D /* lstate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lstate.c; sourceTree = ""; }; + B3BCB40127C09C5B0012118D /* lobject.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lobject.c; sourceTree = ""; }; + B3BCB40227C09C5B0012118D /* lualib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lualib.h; sourceTree = ""; }; + B3BCB40327C09C5B0012118D /* print.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = print.c; sourceTree = ""; }; + B3BCB40427C09C5B0012118D /* lmathlib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lmathlib.c; sourceTree = ""; }; + B3BCB40527C09C5B0012118D /* loadlib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = loadlib.c; sourceTree = ""; }; + B3BCB40627C09C5B0012118D /* lvm.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lvm.c; sourceTree = ""; }; + B3BCB40727C09C5B0012118D /* lfunc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lfunc.c; sourceTree = ""; }; + B3BCB40827C09C5B0012118D /* lstrlib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lstrlib.c; sourceTree = ""; }; + B3BCB40927C09C5B0012118D /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + B3BCB40A27C09C5B0012118D /* lua.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lua.c; sourceTree = ""; }; + B3BCB40B27C09C5B0012118D /* ldebug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ldebug.h; sourceTree = ""; }; + B3BCB40C27C09C5B0012118D /* linit.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = linit.c; sourceTree = ""; }; + B3BCB40D27C09C5B0012118D /* lcode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lcode.h; sourceTree = ""; }; + B3BCB40E27C09C5B0012118D /* lapi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lapi.h; sourceTree = ""; }; + B3BCB40F27C09C5B0012118D /* lstring.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lstring.c; sourceTree = ""; }; + B3BCB41027C09C5B0012118D /* ldo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ldo.h; sourceTree = ""; }; + B3BCB41127C09C5B0012118D /* lundump.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lundump.c; sourceTree = ""; }; + B3BCB41227C09C5B0012118D /* llex.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = llex.h; sourceTree = ""; }; + B3BCB41327C09C5B0012118D /* luac.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = luac.c; sourceTree = ""; }; + B3BCB41427C09C5B0012118D /* ltm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ltm.h; sourceTree = ""; }; + B3BCB41527C09C5B0012118D /* ltable.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ltable.c; sourceTree = ""; }; + B3BCB41627C09C5B0012118D /* lparser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lparser.h; sourceTree = ""; }; + B3BCB41727C09C5B0012118D /* ldump.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ldump.c; sourceTree = ""; }; + B3BCB41827C09C5B0012118D /* lobject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lobject.h; sourceTree = ""; }; + B3BCB41927C09C5B0012118D /* lstate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lstate.h; sourceTree = ""; }; + B3BCB41A27C09C5B0012118D /* lopcodes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lopcodes.h; sourceTree = ""; }; + B3BCB41B27C09C5B0012118D /* loslib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = loslib.c; sourceTree = ""; }; + B3BCB41C27C09C5B0012118D /* lgc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lgc.c; sourceTree = ""; }; + B3BCB41D27C09C5B0012118D /* lzio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lzio.c; sourceTree = ""; }; + B3BCB41E27C09C5B0012118D /* ldblib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ldblib.c; sourceTree = ""; }; + B3BCB41F27C09C5B0012118D /* lmem.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lmem.c; sourceTree = ""; }; + B3BCB42027C09C5B0012118D /* lauxlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lauxlib.h; sourceTree = ""; }; + B3BCB42127C09C5B0012118D /* lvm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lvm.h; sourceTree = ""; }; + B3BCB42227C09C5B0012118D /* lstring.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lstring.h; sourceTree = ""; }; + B3BCB42327C09C5B0012118D /* lcode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lcode.c; sourceTree = ""; }; + B3BCB42427C09C5B0012118D /* ltablib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ltablib.c; sourceTree = ""; }; + B3BCB42527C09C5B0012118D /* lapi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lapi.c; sourceTree = ""; }; + B3BCB42627C09C5B0012118D /* lbaselib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lbaselib.c; sourceTree = ""; }; + B3BCB42727C09C5B0012118D /* lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lua.h; sourceTree = ""; }; + B3BCB42827C09C5B0012118D /* ldebug.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ldebug.c; sourceTree = ""; }; + B3BCB42927C09C5B0012118D /* lfunc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lfunc.h; sourceTree = ""; }; + B3BCB42A27C09C5B0012118D /* lparser.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = lparser.c; sourceTree = ""; }; + B3BCB42B27C09C5B0012118D /* llex.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = llex.c; sourceTree = ""; }; + B3BCB42C27C09C5B0012118D /* ltable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ltable.h; sourceTree = ""; }; + B3BCB42D27C09C5B0012118D /* ltm.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ltm.c; sourceTree = ""; }; + B3BCB42E27C09C5B0012118D /* ldo.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ldo.c; sourceTree = ""; }; + B3BCB42F27C09C5B0012118D /* lundump.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lundump.h; sourceTree = ""; }; + B3BCB43027C09C5B0012118D /* conddebug.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = conddebug.cpp; sourceTree = ""; }; + B3BCB43127C09C5B0012118D /* fceu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceu.h; sourceTree = ""; }; + B3BCB43227C09C5B0012118D /* fds.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fds.h; sourceTree = ""; }; + B3BCB43327C09C5B0012118D /* drawing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = drawing.cpp; sourceTree = ""; }; + B3BCB43427C09C5B0012118D /* vsuni.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = vsuni.h; sourceTree = ""; }; + B3BCB43527C09C5B0012118D /* palette.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = palette.h; sourceTree = ""; }; + B3BCB43627C09C5B0012118D /* pputile.inc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.pascal; path = pputile.inc; sourceTree = ""; }; + B3BCB43727C09C5B0012118D /* cart.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cart.h; sourceTree = ""; }; + B3BCB43827C09C5B0012118D /* ppu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ppu.h; sourceTree = ""; }; + B3BCB43927C09C5B0012118D /* file.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = file.cpp; sourceTree = ""; }; + B3BCB43A27C09C5B0012118D /* x6502.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = x6502.cpp; sourceTree = ""; }; + B3BCB43D27C09C5B0012118D /* dos-video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "dos-video.h"; sourceTree = ""; }; + B3BCB43E27C09C5B0012118D /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; }; + B3BCB43F27C09C5B0012118D /* sdl-netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-netplay.h"; sourceTree = ""; }; + B3BCB44027C09C5B0012118D /* keyscan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyscan.h; sourceTree = ""; }; + B3BCB44127C09C5B0012118D /* input.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = input.h; sourceTree = ""; }; + B3BCB44227C09C5B0012118D /* dos-joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "dos-joystick.h"; sourceTree = ""; }; + B3BCB44327C09C5B0012118D /* unix-netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "unix-netplay.h"; sourceTree = ""; }; + B3BCB44427C09C5B0012118D /* dface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dface.h; sourceTree = ""; }; + B3BCB44527C09C5B0012118D /* dos-sound.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "dos-sound.c"; sourceTree = ""; }; + B3BCB44627C09C5B0012118D /* sdl-video.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "sdl-video.c"; sourceTree = ""; }; + B3BCB44727C09C5B0012118D /* dos-keyboard.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "dos-keyboard.c"; sourceTree = ""; }; + B3BCB44827C09C5B0012118D /* sdl-joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "sdl-joystick.c"; sourceTree = ""; }; + B3BCB44927C09C5B0012118D /* dos.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = dos.c; sourceTree = ""; }; + B3BCB44A27C09C5B0012118D /* throttle.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = throttle.c; sourceTree = ""; }; + B3BCB44B27C09C5B0012118D /* sdl-opengl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "sdl-opengl.c"; sourceTree = ""; }; + B3BCB44C27C09C5B0012118D /* sdl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sdl.c; sourceTree = ""; }; + B3BCB44D27C09C5B0012118D /* input.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = input.c; sourceTree = ""; }; + B3BCB44E27C09C5B0012118D /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; + B3BCB44F27C09C5B0012118D /* dos-video.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "dos-video.c"; sourceTree = ""; }; + B3BCB45027C09C5B0012118D /* sdl-netplay.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "sdl-netplay.c"; sourceTree = ""; }; + B3BCB45127C09C5B0012118D /* dos-sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "dos-sound.h"; sourceTree = ""; }; + B3BCB45227C09C5B0012118D /* unix-netplay.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "unix-netplay.c"; sourceTree = ""; }; + B3BCB45327C09C5B0012118D /* sdl-icon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-icon.h"; sourceTree = ""; }; + B3BCB45427C09C5B0012118D /* dos-mouse.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "dos-mouse.c"; sourceTree = ""; }; + B3BCB45527C09C5B0012118D /* dos-joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "dos-joystick.c"; sourceTree = ""; }; + B3BCB45627C09C5B0012118D /* vgatweak.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = vgatweak.c; sourceTree = ""; }; + B3BCB45727C09C5B0012118D /* sdl-video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-video.h"; sourceTree = ""; }; + B3BCB45827C09C5B0012118D /* sdl-sound.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "sdl-sound.c"; sourceTree = ""; }; + B3BCB45927C09C5B0012118D /* sdl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sdl.h; sourceTree = ""; }; + B3BCB45A27C09C5B0012118D /* sdl-opengl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sdl-opengl.h"; sourceTree = ""; }; + B3BCB45B27C09C5B0012118D /* dos.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dos.h; sourceTree = ""; }; + B3BCB45C27C09C5B0012118D /* throttle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = throttle.h; sourceTree = ""; }; + B3BCB45D27C09C5B0012118D /* usage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = usage.h; sourceTree = ""; }; + B3BCB45E27C09C5B0012118D /* sdl-throttle.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "sdl-throttle.c"; sourceTree = ""; }; + B3BCB45F27C09C5B0012118D /* fceustr.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fceustr.h; sourceTree = ""; }; + B3BCB46227C09C5B0012118D /* oss.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = oss.h; sourceTree = ""; }; + B3BCB46327C09C5B0012118D /* osxcoreaudio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = osxcoreaudio.c; sourceTree = ""; }; + B3BCB46427C09C5B0012118D /* dsound.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = dsound.c; sourceTree = ""; }; + B3BCB46527C09C5B0012118D /* oss.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = oss.c; sourceTree = ""; }; + B3BCB46627C09C5B0012118D /* convertgen.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = convertgen.c; sourceTree = ""; }; + B3BCB46727C09C5B0012118D /* smallc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = smallc.h; sourceTree = ""; }; + B3BCB46827C09C5B0012118D /* convertgen */ = {isa = PBXFileReference; lastKnownFileType = file; path = convertgen; sourceTree = ""; }; + B3BCB46927C09C5B0012118D /* convert.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = convert.c; sourceTree = ""; }; + B3BCB46A27C09C5B0012118D /* md5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = ""; }; + B3BCB46B27C09C5B0012118D /* sexyal.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sexyal.c; sourceTree = ""; }; + B3BCB46C27C09C5B0012118D /* convert.inc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.pascal; path = convert.inc; sourceTree = ""; }; + B3BCB46D27C09C5B0012118D /* md5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = ""; }; + B3BCB46E27C09C5B0012118D /* convert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = convert.h; sourceTree = ""; }; + B3BCB46F27C09C5B0012118D /* smallc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = smallc.c; sourceTree = ""; }; + B3BCB47027C09C5B0012118D /* sexyal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sexyal.h; sourceTree = ""; }; + B3BCB47127C09C5B0012118D /* soundexp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = soundexp.cpp; sourceTree = ""; }; + B3BCB47227C09C5B0012118D /* fceustr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fceustr.cpp; sourceTree = ""; }; + B3BCB47327C09C5B0012118D /* old fceultra docs.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "old fceultra docs.zip"; sourceTree = ""; }; + B3BCB47427C09C5B0012118D /* unif.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = unif.cpp; sourceTree = ""; }; + B3BCB47527C09C5B0012118D /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = config.cpp; sourceTree = ""; }; + B3BCB47627C09C5B0012118D /* auxlib.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = auxlib.lua; sourceTree = ""; }; + B3BCB47727C09C5B0012118D /* lua-engine.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "lua-engine.cpp"; sourceTree = ""; }; + B3BCB47827C09C5B0012118D /* debug.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = debug.cpp; sourceTree = ""; }; + B3BCB47927C09C5B0012118D /* sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sound.cpp; sourceTree = ""; }; + B3BCB47A27C09C5B0012118D /* fds.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fds.cpp; sourceTree = ""; }; + B3BCB47C27C09C5B0012118D /* 68.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 68.cpp; sourceTree = ""; }; + B3BCB47D27C09C5B0012118D /* 40.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 40.cpp; sourceTree = ""; }; + B3BCB47E27C09C5B0012118D /* bmc13in1jy110.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bmc13in1jy110.cpp; sourceTree = ""; }; + B3BCB47F27C09C5B0012118D /* n625092.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = n625092.cpp; sourceTree = ""; }; + B3BCB48027C09C5B0012118D /* 222.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 222.cpp; sourceTree = ""; }; + B3BCB48127C09C5B0012118D /* 41.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 41.cpp; sourceTree = ""; }; + B3BCB48227C09C5B0012118D /* 69.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 69.cpp; sourceTree = ""; }; + B3BCB48327C09C5B0012118D /* 183.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 183.cpp; sourceTree = ""; }; + B3BCB48427C09C5B0012118D /* 168.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 168.cpp; sourceTree = ""; }; + B3BCB48527C09C5B0012118D /* 96.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 96.cpp; sourceTree = ""; }; + B3BCB48627C09C5B0012118D /* 82.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 82.cpp; sourceTree = ""; }; + B3BCB48727C09C5B0012118D /* lh32.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = lh32.cpp; sourceTree = ""; }; + B3BCB48827C09C5B0012118D /* 8157.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 8157.cpp; sourceTree = ""; }; + B3BCB48927C09C5B0012118D /* pec-586.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "pec-586.cpp"; sourceTree = ""; }; + B3BCB48A27C09C5B0012118D /* vrc1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc1.cpp; sourceTree = ""; }; + B3BCB48B27C09C5B0012118D /* vrc3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc3.cpp; sourceTree = ""; }; + B3BCB48C27C09C5B0012118D /* 156.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 156.cpp; sourceTree = ""; }; + B3BCB48D27C09C5B0012118D /* 80.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 80.cpp; sourceTree = ""; }; + B3BCB48E27C09C5B0012118D /* ks7057.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7057.cpp; sourceTree = ""; }; + B3BCB48F27C09C5B0012118D /* sl1632.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sl1632.cpp; sourceTree = ""; }; + B3BCB49027C09C5B0012118D /* 57.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 57.cpp; sourceTree = ""; }; + B3BCB49127C09C5B0012118D /* bb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bb.cpp; sourceTree = ""; }; + B3BCB49227C09C5B0012118D /* 43.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 43.cpp; sourceTree = ""; }; + B3BCB49327C09C5B0012118D /* 8237.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 8237.cpp; sourceTree = ""; }; + B3BCB49427C09C5B0012118D /* 234.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 234.cpp; sourceTree = ""; }; + B3BCB49527C09C5B0012118D /* 208.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 208.cpp; sourceTree = ""; }; + B3BCB49627C09C5B0012118D /* 235.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 235.cpp; sourceTree = ""; }; + B3BCB49727C09C5B0012118D /* __dummy_mapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = __dummy_mapper.cpp; sourceTree = ""; }; + B3BCB49827C09C5B0012118D /* 42.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 42.cpp; sourceTree = ""; }; + B3BCB49927C09C5B0012118D /* vrc6.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc6.cpp; sourceTree = ""; }; + B3BCB49A27C09C5B0012118D /* 91.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 91.cpp; sourceTree = ""; }; + B3BCB49B27C09C5B0012118D /* 46.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 46.cpp; sourceTree = ""; }; + B3BCB49C27C09C5B0012118D /* 190.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 190.cpp; sourceTree = ""; }; + B3BCB49D27C09C5B0012118D /* 225.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 225.cpp; sourceTree = ""; }; + B3BCB49E27C09C5B0012118D /* h2288.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = h2288.cpp; sourceTree = ""; }; + B3BCB49F27C09C5B0012118D /* 230.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 230.cpp; sourceTree = ""; }; + B3BCB4A027C09C5B0012118D /* sa-9602b.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sa-9602b.cpp"; sourceTree = ""; }; + B3BCB4A127C09C5B0012118D /* 185.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 185.cpp; sourceTree = ""; }; + B3BCB4A227C09C5B0012118D /* 90.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 90.cpp; sourceTree = ""; }; + B3BCB4A327C09C5B0012118D /* vrc7.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc7.cpp; sourceTree = ""; }; + B3BCB4A427C09C5B0012118D /* vrc5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc5.cpp; sourceTree = ""; }; + B3BCB4A527C09C5B0012118D /* 01-222.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "01-222.cpp"; sourceTree = ""; }; + B3BCB4A627C09C5B0012118D /* 178.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 178.cpp; sourceTree = ""; }; + B3BCB4A727C09C5B0012118D /* 51.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 51.cpp; sourceTree = ""; }; + B3BCB4A827C09C5B0012118D /* 187.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 187.cpp; sourceTree = ""; }; + B3BCB4A927C09C5B0012118D /* 79.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 79.cpp; sourceTree = ""; }; + B3BCB4AA27C09C5B0012118D /* 193.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 193.cpp; sourceTree = ""; }; + B3BCB4AB27C09C5B0012118D /* ac-08.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "ac-08.cpp"; sourceTree = ""; }; + B3BCB4AC27C09C5B0012118D /* datalatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = datalatch.cpp; sourceTree = ""; }; + B3BCB4AD27C09C5B0012118D /* 232.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 232.cpp; sourceTree = ""; }; + B3BCB4AE27C09C5B0012118D /* coolboy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = coolboy.cpp; sourceTree = ""; }; + B3BCB4AF27C09C5B0012118D /* 186.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 186.cpp; sourceTree = ""; }; + B3BCB4B027C09C5B0012118D /* 50.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 50.cpp; sourceTree = ""; }; + B3BCB4B127C09C5B0012118D /* 151.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 151.cpp; sourceTree = ""; }; + B3BCB4B227C09C5B0012118D /* vrc2and4.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc2and4.cpp; sourceTree = ""; }; + B3BCB4B327C09C5B0012118D /* ks7037.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7037.cpp; sourceTree = ""; }; + B3BCB4B427C09C5B0012118D /* ghostbusters63in1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ghostbusters63in1.cpp; sourceTree = ""; }; + B3BCB4B527C09C5B0012118D /* gs-2013.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "gs-2013.cpp"; sourceTree = ""; }; + B3BCB4B627C09C5B0012118D /* 80013-B.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "80013-B.cpp"; sourceTree = ""; }; + B3BCB4B727C09C5B0012118D /* 36.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 36.cpp; sourceTree = ""; }; + B3BCB4B827C09C5B0012118D /* 3d-block.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "3d-block.cpp"; sourceTree = ""; }; + B3BCB4B927C09C5B0012118D /* lh53.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = lh53.cpp; sourceTree = ""; }; + B3BCB4BA27C09C5B0012118D /* 121.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 121.cpp; sourceTree = ""; }; + B3BCB4BB27C09C5B0012118D /* et-4320.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "et-4320.cpp"; sourceTree = ""; }; + B3BCB4BC27C09C5B0012118D /* 34.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 34.cpp; sourceTree = ""; }; + B3BCB4BD27C09C5B0012118D /* bandai.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bandai.cpp; sourceTree = ""; }; + B3BCB4BE27C09C5B0012118D /* gs-2004.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "gs-2004.cpp"; sourceTree = ""; }; + B3BCB4BF27C09C5B0012118D /* 8in1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 8in1.cpp; sourceTree = ""; }; + B3BCB4C027C09C5B0012118D /* edu2000.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = edu2000.cpp; sourceTree = ""; }; + B3BCB4C127C09C5B0012118D /* cheapocabra.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cheapocabra.cpp; sourceTree = ""; }; + B3BCB4C227C09C5B0012118D /* karaoke.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = karaoke.cpp; sourceTree = ""; }; + B3BCB4C327C09C5B0012118D /* 108.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 108.cpp; sourceTree = ""; }; + B3BCB4C427C09C5B0012118D /* 120.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 120.cpp; sourceTree = ""; }; + B3BCB4C527C09C5B0012118D /* subor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = subor.cpp; sourceTree = ""; }; + B3BCB4C627C09C5B0012118D /* bs-5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "bs-5.cpp"; sourceTree = ""; }; + B3BCB4C727C09C5B0012118D /* bmc70in1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bmc70in1.cpp; sourceTree = ""; }; + B3BCB4C827C09C5B0012118D /* ks7031.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7031.cpp; sourceTree = ""; }; + B3BCB4C927C09C5B0012118D /* BMW8544.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BMW8544.cpp; sourceTree = ""; }; + B3BCB4CA27C09C5B0012118D /* emu2413.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = emu2413.h; sourceTree = ""; }; + B3BCB4CB27C09C5B0012118D /* bonza.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bonza.cpp; sourceTree = ""; }; + B3BCB4CC27C09C5B0012118D /* a9746.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = a9746.cpp; sourceTree = ""; }; + B3BCB4CD27C09C5B0012118D /* 246.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 246.cpp; sourceTree = ""; }; + B3BCB4CE27C09C5B0012118D /* 252.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 252.cpp; sourceTree = ""; }; + B3BCB4CF27C09C5B0012118D /* 253.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 253.cpp; sourceTree = ""; }; + B3BCB4D027C09C5B0012118D /* ks7030.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7030.cpp; sourceTree = ""; }; + B3BCB4D127C09C5B0012118D /* 18.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 18.cpp; sourceTree = ""; }; + B3BCB4D227C09C5B0012118D /* ffe.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ffe.cpp; sourceTree = ""; }; + B3BCB4D327C09C5B0012118D /* novel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = novel.cpp; sourceTree = ""; }; + B3BCB4D427C09C5B0012118D /* mmc2and4.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mmc2and4.cpp; sourceTree = ""; }; + B3BCB4D527C09C5B0012118D /* 32.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 32.cpp; sourceTree = ""; }; + B3BCB4D627C09C5B0012118D /* ks7032.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7032.cpp; sourceTree = ""; }; + B3BCB4D727C09C5B0012118D /* sachen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sachen.cpp; sourceTree = ""; }; + B3BCB4D827C09C5B0012118D /* 244.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 244.cpp; sourceTree = ""; }; + B3BCB4D927C09C5B0012118D /* le05.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = le05.cpp; sourceTree = ""; }; + B3BCB4DA27C09C5B0012118D /* 33.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 33.cpp; sourceTree = ""; }; + B3BCB4DB27C09C5B0012118D /* malee.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = malee.cpp; sourceTree = ""; }; + B3BCB4DC27C09C5B0012118D /* 103.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 103.cpp; sourceTree = ""; }; + B3BCB4DD27C09C5B0012118D /* 117.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 117.cpp; sourceTree = ""; }; + B3BCB4DE27C09C5B0012118D /* unrom512.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = unrom512.cpp; sourceTree = ""; }; + B3BCB4DF27C09C5B0012118D /* ks7016.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7016.cpp; sourceTree = ""; }; + B3BCB4E027C09C5B0012118D /* 411120-c.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "411120-c.cpp"; sourceTree = ""; }; + B3BCB4E127C09C5B0012118D /* cityfighter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cityfighter.cpp; sourceTree = ""; }; + B3BCB4E227C09C5B0012118D /* mmc3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mmc3.cpp; sourceTree = ""; }; + B3BCB4E327C09C5B0012118D /* ax5705.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ax5705.cpp; sourceTree = ""; }; + B3BCB4E427C09C5B0012118D /* ks7017.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7017.cpp; sourceTree = ""; }; + B3BCB4E527C09C5B0012118D /* 116.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 116.cpp; sourceTree = ""; }; + B3BCB4E627C09C5B0012118D /* supervision.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = supervision.cpp; sourceTree = ""; }; + B3BCB4E727C09C5B0012118D /* 15.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 15.cpp; sourceTree = ""; }; + B3BCB4E827C09C5B0012118D /* kof97.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = kof97.cpp; sourceTree = ""; }; + B3BCB4E927C09C5B0012118D /* inlnsf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = inlnsf.cpp; sourceTree = ""; }; + B3BCB4EA27C09C5B0012118D /* mihunche.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mihunche.cpp; sourceTree = ""; }; + B3BCB4EB27C09C5B0012118D /* mmc1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mmc1.cpp; sourceTree = ""; }; + B3BCB4EC27C09C5B0012118D /* addrlatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = addrlatch.cpp; sourceTree = ""; }; + B3BCB4ED27C09C5B0012118D /* sheroes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = sheroes.cpp; sourceTree = ""; }; + B3BCB4EE27C09C5B0012118D /* mapinc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mapinc.h; sourceTree = ""; }; + B3BCB4EF27C09C5B0012118D /* 28.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 28.cpp; sourceTree = ""; }; + B3BCB4F027C09C5B0012118D /* dream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dream.cpp; sourceTree = ""; }; + B3BCB4F127C09C5B0012118D /* ks7010.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7010.cpp; sourceTree = ""; }; + B3BCB4F227C09C5B0012118D /* super24.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = super24.cpp; sourceTree = ""; }; + B3BCB4F327C09C5B0012118D /* mmc5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mmc5.cpp; sourceTree = ""; }; + B3BCB4F427C09C5B0012118D /* et-100.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "et-100.cpp"; sourceTree = ""; }; + B3BCB4F527C09C5B0012118D /* 09-034a.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "09-034a.cpp"; sourceTree = ""; }; + B3BCB4F627C09C5B0012118D /* bmc42in1r.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bmc42in1r.cpp; sourceTree = ""; }; + B3BCB4F727C09C5B0012118D /* 106.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 106.cpp; sourceTree = ""; }; + B3BCB4F827C09C5B0012118D /* 112.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 112.cpp; sourceTree = ""; }; + B3BCB4F927C09C5B0012118D /* ks7013.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7013.cpp; sourceTree = ""; }; + B3BCB4FA27C09C5B0012118D /* sc-127.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sc-127.cpp"; sourceTree = ""; }; + B3BCB4FB27C09C5B0012118D /* onebus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = onebus.cpp; sourceTree = ""; }; + B3BCB4FC27C09C5B0012118D /* transformer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = transformer.cpp; sourceTree = ""; }; + B3BCB4FD27C09C5B0012118D /* bmc64in1nr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bmc64in1nr.cpp; sourceTree = ""; }; + B3BCB4FE27C09C5B0012118D /* ks7012.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ks7012.cpp; sourceTree = ""; }; + B3BCB4FF27C09C5B0012118D /* yoko.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = yoko.cpp; sourceTree = ""; }; + B3BCB50027C09C5B0012118D /* famicombox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = famicombox.cpp; sourceTree = ""; }; + B3BCB50127C09C5B0012118D /* bs4xxxr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bs4xxxr.cpp; sourceTree = ""; }; + B3BCB50227C09C5B0012118D /* 175.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 175.cpp; sourceTree = ""; }; + B3BCB50327C09C5B0012118D /* hp898f.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = hp898f.cpp; sourceTree = ""; }; + B3BCB50427C09C5B0012118D /* 177.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 177.cpp; sourceTree = ""; }; + B3BCB50527C09C5B0012118D /* 62.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 62.cpp; sourceTree = ""; }; + B3BCB50627C09C5B0012118D /* sb-2000.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "sb-2000.cpp"; sourceTree = ""; }; + B3BCB50727C09C5B0012118D /* eh8813a.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = eh8813a.cpp; sourceTree = ""; }; + B3BCB50827C09C5B0012118D /* tf-1201.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "tf-1201.cpp"; sourceTree = ""; }; + B3BCB50927C09C5B0012118D /* n106.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = n106.cpp; sourceTree = ""; }; + B3BCB50A27C09C5B0012118D /* 228.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 228.cpp; sourceTree = ""; }; + B3BCB50B27C09C5B0012118D /* 77.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 77.cpp; sourceTree = ""; }; + B3BCB50C27C09C5B0012118D /* 189.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 189.cpp; sourceTree = ""; }; + B3BCB50D27C09C5B0012118D /* mmc3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mmc3.h; sourceTree = ""; }; + B3BCB50E27C09C5B0012118D /* 88.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 88.cpp; sourceTree = ""; }; + B3BCB50F27C09C5B0012118D /* 176.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 176.cpp; sourceTree = ""; }; + B3BCB51027C09C5B0012118D /* hp10xx_hp20xx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = hp10xx_hp20xx.cpp; sourceTree = ""; }; + B3BCB51127C09C5B0012118D /* vrc7p.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vrc7p.cpp; sourceTree = ""; }; + B3BCB51227C09C5B0012118D /* F-15.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "F-15.cpp"; sourceTree = ""; }; + B3BCB51327C09C5B0012118D /* 67.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 67.cpp; sourceTree = ""; }; + B3BCB51427C09C5B0012118D /* 199.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 199.cpp; sourceTree = ""; }; + B3BCB51527C09C5B0012118D /* t-227-1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "t-227-1.cpp"; sourceTree = ""; }; + B3BCB51627C09C5B0012118D /* 603-5052.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "603-5052.cpp"; sourceTree = ""; }; + B3BCB51727C09C5B0012118D /* 830118C.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 830118C.cpp; sourceTree = ""; }; + B3BCB51827C09C5B0012118D /* dance2000.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dance2000.cpp; sourceTree = ""; }; + B3BCB51927C09C5B0012118D /* 72.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 72.cpp; sourceTree = ""; }; + B3BCB51A27C09C5B0012118D /* 99.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 99.cpp; sourceTree = ""; }; + B3BCB51B27C09C5B0012118D /* fns.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fns.cpp; sourceTree = ""; }; + B3BCB51C27C09C5B0012118D /* 12in1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 12in1.cpp; sourceTree = ""; }; + B3BCB51D27C09C5B0012118D /* fk23c.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fk23c.cpp; sourceTree = ""; }; + B3BCB51E27C09C5B0012118D /* t-262.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "t-262.cpp"; sourceTree = ""; }; + B3BCB51F27C09C5B0012118D /* 206.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 206.cpp; sourceTree = ""; }; + B3BCB52027C09C5B0012118D /* 158B.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 158B.cpp; sourceTree = ""; }; + B3BCB52127C09C5B0012118D /* tengen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tengen.cpp; sourceTree = ""; }; + B3BCB52227C09C5B0012118D /* 71.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 71.cpp; sourceTree = ""; }; + B3BCB52327C09C5B0012118D /* 65.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 65.cpp; sourceTree = ""; }; + B3BCB52427C09C5B0012118D /* 170.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 170.cpp; sourceTree = ""; }; + B3BCB52527C09C5B0012118D /* 164.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = 164.cpp; sourceTree = ""; }; + B3BCB52627C09C5B0012118D /* rt-01.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "rt-01.cpp"; sourceTree = ""; }; + B3BCB52727C09C5B0012118D /* emu2413.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = emu2413.c; sourceTree = ""; }; + B3BCB52827C09C5B0012118D /* video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = video.h; sourceTree = ""; }; + B3BCB52927C09C5B0012118D /* ines-bad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ines-bad.h"; sourceTree = ""; }; + B3BCB52A27C09C5B0012118D /* ops.inc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.pascal; path = ops.inc; sourceTree = ""; }; + B3BCB52B27C09C5B0012118D /* nsf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = nsf.cpp; sourceTree = ""; }; + B3BCB52C27C09C5B0012118D /* netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = netplay.h; sourceTree = ""; }; + B3BCB52D27C09C5B0012118D /* emufile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = emufile.h; sourceTree = ""; }; + B3BCB52E27C09C5B0012118D /* vsuni.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vsuni.cpp; sourceTree = ""; }; + B3BCB52F27C09C5B0012118D /* fceu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fceu.cpp; sourceTree = ""; }; + B3BCB53027C09C5B0012118D /* oldmovie.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = oldmovie.cpp; sourceTree = ""; }; + B3BCB53127C09C5B0012118D /* wave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wave.h; sourceTree = ""; }; + B3BCB53227C09C5B0012118D /* cheat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cheat.cpp; sourceTree = ""; }; + B3BCB53327C09C5B0012118D /* palette.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = palette.cpp; sourceTree = ""; }; + B3BCB53427C09C5B0012118D /* asm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = asm.cpp; sourceTree = ""; }; + B3BCB53527C09C5B0012118D /* state.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = state.h; sourceTree = ""; }; + B3BCB53627C09C5B0012118D /* emufile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = emufile.cpp; sourceTree = ""; }; + B3BCB53727C09C5B0012118D /* filter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = filter.h; sourceTree = ""; }; + B3BCB53827C09C5B0012118D /* fcoeffs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fcoeffs.h; sourceTree = ""; }; + B3BCB53927C09C5B0012118D /* netplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = netplay.cpp; sourceTree = ""; }; + B3BCB53A27C09C5B0012118D /* ines.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ines.cpp; sourceTree = ""; }; + B3BCB53B27C09C5B0012118D /* movie.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = movie.cpp; sourceTree = ""; }; + B3BCB53C27C09C5B0012118D /* cart.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = cart.cpp; sourceTree = ""; }; + B3BCB53E27C09C5B0012118D /* rp2c05004.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rp2c05004.h; sourceTree = ""; }; + B3BCB53F27C09C5B0012118D /* palettes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = palettes.h; sourceTree = ""; }; + B3BCB54027C09C5B0012118D /* rp2c04003.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rp2c04003.h; sourceTree = ""; }; + B3BCB54127C09C5B0012118D /* conv.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = conv.c; sourceTree = ""; }; + B3BCB54227C09C5B0012118D /* rp2c04002.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rp2c04002.h; sourceTree = ""; }; + B3BCB54327C09C5B0012118D /* rp2c04001.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rp2c04001.h; sourceTree = ""; }; BED8BDEB1D6ECD7500742D04 /* __dummy_mapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = __dummy_mapper.cpp; sourceTree = ""; }; BED8BDEC1D6ECD7500742D04 /* 01-222.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "01-222.cpp"; sourceTree = ""; }; BED8BDED1D6ECD7500742D04 /* 3d-block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "3d-block.cpp"; sourceTree = ""; }; @@ -804,7 +2361,6 @@ BED8BE7B1D6ECD7500742D04 /* sachen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sachen.cpp; sourceTree = ""; }; BED8BE7C1D6ECD7500742D04 /* sb-2000.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "sb-2000.cpp"; sourceTree = ""; }; BED8BE7D1D6ECD7500742D04 /* sc-127.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "sc-127.cpp"; sourceTree = ""; }; - BED8BE7E1D6ECD7500742D04 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SConscript; sourceTree = ""; }; BED8BE7F1D6ECD7500742D04 /* sheroes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sheroes.cpp; sourceTree = ""; }; BED8BE801D6ECD7500742D04 /* sl1632.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sl1632.cpp; sourceTree = ""; }; BED8BE811D6ECD7500742D04 /* subor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subor.cpp; sourceTree = ""; }; @@ -850,20 +2406,41 @@ BED8BFFE1D6ED36300742D04 /* scale3x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scale3x.h; path = drivers/common/scale3x.h; sourceTree = ""; }; BED8BFFF1D6ED36300742D04 /* scalebit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = scalebit.cpp; path = drivers/common/scalebit.cpp; sourceTree = ""; }; BED8C0001D6ED36300742D04 /* scalebit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scalebit.h; path = drivers/common/scalebit.h; sourceTree = ""; }; - BED8C0011D6ED36300742D04 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = SConscript; path = drivers/common/SConscript; sourceTree = ""; }; BED8C0021D6ED36300742D04 /* vidblit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vidblit.cpp; path = drivers/common/vidblit.cpp; sourceTree = ""; }; - BED8C0031D6ED36300742D04 /* vidblit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vidblit.h; path = drivers/common/vidblit.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + B3341F4D27C1B18C00E001C6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3341F7627C1B23A00E001C6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3341F8827C1B39100E001C6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; B3A9F4321DE877B4008450F5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( B34AB55A2106D57B00C45F09 /* PVSupport.framework in Frameworks */, B3A9F6331DE88425008450F5 /* libz.tbd in Frameworks */, + B3341F7E27C1B2CF00E001C6 /* libfceux-netplay-server-iOS.a in Frameworks */, B3A9F4501DE87833008450F5 /* Foundation.framework in Frameworks */, B3A9F44F1DE87827008450F5 /* OpenGLES.framework in Frameworks */, + B3AAF66827C0A95C001CAE1F /* libfceux-iOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -873,19 +2450,57 @@ files = ( B34AB5822106DDCC00C45F09 /* PVSupport.framework in Frameworks */, B3A9F6351DE8842C008450F5 /* libz.tbd in Frameworks */, + B3341F8127C1B2D400E001C6 /* libfceux-netplay-server-tvOS.a in Frameworks */, B3A9F4591DE8784B008450F5 /* Foundation.framework in Frameworks */, + B3BCB54427C09C820012118D /* libfceux-tvOS.a in Frameworks */, B3A9F4551DE87840008450F5 /* OpenGLES.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; + B3BCA6E527C098710012118D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA8BF27C099700012118D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA9B527C09C230012118D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B391F2DA27C16ACA00730B53 /* OpenGLES.framework in Frameworks */, + B391F2D927C16AC200730B53 /* OpenGL.framework in Frameworks */, + B391F2D727C1696A00730B53 /* liblzma.tbd in Frameworks */, + B391F2D427C1695700730B53 /* CoreFoundation.framework in Frameworks */, + B391F2D527C1695700730B53 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCAAA527C09C2D0012118D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 1A3A74DF1ABF11AC002274A3 = { isa = PBXGroup; children = ( + B391F2B627C14FA300730B53 /* BuildFlags.xcconfig */, 1A3A74EA1ABF11AC002274A3 /* PVFCEU */, B3A9F4371DE877B4008450F5 /* PVFCEU */, + B3341F5127C1B18C00E001C6 /* fceux-netplay-server */, + B3341F8C27C1B39200E001C6 /* fceux-server */, 1A3A79B41ABF1DB2002274A3 /* Frameworks */, 1A3A74E91ABF11AC002274A3 /* Products */, ); @@ -896,6 +2511,13 @@ children = ( B3A9F4361DE877B4008450F5 /* PVFCEU.framework */, B3A9F4441DE877E4008450F5 /* PVFCEU.framework */, + B3BCA6E827C098710012118D /* libfceux-2.2.3-iOS.a */, + B3BCA8C627C099700012118D /* libfceux-2.2.3-tvOS.a */, + B3BCA9BC27C09C230012118D /* libfceux-iOS.a */, + B3BCAAAC27C09C2D0012118D /* libfceux-tvOS.a */, + B3341F5027C1B18C00E001C6 /* libfceux-netplay-server-iOS.a */, + B3341F7D27C1B23A00E001C6 /* libfceux-netplay-server-tvOS.a */, + B3341F8B27C1B39100E001C6 /* fceux-server */, ); name = Products; sourceTree = ""; @@ -903,7 +2525,8 @@ 1A3A74EA1ABF11AC002274A3 /* PVFCEU */ = { isa = PBXGroup; children = ( - 1A3A75051ABF16A3002274A3 /* FCEU */, + B3BCAAAD27C09C580012118D /* fceux */, + 1A3A75051ABF16A3002274A3 /* FCEU-2.2.3 */, 1A3A79AB1ABF1CE8002274A3 /* PVFCEUEmulatorCore.h */, 1A3A79AC1ABF1CE8002274A3 /* PVFCEUEmulatorCore.mm */, B30614EA218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.h */, @@ -918,98 +2541,93 @@ 1A3A75041ABF125C002274A3 /* Supporting Files */ = { isa = PBXGroup; children = ( + B3341F8427C1B34000E001C6 /* fceux-server.conf */, 1A3A75031ABF123F002274A3 /* PVFCEU-Prefix.pch */, ); name = "Supporting Files"; sourceTree = ""; }; - 1A3A75051ABF16A3002274A3 /* FCEU */ = { + 1A3A75051ABF16A3002274A3 /* FCEU-2.2.3 */ = { isa = PBXGroup; children = ( + 1A3A75091ABF16A3002274A3 /* boards */, BED8BFE51D6ED32400742D04 /* drivers */, + 1A3A77591ABF16A4002274A3 /* input */, + 1A3A77CF1ABF16A5002274A3 /* utils */, 1A3A75061ABF16A3002274A3 /* asm.cpp */, - 1A3A75071ABF16A3002274A3 /* asm.h */, - 1A3A75081ABF16A3002274A3 /* auxlib.lua */, - 1A3A75091ABF16A3002274A3 /* boards */, 1A3A75A21ABF16A3002274A3 /* cart.cpp */, - 1A3A75A31ABF16A3002274A3 /* cart.h */, 1A3A75A41ABF16A3002274A3 /* cheat.cpp */, - 1A3A75A51ABF16A3002274A3 /* cheat.h */, 1A3A75A61ABF16A3002274A3 /* conddebug.cpp */, - 1A3A75A71ABF16A3002274A3 /* conddebug.h */, 1A3A75A81ABF16A3002274A3 /* config.cpp */, - 1A3A75A91ABF16A3002274A3 /* config.h */, 1A3A75AA1ABF16A3002274A3 /* debug.cpp */, - 1A3A75AB1ABF16A3002274A3 /* debug.h */, 1A3A75AC1ABF16A3002274A3 /* drawing.cpp */, + 1A3A77301ABF16A4002274A3 /* emufile.cpp */, + 1A3A77331ABF16A4002274A3 /* fceu.cpp */, + 1A3A77371ABF16A4002274A3 /* fds.cpp */, + 1A3A77391ABF16A4002274A3 /* file.cpp */, + 1A3A773B1ABF16A4002274A3 /* filter.cpp */, + 1A3A77571ABF16A4002274A3 /* ines.cpp */, + 1A3A776E1ABF16A4002274A3 /* input.cpp */, + 1A3A77B01ABF16A4002274A3 /* movie.cpp */, + 1A3A77B21ABF16A4002274A3 /* netplay.cpp */, + 1A3A77B41ABF16A4002274A3 /* nsf.cpp */, + 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */, + 1A3A77B91ABF16A4002274A3 /* palette.cpp */, + 1A3A77C31ABF16A5002274A3 /* ppu.cpp */, + 1A3A77C71ABF16A5002274A3 /* sound.cpp */, + 1A3A77C91ABF16A5002274A3 /* state.cpp */, + 1A3A77CD1ABF16A5002274A3 /* unif.cpp */, + 1A3A77E91ABF16A5002274A3 /* video.cpp */, + 1A3A77EB1ABF16A5002274A3 /* vsuni.cpp */, + 1A3A77ED1ABF16A5002274A3 /* wave.cpp */, + 1A3A77EF1ABF16A5002274A3 /* x6502.cpp */, + 1A3A75071ABF16A3002274A3 /* asm.h */, + 1A3A75A31ABF16A3002274A3 /* cart.h */, + 1A3A75A51ABF16A3002274A3 /* cheat.h */, + 1A3A75A71ABF16A3002274A3 /* conddebug.h */, + 1A3A75A91ABF16A3002274A3 /* config.h */, + 1A3A75AB1ABF16A3002274A3 /* debug.h */, 1A3A75AD1ABF16A3002274A3 /* drawing.h */, 1A3A75AE1ABF16A3002274A3 /* driver.h */, - 1A3A77301ABF16A4002274A3 /* emufile.cpp */, - 1A3A77311ABF16A4002274A3 /* emufile.h */, 1A3A77321ABF16A4002274A3 /* emufile_types.h */, - 1A3A77331ABF16A4002274A3 /* fceu.cpp */, + 1A3A77311ABF16A4002274A3 /* emufile.h */, 1A3A77341ABF16A4002274A3 /* fceu.h */, 1A3A77351ABF16A4002274A3 /* fceulua.h */, 1A3A77361ABF16A4002274A3 /* fcoeffs.h */, - 1A3A77371ABF16A4002274A3 /* fds.cpp */, 1A3A77381ABF16A4002274A3 /* fds.h */, - 1A3A77391ABF16A4002274A3 /* file.cpp */, 1A3A773A1ABF16A4002274A3 /* file.h */, - 1A3A773B1ABF16A4002274A3 /* filter.cpp */, 1A3A773C1ABF16A4002274A3 /* filter.h */, - 1A3A773D1ABF16A4002274A3 /* fir */, 1A3A77541ABF16A4002274A3 /* git.h */, 1A3A77551ABF16A4002274A3 /* ines-bad.h */, 1A3A77561ABF16A4002274A3 /* ines-correct.h */, - 1A3A77571ABF16A4002274A3 /* ines.cpp */, 1A3A77581ABF16A4002274A3 /* ines.h */, - 1A3A77591ABF16A4002274A3 /* input */, - 1A3A776E1ABF16A4002274A3 /* input.cpp */, 1A3A776F1ABF16A4002274A3 /* input.h */, - 1A3A77B01ABF16A4002274A3 /* movie.cpp */, 1A3A77B11ABF16A4002274A3 /* movie.h */, - 1A3A77B21ABF16A4002274A3 /* netplay.cpp */, 1A3A77B31ABF16A4002274A3 /* netplay.h */, - 1A3A77B41ABF16A4002274A3 /* nsf.cpp */, - B3D5E2A8218EBEB70015C690 /* ops.inc */, 1A3A77B51ABF16A4002274A3 /* nsf.h */, - 1A3A77B61ABF16A4002274A3 /* oldmovie.cpp */, 1A3A77B71ABF16A4002274A3 /* oldmovie.h */, - 1A3A77B81ABF16A4002274A3 /* ops.inc */, - 1A3A77B91ABF16A4002274A3 /* palette.cpp */, 1A3A77BA1ABF16A4002274A3 /* palette.h */, - 1A3A77BB1ABF16A4002274A3 /* palettes */, - 1A3A77C31ABF16A5002274A3 /* ppu.cpp */, 1A3A77C41ABF16A5002274A3 /* ppu.h */, - 1A3A77C51ABF16A5002274A3 /* pputile.inc */, - 1A3A77C61ABF16A5002274A3 /* SConscript */, - 1A3A77C71ABF16A5002274A3 /* sound.cpp */, 1A3A77C81ABF16A5002274A3 /* sound.h */, - 1A3A77C91ABF16A5002274A3 /* state.cpp */, 1A3A77CA1ABF16A5002274A3 /* state.h */, 1A3A77CB1ABF16A5002274A3 /* types-des.h */, 1A3A77CC1ABF16A5002274A3 /* types.h */, - 1A3A77CD1ABF16A5002274A3 /* unif.cpp */, 1A3A77CE1ABF16A5002274A3 /* unif.h */, - 1A3A77CF1ABF16A5002274A3 /* utils */, 1A3A77E81ABF16A5002274A3 /* version.h */, - 1A3A77E91ABF16A5002274A3 /* video.cpp */, 1A3A77EA1ABF16A5002274A3 /* video.h */, - 1A3A77EB1ABF16A5002274A3 /* vsuni.cpp */, 1A3A77EC1ABF16A5002274A3 /* vsuni.h */, - 1A3A77ED1ABF16A5002274A3 /* wave.cpp */, 1A3A77EE1ABF16A5002274A3 /* wave.h */, - 1A3A77EF1ABF16A5002274A3 /* x6502.cpp */, 1A3A77F01ABF16A5002274A3 /* x6502.h */, 1A3A77F11ABF16A5002274A3 /* x6502abbrev.h */, 1A3A77F21ABF16A5002274A3 /* x6502struct.h */, ); - path = FCEU; + path = "FCEU-2.2.3"; sourceTree = ""; }; 1A3A75091ABF16A3002274A3 /* boards */ = { isa = PBXGroup; children = ( + BED8BE4F1D6ECD7500742D04 /* emu2413.c */, BED8BDEB1D6ECD7500742D04 /* __dummy_mapper.cpp */, BED8BDEC1D6ECD7500742D04 /* 01-222.cpp */, BED8BDED1D6ECD7500742D04 /* 3d-block.cpp */, @@ -1110,8 +2728,6 @@ BED8BE4C1D6ECD7500742D04 /* dream.cpp */, BED8BE4D1D6ECD7500742D04 /* edu2000.cpp */, BED8BE4E1D6ECD7500742D04 /* eh8813a.cpp */, - BED8BE4F1D6ECD7500742D04 /* emu2413.c */, - BED8BE501D6ECD7500742D04 /* emu2413.h */, BED8BE511D6ECD7500742D04 /* et-100.cpp */, BED8BE521D6ECD7500742D04 /* et-4320.cpp */, BED8BE531D6ECD7500742D04 /* F-15.cpp */, @@ -1140,12 +2756,10 @@ BED8BE6A1D6ECD7500742D04 /* lh32.cpp */, BED8BE6B1D6ECD7500742D04 /* lh53.cpp */, BED8BE6C1D6ECD7500742D04 /* malee.cpp */, - BED8BE6D1D6ECD7500742D04 /* mapinc.h */, BED8BE6E1D6ECD7500742D04 /* mihunche.cpp */, BED8BE6F1D6ECD7500742D04 /* mmc1.cpp */, BED8BE701D6ECD7500742D04 /* mmc2and4.cpp */, BED8BE711D6ECD7500742D04 /* mmc3.cpp */, - BED8BE721D6ECD7500742D04 /* mmc3.h */, BED8BE731D6ECD7500742D04 /* mmc5.cpp */, BED8BE741D6ECD7500742D04 /* n106.cpp */, BED8BE751D6ECD7500742D04 /* n625092.cpp */, @@ -1157,7 +2771,6 @@ BED8BE7B1D6ECD7500742D04 /* sachen.cpp */, BED8BE7C1D6ECD7500742D04 /* sb-2000.cpp */, BED8BE7D1D6ECD7500742D04 /* sc-127.cpp */, - BED8BE7E1D6ECD7500742D04 /* SConscript */, BED8BE7F1D6ECD7500742D04 /* sheroes.cpp */, BED8BE801D6ECD7500742D04 /* sl1632.cpp */, BED8BE811D6ECD7500742D04 /* subor.cpp */, @@ -1177,39 +2790,13 @@ BED8BE8F1D6ECD7500742D04 /* vrc7.cpp */, BED8BE901D6ECD7500742D04 /* vrc7p.cpp */, BED8BE911D6ECD7500742D04 /* yoko.cpp */, + BED8BE501D6ECD7500742D04 /* emu2413.h */, + BED8BE6D1D6ECD7500742D04 /* mapinc.h */, + BED8BE721D6ECD7500742D04 /* mmc3.h */, ); path = boards; sourceTree = ""; }; - 1A3A773D1ABF16A4002274A3 /* fir */ = { - isa = PBXGroup; - children = ( - 1A3A773E1ABF16A4002274A3 /* c44100ntsc.coef */, - 1A3A773F1ABF16A4002274A3 /* c44100ntsc.h */, - 1A3A77401ABF16A4002274A3 /* c44100ntsc.scm */, - 1A3A77411ABF16A4002274A3 /* c44100pal.coef */, - 1A3A77421ABF16A4002274A3 /* c44100pal.h */, - 1A3A77431ABF16A4002274A3 /* c44100pal.scm */, - 1A3A77441ABF16A4002274A3 /* c48000ntsc.coef */, - 1A3A77451ABF16A4002274A3 /* c48000ntsc.h */, - 1A3A77461ABF16A4002274A3 /* c48000ntsc.scm */, - 1A3A77471ABF16A4002274A3 /* c48000pal.coef */, - 1A3A77481ABF16A4002274A3 /* c48000pal.h */, - 1A3A77491ABF16A4002274A3 /* c48000pal.scm */, - 1A3A774A1ABF16A4002274A3 /* c96000ntsc.coef */, - 1A3A774B1ABF16A4002274A3 /* c96000ntsc.h */, - 1A3A774C1ABF16A4002274A3 /* c96000ntsc.scm */, - 1A3A774D1ABF16A4002274A3 /* c96000pal.coef */, - 1A3A774E1ABF16A4002274A3 /* c96000pal.h */, - 1A3A774F1ABF16A4002274A3 /* c96000pal.scm */, - 1A3A77501ABF16A4002274A3 /* Makefile */, - 1A3A77511ABF16A4002274A3 /* README */, - 1A3A77521ABF16A4002274A3 /* SConscript */, - 1A3A77531ABF16A4002274A3 /* toh.c */, - ); - path = fir; - sourceTree = ""; - }; 1A3A77591ABF16A4002274A3 /* input */ = { isa = PBXGroup; children = ( @@ -1217,7 +2804,6 @@ 1A3A775B1ABF16A4002274A3 /* bworld.cpp */, 1A3A775C1ABF16A4002274A3 /* cursor.cpp */, 1A3A775D1ABF16A4002274A3 /* fkb.cpp */, - 1A3A775E1ABF16A4002274A3 /* fkb.h */, 1A3A775F1ABF16A4002274A3 /* ftrainer.cpp */, 1A3A77601ABF16A4002274A3 /* hypershot.cpp */, 1A3A77611ABF16A4002274A3 /* mahjong.cpp */, @@ -1226,60 +2812,46 @@ BED8BFD81D6ECFC200742D04 /* pec586kb.cpp */, 1A3A77641ABF16A4002274A3 /* powerpad.cpp */, 1A3A77651ABF16A4002274A3 /* quiz.cpp */, - 1A3A77661ABF16A4002274A3 /* SConscript */, 1A3A77671ABF16A4002274A3 /* shadow.cpp */, - 1A3A77681ABF16A4002274A3 /* share.h */, BED8BFDB1D6ED02100742D04 /* snesmouse.cpp */, 1A3A77691ABF16A4002274A3 /* suborkb.cpp */, - 1A3A776A1ABF16A4002274A3 /* suborkb.h */, 1A3A776B1ABF16A4002274A3 /* toprider.cpp */, 1A3A776C1ABF16A4002274A3 /* zapper.cpp */, + 1A3A775E1ABF16A4002274A3 /* fkb.h */, + 1A3A77681ABF16A4002274A3 /* share.h */, + 1A3A776A1ABF16A4002274A3 /* suborkb.h */, 1A3A776D1ABF16A4002274A3 /* zapper.h */, ); path = input; sourceTree = ""; }; - 1A3A77BB1ABF16A4002274A3 /* palettes */ = { - isa = PBXGroup; - children = ( - 1A3A77BC1ABF16A5002274A3 /* conv.c */, - 1A3A77BD1ABF16A5002274A3 /* palettes.h */, - 1A3A77BE1ABF16A5002274A3 /* rp2c04001.h */, - 1A3A77BF1ABF16A5002274A3 /* rp2c04002.h */, - 1A3A77C01ABF16A5002274A3 /* rp2c04003.h */, - 1A3A77C11ABF16A5002274A3 /* rp2c05004.h */, - 1A3A77C21ABF16A5002274A3 /* SConscript */, - ); - path = palettes; - sourceTree = ""; - }; 1A3A77CF1ABF16A5002274A3 /* utils */ = { isa = PBXGroup; children = ( - 1A3A77D01ABF16A5002274A3 /* backward.cpp */, - 1A3A77D11ABF16A5002274A3 /* backward.hpp */, + 1A3A77E21ABF16A5002274A3 /* SConscript */, 1A3A77D21ABF16A5002274A3 /* ConvertUTF.c */, - 1A3A77D31ABF16A5002274A3 /* ConvertUTF.h */, + 1A3A77D01ABF16A5002274A3 /* backward.cpp */, 1A3A77D41ABF16A5002274A3 /* crc32.cpp */, - 1A3A77D51ABF16A5002274A3 /* crc32.h */, 1A3A77D61ABF16A5002274A3 /* endian.cpp */, - 1A3A77D71ABF16A5002274A3 /* endian.h */, 1A3A77D81ABF16A5002274A3 /* general.cpp */, - 1A3A77D91ABF16A5002274A3 /* general.h */, 1A3A77DA1ABF16A5002274A3 /* guid.cpp */, - 1A3A77DB1ABF16A5002274A3 /* guid.h */, 1A3A77DC1ABF16A5002274A3 /* ioapi.cpp */, - 1A3A77DD1ABF16A5002274A3 /* ioapi.h */, 1A3A77DE1ABF16A5002274A3 /* md5.cpp */, - 1A3A77DF1ABF16A5002274A3 /* md5.h */, 1A3A77E01ABF16A5002274A3 /* memory.cpp */, - 1A3A77E11ABF16A5002274A3 /* memory.h */, - 1A3A77E21ABF16A5002274A3 /* SConscript */, 1A3A77E31ABF16A5002274A3 /* unzip.cpp */, + 1A3A77E61ABF16A5002274A3 /* xstring.cpp */, + 1A3A77D31ABF16A5002274A3 /* ConvertUTF.h */, + 1A3A77D51ABF16A5002274A3 /* crc32.h */, + 1A3A77D71ABF16A5002274A3 /* endian.h */, + 1A3A77D91ABF16A5002274A3 /* general.h */, + 1A3A77DB1ABF16A5002274A3 /* guid.h */, + 1A3A77DD1ABF16A5002274A3 /* ioapi.h */, + 1A3A77DF1ABF16A5002274A3 /* md5.h */, + 1A3A77E11ABF16A5002274A3 /* memory.h */, 1A3A77E41ABF16A5002274A3 /* unzip.h */, 1A3A77E51ABF16A5002274A3 /* valuearray.h */, - 1A3A77E61ABF16A5002274A3 /* xstring.cpp */, 1A3A77E71ABF16A5002274A3 /* xstring.h */, + 1A3A77D11ABF16A5002274A3 /* backward.hpp */, ); path = utils; sourceTree = ""; @@ -1287,6 +2859,10 @@ 1A3A79B41ABF1DB2002274A3 /* Frameworks */ = { isa = PBXGroup; children = ( + B391F2D827C16AC100730B53 /* OpenGL.framework */, + B391F2D627C1696A00730B53 /* liblzma.tbd */, + B391F2D227C1695700730B53 /* CoreFoundation.framework */, + B391F2D327C1695700730B53 /* Foundation.framework */, B34AB5812106DDCC00C45F09 /* PVSupport.framework */, B34AB5592106D57B00C45F09 /* PVSupport.framework */, B3A9F6341DE8842C008450F5 /* libz.tbd */, @@ -1299,6 +2875,44 @@ name = Frameworks; sourceTree = ""; }; + B3341F5127C1B18C00E001C6 /* fceux-netplay-server */ = { + isa = PBXGroup; + children = ( + B3341F5227C1B18C00E001C6 /* fceux_netplay_server.h */, + B3341F5327C1B18C00E001C6 /* fceux_netplay_server.m */, + ); + path = "fceux-netplay-server"; + sourceTree = ""; + }; + B3341F5A27C1B1CC00E001C6 /* fceux-server */ = { + isa = PBXGroup; + children = ( + B3341F6227C1B1CD00E001C6 /* AUTHORS */, + B3341F5C27C1B1CC00E001C6 /* ChangeLog */, + B3341F6927C1B1CD00E001C6 /* COPYING */, + B3341F6327C1B1CD00E001C6 /* Makefile */, + B3341F6827C1B1CD00E001C6 /* README */, + B3341F6727C1B1CD00E001C6 /* fceux-server.conf */, + B3341F5B27C1B1CC00E001C6 /* md5.cpp */, + B3341F6C27C1B1CD00E001C6 /* server.cpp */, + B3341F6A27C1B1CD00E001C6 /* throttle.cpp */, + B3341F6527C1B1CD00E001C6 /* cygwin1.dll */, + B3341F6427C1B1CD00E001C6 /* fceux-net-server.exe */, + B3341F6627C1B1CD00E001C6 /* md5.h */, + B3341F6B27C1B1CD00E001C6 /* throttle.h */, + B3341F6127C1B1CD00E001C6 /* types.h */, + ); + path = "fceux-server"; + sourceTree = ""; + }; + B3341F8C27C1B39200E001C6 /* fceux-server */ = { + isa = PBXGroup; + children = ( + B3341F8D27C1B39200E001C6 /* main.m */, + ); + path = "fceux-server"; + sourceTree = ""; + }; B3A9F4371DE877B4008450F5 /* PVFCEU */ = { isa = PBXGroup; children = ( @@ -1309,68 +2923,1274 @@ path = PVFCEU; sourceTree = ""; }; - BED8BFE51D6ED32400742D04 /* drivers */ = { + B3BCAAAD27C09C580012118D /* fceux */ = { isa = PBXGroup; children = ( - BED8BFE61D6ED32900742D04 /* common */, + B3341F5A27C1B1CC00E001C6 /* fceux-server */, + B3BCB16627C09C5A0012118D /* src */, ); - name = drivers; + path = fceux; sourceTree = ""; }; - BED8BFE61D6ED32900742D04 /* common */ = { + B3BCB16627C09C5A0012118D /* src */ = { isa = PBXGroup; children = ( - BED8BFEB1D6ED36300742D04 /* args.cpp */, - BED8BFEC1D6ED36300742D04 /* args.h */, - BED8BFED1D6ED36300742D04 /* cheat.cpp */, - BED8BFEE1D6ED36300742D04 /* cheat.h */, - BED8BFEF1D6ED36300742D04 /* config.cpp */, - BED8BFF01D6ED36300742D04 /* config.h */, - BED8BFF11D6ED36300742D04 /* configSys.cpp */, - BED8BFF21D6ED36300742D04 /* configSys.h */, - BED8BFF31D6ED36300742D04 /* hq2x.cpp */, - BED8BFF41D6ED36300742D04 /* hq2x.h */, - BED8BFF51D6ED36300742D04 /* hq3x.cpp */, - BED8BFF61D6ED36300742D04 /* hq3x.h */, - BED8BFF71D6ED36300742D04 /* nes_ntsc_config.h */, - BED8BFF81D6ED36300742D04 /* nes_ntsc_impl.h */, - BED8BFF91D6ED36300742D04 /* nes_ntsc.c */, - BED8BFFA1D6ED36300742D04 /* nes_ntsc.h */, - BED8BFFB1D6ED36300742D04 /* scale2x.cpp */, - BED8BFFC1D6ED36300742D04 /* scale2x.h */, - BED8BFFD1D6ED36300742D04 /* scale3x.cpp */, - BED8BFFE1D6ED36300742D04 /* scale3x.h */, - BED8BFFF1D6ED36300742D04 /* scalebit.cpp */, - BED8C0001D6ED36300742D04 /* scalebit.h */, - BED8C0011D6ED36300742D04 /* SConscript */, - BED8C0021D6ED36300742D04 /* vidblit.cpp */, - BED8C0031D6ED36300742D04 /* vidblit.h */, - BED8BFE71D6ED33500742D04 /* vidblit.cpp */, - BED8BFE81D6ED33500742D04 /* vidblit.h */, + B3BCB53427C09C5B0012118D /* asm.cpp */, + B3BCB53C27C09C5B0012118D /* cart.cpp */, + B3BCB53227C09C5B0012118D /* cheat.cpp */, + B3BCB43027C09C5B0012118D /* conddebug.cpp */, + B3BCB47527C09C5B0012118D /* config.cpp */, + B3BCB47827C09C5B0012118D /* debug.cpp */, + B3BCB43327C09C5B0012118D /* drawing.cpp */, + B3BCB53627C09C5B0012118D /* emufile.cpp */, + B3BCB52F27C09C5B0012118D /* fceu.cpp */, + B3BCB47A27C09C5B0012118D /* fds.cpp */, + B3BCB43927C09C5B0012118D /* file.cpp */, + B3BCB3EF27C09C5B0012118D /* filter.cpp */, + B3BCB53A27C09C5B0012118D /* ines.cpp */, + B3BCB17027C09C5A0012118D /* input.cpp */, + B3BCB47727C09C5B0012118D /* lua-engine.cpp */, + B3BCB53B27C09C5B0012118D /* movie.cpp */, + B3BCB53927C09C5B0012118D /* netplay.cpp */, + B3BCB52B27C09C5B0012118D /* nsf.cpp */, + B3BCB53027C09C5B0012118D /* oldmovie.cpp */, + B3BCB53327C09C5B0012118D /* palette.cpp */, + B3BCB16C27C09C5A0012118D /* ppu.cpp */, + B3BCB47927C09C5B0012118D /* sound.cpp */, + B3BCB3D327C09C5B0012118D /* state.cpp */, + B3BCB47427C09C5B0012118D /* unif.cpp */, + B3BCB3EE27C09C5B0012118D /* video.cpp */, + B3BCB52E27C09C5B0012118D /* vsuni.cpp */, + B3BCB3C927C09C5B0012118D /* wave.cpp */, + B3BCB43A27C09C5B0012118D /* x6502.cpp */, + B3BCB3F127C09C5B0012118D /* asm.h */, + B3BCB43727C09C5B0012118D /* cart.h */, + B3BCB16927C09C5A0012118D /* cheat.h */, + B3BCB3CA27C09C5B0012118D /* conddebug.h */, + B3BCB16F27C09C5A0012118D /* debug.h */, + B3BCB3AE27C09C5B0012118D /* drawing.h */, + B3BCB3D427C09C5B0012118D /* driver.h */, + B3BCB3CB27C09C5B0012118D /* emufile_types.h */, + B3BCB52D27C09C5B0012118D /* emufile.h */, + B3BCB43127C09C5B0012118D /* fceu.h */, + B3BCB16E27C09C5A0012118D /* fceulua.h */, + B3BCB53827C09C5B0012118D /* fcoeffs.h */, + B3BCB43227C09C5B0012118D /* fds.h */, + B3BCB3D127C09C5B0012118D /* file.h */, + B3BCB53727C09C5B0012118D /* filter.h */, + B3BCB3ED27C09C5B0012118D /* git.h */, + B3BCB52927C09C5B0012118D /* ines-bad.h */, + B3BCB3D027C09C5B0012118D /* ines-correct.h */, + B3BCB16A27C09C5A0012118D /* ines.h */, + B3BCB16D27C09C5A0012118D /* input.h */, + B3BCB3CD27C09C5B0012118D /* movie.h */, + B3BCB52C27C09C5B0012118D /* netplay.h */, + B3BCB3D227C09C5B0012118D /* nsf.h */, + B3BCB16727C09C5A0012118D /* oldmovie.h */, + B3BCB43527C09C5B0012118D /* palette.h */, + B3BCB43827C09C5B0012118D /* ppu.h */, + B3BCB16827C09C5A0012118D /* sound.h */, + B3BCB53527C09C5B0012118D /* state.h */, + B3BCB16B27C09C5A0012118D /* types-des.h */, + B3BCB3AF27C09C5B0012118D /* types.h */, + B3BCB3CC27C09C5B0012118D /* unif.h */, + B3BCB17127C09C5A0012118D /* version.h */, + B3BCB52827C09C5B0012118D /* video.h */, + B3BCB43427C09C5B0012118D /* vsuni.h */, + B3BCB53127C09C5B0012118D /* wave.h */, + B3BCB3CE27C09C5B0012118D /* x6502.h */, + B3BCB3CF27C09C5B0012118D /* x6502abbrev.h */, + B3BCB3F027C09C5B0012118D /* x6502struct.h */, + B3BCB52A27C09C5B0012118D /* ops.inc */, + B3BCB43627C09C5B0012118D /* pputile.inc */, + B3BCB47627C09C5B0012118D /* auxlib.lua */, + B3BCB18827C09C5A0012118D /* CMakeLists.txt */, + B3BCB43B27C09C5B0012118D /* attic */, + B3BCB47B27C09C5B0012118D /* boards */, + B3BCB18927C09C5A0012118D /* drivers */, + B3BCB17227C09C5A0012118D /* fir */, + B3BCB3B027C09C5B0012118D /* input */, + B3BCB3F227C09C5B0012118D /* lua */, + B3BCB53D27C09C5B0012118D /* palettes */, + B3BCB3D527C09C5B0012118D /* utils */, ); - name = common; + path = src; sourceTree = ""; }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - B3A9F4331DE877B4008450F5 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B3C9D4221DEA0CE70068D057 /* ppu.h in Headers */, - B30614EC218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.h in Headers */, - B3A9F43A1DE877B4008450F5 /* PVFCEU.h in Headers */, - B3A9F6311DE883FC008450F5 /* PVFCEUEmulatorCore.h in Headers */, - B30614F7218D60CB0041AD4F /* PVFCEU+Swift.h in Headers */, + B3BCB17227C09C5A0012118D /* fir */ = { + isa = PBXGroup; + children = ( + B3BCB17327C09C5A0012118D /* c48000ntsc.h */, + B3BCB17427C09C5A0012118D /* c96000pal.scm */, + B3BCB17527C09C5A0012118D /* c96000ntsc.scm */, + B3BCB17627C09C5A0012118D /* c44100pal.h */, + B3BCB17727C09C5A0012118D /* toh.c */, + B3BCB17827C09C5A0012118D /* Makefile */, + B3BCB17927C09C5A0012118D /* c48000pal.h */, + B3BCB17A27C09C5A0012118D /* c44100ntsc.h */, + B3BCB17B27C09C5A0012118D /* c44100ntsc.coef */, + B3BCB17C27C09C5A0012118D /* c96000ntsc.coef */, + B3BCB17D27C09C5A0012118D /* c44100pal.coef */, + B3BCB17E27C09C5A0012118D /* c48000ntsc.scm */, + B3BCB17F27C09C5A0012118D /* README */, + B3BCB18027C09C5A0012118D /* c44100ntsc.scm */, + B3BCB18127C09C5A0012118D /* c44100pal.scm */, + B3BCB18227C09C5A0012118D /* c48000pal.coef */, + B3BCB18327C09C5A0012118D /* c96000pal.h */, + B3BCB18427C09C5A0012118D /* c48000ntsc.coef */, + B3BCB18527C09C5A0012118D /* c48000pal.scm */, + B3BCB18627C09C5A0012118D /* c96000ntsc.h */, + B3BCB18727C09C5A0012118D /* c96000pal.coef */, ); - runOnlyForDeploymentPostprocessing = 0; + path = fir; + sourceTree = ""; }; - B3A9F4411DE877E4008450F5 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; + B3BCB18927C09C5A0012118D /* drivers */ = { + isa = PBXGroup; + children = ( + B3BCB18A27C09C5A0012118D /* videolog */, + B3BCB19127C09C5A0012118D /* win */, + B3BCB2DF27C09C5B0012118D /* Qt */, + B3BCB36E27C09C5B0012118D /* common */, + B3BCB38927C09C5B0012118D /* sdl */, + ); + path = drivers; + sourceTree = ""; + }; + B3BCB18A27C09C5A0012118D /* videolog */ = { + isa = PBXGroup; + children = ( + B3BCB18B27C09C5A0012118D /* quantize.h */, + B3BCB18C27C09C5A0012118D /* nesvideos-piece.h */, + B3BCB18D27C09C5A0012118D /* rgbtorgb.cpp */, + B3BCB18E27C09C5A0012118D /* rgbtorgb.h */, + B3BCB18F27C09C5A0012118D /* simd.h */, + B3BCB19027C09C5A0012118D /* nesvideos-piece.cpp */, + ); + path = videolog; + sourceTree = ""; + }; + B3BCB19127C09C5A0012118D /* win */ = { + isa = PBXGroup; + children = ( + B3BCB19227C09C5A0012118D /* help.h */, + B3BCB19327C09C5A0012118D /* main.h */, + B3BCB19427C09C5A0012118D /* taseditor.h */, + B3BCB19527C09C5A0012118D /* sound.h */, + B3BCB19627C09C5A0012118D /* header_editor.cpp */, + B3BCB19727C09C5A0012118D /* cheat.h */, + B3BCB19827C09C5A0012118D /* keyscan.h */, + B3BCB19927C09C5A0012118D /* 7z_64.dll */, + B3BCB19A27C09C5A0012118D /* pref.cpp */, + B3BCB19B27C09C5A0012118D /* memviewsp.h */, + B3BCB19C27C09C5A0012118D /* common.cpp */, + B3BCB19D27C09C5A0012118D /* archive.h */, + B3BCB19E27C09C5A0012118D /* res */, + B3BCB20927C09C5A0012118D /* input.h */, + B3BCB20A27C09C5A0012118D /* log.cpp */, + B3BCB20B27C09C5A0012118D /* debug.h */, + B3BCB20C27C09C5A0012118D /* input.cpp */, + B3BCB20D27C09C5A0012118D /* args.cpp */, + B3BCB20E27C09C5A0012118D /* ramwatch.h */, + B3BCB20F27C09C5A0012118D /* aviout.cpp */, + B3BCB21027C09C5A0012118D /* debuggersp.cpp */, + B3BCB21127C09C5A0012118D /* Win32InputBox.cpp */, + B3BCB21227C09C5A0012118D /* movieoptions.cpp */, + B3BCB21327C09C5A0012118D /* 7z.dll */, + B3BCB21427C09C5A0012118D /* Win32InputBox.h */, + B3BCB21527C09C5A0012118D /* debuggersp.h */, + B3BCB21627C09C5A0012118D /* luaconsole.cpp */, + B3BCB21727C09C5A0012118D /* config.h */, + B3BCB21827C09C5A0012118D /* mapinput.h */, + B3BCB21927C09C5A0012118D /* afxres.h */, + B3BCB21A27C09C5A0012118D /* window.cpp */, + B3BCB21B27C09C5A0012118D /* wave.cpp */, + B3BCB21C27C09C5A0012118D /* help.cpp */, + B3BCB21D27C09C5A0012118D /* ntview.h */, + B3BCB21E27C09C5A0012118D /* mapinput.cpp */, + B3BCB21F27C09C5A0012118D /* joystick.h */, + B3BCB22027C09C5A0012118D /* monitor.cpp */, + B3BCB22127C09C5A0012118D /* timing.h */, + B3BCB22227C09C5A0012118D /* OutputDS.cpp */, + B3BCB22327C09C5A0012118D /* texthook.cpp */, + B3BCB22427C09C5A0012118D /* state.cpp */, + B3BCB22527C09C5A0012118D /* ppuview.h */, + B3BCB22627C09C5A0012118D /* window.h */, + B3BCB22727C09C5A0012118D /* fceu_x86.manifest */, + B3BCB22827C09C5A0012118D /* video.cpp */, + B3BCB22927C09C5A0012118D /* zlib */, + B3BCB24D27C09C5A0012118D /* taseditor.cpp */, + B3BCB24E27C09C5A0012118D /* lua */, + B3BCB26627C09C5A0012118D /* guiconfig.h */, + B3BCB26727C09C5A0012118D /* ppuview.cpp */, + B3BCB26827C09C5A0012118D /* gui.h */, + B3BCB26927C09C5A0012118D /* args.h */, + B3BCB26A27C09C5A0012118D /* memview.cpp */, + B3BCB26B27C09C5A0012118D /* palette.h */, + B3BCB26C27C09C5A0012118D /* monitor.h */, + B3BCB26D27C09C5A0012118D /* gui.cpp */, + B3BCB26E27C09C5A0012118D /* 7zip */, + B3BCB27627C09C5A0012118D /* common.h */, + B3BCB27727C09C5A0012118D /* ram_search.cpp */, + B3BCB27827C09C5A0012118D /* replay.h */, + B3BCB27927C09C5A0012118D /* memview.h */, + B3BCB27A27C09C5A0012118D /* log.h */, + B3BCB27B27C09C5A0012118D /* tracer.h */, + B3BCB27C27C09C5B0012118D /* config.cpp */, + B3BCB27D27C09C5B0012118D /* keyboard.h */, + B3BCB27E27C09C5B0012118D /* memwatch.cpp */, + B3BCB27F27C09C5B0012118D /* ramwatch.cpp */, + B3BCB28027C09C5B0012118D /* sound.cpp */, + B3BCB28127C09C5B0012118D /* guiconfig.cpp */, + B3BCB28227C09C5B0012118D /* throttle.cpp */, + B3BCB28327C09C5B0012118D /* video.h */, + B3BCB28427C09C5B0012118D /* oakra.h */, + B3BCB28527C09C5B0012118D /* resource.h */, + B3BCB28627C09C5B0012118D /* pref.h */, + B3BCB28727C09C5B0012118D /* debugger.cpp */, + B3BCB28827C09C5B0012118D /* netplay.h */, + B3BCB28927C09C5B0012118D /* directories.h */, + B3BCB28A27C09C5B0012118D /* debugger.h */, + B3BCB28B27C09C5B0012118D /* movieoptions.h */, + B3BCB28C27C09C5B0012118D /* wave.h */, + B3BCB28D27C09C5B0012118D /* tracer.cpp */, + B3BCB28E27C09C5B0012118D /* memwatch.h */, + B3BCB28F27C09C5B0012118D /* cheat.cpp */, + B3BCB29027C09C5B0012118D /* texthook.h */, + B3BCB29127C09C5B0012118D /* ntview.cpp */, + B3BCB29227C09C5B0012118D /* palette.cpp */, + B3BCB29327C09C5B0012118D /* replay.cpp */, + B3BCB29427C09C5B0012118D /* state.h */, + B3BCB29527C09C5B0012118D /* directx */, + B3BCB2A627C09C5B0012118D /* keyboard.cpp */, + B3BCB2A727C09C5B0012118D /* joystick.cpp */, + B3BCB2A827C09C5B0012118D /* timing.cpp */, + B3BCB2A927C09C5B0012118D /* memviewsp.cpp */, + B3BCB2AA27C09C5B0012118D /* main.cpp */, + B3BCB2AB27C09C5B0012118D /* directories.cpp */, + B3BCB2AC27C09C5B0012118D /* res.rc */, + B3BCB2AD27C09C5B0012118D /* throttle.h */, + B3BCB2AE27C09C5B0012118D /* netplay.cpp */, + B3BCB2AF27C09C5B0012118D /* header_editor.h */, + B3BCB2B027C09C5B0012118D /* taseditor */, + B3BCB2DB27C09C5B0012118D /* archive.cpp */, + B3BCB2DC27C09C5B0012118D /* cdlogger.cpp */, + B3BCB2DD27C09C5B0012118D /* ram_search.h */, + B3BCB2DE27C09C5B0012118D /* cdlogger.h */, + ); + path = win; + sourceTree = ""; + }; + B3BCB19E27C09C5A0012118D /* res */ = { + isa = PBXGroup; + children = ( + B3BCB19F27C09C5A0012118D /* te_piano_12.bmp */, + B3BCB1A027C09C5A0012118D /* te_green_blue_arrow.bmp */, + B3BCB1A127C09C5A0012118D /* te_0_selected.bmp */, + B3BCB1A227C09C5A0012118D /* te_piano_5_lostpos.bmp */, + B3BCB1A327C09C5A0012118D /* te_piano_3_playback.bmp */, + B3BCB1A427C09C5A0012118D /* te_7_selected.bmp */, + B3BCB1A527C09C5A0012118D /* te_piano_13_lostpos.bmp */, + B3BCB1A627C09C5A0012118D /* te_piano_4_playback.bmp */, + B3BCB1A727C09C5A0012118D /* te_piano_16_playback.bmp */, + B3BCB1A827C09C5A0012118D /* te_piano_13.bmp */, + B3BCB1A927C09C5A0012118D /* te_piano_11_playback.bmp */, + B3BCB1AA27C09C5A0012118D /* te_11_selected.bmp */, + B3BCB1AB27C09C5A0012118D /* te_16_selected.bmp */, + B3BCB1AC27C09C5A0012118D /* te_piano_11.bmp */, + B3BCB1AD27C09C5A0012118D /* te_piano_10.bmp */, + B3BCB1AE27C09C5A0012118D /* te_piano_5_playback.bmp */, + B3BCB1AF27C09C5A0012118D /* te_6_selected.bmp */, + B3BCB1B027C09C5A0012118D /* te_piano_14.bmp */, + B3BCB1B127C09C5A0012118D /* te_piano_2_playback.bmp */, + B3BCB1B227C09C5A0012118D /* te_1_selected.bmp */, + B3BCB1B327C09C5A0012118D /* te_piano_10_playback.bmp */, + B3BCB1B427C09C5A0012118D /* te_piano_17_playback.bmp */, + B3BCB1B527C09C5A0012118D /* te_8.bmp */, + B3BCB1B627C09C5A0012118D /* te_9.bmp */, + B3BCB1B727C09C5A0012118D /* te_piano_9_lostpos.bmp */, + B3BCB1B827C09C5A0012118D /* te_piano_15.bmp */, + B3BCB1B927C09C5A0012118D /* te_piano_17.bmp */, + B3BCB1BA27C09C5A0012118D /* te_piano_9.bmp */, + B3BCB1BB27C09C5A0012118D /* te_17_selected.bmp */, + B3BCB1BC27C09C5A0012118D /* te_10_selected.bmp */, + B3BCB1BD27C09C5A0012118D /* taseditor-icon32.ico */, + B3BCB1BE27C09C5A0012118D /* te_piano_8.bmp */, + B3BCB1BF27C09C5A0012118D /* te_piano_16_lostpos.bmp */, + B3BCB1C027C09C5A0012118D /* te_piano_16.bmp */, + B3BCB1C127C09C5A0012118D /* te_piano_0_lostpos.bmp */, + B3BCB1C227C09C5A0012118D /* te_piano_15_lostpos.bmp */, + B3BCB1C327C09C5A0012118D /* te_piano_3_lostpos.bmp */, + B3BCB1C427C09C5A0012118D /* te_12.bmp */, + B3BCB1C527C09C5A0012118D /* te_13.bmp */, + B3BCB1C627C09C5A0012118D /* te_11.bmp */, + B3BCB1C727C09C5A0012118D /* te_piano_8_playback.bmp */, + B3BCB1C827C09C5A0012118D /* te_10.bmp */, + B3BCB1C927C09C5A0012118D /* te_piano_19_lostpos.bmp */, + B3BCB1CA27C09C5A0012118D /* te_14.bmp */, + B3BCB1CB27C09C5A0012118D /* te_15.bmp */, + B3BCB1CC27C09C5A0012118D /* te_piano_9_playback.bmp */, + B3BCB1CD27C09C5A0012118D /* te_piano_6_lostpos.bmp */, + B3BCB1CE27C09C5A0012118D /* te_17.bmp */, + B3BCB1CF27C09C5A0012118D /* te_piano_10_lostpos.bmp */, + B3BCB1D027C09C5A0012118D /* te_16.bmp */, + B3BCB1D127C09C5A0012118D /* te_piano_1_lostpos.bmp */, + B3BCB1D227C09C5A0012118D /* te_piano_17_lostpos.bmp */, + B3BCB1D327C09C5A0012118D /* te_19_selected.bmp */, + B3BCB1D427C09C5A0012118D /* te_piano_19_playback.bmp */, + B3BCB1D527C09C5A0012118D /* te_8_selected.bmp */, + B3BCB1D627C09C5A0012118D /* te_18.bmp */, + B3BCB1D727C09C5A0012118D /* te_piano_8_lostpos.bmp */, + B3BCB1D827C09C5A0012118D /* te_19.bmp */, + B3BCB1D927C09C5A0012118D /* te_18_selected.bmp */, + B3BCB1DA27C09C5A0012118D /* te_green_arrow.bmp */, + B3BCB1DB27C09C5A0012118D /* te_piano_12_lostpos.bmp */, + B3BCB1DC27C09C5A0012118D /* te_piano_4_lostpos.bmp */, + B3BCB1DD27C09C5A0012118D /* te_piano_18_playback.bmp */, + B3BCB1DE27C09C5A0012118D /* branch_spritesheet.bmp */, + B3BCB1DF27C09C5A0012118D /* te_9_selected.bmp */, + B3BCB1E027C09C5A0012118D /* te_piano_15_playback.bmp */, + B3BCB1E127C09C5A0012118D /* te_arrow.bmp */, + B3BCB1E227C09C5A0012118D /* te_piano_12_playback.bmp */, + B3BCB1E327C09C5A0012118D /* te_piano_5.bmp */, + B3BCB1E427C09C5A0012118D /* te_3_selected.bmp */, + B3BCB1E527C09C5A0012118D /* te_piano_0_playback.bmp */, + B3BCB1E627C09C5A0012118D /* te_4_selected.bmp */, + B3BCB1E727C09C5A0012118D /* te_7.bmp */, + B3BCB1E827C09C5A0012118D /* te_piano_7_playback.bmp */, + B3BCB1E927C09C5A0012118D /* te_6.bmp */, + B3BCB1EA27C09C5A0012118D /* te_piano_4.bmp */, + B3BCB1EB27C09C5A0012118D /* te_piano_11_lostpos.bmp */, + B3BCB1EC27C09C5A0012118D /* te_piano_7_lostpos.bmp */, + B3BCB1ED27C09C5A0012118D /* te_piano_18.bmp */, + B3BCB1EE27C09C5A0012118D /* te_piano_6.bmp */, + B3BCB1EF27C09C5A0012118D /* te_4.bmp */, + B3BCB1F027C09C5A0012118D /* te_5.bmp */, + B3BCB1F127C09C5A0012118D /* te_piano_7.bmp */, + B3BCB1F227C09C5A0012118D /* te_12_selected.bmp */, + B3BCB1F327C09C5A0012118D /* te_piano_19.bmp */, + B3BCB1F427C09C5A0012118D /* te_15_selected.bmp */, + B3BCB1F527C09C5A0012118D /* te_piano_18_lostpos.bmp */, + B3BCB1F627C09C5A0012118D /* te_piano_3.bmp */, + B3BCB1F727C09C5A0012118D /* te_1.bmp */, + B3BCB1F827C09C5A0012118D /* te_piano_13_playback.bmp */, + B3BCB1F927C09C5A0012118D /* te_0.bmp */, + B3BCB1FA27C09C5A0012118D /* te_piano_14_playback.bmp */, + B3BCB1FB27C09C5A0012118D /* te_piano_2.bmp */, + B3BCB1FC27C09C5A0012118D /* te_piano_6_playback.bmp */, + B3BCB1FD27C09C5A0012118D /* te_5_selected.bmp */, + B3BCB1FE27C09C5A0012118D /* te_piano_1_playback.bmp */, + B3BCB1FF27C09C5A0012118D /* te_2_selected.bmp */, + B3BCB20027C09C5A0012118D /* te_piano_0.bmp */, + B3BCB20127C09C5A0012118D /* te_14_selected.bmp */, + B3BCB20227C09C5A0012118D /* te_2.bmp */, + B3BCB20327C09C5A0012118D /* te_13_selected.bmp */, + B3BCB20427C09C5A0012118D /* te_piano_2_lostpos.bmp */, + B3BCB20527C09C5A0012118D /* te_3.bmp */, + B3BCB20627C09C5A0012118D /* te_piano_14_lostpos.bmp */, + B3BCB20727C09C5A0012118D /* taseditor-icon.ico */, + B3BCB20827C09C5A0012118D /* te_piano_1.bmp */, + ); + path = res; + sourceTree = ""; + }; + B3BCB22927C09C5A0012118D /* zlib */ = { + isa = PBXGroup; + children = ( + B3BCB22A27C09C5A0012118D /* zutil.h */, + B3BCB22B27C09C5A0012118D /* inftrees.h */, + B3BCB22C27C09C5A0012118D /* inflate.c */, + B3BCB22D27C09C5A0012118D /* unzip.c */, + B3BCB22E27C09C5A0012118D /* algorithm.txt */, + B3BCB22F27C09C5A0012118D /* compress.c */, + B3BCB23027C09C5A0012118D /* changelog */, + B3BCB23127C09C5A0012118D /* deflate.c */, + B3BCB23227C09C5A0012118D /* infutil.c */, + B3BCB23327C09C5A0012118D /* inffixed.h */, + B3BCB23427C09C5A0012118D /* makefile */, + B3BCB23527C09C5A0012118D /* faq */, + B3BCB23627C09C5A0012118D /* infcodes.h */, + B3BCB23727C09C5A0012118D /* trees.h */, + B3BCB23827C09C5A0012118D /* infblock.c */, + B3BCB23927C09C5A0012118D /* inffast.h */, + B3BCB23A27C09C5A0012118D /* crc32.c */, + B3BCB23B27C09C5A0012118D /* readme */, + B3BCB23C27C09C5A0012118D /* example.c */, + B3BCB23D27C09C5A0012118D /* zutil.c */, + B3BCB23E27C09C5A0012118D /* deflate.h */, + B3BCB23F27C09C5A0012118D /* zlib.h */, + B3BCB24027C09C5A0012118D /* unzip.h */, + B3BCB24127C09C5A0012118D /* inftrees.c */, + B3BCB24227C09C5A0012118D /* uncompr.c */, + B3BCB24327C09C5A0012118D /* infblock.h */, + B3BCB24427C09C5A0012118D /* descrip.mms */, + B3BCB24527C09C5A0012118D /* trees.c */, + B3BCB24627C09C5A0012118D /* infcodes.c */, + B3BCB24727C09C5A0012118D /* infutil.h */, + B3BCB24827C09C5A0012118D /* gzio.c */, + B3BCB24927C09C5A0012118D /* inffast.c */, + B3BCB24A27C09C5A0012118D /* maketree.c */, + B3BCB24B27C09C5A0012118D /* adler32.c */, + B3BCB24C27C09C5A0012118D /* zconf.h */, + ); + path = zlib; + sourceTree = ""; + }; + B3BCB24E27C09C5A0012118D /* lua */ = { + isa = PBXGroup; + children = ( + B3BCB24F27C09C5A0012118D /* x64 */, + B3BCB25427C09C5A0012118D /* include */, + B3BCB26027C09C5A0012118D /* luaperks.txt */, + B3BCB26127C09C5A0012118D /* win32 */, + ); + path = lua; + sourceTree = ""; + }; + B3BCB24F27C09C5A0012118D /* x64 */ = { + isa = PBXGroup; + children = ( + B3BCB25027C09C5A0012118D /* luaperks.lib */, + B3BCB25127C09C5A0012118D /* lua5.1.dll */, + B3BCB25227C09C5A0012118D /* lua51.lib */, + B3BCB25327C09C5A0012118D /* lua51.dll */, + ); + path = x64; + sourceTree = ""; + }; + B3BCB25427C09C5A0012118D /* include */ = { + isa = PBXGroup; + children = ( + B3BCB25527C09C5A0012118D /* lmem.h */, + B3BCB25627C09C5A0012118D /* llimits.h */, + B3BCB25727C09C5A0012118D /* luaconf.h */, + B3BCB25827C09C5A0012118D /* lzio.h */, + B3BCB25927C09C5A0012118D /* lua.hpp */, + B3BCB25A27C09C5A0012118D /* lualib.h */, + B3BCB25B27C09C5A0012118D /* ltm.h */, + B3BCB25C27C09C5A0012118D /* lobject.h */, + B3BCB25D27C09C5A0012118D /* lstate.h */, + B3BCB25E27C09C5A0012118D /* lauxlib.h */, + B3BCB25F27C09C5A0012118D /* lua.h */, + ); + path = include; + sourceTree = ""; + }; + B3BCB26127C09C5A0012118D /* win32 */ = { + isa = PBXGroup; + children = ( + B3BCB26227C09C5A0012118D /* luaperks.lib */, + B3BCB26327C09C5A0012118D /* lua5.1.dll */, + B3BCB26427C09C5A0012118D /* lua51.lib */, + B3BCB26527C09C5A0012118D /* lua51.dll */, + ); + path = win32; + sourceTree = ""; + }; + B3BCB26E27C09C5A0012118D /* 7zip */ = { + isa = PBXGroup; + children = ( + B3BCB26F27C09C5A0012118D /* IProgress.h */, + B3BCB27027C09C5A0012118D /* Types.h */, + B3BCB27127C09C5A0012118D /* IArchive.h */, + B3BCB27227C09C5A0012118D /* MyUnknown.h */, + B3BCB27327C09C5A0012118D /* PropID.h */, + B3BCB27427C09C5A0012118D /* IStream.h */, + B3BCB27527C09C5A0012118D /* readme.txt */, + ); + path = 7zip; + sourceTree = ""; + }; + B3BCB29527C09C5B0012118D /* directx */ = { + isa = PBXGroup; + children = ( + B3BCB29627C09C5B0012118D /* ddraw.h */, + B3BCB29727C09C5B0012118D /* dinput.h */, + B3BCB29827C09C5B0012118D /* dsound.h */, + B3BCB29927C09C5B0012118D /* x64 */, + B3BCB2A227C09C5B0012118D /* dinput.lib */, + B3BCB2A327C09C5B0012118D /* dxguid.lib */, + B3BCB2A427C09C5B0012118D /* ddraw.lib */, + B3BCB2A527C09C5B0012118D /* dsound.lib */, + ); + path = directx; + sourceTree = ""; + }; + B3BCB29927C09C5B0012118D /* x64 */ = { + isa = PBXGroup; + children = ( + B3BCB29A27C09C5B0012118D /* ddraw.h */, + B3BCB29B27C09C5B0012118D /* dinput.h */, + B3BCB29C27C09C5B0012118D /* dsound.h */, + B3BCB29D27C09C5B0012118D /* dinput.lib */, + B3BCB29E27C09C5B0012118D /* source.txt */, + B3BCB29F27C09C5B0012118D /* dxguid.lib */, + B3BCB2A027C09C5B0012118D /* ddraw.lib */, + B3BCB2A127C09C5B0012118D /* dsound.lib */, + ); + path = x64; + sourceTree = ""; + }; + B3BCB2B027C09C5B0012118D /* taseditor */ = { + isa = PBXGroup; + children = ( + B3BCB2B127C09C5B0012118D /* editor.h */, + B3BCB2B227C09C5B0012118D /* branches.cpp */, + B3BCB2B327C09C5B0012118D /* playback.h */, + B3BCB2B427C09C5B0012118D /* taseditor_window.cpp */, + B3BCB2B527C09C5B0012118D /* inputlog.h */, + B3BCB2B627C09C5B0012118D /* bookmarks.cpp */, + B3BCB2B727C09C5B0012118D /* greenzone.cpp */, + B3BCB2B827C09C5B0012118D /* bookmark.cpp */, + B3BCB2B927C09C5B0012118D /* taseditor_lua.h */, + B3BCB2BA27C09C5B0012118D /* taseditor_project.h */, + B3BCB2BB27C09C5B0012118D /* playback.cpp */, + B3BCB2BC27C09C5B0012118D /* history.cpp */, + B3BCB2BD27C09C5B0012118D /* markers_manager.h */, + B3BCB2BE27C09C5B0012118D /* splicer.h */, + B3BCB2BF27C09C5B0012118D /* splicer.cpp */, + B3BCB2C027C09C5B0012118D /* recorder.h */, + B3BCB2C127C09C5B0012118D /* taseditor_project.cpp */, + B3BCB2C227C09C5B0012118D /* greenzone.h */, + B3BCB2C327C09C5B0012118D /* taseditor_window.h */, + B3BCB2C427C09C5B0012118D /* snapshot.cpp */, + B3BCB2C527C09C5B0012118D /* laglog.cpp */, + B3BCB2C627C09C5B0012118D /* history.h */, + B3BCB2C727C09C5B0012118D /* markers_manager.cpp */, + B3BCB2C827C09C5B0012118D /* editor.cpp */, + B3BCB2C927C09C5B0012118D /* popup_display.h */, + B3BCB2CA27C09C5B0012118D /* markers.h */, + B3BCB2CB27C09C5B0012118D /* inputlog.cpp */, + B3BCB2CC27C09C5B0012118D /* bookmarks.h */, + B3BCB2CD27C09C5B0012118D /* taseditor_config.h */, + B3BCB2CE27C09C5B0012118D /* piano_roll.h */, + B3BCB2CF27C09C5B0012118D /* laglog.h */, + B3BCB2D027C09C5B0012118D /* branches.h */, + B3BCB2D127C09C5B0012118D /* snapshot.h */, + B3BCB2D227C09C5B0012118D /* taseditor_lua.cpp */, + B3BCB2D327C09C5B0012118D /* markers.cpp */, + B3BCB2D427C09C5B0012118D /* piano_roll.cpp */, + B3BCB2D527C09C5B0012118D /* selection.h */, + B3BCB2D627C09C5B0012118D /* selection.cpp */, + B3BCB2D727C09C5B0012118D /* taseditor_config.cpp */, + B3BCB2D827C09C5B0012118D /* bookmark.h */, + B3BCB2D927C09C5B0012118D /* popup_display.cpp */, + B3BCB2DA27C09C5B0012118D /* recorder.cpp */, + ); + path = taseditor; + sourceTree = ""; + }; + B3BCB2DF27C09C5B0012118D /* Qt */ = { + isa = PBXGroup; + children = ( + B3BCB2E027C09C5B0012118D /* main.h */, + B3BCB2E127C09C5B0012118D /* PaletteConf.h */, + B3BCB2E227C09C5B0012118D /* MsgLogViewer.h */, + B3BCB2E327C09C5B0012118D /* ConsoleVideoConf.cpp */, + B3BCB2E427C09C5B0012118D /* NameTableViewer.h */, + B3BCB2E527C09C5B0012118D /* keyscan.h */, + B3BCB2E627C09C5B0012118D /* MsgLogViewer.cpp */, + B3BCB2E727C09C5B0012118D /* CheatsConf.cpp */, + B3BCB2E827C09C5B0012118D /* fceux_git_info.h */, + B3BCB2E927C09C5B0012118D /* RamSearch.cpp */, + B3BCB2EA27C09C5B0012118D /* ppuViewer.cpp */, + B3BCB2EB27C09C5B0012118D /* nes_shm.h */, + B3BCB2EC27C09C5B0012118D /* HelpPages.cpp */, + B3BCB2ED27C09C5B0012118D /* FrameTimingStats.cpp */, + B3BCB2EE27C09C5B0012118D /* ConsoleViewerGL.cpp */, + B3BCB2EF27C09C5B0012118D /* sdl-sound.cpp */, + B3BCB2F027C09C5B0012118D /* input.h */, + B3BCB2F127C09C5B0012118D /* HexEditor.h */, + B3BCB2F227C09C5B0012118D /* input.cpp */, + B3BCB2F327C09C5B0012118D /* ConsoleDebugger.cpp */, + B3BCB2F427C09C5B0012118D /* ConsoleWindow.cpp */, + B3BCB2F527C09C5B0012118D /* ConsoleSoundConf.cpp */, + B3BCB2F627C09C5B0012118D /* RamWatch.h */, + B3BCB2F727C09C5B0012118D /* TimingConf.h */, + B3BCB2F827C09C5B0012118D /* unix-netplay.h */, + B3BCB2F927C09C5B0012118D /* dface.h */, + B3BCB2FA27C09C5B0012118D /* ColorMenu.h */, + B3BCB2FB27C09C5B0012118D /* avi */, + B3BCB30027C09C5B0012118D /* MovieOptions.cpp */, + B3BCB30127C09C5B0012118D /* GuiConf.cpp */, + B3BCB30227C09C5B0012118D /* GameGenie.cpp */, + B3BCB30327C09C5B0012118D /* unix-netplay.cpp */, + B3BCB30427C09C5B0012118D /* AviRiffViewer.h */, + B3BCB30527C09C5B0012118D /* TraceLogger.cpp */, + B3BCB30627C09C5B0012118D /* TimingConf.cpp */, + B3BCB30727C09C5B0012118D /* config.h */, + B3BCB30827C09C5B0012118D /* nes_shm.cpp */, + B3BCB30927C09C5B0012118D /* HelpPages.h */, + B3BCB30A27C09C5B0012118D /* HotKeyConf.cpp */, + B3BCB30B27C09C5B0012118D /* SplashScreen.h */, + B3BCB30C27C09C5B0012118D /* PaletteConf.cpp */, + B3BCB30D27C09C5B0012118D /* FrameTimingStats.h */, + B3BCB30E27C09C5B0012118D /* SymbolicDebug.cpp */, + B3BCB30F27C09C5B0012118D /* AboutWindow.cpp */, + B3BCB31027C09C5B0012118D /* ConsoleUtilities.h */, + B3BCB31127C09C5B0012118D /* ConsoleViewerSDL.cpp */, + B3BCB31227C09C5B0012118D /* InputConf.cpp */, + B3BCB31327C09C5B0012118D /* ConsoleViewerSDL.h */, + B3BCB31427C09C5B0012118D /* MoviePlay.h */, + B3BCB31527C09C5B0012118D /* LuaControl.h */, + B3BCB31627C09C5B0012118D /* ConsoleUtilities.cpp */, + B3BCB31727C09C5B0012118D /* TraceLogger.h */, + B3BCB31827C09C5B0012118D /* ConsoleViewerGL.h */, + B3BCB31927C09C5B0012118D /* .qmake.stash */, + B3BCB31A27C09C5B0012118D /* fceuWrapper.h */, + B3BCB31B27C09C5B0012118D /* AviRecord.h */, + B3BCB31C27C09C5B0012118D /* AviRecord.cpp */, + B3BCB31D27C09C5B0012118D /* sdl-throttle.cpp */, + B3BCB31E27C09C5B0012118D /* GamePadConf.cpp */, + B3BCB31F27C09C5B0012118D /* PaletteEditor.cpp */, + B3BCB32027C09C5B0012118D /* fceuWrapper.cpp */, + B3BCB32127C09C5B0012118D /* config.cpp */, + B3BCB32227C09C5B0012118D /* HexEditor.cpp */, + B3BCB32327C09C5B0012118D /* MovieRecord.cpp */, + B3BCB32427C09C5B0012118D /* RamWatch.cpp */, + B3BCB32527C09C5B0012118D /* ConsoleDebugger.h */, + B3BCB32627C09C5B0012118D /* ConsoleWindow.h */, + B3BCB32727C09C5B0012118D /* ColorMenu.cpp */, + B3BCB32827C09C5B0012118D /* SymbolicDebug.h */, + B3BCB32927C09C5B0012118D /* RamSearch.h */, + B3BCB32A27C09C5B0012118D /* InputConf.h */, + B3BCB32B27C09C5B0012118D /* GuiConf.h */, + B3BCB32C27C09C5B0012118D /* MoviePlay.cpp */, + B3BCB32D27C09C5B0012118D /* AboutWindow.h */, + B3BCB32E27C09C5B0012118D /* GameGenie.h */, + B3BCB32F27C09C5B0012118D /* sdl-joystick.cpp */, + B3BCB33027C09C5B0012118D /* MovieOptions.h */, + B3BCB33127C09C5B0012118D /* sdl-video.cpp */, + B3BCB33227C09C5B0012118D /* keyscan.cpp */, + B3BCB33327C09C5B0012118D /* HotKeyConf.h */, + B3BCB33427C09C5B0012118D /* MovieRecord.h */, + B3BCB33527C09C5B0012118D /* sdl-video.h */, + B3BCB33627C09C5B0012118D /* PaletteEditor.h */, + B3BCB33727C09C5B0012118D /* ppuViewer.h */, + B3BCB33827C09C5B0012118D /* sdl-joystick.h */, + B3BCB33927C09C5B0012118D /* SplashScreen.cpp */, + B3BCB33A27C09C5B0012118D /* iNesHeaderEditor.cpp */, + B3BCB33B27C09C5B0012118D /* LuaControl.cpp */, + B3BCB33C27C09C5B0012118D /* iNesHeaderEditor.h */, + B3BCB33D27C09C5B0012118D /* sdl.h */, + B3BCB33E27C09C5B0012118D /* CheatsConf.h */, + B3BCB33F27C09C5B0012118D /* ConsoleVideoConf.h */, + B3BCB34027C09C5B0012118D /* ConsoleSoundConf.h */, + B3BCB34127C09C5B0012118D /* main.cpp */, + B3BCB34227C09C5B0012118D /* GamePadConf.h */, + B3BCB34327C09C5B0012118D /* NameTableViewer.cpp */, + B3BCB34427C09C5B0012118D /* throttle.h */, + B3BCB34527C09C5B0012118D /* CodeDataLogger.cpp */, + B3BCB34627C09C5B0012118D /* CodeDataLogger.h */, + B3BCB34727C09C5B0012118D /* TasEditor */, + B3BCB36D27C09C5B0012118D /* AviRiffViewer.cpp */, + ); + path = Qt; + sourceTree = ""; + }; + B3BCB2FB27C09C5B0012118D /* avi */ = { + isa = PBXGroup; + children = ( + B3BCB2FC27C09C5B0012118D /* avi-utils.cpp */, + B3BCB2FD27C09C5B0012118D /* fileio.cpp */, + B3BCB2FE27C09C5B0012118D /* gwavi.h */, + B3BCB2FF27C09C5B0012118D /* gwavi.cpp */, + ); + path = avi; + sourceTree = ""; + }; + B3BCB34727C09C5B0012118D /* TasEditor */ = { + isa = PBXGroup; + children = ( + B3BCB34827C09C5B0012118D /* branches.cpp */, + B3BCB34927C09C5B0012118D /* playback.h */, + B3BCB34A27C09C5B0012118D /* inputlog.h */, + B3BCB34B27C09C5B0012118D /* bookmarks.cpp */, + B3BCB34C27C09C5B0012118D /* TasEditorWindow.cpp */, + B3BCB34D27C09C5B0012118D /* greenzone.cpp */, + B3BCB34E27C09C5B0012118D /* bookmark.cpp */, + B3BCB34F27C09C5B0012118D /* taseditor_lua.h */, + B3BCB35027C09C5B0012118D /* taseditor_project.h */, + B3BCB35127C09C5B0012118D /* playback.cpp */, + B3BCB35227C09C5B0012118D /* history.cpp */, + B3BCB35327C09C5B0012118D /* TasColors.h */, + B3BCB35427C09C5B0012118D /* markers_manager.h */, + B3BCB35527C09C5B0012118D /* splicer.h */, + B3BCB35627C09C5B0012118D /* splicer.cpp */, + B3BCB35727C09C5B0012118D /* recorder.h */, + B3BCB35827C09C5B0012118D /* taseditor_project.cpp */, + B3BCB35927C09C5B0012118D /* greenzone.h */, + B3BCB35A27C09C5B0012118D /* snapshot.cpp */, + B3BCB35B27C09C5B0012118D /* laglog.cpp */, + B3BCB35C27C09C5B0012118D /* history.h */, + B3BCB35D27C09C5B0012118D /* markers_manager.cpp */, + B3BCB35E27C09C5B0012118D /* TasEditorWindow.h */, + B3BCB35F27C09C5B0012118D /* markers.h */, + B3BCB36027C09C5B0012118D /* inputlog.cpp */, + B3BCB36127C09C5B0012118D /* bookmarks.h */, + B3BCB36227C09C5B0012118D /* taseditor_config.h */, + B3BCB36327C09C5B0012118D /* laglog.h */, + B3BCB36427C09C5B0012118D /* branches.h */, + B3BCB36527C09C5B0012118D /* snapshot.h */, + B3BCB36627C09C5B0012118D /* taseditor_lua.cpp */, + B3BCB36727C09C5B0012118D /* markers.cpp */, + B3BCB36827C09C5B0012118D /* selection.h */, + B3BCB36927C09C5B0012118D /* selection.cpp */, + B3BCB36A27C09C5B0012118D /* taseditor_config.cpp */, + B3BCB36B27C09C5B0012118D /* bookmark.h */, + B3BCB36C27C09C5B0012118D /* recorder.cpp */, + ); + path = TasEditor; + sourceTree = ""; + }; + B3BCB36E27C09C5B0012118D /* common */ = { + isa = PBXGroup; + children = ( + B3BCB38527C09C5B0012118D /* nes_ntsc.c */, + B3BCB37527C09C5B0012118D /* args.cpp */, + B3BCB38627C09C5B0012118D /* cheat.cpp */, + B3BCB38127C09C5B0012118D /* config.cpp */, + B3BCB36F27C09C5B0012118D /* configSys.cpp */, + B3BCB38027C09C5B0012118D /* hq2x.cpp */, + B3BCB38227C09C5B0012118D /* hq3x.cpp */, + B3BCB38827C09C5B0012118D /* os_utils.cpp */, + B3BCB37027C09C5B0012118D /* scale2x.cpp */, + B3BCB37827C09C5B0012118D /* scale3x.cpp */, + B3BCB37427C09C5B0012118D /* scalebit.cpp */, + B3BCB37C27C09C5B0012118D /* vidblit.cpp */, + B3BCB37F27C09C5B0012118D /* args.h */, + B3BCB37227C09C5B0012118D /* cheat.h */, + B3BCB37627C09C5B0012118D /* config.h */, + B3BCB37327C09C5B0012118D /* configSys.h */, + B3BCB37727C09C5B0012118D /* hq2x.h */, + B3BCB37127C09C5B0012118D /* hq3x.h */, + B3BCB37927C09C5B0012118D /* nes_ntsc_config.h */, + B3BCB37D27C09C5B0012118D /* nes_ntsc_impl.h */, + B3BCB37B27C09C5B0012118D /* nes_ntsc.h */, + B3BCB38727C09C5B0012118D /* os_utils.h */, + B3BCB37E27C09C5B0012118D /* scale2x.h */, + B3BCB38427C09C5B0012118D /* scale3x.h */, + B3BCB38327C09C5B0012118D /* scalebit.h */, + B3BCB37A27C09C5B0012118D /* vidblit.h */, + ); + path = common; + sourceTree = ""; + }; + B3BCB38927C09C5B0012118D /* sdl */ = { + isa = PBXGroup; + children = ( + B3BCB38A27C09C5B0012118D /* glxwin.cpp */, + B3BCB38B27C09C5B0012118D /* main.h */, + B3BCB38C27C09C5B0012118D /* cheat.h */, + B3BCB38D27C09C5B0012118D /* keyscan.h */, + B3BCB38E27C09C5B0012118D /* fceux_git_info.h */, + B3BCB38F27C09C5B0012118D /* sdl-sound.cpp */, + B3BCB39027C09C5B0012118D /* input.h */, + B3BCB39127C09C5B0012118D /* input.cpp */, + B3BCB39227C09C5B0012118D /* ramwatch.h */, + B3BCB39327C09C5B0012118D /* unix-netplay.h */, + B3BCB39427C09C5B0012118D /* dface.h */, + B3BCB39527C09C5B0012118D /* unix-netplay.cpp */, + B3BCB39627C09C5B0012118D /* config.h */, + B3BCB39727C09C5B0012118D /* glxwin.h */, + B3BCB39827C09C5B0012118D /* sdl.cpp */, + B3BCB39927C09C5B0012118D /* gui.h */, + B3BCB39A27C09C5B0012118D /* sdl-throttle.cpp */, + B3BCB39B27C09C5B0012118D /* GamePadConf.cpp */, + B3BCB39C27C09C5B0012118D /* memview.cpp */, + B3BCB39D27C09C5B0012118D /* gui.cpp */, + B3BCB39E27C09C5B0012118D /* memview.h */, + B3BCB39F27C09C5B0012118D /* config.cpp */, + B3BCB3A027C09C5B0012118D /* ramwatch.cpp */, + B3BCB3A127C09C5B0012118D /* icon.xpm */, + B3BCB3A227C09C5B0012118D /* sdl-icon.h */, + B3BCB3A327C09C5B0012118D /* debugger.cpp */, + B3BCB3A427C09C5B0012118D /* sdl-netplay.cpp */, + B3BCB3A527C09C5B0012118D /* sdl-joystick.cpp */, + B3BCB3A627C09C5B0012118D /* debugger.h */, + B3BCB3A727C09C5B0012118D /* sdl-video.cpp */, + B3BCB3A827C09C5B0012118D /* sdl-video.h */, + B3BCB3A927C09C5B0012118D /* cheat.cpp */, + B3BCB3AA27C09C5B0012118D /* sdl-joystick.h */, + B3BCB3AB27C09C5B0012118D /* sdl.h */, + B3BCB3AC27C09C5B0012118D /* GamePadConf.h */, + B3BCB3AD27C09C5B0012118D /* throttle.h */, + ); + path = sdl; + sourceTree = ""; + }; + B3BCB3B027C09C5B0012118D /* input */ = { + isa = PBXGroup; + children = ( + B3BCB3C227C09C5B0012118D /* arkanoid.cpp */, + B3BCB3C527C09C5B0012118D /* bworld.cpp */, + B3BCB3C427C09C5B0012118D /* cursor.cpp */, + B3BCB3B927C09C5B0012118D /* fkb.cpp */, + B3BCB3C627C09C5B0012118D /* fns.cpp */, + B3BCB3B627C09C5B0012118D /* ftrainer.cpp */, + B3BCB3B327C09C5B0012118D /* hypershot.cpp */, + B3BCB3C727C09C5B0012118D /* lcdcompzapper.cpp */, + B3BCB3C027C09C5B0012118D /* mahjong.cpp */, + B3BCB3B827C09C5B0012118D /* mouse.cpp */, + B3BCB3B727C09C5B0012118D /* oekakids.cpp */, + B3BCB3C127C09C5B0012118D /* pec586kb.cpp */, + B3BCB3BA27C09C5B0012118D /* powerpad.cpp */, + B3BCB3B427C09C5B0012118D /* quiz.cpp */, + B3BCB3B127C09C5B0012118D /* shadow.cpp */, + B3BCB3B227C09C5B0012118D /* snesmouse.cpp */, + B3BCB3BF27C09C5B0012118D /* suborkb.cpp */, + B3BCB3BD27C09C5B0012118D /* toprider.cpp */, + B3BCB3B527C09C5B0012118D /* virtualboy.cpp */, + B3BCB3BB27C09C5B0012118D /* zapper.cpp */, + B3BCB3BC27C09C5B0012118D /* fkb.h */, + B3BCB3BE27C09C5B0012118D /* share.h */, + B3BCB3C827C09C5B0012118D /* suborkb.h */, + B3BCB3C327C09C5B0012118D /* zapper.h */, + ); + path = input; + sourceTree = ""; + }; + B3BCB3D527C09C5B0012118D /* utils */ = { + isa = PBXGroup; + children = ( + B3BCB3D927C09C5B0012118D /* ConvertUTF.c */, + B3BCB3DB27C09C5B0012118D /* backward.cpp */, + B3BCB3E127C09C5B0012118D /* crc32.cpp */, + B3BCB3E027C09C5B0012118D /* endian.cpp */, + B3BCB3D627C09C5B0012118D /* general.cpp */, + B3BCB3E827C09C5B0012118D /* guid.cpp */, + B3BCB3DA27C09C5B0012118D /* ioapi.cpp */, + B3BCB3D827C09C5B0012118D /* md5.cpp */, + B3BCB3D727C09C5B0012118D /* memory.cpp */, + B3BCB3E227C09C5B0012118D /* unzip.cpp */, + B3BCB3E727C09C5B0012118D /* xstring.cpp */, + B3BCB3E527C09C5B0012118D /* ConvertUTF.h */, + B3BCB3EA27C09C5B0012118D /* crc32.h */, + B3BCB3DD27C09C5B0012118D /* endian.h */, + B3BCB3DE27C09C5B0012118D /* general.h */, + B3BCB3E327C09C5B0012118D /* guid.h */, + B3BCB3E927C09C5B0012118D /* ioapi.h */, + B3BCB3DF27C09C5B0012118D /* md5.h */, + B3BCB3E627C09C5B0012118D /* memory.h */, + B3BCB3E427C09C5B0012118D /* unzip.h */, + B3BCB3DC27C09C5B0012118D /* valuearray.h */, + B3BCB3EB27C09C5B0012118D /* xstring.h */, + B3BCB3EC27C09C5B0012118D /* backward.hpp */, + ); + path = utils; + sourceTree = ""; + }; + B3BCB3F227C09C5B0012118D /* lua */ = { + isa = PBXGroup; + children = ( + B3BCB3F327C09C5B0012118D /* lua.vcproj */, + B3BCB3F427C09C5B0012118D /* README */, + B3BCB3F527C09C5B0012118D /* HISTORY */, + B3BCB3F627C09C5B0012118D /* COPYRIGHT */, + B3BCB3F727C09C5B0012118D /* src */, + ); + path = lua; + sourceTree = ""; + }; + B3BCB3F727C09C5B0012118D /* src */ = { + isa = PBXGroup; + children = ( + B3BCB3F827C09C5B0012118D /* lauxlib.c */, + B3BCB3F927C09C5B0012118D /* lmem.h */, + B3BCB3FA27C09C5B0012118D /* llimits.h */, + B3BCB3FB27C09C5B0012118D /* luaconf.h */, + B3BCB3FC27C09C5B0012118D /* lzio.h */, + B3BCB3FD27C09C5B0012118D /* lgc.h */, + B3BCB3FE27C09C5B0012118D /* liolib.c */, + B3BCB3FF27C09C5B0012118D /* lopcodes.c */, + B3BCB40027C09C5B0012118D /* lstate.c */, + B3BCB40127C09C5B0012118D /* lobject.c */, + B3BCB40227C09C5B0012118D /* lualib.h */, + B3BCB40327C09C5B0012118D /* print.c */, + B3BCB40427C09C5B0012118D /* lmathlib.c */, + B3BCB40527C09C5B0012118D /* loadlib.c */, + B3BCB40627C09C5B0012118D /* lvm.c */, + B3BCB40727C09C5B0012118D /* lfunc.c */, + B3BCB40827C09C5B0012118D /* lstrlib.c */, + B3BCB40927C09C5B0012118D /* Makefile */, + B3BCB40A27C09C5B0012118D /* lua.c */, + B3BCB40B27C09C5B0012118D /* ldebug.h */, + B3BCB40C27C09C5B0012118D /* linit.c */, + B3BCB40D27C09C5B0012118D /* lcode.h */, + B3BCB40E27C09C5B0012118D /* lapi.h */, + B3BCB40F27C09C5B0012118D /* lstring.c */, + B3BCB41027C09C5B0012118D /* ldo.h */, + B3BCB41127C09C5B0012118D /* lundump.c */, + B3BCB41227C09C5B0012118D /* llex.h */, + B3BCB41327C09C5B0012118D /* luac.c */, + B3BCB41427C09C5B0012118D /* ltm.h */, + B3BCB41527C09C5B0012118D /* ltable.c */, + B3BCB41627C09C5B0012118D /* lparser.h */, + B3BCB41727C09C5B0012118D /* ldump.c */, + B3BCB41827C09C5B0012118D /* lobject.h */, + B3BCB41927C09C5B0012118D /* lstate.h */, + B3BCB41A27C09C5B0012118D /* lopcodes.h */, + B3BCB41B27C09C5B0012118D /* loslib.c */, + B3BCB41C27C09C5B0012118D /* lgc.c */, + B3BCB41D27C09C5B0012118D /* lzio.c */, + B3BCB41E27C09C5B0012118D /* ldblib.c */, + B3BCB41F27C09C5B0012118D /* lmem.c */, + B3BCB42027C09C5B0012118D /* lauxlib.h */, + B3BCB42127C09C5B0012118D /* lvm.h */, + B3BCB42227C09C5B0012118D /* lstring.h */, + B3BCB42327C09C5B0012118D /* lcode.c */, + B3BCB42427C09C5B0012118D /* ltablib.c */, + B3BCB42527C09C5B0012118D /* lapi.c */, + B3BCB42627C09C5B0012118D /* lbaselib.c */, + B3BCB42727C09C5B0012118D /* lua.h */, + B3BCB42827C09C5B0012118D /* ldebug.c */, + B3BCB42927C09C5B0012118D /* lfunc.h */, + B3BCB42A27C09C5B0012118D /* lparser.c */, + B3BCB42B27C09C5B0012118D /* llex.c */, + B3BCB42C27C09C5B0012118D /* ltable.h */, + B3BCB42D27C09C5B0012118D /* ltm.c */, + B3BCB42E27C09C5B0012118D /* ldo.c */, + B3BCB42F27C09C5B0012118D /* lundump.h */, + ); + path = src; + sourceTree = ""; + }; + B3BCB43B27C09C5B0012118D /* attic */ = { + isa = PBXGroup; + children = ( + B3BCB47227C09C5B0012118D /* fceustr.cpp */, + B3BCB47127C09C5B0012118D /* soundexp.cpp */, + B3BCB45F27C09C5B0012118D /* fceustr.h */, + B3BCB47327C09C5B0012118D /* old fceultra docs.zip */, + B3BCB43C27C09C5B0012118D /* pc */, + B3BCB46027C09C5B0012118D /* sexyal */, + ); + path = attic; + sourceTree = ""; + }; + B3BCB43C27C09C5B0012118D /* pc */ = { + isa = PBXGroup; + children = ( + B3BCB43D27C09C5B0012118D /* dos-video.h */, + B3BCB43E27C09C5B0012118D /* main.h */, + B3BCB43F27C09C5B0012118D /* sdl-netplay.h */, + B3BCB44027C09C5B0012118D /* keyscan.h */, + B3BCB44127C09C5B0012118D /* input.h */, + B3BCB44227C09C5B0012118D /* dos-joystick.h */, + B3BCB44327C09C5B0012118D /* unix-netplay.h */, + B3BCB44427C09C5B0012118D /* dface.h */, + B3BCB44527C09C5B0012118D /* dos-sound.c */, + B3BCB44627C09C5B0012118D /* sdl-video.c */, + B3BCB44727C09C5B0012118D /* dos-keyboard.c */, + B3BCB44827C09C5B0012118D /* sdl-joystick.c */, + B3BCB44927C09C5B0012118D /* dos.c */, + B3BCB44A27C09C5B0012118D /* throttle.c */, + B3BCB44B27C09C5B0012118D /* sdl-opengl.c */, + B3BCB44C27C09C5B0012118D /* sdl.c */, + B3BCB44D27C09C5B0012118D /* input.c */, + B3BCB44E27C09C5B0012118D /* main.c */, + B3BCB44F27C09C5B0012118D /* dos-video.c */, + B3BCB45027C09C5B0012118D /* sdl-netplay.c */, + B3BCB45127C09C5B0012118D /* dos-sound.h */, + B3BCB45227C09C5B0012118D /* unix-netplay.c */, + B3BCB45327C09C5B0012118D /* sdl-icon.h */, + B3BCB45427C09C5B0012118D /* dos-mouse.c */, + B3BCB45527C09C5B0012118D /* dos-joystick.c */, + B3BCB45627C09C5B0012118D /* vgatweak.c */, + B3BCB45727C09C5B0012118D /* sdl-video.h */, + B3BCB45827C09C5B0012118D /* sdl-sound.c */, + B3BCB45927C09C5B0012118D /* sdl.h */, + B3BCB45A27C09C5B0012118D /* sdl-opengl.h */, + B3BCB45B27C09C5B0012118D /* dos.h */, + B3BCB45C27C09C5B0012118D /* throttle.h */, + B3BCB45D27C09C5B0012118D /* usage.h */, + B3BCB45E27C09C5B0012118D /* sdl-throttle.c */, + ); + path = pc; + sourceTree = ""; + }; + B3BCB46027C09C5B0012118D /* sexyal */ = { + isa = PBXGroup; + children = ( + B3BCB46127C09C5B0012118D /* drivers */, + B3BCB46627C09C5B0012118D /* convertgen.c */, + B3BCB46727C09C5B0012118D /* smallc.h */, + B3BCB46827C09C5B0012118D /* convertgen */, + B3BCB46927C09C5B0012118D /* convert.c */, + B3BCB46A27C09C5B0012118D /* md5.h */, + B3BCB46B27C09C5B0012118D /* sexyal.c */, + B3BCB46C27C09C5B0012118D /* convert.inc */, + B3BCB46D27C09C5B0012118D /* md5.c */, + B3BCB46E27C09C5B0012118D /* convert.h */, + B3BCB46F27C09C5B0012118D /* smallc.c */, + B3BCB47027C09C5B0012118D /* sexyal.h */, + ); + path = sexyal; + sourceTree = ""; + }; + B3BCB46127C09C5B0012118D /* drivers */ = { + isa = PBXGroup; + children = ( + B3BCB46227C09C5B0012118D /* oss.h */, + B3BCB46327C09C5B0012118D /* osxcoreaudio.c */, + B3BCB46427C09C5B0012118D /* dsound.c */, + B3BCB46527C09C5B0012118D /* oss.c */, + ); + path = drivers; + sourceTree = ""; + }; + B3BCB47B27C09C5B0012118D /* boards */ = { + isa = PBXGroup; + children = ( + B3BCB52727C09C5B0012118D /* emu2413.c */, + B3BCB49727C09C5B0012118D /* __dummy_mapper.cpp */, + B3BCB4A527C09C5B0012118D /* 01-222.cpp */, + B3BCB4B827C09C5B0012118D /* 3d-block.cpp */, + B3BCB4BF27C09C5B0012118D /* 8in1.cpp */, + B3BCB4F527C09C5B0012118D /* 09-034a.cpp */, + B3BCB51C27C09C5B0012118D /* 12in1.cpp */, + B3BCB4E727C09C5B0012118D /* 15.cpp */, + B3BCB4D127C09C5B0012118D /* 18.cpp */, + B3BCB4EF27C09C5B0012118D /* 28.cpp */, + B3BCB4D527C09C5B0012118D /* 32.cpp */, + B3BCB4DA27C09C5B0012118D /* 33.cpp */, + B3BCB4BC27C09C5B0012118D /* 34.cpp */, + B3BCB4B727C09C5B0012118D /* 36.cpp */, + B3BCB47D27C09C5B0012118D /* 40.cpp */, + B3BCB48127C09C5B0012118D /* 41.cpp */, + B3BCB49827C09C5B0012118D /* 42.cpp */, + B3BCB49227C09C5B0012118D /* 43.cpp */, + B3BCB49B27C09C5B0012118D /* 46.cpp */, + B3BCB4B027C09C5B0012118D /* 50.cpp */, + B3BCB4A727C09C5B0012118D /* 51.cpp */, + B3BCB49027C09C5B0012118D /* 57.cpp */, + B3BCB50527C09C5B0012118D /* 62.cpp */, + B3BCB52327C09C5B0012118D /* 65.cpp */, + B3BCB51327C09C5B0012118D /* 67.cpp */, + B3BCB47C27C09C5B0012118D /* 68.cpp */, + B3BCB48227C09C5B0012118D /* 69.cpp */, + B3BCB52227C09C5B0012118D /* 71.cpp */, + B3BCB51927C09C5B0012118D /* 72.cpp */, + B3BCB50B27C09C5B0012118D /* 77.cpp */, + B3BCB4A927C09C5B0012118D /* 79.cpp */, + B3BCB48D27C09C5B0012118D /* 80.cpp */, + B3BCB48627C09C5B0012118D /* 82.cpp */, + B3BCB50E27C09C5B0012118D /* 88.cpp */, + B3BCB4A227C09C5B0012118D /* 90.cpp */, + B3BCB49A27C09C5B0012118D /* 91.cpp */, + B3BCB48527C09C5B0012118D /* 96.cpp */, + B3BCB51A27C09C5B0012118D /* 99.cpp */, + B3BCB4DC27C09C5B0012118D /* 103.cpp */, + B3BCB4F727C09C5B0012118D /* 106.cpp */, + B3BCB4C327C09C5B0012118D /* 108.cpp */, + B3BCB4F827C09C5B0012118D /* 112.cpp */, + B3BCB4E527C09C5B0012118D /* 116.cpp */, + B3BCB4DD27C09C5B0012118D /* 117.cpp */, + B3BCB4C427C09C5B0012118D /* 120.cpp */, + B3BCB4BA27C09C5B0012118D /* 121.cpp */, + B3BCB4B127C09C5B0012118D /* 151.cpp */, + B3BCB48C27C09C5B0012118D /* 156.cpp */, + B3BCB52027C09C5B0012118D /* 158B.cpp */, + B3BCB52527C09C5B0012118D /* 164.cpp */, + B3BCB48427C09C5B0012118D /* 168.cpp */, + B3BCB52427C09C5B0012118D /* 170.cpp */, + B3BCB50227C09C5B0012118D /* 175.cpp */, + B3BCB50F27C09C5B0012118D /* 176.cpp */, + B3BCB50427C09C5B0012118D /* 177.cpp */, + B3BCB4A627C09C5B0012118D /* 178.cpp */, + B3BCB48327C09C5B0012118D /* 183.cpp */, + B3BCB4A127C09C5B0012118D /* 185.cpp */, + B3BCB4AF27C09C5B0012118D /* 186.cpp */, + B3BCB4A827C09C5B0012118D /* 187.cpp */, + B3BCB50C27C09C5B0012118D /* 189.cpp */, + B3BCB49C27C09C5B0012118D /* 190.cpp */, + B3BCB4AA27C09C5B0012118D /* 193.cpp */, + B3BCB51427C09C5B0012118D /* 199.cpp */, + B3BCB51F27C09C5B0012118D /* 206.cpp */, + B3BCB49527C09C5B0012118D /* 208.cpp */, + B3BCB48027C09C5B0012118D /* 222.cpp */, + B3BCB49D27C09C5B0012118D /* 225.cpp */, + B3BCB50A27C09C5B0012118D /* 228.cpp */, + B3BCB49F27C09C5B0012118D /* 230.cpp */, + B3BCB4AD27C09C5B0012118D /* 232.cpp */, + B3BCB49427C09C5B0012118D /* 234.cpp */, + B3BCB49627C09C5B0012118D /* 235.cpp */, + B3BCB4D827C09C5B0012118D /* 244.cpp */, + B3BCB4CD27C09C5B0012118D /* 246.cpp */, + B3BCB4CE27C09C5B0012118D /* 252.cpp */, + B3BCB4CF27C09C5B0012118D /* 253.cpp */, + B3BCB51627C09C5B0012118D /* 603-5052.cpp */, + B3BCB48827C09C5B0012118D /* 8157.cpp */, + B3BCB49327C09C5B0012118D /* 8237.cpp */, + B3BCB4B627C09C5B0012118D /* 80013-B.cpp */, + B3BCB4E027C09C5B0012118D /* 411120-c.cpp */, + B3BCB51727C09C5B0012118D /* 830118C.cpp */, + B3BCB4CC27C09C5B0012118D /* a9746.cpp */, + B3BCB4AB27C09C5B0012118D /* ac-08.cpp */, + B3BCB4EC27C09C5B0012118D /* addrlatch.cpp */, + B3BCB4E327C09C5B0012118D /* ax5705.cpp */, + B3BCB4BD27C09C5B0012118D /* bandai.cpp */, + B3BCB49127C09C5B0012118D /* bb.cpp */, + B3BCB47E27C09C5B0012118D /* bmc13in1jy110.cpp */, + B3BCB4F627C09C5B0012118D /* bmc42in1r.cpp */, + B3BCB4FD27C09C5B0012118D /* bmc64in1nr.cpp */, + B3BCB4C727C09C5B0012118D /* bmc70in1.cpp */, + B3BCB4C927C09C5B0012118D /* BMW8544.cpp */, + B3BCB4CB27C09C5B0012118D /* bonza.cpp */, + B3BCB4C627C09C5B0012118D /* bs-5.cpp */, + B3BCB50127C09C5B0012118D /* bs4xxxr.cpp */, + B3BCB4C127C09C5B0012118D /* cheapocabra.cpp */, + B3BCB4E127C09C5B0012118D /* cityfighter.cpp */, + B3BCB4AE27C09C5B0012118D /* coolboy.cpp */, + B3BCB51827C09C5B0012118D /* dance2000.cpp */, + B3BCB4AC27C09C5B0012118D /* datalatch.cpp */, + B3BCB4F027C09C5B0012118D /* dream.cpp */, + B3BCB4C027C09C5B0012118D /* edu2000.cpp */, + B3BCB50727C09C5B0012118D /* eh8813a.cpp */, + B3BCB4F427C09C5B0012118D /* et-100.cpp */, + B3BCB4BB27C09C5B0012118D /* et-4320.cpp */, + B3BCB51227C09C5B0012118D /* F-15.cpp */, + B3BCB50027C09C5B0012118D /* famicombox.cpp */, + B3BCB4D227C09C5B0012118D /* ffe.cpp */, + B3BCB51D27C09C5B0012118D /* fk23c.cpp */, + B3BCB51B27C09C5B0012118D /* fns.cpp */, + B3BCB4B427C09C5B0012118D /* ghostbusters63in1.cpp */, + B3BCB4BE27C09C5B0012118D /* gs-2004.cpp */, + B3BCB4B527C09C5B0012118D /* gs-2013.cpp */, + B3BCB49E27C09C5B0012118D /* h2288.cpp */, + B3BCB51027C09C5B0012118D /* hp10xx_hp20xx.cpp */, + B3BCB50327C09C5B0012118D /* hp898f.cpp */, + B3BCB4E927C09C5B0012118D /* inlnsf.cpp */, + B3BCB4C227C09C5B0012118D /* karaoke.cpp */, + B3BCB4E827C09C5B0012118D /* kof97.cpp */, + B3BCB4F127C09C5B0012118D /* ks7010.cpp */, + B3BCB4FE27C09C5B0012118D /* ks7012.cpp */, + B3BCB4F927C09C5B0012118D /* ks7013.cpp */, + B3BCB4DF27C09C5B0012118D /* ks7016.cpp */, + B3BCB4E427C09C5B0012118D /* ks7017.cpp */, + B3BCB4D027C09C5B0012118D /* ks7030.cpp */, + B3BCB4C827C09C5B0012118D /* ks7031.cpp */, + B3BCB4D627C09C5B0012118D /* ks7032.cpp */, + B3BCB4B327C09C5B0012118D /* ks7037.cpp */, + B3BCB48E27C09C5B0012118D /* ks7057.cpp */, + B3BCB4D927C09C5B0012118D /* le05.cpp */, + B3BCB48727C09C5B0012118D /* lh32.cpp */, + B3BCB4B927C09C5B0012118D /* lh53.cpp */, + B3BCB4DB27C09C5B0012118D /* malee.cpp */, + B3BCB4EA27C09C5B0012118D /* mihunche.cpp */, + B3BCB4EB27C09C5B0012118D /* mmc1.cpp */, + B3BCB4D427C09C5B0012118D /* mmc2and4.cpp */, + B3BCB4E227C09C5B0012118D /* mmc3.cpp */, + B3BCB4F327C09C5B0012118D /* mmc5.cpp */, + B3BCB50927C09C5B0012118D /* n106.cpp */, + B3BCB47F27C09C5B0012118D /* n625092.cpp */, + B3BCB4D327C09C5B0012118D /* novel.cpp */, + B3BCB4FB27C09C5B0012118D /* onebus.cpp */, + B3BCB48927C09C5B0012118D /* pec-586.cpp */, + B3BCB52627C09C5B0012118D /* rt-01.cpp */, + B3BCB4A027C09C5B0012118D /* sa-9602b.cpp */, + B3BCB4D727C09C5B0012118D /* sachen.cpp */, + B3BCB50627C09C5B0012118D /* sb-2000.cpp */, + B3BCB4FA27C09C5B0012118D /* sc-127.cpp */, + B3BCB4ED27C09C5B0012118D /* sheroes.cpp */, + B3BCB48F27C09C5B0012118D /* sl1632.cpp */, + B3BCB4C527C09C5B0012118D /* subor.cpp */, + B3BCB4F227C09C5B0012118D /* super24.cpp */, + B3BCB4E627C09C5B0012118D /* supervision.cpp */, + B3BCB51527C09C5B0012118D /* t-227-1.cpp */, + B3BCB51E27C09C5B0012118D /* t-262.cpp */, + B3BCB52127C09C5B0012118D /* tengen.cpp */, + B3BCB50827C09C5B0012118D /* tf-1201.cpp */, + B3BCB4FC27C09C5B0012118D /* transformer.cpp */, + B3BCB4DE27C09C5B0012118D /* unrom512.cpp */, + B3BCB48A27C09C5B0012118D /* vrc1.cpp */, + B3BCB4B227C09C5B0012118D /* vrc2and4.cpp */, + B3BCB48B27C09C5B0012118D /* vrc3.cpp */, + B3BCB4A427C09C5B0012118D /* vrc5.cpp */, + B3BCB49927C09C5B0012118D /* vrc6.cpp */, + B3BCB4A327C09C5B0012118D /* vrc7.cpp */, + B3BCB51127C09C5B0012118D /* vrc7p.cpp */, + B3BCB4FF27C09C5B0012118D /* yoko.cpp */, + B3BCB4CA27C09C5B0012118D /* emu2413.h */, + B3BCB4EE27C09C5B0012118D /* mapinc.h */, + B3BCB50D27C09C5B0012118D /* mmc3.h */, + ); + path = boards; + sourceTree = ""; + }; + B3BCB53D27C09C5B0012118D /* palettes */ = { + isa = PBXGroup; + children = ( + B3BCB53E27C09C5B0012118D /* rp2c05004.h */, + B3BCB53F27C09C5B0012118D /* palettes.h */, + B3BCB54027C09C5B0012118D /* rp2c04003.h */, + B3BCB54127C09C5B0012118D /* conv.c */, + B3BCB54227C09C5B0012118D /* rp2c04002.h */, + B3BCB54327C09C5B0012118D /* rp2c04001.h */, + ); + path = palettes; + sourceTree = ""; + }; + BED8BFE51D6ED32400742D04 /* drivers */ = { + isa = PBXGroup; + children = ( + BED8BFE61D6ED32900742D04 /* common */, + ); + name = drivers; + sourceTree = ""; + }; + BED8BFE61D6ED32900742D04 /* common */ = { + isa = PBXGroup; + children = ( + BED8BFF91D6ED36300742D04 /* nes_ntsc.c */, + BED8BFEB1D6ED36300742D04 /* args.cpp */, + BED8BFED1D6ED36300742D04 /* cheat.cpp */, + BED8BFEF1D6ED36300742D04 /* config.cpp */, + BED8BFF11D6ED36300742D04 /* configSys.cpp */, + BED8BFF31D6ED36300742D04 /* hq2x.cpp */, + BED8BFF51D6ED36300742D04 /* hq3x.cpp */, + BED8BFFB1D6ED36300742D04 /* scale2x.cpp */, + BED8BFFD1D6ED36300742D04 /* scale3x.cpp */, + BED8BFFF1D6ED36300742D04 /* scalebit.cpp */, + BED8C0021D6ED36300742D04 /* vidblit.cpp */, + BED8BFEC1D6ED36300742D04 /* args.h */, + BED8BFEE1D6ED36300742D04 /* cheat.h */, + BED8BFF01D6ED36300742D04 /* config.h */, + BED8BFF21D6ED36300742D04 /* configSys.h */, + BED8BFF41D6ED36300742D04 /* hq2x.h */, + BED8BFF61D6ED36300742D04 /* hq3x.h */, + BED8BFF71D6ED36300742D04 /* nes_ntsc_config.h */, + BED8BFF81D6ED36300742D04 /* nes_ntsc_impl.h */, + BED8BFFA1D6ED36300742D04 /* nes_ntsc.h */, + BED8BFFC1D6ED36300742D04 /* scale2x.h */, + BED8BFFE1D6ED36300742D04 /* scale3x.h */, + BED8C0001D6ED36300742D04 /* scalebit.h */, + BED8BFE71D6ED33500742D04 /* vidblit.cpp */, + BED8BFE81D6ED33500742D04 /* vidblit.h */, + ); + name = common; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + B3A9F4331DE877B4008450F5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B30614EC218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.h in Headers */, + B30C098827C0ADD1009F25D0 /* ppu.h in Headers */, + B3A9F43A1DE877B4008450F5 /* PVFCEU.h in Headers */, + B3A9F6311DE883FC008450F5 /* PVFCEUEmulatorCore.h in Headers */, + B30614F7218D60CB0041AD4F /* PVFCEU+Swift.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3A9F4411DE877E4008450F5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; files = ( - B3C9D4201DEA0CE50068D057 /* ppu.h in Headers */, + B30C098927C0ADD1009F25D0 /* ppu.h in Headers */, B30614F8218D60CB0041AD4F /* PVFCEU+Swift.h in Headers */, B3A9F45A1DE8785A008450F5 /* PVFCEU.h in Headers */, B3A9F6301DE883F1008450F5 /* PVFCEUEmulatorCore.h in Headers */, @@ -1380,6 +4200,57 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + B3341F4F27C1B18C00E001C6 /* fceux-netplay-server-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3341F5927C1B18C00E001C6 /* Build configuration list for PBXNativeTarget "fceux-netplay-server-iOS" */; + buildPhases = ( + B3341F4C27C1B18C00E001C6 /* Sources */, + B3341F4D27C1B18C00E001C6 /* Frameworks */, + B3341F4E27C1B18C00E001C6 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-netplay-server-iOS"; + productName = "fceux-netplay-server"; + productReference = B3341F5027C1B18C00E001C6 /* libfceux-netplay-server-iOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3341F7027C1B23A00E001C6 /* fceux-netplay-server-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3341F7927C1B23A00E001C6 /* Build configuration list for PBXNativeTarget "fceux-netplay-server-tvOS" */; + buildPhases = ( + B3341F7127C1B23A00E001C6 /* Sources */, + B3341F7627C1B23A00E001C6 /* Frameworks */, + B3341F7727C1B23A00E001C6 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-netplay-server-tvOS"; + productName = "fceux-netplay-server"; + productReference = B3341F7D27C1B23A00E001C6 /* libfceux-netplay-server-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3341F8A27C1B39100E001C6 /* fceux-server */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3341F8F27C1B39200E001C6 /* Build configuration list for PBXNativeTarget "fceux-server" */; + buildPhases = ( + B3341F8727C1B39100E001C6 /* Sources */, + B3341F8827C1B39100E001C6 /* Frameworks */, + B3341F8927C1B39100E001C6 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-server"; + productName = "fceux-server"; + productReference = B3341F8B27C1B39100E001C6 /* fceux-server */; + productType = "com.apple.product-type.tool"; + }; B3A9F4351DE877B4008450F5 /* PVFCEU-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = B3A9F43B1DE877B4008450F5 /* Build configuration list for PBXNativeTarget "PVFCEU-iOS" */; @@ -1392,6 +4263,8 @@ buildRules = ( ); dependencies = ( + B3AAF66A27C0A95C001CAE1F /* PBXTargetDependency */, + B3341F8027C1B2CF00E001C6 /* PBXTargetDependency */, ); name = "PVFCEU-iOS"; productName = PVNES; @@ -1410,48 +4283,134 @@ buildRules = ( ); dependencies = ( + B3BCB54627C09C820012118D /* PBXTargetDependency */, + B3341F8327C1B2D400E001C6 /* PBXTargetDependency */, ); name = "PVFCEU-tvOS"; productName = "PVNES tvOS"; productReference = B3A9F4441DE877E4008450F5 /* PVFCEU.framework */; productType = "com.apple.product-type.framework"; }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 1A3A74E01ABF11AC002274A3 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - CLASSPREFIX = PV; - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = "Provenance Emu"; - TargetAttributes = { - B3A9F4351DE877B4008450F5 = { - CreatedOnToolsVersion = 8.1; - LastSwiftMigration = 1020; - }; - B3A9F4431DE877E4008450F5 = { - CreatedOnToolsVersion = 8.1; - LastSwiftMigration = 0920; - }; - }; - }; - buildConfigurationList = 1A3A74E31ABF11AC002274A3 /* Build configuration list for PBXProject "PVFCEU" */; - compatibilityVersion = "Xcode 12.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, + B3BCA6E727C098710012118D /* fceux-2.2.3-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3BCA6EE27C098720012118D /* Build configuration list for PBXNativeTarget "fceux-2.2.3-iOS" */; + buildPhases = ( + B3BCA6E427C098710012118D /* Sources */, + B3BCA6E527C098710012118D /* Frameworks */, + B3BCA6E627C098710012118D /* CopyFiles */, ); - mainGroup = 1A3A74DF1ABF11AC002274A3; + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-2.2.3-iOS"; + productName = "fceux-2.2.3"; + productReference = B3BCA6E827C098710012118D /* libfceux-2.2.3-iOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3BCA7D727C099700012118D /* fceux-2.2.3-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3BCA8C227C099700012118D /* Build configuration list for PBXNativeTarget "fceux-2.2.3-tvOS" */; + buildPhases = ( + B3BCA7D827C099700012118D /* Sources */, + B3BCA8BF27C099700012118D /* Frameworks */, + B3BCA8C027C099700012118D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-2.2.3-tvOS"; + productName = "fceux-2.2.3"; + productReference = B3BCA8C627C099700012118D /* libfceux-2.2.3-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3BCA8CD27C09C230012118D /* fceux-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3BCA9B827C09C230012118D /* Build configuration list for PBXNativeTarget "fceux-iOS" */; + buildPhases = ( + B3BCA8CE27C09C230012118D /* Sources */, + B3BCA9B527C09C230012118D /* Frameworks */, + B3BCA9B627C09C230012118D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-iOS"; + productName = "fceux-2.2.3"; + productReference = B3BCA9BC27C09C230012118D /* libfceux-iOS.a */; + productType = "com.apple.product-type.library.static"; + }; + B3BCA9BD27C09C2D0012118D /* fceux-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3BCAAA827C09C2D0012118D /* Build configuration list for PBXNativeTarget "fceux-tvOS" */; + buildPhases = ( + B3BCA9BE27C09C2D0012118D /* Sources */, + B3BCAAA527C09C2D0012118D /* Frameworks */, + B3BCAAA627C09C2D0012118D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "fceux-tvOS"; + productName = "fceux-2.2.3"; + productReference = B3BCAAAC27C09C2D0012118D /* libfceux-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 1A3A74E01ABF11AC002274A3 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + CLASSPREFIX = PV; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = "Provenance Emu"; + TargetAttributes = { + B3341F4F27C1B18C00E001C6 = { + CreatedOnToolsVersion = 13.2.1; + }; + B3341F8A27C1B39100E001C6 = { + CreatedOnToolsVersion = 13.2.1; + }; + B3A9F4351DE877B4008450F5 = { + CreatedOnToolsVersion = 8.1; + LastSwiftMigration = 1020; + }; + B3A9F4431DE877E4008450F5 = { + CreatedOnToolsVersion = 8.1; + LastSwiftMigration = 0920; + }; + B3BCA6E727C098710012118D = { + CreatedOnToolsVersion = 13.2.1; + }; + }; + }; + buildConfigurationList = 1A3A74E31ABF11AC002274A3 /* Build configuration list for PBXProject "PVFCEU" */; + compatibilityVersion = "Xcode 12.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 1A3A74DF1ABF11AC002274A3; productRefGroup = 1A3A74E91ABF11AC002274A3 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( B3A9F4351DE877B4008450F5 /* PVFCEU-iOS */, B3A9F4431DE877E4008450F5 /* PVFCEU-tvOS */, + B3BCA6E727C098710012118D /* fceux-2.2.3-iOS */, + B3BCA7D727C099700012118D /* fceux-2.2.3-tvOS */, + B3BCA8CD27C09C230012118D /* fceux-iOS */, + B3BCA9BD27C09C2D0012118D /* fceux-tvOS */, + B3341F4F27C1B18C00E001C6 /* fceux-netplay-server-iOS */, + B3341F7027C1B23A00E001C6 /* fceux-netplay-server-tvOS */, + B3341F8A27C1B39100E001C6 /* fceux-server */, ); }; /* End PBXProject section */ @@ -1461,6 +4420,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B3341F8527C1B34100E001C6 /* fceux-server.conf in Resources */, B3547B4B205857B900CFF7D8 /* Core.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1469,6 +4429,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B3341F8627C1B34100E001C6 /* fceux-server.conf in Resources */, B3547B4C205857B900CFF7D8 /* Core.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1476,242 +4437,46 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + B3341F4C27C1B18C00E001C6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3341F6E27C1B1E600E001C6 /* server.cpp in Sources */, + B3341F6D27C1B1E600E001C6 /* md5.cpp in Sources */, + B3341F5427C1B18C00E001C6 /* fceux_netplay_server.m in Sources */, + B3341F6F27C1B1E600E001C6 /* throttle.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3341F7127C1B23A00E001C6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3341F7227C1B23A00E001C6 /* server.cpp in Sources */, + B3341F7327C1B23A00E001C6 /* md5.cpp in Sources */, + B3341F7427C1B23A00E001C6 /* fceux_netplay_server.m in Sources */, + B3341F7527C1B23A00E001C6 /* throttle.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3341F8727C1B39100E001C6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3341F9427C1B39A00E001C6 /* server.cpp in Sources */, + B3341F8E27C1B39200E001C6 /* main.m in Sources */, + B3341F9527C1B39A00E001C6 /* md5.cpp in Sources */, + B3341F9327C1B39A00E001C6 /* throttle.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; B3A9F4311DE877B4008450F5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B3A9F45E1DE87E09008450F5 /* addrlatch.cpp in Sources */, - B3A9F45F1DE87E09008450F5 /* 253.cpp in Sources */, - B3A9F4601DE87E09008450F5 /* 603-5052.cpp in Sources */, - B3A9F4611DE87E09008450F5 /* 246.cpp in Sources */, - B3A9F4621DE87E09008450F5 /* ks7031.cpp in Sources */, - B3A9F4631DE87E09008450F5 /* 67.cpp in Sources */, - B3A9F4641DE87E09008450F5 /* 71.cpp in Sources */, - B3A9F4651DE87E09008450F5 /* vrc3.cpp in Sources */, - B3A9F4661DE87E09008450F5 /* onebus.cpp in Sources */, - B3A9F4671DE87E09008450F5 /* 33.cpp in Sources */, - B3A9F4681DE87E09008450F5 /* 120.cpp in Sources */, - B3A9F4691DE87E09008450F5 /* sheroes.cpp in Sources */, - B3A9F46A1DE87E09008450F5 /* ghostbusters63in1.cpp in Sources */, - B3A9F46B1DE87E09008450F5 /* novel.cpp in Sources */, - B3A9F46C1DE87E09008450F5 /* vrc6.cpp in Sources */, - B3A9F46D1DE87E09008450F5 /* tf-1201.cpp in Sources */, - B3A9F46E1DE87E09008450F5 /* memory.cpp in Sources */, - B3A9F46F1DE87E09008450F5 /* 103.cpp in Sources */, - B3A9F4701DE87E09008450F5 /* 170.cpp in Sources */, - B3A9F4711DE87E09008450F5 /* 28.cpp in Sources */, - B3A9F4721DE87E09008450F5 /* famicombox.cpp in Sources */, - B3A9F4731DE87E09008450F5 /* ks7016.cpp in Sources */, - B3A9F4741DE87E09008450F5 /* 40.cpp in Sources */, - B3A9F4751DE87E09008450F5 /* drawing.cpp in Sources */, - B3A9F4761DE87E09008450F5 /* unzip.cpp in Sources */, - B3A9F4771DE87E09008450F5 /* vrc1.cpp in Sources */, - B3A9F4781DE87E09008450F5 /* cheat.cpp in Sources */, - B3A9F4791DE87E09008450F5 /* 206.cpp in Sources */, - B3A9F47A1DE87E09008450F5 /* 185.cpp in Sources */, - B3A9F47B1DE87E09008450F5 /* bonza.cpp in Sources */, - B3A9F47C1DE87E09008450F5 /* ks7017.cpp in Sources */, - B3A9F47D1DE87E09008450F5 /* 41.cpp in Sources */, - B3A9F47E1DE87E09008450F5 /* a9746.cpp in Sources */, - B3A9F47F1DE87E09008450F5 /* ac-08.cpp in Sources */, - B3A9F4801DE87E09008450F5 /* 80.cpp in Sources */, - B3A9F4811DE87E09008450F5 /* t-262.cpp in Sources */, - B3A9F4821DE87E09008450F5 /* 252.cpp in Sources */, B39E8CB320539B2500380DCD /* PVFCEUEmulatorCore.swift in Sources */, - B3A9F4831DE87E09008450F5 /* oldmovie.cpp in Sources */, - B3A9F4841DE87E09008450F5 /* coolboy.cpp in Sources */, - B3A9F4851DE87E09008450F5 /* eh8813a.cpp in Sources */, - B3A9F4861DE87E09008450F5 /* 228.cpp in Sources */, - B3A9F4871DE87E09008450F5 /* cityfighter.cpp in Sources */, - B3A9F4881DE87E09008450F5 /* 232.cpp in Sources */, - B3A9F4891DE87E09008450F5 /* sl1632.cpp in Sources */, - B3A9F48A1DE87E09008450F5 /* filter.cpp in Sources */, - B3A9F48B1DE87E09008450F5 /* args.cpp in Sources */, - B3A9F48C1DE87E09008450F5 /* scale2x.cpp in Sources */, - B3A9F48D1DE87E09008450F5 /* 121.cpp in Sources */, - B3A9F48E1DE87E09008450F5 /* 234.cpp in Sources */, - B3A9F48F1DE87E09008450F5 /* 164.cpp in Sources */, - B3A9F4901DE87E09008450F5 /* fceu.cpp in Sources */, - B3A9F4911DE87E09008450F5 /* sound.cpp in Sources */, - B3A9F4921DE87E09008450F5 /* guid.cpp in Sources */, B3A9F4931DE87E09008450F5 /* PVFCEUEmulatorCore.mm in Sources */, - B3A9F4941DE87E09008450F5 /* 186.cpp in Sources */, - B3A9F4951DE87E09008450F5 /* video.cpp in Sources */, - B3A9F4961DE87E09008450F5 /* scale3x.cpp in Sources */, B30614ED218D5F8D0041AD4F /* PVFCEUEmulatorCore+Controls.mm in Sources */, - B3A9F4971DE87E09008450F5 /* super24.cpp in Sources */, - B3A9F4981DE87E09008450F5 /* hypershot.cpp in Sources */, - B3A9F4991DE87E09008450F5 /* cheat.cpp in Sources */, - B3A9F49A1DE87E09008450F5 /* ioapi.cpp in Sources */, - B3A9F49B1DE87E09008450F5 /* backward.cpp in Sources */, - B3A9F49C1DE87E09008450F5 /* 43.cpp in Sources */, - B3A9F49D1DE87E09008450F5 /* kof97.cpp in Sources */, - B3A9F49E1DE87E09008450F5 /* 88.cpp in Sources */, - B3A9F49F1DE87E09008450F5 /* pec-586.cpp in Sources */, - B3A9F4A01DE87E09008450F5 /* cursor.cpp in Sources */, - B3A9F4A11DE87E09008450F5 /* 65.cpp in Sources */, - B3A9F4A21DE87E09008450F5 /* 68.cpp in Sources */, - B3A9F4A31DE87E09008450F5 /* 99.cpp in Sources */, - B3A9F4A41DE87E09008450F5 /* 01-222.cpp in Sources */, - B3A9F4A51DE87E09008450F5 /* shadow.cpp in Sources */, - B3A9F4A61DE87E09008450F5 /* config.cpp in Sources */, - B3A9F4A71DE87E09008450F5 /* 830118C.cpp in Sources */, - B3A9F4A81DE87E09008450F5 /* vsuni.cpp in Sources */, - B3A9F4A91DE87E09008450F5 /* 112.cpp in Sources */, - B3A9F4AA1DE87E09008450F5 /* 222.cpp in Sources */, - B3A9F4AB1DE87E09008450F5 /* h2288.cpp in Sources */, - B3A9F4AD1DE87E09008450F5 /* mmc3.cpp in Sources */, - B3A9F4AE1DE87E09008450F5 /* 156.cpp in Sources */, - B3A9F4AF1DE87E09008450F5 /* endian.cpp in Sources */, - B3A9F4B01DE87E09008450F5 /* ines.cpp in Sources */, - B3A9F4B11DE87E09008450F5 /* 90.cpp in Sources */, - B3A9F4B21DE87E09008450F5 /* 244.cpp in Sources */, - B3A9F4B31DE87E09008450F5 /* hq2x.cpp in Sources */, - B3A9F4B41DE87E09008450F5 /* 175.cpp in Sources */, - B3A9F4B51DE87E09008450F5 /* bmc42in1r.cpp in Sources */, - B3A9F4B61DE87E09008450F5 /* 193.cpp in Sources */, - B3A9F4B71DE87E09008450F5 /* movie.cpp in Sources */, - B3A9F4B81DE87E09008450F5 /* 51.cpp in Sources */, - B3A9F4B91DE87E09008450F5 /* unif.cpp in Sources */, - B3A9F4BA1DE87E09008450F5 /* gs-2013.cpp in Sources */, - B3A9F4BB1DE87E09008450F5 /* md5.cpp in Sources */, - B3A9F4BC1DE87E09008450F5 /* arkanoid.cpp in Sources */, - B3A9F4BD1DE87E09008450F5 /* 79.cpp in Sources */, - B3A9F4BE1DE87E09008450F5 /* scalebit.cpp in Sources */, - B3A9F4BF1DE87E09008450F5 /* mihunche.cpp in Sources */, - B3A9F4C01DE87E09008450F5 /* t-227-1.cpp in Sources */, - B3A9F4C11DE87E09008450F5 /* ks7057.cpp in Sources */, - B3A9F4C21DE87E09008450F5 /* wave.cpp in Sources */, - B3A9F4C31DE87E09008450F5 /* vidblit.cpp in Sources */, - B3A9F4C41DE87E09008450F5 /* 8157.cpp in Sources */, - B3A9F4C51DE87E09008450F5 /* 96.cpp in Sources */, - B3A9F4C61DE87E09008450F5 /* toprider.cpp in Sources */, - B3A9F4C71DE87E09008450F5 /* le05.cpp in Sources */, - B3A9F4C81DE87E09008450F5 /* 32.cpp in Sources */, - B3A9F4C91DE87E09008450F5 /* 225.cpp in Sources */, - B3A9F4CA1DE87E09008450F5 /* quiz.cpp in Sources */, - B3A9F4CB1DE87E09008450F5 /* sb-2000.cpp in Sources */, - B3A9F4CC1DE87E09008450F5 /* file.cpp in Sources */, - B3A9F4CD1DE87E09008450F5 /* karaoke.cpp in Sources */, - B3A9F4CE1DE87E09008450F5 /* 8237.cpp in Sources */, - B3A9F4CF1DE87E09008450F5 /* 116.cpp in Sources */, - B3A9F4D01DE87E09008450F5 /* emufile.cpp in Sources */, - B3A9F4D11DE87E09008450F5 /* 411120-c.cpp in Sources */, - B3A9F4D21DE87E09008450F5 /* rt-01.cpp in Sources */, - B3A9F4D31DE87E09008450F5 /* 183.cpp in Sources */, - B3A9F4D41DE87E09008450F5 /* 82.cpp in Sources */, - B3A9F4D51DE87E09008450F5 /* dream.cpp in Sources */, - B3A9F4D61DE87E09008450F5 /* fds.cpp in Sources */, - B3A9F4D71DE87E09008450F5 /* unrom512.cpp in Sources */, - B3A9F4D81DE87E09008450F5 /* mmc5.cpp in Sources */, - B3A9F4D91DE87E09008450F5 /* 117.cpp in Sources */, - B3A9F4DA1DE87E09008450F5 /* ks7030.cpp in Sources */, - B3A9F4DB1DE87E09008450F5 /* malee.cpp in Sources */, - B3A9F4DC1DE87E09008450F5 /* 50.cpp in Sources */, - B3A9F4DD1DE87E09008450F5 /* 15.cpp in Sources */, - B3A9F4DE1DE87E09008450F5 /* ftrainer.cpp in Sources */, - B3A9F4DF1DE87E09008450F5 /* ks7037.cpp in Sources */, - B3A9F4E11DE87E09008450F5 /* 106.cpp in Sources */, - B3A9F4E21DE87E09008450F5 /* 18.cpp in Sources */, - B3A9F4E31DE87E09008450F5 /* cart.cpp in Sources */, - B3A9F4E41DE87E09008450F5 /* yoko.cpp in Sources */, - B3A9F4E51DE87E09008450F5 /* config.cpp in Sources */, - B3A9F4E61DE87E09008450F5 /* 230.cpp in Sources */, - B3A9F4E71DE87E09008450F5 /* et-4320.cpp in Sources */, - B3A9F4E81DE87E09008450F5 /* powerpad.cpp in Sources */, - B3A9F4E91DE87E09008450F5 /* 3d-block.cpp in Sources */, - B3A9F4EA1DE87E09008450F5 /* 12in1.cpp in Sources */, - B3A9F4EB1DE87E09008450F5 /* emu2413.c in Sources */, - B3A9F4EC1DE87E09008450F5 /* gs-2004.cpp in Sources */, - B3A9F4ED1DE87E09008450F5 /* bmc70in1.cpp in Sources */, - B3A9F4EE1DE87E09008450F5 /* transformer.cpp in Sources */, - B3A9F4EF1DE87E09008450F5 /* pec586kb.cpp in Sources */, - B3A9F4F01DE87E09008450F5 /* 42.cpp in Sources */, - B3A9F4F11DE87E09008450F5 /* fkb.cpp in Sources */, - B3A9F4F21DE87E09008450F5 /* nsf.cpp in Sources */, - B3A9F4F31DE87E09008450F5 /* asm.cpp in Sources */, - B3A9F4F41DE87E09008450F5 /* 235.cpp in Sources */, - B3A9F4F51DE87E09008450F5 /* configSys.cpp in Sources */, - B3A9F4F61DE87E09008450F5 /* sachen.cpp in Sources */, - B3A9F4F71DE87E09008450F5 /* x6502.cpp in Sources */, - B3A9F4F81DE87E09008450F5 /* ax5705.cpp in Sources */, - B3A9F4F91DE87E09008450F5 /* oekakids.cpp in Sources */, - B3A9F4FA1DE87E09008450F5 /* vrc2and4.cpp in Sources */, - B3A9F4FB1DE87E09008450F5 /* 34.cpp in Sources */, - B3A9F4FC1DE87E09008450F5 /* et-100.cpp in Sources */, - B3A9F4FD1DE87E09008450F5 /* mmc1.cpp in Sources */, - B3A9F4FE1DE87E09008450F5 /* conddebug.cpp in Sources */, - B3C9D41C1DEA0C090068D057 /* debug.cpp in Sources */, - B3A9F4FF1DE87E09008450F5 /* 108.cpp in Sources */, - B3A9F5001DE87E09008450F5 /* 208.cpp in Sources */, - B3A9F5011DE87E09008450F5 /* state.cpp in Sources */, - B3A9F5021DE87E09008450F5 /* 187.cpp in Sources */, - B3A9F5031DE87E09008450F5 /* sc-127.cpp in Sources */, - B3A9F5041DE87E09008450F5 /* tengen.cpp in Sources */, - B3A9F5051DE87E09008450F5 /* 178.cpp in Sources */, - B3A9F5061DE87E09008450F5 /* mmc2and4.cpp in Sources */, - B3A9F5071DE87E09008450F5 /* bmc13in1jy110.cpp in Sources */, - B3A9F5081DE87E09008450F5 /* palette.cpp in Sources */, - B3A9F5091DE87E09008450F5 /* zapper.cpp in Sources */, - B3A9F50A1DE87E09008450F5 /* 62.cpp in Sources */, - B3A9F50B1DE87E09008450F5 /* 151.cpp in Sources */, - B3A9F50C1DE87E09008450F5 /* ks7032.cpp in Sources */, - B3A9F50D1DE87E09008450F5 /* suborkb.cpp in Sources */, - B3A9F50E1DE87E09008450F5 /* lh53.cpp in Sources */, - B3A9F50F1DE87E09008450F5 /* 199.cpp in Sources */, - B3A9F5101DE87E09008450F5 /* supervision.cpp in Sources */, - B3A9F5111DE87E09008450F5 /* hp898f.cpp in Sources */, - B3A9F5121DE87E09008450F5 /* 09-034a.cpp in Sources */, - B3A9F5131DE87E09008450F5 /* snesmouse.cpp in Sources */, - B3C9D41F1DEA0CE20068D057 /* ppu.cpp in Sources */, - B3A9F5141DE87E09008450F5 /* bs-5.cpp in Sources */, - B3A9F5151DE87E09008450F5 /* ks7010.cpp in Sources */, - B3A9F5161DE87E09008450F5 /* __dummy_mapper.cpp in Sources */, - B3A9F5171DE87E09008450F5 /* bworld.cpp in Sources */, - B3A9F5181DE87E09008450F5 /* vrc5.cpp in Sources */, - B3A9F5191DE87E09008450F5 /* 36.cpp in Sources */, - B3A9F51A1DE87E09008450F5 /* inlnsf.cpp in Sources */, - B3A9F51B1DE87E09008450F5 /* 168.cpp in Sources */, - B3A9F51C1DE87E09008450F5 /* 77.cpp in Sources */, - B3A9F51D1DE87E09008450F5 /* F-15.cpp in Sources */, - B3A9F51E1DE87E09008450F5 /* bandai.cpp in Sources */, - B3A9F51F1DE87E09008450F5 /* edu2000.cpp in Sources */, - B3A9F5201DE87E09008450F5 /* 158B.cpp in Sources */, - B3A9F5211DE87E09008450F5 /* vrc7.cpp in Sources */, - B3A9F5221DE87E09008450F5 /* ffe.cpp in Sources */, - B3A9F5231DE87E09008450F5 /* n625092.cpp in Sources */, - B3A9F5241DE87E09008450F5 /* sa-9602b.cpp in Sources */, - B3A9F5251DE87E09008450F5 /* 91.cpp in Sources */, - B3A9F5261DE87E09008450F5 /* hq3x.cpp in Sources */, - B3A9F5271DE87E09008450F5 /* ConvertUTF.c in Sources */, - B3A9F5281DE87E09008450F5 /* n106.cpp in Sources */, - B3A9F5291DE87E09008450F5 /* BMW8544.cpp in Sources */, - B3A9F52A1DE87E09008450F5 /* 57.cpp in Sources */, - B3A9F52B1DE87E09008450F5 /* 69.cpp in Sources */, - B3A9F52C1DE87E09008450F5 /* datalatch.cpp in Sources */, - B3A9F52D1DE87E09008450F5 /* 176.cpp in Sources */, - B3A9F52E1DE87E09008450F5 /* 189.cpp in Sources */, - B3A9F52F1DE87E09008450F5 /* lh32.cpp in Sources */, - B3A9F5301DE87E09008450F5 /* input.cpp in Sources */, - B3A9F5311DE87E09008450F5 /* ks7013.cpp in Sources */, - B3A9F5321DE87E09008450F5 /* mahjong.cpp in Sources */, - B3A9F5331DE87E09008450F5 /* 177.cpp in Sources */, - B3A9F5341DE87E09008450F5 /* 46.cpp in Sources */, - B3A9F5361DE87E09008450F5 /* fk23c.cpp in Sources */, - B3A9F5371DE87E09008450F5 /* xstring.cpp in Sources */, - B3A9F5381DE87E09008450F5 /* vrc7p.cpp in Sources */, - B3A9F5391DE87E09008450F5 /* general.cpp in Sources */, - B3A9F53A1DE87E09008450F5 /* netplay.cpp in Sources */, - B3A9F53B1DE87E09008450F5 /* nes_ntsc.c in Sources */, - B3A9F53C1DE87E09008450F5 /* dance2000.cpp in Sources */, - B3A9F53D1DE87E09008450F5 /* subor.cpp in Sources */, - B3A9F53E1DE87E09008450F5 /* bb.cpp in Sources */, - B3A9F53F1DE87E09008450F5 /* 72.cpp in Sources */, - B3A9F5401DE87E09008450F5 /* 8in1.cpp in Sources */, - B3A9F5411DE87E09008450F5 /* crc32.cpp in Sources */, - B3A9F5421DE87E09008450F5 /* ks7012.cpp in Sources */, - B3A9F5431DE87E09008450F5 /* bmc64in1nr.cpp in Sources */, - B3A9F5441DE87E09008450F5 /* mouse.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1719,246 +4484,1005 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B3A9F5451DE87E09008450F5 /* addrlatch.cpp in Sources */, - B3A9F5461DE87E09008450F5 /* 253.cpp in Sources */, - B3A9F5471DE87E09008450F5 /* 603-5052.cpp in Sources */, - B3A9F5481DE87E09008450F5 /* 246.cpp in Sources */, - B3A9F5491DE87E09008450F5 /* ks7031.cpp in Sources */, - B3A9F54A1DE87E09008450F5 /* 67.cpp in Sources */, - B3A9F54B1DE87E09008450F5 /* 71.cpp in Sources */, - B3A9F54C1DE87E09008450F5 /* vrc3.cpp in Sources */, - B3A9F54D1DE87E09008450F5 /* onebus.cpp in Sources */, - B3A9F54E1DE87E09008450F5 /* 33.cpp in Sources */, - B3A9F54F1DE87E09008450F5 /* 120.cpp in Sources */, - B3A9F5501DE87E09008450F5 /* sheroes.cpp in Sources */, - B3A9F5511DE87E09008450F5 /* ghostbusters63in1.cpp in Sources */, - B3A9F5521DE87E09008450F5 /* novel.cpp in Sources */, - B3A9F5531DE87E09008450F5 /* vrc6.cpp in Sources */, - B3A9F5541DE87E09008450F5 /* tf-1201.cpp in Sources */, - B3A9F5551DE87E09008450F5 /* memory.cpp in Sources */, - B3A9F5561DE87E09008450F5 /* 103.cpp in Sources */, - B3A9F5571DE87E09008450F5 /* 170.cpp in Sources */, - B3A9F5581DE87E09008450F5 /* 28.cpp in Sources */, - B3A9F5591DE87E09008450F5 /* famicombox.cpp in Sources */, - B3A9F55A1DE87E09008450F5 /* ks7016.cpp in Sources */, - B3A9F55B1DE87E09008450F5 /* 40.cpp in Sources */, - B3A9F55C1DE87E09008450F5 /* drawing.cpp in Sources */, - B3A9F55D1DE87E09008450F5 /* unzip.cpp in Sources */, - B3A9F55E1DE87E09008450F5 /* vrc1.cpp in Sources */, - B3A9F55F1DE87E09008450F5 /* cheat.cpp in Sources */, - B3A9F5601DE87E09008450F5 /* 206.cpp in Sources */, - B3A9F5611DE87E09008450F5 /* 185.cpp in Sources */, - B3A9F5621DE87E09008450F5 /* bonza.cpp in Sources */, - B3A9F5631DE87E09008450F5 /* ks7017.cpp in Sources */, - B3A9F5641DE87E09008450F5 /* 41.cpp in Sources */, - B3A9F5651DE87E09008450F5 /* a9746.cpp in Sources */, - B3A9F5661DE87E09008450F5 /* ac-08.cpp in Sources */, - B3A9F5671DE87E09008450F5 /* 80.cpp in Sources */, - B3A9F5681DE87E09008450F5 /* t-262.cpp in Sources */, - B3A9F5691DE87E09008450F5 /* 252.cpp in Sources */, B39E8CB420539B2500380DCD /* PVFCEUEmulatorCore.swift in Sources */, - B3A9F56A1DE87E09008450F5 /* oldmovie.cpp in Sources */, - B3A9F56B1DE87E09008450F5 /* coolboy.cpp in Sources */, - B3A9F56C1DE87E09008450F5 /* eh8813a.cpp in Sources */, - B3A9F56D1DE87E09008450F5 /* 228.cpp in Sources */, - B3A9F56E1DE87E09008450F5 /* cityfighter.cpp in Sources */, - B3A9F56F1DE87E09008450F5 /* 232.cpp in Sources */, - B3A9F5701DE87E09008450F5 /* sl1632.cpp in Sources */, - B3A9F5711DE87E09008450F5 /* filter.cpp in Sources */, - B3A9F5721DE87E09008450F5 /* args.cpp in Sources */, - B3A9F5731DE87E09008450F5 /* scale2x.cpp in Sources */, - B3A9F5741DE87E09008450F5 /* 121.cpp in Sources */, - B3A9F5751DE87E09008450F5 /* 234.cpp in Sources */, - B3A9F5761DE87E09008450F5 /* 164.cpp in Sources */, - B3A9F5771DE87E09008450F5 /* fceu.cpp in Sources */, - B3A9F5781DE87E09008450F5 /* sound.cpp in Sources */, - B3A9F5791DE87E09008450F5 /* guid.cpp in Sources */, B3A9F57A1DE87E09008450F5 /* PVFCEUEmulatorCore.mm in Sources */, - B3A9F57B1DE87E09008450F5 /* 186.cpp in Sources */, - B3A9F57C1DE87E09008450F5 /* video.cpp in Sources */, - B3A9F57D1DE87E09008450F5 /* scale3x.cpp in Sources */, - B3A9F57E1DE87E09008450F5 /* super24.cpp in Sources */, - B3A9F57F1DE87E09008450F5 /* hypershot.cpp in Sources */, - B3A9F5801DE87E09008450F5 /* cheat.cpp in Sources */, - B3A9F5811DE87E09008450F5 /* ioapi.cpp in Sources */, - B3A9F5821DE87E09008450F5 /* backward.cpp in Sources */, - B3A9F5831DE87E09008450F5 /* 43.cpp in Sources */, - B3A9F5841DE87E09008450F5 /* kof97.cpp in Sources */, - B3A9F5851DE87E09008450F5 /* 88.cpp in Sources */, - B3A9F5861DE87E09008450F5 /* pec-586.cpp in Sources */, - B3A9F5871DE87E09008450F5 /* cursor.cpp in Sources */, - B3A9F5881DE87E09008450F5 /* 65.cpp in Sources */, - B3A9F5891DE87E09008450F5 /* 68.cpp in Sources */, - B3A9F58A1DE87E09008450F5 /* 99.cpp in Sources */, - B3A9F58B1DE87E09008450F5 /* 01-222.cpp in Sources */, - B3A9F58C1DE87E09008450F5 /* shadow.cpp in Sources */, - B3A9F58D1DE87E09008450F5 /* config.cpp in Sources */, - B3A9F58E1DE87E09008450F5 /* 830118C.cpp in Sources */, - B3A9F58F1DE87E09008450F5 /* vsuni.cpp in Sources */, - B3A9F5901DE87E09008450F5 /* 112.cpp in Sources */, - B3A9F5911DE87E09008450F5 /* 222.cpp in Sources */, - B3A9F5921DE87E09008450F5 /* h2288.cpp in Sources */, - B3A9F5941DE87E09008450F5 /* mmc3.cpp in Sources */, - B3A9F5951DE87E09008450F5 /* 156.cpp in Sources */, - B3A9F5961DE87E09008450F5 /* endian.cpp in Sources */, - B3A9F5971DE87E09008450F5 /* ines.cpp in Sources */, - B3A9F5981DE87E09008450F5 /* 90.cpp in Sources */, - B3A9F5991DE87E09008450F5 /* 244.cpp in Sources */, - B3A9F59A1DE87E09008450F5 /* hq2x.cpp in Sources */, - B3A9F59B1DE87E09008450F5 /* 175.cpp in Sources */, - B3A9F59C1DE87E09008450F5 /* bmc42in1r.cpp in Sources */, - B3A9F59D1DE87E09008450F5 /* 193.cpp in Sources */, - B3A9F59E1DE87E09008450F5 /* movie.cpp in Sources */, - B3A9F59F1DE87E09008450F5 /* 51.cpp in Sources */, - B3A9F5A01DE87E09008450F5 /* unif.cpp in Sources */, - B3A9F5A11DE87E09008450F5 /* gs-2013.cpp in Sources */, - B3A9F5A21DE87E09008450F5 /* md5.cpp in Sources */, - B3A9F5A31DE87E09008450F5 /* arkanoid.cpp in Sources */, - B3A9F5A41DE87E09008450F5 /* 79.cpp in Sources */, - B3A9F5A51DE87E09008450F5 /* scalebit.cpp in Sources */, - B3A9F5A61DE87E09008450F5 /* mihunche.cpp in Sources */, - B3A9F5A71DE87E09008450F5 /* t-227-1.cpp in Sources */, - B3A9F5A81DE87E09008450F5 /* ks7057.cpp in Sources */, - B3A9F5A91DE87E09008450F5 /* wave.cpp in Sources */, - B3A9F5AA1DE87E09008450F5 /* vidblit.cpp in Sources */, - B3A9F5AB1DE87E09008450F5 /* 8157.cpp in Sources */, - B3A9F5AC1DE87E09008450F5 /* 96.cpp in Sources */, - B3A9F5AD1DE87E09008450F5 /* toprider.cpp in Sources */, - B3A9F5AE1DE87E09008450F5 /* le05.cpp in Sources */, - B3A9F5AF1DE87E09008450F5 /* 32.cpp in Sources */, - B3A9F5B01DE87E09008450F5 /* 225.cpp in Sources */, - B3A9F5B11DE87E09008450F5 /* quiz.cpp in Sources */, - B3A9F5B21DE87E09008450F5 /* sb-2000.cpp in Sources */, - B3A9F5B31DE87E09008450F5 /* file.cpp in Sources */, - B3A9F5B41DE87E09008450F5 /* karaoke.cpp in Sources */, - B3A9F5B51DE87E09008450F5 /* 8237.cpp in Sources */, - B3A9F5B61DE87E09008450F5 /* 116.cpp in Sources */, - B3A9F5B71DE87E09008450F5 /* emufile.cpp in Sources */, - B3A9F5B81DE87E09008450F5 /* 411120-c.cpp in Sources */, - B3A9F5B91DE87E09008450F5 /* rt-01.cpp in Sources */, - B3A9F5BA1DE87E09008450F5 /* 183.cpp in Sources */, - B3A9F5BB1DE87E09008450F5 /* 82.cpp in Sources */, - B3A9F5BC1DE87E09008450F5 /* dream.cpp in Sources */, - B3A9F5BD1DE87E09008450F5 /* fds.cpp in Sources */, - B3A9F5BE1DE87E09008450F5 /* unrom512.cpp in Sources */, - B3A9F5BF1DE87E09008450F5 /* mmc5.cpp in Sources */, - B3A9F5C01DE87E09008450F5 /* 117.cpp in Sources */, - B3A9F5C11DE87E09008450F5 /* ks7030.cpp in Sources */, - B3A9F5C21DE87E09008450F5 /* malee.cpp in Sources */, - B3A9F5C31DE87E09008450F5 /* 50.cpp in Sources */, - B3A9F5C41DE87E09008450F5 /* 15.cpp in Sources */, - B3A9F5C51DE87E09008450F5 /* ftrainer.cpp in Sources */, - B3A9F5C61DE87E09008450F5 /* ks7037.cpp in Sources */, - B3A9F5C81DE87E09008450F5 /* 106.cpp in Sources */, - B3A9F5C91DE87E09008450F5 /* 18.cpp in Sources */, - B3A9F5CA1DE87E09008450F5 /* cart.cpp in Sources */, - B3A9F5CB1DE87E09008450F5 /* yoko.cpp in Sources */, - B3A9F5CC1DE87E09008450F5 /* config.cpp in Sources */, - B3A9F5CD1DE87E09008450F5 /* 230.cpp in Sources */, - B3A9F5CE1DE87E09008450F5 /* et-4320.cpp in Sources */, - B3A9F5CF1DE87E09008450F5 /* powerpad.cpp in Sources */, - B3A9F5D01DE87E09008450F5 /* 3d-block.cpp in Sources */, - B3A9F5D11DE87E09008450F5 /* 12in1.cpp in Sources */, - B3A9F5D21DE87E09008450F5 /* emu2413.c in Sources */, - B3A9F5D31DE87E09008450F5 /* gs-2004.cpp in Sources */, - B3A9F5D41DE87E09008450F5 /* bmc70in1.cpp in Sources */, - B3A9F5D51DE87E09008450F5 /* transformer.cpp in Sources */, - B3A9F5D61DE87E09008450F5 /* pec586kb.cpp in Sources */, - B3A9F5D71DE87E09008450F5 /* 42.cpp in Sources */, - B3A9F5D81DE87E09008450F5 /* fkb.cpp in Sources */, - B3A9F5D91DE87E09008450F5 /* nsf.cpp in Sources */, - B3A9F5DA1DE87E09008450F5 /* asm.cpp in Sources */, - B3A9F5DB1DE87E09008450F5 /* 235.cpp in Sources */, - B3A9F5DC1DE87E09008450F5 /* configSys.cpp in Sources */, - B3A9F5DD1DE87E09008450F5 /* sachen.cpp in Sources */, - B3A9F5DE1DE87E09008450F5 /* x6502.cpp in Sources */, - B3A9F5DF1DE87E09008450F5 /* ax5705.cpp in Sources */, - B3A9F5E01DE87E09008450F5 /* oekakids.cpp in Sources */, - B3A9F5E11DE87E09008450F5 /* vrc2and4.cpp in Sources */, - B3A9F5E21DE87E09008450F5 /* 34.cpp in Sources */, - B3A9F5E31DE87E09008450F5 /* et-100.cpp in Sources */, - B3A9F5E41DE87E09008450F5 /* mmc1.cpp in Sources */, - B3A9F5E51DE87E09008450F5 /* conddebug.cpp in Sources */, - B3C9D41D1DEA0C0A0068D057 /* debug.cpp in Sources */, - B3A9F5E61DE87E09008450F5 /* 108.cpp in Sources */, - B3A9F5E71DE87E09008450F5 /* 208.cpp in Sources */, - B3A9F5E81DE87E09008450F5 /* state.cpp in Sources */, - B3A9F5E91DE87E09008450F5 /* 187.cpp in Sources */, - B3A9F5EA1DE87E09008450F5 /* sc-127.cpp in Sources */, - B3A9F5EB1DE87E09008450F5 /* tengen.cpp in Sources */, - B3A9F5EC1DE87E09008450F5 /* 178.cpp in Sources */, - B3A9F5ED1DE87E09008450F5 /* mmc2and4.cpp in Sources */, - B3A9F5EE1DE87E09008450F5 /* bmc13in1jy110.cpp in Sources */, - B3A9F5EF1DE87E09008450F5 /* palette.cpp in Sources */, - B3A9F5F01DE87E09008450F5 /* zapper.cpp in Sources */, - B3A9F5F11DE87E09008450F5 /* 62.cpp in Sources */, - B3A9F5F21DE87E09008450F5 /* 151.cpp in Sources */, - B3A9F5F31DE87E09008450F5 /* ks7032.cpp in Sources */, - B3A9F5F41DE87E09008450F5 /* suborkb.cpp in Sources */, - B3A9F5F51DE87E09008450F5 /* lh53.cpp in Sources */, - B3A9F5F61DE87E09008450F5 /* 199.cpp in Sources */, - B3A9F5F71DE87E09008450F5 /* supervision.cpp in Sources */, - B3A9F5F81DE87E09008450F5 /* hp898f.cpp in Sources */, - B3A9F5F91DE87E09008450F5 /* 09-034a.cpp in Sources */, - B3A9F5FA1DE87E09008450F5 /* snesmouse.cpp in Sources */, - B3C9D41E1DEA0CE20068D057 /* ppu.cpp in Sources */, - B3A9F5FB1DE87E09008450F5 /* bs-5.cpp in Sources */, - B3A9F5FC1DE87E09008450F5 /* ks7010.cpp in Sources */, - B3A9F5FD1DE87E09008450F5 /* __dummy_mapper.cpp in Sources */, - B3A9F5FE1DE87E09008450F5 /* bworld.cpp in Sources */, - B3A9F5FF1DE87E09008450F5 /* vrc5.cpp in Sources */, - B3A9F6001DE87E09008450F5 /* 36.cpp in Sources */, - B3A9F6011DE87E09008450F5 /* inlnsf.cpp in Sources */, - B3A9F6021DE87E09008450F5 /* 168.cpp in Sources */, - B3A9F6031DE87E09008450F5 /* 77.cpp in Sources */, - B3A9F6041DE87E09008450F5 /* F-15.cpp in Sources */, - B3A9F6051DE87E09008450F5 /* bandai.cpp in Sources */, - B3A9F6061DE87E09008450F5 /* edu2000.cpp in Sources */, - B3A9F6071DE87E09008450F5 /* 158B.cpp in Sources */, - B3A9F6081DE87E09008450F5 /* vrc7.cpp in Sources */, - B3A9F6091DE87E09008450F5 /* ffe.cpp in Sources */, - B3A9F60A1DE87E09008450F5 /* n625092.cpp in Sources */, - B3A9F60B1DE87E09008450F5 /* sa-9602b.cpp in Sources */, - B3A9F60C1DE87E09008450F5 /* 91.cpp in Sources */, - B3A9F60D1DE87E09008450F5 /* hq3x.cpp in Sources */, - B3A9F60E1DE87E09008450F5 /* ConvertUTF.c in Sources */, - B3A9F60F1DE87E09008450F5 /* n106.cpp in Sources */, - B3A9F6101DE87E09008450F5 /* BMW8544.cpp in Sources */, - B3A9F6111DE87E09008450F5 /* 57.cpp in Sources */, - B3A9F6121DE87E09008450F5 /* 69.cpp in Sources */, - B3A9F6131DE87E09008450F5 /* datalatch.cpp in Sources */, - B3A9F6141DE87E09008450F5 /* 176.cpp in Sources */, - B3A9F6151DE87E09008450F5 /* 189.cpp in Sources */, - B3A9F6161DE87E09008450F5 /* lh32.cpp in Sources */, - B3A9F6171DE87E09008450F5 /* input.cpp in Sources */, - B3A9F6181DE87E09008450F5 /* ks7013.cpp in Sources */, - B3A9F6191DE87E09008450F5 /* mahjong.cpp in Sources */, - B3A9F61A1DE87E09008450F5 /* 177.cpp in Sources */, - B3A9F61B1DE87E09008450F5 /* 46.cpp in Sources */, B306150C218D6F330041AD4F /* PVFCEUEmulatorCore+Controls.mm in Sources */, - B3A9F61D1DE87E09008450F5 /* fk23c.cpp in Sources */, - B3A9F61E1DE87E09008450F5 /* xstring.cpp in Sources */, - B3A9F61F1DE87E09008450F5 /* vrc7p.cpp in Sources */, - B3A9F6201DE87E09008450F5 /* general.cpp in Sources */, - B3A9F6211DE87E09008450F5 /* netplay.cpp in Sources */, - B3A9F6221DE87E09008450F5 /* nes_ntsc.c in Sources */, - B3A9F6231DE87E09008450F5 /* dance2000.cpp in Sources */, - B3A9F6241DE87E09008450F5 /* subor.cpp in Sources */, - B3A9F6251DE87E09008450F5 /* bb.cpp in Sources */, - B3A9F6261DE87E09008450F5 /* 72.cpp in Sources */, - B3A9F6271DE87E09008450F5 /* 8in1.cpp in Sources */, - B3A9F6281DE87E09008450F5 /* crc32.cpp in Sources */, - B3A9F6291DE87E09008450F5 /* ks7012.cpp in Sources */, - B3A9F62A1DE87E09008450F5 /* bmc64in1nr.cpp in Sources */, - B3A9F62B1DE87E09008450F5 /* mouse.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA6E427C098710012118D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3BCA7B327C098C10012118D /* 72.cpp in Sources */, + B3BCA79027C098C00012118D /* 90.cpp in Sources */, + B3BCA77127C098C00012118D /* 176.cpp in Sources */, + B3BCA73E27C098C00012118D /* 34.cpp in Sources */, + B3BCA73427C098C00012118D /* 183.cpp in Sources */, + B3BCA7C527C098C10012118D /* guid.cpp in Sources */, + B3BCA75227C098C00012118D /* 253.cpp in Sources */, + B3BCA79227C098C00012118D /* dance2000.cpp in Sources */, + B3BCA75727C098C00012118D /* coolboy.cpp in Sources */, + B3BCA73127C098C00012118D /* 18.cpp in Sources */, + B3BCA71727C098C00012118D /* 67.cpp in Sources */, + B3BCA7A327C098C00012118D /* 33.cpp in Sources */, + B3BCA6F827C098C00012118D /* snesmouse.cpp in Sources */, + B3BCA74527C098C00012118D /* nes_ntsc.c in Sources */, + B3BCA75127C098C00012118D /* bworld.cpp in Sources */, + B3BCA6FE27C098C00012118D /* ax5705.cpp in Sources */, + B3BCA70B27C098C00012118D /* mmc1.cpp in Sources */, + B3BCA73027C098C00012118D /* scalebit.cpp in Sources */, + B3BCA78127C098C00012118D /* 178.cpp in Sources */, + B3BCA7C827C098C10012118D /* transformer.cpp in Sources */, + B3BCA75027C098C00012118D /* ffe.cpp in Sources */, + B3BCA7A127C098C00012118D /* movie.cpp in Sources */, + B3BCA73227C098C00012118D /* 228.cpp in Sources */, + B3BCA7BF27C098C10012118D /* famicombox.cpp in Sources */, + B3BCA78E27C098C00012118D /* 830118C.cpp in Sources */, + B3BCA75627C098C00012118D /* ks7030.cpp in Sources */, + B3BCA76827C098C00012118D /* 168.cpp in Sources */, + B3BCA7B727C098C10012118D /* unrom512.cpp in Sources */, + B3BCA73C27C098C00012118D /* oldmovie.cpp in Sources */, + B3BCA7AE27C098C10012118D /* karaoke.cpp in Sources */, + B3BCA75827C098C00012118D /* mahjong.cpp in Sources */, + B3BCA70527C098C00012118D /* mmc5.cpp in Sources */, + B3BCA76227C098C00012118D /* ks7037.cpp in Sources */, + B3BCA75C27C098C00012118D /* 208.cpp in Sources */, + B3BCA72227C098C00012118D /* 82.cpp in Sources */, + B3BCA7AD27C098C10012118D /* vrc6.cpp in Sources */, + B3BCA73727C098C00012118D /* 62.cpp in Sources */, + B3BCA6FB27C098C00012118D /* cheat.cpp in Sources */, + B3BCA6F327C098C00012118D /* md5.cpp in Sources */, + B3BCA74627C098C00012118D /* 09-034a.cpp in Sources */, + B3BCA7B027C098C10012118D /* cart.cpp in Sources */, + B3BCA7AC27C098C00012118D /* sheroes.cpp in Sources */, + B3BCA7AF27C098C10012118D /* 91.cpp in Sources */, + B3BCA79A27C098C00012118D /* 603-5052.cpp in Sources */, + B3BCA71127C098C00012118D /* 151.cpp in Sources */, + B3BCA71627C098C00012118D /* cursor.cpp in Sources */, + B3BCA70627C098C00012118D /* 99.cpp in Sources */, + B3BCA6FA27C098C00012118D /* drawing.cpp in Sources */, + B3BCA7B927C098C10012118D /* hypershot.cpp in Sources */, + B3BCA7C227C098C10012118D /* zapper.cpp in Sources */, + B3BCA7A027C098C00012118D /* ghostbusters63in1.cpp in Sources */, + B3BCA7B827C098C10012118D /* mihunche.cpp in Sources */, + B3BCA6F727C098C00012118D /* sb-2000.cpp in Sources */, + B3BCA74027C098C00012118D /* ks7013.cpp in Sources */, + B3BCA70127C098C00012118D /* cityfighter.cpp in Sources */, + B3BCA73D27C098C00012118D /* 36.cpp in Sources */, + B3BCA70727C098C00012118D /* ks7031.cpp in Sources */, + B3BCA6F527C098C00012118D /* 170.cpp in Sources */, + B3BCA76027C098C00012118D /* 244.cpp in Sources */, + B3BCA75927C098C00012118D /* crc32.cpp in Sources */, + B3BCA79327C098C00012118D /* sa-9602b.cpp in Sources */, + B3BCA6FD27C098C00012118D /* et-100.cpp in Sources */, + B3BCA76327C098C00012118D /* oekakids.cpp in Sources */, + B3BCA73F27C098C00012118D /* 164.cpp in Sources */, + B3BCA71827C098C00012118D /* sc-127.cpp in Sources */, + B3BCA7D627C098C10012118D /* 28.cpp in Sources */, + B3BCA74F27C098C00012118D /* ks7016.cpp in Sources */, + B3BCA7BB27C098C10012118D /* 77.cpp in Sources */, + B3BCA71527C098C00012118D /* vidblit.cpp in Sources */, + B3BCA76727C098C00012118D /* 225.cpp in Sources */, + B3BCA72C27C098C00012118D /* tf-1201.cpp in Sources */, + B3BCA7A927C098C00012118D /* 234.cpp in Sources */, + B3BCA76A27C098C00012118D /* args.cpp in Sources */, + B3BCA77027C098C00012118D /* scale3x.cpp in Sources */, + B3BCA74227C098C00012118D /* 187.cpp in Sources */, + B3BCA7BD27C098C10012118D /* 50.cpp in Sources */, + B3BCA71927C098C00012118D /* pec586kb.cpp in Sources */, + B3BCA7D127C098C10012118D /* video.cpp in Sources */, + B3BCA77527C098C00012118D /* file.cpp in Sources */, + B3BCA6FF27C098C00012118D /* vrc3.cpp in Sources */, + B3BCA7BA27C098C10012118D /* 69.cpp in Sources */, + B3BCA79B27C098C00012118D /* 43.cpp in Sources */, + B3BCA76527C098C00012118D /* unif.cpp in Sources */, + B3BCA70A27C098C00012118D /* bb.cpp in Sources */, + B3BCA77827C098C00012118D /* ines.cpp in Sources */, + B3BCA7BC27C098C10012118D /* BMW8544.cpp in Sources */, + B3BCA7B527C098C10012118D /* bandai.cpp in Sources */, + B3BCA79927C098C00012118D /* bmc70in1.cpp in Sources */, + B3BCA76E27C098C00012118D /* 68.cpp in Sources */, + B3BCA6F227C098C00012118D /* emufile.cpp in Sources */, + B3BCA79727C098C00012118D /* __dummy_mapper.cpp in Sources */, + B3BCA77F27C098C00012118D /* hp898f.cpp in Sources */, + B3BCA7CD27C098C10012118D /* 41.cpp in Sources */, + B3BCA71B27C098C00012118D /* 96.cpp in Sources */, + B3BCA7C627C098C10012118D /* 12in1.cpp in Sources */, + B3BCA75D27C098C00012118D /* 108.cpp in Sources */, + B3BCA75527C098C00012118D /* 88.cpp in Sources */, + B3BCA7D527C098C10012118D /* F-15.cpp in Sources */, + B3BCA70D27C098C00012118D /* subor.cpp in Sources */, + B3BCA70027C098C00012118D /* emu2413.c in Sources */, + B3BCA73B27C098C00012118D /* nsf.cpp in Sources */, + B3BCA75B27C098C00012118D /* sachen.cpp in Sources */, + B3BCA78F27C098C00012118D /* 8157.cpp in Sources */, + B3BCA72A27C098C00012118D /* filter.cpp in Sources */, + B3BCA7A427C098C00012118D /* 117.cpp in Sources */, + B3BCA78827C098C00012118D /* a9746.cpp in Sources */, + B3BCA77227C098C00012118D /* 42.cpp in Sources */, + B3BCA75E27C098C00012118D /* 51.cpp in Sources */, + B3BCA76127C098C00012118D /* 8in1.cpp in Sources */, + B3BCA72E27C098C00012118D /* ac-08.cpp in Sources */, + B3BCA6F627C098C00012118D /* n625092.cpp in Sources */, + B3BCA72B27C098C00012118D /* ConvertUTF.c in Sources */, + B3BCA78B27C098C00012118D /* 120.cpp in Sources */, + B3BCA79E27C098C00012118D /* quiz.cpp in Sources */, + B3BCA79D27C098C00012118D /* vrc5.cpp in Sources */, + B3BCA70E27C098C00012118D /* ks7057.cpp in Sources */, + B3BCA77627C098C00012118D /* state.cpp in Sources */, + B3BCA77327C098C00012118D /* t-227-1.cpp in Sources */, + B3BCA76627C098C00012118D /* shadow.cpp in Sources */, + B3BCA6F427C098C00012118D /* powerpad.cpp in Sources */, + B3BCA72327C098C00012118D /* 156.cpp in Sources */, + B3BCA74D27C098C00012118D /* sound.cpp in Sources */, + B3BCA75427C098C00012118D /* 185.cpp in Sources */, + B3BCA6F927C098C00012118D /* config.cpp in Sources */, + B3BCA73827C098C00012118D /* vrc2and4.cpp in Sources */, + B3BCA74727C098C00012118D /* sl1632.cpp in Sources */, + B3BCA7D327C098C10012118D /* cheat.cpp in Sources */, + B3BCA77A27C098C00012118D /* 112.cpp in Sources */, + B3BCA7B427C098C10012118D /* le05.cpp in Sources */, + B3BCA7B127C098C10012118D /* fceu.cpp in Sources */, + B3BCA7C027C098C10012118D /* general.cpp in Sources */, + B3BCA77C27C098C00012118D /* 230.cpp in Sources */, + B3BCA71A27C098C00012118D /* 57.cpp in Sources */, + B3BCA72727C098C00012118D /* edu2000.cpp in Sources */, + B3BCA76C27C098C00012118D /* endian.cpp in Sources */, + B3BCA76F27C098C00012118D /* 65.cpp in Sources */, + B3BCA7A227C098C00012118D /* x6502.cpp in Sources */, + B3BCA73627C098C00012118D /* input.cpp in Sources */, + B3BCA7B627C098C10012118D /* t-262.cpp in Sources */, + B3BCA7CF27C098C10012118D /* novel.cpp in Sources */, + B3BCA76B27C098C00012118D /* palette.cpp in Sources */, + B3BCA78527C098C00012118D /* 246.cpp in Sources */, + B3BCA7A627C098C00012118D /* netplay.cpp in Sources */, + B3BCA78627C098C00012118D /* ks7032.cpp in Sources */, + B3BCA77D27C098C00012118D /* yoko.cpp in Sources */, + B3BCA78427C098C00012118D /* bmc64in1nr.cpp in Sources */, + B3BCA74E27C098C00012118D /* 235.cpp in Sources */, + B3BCA71C27C098C00012118D /* 106.cpp in Sources */, + B3BCA73327C098C00012118D /* h2288.cpp in Sources */, + B3BCA78027C098C00012118D /* super24.cpp in Sources */, + B3BCA72627C098C00012118D /* eh8813a.cpp in Sources */, + B3BCA7CC27C098C10012118D /* scale2x.cpp in Sources */, + B3BCA7D427C098C10012118D /* 01-222.cpp in Sources */, + B3BCA71F27C098C00012118D /* 103.cpp in Sources */, + B3BCA7D227C098C10012118D /* supervision.cpp in Sources */, + B3BCA79527C098C00012118D /* ppu.cpp in Sources */, + B3BCA78327C098C00012118D /* hq3x.cpp in Sources */, + B3BCA74B27C098C00012118D /* fk23c.cpp in Sources */, + B3BCA6FC27C098C00012118D /* 79.cpp in Sources */, + B3BCA76927C098C00012118D /* 175.cpp in Sources */, + B3BCA74127C098C00012118D /* bs-5.cpp in Sources */, + B3BCA74A27C098C00012118D /* configSys.cpp in Sources */, + B3BCA70C27C098C00012118D /* malee.cpp in Sources */, + B3BCA70927C098C00012118D /* 46.cpp in Sources */, + B3BCA7C727C098C10012118D /* addrlatch.cpp in Sources */, + B3BCA78A27C098C00012118D /* mmc2and4.cpp in Sources */, + B3BCA79C27C098C00012118D /* lh53.cpp in Sources */, + B3BCA7BE27C098C10012118D /* arkanoid.cpp in Sources */, + B3BCA72027C098C00012118D /* pec-586.cpp in Sources */, + B3BCA79F27C098C00012118D /* 158B.cpp in Sources */, + B3BCA71027C098C00012118D /* 189.cpp in Sources */, + B3BCA73A27C098C00012118D /* suborkb.cpp in Sources */, + B3BCA7CB27C098C10012118D /* bonza.cpp in Sources */, + B3BCA78727C098C00012118D /* ks7010.cpp in Sources */, + B3BCA7D027C098C10012118D /* mmc3.cpp in Sources */, + B3BCA79827C098C00012118D /* rt-01.cpp in Sources */, + B3BCA74927C098C00012118D /* vrc7p.cpp in Sources */, + B3BCA72127C098C00012118D /* conddebug.cpp in Sources */, + B3BCA70827C098C00012118D /* wave.cpp in Sources */, + B3BCA70327C098C00012118D /* 206.cpp in Sources */, + B3BCA71427C098C00012118D /* 222.cpp in Sources */, + B3BCA7C427C098C10012118D /* 232.cpp in Sources */, + B3BCA78D27C098C00012118D /* onebus.cpp in Sources */, + B3BCA72927C098C00012118D /* inlnsf.cpp in Sources */, + B3BCA73927C098C00012118D /* mouse.cpp in Sources */, + B3BCA73527C098C00012118D /* ioapi.cpp in Sources */, + B3BCA7A827C098C00012118D /* 15.cpp in Sources */, + B3BCA70427C098C00012118D /* lh32.cpp in Sources */, + B3BCA78927C098C00012118D /* toprider.cpp in Sources */, + B3BCA72F27C098C00012118D /* gs-2013.cpp in Sources */, + B3BCA74427C098C00012118D /* 116.cpp in Sources */, + B3BCA76427C098C00012118D /* 80.cpp in Sources */, + B3BCA74327C098C00012118D /* ftrainer.cpp in Sources */, + B3BCA7AA27C098C00012118D /* 71.cpp in Sources */, + B3BCA7AB27C098C00012118D /* kof97.cpp in Sources */, + B3BCA72827C098C00012118D /* vsuni.cpp in Sources */, + B3BCA7CE27C098C10012118D /* 186.cpp in Sources */, + B3BCA76D27C098C00012118D /* memory.cpp in Sources */, + B3BCA7C327C098C10012118D /* 121.cpp in Sources */, + B3BCA7CA27C098C10012118D /* 32.cpp in Sources */, + B3BCA75A27C098C00012118D /* asm.cpp in Sources */, + B3BCA77927C098C00012118D /* 193.cpp in Sources */, + B3BCA74C27C098C00012118D /* bmc13in1jy110.cpp in Sources */, + B3BCA79127C098C00012118D /* tengen.cpp in Sources */, + B3BCA71E27C098C00012118D /* n106.cpp in Sources */, + B3BCA77427C098C00012118D /* 3d-block.cpp in Sources */, + B3BCA72527C098C00012118D /* bmc42in1r.cpp in Sources */, + B3BCA78C27C098C00012118D /* 8237.cpp in Sources */, + B3BCA77727C098C00012118D /* debug.cpp in Sources */, + B3BCA70F27C098C00012118D /* xstring.cpp in Sources */, + B3BCA7A727C098C00012118D /* hq2x.cpp in Sources */, + B3BCA72D27C098C00012118D /* 199.cpp in Sources */, + B3BCA77B27C098C00012118D /* 252.cpp in Sources */, + B3BCA77E27C098C00012118D /* vrc1.cpp in Sources */, + B3BCA78227C098C00012118D /* vrc7.cpp in Sources */, + B3BCA72427C098C00012118D /* fkb.cpp in Sources */, + B3BCA7C127C098C10012118D /* dream.cpp in Sources */, + B3BCA7C927C098C10012118D /* config.cpp in Sources */, + B3BCA79427C098C00012118D /* ks7017.cpp in Sources */, + B3BCA74827C098C00012118D /* ks7012.cpp in Sources */, + B3BCA71227C098C00012118D /* backward.cpp in Sources */, + B3BCA71D27C098C00012118D /* fds.cpp in Sources */, + B3BCA79627C098C00012118D /* gs-2004.cpp in Sources */, + B3BCA75327C098C00012118D /* unzip.cpp in Sources */, + B3BCA7B227C098C10012118D /* et-4320.cpp in Sources */, + B3BCA75F27C098C00012118D /* 411120-c.cpp in Sources */, + B3BCA70227C098C00012118D /* 40.cpp in Sources */, + B3BCA7A527C098C00012118D /* datalatch.cpp in Sources */, + B3BCA71327C098C00012118D /* 177.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA7D827C099700012118D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3BCA7D927C099700012118D /* 72.cpp in Sources */, + B3BCA7DA27C099700012118D /* 90.cpp in Sources */, + B3BCA7DB27C099700012118D /* 176.cpp in Sources */, + B3BCA7DC27C099700012118D /* 34.cpp in Sources */, + B3BCA7DD27C099700012118D /* 183.cpp in Sources */, + B3BCA7DE27C099700012118D /* guid.cpp in Sources */, + B3BCA7DF27C099700012118D /* 253.cpp in Sources */, + B3BCA7E027C099700012118D /* dance2000.cpp in Sources */, + B3BCA7E127C099700012118D /* coolboy.cpp in Sources */, + B3BCA7E227C099700012118D /* 18.cpp in Sources */, + B3BCA7E327C099700012118D /* 67.cpp in Sources */, + B3BCA7E427C099700012118D /* 33.cpp in Sources */, + B3BCA7E527C099700012118D /* snesmouse.cpp in Sources */, + B3BCA7E627C099700012118D /* nes_ntsc.c in Sources */, + B3BCA7E727C099700012118D /* bworld.cpp in Sources */, + B3BCA7E827C099700012118D /* ax5705.cpp in Sources */, + B3BCA7E927C099700012118D /* mmc1.cpp in Sources */, + B3BCA7EA27C099700012118D /* scalebit.cpp in Sources */, + B3BCA7EB27C099700012118D /* 178.cpp in Sources */, + B3BCA7EC27C099700012118D /* transformer.cpp in Sources */, + B3BCA7ED27C099700012118D /* ffe.cpp in Sources */, + B3BCA7EE27C099700012118D /* movie.cpp in Sources */, + B3BCA7EF27C099700012118D /* 228.cpp in Sources */, + B3BCA7F027C099700012118D /* famicombox.cpp in Sources */, + B3BCA7F127C099700012118D /* 830118C.cpp in Sources */, + B3BCA7F227C099700012118D /* ks7030.cpp in Sources */, + B3BCA7F327C099700012118D /* 168.cpp in Sources */, + B3BCA7F427C099700012118D /* unrom512.cpp in Sources */, + B3BCA7F527C099700012118D /* oldmovie.cpp in Sources */, + B3BCA7F627C099700012118D /* karaoke.cpp in Sources */, + B3BCA7F727C099700012118D /* mahjong.cpp in Sources */, + B3BCA7F827C099700012118D /* mmc5.cpp in Sources */, + B3BCA7F927C099700012118D /* ks7037.cpp in Sources */, + B3BCA7FA27C099700012118D /* 208.cpp in Sources */, + B3BCA7FB27C099700012118D /* 82.cpp in Sources */, + B3BCA7FC27C099700012118D /* vrc6.cpp in Sources */, + B3BCA7FD27C099700012118D /* 62.cpp in Sources */, + B3BCA7FE27C099700012118D /* cheat.cpp in Sources */, + B3BCA7FF27C099700012118D /* md5.cpp in Sources */, + B3BCA80027C099700012118D /* 09-034a.cpp in Sources */, + B3BCA80127C099700012118D /* cart.cpp in Sources */, + B3BCA80227C099700012118D /* sheroes.cpp in Sources */, + B3BCA80327C099700012118D /* 91.cpp in Sources */, + B3BCA80427C099700012118D /* 603-5052.cpp in Sources */, + B3BCA80527C099700012118D /* 151.cpp in Sources */, + B3BCA80627C099700012118D /* cursor.cpp in Sources */, + B3BCA80727C099700012118D /* 99.cpp in Sources */, + B3BCA80827C099700012118D /* drawing.cpp in Sources */, + B3BCA80927C099700012118D /* hypershot.cpp in Sources */, + B3BCA80A27C099700012118D /* zapper.cpp in Sources */, + B3BCA80B27C099700012118D /* ghostbusters63in1.cpp in Sources */, + B3BCA80C27C099700012118D /* mihunche.cpp in Sources */, + B3BCA80D27C099700012118D /* sb-2000.cpp in Sources */, + B3BCA80E27C099700012118D /* ks7013.cpp in Sources */, + B3BCA80F27C099700012118D /* cityfighter.cpp in Sources */, + B3BCA81027C099700012118D /* 36.cpp in Sources */, + B3BCA81127C099700012118D /* ks7031.cpp in Sources */, + B3BCA81227C099700012118D /* 170.cpp in Sources */, + B3BCA81327C099700012118D /* 244.cpp in Sources */, + B3BCA81427C099700012118D /* crc32.cpp in Sources */, + B3BCA81527C099700012118D /* sa-9602b.cpp in Sources */, + B3BCA81627C099700012118D /* et-100.cpp in Sources */, + B3BCA81727C099700012118D /* oekakids.cpp in Sources */, + B3BCA81827C099700012118D /* 164.cpp in Sources */, + B3BCA81927C099700012118D /* sc-127.cpp in Sources */, + B3BCA81A27C099700012118D /* 28.cpp in Sources */, + B3BCA81B27C099700012118D /* ks7016.cpp in Sources */, + B3BCA81C27C099700012118D /* 77.cpp in Sources */, + B3BCA81D27C099700012118D /* vidblit.cpp in Sources */, + B3BCA81E27C099700012118D /* 225.cpp in Sources */, + B3BCA81F27C099700012118D /* tf-1201.cpp in Sources */, + B3BCA82027C099700012118D /* 234.cpp in Sources */, + B3BCA82127C099700012118D /* args.cpp in Sources */, + B3BCA82227C099700012118D /* scale3x.cpp in Sources */, + B3BCA82327C099700012118D /* 187.cpp in Sources */, + B3BCA82427C099700012118D /* 50.cpp in Sources */, + B3BCA82527C099700012118D /* pec586kb.cpp in Sources */, + B3BCA82627C099700012118D /* video.cpp in Sources */, + B3BCA82727C099700012118D /* file.cpp in Sources */, + B3BCA82827C099700012118D /* vrc3.cpp in Sources */, + B3BCA82927C099700012118D /* 69.cpp in Sources */, + B3BCA82A27C099700012118D /* 43.cpp in Sources */, + B3BCA82B27C099700012118D /* unif.cpp in Sources */, + B3BCA82C27C099700012118D /* bb.cpp in Sources */, + B3BCA82E27C099700012118D /* ines.cpp in Sources */, + B3BCA82F27C099700012118D /* BMW8544.cpp in Sources */, + B3BCA83027C099700012118D /* bandai.cpp in Sources */, + B3BCA83127C099700012118D /* bmc70in1.cpp in Sources */, + B3BCA83227C099700012118D /* 68.cpp in Sources */, + B3BCA83327C099700012118D /* emufile.cpp in Sources */, + B3BCA83427C099700012118D /* __dummy_mapper.cpp in Sources */, + B3BCA83527C099700012118D /* hp898f.cpp in Sources */, + B3BCA83627C099700012118D /* 41.cpp in Sources */, + B3BCA83727C099700012118D /* 96.cpp in Sources */, + B3BCA83827C099700012118D /* 12in1.cpp in Sources */, + B3BCA83927C099700012118D /* 108.cpp in Sources */, + B3BCA83A27C099700012118D /* 88.cpp in Sources */, + B3BCA83B27C099700012118D /* F-15.cpp in Sources */, + B3BCA83C27C099700012118D /* subor.cpp in Sources */, + B3BCA83D27C099700012118D /* emu2413.c in Sources */, + B3BCA83E27C099700012118D /* nsf.cpp in Sources */, + B3BCA83F27C099700012118D /* sachen.cpp in Sources */, + B3BCA84027C099700012118D /* 8157.cpp in Sources */, + B3BCA84127C099700012118D /* filter.cpp in Sources */, + B3BCA84227C099700012118D /* 117.cpp in Sources */, + B3BCA84327C099700012118D /* a9746.cpp in Sources */, + B3BCA84427C099700012118D /* 42.cpp in Sources */, + B3BCA84527C099700012118D /* 51.cpp in Sources */, + B3BCA84627C099700012118D /* 8in1.cpp in Sources */, + B3BCA84727C099700012118D /* ac-08.cpp in Sources */, + B3BCA84827C099700012118D /* n625092.cpp in Sources */, + B3BCA84927C099700012118D /* ConvertUTF.c in Sources */, + B3BCA84A27C099700012118D /* 120.cpp in Sources */, + B3BCA84B27C099700012118D /* quiz.cpp in Sources */, + B3BCA84C27C099700012118D /* vrc5.cpp in Sources */, + B3BCA84D27C099700012118D /* ks7057.cpp in Sources */, + B3BCA84E27C099700012118D /* state.cpp in Sources */, + B3BCA84F27C099700012118D /* t-227-1.cpp in Sources */, + B3BCA85027C099700012118D /* shadow.cpp in Sources */, + B3BCA85127C099700012118D /* powerpad.cpp in Sources */, + B3BCA85227C099700012118D /* 156.cpp in Sources */, + B3BCA85327C099700012118D /* sound.cpp in Sources */, + B3BCA85427C099700012118D /* 185.cpp in Sources */, + B3BCA85527C099700012118D /* config.cpp in Sources */, + B3BCA85627C099700012118D /* vrc2and4.cpp in Sources */, + B3BCA85727C099700012118D /* sl1632.cpp in Sources */, + B3BCA85827C099700012118D /* cheat.cpp in Sources */, + B3BCA85927C099700012118D /* 112.cpp in Sources */, + B3BCA85A27C099700012118D /* le05.cpp in Sources */, + B3BCA85B27C099700012118D /* fceu.cpp in Sources */, + B3BCA85C27C099700012118D /* general.cpp in Sources */, + B3BCA85D27C099700012118D /* 230.cpp in Sources */, + B3BCA85E27C099700012118D /* 57.cpp in Sources */, + B3BCA85F27C099700012118D /* edu2000.cpp in Sources */, + B3BCA86027C099700012118D /* endian.cpp in Sources */, + B3BCA86127C099700012118D /* 65.cpp in Sources */, + B3BCA86227C099700012118D /* x6502.cpp in Sources */, + B3BCA86327C099700012118D /* input.cpp in Sources */, + B3BCA86427C099700012118D /* t-262.cpp in Sources */, + B3BCA86527C099700012118D /* novel.cpp in Sources */, + B3BCA86627C099700012118D /* palette.cpp in Sources */, + B3BCA86727C099700012118D /* 246.cpp in Sources */, + B3BCA86827C099700012118D /* netplay.cpp in Sources */, + B3BCA86927C099700012118D /* ks7032.cpp in Sources */, + B3BCA86A27C099700012118D /* yoko.cpp in Sources */, + B3BCA86B27C099700012118D /* bmc64in1nr.cpp in Sources */, + B3BCA86C27C099700012118D /* 235.cpp in Sources */, + B3BCA86D27C099700012118D /* 106.cpp in Sources */, + B3BCA86E27C099700012118D /* h2288.cpp in Sources */, + B3BCA86F27C099700012118D /* super24.cpp in Sources */, + B3BCA87027C099700012118D /* eh8813a.cpp in Sources */, + B3BCA87127C099700012118D /* scale2x.cpp in Sources */, + B3BCA87227C099700012118D /* 01-222.cpp in Sources */, + B3BCA87327C099700012118D /* 103.cpp in Sources */, + B3BCA87427C099700012118D /* supervision.cpp in Sources */, + B3BCA87527C099700012118D /* ppu.cpp in Sources */, + B3BCA87627C099700012118D /* hq3x.cpp in Sources */, + B3BCA87727C099700012118D /* fk23c.cpp in Sources */, + B3BCA87827C099700012118D /* 79.cpp in Sources */, + B3BCA87927C099700012118D /* 175.cpp in Sources */, + B3BCA87A27C099700012118D /* bs-5.cpp in Sources */, + B3BCA87B27C099700012118D /* configSys.cpp in Sources */, + B3BCA87C27C099700012118D /* malee.cpp in Sources */, + B3BCA87D27C099700012118D /* 46.cpp in Sources */, + B3BCA87E27C099700012118D /* addrlatch.cpp in Sources */, + B3BCA87F27C099700012118D /* mmc2and4.cpp in Sources */, + B3BCA88027C099700012118D /* lh53.cpp in Sources */, + B3BCA88127C099700012118D /* arkanoid.cpp in Sources */, + B3BCA88227C099700012118D /* pec-586.cpp in Sources */, + B3BCA88327C099700012118D /* 158B.cpp in Sources */, + B3BCA88427C099700012118D /* 189.cpp in Sources */, + B3BCA88527C099700012118D /* suborkb.cpp in Sources */, + B3BCA88627C099700012118D /* bonza.cpp in Sources */, + B3BCA88727C099700012118D /* ks7010.cpp in Sources */, + B3BCA88827C099700012118D /* mmc3.cpp in Sources */, + B3BCA88927C099700012118D /* rt-01.cpp in Sources */, + B3BCA88A27C099700012118D /* vrc7p.cpp in Sources */, + B3BCA88B27C099700012118D /* conddebug.cpp in Sources */, + B3BCA88C27C099700012118D /* wave.cpp in Sources */, + B3BCA88D27C099700012118D /* 206.cpp in Sources */, + B3BCA88E27C099700012118D /* 222.cpp in Sources */, + B3BCA88F27C099700012118D /* 232.cpp in Sources */, + B3BCA89027C099700012118D /* onebus.cpp in Sources */, + B3BCA89127C099700012118D /* inlnsf.cpp in Sources */, + B3BCA89227C099700012118D /* mouse.cpp in Sources */, + B3BCA89327C099700012118D /* ioapi.cpp in Sources */, + B3BCA89427C099700012118D /* 15.cpp in Sources */, + B3BCA89527C099700012118D /* lh32.cpp in Sources */, + B3BCA89627C099700012118D /* toprider.cpp in Sources */, + B3BCA89727C099700012118D /* gs-2013.cpp in Sources */, + B3BCA89827C099700012118D /* 116.cpp in Sources */, + B3BCA89927C099700012118D /* 80.cpp in Sources */, + B3BCA89A27C099700012118D /* ftrainer.cpp in Sources */, + B3BCA89B27C099700012118D /* 71.cpp in Sources */, + B3BCA89C27C099700012118D /* kof97.cpp in Sources */, + B3BCA89D27C099700012118D /* vsuni.cpp in Sources */, + B3BCA89E27C099700012118D /* 186.cpp in Sources */, + B3BCA89F27C099700012118D /* memory.cpp in Sources */, + B3BCA8A027C099700012118D /* 121.cpp in Sources */, + B3BCA8A127C099700012118D /* 32.cpp in Sources */, + B3BCA8A227C099700012118D /* asm.cpp in Sources */, + B3BCA8A327C099700012118D /* 193.cpp in Sources */, + B3BCA8A427C099700012118D /* bmc13in1jy110.cpp in Sources */, + B3BCA8A527C099700012118D /* tengen.cpp in Sources */, + B3BCA8A627C099700012118D /* n106.cpp in Sources */, + B3BCA8A727C099700012118D /* 3d-block.cpp in Sources */, + B3BCA8A827C099700012118D /* bmc42in1r.cpp in Sources */, + B3BCA8A927C099700012118D /* 8237.cpp in Sources */, + B3BCA8AA27C099700012118D /* debug.cpp in Sources */, + B3BCA8AB27C099700012118D /* xstring.cpp in Sources */, + B3BCA8AC27C099700012118D /* hq2x.cpp in Sources */, + B3BCA8AD27C099700012118D /* 199.cpp in Sources */, + B3BCA8AE27C099700012118D /* 252.cpp in Sources */, + B3BCA8AF27C099700012118D /* vrc1.cpp in Sources */, + B3BCA8B027C099700012118D /* vrc7.cpp in Sources */, + B3BCA8B127C099700012118D /* fkb.cpp in Sources */, + B3BCA8B227C099700012118D /* dream.cpp in Sources */, + B3BCA8B327C099700012118D /* config.cpp in Sources */, + B3BCA8B427C099700012118D /* ks7017.cpp in Sources */, + B3BCA8B527C099700012118D /* ks7012.cpp in Sources */, + B3BCA8B627C099700012118D /* backward.cpp in Sources */, + B3BCA8B727C099700012118D /* fds.cpp in Sources */, + B3BCA8B827C099700012118D /* gs-2004.cpp in Sources */, + B3BCA8B927C099700012118D /* unzip.cpp in Sources */, + B3BCA8BA27C099700012118D /* et-4320.cpp in Sources */, + B3BCA8BB27C099700012118D /* 411120-c.cpp in Sources */, + B3BCA8BC27C099700012118D /* 40.cpp in Sources */, + B3BCA8BD27C099700012118D /* datalatch.cpp in Sources */, + B3BCA8BE27C099700012118D /* 177.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA8CE27C09C230012118D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3AAF55327C0A94B001CAE1F /* 193.cpp in Sources */, + B3AAF57327C0A94B001CAE1F /* inlnsf.cpp in Sources */, + B391F30427C172B600730B53 /* vidblit.cpp in Sources */, + B3AAF52827C0A94B001CAE1F /* 103.cpp in Sources */, + B3AAF54227C0A94B001CAE1F /* 28.cpp in Sources */, + B3AAF57927C0A94B001CAE1F /* 158B.cpp in Sources */, + B3AAF5AB27C0A94B001CAE1F /* 33.cpp in Sources */, + B3AAF67227C0AA43001CAE1F /* nes_ntsc.c in Sources */, + B3AAF51B27C0A94B001CAE1F /* 8157.cpp in Sources */, + B391F2E527C1715000730B53 /* toprider.cpp in Sources */, + B3AAF52C27C0A94B001CAE1F /* 62.cpp in Sources */, + B30C094927C0AB6F009F25D0 /* conddebug.cpp in Sources */, + B3AAF67527C0AA43001CAE1F /* scale2x.cpp in Sources */, + B3AAF59C27C0A94B001CAE1F /* lh53.cpp in Sources */, + B3AAF54C27C0A94B001CAE1F /* vrc2and4.cpp in Sources */, + B391F2EA27C1715000730B53 /* lcdcompzapper.cpp in Sources */, + B3AAF5B427C0A94B001CAE1F /* et-4320.cpp in Sources */, + B3AAF56627C0A94B001CAE1F /* ac-08.cpp in Sources */, + B3AAF52027C0A94B001CAE1F /* pec-586.cpp in Sources */, + B391F2E227C1715000730B53 /* virtualboy.cpp in Sources */, + B3AAF57D27C0A94B001CAE1F /* 176.cpp in Sources */, + B391F2E127C1715000730B53 /* cursor.cpp in Sources */, + B3AAF53827C0A94B001CAE1F /* 225.cpp in Sources */, + B3AAF54B27C0A94B001CAE1F /* 51.cpp in Sources */, + B30C097A27C0ABC4009F25D0 /* md5.cpp in Sources */, + B391F2E627C1715000730B53 /* powerpad.cpp in Sources */, + B3AAF52427C0A94B001CAE1F /* 235.cpp in Sources */, + B30C093E27C0AB6F009F25D0 /* wave.cpp in Sources */, + B3AAF55E27C0A94B001CAE1F /* sc-127.cpp in Sources */, + B30C095127C0AB6F009F25D0 /* fceu.cpp in Sources */, + B3AAF53A27C0A94B001CAE1F /* ks7057.cpp in Sources */, + B3AAF52727C0A94B001CAE1F /* 09-034a.cpp in Sources */, + B3AAF58E27C0A94B001CAE1F /* 79.cpp in Sources */, + B3AAF56427C0A94B001CAE1F /* 46.cpp in Sources */, + B3AAF51827C0A94B001CAE1F /* 112.cpp in Sources */, + B3AAF55F27C0A94B001CAE1F /* n106.cpp in Sources */, + B3AAF55D27C0A94B001CAE1F /* sb-2000.cpp in Sources */, + B3AAF52D27C0A94B001CAE1F /* 36.cpp in Sources */, + B391F2EB27C1715000730B53 /* fkb.cpp in Sources */, + B3AAF55127C0A94B001CAE1F /* 32.cpp in Sources */, + B3AAF53927C0A94B001CAE1F /* 164.cpp in Sources */, + B30C097327C0ABC4009F25D0 /* crc32.cpp in Sources */, + B30C097727C0ABC4009F25D0 /* backward.cpp in Sources */, + B30C094327C0AB6F009F25D0 /* input.cpp in Sources */, + B3AAF5B227C0A94B001CAE1F /* 65.cpp in Sources */, + B3AAF54D27C0A94B001CAE1F /* 228.cpp in Sources */, + B30C095327C0AB6F009F25D0 /* video.cpp in Sources */, + B30C097B27C0ABC4009F25D0 /* guid.cpp in Sources */, + B3AAF5A327C0A94B001CAE1F /* 411120-c.cpp in Sources */, + B3AAF67427C0AA43001CAE1F /* scalebit.cpp in Sources */, + B3AAF59827C0A94B001CAE1F /* 41.cpp in Sources */, + B3AAF5B827C0A94B001CAE1F /* 50.cpp in Sources */, + B3AAF58727C0A94B001CAE1F /* 175.cpp in Sources */, + B3AAF5BA27C0A94B001CAE1F /* 57.cpp in Sources */, + B3AAF59227C0A94B001CAE1F /* ks7031.cpp in Sources */, + B3AAF56C27C0A94B001CAE1F /* 42.cpp in Sources */, + B3AAF55627C0A94B001CAE1F /* hp898f.cpp in Sources */, + B3AAF57F27C0A94B001CAE1F /* ks7017.cpp in Sources */, + B3AAF5AD27C0A94B001CAE1F /* tengen.cpp in Sources */, + B3AAF56E27C0A94B001CAE1F /* 108.cpp in Sources */, + B3AAF56727C0A94B001CAE1F /* bmc70in1.cpp in Sources */, + B30C097827C0ABC4009F25D0 /* unzip.cpp in Sources */, + B3AAF57127C0A94B001CAE1F /* 183.cpp in Sources */, + B3AAF51C27C0A94B001CAE1F /* addrlatch.cpp in Sources */, + B3AAF59627C0A94B001CAE1F /* n625092.cpp in Sources */, + B3AAF57827C0A94B001CAE1F /* tf-1201.cpp in Sources */, + B3AAF5B127C0A94B001CAE1F /* 252.cpp in Sources */, + B3AAF54527C0A94B001CAE1F /* ks7032.cpp in Sources */, + B3AAF5BC27C0A94B001CAE1F /* h2288.cpp in Sources */, + B30C094027C0AB6F009F25D0 /* state.cpp in Sources */, + B30C094E27C0AB6F009F25D0 /* emufile.cpp in Sources */, + B3AAF67027C0AA43001CAE1F /* scale3x.cpp in Sources */, + B3AAF59027C0A94B001CAE1F /* 8in1.cpp in Sources */, + B3AAF53127C0A94B001CAE1F /* __dummy_mapper.cpp in Sources */, + B3AAF5B627C0A94B001CAE1F /* datalatch.cpp in Sources */, + B3AAF55A27C0A94B001CAE1F /* a9746.cpp in Sources */, + B3AAF53B27C0A94B001CAE1F /* emu2413.c in Sources */, + B3AAF52B27C0A94B001CAE1F /* 170.cpp in Sources */, + B3AAF58327C0A94B001CAE1F /* ax5705.cpp in Sources */, + B391F2E027C1715000730B53 /* arkanoid.cpp in Sources */, + B30C095427C0AB6F009F25D0 /* cart.cpp in Sources */, + B3AAF5AF27C0A94B001CAE1F /* transformer.cpp in Sources */, + B3AAF5A027C0A94B001CAE1F /* yoko.cpp in Sources */, + B3AAF58827C0A94B001CAE1F /* bmc13in1jy110.cpp in Sources */, + B3AAF5A127C0A94B001CAE1F /* mmc1.cpp in Sources */, + B3AAF51627C0A94B001CAE1F /* 15.cpp in Sources */, + B3AAF56B27C0A94B001CAE1F /* 120.cpp in Sources */, + B3AAF57227C0A94B001CAE1F /* hp10xx_hp20xx.cpp in Sources */, + B3AAF57627C0A94B001CAE1F /* onebus.cpp in Sources */, + B3AAF58627C0A94B001CAE1F /* super24.cpp in Sources */, + B3AAF5B527C0A94B001CAE1F /* 117.cpp in Sources */, + B3AAF58027C0A94B001CAE1F /* 01-222.cpp in Sources */, + B30C093827C0AB5A009F25D0 /* asm.cpp in Sources */, + B3AAF56327C0A94B001CAE1F /* fns.cpp in Sources */, + B3AAF53F27C0A94B001CAE1F /* ks7012.cpp in Sources */, + B3AAF57027C0A94B001CAE1F /* 67.cpp in Sources */, + B3AAF53527C0A94B001CAE1F /* sheroes.cpp in Sources */, + B3AAF59F27C0A94B001CAE1F /* 40.cpp in Sources */, + B3AAF66E27C0AA43001CAE1F /* hq3x.cpp in Sources */, + B30C097C27C0ABC4009F25D0 /* general.cpp in Sources */, + B30C094127C0AB6F009F25D0 /* ppu.cpp in Sources */, + B3AAF59127C0A94B001CAE1F /* 34.cpp in Sources */, + B3AAF66B27C0AA43001CAE1F /* os_utils.cpp in Sources */, + B3AAF55927C0A94B001CAE1F /* 234.cpp in Sources */, + B30C097627C0ABC4009F25D0 /* ioapi.cpp in Sources */, + B391F2F027C1715000730B53 /* quiz.cpp in Sources */, + B3AAF57527C0A94B001CAE1F /* mmc2and4.cpp in Sources */, + B3AAF58F27C0A94B001CAE1F /* bb.cpp in Sources */, + B3AAF5A727C0A94B001CAE1F /* vrc7p.cpp in Sources */, + B3AAF67327C0AA43001CAE1F /* args.cpp in Sources */, + B3AAF53227C0A94B001CAE1F /* 77.cpp in Sources */, + B3AAF59927C0A94B001CAE1F /* malee.cpp in Sources */, + B3AAF67627C0AA43001CAE1F /* config.cpp in Sources */, + B3AAF52A27C0A94B001CAE1F /* 208.cpp in Sources */, + B391F2ED27C1715000730B53 /* mahjong.cpp in Sources */, + B391F2DC27C1710400730B53 /* hypershot.cpp in Sources */, + B30C093C27C0AB6F009F25D0 /* movie.cpp in Sources */, + B3AAF53327C0A94B001CAE1F /* 186.cpp in Sources */, + B3AAF59727C0A94B001CAE1F /* 246.cpp in Sources */, + B3AAF56027C0A94B001CAE1F /* 187.cpp in Sources */, + B3AAF52527C0A94B001CAE1F /* famicombox.cpp in Sources */, + B391F2EF27C1715000730B53 /* suborkb.cpp in Sources */, + B3AAF53C27C0A94B001CAE1F /* 99.cpp in Sources */, + B3AAF56127C0A94B001CAE1F /* sachen.cpp in Sources */, + B3AAF51F27C0A94B001CAE1F /* sl1632.cpp in Sources */, + B3AAF51927C0A94B001CAE1F /* 88.cpp in Sources */, + B3AAF54027C0A94B001CAE1F /* lh32.cpp in Sources */, + B3AAF58A27C0A94B001CAE1F /* bmc42in1r.cpp in Sources */, + B3AAF54627C0A94B001CAE1F /* vrc1.cpp in Sources */, + B30C097427C0ABC4009F25D0 /* memory.cpp in Sources */, + B3AAF51D27C0A94B001CAE1F /* bs-5.cpp in Sources */, + B3AAF52927C0A94B001CAE1F /* 603-5052.cpp in Sources */, + B3AAF66D27C0AA43001CAE1F /* hq2x.cpp in Sources */, + B30C097227C0ABC4009F25D0 /* endian.cpp in Sources */, + B3AAF58427C0A94B001CAE1F /* 43.cpp in Sources */, + B3AAF52327C0A94B001CAE1F /* sa-9602b.cpp in Sources */, + B3AAF52E27C0A94B001CAE1F /* 68.cpp in Sources */, + B3AAF54A27C0A94B001CAE1F /* 116.cpp in Sources */, + B3AAF58927C0A94B001CAE1F /* 12in1.cpp in Sources */, + B3AAF5A227C0A94B001CAE1F /* 121.cpp in Sources */, + B3AAF5BD27C0A94B001CAE1F /* mmc3.cpp in Sources */, + B3AAF66F27C0AA43001CAE1F /* configSys.cpp in Sources */, + B3AAF5A627C0A94B001CAE1F /* bandai.cpp in Sources */, + B3AAF52227C0A94B001CAE1F /* ghostbusters63in1.cpp in Sources */, + B30C094227C0AB6F009F25D0 /* unif.cpp in Sources */, + B30C097927C0ABC4009F25D0 /* xstring.cpp in Sources */, + B3AAF55727C0A94B001CAE1F /* bs4xxxr.cpp in Sources */, + B3AAF54827C0A94B001CAE1F /* 189.cpp in Sources */, + B3AAF5AA27C0A94B001CAE1F /* 90.cpp in Sources */, + B3AAF54927C0A94B001CAE1F /* ks7030.cpp in Sources */, + B3AAF57C27C0A94B001CAE1F /* 190.cpp in Sources */, + B3AAF5B327C0A94B001CAE1F /* mihunche.cpp in Sources */, + B3AAF58B27C0A94B001CAE1F /* vrc6.cpp in Sources */, + B30C094F27C0AB6F009F25D0 /* filter.cpp in Sources */, + B3AAF55427C0A94B001CAE1F /* 8237.cpp in Sources */, + B391F2EE27C1715000730B53 /* snesmouse.cpp in Sources */, + B3AAF58C27C0A94B001CAE1F /* novel.cpp in Sources */, + B391F2E927C1715000730B53 /* bworld.cpp in Sources */, + B30C093F27C0AB6F009F25D0 /* ines.cpp in Sources */, + B3AAF58227C0A94B001CAE1F /* 69.cpp in Sources */, + B3AAF57A27C0A94B001CAE1F /* 253.cpp in Sources */, + B3AAF54F27C0A94B001CAE1F /* 178.cpp in Sources */, + B3AAF5B727C0A94B001CAE1F /* 18.cpp in Sources */, + B3AAF52627C0A94B001CAE1F /* gs-2004.cpp in Sources */, + B3AAF53027C0A94B001CAE1F /* 106.cpp in Sources */, + B30C094A27C0AB6F009F25D0 /* x6502.cpp in Sources */, + B3AAF5AC27C0A94B001CAE1F /* F-15.cpp in Sources */, + B3AAF59B27C0A94B001CAE1F /* t-227-1.cpp in Sources */, + B3AAF54727C0A94B001CAE1F /* gs-2013.cpp in Sources */, + B3AAF56A27C0A94B001CAE1F /* 206.cpp in Sources */, + B30C095027C0AB6F009F25D0 /* vsuni.cpp in Sources */, + B3AAF57B27C0A94B001CAE1F /* ks7010.cpp in Sources */, + B3AAF59A27C0A94B001CAE1F /* subor.cpp in Sources */, + B30C094627C0AB6F009F25D0 /* oldmovie.cpp in Sources */, + B30C095527C0AB6F009F25D0 /* config.cpp in Sources */, + B3AAF52F27C0A94B001CAE1F /* dance2000.cpp in Sources */, + B3AAF54327C0A94B001CAE1F /* ffe.cpp in Sources */, + B30C095627C0AB6F009F25D0 /* netplay.cpp in Sources */, + B3AAF59E27C0A94B001CAE1F /* vrc7.cpp in Sources */, + B391F2E727C1715000730B53 /* pec586kb.cpp in Sources */, + B30C094727C0AB6F009F25D0 /* nsf.cpp in Sources */, + B391F2DE27C1715000730B53 /* fns.cpp in Sources */, + B30C097527C0ABC4009F25D0 /* ConvertUTF.c in Sources */, + B3AAF53627C0A94B001CAE1F /* t-262.cpp in Sources */, + B3AAF58527C0A94B001CAE1F /* cheapocabra.cpp in Sources */, + B30C095227C0AB6F009F25D0 /* palette.cpp in Sources */, + B30C094B27C0AB6F009F25D0 /* sound.cpp in Sources */, + B3AAF55027C0A94B001CAE1F /* vrc3.cpp in Sources */, + B3AAF52127C0A94B001CAE1F /* supervision.cpp in Sources */, + B391F2E327C1715000730B53 /* oekakids.cpp in Sources */, + B391F2E427C1715000730B53 /* zapper.cpp in Sources */, + B3AAF57E27C0A94B001CAE1F /* ks7016.cpp in Sources */, + B3AAF56827C0A94B001CAE1F /* ks7037.cpp in Sources */, + B3AAF53427C0A94B001CAE1F /* 232.cpp in Sources */, + B3AAF5A427C0A94B001CAE1F /* fk23c.cpp in Sources */, + B3AAF51727C0A94B001CAE1F /* 80.cpp in Sources */, + B391F2EC27C1715000730B53 /* mouse.cpp in Sources */, + B3AAF5A527C0A94B001CAE1F /* 244.cpp in Sources */, + B3AAF59527C0A94B001CAE1F /* 3d-block.cpp in Sources */, + B3AAF55527C0A94B001CAE1F /* BMW8544.cpp in Sources */, + B3AAF55C27C0A94B001CAE1F /* dream.cpp in Sources */, + B3AAF59D27C0A94B001CAE1F /* bmc64in1nr.cpp in Sources */, + B3AAF56D27C0A94B001CAE1F /* 222.cpp in Sources */, + B3AAF5BE27C0A94B001CAE1F /* unrom512.cpp in Sources */, + B391F2E827C1715000730B53 /* shadow.cpp in Sources */, + B3AAF53E27C0A94B001CAE1F /* 230.cpp in Sources */, + B3AAF57427C0A94B001CAE1F /* le05.cpp in Sources */, + B3AAF58D27C0A94B001CAE1F /* 168.cpp in Sources */, + B3AAF59327C0A94B001CAE1F /* rt-01.cpp in Sources */, + B3AAF5B927C0A94B001CAE1F /* 830118C.cpp in Sources */, + B30C094427C0AB6F009F25D0 /* debug.cpp in Sources */, + B3AAF51A27C0A94B001CAE1F /* 177.cpp in Sources */, + B3AAF53D27C0A94B001CAE1F /* et-100.cpp in Sources */, + B3AAF5A827C0A94B001CAE1F /* 96.cpp in Sources */, + B3AAF54427C0A94B001CAE1F /* 72.cpp in Sources */, + B3AAF53727C0A94B001CAE1F /* 71.cpp in Sources */, + B30C094827C0AB6F009F25D0 /* fds.cpp in Sources */, + B3AAF54E27C0A94B001CAE1F /* 199.cpp in Sources */, + B3AAF55827C0A94B001CAE1F /* 156.cpp in Sources */, + B3AAF58127C0A94B001CAE1F /* karaoke.cpp in Sources */, + B3AAF54127C0A94B001CAE1F /* bonza.cpp in Sources */, + B3AAF51E27C0A94B001CAE1F /* cityfighter.cpp in Sources */, + B3AAF5AE27C0A94B001CAE1F /* 91.cpp in Sources */, + B3AAF5B027C0A94B001CAE1F /* kof97.cpp in Sources */, + B3AAF56527C0A94B001CAE1F /* 82.cpp in Sources */, + B3AAF57727C0A94B001CAE1F /* ks7013.cpp in Sources */, + B3AAF56F27C0A94B001CAE1F /* 80013-B.cpp in Sources */, + B3AAF56227C0A94B001CAE1F /* vrc5.cpp in Sources */, + B391F2DF27C1715000730B53 /* ftrainer.cpp in Sources */, + B3AAF5BB27C0A94B001CAE1F /* 151.cpp in Sources */, + B30C093D27C0AB6F009F25D0 /* cheat.cpp in Sources */, + B3AAF55B27C0A94B001CAE1F /* eh8813a.cpp in Sources */, + B30C094C27C0AB6F009F25D0 /* drawing.cpp in Sources */, + B3AAF59427C0A94B001CAE1F /* coolboy.cpp in Sources */, + B3AAF66C27C0AA43001CAE1F /* cheat.cpp in Sources */, + B3AAF55227C0A94B001CAE1F /* edu2000.cpp in Sources */, + B3AAF56927C0A94B001CAE1F /* 185.cpp in Sources */, + B3AAF5A927C0A94B001CAE1F /* mmc5.cpp in Sources */, + B30C094527C0AB6F009F25D0 /* file.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B3BCA9BE27C09C2D0012118D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B3AAF5FC27C0A94B001CAE1F /* 193.cpp in Sources */, + B3AAF61C27C0A94B001CAE1F /* inlnsf.cpp in Sources */, + B391F30527C172B700730B53 /* vidblit.cpp in Sources */, + B3AAF5D127C0A94B001CAE1F /* 103.cpp in Sources */, + B3AAF5EB27C0A94B001CAE1F /* 28.cpp in Sources */, + B3AAF62227C0A94B001CAE1F /* 158B.cpp in Sources */, + B3AAF65427C0A94B001CAE1F /* 33.cpp in Sources */, + B3AAF68A27C0AA51001CAE1F /* nes_ntsc.c in Sources */, + B3AAF5C427C0A94B001CAE1F /* 8157.cpp in Sources */, + B391F2F827C1715000730B53 /* toprider.cpp in Sources */, + B3AAF5D527C0A94B001CAE1F /* 62.cpp in Sources */, + B30C096427C0AB6F009F25D0 /* conddebug.cpp in Sources */, + B3AAF68D27C0AA51001CAE1F /* scale2x.cpp in Sources */, + B3AAF64527C0A94B001CAE1F /* lh53.cpp in Sources */, + B3AAF5F527C0A94B001CAE1F /* vrc2and4.cpp in Sources */, + B391F2FD27C1715000730B53 /* lcdcompzapper.cpp in Sources */, + B3AAF65D27C0A94B001CAE1F /* et-4320.cpp in Sources */, + B3AAF60F27C0A94B001CAE1F /* ac-08.cpp in Sources */, + B3AAF5C927C0A94B001CAE1F /* pec-586.cpp in Sources */, + B391F2F527C1715000730B53 /* virtualboy.cpp in Sources */, + B3AAF62627C0A94B001CAE1F /* 176.cpp in Sources */, + B391F2F427C1715000730B53 /* cursor.cpp in Sources */, + B3AAF5E127C0A94B001CAE1F /* 225.cpp in Sources */, + B3AAF5F427C0A94B001CAE1F /* 51.cpp in Sources */, + B30C098527C0ABC4009F25D0 /* md5.cpp in Sources */, + B391F2F927C1715000730B53 /* powerpad.cpp in Sources */, + B3AAF5CD27C0A94B001CAE1F /* 235.cpp in Sources */, + B30C095927C0AB6F009F25D0 /* wave.cpp in Sources */, + B3AAF60727C0A94B001CAE1F /* sc-127.cpp in Sources */, + B30C096C27C0AB6F009F25D0 /* fceu.cpp in Sources */, + B3AAF5E327C0A94B001CAE1F /* ks7057.cpp in Sources */, + B3AAF5D027C0A94B001CAE1F /* 09-034a.cpp in Sources */, + B3AAF63727C0A94B001CAE1F /* 79.cpp in Sources */, + B3AAF60D27C0A94B001CAE1F /* 46.cpp in Sources */, + B3AAF5C127C0A94B001CAE1F /* 112.cpp in Sources */, + B3AAF60827C0A94B001CAE1F /* n106.cpp in Sources */, + B3AAF60627C0A94B001CAE1F /* sb-2000.cpp in Sources */, + B3AAF5D627C0A94B001CAE1F /* 36.cpp in Sources */, + B391F2FE27C1715000730B53 /* fkb.cpp in Sources */, + B3AAF5FA27C0A94B001CAE1F /* 32.cpp in Sources */, + B3AAF5E227C0A94B001CAE1F /* 164.cpp in Sources */, + B30C097E27C0ABC4009F25D0 /* crc32.cpp in Sources */, + B30C098227C0ABC4009F25D0 /* backward.cpp in Sources */, + B30C095E27C0AB6F009F25D0 /* input.cpp in Sources */, + B3AAF65B27C0A94B001CAE1F /* 65.cpp in Sources */, + B3AAF5F627C0A94B001CAE1F /* 228.cpp in Sources */, + B30C096E27C0AB6F009F25D0 /* video.cpp in Sources */, + B30C098627C0ABC4009F25D0 /* guid.cpp in Sources */, + B3AAF64C27C0A94B001CAE1F /* 411120-c.cpp in Sources */, + B3AAF68C27C0AA51001CAE1F /* scalebit.cpp in Sources */, + B3AAF64127C0A94B001CAE1F /* 41.cpp in Sources */, + B3AAF66127C0A94C001CAE1F /* 50.cpp in Sources */, + B3AAF63027C0A94B001CAE1F /* 175.cpp in Sources */, + B3AAF66327C0A94C001CAE1F /* 57.cpp in Sources */, + B3AAF63B27C0A94B001CAE1F /* ks7031.cpp in Sources */, + B3AAF61527C0A94B001CAE1F /* 42.cpp in Sources */, + B3AAF5FF27C0A94B001CAE1F /* hp898f.cpp in Sources */, + B3AAF62827C0A94B001CAE1F /* ks7017.cpp in Sources */, + B3AAF65627C0A94B001CAE1F /* tengen.cpp in Sources */, + B3AAF61727C0A94B001CAE1F /* 108.cpp in Sources */, + B3AAF61027C0A94B001CAE1F /* bmc70in1.cpp in Sources */, + B30C098327C0ABC4009F25D0 /* unzip.cpp in Sources */, + B3AAF61A27C0A94B001CAE1F /* 183.cpp in Sources */, + B3AAF5C527C0A94B001CAE1F /* addrlatch.cpp in Sources */, + B3AAF63F27C0A94B001CAE1F /* n625092.cpp in Sources */, + B3AAF62127C0A94B001CAE1F /* tf-1201.cpp in Sources */, + B3AAF65A27C0A94B001CAE1F /* 252.cpp in Sources */, + B3AAF5EE27C0A94B001CAE1F /* ks7032.cpp in Sources */, + B3AAF66527C0A94C001CAE1F /* h2288.cpp in Sources */, + B30C095B27C0AB6F009F25D0 /* state.cpp in Sources */, + B30C096927C0AB6F009F25D0 /* emufile.cpp in Sources */, + B3AAF68827C0AA51001CAE1F /* scale3x.cpp in Sources */, + B3AAF63927C0A94B001CAE1F /* 8in1.cpp in Sources */, + B3AAF5DA27C0A94B001CAE1F /* __dummy_mapper.cpp in Sources */, + B3AAF65F27C0A94C001CAE1F /* datalatch.cpp in Sources */, + B3AAF60327C0A94B001CAE1F /* a9746.cpp in Sources */, + B3AAF5E427C0A94B001CAE1F /* emu2413.c in Sources */, + B3AAF5D427C0A94B001CAE1F /* 170.cpp in Sources */, + B3AAF62C27C0A94B001CAE1F /* ax5705.cpp in Sources */, + B391F2F327C1715000730B53 /* arkanoid.cpp in Sources */, + B30C096F27C0AB6F009F25D0 /* cart.cpp in Sources */, + B3AAF65827C0A94B001CAE1F /* transformer.cpp in Sources */, + B3AAF64927C0A94B001CAE1F /* yoko.cpp in Sources */, + B3AAF63127C0A94B001CAE1F /* bmc13in1jy110.cpp in Sources */, + B3AAF64A27C0A94B001CAE1F /* mmc1.cpp in Sources */, + B3AAF5BF27C0A94B001CAE1F /* 15.cpp in Sources */, + B3AAF61427C0A94B001CAE1F /* 120.cpp in Sources */, + B3AAF61B27C0A94B001CAE1F /* hp10xx_hp20xx.cpp in Sources */, + B3AAF61F27C0A94B001CAE1F /* onebus.cpp in Sources */, + B3AAF62F27C0A94B001CAE1F /* super24.cpp in Sources */, + B3AAF65E27C0A94C001CAE1F /* 117.cpp in Sources */, + B3AAF62927C0A94B001CAE1F /* 01-222.cpp in Sources */, + B30C093927C0AB5A009F25D0 /* asm.cpp in Sources */, + B3AAF60C27C0A94B001CAE1F /* fns.cpp in Sources */, + B3AAF5E827C0A94B001CAE1F /* ks7012.cpp in Sources */, + B3AAF61927C0A94B001CAE1F /* 67.cpp in Sources */, + B3AAF5DE27C0A94B001CAE1F /* sheroes.cpp in Sources */, + B3AAF64827C0A94B001CAE1F /* 40.cpp in Sources */, + B3AAF68627C0AA51001CAE1F /* hq3x.cpp in Sources */, + B30C098727C0ABC4009F25D0 /* general.cpp in Sources */, + B30C095C27C0AB6F009F25D0 /* ppu.cpp in Sources */, + B3AAF63A27C0A94B001CAE1F /* 34.cpp in Sources */, + B3AAF68327C0AA51001CAE1F /* os_utils.cpp in Sources */, + B3AAF60227C0A94B001CAE1F /* 234.cpp in Sources */, + B30C098127C0ABC4009F25D0 /* ioapi.cpp in Sources */, + B391F30327C1715000730B53 /* quiz.cpp in Sources */, + B3AAF61E27C0A94B001CAE1F /* mmc2and4.cpp in Sources */, + B3AAF63827C0A94B001CAE1F /* bb.cpp in Sources */, + B3AAF65027C0A94B001CAE1F /* vrc7p.cpp in Sources */, + B3AAF68B27C0AA51001CAE1F /* args.cpp in Sources */, + B3AAF5DB27C0A94B001CAE1F /* 77.cpp in Sources */, + B3AAF64227C0A94B001CAE1F /* malee.cpp in Sources */, + B3AAF68E27C0AA51001CAE1F /* config.cpp in Sources */, + B3AAF5D327C0A94B001CAE1F /* 208.cpp in Sources */, + B391F30027C1715000730B53 /* mahjong.cpp in Sources */, + B391F2DD27C1710400730B53 /* hypershot.cpp in Sources */, + B30C095727C0AB6F009F25D0 /* movie.cpp in Sources */, + B3AAF5DC27C0A94B001CAE1F /* 186.cpp in Sources */, + B3AAF64027C0A94B001CAE1F /* 246.cpp in Sources */, + B3AAF60927C0A94B001CAE1F /* 187.cpp in Sources */, + B3AAF5CE27C0A94B001CAE1F /* famicombox.cpp in Sources */, + B391F30227C1715000730B53 /* suborkb.cpp in Sources */, + B3AAF5E527C0A94B001CAE1F /* 99.cpp in Sources */, + B3AAF60A27C0A94B001CAE1F /* sachen.cpp in Sources */, + B3AAF5C827C0A94B001CAE1F /* sl1632.cpp in Sources */, + B3AAF5C227C0A94B001CAE1F /* 88.cpp in Sources */, + B3AAF5E927C0A94B001CAE1F /* lh32.cpp in Sources */, + B3AAF63327C0A94B001CAE1F /* bmc42in1r.cpp in Sources */, + B3AAF5EF27C0A94B001CAE1F /* vrc1.cpp in Sources */, + B30C097F27C0ABC4009F25D0 /* memory.cpp in Sources */, + B3AAF5C627C0A94B001CAE1F /* bs-5.cpp in Sources */, + B3AAF5D227C0A94B001CAE1F /* 603-5052.cpp in Sources */, + B3AAF68527C0AA51001CAE1F /* hq2x.cpp in Sources */, + B30C097D27C0ABC4009F25D0 /* endian.cpp in Sources */, + B3AAF62D27C0A94B001CAE1F /* 43.cpp in Sources */, + B3AAF5CC27C0A94B001CAE1F /* sa-9602b.cpp in Sources */, + B3AAF5D727C0A94B001CAE1F /* 68.cpp in Sources */, + B3AAF5F327C0A94B001CAE1F /* 116.cpp in Sources */, + B3AAF63227C0A94B001CAE1F /* 12in1.cpp in Sources */, + B3AAF64B27C0A94B001CAE1F /* 121.cpp in Sources */, + B3AAF66627C0A94C001CAE1F /* mmc3.cpp in Sources */, + B3AAF68727C0AA51001CAE1F /* configSys.cpp in Sources */, + B3AAF64F27C0A94B001CAE1F /* bandai.cpp in Sources */, + B3AAF5CB27C0A94B001CAE1F /* ghostbusters63in1.cpp in Sources */, + B30C095D27C0AB6F009F25D0 /* unif.cpp in Sources */, + B30C098427C0ABC4009F25D0 /* xstring.cpp in Sources */, + B3AAF60027C0A94B001CAE1F /* bs4xxxr.cpp in Sources */, + B3AAF5F127C0A94B001CAE1F /* 189.cpp in Sources */, + B3AAF65327C0A94B001CAE1F /* 90.cpp in Sources */, + B30C096027C0AB6F009F25D0 /* file.cpp in Sources */, + B3AAF5F227C0A94B001CAE1F /* ks7030.cpp in Sources */, + B3AAF62527C0A94B001CAE1F /* 190.cpp in Sources */, + B3AAF65C27C0A94B001CAE1F /* mihunche.cpp in Sources */, + B3AAF63427C0A94B001CAE1F /* vrc6.cpp in Sources */, + B30C096A27C0AB6F009F25D0 /* filter.cpp in Sources */, + B391F30127C1715000730B53 /* snesmouse.cpp in Sources */, + B3AAF5FD27C0A94B001CAE1F /* 8237.cpp in Sources */, + B391F2FC27C1715000730B53 /* bworld.cpp in Sources */, + B3AAF63527C0A94B001CAE1F /* novel.cpp in Sources */, + B30C095A27C0AB6F009F25D0 /* ines.cpp in Sources */, + B3AAF62B27C0A94B001CAE1F /* 69.cpp in Sources */, + B3AAF62327C0A94B001CAE1F /* 253.cpp in Sources */, + B3AAF5F827C0A94B001CAE1F /* 178.cpp in Sources */, + B3AAF66027C0A94C001CAE1F /* 18.cpp in Sources */, + B3AAF5CF27C0A94B001CAE1F /* gs-2004.cpp in Sources */, + B3AAF5D927C0A94B001CAE1F /* 106.cpp in Sources */, + B30C096527C0AB6F009F25D0 /* x6502.cpp in Sources */, + B3AAF65527C0A94B001CAE1F /* F-15.cpp in Sources */, + B3AAF64427C0A94B001CAE1F /* t-227-1.cpp in Sources */, + B3AAF5F027C0A94B001CAE1F /* gs-2013.cpp in Sources */, + B3AAF61327C0A94B001CAE1F /* 206.cpp in Sources */, + B30C096B27C0AB6F009F25D0 /* vsuni.cpp in Sources */, + B3AAF62427C0A94B001CAE1F /* ks7010.cpp in Sources */, + B3AAF64327C0A94B001CAE1F /* subor.cpp in Sources */, + B30C096127C0AB6F009F25D0 /* oldmovie.cpp in Sources */, + B30C097027C0AB6F009F25D0 /* config.cpp in Sources */, + B3AAF5D827C0A94B001CAE1F /* dance2000.cpp in Sources */, + B3AAF5EC27C0A94B001CAE1F /* ffe.cpp in Sources */, + B30C097127C0AB6F009F25D0 /* netplay.cpp in Sources */, + B391F2FA27C1715000730B53 /* pec586kb.cpp in Sources */, + B3AAF64727C0A94B001CAE1F /* vrc7.cpp in Sources */, + B391F2F127C1715000730B53 /* fns.cpp in Sources */, + B30C096227C0AB6F009F25D0 /* nsf.cpp in Sources */, + B30C098027C0ABC4009F25D0 /* ConvertUTF.c in Sources */, + B3AAF5DF27C0A94B001CAE1F /* t-262.cpp in Sources */, + B3AAF62E27C0A94B001CAE1F /* cheapocabra.cpp in Sources */, + B30C096D27C0AB6F009F25D0 /* palette.cpp in Sources */, + B30C096627C0AB6F009F25D0 /* sound.cpp in Sources */, + B3AAF5F927C0A94B001CAE1F /* vrc3.cpp in Sources */, + B391F2F627C1715000730B53 /* oekakids.cpp in Sources */, + B391F2F727C1715000730B53 /* zapper.cpp in Sources */, + B3AAF5CA27C0A94B001CAE1F /* supervision.cpp in Sources */, + B3AAF62727C0A94B001CAE1F /* ks7016.cpp in Sources */, + B3AAF61127C0A94B001CAE1F /* ks7037.cpp in Sources */, + B3AAF5DD27C0A94B001CAE1F /* 232.cpp in Sources */, + B3AAF64D27C0A94B001CAE1F /* fk23c.cpp in Sources */, + B391F2FF27C1715000730B53 /* mouse.cpp in Sources */, + B3AAF5C027C0A94B001CAE1F /* 80.cpp in Sources */, + B3AAF64E27C0A94B001CAE1F /* 244.cpp in Sources */, + B3AAF63E27C0A94B001CAE1F /* 3d-block.cpp in Sources */, + B3AAF5FE27C0A94B001CAE1F /* BMW8544.cpp in Sources */, + B3AAF60527C0A94B001CAE1F /* dream.cpp in Sources */, + B3AAF64627C0A94B001CAE1F /* bmc64in1nr.cpp in Sources */, + B3AAF61627C0A94B001CAE1F /* 222.cpp in Sources */, + B391F2FB27C1715000730B53 /* shadow.cpp in Sources */, + B3AAF66727C0A94C001CAE1F /* unrom512.cpp in Sources */, + B3AAF5E727C0A94B001CAE1F /* 230.cpp in Sources */, + B3AAF61D27C0A94B001CAE1F /* le05.cpp in Sources */, + B3AAF63627C0A94B001CAE1F /* 168.cpp in Sources */, + B3AAF63C27C0A94B001CAE1F /* rt-01.cpp in Sources */, + B3AAF66227C0A94C001CAE1F /* 830118C.cpp in Sources */, + B30C095F27C0AB6F009F25D0 /* debug.cpp in Sources */, + B3AAF5C327C0A94B001CAE1F /* 177.cpp in Sources */, + B3AAF5E627C0A94B001CAE1F /* et-100.cpp in Sources */, + B3AAF65127C0A94B001CAE1F /* 96.cpp in Sources */, + B3AAF5ED27C0A94B001CAE1F /* 72.cpp in Sources */, + B3AAF5E027C0A94B001CAE1F /* 71.cpp in Sources */, + B30C096327C0AB6F009F25D0 /* fds.cpp in Sources */, + B3AAF5F727C0A94B001CAE1F /* 199.cpp in Sources */, + B3AAF60127C0A94B001CAE1F /* 156.cpp in Sources */, + B3AAF62A27C0A94B001CAE1F /* karaoke.cpp in Sources */, + B3AAF5EA27C0A94B001CAE1F /* bonza.cpp in Sources */, + B3AAF5C727C0A94B001CAE1F /* cityfighter.cpp in Sources */, + B3AAF65727C0A94B001CAE1F /* 91.cpp in Sources */, + B3AAF65927C0A94B001CAE1F /* kof97.cpp in Sources */, + B3AAF60E27C0A94B001CAE1F /* 82.cpp in Sources */, + B3AAF62027C0A94B001CAE1F /* ks7013.cpp in Sources */, + B3AAF61827C0A94B001CAE1F /* 80013-B.cpp in Sources */, + B391F2F227C1715000730B53 /* ftrainer.cpp in Sources */, + B3AAF60B27C0A94B001CAE1F /* vrc5.cpp in Sources */, + B3AAF66427C0A94C001CAE1F /* 151.cpp in Sources */, + B30C095827C0AB6F009F25D0 /* cheat.cpp in Sources */, + B3AAF60427C0A94B001CAE1F /* eh8813a.cpp in Sources */, + B30C096727C0AB6F009F25D0 /* drawing.cpp in Sources */, + B3AAF63D27C0A94B001CAE1F /* coolboy.cpp in Sources */, + B3AAF68427C0AA51001CAE1F /* cheat.cpp in Sources */, + B3AAF5FB27C0A94B001CAE1F /* edu2000.cpp in Sources */, + B3AAF61227C0A94B001CAE1F /* 185.cpp in Sources */, + B3AAF65227C0A94B001CAE1F /* mmc5.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + B3341F8027C1B2CF00E001C6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B3341F4F27C1B18C00E001C6 /* fceux-netplay-server-iOS */; + targetProxy = B3341F7F27C1B2CF00E001C6 /* PBXContainerItemProxy */; + }; + B3341F8327C1B2D400E001C6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B3341F7027C1B23A00E001C6 /* fceux-netplay-server-tvOS */; + targetProxy = B3341F8227C1B2D400E001C6 /* PBXContainerItemProxy */; + }; + B3AAF66A27C0A95C001CAE1F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B3BCA8CD27C09C230012118D /* fceux-iOS */; + targetProxy = B3AAF66927C0A95C001CAE1F /* PBXContainerItemProxy */; + }; + B3BCB54627C09C820012118D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B3BCA9BD27C09C2D0012118D /* fceux-tvOS */; + targetProxy = B3BCB54527C09C820012118D /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 1A3A74FA1ABF11AC002274A3 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B391F2B627C14FA300730B53 /* BuildFlags.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO; @@ -1984,6 +5508,7 @@ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; @@ -2007,15 +5532,28 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; name = Debug; }; 1A3A74FB1ABF11AC002274A3 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B391F2B627C14FA300730B53 /* BuildFlags.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO; @@ -2041,6 +5579,7 @@ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; @@ -2057,18 +5596,30 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Osize"; SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; name = Release; }; B324C50E2191A366009F4EDC /* Archive */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B391F2B627C14FA300730B53 /* BuildFlags.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO; @@ -2094,6 +5645,7 @@ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; @@ -2109,17 +5661,438 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-Osize"; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; + VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Archive; + }; + B324C50F2191A366009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + ); + INFOPLIST_FILE = PVFCEU/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_CFLAGS = ( + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; + PRODUCT_NAME = PVFCEU; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,6"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Archive; + }; + B324C5102191A366009F4EDC /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + INFOPLIST_FILE = PVFCEU/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + OTHER_CFLAGS = ( + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; + PRODUCT_NAME = PVFCEU; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.1; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = "-Wno-write-strings"; + }; + name = Archive; + }; + B3341F5627C1B18C00E001C6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + }; + name = Debug; + }; + B3341F5727C1B18C00E001C6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + }; + name = Release; + }; + B3341F5827C1B18C00E001C6 /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + }; + name = Archive; + }; + B3341F7A27C1B23A00E001C6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; + }; + name = Debug; + }; + B3341F7B27C1B23A00E001C6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; + }; + name = Release; + }; + B3341F7C27C1B23A00E001C6 /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; + }; + name = Archive; + }; + B3341F9027C1B39200E001C6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + ENABLE_HARDENED_RUNTIME = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + MACOSX_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Debug; + }; + B3341F9127C1B39200E001C6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + ENABLE_HARDENED_RUNTIME = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + MACOSX_DEPLOYMENT_TARGET = 12.1; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Release; + }; + B3341F9227C1B39200E001C6 /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + ENABLE_HARDENED_RUNTIME = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + MACOSX_DEPLOYMENT_TARGET = 12.1; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Archive; + }; + B3A9F43C1DE877B4008450F5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + ); + INFOPLIST_FILE = PVFCEU/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_CFLAGS = ( + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; + PRODUCT_NAME = PVFCEU; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = singlefile; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,6"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Debug; + }; + B3A9F43D1DE877B4008450F5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + ); + INFOPLIST_FILE = PVFCEU/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_CFLAGS = ( + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; + PRODUCT_NAME = PVFCEU; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; - name = Archive; + name = Release; }; - B324C50F2191A366009F4EDC /* Archive */ = { + B3A9F44A1DE877E4008450F5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; @@ -2127,10 +6100,9 @@ CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2139,15 +6111,12 @@ GCC_C_LANGUAGE_STANDARD = c99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/**", ); INFOPLIST_FILE = PVFCEU/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2155,9 +6124,9 @@ ); LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/FCEU/drivers/win/directx", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/win32", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/x64", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", ); OTHER_CFLAGS = ( "-DHAVE_ASPRINTF", @@ -2167,16 +6136,19 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; PRODUCT_NAME = PVFCEU; PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,6"; + SWIFT_COMPILATION_MODE = singlefile; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.1; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; WARNING_CFLAGS = "-Wno-write-strings"; }; - name = Archive; + name = Debug; }; - B324C5102191A366009F4EDC /* Archive */ = { + B3A9F44B1DE877E4008450F5 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; @@ -2187,277 +6159,572 @@ CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + INFOPLIST_FILE = PVFCEU/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + OTHER_CFLAGS = ( + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; + PRODUCT_NAME = PVFCEU; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.1; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = "-Wno-write-strings"; + }; + name = Release; + }; + B3BCA6EF27C098720012118D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2,6"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Debug; + }; + B3BCA6F027C098720012118D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Release; + }; + B3BCA6F127C098720012118D /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Archive; + }; + B3BCA8C327C099700012118D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.1; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Debug; + }; + B3BCA8C427C099700012118D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", + ); + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.1; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Release; + }; + B3BCA8C527C099700012118D /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; GCC_C_LANGUAGE_STANDARD = c99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; GCC_WARN_INHIBIT_ALL_WARNINGS = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/**", ); - INFOPLIST_FILE = PVFCEU/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/FCEU/drivers/win/directx", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/win32", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/x64", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/directx", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/win32", + "$(PROJECT_DIR)/FCEU-2.2.3/drivers/win/lua/x64", ); + MTL_FAST_MATH = YES; OTHER_CFLAGS = ( + "$(inherited)", "-DHAVE_ASPRINTF", "-DPSS_STYLE=1", "-DLSB_FIRST", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; - PRODUCT_NAME = PVFCEU; - PROVISIONING_PROFILE_SPECIFIER = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 12.1; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WARNING_CFLAGS = "-Wno-write-strings"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; name = Archive; }; - B3A9F43C1DE877B4008450F5 /* Debug */ = { + B3BCA9B927C09C230012118D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; GCC_C_LANGUAGE_STANDARD = c99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; GCC_WARN_INHIBIT_ALL_WARNINGS = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/**", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers/sdl\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + "\"$(SRCROOT)/fceux/src/drivers\"", ); - INFOPLIST_FILE = PVFCEU/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/FCEU/drivers/win/directx", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/win32", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/x64", - ); + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; OTHER_CFLAGS = ( + "$(inherited)", "-DHAVE_ASPRINTF", "-DPSS_STYLE=1", "-DLSB_FIRST", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; - PRODUCT_NAME = PVFCEU; - PROVISIONING_PROFILE_SPECIFIER = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = singlefile; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WARNING_CFLAGS = "-Wno-write-strings"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; name = Debug; }; - B3A9F43D1DE877B4008450F5 /* Release */ = { + B3BCA9BA27C09C230012118D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; GCC_C_LANGUAGE_STANDARD = c99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; GCC_WARN_INHIBIT_ALL_WARNINGS = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/**", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers/sdl\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + "\"$(SRCROOT)/fceux/src/drivers\"", ); - INFOPLIST_FILE = PVFCEU/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/FCEU/drivers/win/directx", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/win32", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/x64", - ); + MTL_FAST_MATH = YES; OTHER_CFLAGS = ( + "$(inherited)", "-DHAVE_ASPRINTF", "-DPSS_STYLE=1", "-DLSB_FIRST", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; - PRODUCT_NAME = PVFCEU; - PROVISIONING_PROFILE_SPECIFIER = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WARNING_CFLAGS = "-Wno-write-strings"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; name = Release; }; - B3A9F44A1DE877E4008450F5 /* Debug */ = { + B3BCA9BB27C09C230012118D /* Archive */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; GCC_C_LANGUAGE_STANDARD = c99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; GCC_WARN_INHIBIT_ALL_WARNINGS = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/**", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers/sdl\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + "\"$(SRCROOT)/fceux/src/drivers\"", ); - INFOPLIST_FILE = PVFCEU/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", ); - LIBRARY_SEARCH_PATHS = ( + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2,6"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Archive; + }; + B3BCAAA927C09C2D0012118D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/FCEU/drivers/win/directx", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/win32", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/x64", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers/sdl\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + "\"$(SRCROOT)/fceux/src/drivers\"", ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; OTHER_CFLAGS = ( + "$(inherited)", "-DHAVE_ASPRINTF", "-DPSS_STYLE=1", "-DLSB_FIRST", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; - PRODUCT_NAME = PVFCEU; - PROVISIONING_PROFILE_SPECIFIER = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = singlefile; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 12.1; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WARNING_CFLAGS = "-Wno-write-strings"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; name = Debug; }; - B3A9F44B1DE877E4008450F5 /* Release */ = { + B3BCAAAA27C09C2D0012118D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; GCC_C_LANGUAGE_STANDARD = c99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SRCROOT)/PVFCEU-Prefix.pch"; GCC_WARN_INHIBIT_ALL_WARNINGS = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/**", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers/sdl\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + "\"$(SRCROOT)/fceux/src/drivers\"", ); - INFOPLIST_FILE = PVFCEU/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "-DHAVE_ASPRINTF", + "-DPSS_STYLE=1", + "-DLSB_FIRST", ); - LIBRARY_SEARCH_PATHS = ( + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.1; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); + }; + name = Release; + }; + B3BCAAAB27C09C2D0012118D /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = S32Z3HMYVQ; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/FCEU/drivers/win/directx", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/win32", - "$(PROJECT_DIR)/FCEU/drivers/win/lua/x64", + "\"$(SRCROOT)/fceux/src\"", + "\"$(SRCROOT)/fceux/src/drivers/sdl\"", + "\"$(SRCROOT)/fceux/src/boards\"", + "\"$(SRCROOT)/fceux/src/attic\"", + "\"$(SRCROOT)/fceux/src/drivers\"", ); + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + MTL_FAST_MATH = YES; OTHER_CFLAGS = ( + "$(inherited)", "-DHAVE_ASPRINTF", "-DPSS_STYLE=1", "-DLSB_FIRST", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.fceu"; - PRODUCT_NAME = PVFCEU; - PROVISIONING_PROFILE_SPECIFIER = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 12.1; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WARNING_CFLAGS = "-Wno-write-strings"; + WARNING_CFLAGS = ( + "$(inherited)", + "-Wno-write-strings", + ); }; - name = Release; + name = Archive; }; /* End XCBuildConfiguration section */ @@ -2472,6 +6739,36 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B3341F5927C1B18C00E001C6 /* Build configuration list for PBXNativeTarget "fceux-netplay-server-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3341F5627C1B18C00E001C6 /* Debug */, + B3341F5727C1B18C00E001C6 /* Release */, + B3341F5827C1B18C00E001C6 /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3341F7927C1B23A00E001C6 /* Build configuration list for PBXNativeTarget "fceux-netplay-server-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3341F7A27C1B23A00E001C6 /* Debug */, + B3341F7B27C1B23A00E001C6 /* Release */, + B3341F7C27C1B23A00E001C6 /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3341F8F27C1B39200E001C6 /* Build configuration list for PBXNativeTarget "fceux-server" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3341F9027C1B39200E001C6 /* Debug */, + B3341F9127C1B39200E001C6 /* Release */, + B3341F9227C1B39200E001C6 /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; B3A9F43B1DE877B4008450F5 /* Build configuration list for PBXNativeTarget "PVFCEU-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -2492,6 +6789,46 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B3BCA6EE27C098720012118D /* Build configuration list for PBXNativeTarget "fceux-2.2.3-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3BCA6EF27C098720012118D /* Debug */, + B3BCA6F027C098720012118D /* Release */, + B3BCA6F127C098720012118D /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3BCA8C227C099700012118D /* Build configuration list for PBXNativeTarget "fceux-2.2.3-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3BCA8C327C099700012118D /* Debug */, + B3BCA8C427C099700012118D /* Release */, + B3BCA8C527C099700012118D /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3BCA9B827C09C230012118D /* Build configuration list for PBXNativeTarget "fceux-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3BCA9B927C09C230012118D /* Debug */, + B3BCA9BA27C09C230012118D /* Release */, + B3BCA9BB27C09C230012118D /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3BCAAA827C09C2D0012118D /* Build configuration list for PBXNativeTarget "fceux-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3BCAAA927C09C2D0012118D /* Debug */, + B3BCAAAA27C09C2D0012118D /* Release */, + B3BCAAAB27C09C2D0012118D /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 1A3A74E01ABF11AC002274A3 /* Project object */; diff --git a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/PVFCEU.xcscheme b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/PVFCEU.xcscheme index a43ee584ee..e156746531 100644 --- a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/PVFCEU.xcscheme +++ b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/PVFCEU.xcscheme @@ -4,7 +4,7 @@ version = "1.3"> + buildImplicitDependencies = "YES"> + BlueprintIdentifier = "B3C96EBE1D62C5E7003F1E93" + BuildableName = "PVSupport.framework" + BlueprintName = "PVSupport-iOS" + ReferencedContainer = "container:../../PVSupport/PVSupport.xcodeproj"> + BlueprintIdentifier = "B3A9F4351DE877B4008450F5" + BuildableName = "PVFCEU.framework" + BlueprintName = "PVFCEU-iOS" + ReferencedContainer = "container:PVFCEU.xcodeproj"> diff --git a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-2.2.3-iOS.xcscheme b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-2.2.3-iOS.xcscheme new file mode 100644 index 0000000000..f45f5f847d --- /dev/null +++ b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-2.2.3-iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-iOS.xcscheme b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-iOS.xcscheme new file mode 100644 index 0000000000..f6e830cb62 --- /dev/null +++ b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-netplay-server-tvOS.xcscheme b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-netplay-server-tvOS.xcscheme new file mode 100644 index 0000000000..24ee534f9d --- /dev/null +++ b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-netplay-server-tvOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-netplay-server.xcscheme b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-netplay-server.xcscheme new file mode 100644 index 0000000000..cedd4467fc --- /dev/null +++ b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-netplay-server.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-server.xcscheme b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-server.xcscheme new file mode 100644 index 0000000000..8eaf1c7f47 --- /dev/null +++ b/Cores/FCEU/PVFCEU.xcodeproj/xcshareddata/xcschemes/fceux-server.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cores/FCEU/PVFCEU/Core.plist b/Cores/FCEU/PVFCEU/Core.plist index f7b7c4c412..d5ab76afa2 100644 --- a/Cores/FCEU/PVFCEU/Core.plist +++ b/Cores/FCEU/PVFCEU/Core.plist @@ -16,6 +16,6 @@ PVProjectURL http://sourceforge.net/projects/fceultra/ PVProjectVersion - 2.2.3 + 2.6.2 diff --git a/Cores/FCEU/PVFCEU/PVFCEU.h b/Cores/FCEU/PVFCEU/PVFCEU.h index f170b7d5c0..d444301113 100644 --- a/Cores/FCEU/PVFCEU/PVFCEU.h +++ b/Cores/FCEU/PVFCEU/PVFCEU.h @@ -6,7 +6,7 @@ // Copyright © 2016 JamSoft. All rights reserved. // -#import +#import //! Project version number for PVFCEU. FOUNDATION_EXPORT double PVFCEUVersionNumber; diff --git a/Cores/FCEU/PVFCEUEmulatorCore+Controls.mm b/Cores/FCEU/PVFCEUEmulatorCore+Controls.mm index 8b424be999..75ae4ffb25 100644 --- a/Cores/FCEU/PVFCEUEmulatorCore+Controls.mm +++ b/Cores/FCEU/PVFCEUEmulatorCore+Controls.mm @@ -9,14 +9,14 @@ #import "PVFCEUEmulatorCore+Controls.h" #import "PVFCEUEmulatorCore.h" -#include "FCEU/fceu.h" -#include "FCEU/driver.h" -#include "FCEU/input.h" -#include "FCEU/sound.h" -#include "FCEU/movie.h" -#include "FCEU/palette.h" -#include "FCEU/state.h" -#include "FCEU/emufile.h" +#include "fceux/src/fceu.h" +#include "fceux/src/driver.h" +#include "fceux/src/input.h" +#include "fceux/src/sound.h" +#include "fceux/src/movie.h" +#include "fceux/src/palette.h" +#include "fceux/src/state.h" +#include "fceux/src/emufile.h" static const int NESMap[] = {JOY_UP, JOY_DOWN, JOY_LEFT, JOY_RIGHT, JOY_A, JOY_B, JOY_START, JOY_SELECT}; diff --git a/Cores/FCEU/PVFCEUEmulatorCore.mm b/Cores/FCEU/PVFCEUEmulatorCore.mm index 225719345f..636f272b68 100644 --- a/Cores/FCEU/PVFCEUEmulatorCore.mm +++ b/Cores/FCEU/PVFCEUEmulatorCore.mm @@ -37,14 +37,14 @@ #import #endif -#include "FCEU/fceu.h" -#include "FCEU/driver.h" -#include "FCEU/input.h" -#include "FCEU/sound.h" -#include "FCEU/movie.h" -#include "FCEU/palette.h" -#include "FCEU/state.h" -#include "FCEU/emufile.h" +#include "fceux/src/fceu.h" +#include "fceux/src/driver.h" +#include "fceux/src/input.h" +#include "fceux/src/sound.h" +#include "fceux/src/movie.h" +#include "fceux/src/palette.h" +#include "fceux/src/state.h" +#include "fceux/src/emufile.h" #include "zlib.h" #pragma clang diagnostic push @@ -378,7 +378,9 @@ void FCEUI_AviVideoUpdate(const unsigned char* buffer) {} bool FCEUI_AviIsRecording(void) {return false;} bool FCEUI_AviDisableMovieMessages() {return true;} FCEUFILE *FCEUD_OpenArchiveIndex(ArchiveScanRecord &asr, std::string &fname, int innerIndex) {return 0;} +FCEUFILE *FCEUD_OpenArchiveIndex(ArchiveScanRecord &asr, std::string &fname, int innerIndex, int* userCancel) {return 0;} FCEUFILE *FCEUD_OpenArchive(ArchiveScanRecord &asr, std::string &fname, std::string *innerFilename) {return 0;} +FCEUFILE *FCEUD_OpenArchive(ArchiveScanRecord &asr, std::string &fname, std::string *innerFilename, int* userCancel) {return 0;} ArchiveScanRecord FCEUD_ScanArchive(std::string fname) { return ArchiveScanRecord(); } void FCEUD_PrintError(const char *s) { diff --git a/Cores/FCEU/fceux b/Cores/FCEU/fceux new file mode 160000 index 0000000000..ac4051050b --- /dev/null +++ b/Cores/FCEU/fceux @@ -0,0 +1 @@ +Subproject commit ac4051050b93710b215a986409fe4319cf6e48eb diff --git a/Cores/FCEU/fceux-netplay-server/fceux_netplay_server.h b/Cores/FCEU/fceux-netplay-server/fceux_netplay_server.h new file mode 100644 index 0000000000..9bdc3c1186 --- /dev/null +++ b/Cores/FCEU/fceux-netplay-server/fceux_netplay_server.h @@ -0,0 +1,13 @@ +// +// fceux_netplay_server.h +// fceux-netplay-server +// +// Created by Joseph Mattiello on 2/19/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#import + +@interface fceux_netplay_server : NSObject + +@end diff --git a/Cores/FCEU/fceux-netplay-server/fceux_netplay_server.m b/Cores/FCEU/fceux-netplay-server/fceux_netplay_server.m new file mode 100644 index 0000000000..7a92e7c548 --- /dev/null +++ b/Cores/FCEU/fceux-netplay-server/fceux_netplay_server.m @@ -0,0 +1,13 @@ +// +// fceux_netplay_server.m +// fceux-netplay-server +// +// Created by Joseph Mattiello on 2/19/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#import "fceux_netplay_server.h" + +@implementation fceux_netplay_server + +@end diff --git a/Cores/FCEU/fceux-server.conf b/Cores/FCEU/fceux-server.conf new file mode 100644 index 0000000000..10ea5312fa --- /dev/null +++ b/Cores/FCEU/fceux-server.conf @@ -0,0 +1,5 @@ +maxclients 4 ; Maximum number of clients +connecttimeout 5 ; Connection(login) timeout +framedivisor 1 ; Frame divisor(eg: 60 / framedivisor updates per second) +port 4046 ; Port to listen on +;password sexybeef diff --git a/Cores/FCEU/fceux-server/main.m b/Cores/FCEU/fceux-server/main.m new file mode 100644 index 0000000000..347bcfa81d --- /dev/null +++ b/Cores/FCEU/fceux-server/main.m @@ -0,0 +1,9 @@ +// +// main.m +// fceux-server +// +// Created by Joseph Mattiello on 2/19/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#import diff --git a/Cores/Mednafen/MednafenGameCore.mm b/Cores/Mednafen/MednafenGameCore.mm index 4c5f765424..7cc9c6e43e 100644 --- a/Cores/Mednafen/MednafenGameCore.mm +++ b/Cores/Mednafen/MednafenGameCore.mm @@ -1656,7 +1656,10 @@ - (NSInteger)SSValueForButtonID:(unsigned)buttonID forController:(GCController*) default: break; }} - { switch (buttonID) { + { + GCDualSenseGamepad *dualSense = [gamepad isKindOfClass:[GCDualSenseGamepad class]] ? gamepad : nil; + + switch (buttonID) { case PVSaturnButtonUp: return [[dpad up] isPressed]?:[[[gamepad leftThumbstick] up] isPressed]; case PVSaturnButtonDown: @@ -1679,11 +1682,10 @@ - (NSInteger)SSValueForButtonID:(unsigned)buttonID forController:(GCController*) return [[gamepad rightShoulder] isPressed]; case PVSaturnButtonL: return [[gamepad leftTrigger] isPressed]; -// case PVSaturnButtonR: -// return [[gamepad rightTrigger] isPressed]; -// Use Right Trigger for Start, for now until we can fix the "P1 Start" Game menu option. - case PVSaturnButtonStart: + case PVSaturnButtonR: return [[gamepad rightTrigger] isPressed]; + case PVSaturnButtonStart: + return [[dualSense buttonHome] isPressed]; default: break; }} diff --git a/Cores/Mupen64Plus/MupenGameCore+Mupen.m b/Cores/Mupen64Plus/MupenGameCore+Mupen.m index 9d587ce321..0b0bcb2b07 100644 --- a/Cores/Mupen64Plus/MupenGameCore+Mupen.m +++ b/Cores/Mupen64Plus/MupenGameCore+Mupen.m @@ -149,9 +149,28 @@ void ConfigureCore(NSString *romFolder) { // Use Pure Interpreter if 0, Cached Interpreter if 1, or Dynamic Recompiler if 2 or more" int emulator = [MupenGameCore intForOption:@"CPU Mode"]; - printf("emulator %i", emulator); ConfigSetParameter(config, "R4300Emulator", M64TYPE_INT, &emulator); + int SiDmaDuration = [MupenGameCore intForOption:@"SiDmaDuration"]; + ConfigSetParameter(config, "SiDmaDuration", M64TYPE_INT, &SiDmaDuration); + + int disableExtraMemory = [MupenGameCore boolForOption:@"Disable Extra Memory"]; + ConfigSetParameter(config, "DisableExtraMem", M64TYPE_BOOL, &disableExtraMemory); + + int randomizeInterrupt = [MupenGameCore boolForOption:@"Randomize Interrupt"]; + ConfigSetParameter(config, "RandomizeInterrupt", M64TYPE_BOOL, &randomizeInterrupt); + + + // Draw on-screen display if True, otherwise don't draw OSD + int osd = [MupenGameCore boolForOption:@"Debug OSD"]; + ConfigSetParameter(config, "OnScreenDisplay", M64TYPE_BOOL, &osd); + ConfigSetParameter(config, "ShowFPS", M64TYPE_BOOL, &osd); // Show FPS counter. + ConfigSetParameter(config, "ShowVIS", M64TYPE_BOOL, &osd); // Show VI/S counter. + ConfigSetParameter(config, "ShowPercent", M64TYPE_BOOL, &osd); // Show percent counter. + ConfigSetParameter(config, "ShowInternalResolution", M64TYPE_BOOL, &osd); // Show internal resolution. + ConfigSetParameter(config, "ShowRenderingResolution", M64TYPE_BOOL, &osd); // Show rendering resolution. + + ConfigSaveSection("Core"); /** End Core Config **/ } @@ -279,15 +298,6 @@ void ConfigureGLideN64(NSString *romFolder) { int txHiresFullAlphaChannel = [MupenGameCore boolForOption:@"HiRes Full Alpha"];; ConfigSetParameter(gliden64, "txHiresFullAlphaChannel", M64TYPE_BOOL, &txHiresFullAlphaChannel); - // Draw on-screen display if True, otherwise don't draw OSD - int osd = [MupenGameCore boolForOption:@"Debug OSD"]; - ConfigSetParameter(gliden64, "OnScreenDisplay", M64TYPE_BOOL, &osd); - ConfigSetParameter(gliden64, "ShowFPS", M64TYPE_BOOL, &osd); // Show FPS counter. - ConfigSetParameter(gliden64, "ShowVIS", M64TYPE_BOOL, &osd); // Show VI/S counter. - ConfigSetParameter(gliden64, "ShowPercent", M64TYPE_BOOL, &osd); // Show percent counter. - ConfigSetParameter(gliden64, "ShowInternalResolution", M64TYPE_BOOL, &osd); // Show internal resolution. - ConfigSetParameter(gliden64, "ShowRenderingResolution", M64TYPE_BOOL, &osd); // Show rendering resolution. - ConfigSaveSection("Video-GLideN64"); /** End GLideN64 Config **/ } diff --git a/Cores/Mupen64Plus/MupenGameCore.m b/Cores/Mupen64Plus/MupenGameCore.m index 87cf7b7ce4..276668b0ac 100644 --- a/Cores/Mupen64Plus/MupenGameCore.m +++ b/Cores/Mupen64Plus/MupenGameCore.m @@ -73,9 +73,8 @@ - (void)OE_didReceiveStateChangeForParamType:(m64p_core_param)paramType value:(i EXPORT static void PV_DrawOSD(const char *_pText, float _x, float _y) { -#if DEBUG -// DLOG(@"%s", _pText); -#endif +// TODO: This should print on the screen + NSLog(@"%s", _pText); } static void MupenDebugCallback(void *context, int level, const char *message) @@ -116,15 +115,18 @@ @implementation MupenGameCore m64p_dynlib_handle plugins[4]; } -- (instancetype)init -{ +- (instancetype)init { if (self = [super init]) { mupenWaitToBeginFrameSemaphore = dispatch_semaphore_create(0); coreWaitToEndFrameSemaphore = dispatch_semaphore_create(0); if(RESIZE_TO_FULLSCREEN) { CGSize size = UIApplication.sharedApplication.keyWindow.bounds.size; - float widthScale = floor(size.height / WIDTHf); - float heightScale = floor(size.height / HEIGHTf); + float widthScale = size.width / WIDTHf; + float heightScale = size.height / HEIGHTf ; + if (PVSettingsModel.shared.integerScaleEnabled) { + widthScale = floor(widthScale); + heightScale = floor(heightScale); + } float scale = MAX(MIN(widthScale, heightScale), 1); _videoWidth = scale * WIDTHf; _videoHeight = scale * HEIGHTf; diff --git a/Cores/Mupen64Plus/MupenOptions.swift b/Cores/Mupen64Plus/MupenOptions.swift index 71c25754d6..cef7fe34e1 100644 --- a/Cores/Mupen64Plus/MupenOptions.swift +++ b/Cores/Mupen64Plus/MupenOptions.swift @@ -83,9 +83,38 @@ extension MupenGameCore: CoreOptional { values:[ .init(title: "Pure Interpreter", description: "Slowest", value: 0), .init(title: "Cached Interpreter", description: "Default", value: 1), - .init(title: "Dynamic Recompiler", description: "Fastest but bequires JIT or will crash", value: 2)], + .init(title: "Dynamic Recompiler", description: "Fastest but requires JIT or will crash", value: 2)], defaultValue: 1)) + coreOptions.append(.range(.init(title: "Count Per Operation", + description: "Force number of cycles per emulated instruction.", + requiresRestart: true), + range: .init(defaultValue: 2, min: 1, max: 4), defaultValue: 2)) + + coreOptions.append(.bool(.init(title: "Disable Extra Memory", + description: "Disable 4MB expansion RAM pack. May be necessary for some games.", + requiresRestart: true), + defaultValue: false)) + + coreOptions.append(.range(.init(title: "SiDmaDuration", + description: "Duration of SI DMA (-1: use per game settings)", + requiresRestart: true), + range: .init(defaultValue: -1, min: -1, max: 255), defaultValue: -1)) + + coreOptions.append(.bool(.init(title: "Randomize Interrupt", + description: "Randomize PI/SI Interrupt Timing.", + requiresRestart: true), + defaultValue: true)) + + // MARK: --- DEBUG + // MARK: OSD + // Draw on-screen display if True, otherwise don't draw OSD + coreOptions.append(.bool(.init(title: "Debug OSD", + description: "Draw on-screen display if True, otherwise don't draw OSD", + requiresRestart: true), + defaultValue: false)) + + let coreGroup:CoreOption = .group(.init(title: "Mupen Core", description: "Global options for Mupen"), subOptions: coreOptions) @@ -202,11 +231,6 @@ extension MupenGameCore: CoreOptional { // "Allow to use alpha channel of high-res texture fully." glidenOptions.append(.bool(.init(title: "HiRes Full Alpha", description: "Allow to use alpha channel of high-res texture fully.", requiresRestart: true), defaultValue: true)) - // MARK: --- DEBUG - // MARK: OSD - // Draw on-screen display if True, otherwise don't draw OSD - glidenOptions.append(.bool(.init(title: "Debug OSD", description: "Draw on-screen display if True, otherwise don't draw OSD", requiresRestart: true), defaultValue: false)) - // MARK: --- Bloom glidenOptions.append(.bool(.init(title: "Bloom filter", description: nil, requiresRestart: true), defaultValue: false)) // TODO: Add another sub-group, auto disable if off (maybe more work than worth) diff --git a/Cores/Mupen64Plus/Plugins/rsp/cxd4 b/Cores/Mupen64Plus/Plugins/rsp/cxd4 index 11edb7a785..50a976949c 160000 --- a/Cores/Mupen64Plus/Plugins/rsp/cxd4 +++ b/Cores/Mupen64Plus/Plugins/rsp/cxd4 @@ -1 +1 @@ -Subproject commit 11edb7a785621d507968898a100420072076d71d +Subproject commit 50a976949cb47632eb0ae556416274cd80259234 diff --git a/Cores/PPSSPP/cmake/PPSSPP.xcodeproj/project.pbxproj b/Cores/PPSSPP/cmake/PPSSPP.xcodeproj/project.pbxproj index bbcacbbc25..8cfc930f95 100644 --- a/Cores/PPSSPP/cmake/PPSSPP.xcodeproj/project.pbxproj +++ b/Cores/PPSSPP/cmake/PPSSPP.xcodeproj/project.pbxproj @@ -14835,7 +14835,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = RelWithDebInfo; @@ -15682,7 +15681,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = Release; @@ -16925,7 +16923,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = Debug; @@ -20213,7 +20210,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = MinSizeRel; diff --git a/Cores/Play/cmake/Play.xcodeproj/project.pbxproj b/Cores/Play/cmake/Play.xcodeproj/project.pbxproj index 5b4a3717e1..b47e366765 100644 --- a/Cores/Play/cmake/Play.xcodeproj/project.pbxproj +++ b/Cores/Play/cmake/Play.xcodeproj/project.pbxproj @@ -5888,7 +5888,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = MinSizeRel; @@ -6744,7 +6743,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = Release; @@ -8055,7 +8053,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = Debug; @@ -8559,7 +8556,6 @@ CODE_SIGNING_REQUIRED = NO; CODE_SIGN_IDENTITY = ""; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk; SYMROOT = ./cmake/build; }; name = RelWithDebInfo; diff --git a/Cores/TGBDual/PVTGBDual.xcodeproj/project.pbxproj b/Cores/TGBDual/PVTGBDual.xcodeproj/project.pbxproj index ae41eb8320..48fae422d5 100644 --- a/Cores/TGBDual/PVTGBDual.xcodeproj/project.pbxproj +++ b/Cores/TGBDual/PVTGBDual.xcodeproj/project.pbxproj @@ -52,7 +52,6 @@ B33350262078619C0036A448 /* Core.plist in Resources */ = {isa = PBXBuildFile; fileRef = B3C7622720783510009950E4 /* Core.plist */; }; B339468920783F41008DBAB4 /* libpthread.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468820783F41008DBAB4 /* libpthread.tbd */; }; B339468B20783F48008DBAB4 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468A20783F48008DBAB4 /* libz.tbd */; }; - B3411B48276B2F9C00D85327 /* PVLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3411B47276B2F9C00D85327 /* PVLibrary.framework */; }; B3447ECD218BEDD200557ACE /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF4207CD2740040709A /* CoreAudio.framework */; }; B3447ECE218BEDD200557ACE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF1207CD2670040709A /* AudioToolbox.framework */; }; B3447ED0218BEDD200557ACE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B339468A20783F48008DBAB4 /* libz.tbd */; }; @@ -64,7 +63,7 @@ B35E6BF2207CD2680040709A /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF1207CD2670040709A /* AudioToolbox.framework */; }; B35E6BF6207CD2740040709A /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF4207CD2740040709A /* CoreAudio.framework */; }; B35E6BF9207D00D00040709A /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B35E6BF8207D00D00040709A /* AVFoundation.framework */; }; - B3B104B9218F281B00210C39 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3B104B8218F281B00210C39 /* PVSupport.framework */; }; + B3A3976427E6B9C800D8F433 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3A3976327E6B9C800D8F433 /* PVSupport.framework */; }; B3C7621520783162009950E4 /* PVTGBDual.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C7621320783162009950E4 /* PVTGBDual.h */; settings = {ATTRIBUTES = (Public, ); }; }; B3C7621D20783243009950E4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621C20783243009950E4 /* OpenGLES.framework */; platformFilter = ios; }; B3C7621F2078325C009950E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621E2078325C009950E4 /* Foundation.framework */; }; @@ -91,7 +90,6 @@ B3D275CD26E9D71800543CFE /* libretro.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1490199A21C8466700C35ECE /* libretro.cpp */; }; B3D275CF26E9D71800543CFE /* cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 149019AA21C8466700C35ECE /* cheat.cpp */; }; B3D275D826E9D75000543CFE /* libtgbdual-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3D275D726E9D71800543CFE /* libtgbdual-tvOS.a */; }; - B3D275DC26E9D8A000543CFE /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3D275DB26E9D8A000543CFE /* PVSupport.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -187,6 +185,7 @@ B35E6BF3207CD2730040709A /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; B35E6BF4207CD2740040709A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; B35E6BF8207D00D00040709A /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + B3A3976327E6B9C800D8F433 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3B104B8218F281B00210C39 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3C7621020783162009950E4 /* PVTGBDual.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PVTGBDual.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3C7621320783162009950E4 /* PVTGBDual.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PVTGBDual.h; sourceTree = ""; }; @@ -205,9 +204,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B3D275DC26E9D8A000543CFE /* PVSupport.framework in Frameworks */, + B3A3976427E6B9C800D8F433 /* PVSupport.framework in Frameworks */, B324C31C2191964F009F4EDC /* AVFoundation.framework in Frameworks */, - B3B104B9218F281B00210C39 /* PVSupport.framework in Frameworks */, B3447ECD218BEDD200557ACE /* CoreAudio.framework in Frameworks */, B3D275D826E9D75000543CFE /* libtgbdual-tvOS.a in Frameworks */, B3447ECE218BEDD200557ACE /* AudioToolbox.framework in Frameworks */, @@ -223,7 +221,6 @@ buildActionMask = 2147483647; files = ( B3271BE1276B8C730031AECC /* OpenGL.framework in Frameworks */, - B3411B48276B2F9C00D85327 /* PVLibrary.framework in Frameworks */, B35E6BF9207D00D00040709A /* AVFoundation.framework in Frameworks */, B35E6BF6207CD2740040709A /* CoreAudio.framework in Frameworks */, B35E6BF2207CD2680040709A /* AudioToolbox.framework in Frameworks */, @@ -400,6 +397,7 @@ B3C7621B20783242009950E4 /* Frameworks */ = { isa = PBXGroup; children = ( + B3A3976327E6B9C800D8F433 /* PVSupport.framework */, B3271BE0276B8C730031AECC /* OpenGL.framework */, B3411B47276B2F9C00D85327 /* PVLibrary.framework */, B3D275DB26E9D8A000543CFE /* PVSupport.framework */, @@ -740,6 +738,7 @@ GCC_PREPROCESSOR_DEFINITIONS = ( RELEASE, "$(inherited)", + FRONTEND_SUPPORTS_RGB565, ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -941,6 +940,7 @@ GCC_PREPROCESSOR_DEFINITIONS = ( DEBUG, "$(inherited)", + FRONTEND_SUPPORTS_RGB565, ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -959,7 +959,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = ""; + OTHER_CFLAGS = "$(inherited)"; SDKROOT = iphoneos; TVOS_DEPLOYMENT_TARGET = 12.1; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; @@ -1014,6 +1014,7 @@ GCC_PREPROCESSOR_DEFINITIONS = ( RELEASE, "$(inherited)", + FRONTEND_SUPPORTS_RGB565, ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; diff --git a/Cores/TGBDual/PVTGBDualCore/PVTGBDualCore.mm b/Cores/TGBDual/PVTGBDualCore/PVTGBDualCore.mm index bd5e125c91..e27cece174 100644 --- a/Cores/TGBDual/PVTGBDualCore/PVTGBDualCore.mm +++ b/Cores/TGBDual/PVTGBDualCore/PVTGBDualCore.mm @@ -14,6 +14,10 @@ #include "libretro.h" +void log(retro_log_level level, const char *fmt, ...) { + +} + @interface PVTGBDualCore () { bool emulationHasRun; } @@ -234,15 +238,15 @@ static bool environment_callback(unsigned cmd, void *data) { switch (pix_fmt) { case RETRO_PIXEL_FORMAT_0RGB1555: - NSLog(@"Environ SET_PIXEL_FORMAT: 0RGB1555"); + ILOG(@"Environ SET_PIXEL_FORMAT: 0RGB1555"); break; case RETRO_PIXEL_FORMAT_RGB565: - NSLog(@"Environ SET_PIXEL_FORMAT: RGB565"); + ILOG(@"Environ SET_PIXEL_FORMAT: RGB565"); break; case RETRO_PIXEL_FORMAT_XRGB8888: - NSLog(@"Environ SET_PIXEL_FORMAT: XRGB8888"); + ILOG(@"Environ SET_PIXEL_FORMAT: XRGB8888"); break; default: @@ -255,7 +259,7 @@ static bool environment_callback(unsigned cmd, void *data) { NSString *appSupportPath = current.BIOSPath; *(const char **)data = [appSupportPath UTF8String]; - NSLog(@"Environ SYSTEM_DIRECTORY: \"%@\".\n", appSupportPath); + ILOG(@"Environ SYSTEM_DIRECTORY: \"%@\".\n", appSupportPath); break; } case RETRO_ENVIRONMENT_GET_VARIABLE: @@ -264,43 +268,47 @@ static bool environment_callback(unsigned cmd, void *data) { if(!strcmp(req->key, "tgbdual_gblink_enable")) { req->value = "enabled"; //disabled|enabled - NSLog(@"Setting key: %s to val: %s", req->key, req->value); + ILOG(@"Setting key: %s to val: %s", req->key, req->value); return true; } else if(!strcmp(req->key, "tgbdual_screen_placement")) { req->value = "left-right"; //left-right|top-down - NSLog(@"Setting key: %s to val: %s", req->key, req->value); + ILOG(@"Setting key: %s to val: %s", req->key, req->value); return true; } else if(!strcmp(req->key, "tgbdual_switch_screens")) { req->value = "normal"; //normal|switched - NSLog(@"Setting key: %s to val: %s", req->key, req->value); + ILOG(@"Setting key: %s to val: %s", req->key, req->value); return true; } else if(!strcmp(req->key, "tgbdual_single_screen_mp")) { req->value = "both players"; //both players|player 1 only|player 2 only - NSLog(@"Setting key: %s to val: %s", req->key, req->value); + ILOG(@"Setting key: %s to val: %s", req->key, req->value); return true; } else if(!strcmp(req->key, "tgbdual_audio_output")) { req->value = "Game Boy #1"; //Game Boy #1|Game Boy #2 - NSLog(@"Setting key: %s to val: %s", req->key, req->value); + ILOG(@"Setting key: %s to val: %s", req->key, req->value); return true; } - NSLog(@"Unhandled variable: %s", req->key); + WLOG(@"Unhandled variable: %s", req->key); return true; } case RETRO_ENVIRONMENT_SET_VARIABLES: { break; } - case RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL: case RETRO_ENVIRONMENT_GET_LOG_INTERFACE: + { + retro_log_callback log_callback = *(retro_log_callback*)data; + return true; + } + case RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL: case RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS: case RETRO_ENVIRONMENT_SET_GEOMETRY: case RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO: @@ -308,7 +316,7 @@ static bool environment_callback(unsigned cmd, void *data) { break; } default : - NSLog(@"Environ UNSUPPORTED (#%u).\n", cmd); + WLOG(@"Environ UNSUPPORTED (#%u).\n", cmd); return false; } diff --git a/ExperimentalCores/ExperimentalCores.h b/ExperimentalCores/ExperimentalCores.h new file mode 100644 index 0000000000..95fc4cec71 --- /dev/null +++ b/ExperimentalCores/ExperimentalCores.h @@ -0,0 +1,19 @@ +// +// ExperimentalCores.h +// ExperimentalCores +// +// Created by Joseph Mattiello on 3/12/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#import + +//! Project version number for ExperimentalCores. +FOUNDATION_EXPORT double ExperimentalCoresVersionNumber; + +//! Project version string for ExperimentalCores. +FOUNDATION_EXPORT const unsigned char ExperimentalCoresVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/PVLibrary/PVLibrary.xcodeproj/project.pbxproj b/PVLibrary/PVLibrary.xcodeproj/project.pbxproj index ce833ac7ce..77364c1f3d 100644 --- a/PVLibrary/PVLibrary.xcodeproj/project.pbxproj +++ b/PVLibrary/PVLibrary.xcodeproj/project.pbxproj @@ -13,7 +13,6 @@ 1180B3202492A9CB00636C8A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1180B31F2492A9C200636C8A /* CoreServices.framework */; }; 11AFB2B324867482000A3922 /* PVGameLibrary+Migration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11AFB2B224867482000A3922 /* PVGameLibrary+Migration.swift */; }; 11AFB2B424867482000A3922 /* PVGameLibrary+Migration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11AFB2B224867482000A3922 /* PVGameLibrary+Migration.swift */; }; - B3014FA227B487EB006AC79B /* RxDataSources in Frameworks */ = {isa = PBXBuildFile; productRef = B3014FA127B487EB006AC79B /* RxDataSources */; }; B3014FA427B487F0006AC79B /* Differentiator in Frameworks */ = {isa = PBXBuildFile; productRef = B3014FA327B487F0006AC79B /* Differentiator */; }; B3014FA627B487FD006AC79B /* Differentiator in Frameworks */ = {isa = PBXBuildFile; productRef = B3014FA527B487FD006AC79B /* Differentiator */; }; B305EF9F276B50E2003AE510 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B305EF9E276B50DF003AE510 /* SwiftUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; @@ -264,16 +263,10 @@ B3274E802106BDD300857F52 /* GameImporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3579D342106B4D700DDEBD6 /* GameImporter.swift */; }; B3274E842106BF2F00857F52 /* PVImageFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3274E832106BF2F00857F52 /* PVImageFile.swift */; }; B3274E862106BFD000857F52 /* ImportCandidateFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3274E852106BFD000857F52 /* ImportCandidateFile.swift */; }; - B336B8FB26B399B400960A81 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = B336B8FA26B399B400960A81 /* RxCocoa */; }; - B336B8FF26B399B400960A81 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = B336B8FE26B399B400960A81 /* RxSwift */; }; - B336B90126B399E200960A81 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = B336B90026B399E200960A81 /* RxSwift */; }; - B336B90326B39A1200960A81 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = B336B90226B39A1200960A81 /* RxCocoa */; }; B336B90626B39ABA00960A81 /* RxRealm in Frameworks */ = {isa = PBXBuildFile; productRef = B336B90526B39ABA00960A81 /* RxRealm */; }; B336B90C26B39ACB00960A81 /* RxRealm in Frameworks */ = {isa = PBXBuildFile; productRef = B336B90B26B39ACB00960A81 /* RxRealm */; }; B336B90F26B39BCF00960A81 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = B336B90E26B39BCF00960A81 /* SQLite */; }; B336B91126B39BDA00960A81 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = B336B91026B39BDA00960A81 /* SQLite */; }; - B3411C37276B498100D85327 /* Realm in Frameworks */ = {isa = PBXBuildFile; productRef = B3411C36276B498100D85327 /* Realm */; }; - B3411C39276B498100D85327 /* RealmSwift in Frameworks */ = {isa = PBXBuildFile; productRef = B3411C38276B498100D85327 /* RealmSwift */; }; B34AB8632106F2E900C45F09 /* PVLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = B3579D122106B11D00DDEBD6 /* PVLibrary.h */; settings = {ATTRIBUTES = (Public, ); }; }; B354E78E219A76C80041F971 /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = B354E785219A76C80041F971 /* Game.swift */; }; B354E78F219A76C80041F971 /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = B354E785219A76C80041F971 /* Game.swift */; }; @@ -1106,15 +1099,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B3411C39276B498100D85327 /* RealmSwift in Frameworks */, B37B4DF027B2292F0068F8D1 /* Differentiator in Frameworks */, B305EF9F276B50E2003AE510 /* SwiftUI.framework in Frameworks */, - B3411C37276B498100D85327 /* Realm in Frameworks */, B336B90F26B39BCF00960A81 /* SQLite in Frameworks */, - B336B8FF26B399B400960A81 /* RxSwift in Frameworks */, B3AF701621916CF3000FA7F9 /* PVSupport.framework in Frameworks */, B3067F742106B9130091437F /* CoreGraphics.framework in Frameworks */, - B336B8FB26B399B400960A81 /* RxCocoa in Frameworks */, 1180B31E2492A9BB00636C8A /* CoreServices.framework in Frameworks */, B3067F4B2106B5A30091437F /* Foundation.framework in Frameworks */, B37B4DF227B2292F0068F8D1 /* RxDataSources in Frameworks */, @@ -1129,13 +1118,11 @@ files = ( B305EFA1276B5112003AE510 /* SwiftUI.framework in Frameworks */, B336B91126B39BDA00960A81 /* SQLite in Frameworks */, - B336B90326B39A1200960A81 /* RxCocoa in Frameworks */, B324C2ED219192FF009F4EDC /* PVSupport.framework in Frameworks */, B3014FA427B487F0006AC79B /* Differentiator in Frameworks */, B336B90C26B39ACB00960A81 /* RxRealm in Frameworks */, EF7D4AA527B44FA7002528B7 /* RxDataSources in Frameworks */, B3AF6FBF219160C4000FA7F9 /* Foundation.framework in Frameworks */, - B336B90126B399E200960A81 /* RxSwift in Frameworks */, 1180B3202492A9CB00636C8A /* CoreServices.framework in Frameworks */, B3AF6FBD219160BF000FA7F9 /* CoreGraphics.framework in Frameworks */, B3128066274C658E00550720 /* ZipArchive in Frameworks */, @@ -2007,13 +1994,9 @@ ); name = "PVLibrary-iOS"; packageProductDependencies = ( - B336B8FA26B399B400960A81 /* RxCocoa */, - B336B8FE26B399B400960A81 /* RxSwift */, B336B90526B39ABA00960A81 /* RxRealm */, B336B90E26B39BCF00960A81 /* SQLite */, B3A3204027209B4300F338F6 /* ZipArchive */, - B3411C36276B498100D85327 /* Realm */, - B3411C38276B498100D85327 /* RealmSwift */, B37B4DEF27B2292F0068F8D1 /* Differentiator */, B37B4DF127B2292F0068F8D1 /* RxDataSources */, ); @@ -2036,8 +2019,6 @@ ); name = "PVLibrary-tvOS"; packageProductDependencies = ( - B336B90026B399E200960A81 /* RxSwift */, - B336B90226B39A1200960A81 /* RxCocoa */, B336B90B26B39ACB00960A81 /* RxRealm */, B336B91026B39BDA00960A81 /* SQLite */, B3128065274C658E00550720 /* ZipArchive */, @@ -2100,11 +2081,9 @@ ); mainGroup = B3579D052106B11D00DDEBD6; packageReferences = ( - B336B8F926B399B400960A81 /* XCRemoteSwiftPackageReference "RxSwift" */, B336B90426B39ABA00960A81 /* XCRemoteSwiftPackageReference "RxRealm" */, B336B90D26B39BCF00960A81 /* XCRemoteSwiftPackageReference "SQLite.swift" */, B3A3203F27209B4300F338F6 /* XCRemoteSwiftPackageReference "ZipArchive" */, - B3411C35276B498100D85327 /* XCRemoteSwiftPackageReference "realm-cocoa" */, B37B4DEE27B2292F0068F8D1 /* XCRemoteSwiftPackageReference "RxDataSources" */, ); productRefGroup = B3579D102106B11D00DDEBD6 /* Products */; @@ -3444,36 +3423,20 @@ version = 2.3.0; }; }; - B336B8F926B399B400960A81 /* XCRemoteSwiftPackageReference "RxSwift" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/ReactiveX/RxSwift.git"; - requirement = { - kind = exactVersion; - version = 6.2.0; - }; - }; B336B90426B39ABA00960A81 /* XCRemoteSwiftPackageReference "RxRealm" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/RxSwiftCommunity/RxRealm.git"; requirement = { - kind = exactVersion; - version = 5.0.3; + kind = upToNextMajorVersion; + minimumVersion = 5.0.5; }; }; B336B90D26B39BCF00960A81 /* XCRemoteSwiftPackageReference "SQLite.swift" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/stephencelis/SQLite.swift.git"; requirement = { - kind = exactVersion; - version = 0.12.2; - }; - }; - B3411C35276B498100D85327 /* XCRemoteSwiftPackageReference "realm-cocoa" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/realm/realm-cocoa.git"; - requirement = { - kind = exactVersion; - version = 10.20.2; + kind = upToNextMajorVersion; + minimumVersion = 0.13.2; }; }; B37B4DEE27B2292F0068F8D1 /* XCRemoteSwiftPackageReference "RxDataSources" */ = { @@ -3488,18 +3451,13 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/ZipArchive/ZipArchive"; requirement = { - kind = exactVersion; - version = 2.3.0; + kind = upToNextMajorVersion; + minimumVersion = 2.3.0; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - B3014FA127B487EB006AC79B /* RxDataSources */ = { - isa = XCSwiftPackageProductDependency; - package = B37B4DEE27B2292F0068F8D1 /* XCRemoteSwiftPackageReference "RxDataSources" */; - productName = RxDataSources; - }; B3014FA327B487F0006AC79B /* Differentiator */ = { isa = XCSwiftPackageProductDependency; package = B37B4DEE27B2292F0068F8D1 /* XCRemoteSwiftPackageReference "RxDataSources" */; @@ -3540,26 +3498,6 @@ package = B3A3203F27209B4300F338F6 /* XCRemoteSwiftPackageReference "ZipArchive" */; productName = ZipArchive; }; - B336B8FA26B399B400960A81 /* RxCocoa */ = { - isa = XCSwiftPackageProductDependency; - package = B336B8F926B399B400960A81 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxCocoa; - }; - B336B8FE26B399B400960A81 /* RxSwift */ = { - isa = XCSwiftPackageProductDependency; - package = B336B8F926B399B400960A81 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxSwift; - }; - B336B90026B399E200960A81 /* RxSwift */ = { - isa = XCSwiftPackageProductDependency; - package = B336B8F926B399B400960A81 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxSwift; - }; - B336B90226B39A1200960A81 /* RxCocoa */ = { - isa = XCSwiftPackageProductDependency; - package = B336B8F926B399B400960A81 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxCocoa; - }; B336B90526B39ABA00960A81 /* RxRealm */ = { isa = XCSwiftPackageProductDependency; package = B336B90426B39ABA00960A81 /* XCRemoteSwiftPackageReference "RxRealm" */; @@ -3580,16 +3518,6 @@ package = B336B90D26B39BCF00960A81 /* XCRemoteSwiftPackageReference "SQLite.swift" */; productName = SQLite; }; - B3411C36276B498100D85327 /* Realm */ = { - isa = XCSwiftPackageProductDependency; - package = B3411C35276B498100D85327 /* XCRemoteSwiftPackageReference "realm-cocoa" */; - productName = Realm; - }; - B3411C38276B498100D85327 /* RealmSwift */ = { - isa = XCSwiftPackageProductDependency; - package = B3411C35276B498100D85327 /* XCRemoteSwiftPackageReference "realm-cocoa" */; - productName = RealmSwift; - }; B37B4DEF27B2292F0068F8D1 /* Differentiator */ = { isa = XCSwiftPackageProductDependency; package = B37B4DEE27B2292F0068F8D1 /* XCRemoteSwiftPackageReference "RxDataSources" */; diff --git a/PVLibrary/PVLibrary/Database/PVGameLibrary.swift b/PVLibrary/PVLibrary/Database/PVGameLibrary.swift index 8bcd565533..97abcd84a4 100644 --- a/PVLibrary/PVLibrary/Database/PVGameLibrary.swift +++ b/PVLibrary/PVLibrary/Database/PVGameLibrary.swift @@ -16,30 +16,54 @@ public struct PVGameLibrary { public let saveStates: Observable<[PVSaveState]> public let favorites: Observable<[PVGame]> public let recents: Observable<[PVRecentGame]> + public let mostPlayed: Observable<[PVGame]> + + public let saveStatesResults: Results + public let favoritesResults: Results + public let recentsResults: Results + public let mostPlayedResults: Results + public let activeSystems: Results private let database: RomDatabase public init(database: RomDatabase) { self.database = database + + self.saveStatesResults = database.all(PVSaveState.self).filter("game != nil && game.system != nil").sorted(byKeyPath: #keyPath(PVSaveState.lastOpened), ascending: false).sorted(byKeyPath: #keyPath(PVSaveState.date), ascending: false) self.saveStates = Observable - .collection(from: database.all(PVSaveState.self).filter("game != nil && game.system != nil").sorted(byKeyPath: #keyPath(PVSaveState.lastOpened), ascending: false).sorted(byKeyPath: #keyPath(PVSaveState.date), ascending: false)) + .collection(from: self.saveStatesResults) .mapMany { $0 } + + self.favoritesResults = database.all(PVGame.self, where: #keyPath(PVGame.isFavorite), value: true).sorted(byKeyPath: #keyPath(PVGame.title), ascending: false) self.favorites = Observable - .collection(from: database.all(PVGame.self, where: #keyPath(PVGame.isFavorite), value: true).sorted(byKeyPath: #keyPath(PVGame.title), ascending: false)) + .collection(from: self.favoritesResults) .mapMany { $0 } + + self.recentsResults = database.all(PVRecentGame.self).sorted(byKeyPath: #keyPath(PVRecentGame.lastPlayedDate), ascending: false) self.recents = Observable - .collection(from: database.all(PVRecentGame.self).sorted(byKeyPath: #keyPath(PVRecentGame.lastPlayedDate), ascending: false)) + .collection(from: recentsResults) .mapMany { $0 } + + self.mostPlayedResults = database.all(PVGame.self).sorted(byKeyPath: #keyPath(PVGame.playCount), ascending: false) + self.mostPlayed = Observable + .collection(from: self.mostPlayedResults) + .mapMany { $0 } + + self.activeSystems = database.all(PVSystem.self, filter: NSPredicate(format: "games.@count > 0")).sorted(byKeyPath: #keyPath(PVSystem.name), ascending: false) } public func search(for searchText: String) -> Observable<[PVGame]> { + return Observable.collection(from: searchResults(for: searchText)).mapMany { $0 } + } + + public func searchResults(for searchText: String) -> Results { // Search first by title, and a broader search if that one's empty let titleResults = self.database.all(PVGame.self, filter: NSPredicate(format: "title CONTAINS[c] %@", argumentArray: [searchText])) let results = !titleResults.isEmpty ? titleResults : self.database.all(PVGame.self, filter: NSPredicate(format: "genres LIKE[c] %@ OR gameDescription CONTAINS[c] %@ OR regionName LIKE[c] %@ OR developer LIKE[c] %@ or publisher LIKE[c] %@", argumentArray: [searchText, searchText, searchText, searchText, searchText])) - return Observable.collection(from: results.sorted(byKeyPath: #keyPath(PVGame.title), ascending: true)).mapMany { $0 } + return results.sorted(byKeyPath: #keyPath(PVGame.title), ascending: true) } public func systems(sortedBy sortOptions: SortOptions) -> Observable<[System]> { @@ -106,6 +130,18 @@ public struct PVGameLibrary { return Disposables.create() } } + + public func gamesForSystem(systemIdentifier: String) -> Results { + return database.all(PVGame.self).filter(NSPredicate(format: "systemIdentifier == %@", argumentArray: [systemIdentifier])) + } + + public func system(identifier: String) -> PVSystem? { + return database.object(ofType: PVSystem.self, wherePrimaryKeyEquals: identifier) + } + + public func game(identifier: String) -> PVGame? { + return database.object(ofType: PVGame.self, wherePrimaryKeyEquals: identifier) + } } public extension ObservableType where Element: Collection { @@ -124,6 +160,8 @@ extension LinkingObjects where Element: PVGame { sortDescriptors.append(SortDescriptor(keyPath: #keyPath(PVGame.importDate), ascending: false)) case .lastPlayed: sortDescriptors.append(SortDescriptor(keyPath: #keyPath(PVGame.lastPlayed), ascending: false)) + case .mostPlayed: + sortDescriptors.append(SortDescriptor(keyPath: #keyPath(PVGame.playCount), ascending: false)) } sortDescriptors.append(SortDescriptor(keyPath: #keyPath(PVGame.title), ascending: true)) @@ -175,6 +213,21 @@ extension Array where Element == PVGameLibrary.System { return titleSort(s1, s2) } }) + case .mostPlayed: + return sorted(by: { (s1, s2) -> Bool in + let l1 = s1.sortedGames.first?.playCount + let l2 = s2.sortedGames.first?.playCount + + if let l1 = l1, let l2 = l2 { + return l1 < l2 + } else if l1 != nil { + return true + } else if l2 != nil { + return false + } else { + return titleSort(s1, s2) + } + }) } } } diff --git a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVGame.swift b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVGame.swift index 5cb3099784..391f71373c 100644 --- a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVGame.swift +++ b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVGame.swift @@ -13,7 +13,7 @@ import RealmSwift protocol PVLibraryEntry where Self: Object {} @objcMembers -public final class PVGame: Object, PVLibraryEntry { +public final class PVGame: Object, Identifiable, PVLibraryEntry { public dynamic var title: String = "" public dynamic var id = NSUUID().uuidString diff --git a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVRecentGame.swift b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVRecentGame.swift index 008fd9ac36..40641f56b5 100644 --- a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVRecentGame.swift +++ b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVRecentGame.swift @@ -9,7 +9,7 @@ import Foundation import RealmSwift -@objcMembers public final class PVRecentGame: Object, PVLibraryEntry { +@objcMembers public final class PVRecentGame: Object, Identifiable, PVLibraryEntry { public dynamic var game: PVGame! public dynamic var lastPlayedDate: Date = Date() public dynamic var core: PVCore? diff --git a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSaveState.swift b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSaveState.swift index 0b561314a3..813c2cbc3f 100644 --- a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSaveState.swift +++ b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSaveState.swift @@ -21,7 +21,7 @@ extension LocalFileProvider where Self: Filed { } @objcMembers -public final class PVSaveState: Object, Filed, LocalFileProvider { +public final class PVSaveState: Object, Identifiable, Filed, LocalFileProvider { public dynamic var id = UUID().uuidString public dynamic var game: PVGame! public dynamic var core: PVCore! diff --git a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSystem.swift b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSystem.swift index 72d5b14084..59e9b4f64a 100644 --- a/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSystem.swift +++ b/PVLibrary/PVLibrary/RealmPlatform/Entities/PVSystem.swift @@ -34,7 +34,7 @@ public struct SystemOptions: OptionSet, Codable { } @objcMembers -public final class PVSystem: Object, SystemProtocol { +public final class PVSystem: Object, Identifiable, SystemProtocol { public typealias BIOSInfoProviderType = PVBIOS public dynamic var name: String = "" diff --git a/PVLibrary/PVLibrary/RealmPlatform/PVObject.swift b/PVLibrary/PVLibrary/RealmPlatform/PVObject.swift index 4075890006..c7486fa85f 100644 --- a/PVLibrary/PVLibrary/RealmPlatform/PVObject.swift +++ b/PVLibrary/PVLibrary/RealmPlatform/PVObject.swift @@ -22,7 +22,14 @@ public extension PVObject where Self: Object { } func delete() throws { - try RomDatabase.sharedInstance.delete(self) + try RomDatabase.sharedInstance.delete(self.warmUp()) + } + + func warmUp() -> Self { + if self.isFrozen, let thawed = self.thaw() { + return thawed + } + return self } static func with(primaryKey: String) -> Self? { diff --git a/PVLibrary/PVLibrary/Resources/systems.plist b/PVLibrary/PVLibrary/Resources/systems.plist index 5d5ea00a9d..636aee1844 100644 --- a/PVLibrary/PVLibrary/Resources/systems.plist +++ b/PVLibrary/PVLibrary/Resources/systems.plist @@ -3376,9 +3376,9 @@ MD5 0bac0c6a50104045d902df4503a4c30b Name - ataribas.rom + ATARIBAS.ROM Size - 0 + 8192 Description @@ -3388,7 +3388,7 @@ Name ATARIXL.ROM Size - 0 + 16384 Description @@ -3398,7 +3398,7 @@ Name ATARIOSA.ROM Size - 0 + 10240 Description @@ -3408,7 +3408,7 @@ Name ATARIOSB.ROM Size - 0 + 10240 PVSupportedExtensions diff --git a/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions+Protocols.swift b/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions+Protocols.swift index 9cfc5e736a..1e7fd34ca0 100644 --- a/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions+Protocols.swift +++ b/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions+Protocols.swift @@ -31,6 +31,7 @@ public protocol EnumCOption: COption { } public protocol OptionValueRepresentable: Codable {} +extension Array: OptionValueRepresentable where Self.Element: OptionValueRepresentable { } extension Int: OptionValueRepresentable {} extension UInt: OptionValueRepresentable {} diff --git a/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions.swift b/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions.swift index 6ee729d046..dd58a1ee55 100644 --- a/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions.swift +++ b/PVSupport/Sources/PVSupport/CoreOptions/CoreOptions.swift @@ -26,9 +26,10 @@ public enum CoreOption { case let .rangef(_, _, defaultValue): return defaultValue case let .multi(_, values): - return values.first?.title - case let .enumeration(_, values, defaultValue): - return values.first?.value ?? defaultValue + return values.filter { $0.isDefault }.map{ $0.title } +// return values.first { $0.isDefault }?.title + case let .enumeration(_, _, defaultValue): + return defaultValue case let .string(_, defaultValue): return defaultValue case .group: diff --git a/PVSupport/Sources/PVSupport/CoreOptions/Types/CoreOptionMultiValue.swift b/PVSupport/Sources/PVSupport/CoreOptions/Types/CoreOptionMultiValue.swift index e6766a5b0b..5bf6d8052e 100644 --- a/PVSupport/Sources/PVSupport/CoreOptions/Types/CoreOptionMultiValue.swift +++ b/PVSupport/Sources/PVSupport/CoreOptions/Types/CoreOptionMultiValue.swift @@ -11,11 +11,12 @@ import Foundation public struct CoreOptionMultiValue { public let title: String public let description: String? + public let isDefault: Bool public static func values(fromArray a: [[String]]) -> [CoreOptionMultiValue] { return a.compactMap { if $0.count == 1 { - return .init(title: $0[0], description: nil) + return .init(title: $0[0], description: nil, isDefault: false) } else if $0.count >= 2 { return .init(title: $0[0], description: $0[1]) } else { @@ -26,20 +27,22 @@ public struct CoreOptionMultiValue { public static func values(fromArray a: [String]) -> [CoreOptionMultiValue] { return a.map { - .init(title: $0, description: nil) + .init(title: $0, description: nil, isDefault: false) } } } extension CoreOptionMultiValue: Codable, Equatable, Hashable {} extension CoreOptionMultiValue { - public init(title: String, description: String) { + public init(title: String, description: String, isDefault: Bool = false) { self.title = title self.description = description + self.isDefault = isDefault } public init(_ title: String, _ description: String) { self.title = title self.description = description + self.isDefault = false } } diff --git a/PVSupport/Sources/PVSupport/Settings/PVSettingsModel.swift b/PVSupport/Sources/PVSupport/Settings/PVSettingsModel.swift index 3ac6f64d33..036733184d 100644 --- a/PVSupport/Sources/PVSupport/Settings/PVSettingsModel.swift +++ b/PVSupport/Sources/PVSupport/Settings/PVSettingsModel.swift @@ -235,6 +235,10 @@ extension MirroredSettings { // @objc public dynamic var multiThreadedGL = BoolSetting(false, title: "Multi-threaded GL", info: "Use threaded GLES calls.") @objc public dynamic var multiThreadedGL = true @objc public dynamic var multiSampling = true + #if os(tvOS) + @objc public dynamic var tvOSThemes = false + #endif + @objc public dynamic var onscreenJoypad = true } public dynamic var debugOptions = DebugOptions() diff --git a/PVSupport/Sources/PVSupport/Settings/SortOption.swift b/PVSupport/Sources/PVSupport/Settings/SortOption.swift index 5a120d225f..99a869e336 100644 --- a/PVSupport/Sources/PVSupport/Settings/SortOption.swift +++ b/PVSupport/Sources/PVSupport/Settings/SortOption.swift @@ -13,12 +13,14 @@ public enum SortOptions: UInt, CustomStringConvertible, CaseIterable, UserDefaul case title case importDate case lastPlayed + case mostPlayed public var description: String { switch self { case .title: return "Title" case .importDate: return "Imported" case .lastPlayed: return "Last Played" + case .mostPlayed: return "Most Played" } } @@ -38,6 +40,8 @@ public enum SortOptions: UInt, CustomStringConvertible, CaseIterable, UserDefaul return .importDate case 2: return .lastPlayed + case 3: + return .mostPlayed default: ELOG("Bad row \(row)") return .title diff --git a/Provenance Clip/Assets.xcassets/AccentColor.colorset/Contents.json b/Provenance Clip/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000000..eb87897008 --- /dev/null +++ b/Provenance Clip/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance Clip/Assets.xcassets/AppIcon.appiconset/Contents.json b/Provenance Clip/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..9221b9bb1a --- /dev/null +++ b/Provenance Clip/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance Clip/Assets.xcassets/Contents.json b/Provenance Clip/Assets.xcassets/Contents.json new file mode 100644 index 0000000000..73c00596a7 --- /dev/null +++ b/Provenance Clip/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance Clip/ContentView.swift b/Provenance Clip/ContentView.swift new file mode 100644 index 0000000000..d74699f74e --- /dev/null +++ b/Provenance Clip/ContentView.swift @@ -0,0 +1,22 @@ +// +// ContentView.swift +// Provenance Clip +// +// Created by Joseph Mattiello on 2/19/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import SwiftUI + +struct ContentView: View { + var body: some View { + Text("Hello, world!") + .padding() + } +} + +struct ContentView_Previews: PreviewProvider { + static var previews: some View { + ContentView() + } +} diff --git a/Provenance Clip/Info.plist b/Provenance Clip/Info.plist new file mode 100644 index 0000000000..074a6d1200 --- /dev/null +++ b/Provenance Clip/Info.plist @@ -0,0 +1,13 @@ + + + + + NSAppClip + + NSAppClipRequestEphemeralUserNotification + + NSAppClipRequestLocationConfirmation + + + + diff --git a/Provenance Clip/Preview Content/Preview Assets.xcassets/Contents.json b/Provenance Clip/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000000..73c00596a7 --- /dev/null +++ b/Provenance Clip/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance Clip/Provenance_Clip.entitlements b/Provenance Clip/Provenance_Clip.entitlements new file mode 100644 index 0000000000..20453528d5 --- /dev/null +++ b/Provenance Clip/Provenance_Clip.entitlements @@ -0,0 +1,18 @@ + + + + + com.apple.developer.associated-domains + + appclips:provenance.app + + com.apple.developer.parent-application-identifiers + + $(AppIdentifierPrefix)org.provenance-emu.provenance + + com.apple.security.application-groups + + group.org.provenance-emu.provenance + + + diff --git a/Provenance Clip/Provenance_ClipApp.swift b/Provenance Clip/Provenance_ClipApp.swift new file mode 100644 index 0000000000..53167d042b --- /dev/null +++ b/Provenance Clip/Provenance_ClipApp.swift @@ -0,0 +1,18 @@ +// +// Provenance_ClipApp.swift +// Provenance Clip +// +// Created by Joseph Mattiello on 2/19/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import SwiftUI + +@main +struct Provenance_ClipApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} diff --git a/Provenance.xcodeproj/project.pbxproj b/Provenance.xcodeproj/project.pbxproj index 0bee90aa36..eea1f647a2 100644 --- a/Provenance.xcodeproj/project.pbxproj +++ b/Provenance.xcodeproj/project.pbxproj @@ -80,7 +80,6 @@ 1A2FB10D206EF07C00A1F942 /* PVSaveStateCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A2FB10B206EF07C00A1F942 /* PVSaveStateCollectionViewCell.swift */; }; 1A2FB10F206EF29E00A1F942 /* PVSaveStateHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A2FB10E206EF29E00A1F942 /* PVSaveStateHeaderView.swift */; }; 1A2FB110206EF29E00A1F942 /* PVSaveStateHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A2FB10E206EF29E00A1F942 /* PVSaveStateHeaderView.swift */; }; - 1A3D409817B2DCE4004DFFFC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A3D409717B2DCE4004DFFFC /* UIKit.framework */; settings = {ATTRIBUTES = (Required, ); }; }; 1A3D409A17B2DCE4004DFFFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A3D409917B2DCE4004DFFFC /* Foundation.framework */; }; 1A3D409C17B2DCE4004DFFFC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A3D409B17B2DCE4004DFFFC /* CoreGraphics.framework */; }; 1A3D40A217B2DCE4004DFFFC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1A3D40A017B2DCE4004DFFFC /* InfoPlist.strings */; }; @@ -146,6 +145,22 @@ 378F4A0D1B63D7CD0065FA39 /* GCDWebUploader.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 378F49FD1B63D7CD0065FA39 /* GCDWebUploader.bundle */; }; 378F4A0E1B63D7CD0065FA39 /* GCDWebUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 378F49FF1B63D7CD0065FA39 /* GCDWebUploader.m */; }; 378F4A111B63DCF00065FA39 /* PVWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 378F4A101B63DCF00065FA39 /* PVWebServer.m */; }; + 37EEA29A27BC7E610070E222 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28627BC7E610070E222 /* HomeView.swift */; }; + 37EEA29B27BC7E610070E222 /* PVRootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28727BC7E610070E222 /* PVRootViewController.swift */; }; + 37EEA29C27BC7E610070E222 /* PVRootViewController+DelegateMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28827BC7E610070E222 /* PVRootViewController+DelegateMethods.swift */; }; + 37EEA29D27BC7E610070E222 /* SideNavigationController+NestedTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28A27BC7E610070E222 /* SideNavigationController+NestedTypes.swift */; }; + 37EEA29E27BC7E610070E222 /* SideNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28B27BC7E610070E222 /* SideNavigationController.swift */; }; + 37EEA29F27BC7E610070E222 /* UIViewController+SideNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28C27BC7E610070E222 /* UIViewController+SideNavigationController.swift */; }; + 37EEA2A027BC7E610070E222 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28E27BC7E610070E222 /* Extensions.swift */; }; + 37EEA2A127BC7E610070E222 /* GameContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29027BC7E610070E222 /* GameContextMenu.swift */; }; + 37EEA2A227BC7E610070E222 /* GameItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29127BC7E610070E222 /* GameItemView.swift */; }; + 37EEA2A327BC7E610070E222 /* ViewControllerResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29227BC7E610070E222 /* ViewControllerResolver.swift */; }; + 37EEA2A427BC7E610070E222 /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29327BC7E610070E222 /* SearchBar.swift */; }; + 37EEA2A527BC7E610070E222 /* SideMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29527BC7E610070E222 /* SideMenuView.swift */; }; + 37EEA2A627BC7E610070E222 /* PVRootViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29627BC7E610070E222 /* PVRootViewModel.swift */; }; + 37EEA2A727BC7E610070E222 /* ConsolesWrapperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29827BC7E610070E222 /* ConsolesWrapperView.swift */; }; + 37EEA2A827BC7E610070E222 /* ConsoleGamesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29927BC7E610070E222 /* ConsoleGamesView.swift */; }; + 37EEA2AB27BC81890070E222 /* Introspect in Frameworks */ = {isa = PBXBuildFile; productRef = 37EEA2AA27BC81890070E222 /* Introspect */; }; 42BC83A917E6775E00E9A607 /* PVGameLibrarySectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42BC83A817E6775E00E9A607 /* PVGameLibrarySectionHeaderView.swift */; }; 55546DF1257D6CA800616332 /* PVTGBDual.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5525388625574D48004B00B6 /* PVTGBDual.framework */; }; 55546DF2257D6CA800616332 /* PVTGBDual.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5525388625574D48004B00B6 /* PVTGBDual.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -209,13 +224,55 @@ B324C61B219203AF009F4EDC /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B324C61A219203AF009F4EDC /* libc++.tbd */; }; B324C61D21920523009F4EDC /* ProSystem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B324C61021920037009F4EDC /* ProSystem.framework */; }; B324C61E21920523009F4EDC /* ProSystem.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B324C61021920037009F4EDC /* ProSystem.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B324C61F2192057E009F4EDC /* PVFCEU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3995E4E2058229F001D4985 /* PVFCEU.framework */; }; - B324C6202192057E009F4EDC /* PVFCEU.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3995E4E2058229F001D4985 /* PVFCEU.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B324C6222192059E009F4EDC /* PVMednafen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B324C6212192059E009F4EDC /* PVMednafen.framework */; }; B324C6232192059E009F4EDC /* PVMednafen.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B324C6212192059E009F4EDC /* PVMednafen.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B324C64F219216DD009F4EDC /* PVLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B324C64E219216DD009F4EDC /* PVLibrary.framework */; }; B324C650219216DD009F4EDC /* PVLibrary.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B324C64E219216DD009F4EDC /* PVLibrary.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B324C651219216FF009F4EDC /* PVLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B324C64E219216DD009F4EDC /* PVLibrary.framework */; }; + B3270F8227DCB25100E83180 /* Cores.h in Headers */ = {isa = PBXBuildFile; fileRef = B3270F8127DCB25100E83180 /* Cores.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3270F8C27DCB2B200E83180 /* PVFCEU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8B27DCB2B200E83180 /* PVFCEU.framework */; }; + B3270F8D27DCB2B200E83180 /* PVFCEU.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8B27DCB2B200E83180 /* PVFCEU.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9227DCB2CA00E83180 /* PVFCEU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8B27DCB2B200E83180 /* PVFCEU.framework */; }; + B3270F9327DCB2CA00E83180 /* PVFCEU.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8B27DCB2B200E83180 /* PVFCEU.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9427DCB2CA00E83180 /* PVPokeMini.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B311B1C327A52F2000D1DE41 /* PVPokeMini.framework */; }; + B3270F9527DCB2CA00E83180 /* PVPokeMini.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B311B1C327A52F2000D1DE41 /* PVPokeMini.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9627DCB2CA00E83180 /* ProSystem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3B4C955279E6BAA00505424 /* ProSystem.framework */; }; + B3270F9727DCB2CA00E83180 /* ProSystem.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3B4C955279E6BAA00505424 /* ProSystem.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9827DCB2CA00E83180 /* PVStella.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B305EF2E276B4CB0003AE510 /* PVStella.framework */; }; + B3270F9927DCB2CA00E83180 /* PVStella.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B305EF2E276B4CB0003AE510 /* PVStella.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9A27DCB2CA00E83180 /* PVMupen64Plus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A426EA159400E95488 /* PVMupen64Plus.framework */; }; + B3270F9B27DCB2CA00E83180 /* PVMupen64Plus.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A426EA159400E95488 /* PVMupen64Plus.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9C27DCB2CA00E83180 /* PVMupen64PlusRspHLE.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A526EA159400E95488 /* PVMupen64PlusRspHLE.framework */; }; + B3270F9D27DCB2CA00E83180 /* PVMupen64PlusRspHLE.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A526EA159400E95488 /* PVMupen64PlusRspHLE.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270F9E27DCB2CA00E83180 /* PVMupen64PlusVideoGlideN64.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A626EA159400E95488 /* PVMupen64PlusVideoGlideN64.framework */; }; + B3270F9F27DCB2CA00E83180 /* PVMupen64PlusVideoGlideN64.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A626EA159400E95488 /* PVMupen64PlusVideoGlideN64.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FA027DCB2CA00E83180 /* PVMupen64PlusVideoRice.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A726EA159400E95488 /* PVMupen64PlusVideoRice.framework */; }; + B3270FA127DCB2CA00E83180 /* PVMupen64PlusVideoRice.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A726EA159400E95488 /* PVMupen64PlusVideoRice.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FA227DCB2CA00E83180 /* PVRSPCXD4.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A826EA159400E95488 /* PVRSPCXD4.framework */; }; + B3270FA327DCB2CA00E83180 /* PVRSPCXD4.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37263A826EA159400E95488 /* PVRSPCXD4.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FA427DCB2CA00E83180 /* PVAtari800.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B354693B1DECDA710018B6F3 /* PVAtari800.framework */; }; + B3270FA527DCB2CA00E83180 /* PVAtari800.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B354693B1DECDA710018B6F3 /* PVAtari800.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FA627DCB2CA00E83180 /* PVGB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D4AD1DEA74390068D057 /* PVGB.framework */; }; + B3270FA727DCB2CA00E83180 /* PVGB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D4AD1DEA74390068D057 /* PVGB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FA827DCB2CA00E83180 /* PVGBA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D5201DEA787D0068D057 /* PVGBA.framework */; }; + B3270FA927DCB2CA00E83180 /* PVGBA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D5201DEA787D0068D057 /* PVGBA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FAA27DCB2CA00E83180 /* PVGenesis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D4321DEA1B340068D057 /* PVGenesis.framework */; }; + B3270FAB27DCB2CA00E83180 /* PVGenesis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D4321DEA1B340068D057 /* PVGenesis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FAC27DCB2CA00E83180 /* PVSNES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D55C1DEA85C60068D057 /* PVSNES.framework */; }; + B3270FAD27DCB2CA00E83180 /* PVSNES.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3C9D55C1DEA85C60068D057 /* PVSNES.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FAE27DCB2CB00E83180 /* PVMednafen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8E27DCB2CA00E83180 /* PVMednafen.framework */; }; + B3270FAF27DCB2CB00E83180 /* PVMednafen.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8E27DCB2CA00E83180 /* PVMednafen.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FB027DCB2CB00E83180 /* PicoDrive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8F27DCB2CA00E83180 /* PicoDrive.framework */; }; + B3270FB127DCB2CB00E83180 /* PicoDrive.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F8F27DCB2CA00E83180 /* PicoDrive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FB227DCB2CB00E83180 /* PVTGBDual.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F9027DCB2CA00E83180 /* PVTGBDual.framework */; }; + B3270FB327DCB2CB00E83180 /* PVTGBDual.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F9027DCB2CA00E83180 /* PVTGBDual.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FB427DCB2CB00E83180 /* PVVirtualJaguar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F9127DCB2CA00E83180 /* PVVirtualJaguar.framework */; }; + B3270FB527DCB2CB00E83180 /* PVVirtualJaguar.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3270F9127DCB2CA00E83180 /* PVVirtualJaguar.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3270FB827DCB62C00E83180 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2B0E8D1AD18961005FB77C /* libc++.dylib */; }; + B3270FB927DCB62C00E83180 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AECF4A81966D76100F8704E /* libsqlite3.dylib */; }; + B3270FBA27DCB62C00E83180 /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2A95A917F7682400F1CB0D /* libstdc++.dylib */; }; + B3270FBB27DCB62C00E83180 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A4869D717C8D54D0019F6D2 /* libxml2.dylib */; }; + B3270FBC27DCB62C00E83180 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B3270FB727DCB62C00E83180 /* libz.dylib */; }; B3271BDB276B8B2E0031AECC /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3271BDA276B8B2E0031AECC /* OpenGL.framework */; platformFilter = maccatalyst; }; B3271BDD276B8B660031AECC /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3271BDC276B8B660031AECC /* CoreTelephony.framework */; }; B32746BD219BD65F00B78124 /* PVGameLibraryCollectionFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = B32746BC219BD65F00B78124 /* PVGameLibraryCollectionFlowLayout.swift */; }; @@ -346,6 +403,22 @@ B35E6C30207ED7050040709A /* AppearanceStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B35E6C1F207ED7040040709A /* AppearanceStyle.swift */; }; B35E6C31207ED7050040709A /* AppearanceStyleHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B35E6C20207ED7050040709A /* AppearanceStyleHelpers.swift */; }; B35E6C32207ED7050040709A /* AppearanceStyleHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B35E6C20207ED7050040709A /* AppearanceStyleHelpers.swift */; }; + B361F62E27C07AD10080D368 /* PVRootViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29627BC7E610070E222 /* PVRootViewModel.swift */; }; + B361F62F27C07B240080D368 /* ConsoleGamesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29927BC7E610070E222 /* ConsoleGamesView.swift */; }; + B361F63027C07B240080D368 /* ConsolesWrapperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29827BC7E610070E222 /* ConsolesWrapperView.swift */; }; + B361F63127C07B2C0080D368 /* SideMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29527BC7E610070E222 /* SideMenuView.swift */; }; + B361F63227C07B300080D368 /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29327BC7E610070E222 /* SearchBar.swift */; }; + B361F63327C07B300080D368 /* ViewControllerResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29227BC7E610070E222 /* ViewControllerResolver.swift */; }; + B361F63427C07B300080D368 /* GameItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29127BC7E610070E222 /* GameItemView.swift */; }; + B361F63527C07B300080D368 /* GameContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA29027BC7E610070E222 /* GameContextMenu.swift */; }; + B361F63627C07B340080D368 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28E27BC7E610070E222 /* Extensions.swift */; }; + B361F63727C07B390080D368 /* SideNavigationController+NestedTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28A27BC7E610070E222 /* SideNavigationController+NestedTypes.swift */; }; + B361F63827C07B390080D368 /* SideNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28B27BC7E610070E222 /* SideNavigationController.swift */; }; + B361F63927C07B390080D368 /* UIViewController+SideNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28C27BC7E610070E222 /* UIViewController+SideNavigationController.swift */; }; + B361F63A27C07B3E0080D368 /* PVRootViewController+DelegateMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28827BC7E610070E222 /* PVRootViewController+DelegateMethods.swift */; }; + B361F63B27C07B3E0080D368 /* PVRootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28727BC7E610070E222 /* PVRootViewController.swift */; }; + B361F63C27C07B3E0080D368 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EEA28627BC7E610070E222 /* HomeView.swift */; }; + B361F63D27C07BB20080D368 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B923A9202D2EAE00580FFC /* Theme.swift */; }; B369B0DD21A3BF7C0064EDCA /* PVSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AB95FFB17C563C100D3E392 /* PVSettingsViewController.swift */; }; B369B0DE21A3C1C40064EDCA /* PVLogViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E6DADB20B7AD1500454DD4 /* PVLogViewController.m */; }; B36C7D5727AE2CF400715677 /* PVAtari800-tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B36C7D5627AE2CF400715677 /* PVAtari800-tvOS.framework */; }; @@ -402,6 +475,10 @@ B38D30FD202AC26500E9A068 /* GCDWebDAVServer.m in Sources */ = {isa = PBXBuildFile; fileRef = B38D30FC202AC26500E9A068 /* GCDWebDAVServer.m */; }; B38D30FE202AC26500E9A068 /* GCDWebDAVServer.m in Sources */ = {isa = PBXBuildFile; fileRef = B38D30FC202AC26500E9A068 /* GCDWebDAVServer.m */; }; B390B0EA276B2DB20018E065 /* AltKit in Frameworks */ = {isa = PBXBuildFile; platformFilter = ios; productRef = B390B0E9276B2DB20018E065 /* AltKit */; }; + B391F2BE27C157E600730B53 /* Provenance_ClipApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B391F2BD27C157E600730B53 /* Provenance_ClipApp.swift */; }; + B391F2C027C157E700730B53 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B391F2BF27C157E600730B53 /* ContentView.swift */; }; + B391F2C227C157E800730B53 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B391F2C127C157E800730B53 /* Assets.xcassets */; }; + B391F2C527C157E800730B53 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B391F2C427C157E800730B53 /* Preview Assets.xcassets */; }; B394C98A20609E180014A65D /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = B394C98920609E180014A65D /* UIColor+Hex.swift */; }; B394C98B20609E180014A65D /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = B394C98920609E180014A65D /* UIColor+Hex.swift */; }; B398800D27A521AC004DEFCA /* ConflictsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B398800C27A521AC004DEFCA /* ConflictsController.swift */; }; @@ -700,13 +777,13 @@ files = ( 55546DF2257D6CA800616332 /* PVTGBDual.framework in Embed Frameworks */, B3CB85C01E9BFB07009155A6 /* PVPokeMini.framework in Embed Frameworks */, - B324C6202192057E009F4EDC /* PVFCEU.framework in Embed Frameworks */, B3C9D4AF1DEA74390068D057 /* PVGB.framework in Embed Frameworks */, B3AF701121916C30000FA7F9 /* PVSupport.framework in Embed Frameworks */, B3B0860B1E71316A007F39E1 /* PVMednafen.framework in Embed Frameworks */, 1A19EE162080EA8000A9147B /* PVMupen64PlusVideoGlideN64.framework in Embed Frameworks */, B3B3B8991DECF8C700602746 /* PVMupen64PlusRspHLE.framework in Embed Frameworks */, B316B4DA219265AB00693472 /* PVVirtualJaguar.framework in Embed Frameworks */, + B3270F8D27DCB2B200E83180 /* PVFCEU.framework in Embed Frameworks */, B3AD689E1D6EA6450021B949 /* PicoDrive.framework in Embed Frameworks */, B3C9D55E1DEA85C60068D057 /* PVSNES.framework in Embed Frameworks */, B3C9D5E81DEAA7E80068D057 /* PVStella.framework in Embed Frameworks */, @@ -758,6 +835,34 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + B3270FB627DCB2CB00E83180 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + B3270FAB27DCB2CA00E83180 /* PVGenesis.framework in Embed Frameworks */, + B3270F9B27DCB2CA00E83180 /* PVMupen64Plus.framework in Embed Frameworks */, + B3270FA327DCB2CA00E83180 /* PVRSPCXD4.framework in Embed Frameworks */, + B3270F9F27DCB2CA00E83180 /* PVMupen64PlusVideoGlideN64.framework in Embed Frameworks */, + B3270FB127DCB2CB00E83180 /* PicoDrive.framework in Embed Frameworks */, + B3270F9727DCB2CA00E83180 /* ProSystem.framework in Embed Frameworks */, + B3270F9927DCB2CA00E83180 /* PVStella.framework in Embed Frameworks */, + B3270F9527DCB2CA00E83180 /* PVPokeMini.framework in Embed Frameworks */, + B3270FB527DCB2CB00E83180 /* PVVirtualJaguar.framework in Embed Frameworks */, + B3270F9D27DCB2CA00E83180 /* PVMupen64PlusRspHLE.framework in Embed Frameworks */, + B3270FA527DCB2CA00E83180 /* PVAtari800.framework in Embed Frameworks */, + B3270FAD27DCB2CA00E83180 /* PVSNES.framework in Embed Frameworks */, + B3270FB327DCB2CB00E83180 /* PVTGBDual.framework in Embed Frameworks */, + B3270FA127DCB2CA00E83180 /* PVMupen64PlusVideoRice.framework in Embed Frameworks */, + B3270F9327DCB2CA00E83180 /* PVFCEU.framework in Embed Frameworks */, + B3270FA727DCB2CA00E83180 /* PVGB.framework in Embed Frameworks */, + B3270FAF27DCB2CB00E83180 /* PVMednafen.framework in Embed Frameworks */, + B3270FA927DCB2CA00E83180 /* PVGBA.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; B39DC780279E79D40017E28D /* Embed App Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -881,6 +986,21 @@ 378F49FF1B63D7CD0065FA39 /* GCDWebUploader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDWebUploader.m; sourceTree = ""; }; 378F4A0F1B63DCF00065FA39 /* PVWebServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PVWebServer.h; sourceTree = ""; }; 378F4A101B63DCF00065FA39 /* PVWebServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PVWebServer.m; sourceTree = ""; }; + 37EEA28627BC7E610070E222 /* HomeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; + 37EEA28727BC7E610070E222 /* PVRootViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PVRootViewController.swift; sourceTree = ""; }; + 37EEA28827BC7E610070E222 /* PVRootViewController+DelegateMethods.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PVRootViewController+DelegateMethods.swift"; sourceTree = ""; }; + 37EEA28A27BC7E610070E222 /* SideNavigationController+NestedTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SideNavigationController+NestedTypes.swift"; sourceTree = ""; }; + 37EEA28B27BC7E610070E222 /* SideNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SideNavigationController.swift; sourceTree = ""; }; + 37EEA28C27BC7E610070E222 /* UIViewController+SideNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+SideNavigationController.swift"; sourceTree = ""; }; + 37EEA28E27BC7E610070E222 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; + 37EEA29027BC7E610070E222 /* GameContextMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameContextMenu.swift; sourceTree = ""; }; + 37EEA29127BC7E610070E222 /* GameItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameItemView.swift; sourceTree = ""; }; + 37EEA29227BC7E610070E222 /* ViewControllerResolver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewControllerResolver.swift; sourceTree = ""; }; + 37EEA29327BC7E610070E222 /* SearchBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = ""; }; + 37EEA29527BC7E610070E222 /* SideMenuView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SideMenuView.swift; sourceTree = ""; }; + 37EEA29627BC7E610070E222 /* PVRootViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PVRootViewModel.swift; sourceTree = ""; }; + 37EEA29827BC7E610070E222 /* ConsolesWrapperView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConsolesWrapperView.swift; sourceTree = ""; }; + 37EEA29927BC7E610070E222 /* ConsoleGamesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConsoleGamesView.swift; sourceTree = ""; }; 423BB97A17DD35B10048F457 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; 42BC83A817E6775E00E9A607 /* PVGameLibrarySectionHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PVGameLibrarySectionHeaderView.swift; sourceTree = ""; }; 5525388625574D48004B00B6 /* PVTGBDual.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = PVTGBDual.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1004,6 +1124,22 @@ B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Build-iOS.xcconfig"; sourceTree = ""; }; B326758627B1E0BC0033C5D1 /* Build-tvOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Build-tvOS.xcconfig"; sourceTree = ""; }; B326758727B1E27E0033C5D1 /* Build-watchOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Build-watchOS.xcconfig"; sourceTree = ""; }; + B3270F6227DCB1A700E83180 /* PVPPSSPP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVPPSSPP.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F6527DCB1B000E83180 /* PVFlycast.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVFlycast.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F6827DCB1BD00E83180 /* PVVecXGL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVVecXGL.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F6B27DCB1C500E83180 /* PVSnesticle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSnesticle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F6E27DCB1DC00E83180 /* PVCrabEmu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVCrabEmu.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F7127DCB1E500E83180 /* PVDesmume2015.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVDesmume2015.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F7427DCB1ED00E83180 /* PVPlay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVPlay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F7727DCB1F500E83180 /* PVDuckStation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVDuckStation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F7F27DCB25100E83180 /* Cores.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cores.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F8127DCB25100E83180 /* Cores.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Cores.h; sourceTree = ""; }; + B3270F8B27DCB2B200E83180 /* PVFCEU.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVFCEU.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F8E27DCB2CA00E83180 /* PVMednafen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVMednafen.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F8F27DCB2CA00E83180 /* PicoDrive.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PicoDrive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F9027DCB2CA00E83180 /* PVTGBDual.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVTGBDual.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270F9127DCB2CA00E83180 /* PVVirtualJaguar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVVirtualJaguar.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3270FB727DCB62C00E83180 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; B3271BDA276B8B2E0031AECC /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/OpenGL.framework; sourceTree = DEVELOPER_DIR; }; B3271BDC276B8B660031AECC /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/CoreTelephony.framework; sourceTree = DEVELOPER_DIR; }; B32746BC219BD65F00B78124 /* PVGameLibraryCollectionFlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PVGameLibraryCollectionFlowLayout.swift; sourceTree = ""; }; @@ -1071,6 +1207,7 @@ B3437174276B0B650014F87C /* PV3DOControllerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PV3DOControllerViewController.swift; sourceTree = ""; }; B3437175276B0B650014F87C /* PVColecoVisionControllerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PVColecoVisionControllerViewController.swift; sourceTree = ""; }; B343717C276B0FA40014F87C /* PVVectrexControllerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PVVectrexControllerViewController.swift; sourceTree = ""; }; + B344605A27DCB73E0035B08E /* libswift_Concurrency.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libswift_Concurrency.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib/swift/libswift_Concurrency.tbd; sourceTree = DEVELOPER_DIR; }; B3447E72218B596500557ACE /* PVDreamcastControllerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PVDreamcastControllerViewController.swift; sourceTree = ""; }; B3532B2A21A78FB2006CDA0F /* PVSwitchCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PVSwitchCell.swift; sourceTree = ""; }; B3532C3B21A9AC93006CDA0F /* Services.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Services.swift; sourceTree = ""; }; @@ -1137,6 +1274,13 @@ B38A2A47210233FE00374CDD /* EmulatorActionCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EmulatorActionCell.xib; sourceTree = ""; }; B38D30FB202AC26500E9A068 /* GCDWebDAVServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDWebDAVServer.h; sourceTree = ""; }; B38D30FC202AC26500E9A068 /* GCDWebDAVServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDWebDAVServer.m; sourceTree = ""; }; + B391F2BB27C157E600730B53 /* Provenance Clip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Provenance Clip.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + B391F2BD27C157E600730B53 /* Provenance_ClipApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Provenance_ClipApp.swift; sourceTree = ""; }; + B391F2BF27C157E600730B53 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + B391F2C127C157E800730B53 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + B391F2C427C157E800730B53 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + B391F2C627C157E800730B53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B391F2C727C157E900730B53 /* Provenance_Clip.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Provenance_Clip.entitlements; sourceTree = ""; }; B394C98920609E180014A65D /* UIColor+Hex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Hex.swift"; sourceTree = ""; }; B3977533219AB53F00E16AD5 /* Provenance.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Provenance.entitlements; path = Provenance/Provenance.entitlements; sourceTree = SOURCE_ROOT; }; B398800C27A521AC004DEFCA /* ConflictsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConflictsController.swift; sourceTree = ""; }; @@ -1194,6 +1338,8 @@ B3B9239C202D054B00580FFC /* Provenance-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Provenance-Bridging-Header.h"; sourceTree = ""; }; B3B9239D202D054B00580FFC /* ProvenanceTV-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ProvenanceTV-Bridging-Header.h"; sourceTree = ""; }; B3B923A9202D2EAE00580FFC /* Theme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; + B3C7CCBF27DCB0B90003F9D2 /* ExperimentalCores.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExperimentalCores.h; sourceTree = ""; }; + B3C7CCC927DCB0DA0003F9D2 /* PVDolphin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVDolphin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3C9D4321DEA1B340068D057 /* PVGenesis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVGenesis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3C9D4AD1DEA74390068D057 /* PVGB.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVGB.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B3C9D4B01DEA74500068D057 /* PVGB.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVGB.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1281,11 +1427,11 @@ B357A43A27092254002C7C0F /* AppCenterCrashes in Frameworks */, 55546DF1257D6CA800616332 /* PVTGBDual.framework in Frameworks */, B316B4D9219265AB00693472 /* PVVirtualJaguar.framework in Frameworks */, + B3270F8C27DCB2B200E83180 /* PVFCEU.framework in Frameworks */, B3271BDD276B8B660031AECC /* CoreTelephony.framework in Frameworks */, C13CC82923CABE2800463EDD /* Photos.framework in Frameworks */, B377E67E21252C6600D88973 /* GameController.framework in Frameworks */, B3AD689D1D6EA6450021B949 /* PicoDrive.framework in Frameworks */, - B324C61F2192057E009F4EDC /* PVFCEU.framework in Frameworks */, DF3751942026B83600EE727E /* PVRSPCXD4.framework in Frameworks */, B3B3B8921DECF8BC00602746 /* PVMupen64Plus.framework in Frameworks */, 1A4869D817C8D54D0019F6D2 /* libxml2.dylib in Frameworks */, @@ -1318,12 +1464,12 @@ 1A3D431E17B2F01F004DFFFC /* OpenGLES.framework in Frameworks */, B3B3B8981DECF8C700602746 /* PVMupen64PlusRspHLE.framework in Frameworks */, B3C9D55D1DEA85C60068D057 /* PVSNES.framework in Frameworks */, - 1A3D409817B2DCE4004DFFFC /* UIKit.framework in Frameworks */, 1A3D409A17B2DCE4004DFFFC /* Foundation.framework in Frameworks */, B3271BDB276B8B2E0031AECC /* OpenGL.framework in Frameworks */, B3C9D5E71DEAA7E80068D057 /* PVStella.framework in Frameworks */, 1A3D409C17B2DCE4004DFFFC /* CoreGraphics.framework in Frameworks */, B390B0EA276B2DB20018E065 /* AltKit in Frameworks */, + 37EEA2AB27BC81890070E222 /* Introspect in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1395,6 +1541,43 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B3270F7C27DCB25100E83180 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B3270FBC27DCB62C00E83180 /* libz.dylib in Frameworks */, + B3270FAA27DCB2CA00E83180 /* PVGenesis.framework in Frameworks */, + B3270F9A27DCB2CA00E83180 /* PVMupen64Plus.framework in Frameworks */, + B3270FA227DCB2CA00E83180 /* PVRSPCXD4.framework in Frameworks */, + B3270F9E27DCB2CA00E83180 /* PVMupen64PlusVideoGlideN64.framework in Frameworks */, + B3270FB827DCB62C00E83180 /* libc++.dylib in Frameworks */, + B3270FB027DCB2CB00E83180 /* PicoDrive.framework in Frameworks */, + B3270F9627DCB2CA00E83180 /* ProSystem.framework in Frameworks */, + B3270F9827DCB2CA00E83180 /* PVStella.framework in Frameworks */, + B3270F9427DCB2CA00E83180 /* PVPokeMini.framework in Frameworks */, + B3270FB427DCB2CB00E83180 /* PVVirtualJaguar.framework in Frameworks */, + B3270F9C27DCB2CA00E83180 /* PVMupen64PlusRspHLE.framework in Frameworks */, + B3270FA427DCB2CA00E83180 /* PVAtari800.framework in Frameworks */, + B3270FAC27DCB2CA00E83180 /* PVSNES.framework in Frameworks */, + B3270FBB27DCB62C00E83180 /* libxml2.dylib in Frameworks */, + B3270FB227DCB2CB00E83180 /* PVTGBDual.framework in Frameworks */, + B3270FBA27DCB62C00E83180 /* libstdc++.dylib in Frameworks */, + B3270FA027DCB2CA00E83180 /* PVMupen64PlusVideoRice.framework in Frameworks */, + B3270F9227DCB2CA00E83180 /* PVFCEU.framework in Frameworks */, + B3270FA627DCB2CA00E83180 /* PVGB.framework in Frameworks */, + B3270FAE27DCB2CB00E83180 /* PVMednafen.framework in Frameworks */, + B3270FB927DCB62C00E83180 /* libsqlite3.dylib in Frameworks */, + B3270FA827DCB2CA00E83180 /* PVGBA.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B391F2B827C157E600730B53 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; B3E21D68203211BE009939D3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1485,6 +1668,9 @@ B3E0A580215647BD004B4322 /* Scripts */, B305EEFE276B4C71003AE510 /* Provenance Watch WatchKit App */, B305EF09276B4C73003AE510 /* Provenance Watch WatchKit Extension */, + B391F2BC27C157E600730B53 /* Provenance Clip */, + B3C7CCBE27DCB0B90003F9D2 /* ExperimentalCores */, + B3270F8027DCB25100E83180 /* Cores */, 1A3D409617B2DCE4004DFFFC /* Frameworks */, 1A3D409517B2DCE4004DFFFC /* Products */, B3F43DDA2169BC9C00CDD40A /* Bridging Headers */, @@ -1502,6 +1688,8 @@ B305EEF7276B4C71003AE510 /* Provenance Watch.app */, B305EEFA276B4C71003AE510 /* Provenance Watch WatchKit App.app */, B305EF05276B4C73003AE510 /* Provenance Watch WatchKit Extension.appex */, + B391F2BB27C157E600730B53 /* Provenance Clip.app */, + B3270F7F27DCB25100E83180 /* Cores.framework */, ); name = Products; sourceTree = ""; @@ -1509,6 +1697,22 @@ 1A3D409617B2DCE4004DFFFC /* Frameworks */ = { isa = PBXGroup; children = ( + B344605A27DCB73E0035B08E /* libswift_Concurrency.tbd */, + B3270F8E27DCB2CA00E83180 /* PVMednafen.framework */, + B3270F8F27DCB2CA00E83180 /* PicoDrive.framework */, + B3270F9027DCB2CA00E83180 /* PVTGBDual.framework */, + B3270F9127DCB2CA00E83180 /* PVVirtualJaguar.framework */, + B3270F8B27DCB2B200E83180 /* PVFCEU.framework */, + B3270F7727DCB1F500E83180 /* PVDuckStation.framework */, + B3270F7427DCB1ED00E83180 /* PVPlay.framework */, + B3270F7127DCB1E500E83180 /* PVDesmume2015.framework */, + B3270F6E27DCB1DC00E83180 /* PVCrabEmu.framework */, + B3270F6B27DCB1C500E83180 /* PVSnesticle.framework */, + B3270F6827DCB1BD00E83180 /* PVVecXGL.framework */, + B3270F6527DCB1B000E83180 /* PVFlycast.framework */, + B3270F6227DCB1A700E83180 /* PVPPSSPP.framework */, + B3C7CCC927DCB0DA0003F9D2 /* PVDolphin.framework */, + B3270FB727DCB62C00E83180 /* libz.dylib */, B36C7D5627AE2CF400715677 /* PVAtari800-tvOS.framework */, B311B1C327A52F2000D1DE41 /* PVPokeMini.framework */, B311B1C127A52F1700D1DE41 /* UIKit.framework */, @@ -1565,6 +1769,7 @@ 1A3D40A717B2DCE4004DFFFC /* PVAppDelegate.swift */, B3290498270D1F95002707AC /* PVAppDelegate+NitoTV.swift */, B357A43B2709228E002C7C0F /* PVAppDelegate+AppCenter.swift */, + 37EEA28427BC7E610070E222 /* NewUI */, 1AADCDB117BD997500F53CFE /* Categories */, 1A47C94A17BC310700C27644 /* Controller */, 1A1237F417CA27B700CEC788 /* Emulator */, @@ -1862,6 +2067,76 @@ path = GCDWebUploader; sourceTree = ""; }; + 37EEA28427BC7E610070E222 /* NewUI */ = { + isa = PBXGroup; + children = ( + 37EEA28527BC7E610070E222 /* Home */, + 37EEA28727BC7E610070E222 /* PVRootViewController.swift */, + 37EEA28827BC7E610070E222 /* PVRootViewController+DelegateMethods.swift */, + 37EEA28927BC7E610070E222 /* SideNavigationController */, + 37EEA28D27BC7E610070E222 /* Utils */, + 37EEA28F27BC7E610070E222 /* Components */, + 37EEA29427BC7E610070E222 /* SideMenu */, + 37EEA29627BC7E610070E222 /* PVRootViewModel.swift */, + 37EEA29727BC7E610070E222 /* Consoles */, + ); + path = NewUI; + sourceTree = ""; + }; + 37EEA28527BC7E610070E222 /* Home */ = { + isa = PBXGroup; + children = ( + 37EEA28627BC7E610070E222 /* HomeView.swift */, + ); + path = Home; + sourceTree = ""; + }; + 37EEA28927BC7E610070E222 /* SideNavigationController */ = { + isa = PBXGroup; + children = ( + 37EEA28A27BC7E610070E222 /* SideNavigationController+NestedTypes.swift */, + 37EEA28B27BC7E610070E222 /* SideNavigationController.swift */, + 37EEA28C27BC7E610070E222 /* UIViewController+SideNavigationController.swift */, + ); + path = SideNavigationController; + sourceTree = ""; + }; + 37EEA28D27BC7E610070E222 /* Utils */ = { + isa = PBXGroup; + children = ( + 37EEA28E27BC7E610070E222 /* Extensions.swift */, + ); + path = Utils; + sourceTree = ""; + }; + 37EEA28F27BC7E610070E222 /* Components */ = { + isa = PBXGroup; + children = ( + 37EEA29027BC7E610070E222 /* GameContextMenu.swift */, + 37EEA29127BC7E610070E222 /* GameItemView.swift */, + 37EEA29227BC7E610070E222 /* ViewControllerResolver.swift */, + 37EEA29327BC7E610070E222 /* SearchBar.swift */, + ); + path = Components; + sourceTree = ""; + }; + 37EEA29427BC7E610070E222 /* SideMenu */ = { + isa = PBXGroup; + children = ( + 37EEA29527BC7E610070E222 /* SideMenuView.swift */, + ); + path = SideMenu; + sourceTree = ""; + }; + 37EEA29727BC7E610070E222 /* Consoles */ = { + isa = PBXGroup; + children = ( + 37EEA29827BC7E610070E222 /* ConsolesWrapperView.swift */, + 37EEA29927BC7E610070E222 /* ConsoleGamesView.swift */, + ); + path = Consoles; + sourceTree = ""; + }; B305EEFE276B4C71003AE510 /* Provenance Watch WatchKit App */ = { isa = PBXGroup; children = ( @@ -1891,6 +2166,14 @@ path = "Preview Content"; sourceTree = ""; }; + B3270F8027DCB25100E83180 /* Cores */ = { + isa = PBXGroup; + children = ( + B3270F8127DCB25100E83180 /* Cores.h */, + ); + path = Cores; + sourceTree = ""; + }; B32746BF219BD6C700B78124 /* Reusable Views */ = { isa = PBXGroup; children = ( @@ -2136,6 +2419,27 @@ path = GCDWebDAVServer; sourceTree = ""; }; + B391F2BC27C157E600730B53 /* Provenance Clip */ = { + isa = PBXGroup; + children = ( + B391F2BD27C157E600730B53 /* Provenance_ClipApp.swift */, + B391F2BF27C157E600730B53 /* ContentView.swift */, + B391F2C127C157E800730B53 /* Assets.xcassets */, + B391F2C627C157E800730B53 /* Info.plist */, + B391F2C727C157E900730B53 /* Provenance_Clip.entitlements */, + B391F2C327C157E800730B53 /* Preview Content */, + ); + path = "Provenance Clip"; + sourceTree = ""; + }; + B391F2C327C157E800730B53 /* Preview Content */ = { + isa = PBXGroup; + children = ( + B391F2C427C157E800730B53 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; B398800B27A5218A004DEFCA /* Conflicts */ = { isa = PBXGroup; children = ( @@ -2209,6 +2513,14 @@ path = SwiftyAppearance; sourceTree = ""; }; + B3C7CCBE27DCB0B90003F9D2 /* ExperimentalCores */ = { + isa = PBXGroup; + children = ( + B3C7CCBF27DCB0B90003F9D2 /* ExperimentalCores.h */, + ); + path = ExperimentalCores; + sourceTree = ""; + }; B3D5E2A9218EC1970015C690 /* RxRealmDataSources */ = { isa = PBXGroup; children = ( @@ -2315,6 +2627,17 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + B3270F7A27DCB25100E83180 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B3270F8227DCB25100E83180 /* Cores.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ 1A3D409317B2DCE4004DFFFC /* Provenance */ = { isa = PBXNativeTarget; @@ -2340,6 +2663,7 @@ B357A43927092254002C7C0F /* AppCenterCrashes */, B390B0E9276B2DB20018E065 /* AltKit */, B3FB9678276DD7F600F7EDEE /* SteamController */, + 37EEA2AA27BC81890070E222 /* Introspect */, ); productName = Provenance; productReference = 1A3D409417B2DCE4004DFFFC /* Provenance.app */; @@ -2444,6 +2768,42 @@ productReference = B305EF05276B4C73003AE510 /* Provenance Watch WatchKit Extension.appex */; productType = "com.apple.product-type.watchkit2-extension"; }; + B3270F7E27DCB25100E83180 /* Cores */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3270F8727DCB25100E83180 /* Build configuration list for PBXNativeTarget "Cores" */; + buildPhases = ( + B3270F7A27DCB25100E83180 /* Headers */, + B3270F7B27DCB25100E83180 /* Sources */, + B3270F7C27DCB25100E83180 /* Frameworks */, + B3270F7D27DCB25100E83180 /* Resources */, + B3270FB627DCB2CB00E83180 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Cores; + productName = Cores; + productReference = B3270F7F27DCB25100E83180 /* Cores.framework */; + productType = "com.apple.product-type.framework"; + }; + B391F2BA27C157E600730B53 /* Provenance Clip */ = { + isa = PBXNativeTarget; + buildConfigurationList = B391F2CF27C157E900730B53 /* Build configuration list for PBXNativeTarget "Provenance Clip" */; + buildPhases = ( + B391F2B727C157E600730B53 /* Sources */, + B391F2B827C157E600730B53 /* Frameworks */, + B391F2B927C157E600730B53 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Provenance Clip"; + productName = "Provenance Clip"; + productReference = B391F2BB27C157E600730B53 /* Provenance Clip.app */; + productType = "com.apple.product-type.application.on-demand-install-capable"; + }; B3E21D6A203211BE009939D3 /* Spotlight */ = { isa = PBXNativeTarget; buildConfigurationList = B3E21D73203211BE009939D3 /* Build configuration list for PBXNativeTarget "Spotlight" */; @@ -2546,9 +2906,15 @@ B305EF04276B4C73003AE510 = { CreatedOnToolsVersion = 13.2; }; + B3270F7E27DCB25100E83180 = { + CreatedOnToolsVersion = 13.2.1; + }; B383225D26ED9C530029D12F = { CreatedOnToolsVersion = 13.0; }; + B391F2BA27C157E600730B53 = { + CreatedOnToolsVersion = 13.2.1; + }; B3B29D3F2156177100903290 = { CreatedOnToolsVersion = 10.0; }; @@ -2596,6 +2962,7 @@ B3D30FBD26F0B4CD0064603F /* XCRemoteSwiftPackageReference "SteamController" */, B357A43627092253002C7C0F /* XCRemoteSwiftPackageReference "appcenter-sdk-apple" */, B390B0E8276B2DB20018E065 /* XCRemoteSwiftPackageReference "AltKit" */, + 37EEA2A927BC81880070E222 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */, ); productRefGroup = 1A3D409517B2DCE4004DFFFC /* Products */; projectDirPath = ""; @@ -2613,6 +2980,8 @@ B305EF04276B4C73003AE510 /* Provenance Watch WatchKit Extension */, B305EEF6276B4C71003AE510 /* Provenance Watch */, B305EEF9276B4C71003AE510 /* Provenance Watch WatchKit App */, + B391F2BA27C157E600730B53 /* Provenance Clip */, + B3270F7E27DCB25100E83180 /* Cores */, ); }; /* End PBXProject section */ @@ -2693,6 +3062,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B3270F7D27DCB25100E83180 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B391F2B927C157E600730B53 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B391F2C527C157E800730B53 /* Preview Assets.xcassets in Resources */, + B391F2C227C157E800730B53 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -2895,11 +3280,13 @@ B3AB373C2187F569009D9244 /* PVLynxControllerViewController.swift in Sources */, B31117B3218EB3AE00C495A2 /* PVButtonGroupOverlayView.swift in Sources */, B3A320372720974F00F338F6 /* PVGameCubeControllerViewController.swift in Sources */, + 37EEA2A827BC7E610070E222 /* ConsoleGamesView.swift in Sources */, B3375EBC278EA28E004B0DC0 /* crt_filter_ps.metal in Sources */, B357A43C2709228E002C7C0F /* PVAppDelegate+AppCenter.swift in Sources */, B3AB37402187F569009D9244 /* PVSaturnControllerViewController.swift in Sources */, B382C642278E55C9007E61FE /* PVMetalViewController.m in Sources */, B3D5E2B2218EC1AE0015C690 /* RxTableViewRealmDataSource.swift in Sources */, + 37EEA2A327BC7E610070E222 /* ViewControllerResolver.swift in Sources */, B3AB37372187F569009D9244 /* PVPSXControllerViewController.swift in Sources */, 1A3D40A817B2DCE4004DFFFC /* PVAppDelegate.swift in Sources */, B38D30FD202AC26500E9A068 /* GCDWebDAVServer.m in Sources */, @@ -2927,6 +3314,7 @@ B313544726E4C0F90047F338 /* PVPS2ControllerViewController.swift in Sources */, B3AB373B2187F569009D9244 /* PVPCEControllerViewController.swift in Sources */, B31117B1218EB3AA00C495A2 /* PVEmulatorViewController.swift in Sources */, + 37EEA29D27BC7E610070E222 /* SideNavigationController+NestedTypes.swift in Sources */, B3AB373A2187F569009D9244 /* PVPCFXControllerViewController.swift in Sources */, CF1710B5258610DE00258602 /* PVCheatsInfoViewController.swift in Sources */, B3F64ED5205CD21400C273C7 /* PVControllerManager.swift in Sources */, @@ -2941,6 +3329,7 @@ B3890BE420B97588005BB001 /* PVGameLibraryViewController+PeekPop.swift in Sources */, B3447E73218B596600557ACE /* PVDreamcastControllerViewController.swift in Sources */, B3E6DADC20B7AD1500454DD4 /* PVLogViewController.m in Sources */, + 37EEA2A027BC7E610070E222 /* Extensions.swift in Sources */, B382C649278E626D007E61FE /* PVGPUViewController.m in Sources */, C665CD8421FEC68E00C834C6 /* GCControllerExtensions.swift in Sources */, 378F4A0A1B63D7CD0065FA39 /* GCDWebServerErrorResponse.m in Sources */, @@ -2948,6 +3337,8 @@ B3AB373D2187F569009D9244 /* PVPokeMiniControllerViewController.swift in Sources */, 1A3D433B17B30BA3004DFFFC /* PVGLViewController.m in Sources */, B3F43DE22169DB4000CDD40A /* SystemsSettingsTableViewController.swift in Sources */, + 37EEA29E27BC7E610070E222 /* SideNavigationController.swift in Sources */, + 37EEA2A727BC7E610070E222 /* ConsolesWrapperView.swift in Sources */, B378225721D32B0B0077E86F /* SliderRow.swift in Sources */, B3A4FB66278FFB6600A65248 /* Result+Conveniences.swift in Sources */, B378224A21D329EC0077E86F /* SettingsRowSwitch.swift in Sources */, @@ -2960,6 +3351,7 @@ B35E6C2D207ED7050040709A /* UIWindowExtensions.swift in Sources */, 1A2FB10F206EF29E00A1F942 /* PVSaveStateHeaderView.swift in Sources */, B3411C1A276B470C00D85327 /* NavigationRow.swift in Sources */, + 37EEA29F27BC7E610070E222 /* UIViewController+SideNavigationController.swift in Sources */, 378F4A0E1B63D7CD0065FA39 /* GCDWebUploader.m in Sources */, 1A2FB10C206EF07C00A1F942 /* PVSaveStateCollectionViewCell.swift in Sources */, B3375EC2278EA28E004B0DC0 /* blit_ps.metal in Sources */, @@ -2967,6 +3359,7 @@ B394C98A20609E180014A65D /* UIColor+Hex.swift in Sources */, 42BC83A917E6775E00E9A607 /* PVGameLibrarySectionHeaderView.swift in Sources */, B3B923B0202D2EAE00580FFC /* Theme.swift in Sources */, + 37EEA2A427BC7E610070E222 /* SearchBar.swift in Sources */, B3A4FB60278FF84800A65248 /* ApplicationMonitor.swift in Sources */, B398800D27A521AC004DEFCA /* ConflictsController.swift in Sources */, CF17114E2586A13100258602 /* PVCheatsTableViewCell.swift in Sources */, @@ -2986,6 +3379,7 @@ B37B71B0278E33B9005FB278 /* MenuButton.swift in Sources */, EF56AA6227A21CBC0097AD05 /* TVAlertController.swift in Sources */, B343717A276B0B650014F87C /* PVColecoVisionControllerViewController.swift in Sources */, + 37EEA29A27BC7E610070E222 /* HomeView.swift in Sources */, B3375ECC278EA28E004B0DC0 /* lineTron.metal in Sources */, B35E6C23207ED7050040709A /* UIAppearanceExtensions.swift in Sources */, B35E6C29207ED7050040709A /* AppearanceStyleExtensions.swift in Sources */, @@ -3006,11 +3400,15 @@ 378F4A061B63D7CD0065FA39 /* GCDWebServerFileRequest.m in Sources */, 378F4A0B1B63D7CD0065FA39 /* GCDWebServerFileResponse.m in Sources */, 1A65D1C619917D55004E1777 /* UIImage+ImageEffects.m in Sources */, + 37EEA29C27BC7E610070E222 /* PVRootViewController+DelegateMethods.swift in Sources */, B3532B2B21A78FB2006CDA0F /* PVSwitchCell.swift in Sources */, + 37EEA2A627BC7E610070E222 /* PVRootViewModel.swift in Sources */, B306E0CF2769F2C2001DC52E /* PVOdyssey2ControllerViewController.swift in Sources */, 1AB95FFD17C563C200D3E392 /* PVSettingsViewController.swift in Sources */, B3F64ECF205CD1F100C273C7 /* JSButton.swift in Sources */, B3A32150218EB4D700BD7DA2 /* UIView+FrameAdditions.swift in Sources */, + 37EEA2A527BC7E610070E222 /* SideMenuView.swift in Sources */, + 37EEA29B27BC7E610070E222 /* PVRootViewController.swift in Sources */, B383F3BF219BBD8700DB6926 /* LogViewable.swift in Sources */, 378F4A041B63D7CD0065FA39 /* GCDWebServerResponse.m in Sources */, 11BB0A2225AF7DFE004DEDC3 /* PVEmulatorViewController+PauseMenu.swift in Sources */, @@ -3023,6 +3421,7 @@ B3411C1E276B470C00D85327 /* Deprecated.swift in Sources */, B3AB37412187F569009D9244 /* PVGenesisControllerViewController.swift in Sources */, B3AB373E2187F569009D9244 /* PVAtari5200ControllerViewController.swift in Sources */, + 37EEA2A227BC7E610070E222 /* GameItemView.swift in Sources */, 378F4A051B63D7CD0065FA39 /* GCDWebServerDataRequest.m in Sources */, B378225121D32A6B0077E86F /* SettingsTableView.swift in Sources */, B3AB37322187F569009D9244 /* PVSNESControllerViewController.swift in Sources */, @@ -3036,6 +3435,7 @@ C6E8F64D2095CAE4003CC2D9 /* SubtleVolume.swift in Sources */, B3411C1B276B470C00D85327 /* Subtitle.swift in Sources */, B3AB373F2187F569009D9244 /* PV32XControllerViewController.swift in Sources */, + 37EEA2A127BC7E610070E222 /* GameContextMenu.swift in Sources */, B3D5E2BF218EC62E0015C690 /* Sections.swift in Sources */, B3411BF8276B37DE00D85327 /* PVDSControllerViewController.swift in Sources */, 1FB125961D93E57F00D045D0 /* PVAppearanceViewController.swift in Sources */, @@ -3115,9 +3515,11 @@ 1A2B13CD1D0DFF5100D0B863 /* PVSearchViewController.swift in Sources */, B37B71AE278E3198005FB278 /* UIViewController+Alerts.swift in Sources */, 1AD481DC1BA3544500FDA50A /* GCDWebServerDataRequest.m in Sources */, + B361F62F27C07B240080D368 /* ConsoleGamesView.swift in Sources */, B32746BE219BD65F00B78124 /* PVGameLibraryCollectionFlowLayout.swift in Sources */, B3290499270D1F95002707AC /* PVAppDelegate+NitoTV.swift in Sources */, B3B104C3218F2EF400210C39 /* PVAtari7800ControllerViewController.swift in Sources */, + B361F63427C07B300080D368 /* GameItemView.swift in Sources */, B3E3B5DA202ED84100A11871 /* PVGameLibraryViewController.swift in Sources */, B3D534E320AFF21900A83D4E /* Version.swift in Sources */, B3411C2B276B472900D85327 /* Deprecated.swift in Sources */, @@ -3129,7 +3531,9 @@ 1AD481EE1BA3548800FDA50A /* MBProgressHUD.m in Sources */, B3B104CD218F2EF400210C39 /* PVPCEControllerViewController.swift in Sources */, B3B104C4218F2EF400210C39 /* PVAtariJaguarControllerViewController.swift in Sources */, + B361F63627C07B340080D368 /* Extensions.swift in Sources */, B382C64A278E626D007E61FE /* PVGPUViewController.m in Sources */, + B361F63C27C07B3E0080D368 /* HomeView.swift in Sources */, B3B104C6218F2EF400210C39 /* PVGBAControllerViewController.swift in Sources */, B3F64EC9205CBC6100C273C7 /* PVLicensesViewController.swift in Sources */, 1AD481C91BA3530B00FDA50A /* PVAppDelegate.swift in Sources */, @@ -3142,6 +3546,7 @@ B35E6C22207ED7050040709A /* AppearanceScope.swift in Sources */, B3B104BE218F2EAA00210C39 /* PVControllerViewController.swift in Sources */, B394C98B20609E180014A65D /* UIColor+Hex.swift in Sources */, + B361F63B27C07B3E0080D368 /* PVRootViewController.swift in Sources */, B3F64ED6205CD21400C273C7 /* PVControllerManager.swift in Sources */, B3B104C0218F2EF400210C39 /* PV32XControllerViewController.swift in Sources */, B354E7C0219A7D250041F971 /* SystemSettingsCell.swift in Sources */, @@ -3155,6 +3560,7 @@ B354E7C7219A7D9D0041F971 /* SystemOverviewViewModel.swift in Sources */, B398800E27A521AC004DEFCA /* ConflictsController.swift in Sources */, B3A32151218EB4D800BD7DA2 /* UIView+FrameAdditions.swift in Sources */, + B361F62E27C07AD10080D368 /* PVRootViewModel.swift in Sources */, 1AD481E01BA3545400FDA50A /* GCDWebServerDataResponse.m in Sources */, B35E6C2A207ED7050040709A /* AppearanceStyleExtensions.swift in Sources */, B3375EC1278EA28E004B0DC0 /* MameShaders.metal in Sources */, @@ -3174,9 +3580,11 @@ B3D5E2AF218EC1AE0015C690 /* RealmBindObserver.swift in Sources */, 1A2FB110206EF29E00A1F942 /* PVSaveStateHeaderView.swift in Sources */, B35E6C26207ED7050040709A /* UIApplicationExtensions.swift in Sources */, + B361F63027C07B240080D368 /* ConsolesWrapperView.swift in Sources */, B3B104CA218F2EF400210C39 /* PVN64ControllerViewController.swift in Sources */, B3411C28276B472900D85327 /* Configurable.swift in Sources */, B3B104D5218F2F1700210C39 /* JSDPad.swift in Sources */, + B361F63527C07B300080D368 /* GameContextMenu.swift in Sources */, B3411C2C276B472900D85327 /* Section.swift in Sources */, B3890BFA20B9E513005BB001 /* UILabel+Theming.swift in Sources */, B378224F21D32A360077E86F /* SegueNavigationRow.swift in Sources */, @@ -3186,9 +3594,11 @@ B3589E32219E8C5B001C5E12 /* LogViewable.swift in Sources */, B3D5E2B1218EC1AE0015C690 /* Reactive+RxRealmDataSources.swift in Sources */, EF474BA8279CCDD200578663 /* TVFullscreenController.swift in Sources */, + B361F63927C07B390080D368 /* UIViewController+SideNavigationController.swift in Sources */, 11AFB2B72487C120000A3922 /* UISearchController+Rx.swift in Sources */, B37B71B1278E33B9005FB278 /* MenuButton.swift in Sources */, B3B104C5218F2EF400210C39 /* PVDreamcastControllerViewController.swift in Sources */, + B361F63227C07B300080D368 /* SearchBar.swift in Sources */, B3B104CE218F2EF400210C39 /* PVPCFXControllerViewController.swift in Sources */, B3D5E2B3218EC1AE0015C690 /* RxTableViewRealmDataSource.swift in Sources */, B382C63A278E5055007E61FE /* PVEmulatorViewController+Controllers.swift in Sources */, @@ -3199,7 +3609,10 @@ B3411C25276B472900D85327 /* DetailText.swift in Sources */, B3B104D2218F2EF400210C39 /* PVSNESControllerViewController.swift in Sources */, B387676D20BD0F43009D8CD2 /* WebServerActivatorController.swift in Sources */, + B361F63327C07B300080D368 /* ViewControllerResolver.swift in Sources */, + B361F63D27C07BB20080D368 /* Theme.swift in Sources */, B313544826E4C0F90047F338 /* PVPS2ControllerViewController.swift in Sources */, + B361F63827C07B390080D368 /* SideNavigationController.swift in Sources */, B3B104D6218F2F2800210C39 /* PVButtonGroupOverlayView.swift in Sources */, B382C643278E55C9007E61FE /* PVMetalViewController.m in Sources */, 1180B30824924AEA00636C8A /* UICollectionView+Rx.swift in Sources */, @@ -3208,6 +3621,7 @@ B3B104D3218F2EF400210C39 /* PVVBControllerViewController.swift in Sources */, 11BB0A2325AF7DFF004DEDC3 /* PVEmulatorViewController+PauseMenu.swift in Sources */, 1AD481D51BA3542A00FDA50A /* GCDWebUploader.m in Sources */, + B361F63127C07B2C0080D368 /* SideMenuView.swift in Sources */, B3411C34276B472900D85327 /* Subtitle.swift in Sources */, 1AD481F61BA3549F00FDA50A /* UIImage+ImageEffects.m in Sources */, B3A320382720974F00F338F6 /* PVGameCubeControllerViewController.swift in Sources */, @@ -3215,10 +3629,12 @@ B3375EC7278EA28E004B0DC0 /* fullscreen_vs.metal in Sources */, B3B104C7218F2EF400210C39 /* PVGBControllerViewController.swift in Sources */, B3B104CC218F2EF400210C39 /* PVNESControllerViewController.swift in Sources */, + B361F63727C07B390080D368 /* SideNavigationController+NestedTypes.swift in Sources */, B35E6C24207ED7050040709A /* UIAppearanceExtensions.swift in Sources */, B3F7BE7A204A289B000D0B4D /* PVConflictViewController.swift in Sources */, B3B104CB218F2EF400210C39 /* PVNeoGeoPocketControllerViewController.swift in Sources */, 1AD481DD1BA3544800FDA50A /* GCDWebServerFileRequest.m in Sources */, + B361F63A27C07B3E0080D368 /* PVRootViewController+DelegateMethods.swift in Sources */, C665CD8521FEC68E00C834C6 /* GCControllerExtensions.swift in Sources */, B3411C30276B472900D85327 /* OptionRow.swift in Sources */, 1A2FB10D206EF07C00A1F942 /* PVSaveStateCollectionViewCell.swift in Sources */, @@ -3249,6 +3665,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B3270F7B27DCB25100E83180 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B391F2B727C157E600730B53 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B391F2C027C157E700730B53 /* ContentView.swift in Sources */, + B391F2BE27C157E600730B53 /* Provenance_ClipApp.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; B3E21D67203211BE009939D3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3646,9 +4078,10 @@ isa = XCBuildConfiguration; baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APP_DISPLAY_NAME = "Prov Debug"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = "Provenance/Provenance-Free.entitlements"; @@ -3672,15 +4105,17 @@ "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; MARKETING_VERSION = "$(MARKETING_VERSION)"; + MTL_FAST_MATH = YES; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; SUPPORTS_MACCATALYST = YES; SWIFT_COMPILATION_MODE = singlefile; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "Provenance/Provenance-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_PRECOMPILE_BRIDGING_HEADER = NO; + SWIFT_PRECOMPILE_BRIDGING_HEADER = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; VALIDATE_PRODUCT = NO; @@ -3693,9 +4128,10 @@ isa = XCBuildConfiguration; baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APP_DISPLAY_NAME = "$(TARGET_NAME)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = "Provenance/Provenance-Free.entitlements"; @@ -3718,14 +4154,16 @@ "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; MARKETING_VERSION = "$(MARKETING_VERSION)"; + MTL_FAST_MATH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1 "; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "Provenance/Provenance-Bridging-Header.h"; - SWIFT_PRECOMPILE_BRIDGING_HEADER = NO; + SWIFT_PRECOMPILE_BRIDGING_HEADER = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; VALIDATE_PRODUCT = NO; @@ -3771,6 +4209,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; MTL_ENABLE_DEBUG_INFO = YES; + MTL_FAST_MATH = YES; PRODUCT_NAME = Provenance; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; @@ -3821,6 +4260,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = Provenance; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; @@ -4342,6 +4782,184 @@ }; name = Archive; }; + B3270F8827DCB25100E83180 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2780; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "GL_SILENCE_DEPRECATION=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DT_TOOLCHAIN_DIR)/usr/include\"", + /usr/include/libxml2, + ); + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Provenance Emu. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = "$(MARKETING_VERSION)"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.Cores"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,6"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + B3270F8927DCB25100E83180 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 2780; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "GL_SILENCE_DEPRECATION=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DT_TOOLCHAIN_DIR)/usr/include\"", + /usr/include/libxml2, + ); + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Provenance Emu. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = "$(MARKETING_VERSION)"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.Cores"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,6"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + B3270F8A27DCB25100E83180 /* Archive */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 2780; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "GL_SILENCE_DEPRECATION=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DT_TOOLCHAIN_DIR)/usr/include\"", + /usr/include/libxml2, + ); + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Provenance Emu. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = "$(MARKETING_VERSION)"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.Cores"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,6"; + VERSION_INFO_PREFIX = ""; + }; + name = Archive; + }; B3721CEB21912B7400433E4C /* Archive */ = { isa = XCBuildConfiguration; baseConfigurationReference = B380EAC12759D689001B8532 /* Build.xcconfig */; @@ -4401,9 +5019,10 @@ isa = XCBuildConfiguration; baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APP_DISPLAY_NAME = "$(TARGET_NAME)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = Provenance/Provenance.entitlements; @@ -4426,14 +5045,16 @@ "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; MARKETING_VERSION = "$(MARKETING_VERSION)"; + MTL_FAST_MATH = YES; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1 "; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "Provenance/Provenance-Bridging-Header.h"; - SWIFT_PRECOMPILE_BRIDGING_HEADER = NO; + SWIFT_PRECOMPILE_BRIDGING_HEADER = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; VALIDATE_PRODUCT = NO; @@ -4482,6 +5103,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = Provenance; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; @@ -4674,6 +5296,161 @@ }; name = Archive; }; + B391F2CC27C157E900730B53 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = "Provenance Clip/Provenance_Clip.entitlements"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_ASSET_PATHS = "\"Provenance Clip/Preview Content\""; + ENABLE_PREVIEWS = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "Provenance Clip/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = Provenance; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.provenance.Clip"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B391F2CD27C157E900730B53 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = "Provenance Clip/Provenance_Clip.entitlements"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_ASSET_PATHS = "\"Provenance Clip/Preview Content\""; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_PREVIEWS = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "Provenance Clip/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = Provenance; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.provenance.Clip"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + B391F2CE27C157E900730B53 /* Archive */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B326758527B1E0BB0033C5D1 /* Build-iOS.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = "Provenance Clip/Provenance_Clip.entitlements"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_ASSET_PATHS = "\"Provenance Clip/Preview Content\""; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_PREVIEWS = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "Provenance Clip/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = Provenance; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "org.provenance-emu.provenance.Clip"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Archive; + }; B3B29D412156177100903290 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4953,6 +5730,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B3270F8727DCB25100E83180 /* Build configuration list for PBXNativeTarget "Cores" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B3270F8827DCB25100E83180 /* Debug */, + B3270F8927DCB25100E83180 /* Release */, + B3270F8A27DCB25100E83180 /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; B383225E26ED9C530029D12F /* Build configuration list for PBXAggregateTarget "Check Git Submodules" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -4963,6 +5750,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B391F2CF27C157E900730B53 /* Build configuration list for PBXNativeTarget "Provenance Clip" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B391F2CC27C157E900730B53 /* Debug */, + B391F2CD27C157E900730B53 /* Release */, + B391F2CE27C157E900730B53 /* Archive */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; B3B29D402156177100903290 /* Build configuration list for PBXAggregateTarget "Create Version files" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -5006,11 +5803,19 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ + 37EEA2A927BC81880070E222 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/siteline/SwiftUI-Introspect"; + requirement = { + branch = master; + kind = branch; + }; + }; B357A43627092253002C7C0F /* XCRemoteSwiftPackageReference "appcenter-sdk-apple" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/microsoft/appcenter-sdk-apple.git"; requirement = { - kind = upToNextMinorVersion; + kind = upToNextMajorVersion; minimumVersion = 4.3.0; }; }; @@ -5033,6 +5838,11 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + 37EEA2AA27BC81890070E222 /* Introspect */ = { + isa = XCSwiftPackageProductDependency; + package = 37EEA2A927BC81880070E222 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */; + productName = Introspect; + }; B357A43727092254002C7C0F /* AppCenterAnalytics */ = { isa = XCSwiftPackageProductDependency; package = B357A43627092253002C7C0F /* XCRemoteSwiftPackageReference "appcenter-sdk-apple" */; diff --git a/Provenance.xcodeproj/xcshareddata/xcschemes/Cores.xcscheme b/Provenance.xcodeproj/xcshareddata/xcschemes/Cores.xcscheme new file mode 100644 index 0000000000..1e2a50f9c4 --- /dev/null +++ b/Provenance.xcodeproj/xcshareddata/xcschemes/Cores.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Provenance.xcodeproj/xcshareddata/xcschemes/ExperimentalCores.xcscheme b/Provenance.xcodeproj/xcshareddata/xcschemes/ExperimentalCores.xcscheme new file mode 100644 index 0000000000..249211cce5 --- /dev/null +++ b/Provenance.xcodeproj/xcshareddata/xcschemes/ExperimentalCores.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Provenance.xcodeproj/xcshareddata/xcschemes/Provenance Watch WatchKit App.xcscheme b/Provenance.xcodeproj/xcshareddata/xcschemes/Provenance Watch WatchKit App.xcscheme index 02ab106d4d..726edcdab9 100644 --- a/Provenance.xcodeproj/xcshareddata/xcschemes/Provenance Watch WatchKit App.xcscheme +++ b/Provenance.xcodeproj/xcshareddata/xcschemes/Provenance Watch WatchKit App.xcscheme @@ -54,8 +54,10 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - + - + - + - + + + + + diff --git a/Provenance.xcworkspace/contents.xcworkspacedata b/Provenance.xcworkspace/contents.xcworkspacedata index f4d2f84237..9fe89158fc 100644 --- a/Provenance.xcworkspace/contents.xcworkspacedata +++ b/Provenance.xcworkspace/contents.xcworkspacedata @@ -68,6 +68,9 @@ + + diff --git a/Provenance.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Provenance.xcworkspace/xcshareddata/swiftpm/Package.resolved index 23c5ff12bc..b29b49a349 100644 --- a/Provenance.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Provenance.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,133 +1,149 @@ { - "object": { - "pins": [ - { - "package": "AppCenter", - "repositoryURL": "https://github.com/microsoft/appcenter-sdk-apple.git", - "state": { - "branch": null, - "revision": "25f64229373de97ff3920941cd52203193e5d8be", - "version": "4.3.0" - } - }, - { - "package": "CocoaLumberjack", - "repositoryURL": "https://github.com/CocoaLumberjack/CocoaLumberjack.git", - "state": { - "branch": null, - "revision": "80ada1f753b0d53d9b57c465936a7c4169375002", - "version": "3.7.4" - } - }, - { - "package": "NSLogger", - "repositoryURL": "https://github.com/fpillet/NSLogger", - "state": { - "branch": "master", - "revision": "3408cce1ff97bef20f3dcf367a02019b5c51d198", - "version": null - } - }, - { - "package": "PLCrashReporter", - "repositoryURL": "https://github.com/microsoft/PLCrashReporter.git", - "state": { - "branch": null, - "revision": "6b27393cad517c067dceea85fadf050e70c4ceaa", - "version": "1.10.1" - } - }, - { - "package": "Reachability", - "repositoryURL": "https://github.com/ashleymills/Reachability.swift.git", - "state": { - "branch": null, - "revision": "c01bbdf2d633cf049ae1ed1a68a2020a8bda32e2", - "version": "5.1.0" - } - }, - { - "package": "Realm", - "repositoryURL": "https://github.com/realm/realm-cocoa.git", - "state": { - "branch": null, - "revision": "e83cc9f28e8bccd477b6b81cee521c02239d2773", - "version": "10.20.2" - } - }, - { - "package": "RealmDatabase", - "repositoryURL": "https://github.com/realm/realm-core", - "state": { - "branch": null, - "revision": "c3c11a841642ac93c27bd1edd61f989fc0bfb809", - "version": "11.6.1" - } - }, - { - "package": "RxDataSources", - "repositoryURL": "https://github.com/RxSwiftCommunity/RxDataSources.git", - "state": { - "branch": null, - "revision": "90c29b48b628479097fe775ed1966d75ac374518", - "version": "5.0.2" - } - }, - { - "package": "RxRealm", - "repositoryURL": "https://github.com/RxSwiftCommunity/RxRealm.git", - "state": { - "branch": null, - "revision": "d9e612a1bc3788c910b307e49093dec788d102df", - "version": "5.0.3" - } - }, - { - "package": "RxSwift", - "repositoryURL": "https://github.com/ReactiveX/RxSwift.git", - "state": { - "branch": null, - "revision": "7c17a6ccca06b5c107cfa4284e634562ddaf5951", - "version": "6.2.0" - } - }, - { - "package": "SQLite.swift", - "repositoryURL": "https://github.com/stephencelis/SQLite.swift.git", - "state": { - "branch": null, - "revision": "0a9893ec030501a3956bee572d6b4fdd3ae158a1", - "version": "0.12.2" - } - }, - { - "package": "SteamController", - "repositoryURL": "https://github.com/Provenance-Emu/SteamController.git", - "state": { - "branch": "master", - "revision": "55d2fe0484f4cc5ed3535033af6b0218621e37b2", - "version": null - } - }, - { - "package": "swift-log", - "repositoryURL": "https://github.com/apple/swift-log.git", - "state": { - "branch": null, - "revision": "5d66f7ba25daf4f94100e7022febf3c75e37a6c7", - "version": "1.4.2" - } - }, - { - "package": "ZipArchive", - "repositoryURL": "https://github.com/ZipArchive/ZipArchive", - "state": { - "branch": null, - "revision": "a6f9d8ffa18c6d562554d0b305696d4de1a0d161", - "version": "2.3.0" - } - } - ] - }, - "version": 1 + "pins" : [ + { + "identity" : "altkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/rileytestut/AltKit.git", + "state" : { + "branch" : "main", + "revision" : "2fd376df1c79ec06a5c80cc8933da027f65b3148" + } + }, + { + "identity" : "appcenter-sdk-apple", + "kind" : "remoteSourceControl", + "location" : "https://github.com/microsoft/appcenter-sdk-apple.git", + "state" : { + "revision" : "8354a50fe01a7e54e196d3b5493b5ab53dd5866a", + "version" : "4.4.2" + } + }, + { + "identity" : "cocoalumberjack", + "kind" : "remoteSourceControl", + "location" : "https://github.com/CocoaLumberjack/CocoaLumberjack.git", + "state" : { + "revision" : "80ada1f753b0d53d9b57c465936a7c4169375002", + "version" : "3.7.4" + } + }, + { + "identity" : "nslogger", + "kind" : "remoteSourceControl", + "location" : "https://github.com/fpillet/NSLogger", + "state" : { + "branch" : "master", + "revision" : "3408cce1ff97bef20f3dcf367a02019b5c51d198" + } + }, + { + "identity" : "plcrashreporter", + "kind" : "remoteSourceControl", + "location" : "https://github.com/microsoft/PLCrashReporter.git", + "state" : { + "revision" : "6b27393cad517c067dceea85fadf050e70c4ceaa", + "version" : "1.10.1" + } + }, + { + "identity" : "reachability.swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ashleymills/Reachability.swift.git", + "state" : { + "revision" : "c01bbdf2d633cf049ae1ed1a68a2020a8bda32e2", + "version" : "5.1.0" + } + }, + { + "identity" : "realm-core", + "kind" : "remoteSourceControl", + "location" : "https://github.com/realm/realm-core", + "state" : { + "revision" : "fd48276f88f3d55dbdcdc9e8cbf32541811d5865", + "version" : "12.1.0" + } + }, + { + "identity" : "realm-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/realm/realm-swift.git", + "state" : { + "revision" : "d3aaab84885e0de9a7a49955874cee160adee164", + "version" : "10.28.1" + } + }, + { + "identity" : "rxdatasources", + "kind" : "remoteSourceControl", + "location" : "https://github.com/RxSwiftCommunity/RxDataSources.git", + "state" : { + "revision" : "90c29b48b628479097fe775ed1966d75ac374518", + "version" : "5.0.2" + } + }, + { + "identity" : "rxrealm", + "kind" : "remoteSourceControl", + "location" : "https://github.com/RxSwiftCommunity/RxRealm.git", + "state" : { + "revision" : "a7de576348d48286d8b100a501f757a1c531f1dd", + "version" : "5.0.5" + } + }, + { + "identity" : "rxswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ReactiveX/RxSwift.git", + "state" : { + "revision" : "b4307ba0b6425c0ba4178e138799946c3da594f8", + "version" : "6.5.0" + } + }, + { + "identity" : "sqlite.swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/stephencelis/SQLite.swift.git", + "state" : { + "revision" : "4d543d811ee644fa4cc4bfa0be996b4dd6ba0f54", + "version" : "0.13.3" + } + }, + { + "identity" : "steamcontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Provenance-Emu/SteamController.git", + "state" : { + "branch" : "master", + "revision" : "55d2fe0484f4cc5ed3535033af6b0218621e37b2" + } + }, + { + "identity" : "swift-log", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-log.git", + "state" : { + "revision" : "5d66f7ba25daf4f94100e7022febf3c75e37a6c7", + "version" : "1.4.2" + } + }, + { + "identity" : "swiftui-introspect", + "kind" : "remoteSourceControl", + "location" : "https://github.com/siteline/SwiftUI-Introspect", + "state" : { + "branch" : "master", + "revision" : "7ef0df639079491ee1aaf6b83b6fd4d08df80393" + } + }, + { + "identity" : "ziparchive", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ZipArchive/ZipArchive", + "state" : { + "revision" : "bc8bdb5216f9b37071a917025d76183a2ea41135", + "version" : "2.5.0" + } + } + ], + "version" : 2 } diff --git a/Provenance/Controller/PVControllerViewController.swift b/Provenance/Controller/PVControllerViewController.swift index 775dec7426..ee92365dff 100644 --- a/Provenance/Controller/PVControllerViewController.swift +++ b/Provenance/Controller/PVControllerViewController.swift @@ -414,7 +414,7 @@ class PVControllerViewController: UIViewController, Controll if let dPad2 = dPad2 { dPad2.isHidden = compactVertical } - } else if controlType == Keys.JoyPad { + } else if controlType == Keys.JoyPad, PVSettingsModel.shared.debugOptions.onscreenJoypad { let xPadding: CGFloat = 0 //safeAreaInsets.left let bottomPadding: CGFloat = 16 let dPadOriginY: CGFloat = min(controlOriginY - bottomPadding, view.frame.height - controlSize.height - bottomPadding) diff --git a/Provenance/Emulator/CoreOptionsViewController.swift b/Provenance/Emulator/CoreOptionsViewController.swift index 2be431fafa..9b2ff1935c 100644 --- a/Provenance/Emulator/CoreOptionsViewController.swift +++ b/Provenance/Emulator/CoreOptionsViewController.swift @@ -69,8 +69,8 @@ final class CoreOptionsViewController: QuickTableViewController { func sections(forGroups groups: [TableGroup]) -> [Section] { typealias TableRow = Row & RowStyle - let sections: [Section] = groups.map { - let rows: [TableRow] = $0.options.enumerated().map { (rowIndex, option) in + let sections: [Section] = groups.enumerated().map { sectionIndex, group in + let rows: [TableRow] = group.options.enumerated().map { (rowIndex, option) in switch option { case let .bool(display, defaultValue): let detailText: DetailText = display.description != nil ? DetailText.subtitle(display.description!) : .none @@ -90,7 +90,7 @@ final class CoreOptionsViewController: QuickTableViewController { let actionController = UIAlertController(title: display.title, message: nil, preferredStyle: .actionSheet) if let popoverPresentationController = actionController.popoverPresentationController { - let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: 0)) + let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) popoverPresentationController.sourceView = self.tableView popoverPresentationController.sourceRect = cellRect } @@ -119,15 +119,29 @@ final class CoreOptionsViewController: QuickTableViewController { icon: nil, customization: { _, _ in }, - action: { _ in + action: { row in let currentSelection: Int = self.core.storedValueForOption(Int.self, option.key) ?? option.defaultValue as? Int ?? defaultValue let actionController = UIAlertController(title: display.title, message: nil, preferredStyle: .actionSheet) - if let popoverPresentationController = actionController.popoverPresentationController { - let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: 0)) - popoverPresentationController.sourceView = self.tableView - popoverPresentationController.sourceRect = cellRect - } +#if !os(tvOS) + if #available(iOS 15.0, *), let sheetPresentationController = actionController.sheetPresentationController { +// let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) + sheetPresentationController.sourceView = self.tableView +// sheetPresentationController.sourceRect = cellRect + } else if let popoverPresentationController = actionController.popoverPresentationController { + let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) + popoverPresentationController.sourceView = self.tableView + popoverPresentationController.sourceRect = cellRect + } + #else + if let popoverPresentationController = actionController.popoverPresentationController { + let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) + popoverPresentationController.sourceView = self.tableView + popoverPresentationController.sourceRect = cellRect + } + #endif + + values.forEach { value in var title = value.title @@ -210,7 +224,7 @@ final class CoreOptionsViewController: QuickTableViewController { action: { cell in let currentValue: String = value // self.core.valueForOption(String.self, option.key) ?? option.defaultValue as? String ?? "" let actionController = UIAlertController(title: display.title, message: nil, preferredStyle: .actionSheet) - let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: 0)) + let cellRect = self.tableView.rectForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) let textField = UITextField() textField.text = value @@ -254,7 +268,7 @@ final class CoreOptionsViewController: QuickTableViewController { fatalError("Unfinished feature") } } - return Section(title: $0.title, rows: rows) + return Section(title: group.title, rows: rows) } return sections } diff --git a/Provenance/NewUI/Components/GameContextMenu.swift b/Provenance/NewUI/Components/GameContextMenu.swift new file mode 100644 index 0000000000..322aadb59e --- /dev/null +++ b/Provenance/NewUI/Components/GameContextMenu.swift @@ -0,0 +1,61 @@ +// +// GameContextMenu.swift +// Provenance +// +// Created by Ian Clawson on 1/28/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#if canImport(SwiftUI) + +import Foundation +import SwiftUI +import PVLibrary + +@available(iOS 14, tvOS 14, *) +struct GameContextMenu: SwiftUI.View { + + var game: PVGame + + var rootDelegate: PVRootDelegate? + + var body: some SwiftUI.View { + Group { + Button { + rootDelegate?.root_load(game, sender: self, core: nil, saveState: nil) + } label: { Label("Open in...", systemImage: "gamecontroller") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Game Info", systemImage: "info.circle") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Favorite", systemImage: "heart") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Rename", systemImage: "rectangle.and.pencil.and.ellipsis") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Copy MD5 URL", systemImage: "number.square") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Choose Cover", systemImage: "book.closed") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Paste Cover", systemImage: "doc.on.clipboard") } + Button { + self.rootDelegate?.showUnderConstructionAlert() // TODO: this + } label: { Label("Share", systemImage: "square.and.arrow.up") } + Divider() + if #available(iOS 15, tvOS 15, *) { + Button(role: .destructive) { + rootDelegate?.attemptToDelete(game: game) + } label: { Label("Delete", systemImage: "trash") } + } else { + Button { + rootDelegate?.attemptToDelete(game: game) + } label: { Label("Delete", systemImage: "trash") } + } + } + } +} +#endif diff --git a/Provenance/NewUI/Components/GameItemView.swift b/Provenance/NewUI/Components/GameItemView.swift new file mode 100644 index 0000000000..1b32edabdd --- /dev/null +++ b/Provenance/NewUI/Components/GameItemView.swift @@ -0,0 +1,246 @@ +// +// GameItemView.swift +// Provenance +// +// Created by Ian Clawson on 1/22/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#if canImport(SwiftUI) + +import Foundation +import SwiftUI +import PVLibrary + +#if os(tvOS) + public let PVRowHeight: CGFloat = 300.0 +#else + public let PVRowHeight: CGFloat = 150.0 +#endif + +enum GameItemViewType { + case cell + case row + + var titleFontSize: CGFloat { + switch self { + case .cell: + return 11 + case .row: + return 15 + } + } + + var subtitleFontSize: CGFloat { + switch self { + case .cell: + return 8 + case .row: + return 12 + } + } +} + +@available(iOS 14, tvOS 14, *) +struct GameItemView: SwiftUI.View { + + var game: PVGame + var constrainHeight: Bool = false + var viewType: GameItemViewType = .cell + + @State var artwork: UIImage? = nil + var action: () -> Void + + + var body: some SwiftUI.View { + Button { + action() + } label: { + switch viewType { + case .cell: + GameItemViewCell(game: game, artwork: artwork, constrainHeight: constrainHeight, viewType: viewType) + case .row: + GameItemViewRow(game: game, artwork: artwork, constrainHeight: constrainHeight, viewType: viewType) + } + } + .onAppear { + PVMediaCache.shareInstance().image(forKey: game.trueArtworkURL, completion: { _, image in + self.artwork = image + }) + } + } + +} + +@available(iOS 14, tvOS 14, *) +struct GameItemViewCell: SwiftUI.View { + + var game: PVGame + + var artwork: UIImage? = nil + + var constrainHeight: Bool = false + + var viewType: GameItemViewType + + @State private var textMaxWidth: CGFloat = 150 + + var body: some SwiftUI.View { + VStack(alignment: .leading, spacing: 3) { + GameItemThumbnail(artwork: artwork, gameTitle: game.title, boxartAspectRatio: game.boxartAspectRatio) + VStack(alignment: .leading, spacing: 0) { + GameItemTitle(text: game.title, viewType: viewType) + GameItemSubtitle(text: game.publishDate, viewType: viewType) + } + .frame(width: textMaxWidth) + } + .if(constrainHeight) { view in + view.frame(height: PVRowHeight) + } + .onPreferenceChange(ArtworkDynamicWidthPreferenceKey.self) { + textMaxWidth = $0 + } + } +} + +@available(iOS 14, tvOS 14, *) +struct GameItemViewRow: SwiftUI.View { + + var game: PVGame + + var artwork: UIImage? = nil + @State private var textMaxWidth: CGFloat = 150 + + var constrainHeight: Bool = false + + var viewType: GameItemViewType + + var body: some SwiftUI.View { + HStack(alignment: .center, spacing: 10) { + GameItemThumbnail(artwork: artwork, gameTitle: game.title, boxartAspectRatio: game.boxartAspectRatio) + VStack(alignment: .leading, spacing: 0) { + GameItemTitle(text: game.title, viewType: viewType) + GameItemSubtitle(text: game.publishDate, viewType: viewType) + } + } + .frame(height: 50.0) + } +} + +@available(iOS 14, tvOS 14, *) +struct GameItemThumbnail: SwiftUI.View { + var artwork: UIImage? + var gameTitle: String + var boxartAspectRatio: PVGameBoxArtAspectRatio + let radius: CGFloat = 3.0 + var body: some SwiftUI.View { + ArtworkImageBaseView(artwork: artwork, gameTitle: gameTitle, boxartAspectRatio: boxartAspectRatio) + .overlay(RoundedRectangle(cornerRadius: radius).stroke(Theme.currentTheme.gameLibraryText.swiftUIColor.opacity(0.5), lineWidth: 1)) + .background(GeometryReader { geometry in + Color.clear.preference( + key: ArtworkDynamicWidthPreferenceKey.self, + value: geometry.size.width + ) + }) + .cornerRadius(radius) + } +} + +@available(iOS 14, tvOS 14, *) +struct ArtworkImageBaseView: SwiftUI.View { + + var artwork: UIImage? + var gameTitle: String + var boxartAspectRatio: PVGameBoxArtAspectRatio + + init(artwork: UIImage?, gameTitle: String, boxartAspectRatio: PVGameBoxArtAspectRatio) { + self.artwork = artwork + self.gameTitle = gameTitle + self.boxartAspectRatio = boxartAspectRatio + } + + var body: some SwiftUI.View { + if let artwork = artwork { + Image(uiImage: artwork) + .resizable() + .aspectRatio(contentMode: .fit) + } else { + Image(uiImage: UIImage.missingArtworkImage(gameTitle: gameTitle, ratio: boxartAspectRatio.rawValue)) + .resizable() + .aspectRatio(contentMode: .fit) + } + } +} + +@available(iOS 14, tvOS 14, *) +struct GameItemTitle: SwiftUI.View { + var text: String + var viewType: GameItemViewType + + var body: some SwiftUI.View { + Text(text) + .font(.system(size: viewType.titleFontSize)) + .foregroundColor(Color.white) + .lineLimit(1) + .frame(maxWidth: .infinity, alignment: .leading) + } +} + +@available(iOS 14, tvOS 14, *) +struct GameItemSubtitle: SwiftUI.View { + var text: String? + var viewType: GameItemViewType + + var body: some SwiftUI.View { + Text(text ?? "blank") + .font(.system(size: viewType.subtitleFontSize)) + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + .lineLimit(1) + .frame(maxWidth: .infinity, alignment: .leading) + .opacity(text != nil ? 1.0 : 0.0) // hide rather than not render so that cell keeps consistent height + } +} + +@available(iOS 14, tvOS 14, *) +struct ArtworkDynamicWidthPreferenceKey: PreferenceKey { + static let defaultValue: CGFloat = 0 + + static func reduce(value: inout CGFloat, + nextValue: () -> CGFloat) { + value = max(value, nextValue()) + } +} + +#endif + +extension PVGame { + var trueArtworkURL: String { + return (customArtworkURL.isEmpty) ? originalArtworkURL : customArtworkURL + } +} + +extension UIImage { + static func missingArtworkImage(gameTitle: String, ratio: CGFloat) -> UIImage { + #if os(iOS) + let backgroundColor: UIColor = Theme.currentTheme.settingsCellBackground! + #else + let backgroundColor: UIColor = UIColor(white: 0.18, alpha: 1.0) + #endif + + #if os(iOS) + let attributedText = NSAttributedString(string: gameTitle, attributes: [ + NSAttributedString.Key.font: UIFont.systemFont(ofSize: 30.0), + NSAttributedString.Key.foregroundColor: Theme.currentTheme.settingsCellText!]) + #else + let attributedText = NSAttributedString(string: gameTitle, attributes: [ + NSAttributedString.Key.font: UIFont.systemFont(ofSize: 60.0), + NSAttributedString.Key.foregroundColor: UIColor.gray]) + #endif + + let height: CGFloat = CGFloat(PVThumbnailMaxResolution) + let width: CGFloat = height * ratio + let size = CGSize(width: width, height: height) + let missingArtworkImage = UIImage.image(withSize: size, color: backgroundColor, text: attributedText) + return missingArtworkImage ?? UIImage() + } +} diff --git a/Provenance/NewUI/Components/SearchBar.swift b/Provenance/NewUI/Components/SearchBar.swift new file mode 100644 index 0000000000..7895a35b40 --- /dev/null +++ b/Provenance/NewUI/Components/SearchBar.swift @@ -0,0 +1,63 @@ +// +// SearchBar.swift +// Provenance +// +// Created by Ian Clawson on 2/10/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// +// From: https://github.com/Geri-Borbas/iOS.Blog.SwiftUI_Search_Bar_in_Navigation_Bar + +import Foundation +import SwiftUI + +@available(iOS 14, tvOS 14, *) +class SearchBar: NSObject, ObservableObject { + + @Published var text: String = "" + let searchController: UISearchController = UISearchController(searchResultsController: nil) + + override init() { + super.init() + self.searchController.obscuresBackgroundDuringPresentation = false + self.searchController.searchResultsUpdater = self + } +} + +@available(iOS 14, tvOS 14, *) +extension SearchBar: UISearchResultsUpdating { + + func updateSearchResults(for searchController: UISearchController) { + + // Publish search bar text changes. + if let searchBarText = searchController.searchBar.text { + self.text = searchBarText + } + } +} + +@available(iOS 14, tvOS 14, *) +struct SearchBarModifier: ViewModifier { + + let searchBar: SearchBar + + func body(content: Content) -> some SwiftUI.View { + content + .overlay( + ViewControllerResolver { viewController in + #if !os(tvOS) + viewController.navigationItem.searchController = self.searchBar.searchController + #else + // TODO: something here? + #endif + } + .frame(width: 0, height: 0) + ) + } +} + +@available(iOS 14, tvOS 14, *) +extension SwiftUI.View { + func add(_ searchBar: SearchBar) -> some SwiftUI.View { + return self.modifier(SearchBarModifier(searchBar: searchBar)) + } +} diff --git a/Provenance/NewUI/Components/ViewControllerResolver.swift b/Provenance/NewUI/Components/ViewControllerResolver.swift new file mode 100644 index 0000000000..31c95c41bf --- /dev/null +++ b/Provenance/NewUI/Components/ViewControllerResolver.swift @@ -0,0 +1,50 @@ +// +// ViewControllerResolver.swift +// Provenance +// +// Created by Ian Clawson on 2/10/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// +// From: https://github.com/Geri-Borbas/iOS.Blog.SwiftUI_Search_Bar_in_Navigation_Bar + +import Foundation +import SwiftUI + +@available(iOS 14, tvOS 14, *) +final class ViewControllerResolver: UIViewControllerRepresentable { + + let onResolve: (UIViewController) -> Void + + init(onResolve: @escaping (UIViewController) -> Void) { + self.onResolve = onResolve + } + + func makeUIViewController(context: Context) -> ParentResolverViewController { + ParentResolverViewController(onResolve: onResolve) + } + + func updateUIViewController(_ uiViewController: ParentResolverViewController, context: Context) { } +} + +@available(iOS 14, tvOS 14, *) +class ParentResolverViewController: UIViewController { + + let onResolve: (UIViewController) -> Void + + init(onResolve: @escaping (UIViewController) -> Void) { + self.onResolve = onResolve + super.init(nibName: nil, bundle: nil) + } + + required init?(coder: NSCoder) { + fatalError("Use init(onResolve:) to instantiate ParentResolverViewController.") + } + + override func didMove(toParent parent: UIViewController?) { + super.didMove(toParent: parent) + + if let parent = parent { + onResolve(parent) + } + } +} diff --git a/Provenance/NewUI/Consoles/ConsoleGamesView.swift b/Provenance/NewUI/Consoles/ConsoleGamesView.swift new file mode 100644 index 0000000000..d6318e3eb5 --- /dev/null +++ b/Provenance/NewUI/Consoles/ConsoleGamesView.swift @@ -0,0 +1,226 @@ +// +// ConsoleGamesView.swift +// Provenance +// +// Created by Ian Clawson on 1/22/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation +#if canImport(SwiftUI) +import SwiftUI +import RealmSwift +import PVLibrary + +// TODO: might be able to reuse this view for collections +@available(iOS 14, tvOS 14, *) +struct ConsoleGamesView: SwiftUI.View { + + @ObservedObject var viewModel: PVRootViewModel + var console: PVSystem + var rootDelegate: PVRootDelegate? + + @ObservedResults( + PVGame.self, + sortDescriptor: SortDescriptor(keyPath: #keyPath(PVGame.title), ascending: false) + ) var games + + init(console: PVSystem, viewModel: PVRootViewModel, rootDelegate: PVRootDelegate) { + self.console = console + self.viewModel = viewModel + self.rootDelegate = rootDelegate + } + + func filteredAndSortedGames() -> Results { + // TODO: if filters are on, apply them here before returning + return games + .filter(NSPredicate(format: "systemIdentifier == %@", argumentArray: [console.identifier])) + .sorted(by: [SortDescriptor(keyPath: #keyPath(PVGame.title), ascending: viewModel.sortGamesAscending)]) + } + + // TODO: adjust for landscape + let columns = [ + GridItem(.flexible()), + GridItem(.flexible()), + GridItem(.flexible()), + ] + + + var body: some SwiftUI.View { + ScrollView { + GamesDisplayOptionsView( + sortAscending: viewModel.sortGamesAscending, + isGrid: viewModel.viewGamesAsGrid, + toggleFilterAction: { self.rootDelegate?.showUnderConstructionAlert() }, + toggleSortAction: { viewModel.sortGamesAscending.toggle() }, + toggleViewTypeAction: { viewModel.viewGamesAsGrid.toggle() }) + .padding(.top, 16) + if viewModel.viewGamesAsGrid { + LazyVGrid(columns: columns, spacing: 20) { + ForEach(filteredAndSortedGames(), id: \.self) { game in + GameItemView(game: game) { + rootDelegate?.root_load(game, sender: self, core: nil, saveState: nil) + } + .contextMenu { GameContextMenu(game: game, rootDelegate: rootDelegate) } + } + } + .padding(.horizontal, 10) + } else { + LazyVStack { + ForEach(filteredAndSortedGames(), id: \.self) { game in + GameItemView(game: game, viewType: .row) { + rootDelegate?.root_load(game, sender: self, core: nil, saveState: nil) + } + .contextMenu { GameContextMenu(game: game, rootDelegate: rootDelegate) } + GamesDividerView() + } + } + .padding(.horizontal, 10) + } + if console.bioses.count > 0 { + LazyVStack { + GamesDividerView() + ForEach(console.bioses, id: \.self) { bios in + BiosRowView(bios: bios.warmUp()) + GamesDividerView() + } + } + .background(Theme.currentTheme.settingsCellBackground?.swiftUIColor.opacity(0.3) ?? Color.black) + } + } + .background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + } +} + +@available(iOS 14, tvOS 14, *) +struct BiosRowView: SwiftUI.View { + + var bios: PVBIOS + + func biosState() -> BIOSStatus.State { + return (bios as BIOSStatusProvider).status.state + } + + var body: some SwiftUI.View { + HStack(alignment: .center, spacing: 0) { + Image(biosState().biosStatusImageName).resizable().scaledToFit() + .padding(.vertical, 4) + .padding(.horizontal, 12) + VStack(alignment: .leading) { + Text("\(bios.descriptionText)") + .font(.system(size: 13)) + .foregroundColor(Color.white) + Text("\(bios.expectedMD5.uppercased()) : \(bios.expectedSize) bytes") + .font(.system(size: 10)) + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + } + Spacer() + HStack(alignment: .center, spacing: 4) { + switch biosState() { + case .match: + Image(systemName: "checkmark") + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + .font(.system(size: 13, weight: .light)) + case .missing: + Text("Missing") + .font(.system(size: 12)) + .foregroundColor(Color.yellow) + Image(systemName: "exclamationmark.triangle.fill") + .foregroundColor(Color.yellow) + .font(.system(size: 12, weight: .light)) + case let .mismatch(_): + Text("Mismatch") + .font(.system(size: 12)) + .foregroundColor(Color.red) + Image(systemName: "exclamationmark.triangle.fill") + .foregroundColor(Color.red) + .font(.system(size: 12, weight: .medium)) + } + } + .padding(.horizontal, 12) + } + .frame(height: 40) + } +} + +extension BIOSStatus.State { + var biosStatusImageName: String { + switch self { + case .missing: return "bios_empty" + case .mismatch(_): return "bios_empty" + case .match: return "bios_filled" + } + } +} + +@available(iOS 14, tvOS 14, *) +struct GamesDividerView: SwiftUI.View { + var body: some SwiftUI.View { + Divider() + .frame(height: 1) + .background(Theme.currentTheme.gameLibraryText.swiftUIColor) + .opacity(0.1) + } +} + +@available(iOS 14, tvOS 14, *) +struct GamesDisplayOptionsView: SwiftUI.View { + + var sortAscending = true + var isGrid = true + + var toggleFilterAction: () -> Void + var toggleSortAction: () -> Void + var toggleViewTypeAction: () -> Void + + var body: some SwiftUI.View { + HStack(spacing: 12) { + Spacer() + OptionsIndicator(pointDown: true, action: { toggleFilterAction() }) { + Text("Filter").foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor).font(.system(size: 13)) + } + OptionsIndicator(pointDown: sortAscending, action: { toggleSortAction() }) { + Text("Sort").foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor).font(.system(size: 13)) + } + OptionsIndicator(pointDown: true, action: { toggleViewTypeAction() }) { + Image(systemName: isGrid == true ? "square.grid.3x3.fill" : "line.3.horizontal") + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + .font(.system(size: 13, weight: .light)) + } + .padding(.trailing, 10) + } + } +} + +@available(iOS 14, tvOS 14, *) +struct OptionsIndicator: SwiftUI.View { + + var pointDown: Bool = true + var chevronSize: CGFloat = 12.0 + + var action: () -> Void + + @ViewBuilder var label: () -> Content + + var body: some SwiftUI.View { + Button { + action() + } label: { + HStack(spacing: 3) { + label() + Image(systemName: pointDown == true ? "chevron.down" : "chevron.up") + .foregroundColor(.gray) + .font(.system(size: chevronSize, weight: .ultraLight)) + } + } + } +} + +//@available(iOS 14, tvOS 14, *) +//struct HomeView_Previews: PreviewProvider { +// static var previews: some SwiftUI.View { +// HomeView() +// } +//} + +#endif diff --git a/Provenance/NewUI/Consoles/ConsolesWrapperView.swift b/Provenance/NewUI/Consoles/ConsolesWrapperView.swift new file mode 100644 index 0000000000..1f6712db78 --- /dev/null +++ b/Provenance/NewUI/Consoles/ConsolesWrapperView.swift @@ -0,0 +1,67 @@ +// +// ConsolesWrapperView.swift +// Provenance +// +// Created by Ian Clawson on 1/26/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation + +#if canImport(SwiftUI) +import SwiftUI +import RealmSwift +import PVLibrary + +@available(iOS 14, tvOS 14, *) +class ConsolesWrapperViewDelegate: ObservableObject { + @Published var selectedTab = "" +} + +@available(iOS 14, tvOS 14, *) +struct ConsolesWrapperView: SwiftUI.View { + + @ObservedObject var delegate: ConsolesWrapperViewDelegate + @ObservedObject var viewModel: PVRootViewModel + var rootDelegate: PVRootDelegate! + + @ObservedResults( + PVSystem.self, + filter: NSPredicate(format: "games.@count > 0"), + sortDescriptor: SortDescriptor(keyPath: #keyPath(PVSystem.name), ascending: false) + ) var consoles + + init( + consolesWrapperViewDelegate: ConsolesWrapperViewDelegate, + viewModel: PVRootViewModel, + rootDelegate: PVRootDelegate + ) { + self.delegate = consolesWrapperViewDelegate + self.viewModel = viewModel + self.rootDelegate = rootDelegate + } + + var body: some SwiftUI.View { + TabView(selection: $delegate.selectedTab) { + if consoles.count > 0 { + ForEach( + viewModel.sortConsolesAscending == true + ? consoles.reversed() + : consoles.map { $0 }, + id: \.self + ) { console in + ConsoleGamesView(console: console, viewModel: viewModel, rootDelegate: rootDelegate) + .tag(console.identifier) + } + } else { + Text("No Consoles") + .tag("no consoles") + } + } + .tabViewStyle(.page) + .indexViewStyle(.page(backgroundDisplayMode: .interactive)) + .id(consoles.count) + } +} + +#endif diff --git a/Provenance/NewUI/Home/HomeView.swift b/Provenance/NewUI/Home/HomeView.swift new file mode 100644 index 0000000000..c59d8eacae --- /dev/null +++ b/Provenance/NewUI/Home/HomeView.swift @@ -0,0 +1,238 @@ +// +// HomeView.swift +// Provenance +// +// Created by Ian Clawson on 1/22/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +#if canImport(SwiftUI) +import Foundation +import SwiftUI +import RealmSwift +import PVLibrary + +enum PVHomeSection: Int, CaseIterable { + case recentSaveStates + case recentlyPlayedGames + case favorites + case mostPlayed +} + +@available(iOS 14, tvOS 14, *) +struct HomeView: SwiftUI.View { + + var gameLibrary: PVGameLibrary! + + var rootDelegate: PVRootDelegate? + + @ObservedResults( + PVSaveState.self, + filter: NSPredicate(format: "game != nil && game.system != nil"), + sortDescriptor: SortDescriptor(keyPath: #keyPath(PVSaveState.date), ascending: false) + ) var recentSaveStates + + @ObservedResults( + PVRecentGame.self, + sortDescriptor: SortDescriptor(keyPath: #keyPath(PVRecentGame.lastPlayedDate), ascending: false) + ) var recentlyPlayedGames + + @ObservedResults( + PVGame.self, + filter: NSPredicate(format: "\(#keyPath(PVGame.isFavorite)) == %@", NSNumber(value: true)), + sortDescriptor: SortDescriptor(keyPath: #keyPath(PVGame.title), ascending: false) + ) var favorites + + @ObservedResults( + PVGame.self, + sortDescriptor: SortDescriptor(keyPath: #keyPath(PVGame.playCount), ascending: false) + ) var mostPlayed + + init(gameLibrary: PVGameLibrary, delegate: PVRootDelegate) { + self.gameLibrary = gameLibrary + self.rootDelegate = delegate + } + + var body: some SwiftUI.View { + StatusBarProtectionWrapper { + ScrollView { + LazyVStack { + if #available(iOS 15, tvOS 15, *) { + HomeContinueSection(continueStates: recentSaveStates, rootDelegate: rootDelegate) + } else { + HomeSection(title: "Continue") { + ForEach(recentSaveStates, id: \.self) { recentSaveState in + GameItemView(game: recentSaveState.game, constrainHeight: true) { + rootDelegate?.root_load(recentSaveState.game, sender: self, core: recentSaveState.core, saveState: recentSaveState) + } + } + } + HomeDividerView() + } + HomeSection(title: "Recently Played") { + ForEach(recentlyPlayedGames, id: \.self) { recentlyPlayedGame in + GameItemView(game: recentlyPlayedGame.game, constrainHeight: true) { + rootDelegate?.root_load(recentlyPlayedGame.game, sender: self, core: nil, saveState: nil) + } + .contextMenu { GameContextMenu(game: recentlyPlayedGame.game, rootDelegate: rootDelegate) } + } + } + HomeDividerView() + HomeSection(title: "Favorites") { + ForEach(favorites, id: \.self) { favorite in + GameItemView(game: favorite, constrainHeight: true) { + rootDelegate?.root_load(favorite, sender: self, core: nil, saveState: nil) + } + .contextMenu { GameContextMenu(game: favorite, rootDelegate: rootDelegate) } + } + } + HomeDividerView() + HomeSection(title: "Most Played") { + ForEach(mostPlayed, id: \.self) { playedGame in + GameItemView(game: playedGame, constrainHeight: true) { + rootDelegate?.root_load(playedGame, sender: self, core: nil, saveState: nil) + } + .contextMenu { GameContextMenu(game: playedGame, rootDelegate: rootDelegate) } + } + } + } + } + } + .background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + } +} + +@available(iOS 15, tvOS 15, *) +struct HomeContinueSection: SwiftUI.View { + + var continueStates: Results + var rootDelegate: PVRootDelegate? + let height: CGFloat = 260 + + var body: some SwiftUI.View { + + TabView { + if continueStates.count > 0 { + ForEach(continueStates, id: \.self) { state in + HomeContinueItemView(continueState: state, height: height) { + rootDelegate?.root_load(state.game, sender: self, core: state.core, saveState: state) + } + } + } else { + Text("No Continues") + .tag("no continues") + } + } + .tabViewStyle(.page) + .indexViewStyle(.page(backgroundDisplayMode: .interactive)) + .id(continueStates.count) + .frame(height: height) + } +} + +@available(iOS 15, tvOS 15, *) +struct HomeContinueItemView: SwiftUI.View { + + var continueState: PVSaveState + let height: CGFloat // match image height to section height, else the fill content mode messes up the zstack + var action: () -> Void + + var body: some SwiftUI.View { + Button { + action() + } label: { + ZStack { + if let screenshot = continueState.image, let image = UIImage(contentsOfFile: screenshot.url.path) { + Image(uiImage: image) + .resizable() + .aspectRatio(contentMode: .fill) + .frame(height: height) + } else { + Image(uiImage: UIImage.missingArtworkImage(gameTitle: continueState.game.title, ratio: 1)) + .resizable() + .aspectRatio(contentMode: .fill) + .frame(height: height) + } + VStack { + Spacer() + HStack { + VStack(alignment: .leading, spacing: 2) { + Text("Continue...") + .font(.system(size: 10)) + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + Text(continueState.game.title) + .font(.system(size: 13)) + .foregroundColor(Color.white) + } + Spacer() + VStack(alignment: .trailing) { + Text("...").font(.system(size: 15)).opacity(0) + Text(continueState.game.system.name) + .font(.system(size: 8)) + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + } + } + .padding(.vertical, 10) + .padding(.horizontal, 10) + .background(.ultraThinMaterial) + } + } + } + } +} + +@available(iOS 14, tvOS 14, *) +struct HomeSection: SwiftUI.View { + + let title: String + + @ViewBuilder var content: () -> Content + + var body: some SwiftUI.View { + VStack(alignment: .leading, spacing: 0) { + Text(title.uppercased()) + .foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor) + .font(.system(size: 11)) + .padding(.horizontal, 10) + .padding(.top, 20) + .padding(.bottom, 8) + ScrollView(.horizontal, showsIndicators: false) { + LazyHStack { + content() + } + .padding(.horizontal, 10) + } + .padding(.bottom, 5) + } + } +} + +@available(iOS 14, tvOS 14, *) +struct HomeDividerView: SwiftUI.View { + var body: some SwiftUI.View { + Divider() + .frame(height: 1) + .background(Theme.currentTheme.gameLibraryText.swiftUIColor) + .opacity(0.1) + .padding(.horizontal, 10) + } +} + +@available(iOS 14, tvOS 14, *) +struct HomeItemView: SwiftUI.View { + + var imageName: String + var rowTitle: String + + var body: some SwiftUI.View { + HStack(spacing: 0) { + Image(imageName).resizable().scaledToFit().cornerRadius(4).padding(8) + Text(rowTitle).foregroundColor(Color.white) + Spacer() + } + .frame(height: 40.0) + .background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + } +} + +#endif diff --git a/Provenance/NewUI/PVRootViewController+DelegateMethods.swift b/Provenance/NewUI/PVRootViewController+DelegateMethods.swift new file mode 100644 index 0000000000..9243c1eea3 --- /dev/null +++ b/Provenance/NewUI/PVRootViewController+DelegateMethods.swift @@ -0,0 +1,166 @@ +// +// PVRootViewController+DelegateMethods.swift +// Provenance +// +// Created by Ian Clawson on 1/30/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation +import PVLibrary +#if canImport(SwiftUI) +import SwiftUI + +// MARK: - PVRootDelegate + +public protocol PVRootDelegate { + func attemptToDelete(game: PVGame) + func showUnderConstructionAlert() + // objects fetched via @ObservedResults are `frozen`, so we need to thaw them before Realm lets us use them + // the following methods call their equivalent GameLaunchingViewController methods with thawed objects + func root_canLoad(_ game: PVGame) throws + func root_load(_ game: PVGame, sender: Any?, core: PVCore?, saveState: PVSaveState?) + func root_openSaveState(_ saveState: PVSaveState) + func root_updateRecentGames(_ game: PVGame) + func root_presentCoreSelection(forGame game: PVGame, sender: Any?) +} + +@available(iOS 14, tvOS 14, *) +extension PVRootViewController: PVRootDelegate { + func root_canLoad(_ game: PVGame) throws { + try self.canLoad(game.warmUp()) + } + + func root_load(_ game: PVGame, sender: Any?, core: PVCore?, saveState: PVSaveState?) { + self.load(game.warmUp(), sender: sender, core: core?.warmUp(), saveState: saveState?.warmUp()) + } + + func root_openSaveState(_ saveState: PVSaveState) { + self.openSaveState(saveState.warmUp()) + } + + func root_updateRecentGames(_ game: PVGame) { + self.updateRecentGames(game.warmUp()) + } + + func root_presentCoreSelection(forGame game: PVGame, sender: Any?) { + self.presentCoreSelection(forGame: game.warmUp(), sender: sender) + } + + func attemptToDelete(game: PVGame) { + do { + try self.delete(game: game) + } catch { + self.presentError(error.localizedDescription) + } + } + + func showUnderConstructionAlert() { + self.presentMessage("Please try again in a future update.", title: "⚠️ Under Construction ⚠️") + } +} + +// MARK: - Methods from PVGameLibraryViewController + +@available(iOS 14, tvOS 14, *) +extension PVRootViewController { + func delete(game: PVGame) throws { + try RomDatabase.sharedInstance.delete(game: game) +// loadLastKnownNavOption() + // we're still retaining a refernce to the removed game, causing a realm crash. Need to reload the view + } +} + + +// MARK: - Menu Delegate + +public protocol PVMenuDelegate { + func didTapSettings() + func didTapHome() + func didTapAddGames() + func didTapConsole(with consoleId: String) + func didTapCollection(with collection: Int) +} + +@available(iOS 14, tvOS 14, *) +extension PVRootViewController: PVMenuDelegate { + func didTapSettings() { + #if os(iOS) + + guard + let settingsNav = UIStoryboard(name: "Provenance", bundle: nil).instantiateViewController(withIdentifier: "settingsNavigationController") as? UINavigationController, + let settingsVC = settingsNav.topViewController as? PVSettingsViewController + else { return } + + settingsVC.conflictsController = updatesController + self.closeMenu() + self.present(settingsNav, animated: true) + #elseif os(tvOS) + // TODO: load tvOS settings from bundle + #endif + } + + func didTapHome() { + self.closeMenu() + let homeView = HomeView(gameLibrary: self.gameLibrary, delegate: self) + self.loadIntoContainer(.home, newVC: UIHostingController(rootView: homeView)) + } + + func didTapAddGames() { + self.closeMenu() + #if os(iOS) + + /// from PVGameLibraryViewController#getMoreROMs + let actionSheet = UIAlertController(title: "Select Import Source", message: nil, preferredStyle: .actionSheet) + actionSheet.addAction(UIAlertAction(title: "Cloud & Local Files", style: .default, handler: { _ in + let extensions = [UTI.rom, UTI.artwork, UTI.savestate, UTI.zipArchive, UTI.sevenZipArchive, UTI.gnuZipArchive, UTI.image, UTI.jpeg, UTI.png, UTI.bios, UTI.data].map { $0.rawValue } + + let documentPicker = PVDocumentPickerViewController(documentTypes: extensions, in: .import) + documentPicker.allowsMultipleSelection = true + documentPicker.delegate = self + self.present(documentPicker, animated: true, completion: nil) + })) + + let webServerAction = UIAlertAction(title: "Web Server", style: .default, handler: { _ in +// self.startWebServer() // TODO: this + }) + + actionSheet.addAction(webServerAction) + actionSheet.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil)) + actionSheet.preferredContentSize = CGSize(width: 300, height: 150) + + present(actionSheet, animated: true, completion: nil) + #endif + } + + func didTapConsole(with consoleId: String) { + self.closeMenu() + + guard let console = gameLibrary.system(identifier: consoleId) else { return } + let consoles = gameLibrary.activeSystems + + consolesWrapperViewDelegate.selectedTab = console.identifier + self.consoleIdentifiersAndNamesMap.removeAll() + for console in consoles { + self.consoleIdentifiersAndNamesMap[console.identifier] = console.name + } + selectedTabCancellable = consolesWrapperViewDelegate.$selectedTab.sink { [weak self] tab in + guard let self = self else { return } + if let cachedTitle = self.consoleIdentifiersAndNamesMap[tab] { + self.navigationItem.title = cachedTitle + } else if let console = self.gameLibrary.system(identifier: tab) { + self.consoleIdentifiersAndNamesMap[console.identifier] = console.name + self.navigationItem.title = self.consoleIdentifiersAndNamesMap[tab] + } else { + self.navigationItem.title = tab + } + } + + let consolesView = ConsolesWrapperView(consolesWrapperViewDelegate: consolesWrapperViewDelegate, viewModel: self.viewModel, rootDelegate: self) + self.loadIntoContainer(.console(consoleId: consoleId, title: console.name), newVC: UIHostingController(rootView: consolesView)) + } + + func didTapCollection(with collection: Int) { /* TODO: collections */ } +} + +#endif diff --git a/Provenance/NewUI/PVRootViewController.swift b/Provenance/NewUI/PVRootViewController.swift new file mode 100644 index 0000000000..3c0e68ed69 --- /dev/null +++ b/Provenance/NewUI/PVRootViewController.swift @@ -0,0 +1,229 @@ +// +// PVRootViewController.swift +// Provenance +// +// Created by Ian Clawson on 1/22/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation + +#if canImport(SwiftUI) +#if canImport(Combine) +import Foundation +import UIKit +import SwiftUI +import RealmSwift +import Combine +import PVLibrary + +// PVRootViewController serves as a UIKit parent for child SwiftUI menu views. + +// The goal one day may be to move entirely to a SwiftUI app life cycle, but under +// current circumstances (iOS 11 deployment target, some critical logic being coupled +// to UIViewControllers, etc.) it will be more easier to integrate by starting here +// and porting the remaining views/logic over to as conditions change moving forward. + +enum PVNavOption { + case settings + case home + case console(consoleId: String, title: String) + + var title: String { + switch self { + case .settings: return "Settings" + case .home: return "Home" + case .console(_, let title): return title + } + } +} + +@available(iOS 14, tvOS 14, *) +class PVRootViewController: UIViewController, GameLaunchingViewController, GameSharingViewController { + + let containerView = UIView() + var viewModel: PVRootViewModel! + + var updatesController: PVGameLibraryUpdatesController! + var gameLibrary: PVGameLibrary! + var gameImporter: GameImporter! + + let disposeBag = DisposeBag() + var selectedTabCancellable: AnyCancellable? + + lazy var consolesWrapperViewDelegate = ConsolesWrapperViewDelegate() + var consoleIdentifiersAndNamesMap: [String:String] = [:] + + static func instantiate(updatesController: PVGameLibraryUpdatesController, gameLibrary: PVGameLibrary, gameImporter: GameImporter, viewModel: PVRootViewModel) -> PVRootViewController { + let controller = PVRootViewController() + controller.updatesController = updatesController + controller.gameLibrary = gameLibrary + controller.gameImporter = gameImporter + controller.viewModel = viewModel + return controller + } + + override func viewDidLoad() { + super.viewDidLoad() + + self.view.addSubview(containerView) + self.fillParentView(child: containerView, parent: self.view) + + didTapHome() + + let hud = MBProgressHUD(view: view)! + hud.isUserInteractionEnabled = false + view.addSubview(hud) + updatesController.hudState + .observe(on: MainScheduler.instance) + .subscribe(onNext: { state in + switch state { + case .hidden: + hud.hide(true) + case .title(let title): + hud.show(true) + hud.mode = .indeterminate + hud.labelText = title + case .titleAndProgress(let title, let progress): + hud.show(true) + hud.mode = .annularDeterminate + hud.progress = progress + hud.labelText = title + } + }) + .disposed(by: disposeBag) + } + + deinit { + selectedTabCancellable?.cancel() + } + + func showMenu() { + self.sideNavigationController?.showLeftSide() + } + + func closeMenu() { + self.sideNavigationController?.closeSide() + } + + func loadIntoContainer(_ navItem: PVNavOption, newVC: UIViewController) { + // remove old view + self.containerView.subviews.forEach { $0.removeFromSuperview() } + self.children.forEach { $0.removeFromParent() } + // set title + self.navigationItem.title = navItem.title + // set bar button items (if any) + switch navItem { + case .settings, .home, .console: + self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(systemName: "line.3.horizontal"), primaryAction: UIAction { _ in + self.showMenu() + }) + } + // load new view + self.addChildViewController(newVC, toContainerView: self.containerView) + self.fillParentView(child: newVC.view, parent: self.containerView) + } +} + +// MARK: - Helpers +extension UIViewController { + + func addChildViewController(_ child: UIViewController, toContainerView containerView: UIView) { + addChild(child) + containerView.addSubview(child.view) + child.didMove(toParent: self) + } + + func fillParentView(child: UIView, parent: UIView) { + child.translatesAutoresizingMaskIntoConstraints = false + NSLayoutConstraint.activate([ + child.topAnchor.constraint(equalTo: parent.topAnchor), + child.bottomAnchor.constraint(equalTo: parent.bottomAnchor), + child.leadingAnchor.constraint(equalTo: parent.leadingAnchor), + child.trailingAnchor.constraint(equalTo: parent.trailingAnchor), + ]) + } + +} + +#if os(iOS) +// MARK: - UIDocumentPickerDelegate +@available(iOS 14.0.0, *) +extension PVRootViewController: UIDocumentPickerDelegate { + // copied from PVGameLibraryViewController#documentPicker() + func documentPicker(_: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) { + // If directory, map out sub directories if folder + let urls: [URL] = urls.compactMap { (url) -> [URL]? in + if url.hasDirectoryPath { + ILOG("Trying to import directory \(url.path). Scanning subcontents") + do { + _ = url.startAccessingSecurityScopedResource() + let subFiles = try FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: [URLResourceKey.isDirectoryKey, URLResourceKey.parentDirectoryURLKey, URLResourceKey.fileSecurityKey], options: .skipsHiddenFiles) + url.stopAccessingSecurityScopedResource() + return subFiles + } catch { + ELOG("Subdir scan failed. \(error)") + return [url] + } + } else { + return [url] + } + }.joined().map { $0 } + + let sortedUrls = PVEmulatorConfiguration.sortImportURLs(urls: urls) + + let importPath = PVEmulatorConfiguration.Paths.romsImportPath + + sortedUrls.forEach { url in + defer { + url.stopAccessingSecurityScopedResource() + } + + // Doesn't seem we need access in dev builds? + _ = url.startAccessingSecurityScopedResource() + + let fileName = url.lastPathComponent + let destination: URL + destination = importPath.appendingPathComponent(fileName, isDirectory: url.hasDirectoryPath) + do { + // Since we're in UIDocumentPickerModeImport, these URLs are temporary URLs so a move is what we want + try FileManager.default.moveItem(at: url, to: destination) + ILOG("Document picker to moved file from \(url.path) to \(destination.path)") + } catch { + ELOG("hsllo::\(error)") + ELOG("Failed to move file from \(url.path) to \(destination.path)") + } + } + + // Test for moving directory subcontents + // if #available(iOS 9.0, *) { + // if url.hasDirectoryPath { + // ILOG("Tryingn to import directory \(url.path)") + // let subFiles = try FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: nil, options: [.skipsHiddenFiles]) + // for subFile in subFiles { + // _ = subFile.startAccessingSecurityScopedResource() + // try FileManager.default.moveItem(at: subFile, to: destination) + // subFile.stopAccessingSecurityScopedResource() + // ILOG("Moved \(subFile.path) to \(destination.path)") + // } + // } else { + // try FileManager.default.moveItem(at: url, to: destination) + // } + // } else { + // try FileManager.default.moveItem(at: url, to: destination) + // } +// } catch { +// ELOG("Failed to move file from \(url.path) to \(destination.path)") +// } +// } else { +// ELOG("Wasn't granded access to \(url.path)") +// } + } + + func documentPickerWasCancelled(_: UIDocumentPickerViewController) { + ILOG("Document picker was cancelled") + } +} +#endif // os(iOS) +#endif // canImport(Combine) +#endif // canImport(SwiftUI) diff --git a/Provenance/NewUI/PVRootViewModel.swift b/Provenance/NewUI/PVRootViewModel.swift new file mode 100644 index 0000000000..56e5692c68 --- /dev/null +++ b/Provenance/NewUI/PVRootViewModel.swift @@ -0,0 +1,22 @@ +// +// PVRootViewModel.swift +// Provenance +// +// Created by Ian Clawson on 2/13/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation +#if canImport(SwiftUI) +import SwiftUI + +@available(iOS 14, tvOS 14, *) +class PVRootViewModel: ObservableObject { + + @Published var sortConsolesAscending: Bool = true + @Published var sortGamesAscending: Bool = true + @Published var viewGamesAsGrid: Bool = true + + init() {} +} +#endif diff --git a/Provenance/NewUI/SideMenu/SideMenuView.swift b/Provenance/NewUI/SideMenu/SideMenuView.swift new file mode 100644 index 0000000000..e1d8a6a940 --- /dev/null +++ b/Provenance/NewUI/SideMenu/SideMenuView.swift @@ -0,0 +1,210 @@ +// +// SideMenuView.swift +// Provenance +// +// Created by Ian Clawson on 1/22/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation +#if canImport(SwiftUI) +import SwiftUI +import RealmSwift +import PVLibrary +#if canImport(Introspect) +import Introspect +#endif + +@available(iOS 14, tvOS 14, *) +struct SideMenuView: SwiftUI.View { + + var delegate: PVMenuDelegate + @ObservedObject var viewModel: PVRootViewModel + var rootDelegate: PVRootDelegate + var gameLibrary: PVGameLibrary + + @ObservedResults( + PVSystem.self, + filter: NSPredicate(format: "games.@count > 0") + ) var consoles + + @ObservedObject var searchBar: SearchBar = SearchBar() + + init(gameLibrary: PVGameLibrary, viewModel: PVRootViewModel, delegate: PVMenuDelegate, rootDelegate: PVRootDelegate) { + self.gameLibrary = gameLibrary + self.viewModel = viewModel + self.delegate = delegate + self.rootDelegate = rootDelegate + } + + static func instantiate(gameLibrary: PVGameLibrary, viewModel: PVRootViewModel, delegate: PVMenuDelegate, rootDelegate: PVRootDelegate) -> UIViewController { + let view = SideMenuView(gameLibrary: gameLibrary, viewModel: viewModel, delegate: delegate, rootDelegate: rootDelegate) + let hostingView = UIHostingController(rootView: view) + let nav = UINavigationController(rootViewController: hostingView) + return nav + } + + func versionText() -> String { + let masterBranch: Bool = kGITBranch.lowercased() == "master" + var versionText = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String + versionText = versionText ?? "" + (" (\(Bundle.main.infoDictionary?["CFBundleVersion"] ?? ""))") + if !masterBranch { + versionText = "\(versionText ?? "") Beta" + } + return versionText ?? "" + } + + func sortedConsoles() -> Results { + return self.consoles.sorted(by: [SortDescriptor(keyPath: #keyPath(PVSystem.name), ascending: viewModel.sortConsolesAscending)]) + } + + func filteredSearchResults() -> Results { + return self.gameLibrary.searchResults(for: self.searchBar.text) + } + + var body: some SwiftUI.View { + StatusBarProtectionWrapper { + ScrollView { + LazyVStack(alignment: .leading, spacing: 0) { + MenuItemView(imageName: "prov_settings_gear", rowTitle: "Settings") { + delegate.didTapSettings() + } + Divider() + MenuItemView(imageName: "prov_home_icon", rowTitle: "Home") { + delegate.didTapHome() + } + Divider() + MenuItemView(imageName: "prov_add_games_icon", rowTitle: "Add Games") { + delegate.didTapAddGames() + } + if consoles.count > 0 { + MenuSectionHeaderView(sectionTitle: "CONSOLES", sortable: consoles.count > 1, sortAscending: viewModel.sortConsolesAscending) { + viewModel.sortConsolesAscending.toggle() + } + ForEach(sortedConsoles(), id: \.self) { console in + Divider() + MenuItemView(imageName: "prov_snes_icon", rowTitle: console.name) { + delegate.didTapConsole(with: console.identifier) + } + } + } + // TODO: flesh out collections later + MenuSectionHeaderView(sectionTitle: "Provenance \(versionText())", sortable: false) {} + Spacer() + } + } + } +#if canImport(Introspect) + .introspectViewController(customize: { vc in + vc.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "provnavicon")) + }) +#endif + .background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + .add(self.searchBar) + // search results + .if(!searchBar.text.isEmpty) { view in + view.overlay( + StatusBarProtectionWrapper { + ApplyBackgroundWrapper { + ScrollView { + VStack { + LazyVStack { + ForEach(filteredSearchResults(), id: \.self) { game in + GameItemView(game: game, viewType: .row) { + rootDelegate.root_load(game, sender: self, core: nil, saveState: nil) + } + .contextMenu { GameContextMenu(game: game, rootDelegate: rootDelegate) } + GamesDividerView() + } + } + .padding(.horizontal, 10) + } + .background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + } + } + } + ) + } + } +} + +@available(iOS 14, tvOS 14, *) +struct MenuSectionHeaderView: SwiftUI.View { + + var sectionTitle: String + var sortable: Bool + var sortAscending: Bool = false + var action: () -> Void + + var body: some SwiftUI.View { + VStack(spacing: 0) { + Divider().frame(height: 2).background(Theme.currentTheme.gameLibraryText.swiftUIColor) + Spacer() + HStack(alignment: .bottom) { + Text(sectionTitle).foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor).font(.system(size: 13)) + Spacer() + if sortable { + OptionsIndicator(pointDown: sortAscending, action: action) { + Text("Sort").foregroundColor(Theme.currentTheme.gameLibraryText.swiftUIColor).font(.system(.caption)) + } + } + } + .padding(.horizontal, 16) + .padding(.bottom, 4) + } + .frame(height: 40.0) + .background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + } +} + +@available(iOS 14, tvOS 14, *) +struct MenuItemView: SwiftUI.View { + + var imageName: String + var rowTitle: String + var action: () -> Void + + var body: some SwiftUI.View { + Button { + action() + } label: { + HStack(spacing: 0) { + Image(imageName).resizable().scaledToFit().cornerRadius(4).padding(8) + Text(rowTitle).foregroundColor(Theme.currentTheme.settingsCellText?.swiftUIColor ?? Color.white) + Spacer() + } + .frame(height: 40.0) + .background(Theme.currentTheme.settingsCellBackground?.swiftUIColor.opacity(0.3) ?? Color.black) + } + } +} + +@available(iOS 14, tvOS 14, *) +struct ApplyBackgroundWrapper: SwiftUI.View { + @ViewBuilder var content: () -> Content + var body: some SwiftUI.View { + if #available(iOS 15, tvOS 15, *) { + content().background(Material.ultraThinMaterial) + } else { + content().background(Theme.currentTheme.gameLibraryBackground.swiftUIColor) + } + } +} + +@available(iOS 14, tvOS 14, *) +struct StatusBarProtectionWrapper: SwiftUI.View { + // Scroll content inside of PVRootViewController's containerView will appear up in the status bar for some reason + // Even though certain views will never have multiple pages/tabs, wrap them in a paged TabView to prevent this behavior + // Note that this may potentially have side effects if your content contains certain views, but is working so far + @ViewBuilder var content: () -> Content + var body: some SwiftUI.View { + TabView { + content() + } + .tabViewStyle(.page) + .indexViewStyle(.page(backgroundDisplayMode: .never)) + .ignoresSafeArea(.all, edges: .bottom) + } +} + +#endif diff --git a/Provenance/NewUI/SideNavigationController/SideNavigationController+NestedTypes.swift b/Provenance/NewUI/SideNavigationController/SideNavigationController+NestedTypes.swift new file mode 100644 index 0000000000..c4f922ff91 --- /dev/null +++ b/Provenance/NewUI/SideNavigationController/SideNavigationController+NestedTypes.swift @@ -0,0 +1,74 @@ +// +// SideNavigationController+NestedTypes.swift +// SideNavigationController +// +// Created by Benoit BRIATTE on 13/03/2017. +// Copyright © 2017 Digipolitan. All rights reserved. +// + +import UIKit + +public extension SideNavigationController { + + enum Position { + case front + case back + } + + struct Side { + + public let viewController: UIViewController + public let options: Options + + public init(viewController: UIViewController, options: Options) { + self.viewController = viewController + self.options = options + } + } + + struct Options { + + public static var defaultTintColor = UIColor.white + + public var widthPercent: CGFloat + public var animationDuration: TimeInterval + public var overlayColor: UIColor + public var overlayOpacity: CGFloat + public var shadowOpacity: CGFloat + public var alwaysInteractionEnabled: Bool + public var panningEnabled: Bool + public var scale: CGFloat + public var position: Position + public var shadowColor: UIColor { + get { + return UIColor(cgColor: self.shadowCGColor) + } + set(newValue) { + self.shadowCGColor = newValue.cgColor + } + } + public fileprivate(set) var shadowCGColor: CGColor! + + public init(widthPercent: CGFloat = 0.33, + animationDuration: TimeInterval = 0.3, + overlayColor: UIColor = Options.defaultTintColor, + overlayOpacity: CGFloat = 0.5, + shadowColor: UIColor = Options.defaultTintColor, + shadowOpacity: CGFloat = 0.8, + alwaysInteractionEnabled: Bool = false, + panningEnabled: Bool = true, + scale: CGFloat = 1, + position: Position = .back) { + self.widthPercent = widthPercent + self.animationDuration = animationDuration + self.overlayColor = overlayColor + self.overlayOpacity = overlayOpacity + self.shadowOpacity = shadowOpacity + self.alwaysInteractionEnabled = alwaysInteractionEnabled + self.panningEnabled = panningEnabled + self.scale = scale + self.position = position + self.shadowColor = shadowColor + } + } +} diff --git a/Provenance/NewUI/SideNavigationController/SideNavigationController.swift b/Provenance/NewUI/SideNavigationController/SideNavigationController.swift new file mode 100644 index 0000000000..0dc2b54f59 --- /dev/null +++ b/Provenance/NewUI/SideNavigationController/SideNavigationController.swift @@ -0,0 +1,507 @@ +// +// SideNavigationController.swift +// SideNavigationController +// +// Created by Benoit BRIATTE on 24/02/2017. +// Copyright © 2019 Digipolitan. All rights reserved. +// + +import UIKit + +open class SideNavigationController: UIViewController { + + private lazy var gestures: Gestures = { + return Gestures(sideNavigationController: self) + }() + fileprivate lazy var overlay: UIView = { + let overlay = UIView() + overlay.isUserInteractionEnabled = false + overlay.autoresizingMask = UIView.AutoresizingMask(rawValue: 0b111111) + overlay.alpha = 0 + return overlay + }() + fileprivate lazy var mainContainer: UIView = { + let mainContainer = UIView() + mainContainer.autoresizingMask = UIView.AutoresizingMask(rawValue: 0b111111) + return mainContainer + }() + + fileprivate var sideProgress: CGFloat = 0 + fileprivate var revertSideDirection: Bool = false + + public private(set) var left: Side? + public private(set) var right: Side? + + public var mainViewController: UIViewController! { + willSet(newValue) { + self.unlink(viewController: self.mainViewController) + } + didSet { + if let mainViewController = self.mainViewController { + self.link(viewController: mainViewController, in: self.mainContainer, at: 0) + if self.isViewLoaded { + mainViewController.view.frame = self.mainContainer.bounds + } + } + } + } + + public var visibleViewController: UIViewController { + if self.visibleSideViewController != nil { + return self.visibleSideViewController! + } + return self.mainViewController + } + + public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { + super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) + } + + public required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + } + + public convenience init(mainViewController: UIViewController) { + self.init() + // swiftlint:disable inert_defer + defer { + self.mainViewController = mainViewController + } + // swiftlint:enable inert_defer + } + + fileprivate var visibleSideViewController: UIViewController? { + willSet(newValue) { + if self.visibleSideViewController != newValue { + self.visibleSideViewController?.view.isHidden = true + } + } + didSet { + if self.visibleSideViewController != oldValue { + self.visibleSideViewController?.view.isHidden = false + #if os(iOS) + self.setNeedsStatusBarAppearanceUpdate() + if #available(iOS 11.0, *) { + self.setNeedsUpdateOfHomeIndicatorAutoHidden() + self.setNeedsUpdateOfScreenEdgesDeferringSystemGestures() + } + #elseif os(tvOS) + self.setNeedsFocusUpdate() + if #available(tvOS 11.0, *) { + self.setNeedsUserInterfaceAppearanceUpdate() + } + #endif + } + } + } + + fileprivate func side(direction: Direction) -> Side? { + return direction == .left ? self.left : self.right + } + + fileprivate func setSide(_ side: Side, direction: Direction) { + if let old = self.side(direction: direction) { + if old.viewController == self.visibleSideViewController { + self.close(direction: direction, animated: false) + } + self.unlink(viewController: old.viewController) + } + side.viewController.view.isHidden = true + self.link(viewController: side.viewController, at: side.options.position == .back ? 0 : -1) + if direction == .left { + self.left = side + } else { + self.right = side + } + self.updateSide(with: direction, progress: 0) + #if os(iOS) + self.sideGestures(enabled: true) + #endif + } + + open override func viewDidLoad() { + super.viewDidLoad() + + self.mainContainer.frame = self.view.bounds + let mainBounds = self.mainContainer.bounds + self.overlay.frame = mainBounds + self.mainContainer.addSubview(self.overlay) + if let mainViewController = self.mainViewController { + mainViewController.view.frame = mainBounds + } + self.view.addSubview(self.mainContainer) + + #if os(iOS) + self.mainContainer.addGestureRecognizer(self.gestures.mainPan) + self.mainContainer.addGestureRecognizer(self.gestures.mainTap) + self.view.addGestureRecognizer(self.gestures.leftScreenEdgePan) + self.view.addGestureRecognizer(self.gestures.rightScreenEdgePan) + self.sideGestures(enabled: true) + #elseif os(tvOS) + self.view.addGestureRecognizer(self.gestures.mainPan) + self.view.addGestureRecognizer(self.gestures.mainTap) + #endif + self.mainGestures(enabled: false) + } + + private func link(viewController: UIViewController, in view: UIView? = nil, at position: Int = -1) { + viewController.view.autoresizingMask = UIView.AutoresizingMask(rawValue: 0b111111) + let container: UIView = view != nil ? view! : self.view + self.addChild(viewController) + if position < 0 { + container.addSubview(viewController.view) + } else { + container.insertSubview(viewController.view, at: position) + } + } + + private func unlink(viewController: UIViewController?) { + if let viewController = viewController { + viewController.view.removeFromSuperview() + viewController.removeFromParent() + } + } + + #if os(iOS) + open override var childForStatusBarStyle: UIViewController? { + return self.visibleViewController + } + + open override var childForStatusBarHidden: UIViewController? { + return self.visibleViewController + } + + @available(iOS 11.0, *) + open override var childForHomeIndicatorAutoHidden: UIViewController? { + return self.visibleViewController + } + + @available(iOS 11.0, *) + open override var childForScreenEdgesDeferringSystemGestures: UIViewController? { + return self.visibleViewController + } + #elseif os(tvOS) + @available(tvOS 11.0, *) + open override var childViewControllerForUserInterfaceStyle: UIViewController? { + return self.visibleViewController + } + + open override var preferredFocusEnvironments: [UIFocusEnvironment] { + return self.visibleViewController.preferredFocusEnvironments + } + #endif + + public func leftSide(viewController: UIViewController, options: Options = Options()) { + self.setSide(Side(viewController: viewController, options: options), direction: .left) + } + + public func rightSide(viewController: UIViewController, options: Options = Options()) { + self.setSide(Side(viewController: viewController, options: options), direction: .right) + } + + public func closeSide(animated: Bool = true) { + guard let visibleSideViewController = self.visibleSideViewController else { + return + } + if self.left?.viewController == visibleSideViewController { + self.close(direction: .left, animated: animated) + } else if self.right?.viewController == visibleSideViewController { + self.close(direction: .right, animated: animated) + } + } + + private func close(direction: Direction, animated: Bool) { + guard self.visibleSideViewController != nil else { + return; // NO SIDE VISIBLE TO CLOSE + } + guard let side = self.side(direction: direction) else { + // EXCEPTION + return + } + side.viewController.view.endEditing(animated) + UIView.animate(withDuration: animated ? side.options.animationDuration : 0, animations: { + self.visibleSideViewController = nil + side.viewController.view.isHidden = false + self.updateSide(with: direction, progress: 0) + }, completion: { _ in + side.viewController.view.isHidden = true + self.revertSideDirection = false + self.mainGestures(enabled: false, direction: direction) + #if os(iOS) + self.sideGestures(enabled: true) + #endif + }) + } + + public func showLeftSide(animated: Bool = true) { + self.show(direction: .left, animated: animated) + } + + public func showRightSide(animated: Bool = true) { + self.show(direction: .right, animated: animated) + } + + fileprivate func show(direction: Direction, animated: Bool) { + guard let side = self.side(direction: direction) else { + // EXCEPTION + return + } + guard side.viewController == self.visibleSideViewController || self.visibleSideViewController == nil else { + return + } + self.mainViewController.view.endEditing(animated) + UIView.animate(withDuration: animated ? side.options.animationDuration : 0, animations: { + self.visibleSideViewController = side.viewController + self.updateSide(with: direction, progress: 1) + }, completion: { _ in + self.revertSideDirection = true + self.mainGestures(enabled: true, direction: direction) + #if os(iOS) + self.sideGestures(enabled: false) + #endif + }) + } + + fileprivate func updateSide(with direction: Direction, progress: CGFloat) { + guard let side = self.side(direction: direction) else { + // EXCEPTION + return + } + self.sideProgress = progress + if side.options.position == .back { + self.updateBack(side: side, direction: direction, progress: progress) + } else { + self.updateFront(side: side, direction: direction, progress: progress) + } + } + + fileprivate func mainGestures(enabled: Bool, direction: Direction? = nil) { + var overlayInteractionEnabled = enabled + var panningEnabled = enabled + if enabled && direction != nil { + if let side = self.side(direction: direction!) { + overlayInteractionEnabled = !side.options.alwaysInteractionEnabled + panningEnabled = side.options.panningEnabled + } + } + self.overlay.isUserInteractionEnabled = overlayInteractionEnabled + self.gestures.mainPan.isEnabled = panningEnabled + self.gestures.mainTap.isEnabled = enabled + } + + #if os(iOS) + fileprivate func sideGestures(enabled: Bool) { + self.gestures.leftScreenEdgePan.isEnabled = enabled ? self.left?.options.panningEnabled ?? false : enabled + self.gestures.rightScreenEdgePan.isEnabled = enabled ? self.right?.options.panningEnabled ?? false : enabled + } + #endif +} + +// NESTED TYPES + +public extension SideNavigationController { + + fileprivate enum Direction { + case left + case right + } + + fileprivate class Gestures { + + public static let velocityTolerance: CGFloat = 600 + + private weak var sideNavigationController: SideNavigationController? + #if os(iOS) + public var leftScreenEdgePan: UIScreenEdgePanGestureRecognizer! + public var rightScreenEdgePan: UIScreenEdgePanGestureRecognizer! + #endif + public var mainPan: UIPanGestureRecognizer! + public var mainTap: UITapGestureRecognizer! + + init(sideNavigationController: SideNavigationController) { + self.sideNavigationController = sideNavigationController + + #if os(iOS) + let leftScreenEdgePan = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(handle(panGesture:))) + leftScreenEdgePan.edges = .left + leftScreenEdgePan.maximumNumberOfTouches = 1 + self.leftScreenEdgePan = leftScreenEdgePan + + let rightScreenEdgePan = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(handle(panGesture:))) + rightScreenEdgePan.edges = .right + rightScreenEdgePan.maximumNumberOfTouches = 1 + self.rightScreenEdgePan = rightScreenEdgePan + + self.leftScreenEdgePan.require(toFail: self.rightScreenEdgePan) + self.rightScreenEdgePan.require(toFail: self.leftScreenEdgePan) + #endif + + self.mainPan = UIPanGestureRecognizer(target: self, action: #selector(handle(panGesture:))) + + self.mainTap = UITapGestureRecognizer(target: self, action: #selector(handle(tapGesture:))) + #if os(tvOS) + self.mainTap.allowedPressTypes = [NSNumber(value: UIPress.PressType.menu.rawValue)] + #endif + self.mainTap.require(toFail: self.mainPan) + } + + @objc + private func handle(panGesture: UIPanGestureRecognizer) { + guard let sideNavigationController = self.sideNavigationController else { + return + } + if panGesture.state == .changed { + let offset = panGesture.translation(in: sideNavigationController.view).x + sideNavigationController.update(offset: offset) + } else if panGesture.state != .began { + let velocity = panGesture.velocity(in: sideNavigationController.view) + let info = self.info(velocity: velocity.x) + sideNavigationController.finish(direction: info.direction, swipe: info.swipe) + } + } + + @objc + private func handle(tapGesture: UITapGestureRecognizer) { + guard let sideNavigationController = self.sideNavigationController else { + return + } + if sideNavigationController.visibleSideViewController == sideNavigationController.left?.viewController { + sideNavigationController.finish(direction: .left, swipe: true) + } else { + sideNavigationController.finish(direction: .right, swipe: true) + } + } + + private func info(velocity: CGFloat) -> (direction: Direction, swipe: Bool) { + if velocity >= 0 { + if velocity > Gestures.velocityTolerance { + return (direction: .right, swipe: true) + } + return (direction: .right, swipe: false) + } + if -velocity > Gestures.velocityTolerance { + return (direction: .left, swipe: true) + } + return (direction: .left, swipe: false) + } + } +} + +// DRAWING + +fileprivate extension SideNavigationController { + + func apply(options: Options, front: UIView!, back: UIView!, progress: CGFloat) { + self.overlay.alpha = options.overlayOpacity * progress + self.overlay.backgroundColor = options.overlayColor + front.layer.shadowColor = options.shadowCGColor + front.layer.shadowOpacity = Float(options.shadowOpacity) + front.layer.shadowRadius = 10 + back.layer.shadowColor = nil + back.layer.shadowOpacity = 0 + back.layer.shadowRadius = 3 + if options.scale != 1 { + let scale = 1 - (1 - options.scale) * progress + self.mainContainer.transform = CGAffineTransform.identity.scaledBy(x: scale, y: scale) + } + } + + func updateBack(side: Side, direction: Direction, progress: CGFloat) { + let sideView: UIView! = side.viewController.view + self.apply(options: side.options, front: self.mainContainer, back: sideView, progress: progress) + var mainFrame = self.mainContainer.frame + let viewBounds = self.view.bounds + var sideFrame = sideView.frame + sideFrame.size.width = viewBounds.width * side.options.widthPercent + sideFrame.size.height = viewBounds.height + let parallaxWidth = sideFrame.width / 3 + switch direction { + case .left : + mainFrame.origin.x = sideFrame.width * progress + sideFrame.origin.x = parallaxWidth * progress - parallaxWidth + case .right : + mainFrame.origin.x = -sideFrame.width * progress + sideFrame.origin.x = (viewBounds.width - sideFrame.width) + parallaxWidth * (1.0 - progress) + } + self.mainContainer.frame = mainFrame + sideView.frame = sideFrame + } + + func updateFront(side: Side, direction: Direction, progress: CGFloat) { + let sideView: UIView! = side.viewController.view + self.apply(options: side.options, front: sideView, back: self.mainContainer, progress: progress) + let viewBounds = self.view.bounds + var sideFrame = sideView.frame + sideFrame.size.width = viewBounds.width * side.options.widthPercent + sideFrame.size.height = viewBounds.height + switch direction { + case .left : + sideFrame.origin.x = -sideFrame.width + sideFrame.width * progress + case .right : + sideFrame.origin.x = (viewBounds.width - sideFrame.width) + sideFrame.width * (1.0 - progress) + } + sideView.frame = sideFrame + } +} + +// GESTURES + +fileprivate extension SideNavigationController { + + func update(offset: CGFloat) { + if let left = self.left { + if self.visibleSideViewController == left.viewController || (offset > 0 && self.visibleSideViewController == nil) { + UIView.animate(withDuration: left.options.animationDuration, animations: { + self.visibleSideViewController = left.viewController + }) + let leftWidth = left.viewController.view.frame.width + var progress = min(abs(offset), leftWidth) / leftWidth + if self.revertSideDirection { + progress = 1 - (offset <= 0 ? progress : 0) + } else if offset <= 0 { + progress = 0 + } + self.updateSide(with: .left, progress: progress) + return + } + } + if let right = self.right { + if self.visibleSideViewController == right.viewController || (offset < 0 && self.visibleSideViewController == nil) { + UIView.animate(withDuration: right.options.animationDuration, animations: { + self.visibleSideViewController = right.viewController + }) + let rightWidth = right.viewController.view.frame.width + var progress = min(abs(offset), rightWidth) / rightWidth + if self.revertSideDirection { + progress = 1 - (offset >= 0 ? progress : 0) + } else if offset >= 0 { + progress = 0 + } + self.updateSide(with: .right, progress: progress) + return + } + } + var mainFrame = self.mainContainer.frame + mainFrame.origin.x = 0 + self.mainContainer.frame = mainFrame + } + + func finish(direction: Direction, swipe: Bool) { + if self.visibleSideViewController != nil { + if self.visibleSideViewController == self.left?.viewController { + if !(swipe && direction == .left) { + if self.sideProgress > 0.5 || swipe { + self.show(direction: .left, animated: true) + return + } + } + } else if !(swipe && direction == .right) { + if self.sideProgress > 0.5 || swipe { + self.show(direction: .right, animated: true) + return + } + } + } + self.closeSide() + } +} diff --git a/Provenance/NewUI/SideNavigationController/UIViewController+SideNavigationController.swift b/Provenance/NewUI/SideNavigationController/UIViewController+SideNavigationController.swift new file mode 100644 index 0000000000..bd07fba3dc --- /dev/null +++ b/Provenance/NewUI/SideNavigationController/UIViewController+SideNavigationController.swift @@ -0,0 +1,23 @@ +// +// UIViewController+SideNavigationController.swift +// SideNavigationController +// +// Created by Benoit BRIATTE on 13/03/2017. +// Copyright © 2017 Digipolitan. All rights reserved. +// + +import UIKit + +public extension UIViewController { + + var sideNavigationController: SideNavigationController? { + var current = self + while let parent = current.parent { + if let side = parent as? SideNavigationController { + return side + } + current = parent + } + return nil + } +} diff --git a/Provenance/NewUI/Utils/Extensions.swift b/Provenance/NewUI/Utils/Extensions.swift new file mode 100644 index 0000000000..09dbd17c29 --- /dev/null +++ b/Provenance/NewUI/Utils/Extensions.swift @@ -0,0 +1,32 @@ +// +// View+Ext.swift +// Provenance +// +// Created by Ian Clawson on 2/4/22. +// Copyright © 2022 Provenance Emu. All rights reserved. +// + +import Foundation +#if canImport(SwiftUI) +import SwiftUI + +@available(iOS 14, tvOS 14, *) +extension SwiftUI.View { + @ViewBuilder + func `if`(_ condition: @autoclosure () -> Bool, transform: (Self) -> Content) -> some SwiftUI.View { + if condition() { + transform(self) + } else { + self + } + } +} + +@available(iOS 14, tvOS 14, *) +extension UIColor { + var swiftUIColor: Color { + return Color(self) + } +} + +#endif diff --git a/Provenance/PVAppDelegate.swift b/Provenance/PVAppDelegate.swift index 8a0f72e211..a9309ec001 100644 --- a/Provenance/PVAppDelegate.swift +++ b/Provenance/PVAppDelegate.swift @@ -35,10 +35,20 @@ final class PVAppDelegate: UIResponder, UIApplicationDelegate { DispatchQueue.main.async { Theme.currentTheme = Theme.darkTheme } + #elseif os(tvOS) + if PVSettingsModel.shared.debugOptions.tvOSThemes { + DispatchQueue.main.async { + Theme.currentTheme = Theme.darkTheme + } + } #endif } - func _initUI() { + func _initUI( + libraryUpdatesController: PVGameLibraryUpdatesController, + gameImporter: GameImporter, + gameLibrary: PVGameLibrary + ) { _initUITheme() // Set root view controller and make windows visible @@ -46,16 +56,40 @@ final class PVAppDelegate: UIResponder, UIApplicationDelegate { self.window = window #if os(tvOS) - window.tintColor = UIColor(red: 0.1, green: 0.5, blue: 0.95, alpha: 1.0) // PVBlue + window.tintColor = .provenanceBlue #endif - if PVSettingsModel.shared.debugOptions.useSwiftUI { + if #available(iOS 14, tvOS 14, *), PVSettingsModel.shared.debugOptions.useSwiftUI { + let viewModel = PVRootViewModel() + let rootViewController = PVRootViewController.instantiate( + updatesController: libraryUpdatesController, + gameLibrary: gameLibrary, + gameImporter: gameImporter, + viewModel: viewModel) + let sideNav = SideNavigationController(mainViewController: UINavigationController(rootViewController: rootViewController)) + sideNav.leftSide( + viewController: SideMenuView.instantiate(gameLibrary: gameLibrary, viewModel: viewModel, delegate: rootViewController, rootDelegate: rootViewController), + options: .init(widthPercent: 0.8, animationDuration: 0.18, overlayColor: .clear, overlayOpacity: 1, shadowOpacity: 0.0) + ) + window.rootViewController = sideNav } else { let storyboard = UIStoryboard.init(name: "Provenance", bundle: Bundle.main) let vc = storyboard.instantiateInitialViewController() window.rootViewController = vc + + guard let rootNavigation = window.rootViewController as? UINavigationController else { + fatalError("No root nav controller") + } + guard let gameLibraryViewController = rootNavigation.viewControllers.first as? PVGameLibraryViewController else { + fatalError("No gameLibraryViewController") + } + + // Would be nice to inject this in a better way, so that we can be certain that it's present at viewDidLoad for PVGameLibraryViewController, but this works for now + gameLibraryViewController.updatesController = libraryUpdatesController + gameLibraryViewController.gameImporter = gameImporter + gameLibraryViewController.gameLibrary = gameLibrary } } @@ -131,19 +165,7 @@ final class PVAppDelegate: UIResponder, UIApplicationDelegate { } .subscribe().disposed(by: disposeBag) - _initUI() - - guard let rootNavigation = window?.rootViewController as? UINavigationController else { - fatalError("No root nav controller") - } - guard let gameLibraryViewController = rootNavigation.viewControllers.first as? PVGameLibraryViewController else { - fatalError("No gameLibraryViewController") - } - - // Would be nice to inject this in a better way, so that we can be certain that it's present at viewDidLoad for PVGameLibraryViewController, but this works for now - gameLibraryViewController.updatesController = libraryUpdatesController - gameLibraryViewController.gameImporter = gameImporter - gameLibraryViewController.gameLibrary = gameLibrary + _initUI(libraryUpdatesController: libraryUpdatesController, gameImporter: gameImporter, gameLibrary: gameLibrary) let database = RomDatabase.sharedInstance database.refresh() diff --git a/Provenance/Provenance-Free.entitlements b/Provenance/Provenance-Free.entitlements index 08943ef87b..842bc7780e 100644 --- a/Provenance/Provenance-Free.entitlements +++ b/Provenance/Provenance-Free.entitlements @@ -2,6 +2,15 @@ + com.apple.developer.associated-domains + + webcredentials:provenance-emu.com + webcredentials:provenance.app + applinks:provenance-emu.com + applinks:provenance.app + appclips:provenance.app + appclips:provenance-emu.com + com.apple.developer.kernel.extended-virtual-addressing com.apple.security.cs.allow-dyld-environment-variables diff --git a/Provenance/Provenance.entitlements b/Provenance/Provenance.entitlements index d4808a89be..fdef3ad5d6 100644 --- a/Provenance/Provenance.entitlements +++ b/Provenance/Provenance.entitlements @@ -2,6 +2,15 @@ + com.apple.developer.associated-domains + + webcredentials:provenance-emu.com + webcredentials:provenance.app + applinks:provenance-emu.com + applinks:provenance.app + appclips:provenance.app + appclips:provenance-emu.com + com.apple.developer.icloud-container-identifiers $(ICLOUD_CONTAINER_IDENTIFIER) diff --git a/Provenance/Resources/Assets.xcassets/Contents.json b/Provenance/Resources/Assets.xcassets/Contents.json index da4a164c91..73c00596a7 100644 --- a/Provenance/Resources/Assets.xcassets/Contents.json +++ b/Provenance/Resources/Assets.xcassets/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/Contents.json new file mode 100644 index 0000000000..73c00596a7 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_empty.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_empty.imageset/Contents.json new file mode 100644 index 0000000000..3f14814101 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_empty.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bios_empty.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_empty.imageset/bios_empty.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_empty.imageset/bios_empty.pdf new file mode 100644 index 0000000000..97add7e5ff Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_empty.imageset/bios_empty.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_filled.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_filled.imageset/Contents.json new file mode 100644 index 0000000000..9b6541fdb9 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_filled.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bios_filled.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_filled.imageset/bios_filled.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_filled.imageset/bios_filled.pdf new file mode 100644 index 0000000000..8fa809f26b Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/bios_filled.imageset/bios_filled.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/Contents.json new file mode 100644 index 0000000000..6fb51013ad --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_add_games_icon.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_add_games_icon-1.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/prov_add_games_icon-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/prov_add_games_icon-1.pdf new file mode 100644 index 0000000000..11ef09c382 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/prov_add_games_icon-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/prov_add_games_icon.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/prov_add_games_icon.pdf new file mode 100644 index 0000000000..11ef09c382 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_add_games_icon.imageset/prov_add_games_icon.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/Contents.json new file mode 100644 index 0000000000..5a6bbb28ec --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_atari_2600.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_atari_2600-1.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/prov_atari_2600-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/prov_atari_2600-1.pdf new file mode 100644 index 0000000000..7ef9b68288 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/prov_atari_2600-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/prov_atari_2600.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/prov_atari_2600.pdf new file mode 100644 index 0000000000..7ef9b68288 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_atari_2600.imageset/prov_atari_2600.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/Contents.json new file mode 100644 index 0000000000..60f0434635 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_home_icon-1.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_home_icon.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/prov_home_icon-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/prov_home_icon-1.pdf new file mode 100644 index 0000000000..875eb29e77 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/prov_home_icon-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/prov_home_icon.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/prov_home_icon.pdf new file mode 100644 index 0000000000..875eb29e77 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_home_icon.imageset/prov_home_icon.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/Contents.json new file mode 100644 index 0000000000..ed369d1de7 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_nes_icon.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_nes_icon-1.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/prov_nes_icon-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/prov_nes_icon-1.pdf new file mode 100644 index 0000000000..8a58aebc33 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/prov_nes_icon-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/prov_nes_icon.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/prov_nes_icon.pdf new file mode 100644 index 0000000000..8a58aebc33 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_nes_icon.imageset/prov_nes_icon.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/Contents.json new file mode 100644 index 0000000000..5c0d9bc07b --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_ps1_icon.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_ps1_icon-1.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/prov_ps1_icon-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/prov_ps1_icon-1.pdf new file mode 100644 index 0000000000..d5beab9c07 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/prov_ps1_icon-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/prov_ps1_icon.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/prov_ps1_icon.pdf new file mode 100644 index 0000000000..d5beab9c07 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_ps1_icon.imageset/prov_ps1_icon.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/Contents.json new file mode 100644 index 0000000000..a4ef708593 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_settings_gear.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_settings_gear-1.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/prov_settings_gear-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/prov_settings_gear-1.pdf new file mode 100644 index 0000000000..a616904086 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/prov_settings_gear-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/prov_settings_gear.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/prov_settings_gear.pdf new file mode 100644 index 0000000000..a616904086 Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_settings_gear.imageset/prov_settings_gear.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/Contents.json new file mode 100644 index 0000000000..8d553afdfd --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/Contents.json @@ -0,0 +1,19 @@ +{ + "images" : [ + { + "filename" : "prov_snes_icon.pdf", + "idiom" : "universal" + }, + { + "filename" : "prov_snes_icon-1.pdf", + "idiom" : "iphone" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/prov_snes_icon-1.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/prov_snes_icon-1.pdf new file mode 100644 index 0000000000..3ea11784bd Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/prov_snes_icon-1.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/prov_snes_icon.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/prov_snes_icon.pdf new file mode 100644 index 0000000000..3ea11784bd Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/prov_snes_icon.imageset/prov_snes_icon.pdf differ diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/provnavicon.imageset/Contents.json b/Provenance/Resources/Assets.xcassets/NewUIAssets/provnavicon.imageset/Contents.json new file mode 100644 index 0000000000..ea7caa7631 --- /dev/null +++ b/Provenance/Resources/Assets.xcassets/NewUIAssets/provnavicon.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "provnavicon.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Provenance/Resources/Assets.xcassets/NewUIAssets/provnavicon.imageset/provnavicon.pdf b/Provenance/Resources/Assets.xcassets/NewUIAssets/provnavicon.imageset/provnavicon.pdf new file mode 100644 index 0000000000..33a5ea6e7c Binary files /dev/null and b/Provenance/Resources/Assets.xcassets/NewUIAssets/provnavicon.imageset/provnavicon.pdf differ diff --git a/Provenance/Settings/PVSettingsViewController.swift b/Provenance/Settings/PVSettingsViewController.swift index 6ea64a7042..85f61a756c 100644 --- a/Provenance/Settings/PVSettingsViewController.swift +++ b/Provenance/Settings/PVSettingsViewController.swift @@ -326,8 +326,12 @@ final class PVSettingsViewController: PVQuickTableViewController { PVSettingsSwitchRow(text: NSLocalizedString("Use Swift UI", comment: "Use Swift UI"), detailText: .subtitle("Swift UI placeholder. Don't use unless you're a developer."), key: \PVSettingsModel.debugOptions.useSwiftUI), + + PVSettingsSwitchRow(text: NSLocalizedString("On screen Joypad", comment: ""), + detailText: .subtitle("Show a touch Joystick pad on supported systems. Layout is strange on some devices while in beta."), + key: \PVSettingsModel.debugOptions.onscreenJoypad), ] - #else + #else // tvOS let betaRows: [TableRow] = [ PVSettingsSwitchRow(text: NSLocalizedString("Use Metal", comment: "Use Metal"), detailText: .subtitle("Use experimental Metal backend instead of OpenGL"), key: \PVSettingsModel.debugOptions.useMetal, @@ -370,6 +374,15 @@ final class PVSettingsViewController: PVQuickTableViewController { cell.textLabel?.font = UIFont.systemFont(ofSize: 30, weight: UIFont.Weight.regular) cell.detailTextLabel?.font = UIFont.systemFont(ofSize: 20, weight: UIFont.Weight.regular) } + ), + + PVSettingsSwitchRow(text: NSLocalizedString("Use Themes", comment: "Use Themes"), + detailText: .subtitle("Use iOS themes on tvOS"), + key: \PVSettingsModel.debugOptions.tvOSThemes, + customization: { cell, _ in + cell.textLabel?.font = UIFont.systemFont(ofSize: 30, weight: UIFont.Weight.regular) + cell.detailTextLabel?.font = UIFont.systemFont(ofSize: 20, weight: UIFont.Weight.regular) + } ) ] #endif diff --git a/Provenance/User Interface/Themes/Theme.swift b/Provenance/User Interface/Themes/Theme.swift index 26455735b2..9f0e2cca7e 100644 --- a/Provenance/User Interface/Themes/Theme.swift +++ b/Provenance/User Interface/Themes/Theme.swift @@ -10,6 +10,17 @@ import Foundation import UIKit +public extension UIColor { + static let provenanceBlue: UIColor = UIColor(red: 0.1, green: 0.5, blue: 0.95, alpha: 1.0) + static let iosBlue: UIColor = .init(hex: "#007aff")! + static let grey333: UIColor = .init(hex: "#333")! + static let grey1C: UIColor = .init(hex: "#1C1C1C")! + static let grey6F: UIColor = .init(hex: "#6F6F6F")! + static let grey29: UIColor = .init(hex: "#292929")! + static let greyEEE: UIColor = .init(hex: "#eee")! + static let middleGrey: UIColor = .init(white: 0.8, alpha: 1.0) +} + public enum Themes: String { case light = "Light" case dark = "Dark" @@ -33,8 +44,10 @@ protocol tvOSTheme {} public protocol iOSTheme { var theme: Themes { get } + #if !os(tvOS) var navigationBarStyle: UIBarStyle { get } - + var statusBarStyle: UIStatusBarStyle { get } + #endif // Mandatory var gameLibraryBackground: UIColor { get } var gameLibraryText: UIColor { get } @@ -53,7 +66,6 @@ public protocol iOSTheme { var switchON: UIColor? { get } var switchThumb: UIColor? { get } - var statusBarStyle: UIStatusBarStyle { get } var statusBarColor: UIColor? { get } var settingsHeaderBackground: UIColor? { get } @@ -84,7 +96,12 @@ extension iOSTheme { var settingsCellText: UIColor? { return nil } var settingsSeperator: UIColor? { return nil } + #if !os(tvOS) var navigationBarStyle: UIBarStyle { return .default } + var statusBarStyle: UIStatusBarStyle { + return UIStatusBarStyle.default + } + #endif var statusBarColor: UIColor? { return nil } // Default to default tint (which defaults to nil) @@ -100,55 +117,64 @@ extension iOSTheme { sharedApp.delegate?.window??.tintColor = defaultTintColor } - var statusBarStyle: UIStatusBarStyle { - return UIStatusBarStyle.default - } + } struct DarkTheme: iOSTheme { + enum Colors { + static let lightBlue: UIColor = .init(hex: "#18A9F7")! + static let blueishGrey: UIColor = .init(hex: "#848489")! + } + let theme = Themes.dark + #if !os(tvOS) var navigationBarStyle: UIBarStyle { return UIBarStyle.black } - - var defaultTintColor: UIColor? { return UIColor(hex: "#848489")! } + var statusBarStyle: UIStatusBarStyle { return UIStatusBarStyle.lightContent } + #endif + var defaultTintColor: UIColor? { return Colors.blueishGrey } var keyboardAppearance: UIKeyboardAppearance = .dark - var switchON: UIColor? { return UIColor(hex: "#18A9F7")! } - var switchThumb: UIColor? { return UIColor(hex: "#eee")! } + var switchON: UIColor? { return Colors.lightBlue } + var switchThumb: UIColor? { return .greyEEE } - var gameLibraryBackground: UIColor { return UIColor.black } - var gameLibraryText: UIColor { return UIColor(hex: "#6F6F6F")! } + var gameLibraryBackground: UIColor { return .black } + var gameLibraryText: UIColor { return .grey6F} var gameLibraryHeaderBackground: UIColor { return UIColor.black } - var gameLibraryHeaderText: UIColor { return UIColor(hex: "#333")! } + var gameLibraryHeaderText: UIColor { return .grey333} - var barButtonItemTint: UIColor? { return UIColor(hex: "#18A9F7") } - var navigationBarBackgroundColor: UIColor? { return UIColor(hex: "#1C1C1C") } + var barButtonItemTint: UIColor? { return Colors.lightBlue } + var navigationBarBackgroundColor: UIColor? { return .grey1C } - var alertViewBackground: UIColor { return UIColor.darkGray } - var alertViewText: UIColor { return UIColor.lightGray } + var alertViewBackground: UIColor { return .darkGray } + var alertViewText: UIColor { return .lightGray } - var statusBarStyle: UIStatusBarStyle { return UIStatusBarStyle.lightContent } - var settingsHeaderBackground: UIColor? { return UIColor.black } - var settingsHeaderText: UIColor? { return UIColor(white: 0.5, alpha: 1.0) } + var settingsHeaderBackground: UIColor? { return .black } + var settingsHeaderText: UIColor? { return .middleGrey } - var settingsCellBackground: UIColor? { return UIColor(hex: "#292929")! } - var settingsCellText: UIColor? { return UIColor(white: 0.8, alpha: 1.0) } + var settingsCellBackground: UIColor? { return .grey29 } + var settingsCellText: UIColor? { return .middleGrey } - var settingsSeperator: UIColor? { return UIColor.black } + var settingsSeperator: UIColor? { return .black } } struct LightTheme: iOSTheme { let theme = Themes.light + + enum Colors { + static let white9alpha6 = UIColor(white: 0.9, alpha: 0.6) + } + - var defaultTintColor: UIColor? { return UIColor(hex: "#007aff") } // iOS Blue + var defaultTintColor: UIColor? { return .iosBlue } // iOS Blue - let gameLibraryBackground = UIColor.white - let gameLibraryText: UIColor = UIColor.black + let gameLibraryBackground: UIColor = .white + let gameLibraryText: UIColor = .black - let gameLibraryHeaderBackground = UIColor(white: 0.9, alpha: 0.6) - let gameLibraryHeaderText = UIColor.darkGray + let gameLibraryHeaderBackground: UIColor = Colors.white9alpha6 + let gameLibraryHeaderText: UIColor = .darkGray } // @available(iOS 9.0, *) @@ -165,6 +191,7 @@ public final class Theme { // } static weak var statusBarView: UIView? private class func styleStatusBar(withColor color: UIColor? = nil) { + #if !os(tvOS) guard let color = color else { if let statusBarView = statusBarView { statusBarView.removeFromSuperview() @@ -189,13 +216,16 @@ public final class Theme { statusBar1.backgroundColor = color } } + #endif } private class func setTheme(_ theme: iOSTheme) { UINavigationBar.appearance { $0.backgroundColor = theme.navigationBarBackgroundColor $0.tintColor = theme.barButtonItemTint + #if !os(tvOS) $0.barStyle = theme.navigationBarStyle + #endif $0.isTranslucent = true } @@ -207,6 +237,7 @@ public final class Theme { $0.tintColor = theme.barButtonItemTint } + #if !os(tvOS) UISwitch.appearance { $0.onTintColor = theme.switchON #if !targetEnvironment(macCatalyst) @@ -223,6 +254,7 @@ public final class Theme { $0.backgroundColor = theme.settingsHeaderBackground $0.separatorColor = theme.settingsSeperator } + #endif // Settings appearance(inAny: [PVSettingsViewController.self, SystemsSettingsTableViewController.self, CoreOptionsViewController.self, SettingsTableView.self, PVAppearanceViewController.self, PVCoresTableViewController.self]) { diff --git a/Provenance/Utilities/PVGameLibraryUpdatesController.swift b/Provenance/Utilities/PVGameLibraryUpdatesController.swift index 173366d90c..30f0b6db71 100644 --- a/Provenance/Utilities/PVGameLibraryUpdatesController.swift +++ b/Provenance/Utilities/PVGameLibraryUpdatesController.swift @@ -220,7 +220,7 @@ private extension GameImporter { } private extension Reactive where Base: GameImporter { - var events: Observable { + var events: Observable { return Observable.create { observer in self.base.initialized.notify(queue: DispatchQueue.global(qos: .background)) { observer.onNext(.initialized) diff --git a/Provenance/http/GCDWebUploader/GCDWebUploader.bundle/Contents/Resources/en.lproj/Localizable.strings b/Provenance/http/GCDWebUploader/GCDWebUploader.bundle/Contents/Resources/en.lproj/Localizable.strings index 83265903e2..dc9f512f32 100644 --- a/Provenance/http/GCDWebUploader/GCDWebUploader.bundle/Contents/Resources/en.lproj/Localizable.strings +++ b/Provenance/http/GCDWebUploader/GCDWebUploader.bundle/Contents/Resources/en.lproj/Localizable.strings @@ -1,3 +1,3 @@ -"PROLOGUE" = "

Upload new files to Imports. Upload multi-file ROMs as single-file .zip or .7z archives. Check the wiki for more info about Importing ROMs.

"; +"PROLOGUE" = "

Upload new files to Imports folder below. Upload multi-file ROMs as single-file .zip or .7z archives. Check the wiki for more info about Importing ROMs.

"; "EPILOGUE" = "

Files can be directly added to subfolders (at own risk).
Drag & Drop is supported.

"; "FOOTER_FORMAT" = "%@ %@"; diff --git a/ProvenanceTV/PVSearchViewController.swift b/ProvenanceTV/PVSearchViewController.swift index 3df93dcf27..184bd90892 100644 --- a/ProvenanceTV/PVSearchViewController.swift +++ b/ProvenanceTV/PVSearchViewController.swift @@ -36,9 +36,8 @@ final class PVSearchViewController: UICollectionViewController, GameLaunchingVie let width = tvOSCellUnit let height = tvOSCellUnit flowLayout.itemSize = CGSize(width: width, height: height) - flowLayout.sectionInset = .init(top: 0, left: 0, bottom: 0, right: 0) - flowLayout.minimumInteritemSpacing = 48.0 - flowLayout.minimumLineSpacing = 40.0 + flowLayout.minimumInteritemSpacing = 55.0 + flowLayout.minimumLineSpacing = 55.0 flowLayout.scrollDirection = .vertical flowLayout.invalidateLayout() super.init(collectionViewLayout: flowLayout) @@ -54,7 +53,7 @@ final class PVSearchViewController: UICollectionViewController, GameLaunchingVie collectionView?.dataSource = nil collectionView?.register(UINib(nibName: "PVGameLibraryCollectionViewCell~tvOS", bundle: nil), forCellWithReuseIdentifier: PVGameLibraryCollectionViewCellIdentifier) collectionView?.backgroundColor = .black - collectionView?.contentInset = UIEdgeInsets(top: 40, left: 80, bottom: 40, right: 80) + collectionView?.contentInset = .init(top: 10, left: 90, bottom: 50, right: 90) collectionView.alwaysBounceVertical = true collectionView.remembersLastFocusedIndexPath = true collectionView.bounces = true diff --git a/README.md b/README.md index 82a1a60176..fde99e55a9 100644 --- a/README.md +++ b/README.md @@ -17,16 +17,17 @@ +GitHub all releases +
- - - - - - +GitHub top language +GitHub code size in bytes +Lines of code +GitHub commit activity
+

@@ -35,8 +36,40 @@

+
+ Open Collective backers and sponsors +GitHub Sponsors +

+### Release Roadmap + +![GitHub Release](https://img.shields.io/github/release/provenance-emu/provenance.svg?style=flat-square) +![GitHub Release Date](https://img.shields.io/github/release-date/provenance-emu/provenance.svg?style=flat-square) +![Github commits (since latest release)](https://img.shields.io/github/commits-since/provenance-emu/provenance/latest.svg?style=flat-square) +![GitHub milestone](https://img.shields.io/github/milestones/progress/provenance-emu/provenance/10?style=flat-square) +![GitHub last commit](https://img.shields.io/github/last-commit/provenance-emu/provenance?style=flat-square) + +We track upcoming releases in our GitHub [Milestones](https://github.com/Provenance-Emu/Provenance/milestones?direction=asc&sort=title&state=open). Keep in mind they are subject to change. + +### Issues + + +GitHub closed issues +GitHub closed pull requests +GitHub issues +GitHub pull requests + + +### Community + +[![Discord Widget](https://img.shields.io/discord/421819941835243520.svg?style=flat-square)](https://discord.gg/4TK7PU5) +Twitch Status +![Twitter Follow](https://img.shields.io/twitter/follow/provenanceapp.svg?style=social&logo=twitter&label=Follow) +YouTube Channel Subscribers + +💬 Join us and the rest of the community on the [Provenence-Emu Discord](https://discord.gg/4TK7PU5).

+ ## Installation To get started, please follow the [Installation](https://wiki.provenance-emu.com/installation-and-usage/installing-provenance) instructions on the wiki. @@ -200,19 +233,11 @@ Please consider supporting those you love or want to see improved! ---- ### Importing ROMs -Visit our wiki on [Importing ROMs](https://wiki.provenance-emu.com/installation-and-usage/roms/importing-roms) to learn how to load ROMs into Provenance. - - -### Release Roadmap -![GitHub Release](https://img.shields.io/github/release/provenance-emu/provenance.svg?style=flat-square) -![GitHub Release Date](https://img.shields.io/github/release-date/provenance-emu/provenance.svg?style=flat-square) -![Github commits (since latest release)](https://img.shields.io/github/commits-since/provenance-emu/provenance/latest.svg?style=flat-square) -[![Travis](https://img.shields.io/travis/provenance-emu/provenance.svg?style=flat-square)](https://travis-ci.org/Provenance-Emu/Provenance) - -We track upcoming releases in our GitHub [Milestones](https://github.com/Provenance-Emu/Provenance/milestones?direction=asc&sort=title&state=open). Keep in mind they are subject to change. +Visit our wiki on [Importing ROMs](https://wiki.provenance-emu.com/installation-and-usage/roms/importing-roms) to learn how to load ROMs into Provenance. ### Contributions + [![GitHub open issues](https://img.shields.io/github/issues-raw/provenance-emu/Provenance.svg?style=flat-square)](https://github.com/provenance-emu/Provenance/issues) [![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/provenance-emu/Provenance.svg?style=flat-square)](https://github.com/provenance-emu/Provenance/issues) ![GitHub open pull requests](https://img.shields.io/github/issues-pr-raw/provenance-emu/provenance.svg?style=flat-square) @@ -227,12 +252,6 @@ Before posting new issues, we ask you to please read up on [Issues Usage](https: ° Please note that Issues _is not_ a discussion board _nor_ a help desk. Please help us keep it focused on improving Provenance.
-### Community -[![Discord Widget](https://img.shields.io/discord/421819941835243520.svg?style=flat-square)](https://discord.gg/4TK7PU5) -![Twitter Follow](https://img.shields.io/twitter/follow/provenanceapp.svg?style=social&logo=twitter&label=Follow) - -💬 Join us and the rest of the community on the [Provenence-Emu Discord](https://discord.gg/4TK7PU5).

- ---- ### Attributions diff --git a/newrelic_agent.log b/newrelic_agent.log new file mode 100644 index 0000000000..c991ed19b9 --- /dev/null +++ b/newrelic_agent.log @@ -0,0 +1,5 @@ +{"v":0,"level":30,"name":"newrelic","hostname":"Mini-M1.lan","pid":72142,"time":"2022-05-24T00:35:38.444Z","msg":"Unable to find configuration file. If a configuration file is desired (common for non-containerized environments), a base configuration file can be copied from 13585 and renamed to \"newrelic.js\" in the directory from which you will start your application. Attempting to start agent using environment variables."} +{"v":0,"level":30,"name":"newrelic","hostname":"Mini-M1.lan","pid":72142,"time":"2022-05-24T00:35:38.446Z","msg":"Using New Relic for Node.js. Agent version: 8.9.1; Node version: v16.13.0."} +{"v":0,"level":30,"name":"newrelic","hostname":"Mini-M1.lan","pid":72142,"time":"2022-05-24T00:35:38.509Z","msg":"Using LegacyContextManager"} +{"v":0,"level":50,"name":"newrelic","hostname":"Mini-M1.lan","pid":72142,"time":"2022-05-24T00:35:38.509Z","msg":"New Relic requires that you name this application!\nSet app_name in your newrelic.js file or set environment variable\nNEW_RELIC_APP_NAME. Not starting!"} +{"v":0,"level":50,"name":"newrelic","hostname":"Mini-M1.lan","pid":72142,"time":"2022-05-24T00:35:38.510Z","msg":"New Relic for Node.js was unable to bootstrap itself due to an error:","stack":"Error: New Relic requires that you name this application!\nSet app_name in your newrelic.js file or set environment variable\nNEW_RELIC_APP_NAME. Not starting!\n at /Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:2:1192885\n at /Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:2:1193234\n at Object.82383 (/Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:2:1194154)\n at __webpack_require__ (/Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:59:1289583)\n at Object.72689 (/Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:2:2246371)\n at __webpack_require__ (/Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:59:1289583)\n at /Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:59:1290565\n at Object. (/Users/jmattiello/.vscode/extensions/codestream.codestream-12.18.0/dist/agent.js:59:1290615)\n at Module._compile (node:internal/modules/cjs/loader:1163:14)\n at Object.Module._extensions..js (node:internal/modules/cjs/loader:1216:10)","message":"New Relic requires that you name this application!\nSet app_name in your newrelic.js file or set environment variable\nNEW_RELIC_APP_NAME. Not starting!"}