Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Added CRT shader and enabled 4K resolution for Apple TV 4K. #608

Merged
merged 127 commits into from
Dec 17, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
04ff15b
Initial 5200 addition
JoeMatt Aug 22, 2016
68e75ad
Merge branch 'master' into atari800
JoeMatt Oct 10, 2016
ca50991
Merge branch 'master' into atari800
JoeMatt Nov 28, 2016
8b9d591
Get 800/5200 into a running state
JoeMatt Nov 28, 2016
55e84bc
Initial 5200 addition
JoeMatt Aug 22, 2016
da94ac8
Get 800/5200 into a running state
JoeMatt Nov 28, 2016
24c472e
Merge branch 'atari800' of github.com:JoeMatt/Provenance into atari800
JoeMatt Nov 29, 2016
c744e01
Initial @shruglins patch additions
Dec 19, 2016
22c2a00
Mednafen specfic changes to revert later
Dec 19, 2016
7c1c496
Merge branch 'master' into mednafen
Dec 19, 2016
f590a15
Convert to framework format
Dec 19, 2016
05165bd
Update Mednafen module header and tvOS bundle name
Dec 20, 2016
33b4f24
x86_cpu.c was incorrectly selected, ObjC flag added
Dec 20, 2016
bee2fe4
Fix build. Remove libsnd and vorbis requirement
Dec 20, 2016
cac0865
Fix framework header paths. BUILDS!
Dec 20, 2016
b621822
Fix Mednafen project was using hard path in workspace
JoeMatt Dec 21, 2016
b16deea
Fix ATV device build
JoeMatt Dec 21, 2016
d420802
Add additional systems to info.p and constanst
JoeMatt Dec 21, 2016
91bf437
Add WonderSwan support
JoeMatt Dec 21, 2016
26c3c31
Add Atari Lynx support
JoeMatt Dec 22, 2016
a1eb667
Add VirtualBoy support
JoeMatt Dec 22, 2016
36eee2a
PSX: Re/Assign Start and Select
Jan 24, 2017
6531314
Merge pull request #1 from FaultyTaco/mednafen
JoeMatt Jan 25, 2017
1588348
Skip math tests despite warning
JoeMatt Feb 9, 2017
d592ddb
Fix timing stuttering issues.
JoeMatt Feb 9, 2017
e8f3612
Merge branch 'mednafen' of github.com:JoeMatt/Provenance into mednafen
JoeMatt Feb 9, 2017
a15d088
Merge branch 'master' of https://github.com/jasarien/Provenance into …
JoeMatt Feb 9, 2017
7905e64
Add PCE Support
JoeMatt Mar 6, 2017
cd2e585
Add NeoGeo Pocket support
JoeMatt Mar 6, 2017
7938cd4
Widescreen hack for PSX
JoeMatt Mar 6, 2017
c3b7fe8
Merge branch 'master' into mednafen
JoeMatt Mar 6, 2017
885113e
Fix crash from multiple starts
JoeMatt Mar 7, 2017
d6bf01f
Better way of switching wide screen mode
JoeMatt Mar 7, 2017
cddd609
Add new systems to README
JoeMatt Mar 7, 2017
67d334b
fix type-o in readme
JoeMatt Mar 7, 2017
023182d
Add attributions for Mednafen to readme
JoeMatt Mar 7, 2017
efa1b72
Add attributions for Mednafen to readme
JoeMatt Mar 7, 2017
75f0dec
Merge branch 'mednafen' of github.com:JoeMatt/Provenance into mednafen
JoeMatt Mar 7, 2017
2aeac71
Fix iOS build
JoeMatt Mar 7, 2017
c7cfd01
Remove some code signing on some frameworks
JoeMatt Mar 7, 2017
73c0415
MFi mappings and on screen for Lynx, NeoGeo
JoeMatt Mar 8, 2017
5669a3f
Add WonderSwan controls
JoeMatt Mar 9, 2017
638248f
VirtualBoy on screen controls
JoeMatt Mar 9, 2017
26e6920
Correct NeoGeo controller map
JoeMatt Mar 9, 2017
fead20f
Fix framework linking
JoeMatt Mar 9, 2017
6f113b0
PCE MFi support
JoeMatt Mar 9, 2017
e0cd4d1
Tweak on screen controls for various systems
JoeMatt Mar 9, 2017
4d2ac9f
Tweak the hack frame count and fix return error
JoeMatt Apr 1, 2017
d6d3f96
Fix framework embed
JoeMatt Apr 1, 2017
2a8a6c5
Add onscreen select / start
JoeMatt Apr 3, 2017
75ed6bb
Groundwork for MFi
JoeMatt Apr 3, 2017
9cff83f
Some progress on MFi input. Joystick works
JoeMatt Apr 3, 2017
8f1274f
Non analog buttons working
JoeMatt Apr 7, 2017
2740340
Analog sticks tested working in PSX
JoeMatt Apr 7, 2017
47b2ecf
Quick menu button hack for updated tvos
JoeMatt Apr 7, 2017
2cada2f
Update GCDWebUploader
JoeMatt Apr 9, 2017
eb0ddf3
Update GCDWebServer
JoeMatt Apr 9, 2017
8231c3e
Add 7Zip support
JoeMatt Apr 9, 2017
1c93228
Fix ATV conflicts UI. Improve 7z handeling
JoeMatt Apr 9, 2017
afb23ea
Merge branch 'master' of https://github.com/jasarien/Provenance into …
JoeMatt Apr 9, 2017
ea97473
Add Pokemon Mini emulator support via Pokemin
JoeMatt Apr 10, 2017
e293c0a
Fix crash if ROM name starts with special char
JoeMatt Apr 10, 2017
2a3e0c2
Fix buffer overflow crash
JoeMatt Apr 10, 2017
431d168
Connect MFi controller to PokeMini
JoeMatt Apr 10, 2017
b6ac413
Add Bios and menu buttons, probably do nothing tho
JoeMatt Apr 10, 2017
1913014
Add Rumble
JoeMatt Apr 10, 2017
589341a
Update README for PokeMini
JoeMatt Apr 10, 2017
873149e
Disable bitcode to fix device builds
JoeMatt Apr 10, 2017
d91934c
Fix MFi
JoeMatt Apr 10, 2017
1846a1b
Merge branch 'master' into atari800
JoeMatt Apr 11, 2017
369875b
ROMs now load correctly, renamed enums
JoeMatt Apr 12, 2017
8a1295b
Flip button layout
JoeMatt Apr 12, 2017
7847cab
Fix memory corruption due to index underflow
JoeMatt Apr 12, 2017
af33e7e
Fix onscreen buttons
JoeMatt Apr 12, 2017
ce60795
Hookup MFi, fix device build target
JoeMatt Apr 12, 2017
6904066
Update README
JoeMatt Apr 12, 2017
0f5bb16
Merge branch 'mednafen' into Mednafen+Atari800+Poke
JoeMatt Apr 12, 2017
eed00a9
Merge branch 'Poke' into Mednafen+Atari800+Poke
JoeMatt Apr 12, 2017
148489e
Merge branch 'atari800' into Mednafen+Atari800+Poke
JoeMatt Apr 12, 2017
0aef8fc
Add PV800 to ATV
JoeMatt Apr 12, 2017
8519741
Add Atarti5200 to tvOS
JoeMatt Apr 12, 2017
97fa03e
Merge branch 'atari800' into Mednafen+Atari800+Poke
JoeMatt Apr 12, 2017
76f3ca3
Remove README.md as a source file
JoeMatt Apr 12, 2017
6fcaba7
Fix potential crash if path is nil in unzip
JoeMatt Apr 12, 2017
37bec23
Merge branch 'mednafen' into Mednafen+Atari800+Poke
JoeMatt Apr 12, 2017
2b0e7cb
Cache path before nil’ing ivar
JoeMatt Apr 12, 2017
f6a2825
Cache path before nil’ing ivar
JoeMatt Apr 12, 2017
4c35105
Reactive import code I disabled while testing cues
JoeMatt Apr 12, 2017
786f5a4
Merge branch 'mednafen' into Mednafen+Atari800+Poke
JoeMatt Apr 12, 2017
8ce240d
Remove dead targets from Mednafen, inhibit warning
JoeMatt Apr 12, 2017
5f78331
Inhibit warnings in Atari800 and PokeMini
JoeMatt Apr 12, 2017
a044141
Remove Assert in game load, better comment
JoeMatt Apr 13, 2017
0471162
Fixed moving files after un7zip by retaining ivars
JoeMatt Apr 13, 2017
d8e73af
Fixed build warnings in Lzma library code
JoeMatt Apr 13, 2017
56d6b2b
Remove readme from sources to remove warning
JoeMatt Apr 13, 2017
24d2a0e
Update subproject settings to remove warnings
JoeMatt Apr 13, 2017
089be84
Fix crash when using mednafen with iCade
leolobato Apr 15, 2017
2ff404a
Fix PSX on-screen controller mapping
leolobato Apr 15, 2017
8d82c09
Show "Done" button when conflict vc is presented modally
leolobato Apr 17, 2017
f187124
Fix inverted start/select on Mednafen PSX core
leolobato Apr 17, 2017
4046a18
Merge pull request #2 from leolobato/joematt/Mednafen+Atari800+Poke
JoeMatt Apr 17, 2017
b43479d
Add disk swap prooperty to mednafen
JoeMatt Apr 18, 2017
a738ce4
Add rom MD5 support for Atari800 carts
JoeMatt Apr 18, 2017
52ca406
Basic support for loadFile to return errors
JoeMatt Apr 18, 2017
b966940
Fix boxart size for Atari ALL, 32x and WonderSwan
JoeMatt Apr 18, 2017
dcdd3ce
Merge branch 'EnhancedErrorMessages' into Mednafen+Atari800+Poke
JoeMatt Apr 18, 2017
1405e79
Status indicator for 7zip
JoeMatt Apr 18, 2017
dca2ea1
Add more bios data
JoeMatt Apr 18, 2017
023bcda
Add some convenience to unzip and BIOS check
JoeMatt Apr 18, 2017
0c95e30
Fix unit tetsts and add BIOS unit tests.
JoeMatt Apr 19, 2017
fb289a6
MD5 bios matching, EmuConfig refactor, bios tests
JoeMatt Apr 25, 2017
fa420a1
Refactor some import by filename matching, unit test
JoeMatt Jul 12, 2017
f1a8277
Register on iOS to open 7z files
leolobato Jul 11, 2017
ea24c51
Merge pull request #3 from leolobato/joematt/Mednafen+Atari800+Poke
JoeMatt Jul 18, 2017
3889340
Merge branch 'master' into Mednafen+Atari800+Poke
JoeMatt Oct 9, 2017
747001c
Fix XCode 9 build issues
JoeMatt Oct 10, 2017
2e97e20
Speed up app launch (specially on large libraries)
leolobato Oct 28, 2017
be37143
Initial commit of CRT filter.
braindx Nov 8, 2017
41b9d5c
Fix bad PVDatabaseID for PSX and PCE
JoeMatt Dec 7, 2017
594302a
Map openvgdb system ID to OpenEMU core id
JoeMatt Dec 7, 2017
a6f061e
Resolve ROM import by MD5 or filename when conflict
JoeMatt Dec 7, 2017
db7583f
More aggressive hack for game stutter in Mednefen
JoeMatt Dec 7, 2017
403b620
Fix issue with conflict resolver not matching bins
JoeMatt Dec 7, 2017
d48d9c5
Declare static explicitely
JoeMatt Dec 7, 2017
493bc1c
Fix audio crash on second load
JoeMatt Dec 7, 2017
2e0af73
Merge pull request #4 from leolobato/master
JoeMatt Dec 7, 2017
7a18208
Merge branch 'Mednafen+Atari800+Poke+OthersUpdates' into crt-filter
JoeMatt Dec 7, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added Mednafen/English.lproj/InfoPlist.strings
Binary file not shown.
182 changes: 182 additions & 0 deletions Mednafen/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>Mednafen</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.9.38.7.1</string>
<key>NSPrincipalClass</key>
<string>OEGameCoreController</string>
<key>OEGameCoreClass</key>
<string>MednafenGameCore</string>
<key>OEGameCoreOptions</key>
<dict>
<key>openemu.system.lynx</key>
<dict>
<key>OEGameCoreRequiresFiles</key>
<true/>
<key>OEGameCoreRewindBufferSeconds</key>
<integer>60</integer>
<key>OEGameCoreRewindInterval</key>
<integer>0</integer>
<key>OEGameCoreSupportsRewinding</key>
<true/>
<key>OERequiredFiles</key>
<array>
<dict>
<key>Description</key>
<string>Lynx boot ROM</string>
<key>MD5</key>
<string>fcd403db69f54290b51035d82f835e7b</string>
<key>Name</key>
<string>lynxboot.img</string>
<key>Size</key>
<integer>512</integer>
</dict>
</array>
</dict>
<key>openemu.system.pce</key>
<dict>
<key>OEGameCoreRewindBufferSeconds</key>
<integer>60</integer>
<key>OEGameCoreRewindInterval</key>
<integer>0</integer>
<key>OEGameCoreSupportsRewinding</key>
<true/>
</dict>
<key>openemu.system.pcecd</key>
<dict>
<key>OEGameCoreRequiresFiles</key>
<true/>
<key>OEGameCoreRewindBufferSeconds</key>
<integer>60</integer>
<key>OEGameCoreRewindInterval</key>
<integer>0</integer>
<key>OEGameCoreSupportsRewinding</key>
<true/>
<key>OERequiredFiles</key>
<array>
<dict>
<key>Description</key>
<string>TurboGrafx-CD/PC Engine CD BIOS</string>
<key>MD5</key>
<string>ff1a674273fe3540ccef576376407d1d</string>
<key>Name</key>
<string>syscard3.pce</string>
<key>Size</key>
<string>262656</string>
</dict>
</array>
</dict>
<key>openemu.system.pcfx</key>
<dict>
<key>OEGameCoreRequiresFiles</key>
<true/>
<key>OERequiredFiles</key>
<array>
<dict>
<key>Description</key>
<string>PC-FX BIOS</string>
<key>MD5</key>
<string>08e36edbea28a017f79f8d4f7ff9b6d7</string>
<key>Name</key>
<string>pcfx.rom</string>
<key>Size</key>
<integer>1048576</integer>
</dict>
</array>
</dict>
<key>openemu.system.psx</key>
<dict>
<key>OEGameCoreRequiresFiles</key>
<true/>
<key>OEGameCoreSupportsMultipleDiscs</key>
<true/>
<key>OERequiredFiles</key>
<array>
<dict>
<key>Description</key>
<string>PlayStation (JP) SCPH-5500 BIOS</string>
<key>MD5</key>
<string>8dd7d5296a650fac7319bce665a6a53c</string>
<key>Name</key>
<string>scph5500.bin</string>
<key>Size</key>
<integer>524288</integer>
</dict>
<dict>
<key>Description</key>
<string>PlayStation (NA) SCPH-5501 BIOS</string>
<key>MD5</key>
<string>490f666e1afb15b7362b406ed1cea246</string>
<key>Name</key>
<string>scph5501.bin</string>
<key>Size</key>
<integer>524288</integer>
</dict>
<dict>
<key>Description</key>
<string>PlayStation (EU) SCPH-5502 BIOS</string>
<key>MD5</key>
<string>32736f17079d0b2b7024407c39bd3050</string>
<key>Name</key>
<string>scph5502.bin</string>
<key>Size</key>
<integer>524288</integer>
</dict>
</array>
</dict>
<key>openemu.system.vb</key>
<dict>
<key>OEGameCoreRewindBufferSeconds</key>
<integer>60</integer>
<key>OEGameCoreRewindInterval</key>
<integer>0</integer>
<key>OEGameCoreSupportsRewinding</key>
<true/>
</dict>
<key>openemu.system.ws</key>
<dict>
<key>OEGameCoreRewindBufferSeconds</key>
<integer>60</integer>
<key>OEGameCoreRewindInterval</key>
<integer>0</integer>
<key>OEGameCoreSupportsRewinding</key>
<true/>
</dict>
</dict>
<key>OEGameCorePlayerCount</key>
<string>2</string>
<key>OEProjectURL</key>
<string>http://mednafen.sourceforge.net/</string>
<key>OESystemIdentifiers</key>
<array>
<string>openemu.system.lynx</string>
<string>openemu.system.pce</string>
<string>openemu.system.pcecd</string>
<string>openemu.system.pcfx</string>
<string>openemu.system.psx</string>
<string>openemu.system.vb</string>
<string>openemu.system.ws</string>
</array>
<key>SUEnableAutomaticChecks</key>
<string>1</string>
<key>SUFeedURL</key>
<string>https://raw.github.com/OpenEmu/OpenEmu-Update/master/mednafen_appcast.xml</string>
</dict>
</plist>
Binary file added Mednafen/Mednafen.icns
Binary file not shown.
202 changes: 202 additions & 0 deletions Mednafen/MednafenGameCore.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
/*
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 <Foundation/Foundation.h>
#import <PVSupport/PVEmulatorCore.h>

@class OERingBuffer;

typedef NS_ENUM(NSInteger, PVPSXButton)
{
PVPSXButtonUp,
PVPSXButtonDown,
PVPSXButtonLeft,
PVPSXButtonRight,
PVPSXButtonTriangle,
PVPSXButtonCircle,
PVPSXButtonCross,
PVPSXButtonSquare,
PVPSXButtonL1,
PVPSXButtonL2,
PVPSXButtonL3,
PVPSXButtonR1,
PVPSXButtonR2,
PVPSXButtonR3,
PVPSXButtonStart,
PVPSXButtonSelect,
PVPSXButtonAnalogMode,
OEPSXLeftAnalogUp,
OEPSXLeftAnalogDown,
OEPSXLeftAnalogLeft,
OEPSXLeftAnalogRight,
OEPSXRightAnalogUp,
OEPSXRightAnalogDown,
OEPSXRightAnalogLeft,
OEPSXRightAnalogRight,
PVPSXButtonCount
};

typedef NS_ENUM(NSInteger, OEWSButton) {
OEWSButtonX1, // Up
OEWSButtonX3, // Down
OEWSButtonX4, // Left
OEWSButtonX2, // Right
OEWSButtonY1,
OEWSButtonY3,
OEWSButtonY4,
OEWSButtonY2,
OEWSButtonA,
OEWSButtonB,
OEWSButtonStart,
OEWSButtonSound,
OEWSButtonCount
};

typedef NS_ENUM(NSInteger, OEVBButton) {
OEVBButtonLeftUp,
OEVBButtonLeftDown,
OEVBButtonLeftLeft,
OEVBButtonLeftRight,
OEVBButtonRightUp,
OEVBButtonRightDown,
OEVBButtonRightLeft,
OEVBButtonRightRight,
OEVBButtonL,
OEVBButtonR,
OEVBButtonA,
OEVBButtonB,
OEVBButtonStart,
OEVBButtonSelect,
OEVBButtonCount
};

typedef NS_ENUM(NSInteger, OEPCEButton) {
OEPCEButtonUp,
OEPCEButtonDown,
OEPCEButtonLeft,
OEPCEButtonRight,
OEPCEButton1,
OEPCEButton2,
OEPCEButton3,
OEPCEButton4,
OEPCEButton5,
OEPCEButton6,
OEPCEButtonRun,
OEPCEButtonSelect,
OEPCEButtonMode,
OEPCEButtonCount
};

typedef NS_ENUM(NSInteger, OEPCFXButton) {
OEPCFXButtonUp,
OEPCFXButtonDown,
OEPCFXButtonLeft,
OEPCFXButtonRight,
OEPCFXButton1,
OEPCFXButton2,
OEPCFXButton3,
OEPCFXButton4,
OEPCFXButton5,
OEPCFXButton6,
OEPCFXButtonRun,
OEPCFXButtonSelect,
OEPCFXButtonCount,
};

typedef NS_ENUM(NSInteger, OEPCECDButton) {
OEPCECDButtonUp,
OEPCECDButtonDown,
OEPCECDButtonLeft,
OEPCECDButtonRight,
OEPCECDButton1,
OEPCECDButton2,
OEPCECDButton3,
OEPCECDButton4,
OEPCECDButton5,
OEPCECDButton6,
OEPCECDButtonRun,
OEPCECDButtonSelect,
OEPCECDButtonMode,
OEPCECDButtonCount
};

typedef NS_ENUM(NSInteger, OELynxButton) {
OELynxButtonUp,
OELynxButtonDown,
OELynxButtonLeft,
OELynxButtonRight,
OELynxButtonA,
OELynxButtonB,
OELynxButtonOption1,
OELynxButtonOption2,
OELynxButtonCount
};

typedef NS_ENUM(NSInteger, OENGPButton) {
OENGPButtonUp,
OENGPButtonDown,
OENGPButtonLeft,
OENGPButtonRight,
OENGPButtonA,
OENGPButtonB,
OENGPButtonOption,
OENGPButtonCount,
};

__attribute__((visibility("default")))
@interface MednafenGameCore : PVEmulatorCore

// Atari Lynx
- (oneway void)didPushLynxButton:(OELynxButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleaseLynxButton:(OELynxButton)button forPlayer:(NSUInteger)player;

// Neo Geo Pocket + Color
- (oneway void)didPushNGPButton:(OENGPButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleaseNGPButton:(OENGPButton)button forPlayer:(NSUInteger)player;

// PC-*
- (oneway void)didPushPCEButton:(OEPCEButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleasePCEButton:(OEPCEButton)button forPlayer:(NSUInteger)player;
- (oneway void)didPushPCECDButton:(OEPCECDButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleasePCECDButton:(OEPCECDButton)button forPlayer:(NSUInteger)player;
- (oneway void)didPushPCFXButton:(OEPCFXButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleasePCFXButton:(OEPCFXButton)button forPlayer:(NSUInteger)player;

// PSX
- (oneway void)didPushPSXButton:(PVPSXButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleasePSXButton:(PVPSXButton)button forPlayer:(NSUInteger)player;
- (oneway void)didMovePSXJoystickDirection:(PVPSXButton)button withValue:(CGFloat)value forPlayer:(NSUInteger)player;

// Virtual Boy
- (oneway void)didPushVBButton:(OEVBButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleaseVBButton:(OEVBButton)button forPlayer:(NSUInteger)player;

// WonderSwan
- (oneway void)didPushWSButton:(OEWSButton)button forPlayer:(NSUInteger)player;
- (oneway void)didReleaseWSButton:(OEWSButton)button forPlayer:(NSUInteger)player;

@end
Loading