Provenance - An iOS & tvOS Frontend for Multiple Emulators

Overview

Provenance

An iOS & tvOS Frontend for Multiple Emulators

Installation

To get started, please follow the Installation instructions on the wiki.

If you run into trouble, check the Frequently Asked Questions and please read up on our Issues Usage first, before posting any new issues.

Why 'Provenance'?

Provenance is our origin story. The word has a similar meaning to Genesis, which is actually where the project started: Sega Genesis—our early beginnings as humble emulator on iOS.

prov·e·nance   /ˈprävənəns/   n.
¹ place of origin   ² the beginning of something's existence

Systems Supported:

  • Atari
    • 2600
    • 5200
    • 7800
    • Lynx
    • Jaguar
  • Bandai
    • WonderSwan / WonderSwan Color
  • NEC
    • PC Engine / TurboGrafx-16 (PCE/TG16)
    • PC Engine Super CD-ROM² System / TurboGrafx-CD
    • PC Engine SuperGrafx
    • PC-FX
  • Nintendo
    • Nintendo Entertainment System / Famicom (NES/FC)
    • Famicom Disk System
    • Super Nintendo Entertainment System / Super Famicom (SNES/SFC)
    • Game Boy / Game Boy Color (GB/GBC)
    • Virtual Boy
    • Nintendo 64 (N64)
    • Game Boy Advance (GBA)
    • Pokémon mini
  • Sega
    • SG-1000
    • Master System
    • Genesis / Mega Drive
    • Game Gear
    • CD / MegaCD
    • 32X
    • Saturn (mednafen)
  • SNK
    • Neo Geo Pocket / Neo Geo Pocket Color
  • Sony
    • PlayStation (PSX/PS1)

Systems in Development:

  • Nintendo
    • DS
  • Sega
    • Dreamcast (reicast)
  • Sony
    • PSP (ppsspp)

Features

  • Very Accurate, Full Speed Emulation
  • Stereo Sound
  • Save States (save anywhere/game freezing)
  • Battery Saves (native game saves)
  • Adjustable Controller Overlay Opacity
  • Controller Support:
  • Local Multiplayer via External Controllers
  • Portrait and Landscape Orientation
  • Cheatcode support! Currently for SNES and PSX only
  • Automatic ROM Matching (Game Title, Cover Art, Description, Genre, etc…) via OpenVGDB
  • ROM Customizations (Cover Art, Game Titles) (Instructions)
  • Multiple Options for Managing ROMs, Game Saves and Cover Art:
    • Import / Export:
      • Uploading (via built-in web server)
    • Import:
      • Downloading (from mobile browsers)
      • Copying (from other mobile apps and AirDrop)
      • Injecting (with desktop apps)
  • Game Library Searching
  • iOS 10+ (iPhone, iPad)
    • 3D Touch Shortcuts for Recent Games (iPhone 6s and later, except iPhone SE and iPhone Xʀ)
    • Taptic Engine Button Feedback (iPhone 7 and later)
    • Spotlight Searching (Setup)
  • tvOS 10+ (Apple TV 4+)
    • [broken for now] TopShelf Support (Setup)

Feel free to suggest/request features or report bugs by posting an issue, but please read up on our Issues Usage first, before posting.


Importing ROMs

Visit our wiki on Importing ROMs to learn how to load ROMs into Provenance.

Release Roadmap

GitHub Release GitHub Release Date Github commits (since latest release) Travis

We track upcoming releases in our GitHub Milestones. Keep in mind they are subject to change.

Contributions

GitHub open issues GitHub closed issues GitHub open pull requests GitHub closed pull requests

GitHub last commit GitHub commit activity the past week, 4 weeks, year

To contribute to the Provenance project please take look at the open issues. If you see something you can help with: bugfixing, testing, implementation or relevant suggestions, discussion and research.°

Before posting new issues, we ask you to please read up on Issues Usage. If you just want to give us a a shout out, twitter: @provenanceapp, and of course, new GitHub contributors are always welcome. Thank you.

° 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 Twitter Follow

💬 Join us and the rest of the community on the Provenence-Emu Discord.


Attributions

Provenance would not be possible without the great work of those who came before us and the ongoing develeopment of open-source projects that makeup the foundations of our emulation cores.

Atari 2600: Stella | Atari 5200: Atari 800 | Atari 7800: ProSystem | Atari Jaguar: Virtual Jaguar | Nintendo Entertainment System/Famicom (NES/FC), Famicom Disk System (FDS): FCEUX | Super Nintendo Entertainment System/Super Famicom (SNES/SFC): SNES9x | Game Boy / Game Boy Color: Gambatte | Nintendo 64 (N64): Mupen64Plus | Game Boy Advance (GBA): VisualBoyAdvance | Pokémon mini: PokiMini | Sega Master System, Game Gear, Genesis/MegaDrive, SG-1000: Genesis Plus GX | Sega 32X: PicoDrive | Atari Lynx, Bandai WonderSwan + WonderSwan Color, NEC TurboGrafx-16/PC Engine / TurboGrafx-CD/Super CD-ROM² System / SuperGrafx / PC-FX, Nintendo Entertainment System/Famicom (NES/FC) / Game Boy / Game Boy Color / Game Boy Advance / Super Nintendo Entertainment System/Super Famicom (SNES/SFC) / VirtualBoy, SNK Neo Geo Pocket / Neo Geo Pocket Color, Sony PlayStation: Mednafen

The specific implementations used in Provenance are loosely based on some of the work done by OpenEmu (source) and RetroArch (source).

Collaborators

Contributors


Provenance License

Copyright © 2016, Provenance-Emu Team. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer • 2. 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. • 3. Neither the name of the Provenance project 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 PROVENANCE-EMU "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 PROVENANCE-EMU OR CONTRIBUTORS 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.

The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Provenance-Emu Team.

OpenEmu License

Copyright © 2016, OpenEmu Team

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. • 2. 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. • 3. 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.

Issues
  • Perceivable latency

    Perceivable latency

    For me, perceivable latency really kills the experience so it's my number one issue. I'm a humble C# Unity dev but if someone can point me in some kind of direction on where I might start I will do anything I can to try to help get latency down. I would love to see latency reduced to the point where we can all play Mario at least as well as we can on Mario Maker for Wii U (which manages to have remarkably low latency even through a wireless gamepad that's also receiving a video stream!)

    enhancement controller-related 
    opened by franktinsley 99
  • 8bitdo iCade Controller Crashes Provenance

    8bitdo iCade Controller Crashes Provenance

    Just noticed that the latest build crashes the entire app once I press any button on the 8bitdo NES30 Controller which I have in iCade mode. Not sure what is causing it.

    bug 
    opened by jpete24 56
  • iOS 9.3 adds support for BT keyboards on Apple TV 4

    iOS 9.3 adds support for BT keyboards on Apple TV 4

    Apple has released a developer preview of iOS 9.3 which hails the return of Bluetooth keyboard support for Apple TV. Since that will be a thing again, do you think we can add iCade controller support to the Apple TV version of Provenance?

    It would be a HUGE win to be able to use the SNES30/other 8bitdo/iCade controllers on the Apple TV instead of an MFi controller.

    enhancement controller-related tvOS 
    opened by samadulator 50
  • iCade/8bitdo snes30 crashes Provenance

    iCade/8bitdo snes30 crashes Provenance

    Hello, I just downloaded and pushed 1.2.6 to my iPhone 6s (iOS 9.1), and my 8bitdo SNES30 doesn't work with it. It either does nothing (while playing SNES games), or it crashes Provenance as soon as I press a button. I do not know how to do the diagnostics you might need, though. :L

    bug controller-related 
    opened by CSPhobos 50
  • iCade fixes and 8Bitdo controller support

    iCade fixes and 8Bitdo controller support

    This Pull Request brings in the commits added by @DanielFontes on his fork to address iCade and 8Bitdo controller support in issue #269.

    I rebased those changes on top of the latest Provenance master and resolved the rebase conflicts.

    https://github.com/jasarien/Provenance/issues/269

    https://github.com/DanielFontes/Provenance

    Submitting this PR so as to bring those changes into the main Provenance repo.

    NOTE: I have not personally evaluated or tested these changes. Opening this PR for visibility, as I was surprised and happy to see that 8Bitdo support was added! I can and will test once my 8Bitdo controller arrives in the mail.

    opened by pkamb 45
  • iPhone 7 and 7+ issues - freezes causing OS reset

    iPhone 7 and 7+ issues - freezes causing OS reset

    iPhone 7, iOS 10 (not jailbroken), compiled on Xcode 8. I couldn't grab any logs unfortunately. I'm novice at iOS development, so let me know if there's any better debugging I can grab.

    I was previously running Provenance on an iPhone 6 compiled with Xcode 7, and had no issues at all .

    Since updating to the latest master, compiling with Xcode 8, and running on an iPhone 7, the SNES core seems to have issues (tested with Super Metroid and Final Fantasy 3). Gameplay and sound stutters occasionally, controller input gets stuck, and sometimes opening the Provenance menu causes a complete hang (had issues force quitting the app when this happens).

    Other cores (GBC) seem fine, although I haven't done thorough testing,

    bug core-related 
    opened by meldridge 44
  • iCade 8bitdo nes30 not working in 1.2.6

    iCade 8bitdo nes30 not working in 1.2.6

    First let me say thank you for this amazing project, truly awesome.

    I'm trying to use an 8bitdo nes 30 (pro) on 1.2.6 and I get no response from any button. I downgraded to 1.2.5 and it works like a charm, so it seems like something broke functionality between that and the latest version.

    opened by the-roamer 39
  • B Button Triggers App Menu on SteelSeries Nimbus with AppleTV 4

    B Button Triggers App Menu on SteelSeries Nimbus with AppleTV 4

    Hi, first of all, thank you so much for all the work you've put into this beautiful app. I've been trying it out for the last couple of days and had a lot of fun playing old NES and Genesis games again.

    I'm not sure if this is a bug with the emulator or something else, but the SteelSeries Nimbus' B button seems to trigger both the app menu (not the ROM's menu) along with the expected in-game B button behavior. For example, when playing Super Bomberman 3 for SNES, if I press the B button to set a bomb, the bomb will be set, but the app menu will also be brought up asking if I want to Return to Game Library or Resume. The Menu button on the Nimbus has the same functionality as the B button (which is also the case when navigating the AppleTV interface outside the Provenance app).

    I'm using Provenance 1.3.2 on an AppleTV 4 running tvOS 10.1.1. This is my first time posting anything on GitHub, so apologies if the answer to this issue is obvious or if I left something out.

    opened by bastardsby 33
  • tvOS Top Shelf

    tvOS Top Shelf

    Fix: https://github.com/jasarien/Provenance/issues/145

    What this does

    This PR introduces the Top Shelf feature to the tvOS target by showing the recently played games, and deep-linking to them.

    simulator screen shot dec 16 2015 8 53 23 pm

    Implementation

    • Introduces the top shelf app extension
    • Moves the Realm DB to a shared app group so the main app and the top shelf target can access it
    • refactors a bunch of defines and duplicate logic into shared classes/categories
    • add URLScheme to tvOS target

    To Test

    1. Enable App Groups on the TopShelf target, and specify an App Group ID Provenance Project -> TopShelf Target -> Capabilities Section -> App Groups
    2. Enable App Groups on the Provenance TV target, using the same App Group ID
    3. Define the value for PVAppGroupId in PVAppConstants.m to that App Group ID
    opened by davidmuzi 32
  • Updates for Issue #637: Revisions to Settings View(s), Web Server Active Alert View(s) (iOS, tvOS) + Enabled In-App use of Web Server (iOS only)

    Updates for Issue #637: Revisions to Settings View(s), Web Server Active Alert View(s) (iOS, tvOS) + Enabled In-App use of Web Server (iOS only)

    Fixes to help with Issue #637:

    • Added short note about zipping multi-file roms
    • Added link to wikis ~~for disc-based games PSX/SegaCD Instructions wiki~~ [Updated to link to Importing ROMs] as footnote in a table cell Import/Export button in iOS
    • Added the above to the Web Server 'prologue' (Header).
    • Added small footnote to Web Server alert over Game Library View (iOS)
    • ~~Replaced URL with a tappable link in Web Server UIAlertviews (iOS)~~ (moved to alert action button)

    Cosmetic cleanup to Settings View:

    • Adjusted table cells details for consistency (type size, cell height) and readability (type sizes)
    • Rewrote table cell titles and description copy to condense and simplify and adjusted to match tvOS and iOS builds wording more closely.
    • other minor adjustments

    Update: Enabled In-app use of Web Server for Managing files. (Keeps server running until done with view) - accessible 'View' button in 'Web Server Active' Alert View

    opened by sevdestruct 31
  • Portrait mode support?

    Portrait mode support?

    Don't mind using Landscape at all (actually, much preferred in gaming), but portrait would just add another level to the whole experience. Is this a work in progress or something in mind for the future?

    I have a lot more suggestions/bug reports coming. Would you like me to open a new issue for each one?

    enhancement ui/ux 
    opened by mithical 31
  • fixes #1915 joystick layout busted

    fixes #1915 joystick layout busted

    Signed-off-by: Joseph Mattello [email protected]

    What does this PR do

    Where should the reviewer start

    How should this be manually tested

    Any background context you want to provide

    What are the relevant tickets

    Screenshots (important for UI changes)

    Simulator Screen Shot - iPad mini (6th generation) - 2022-06-25 at 04 23 40 Simulator Screen Shot - iPad mini (6th generation) - 2022-06-25 at 04 23 36 Simulator Screen Shot - iPhone 11 - 2022-06-25 at 04 22 44 Simulator Screen Shot - iPhone 11 - 2022-06-25 at 04 22 39 Simulator Screen Shot - iPhone 11 - 2022-06-25 at 04 21 09

    Questions

    opened by JoeMatt 1
  • Fix SIGSEGV in 0x1ac700000 + 17668

    Fix SIGSEGV in 0x1ac700000 + 17668

    opened by JoeMatt 0
  • Fix SIGSEGV in 0x18eb74000 + 22560

    Fix SIGSEGV in 0x18eb74000 + 22560

    opened by JoeMatt 0
  • Fix SIGSEGV in objc_release

    Fix SIGSEGV in objc_release

    opened by JoeMatt 0
  • The app does not open on apple tv 4k 1gen

    The app does not open on apple tv 4k 1gen

    The app does not open on apple tv 4k 1gen. I have tried with version 2.1.0 and with the new version 2.1.1. With version 2.0.4 works fine for me. I don't know where the problem could be. I install the app through Xcode and signed with Signulous.

    Expected:

    The application opens and works

    Actual:

    The initial screen is seen and it closes automatically

    Reproduce:

    1. Download the ipa for tvos
    2. Sign with signulous.com
    3. Install With Xcode
    4. Run the APP

    APP VERSION

    2.1.1 and 2.1.0

    APP SOURCE

    Provenance-Emu GitHub * (Official)

    INSTALLED BY

    Side-Loading

    PLATFORM

    tvOS

    iOS/tvOS VERSION

    15.5.1


    🚫 We DO NOT support unofficial builds installed from 3rd-party sites. (Official Install)
    Need help or have a suggestion? Join our Official Discord

    bug 
    opened by joakyhsf69 0
  • new core MednafenPCEDev quick hack

    new core MednafenPCEDev quick hack

    Signed-off-by: Joseph Mattello [email protected]

    What does this PR do

    Where should the reviewer start

    How should this be manually tested

    Any background context you want to provide

    What are the relevant tickets

    Screenshots (important for UI changes)

    Questions

    opened by JoeMatt 1
Releases(2.1.1)
  • 2.1.1(Jun 15, 2022)

  • 2.1.0(Feb 16, 2022)

    Full release overview

    https://provenance-emu.com/blog/2022/02/15/release-2.1.0/

    What's Changed (Auto Generated by GitHub)

    • Speedup Mednafen compile, and LIKELY compiler hints by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1680
    • Fix submodule errors by @dnicolson in https://github.com/Provenance-Emu/Provenance/pull/1687
    • M68K tvOS Compiler setting sync up by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1690
    • Update dependencies by @dnicolson in https://github.com/Provenance-Emu/Provenance/pull/1688
    • refs #1639 Add xcconfig files for sign settings by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1640
    • make xcconfg work, better, ... by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1696
    • translate by @nenge123 in https://github.com/Provenance-Emu/Provenance/pull/1693
    • translate by @nenge123 in https://github.com/Provenance-Emu/Provenance/pull/1692
    • translate word by @nenge123 in https://github.com/Provenance-Emu/Provenance/pull/1691
    • translate by @nenge123 in https://github.com/Provenance-Emu/Provenance/pull/1694
    • Ios 13 UX tweaks by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1699
    • fix tvOS focus hell by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1706
    • tvOS UX tweaks by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1707
    • Metal by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1708
    • Update PVSettingsViewController.swift by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1709
    • [Metal] Format and size bugfixes by @ac90b671 in https://github.com/Provenance-Emu/Provenance/pull/1710
    • More mupen options by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1682
    • Update PVSystem.swift by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1713
    • Pullrequests/todd la/tvos mrjs by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1715
    • tintColor fix for Pv Buttons on tvOS by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1722
    • Match Provenance branding size to capHeight on tvOS by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1721
    • Improved Core and Game options by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1716
    • Adds subtle blurEffect to navBar on tvOS by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1723
    • Clarify Game Speed %'s by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1725
    • more tvOS UX by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1726
    • 205 more stuff by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1730
    • fix tvOS by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1738
    • Game Controller UX for UITableView and UINavigationController, and a start of GameLibrary UX by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1740
    • Update Dutch Localized Strings by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1743
    • MTL CRT Shader fixes by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1745
    • game controller UX, made Y be long-press, and some clean up by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1742
    • Fix Metal input texture copy to account for cores using an offset origin by @ac90b671 in https://github.com/Provenance-Emu/Provenance/pull/1744
    • Update crt_fragment.glsl by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1746
    • Update WebServerActivatorController.swift by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1747
    • add russian translations by @amoorecodes in https://github.com/Provenance-Emu/Provenance/pull/1749
    • Sega Options by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1741
    • CI CD Fix by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1739
    • More GameLibrary UX by @ToddLa in https://github.com/Provenance-Emu/Provenance/pull/1752
    • M30 fixes and clarifications by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1753
    • Make Menu icons iOS only by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1756
    • [Release] 2.1.0 by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1750

    New Contributors

    • @ToddLa made their first contribution in https://github.com/Provenance-Emu/Provenance/pull/1696
    • @nenge123 made their first contribution in https://github.com/Provenance-Emu/Provenance/pull/1693
    • @ac90b671 made their first contribution in https://github.com/Provenance-Emu/Provenance/pull/1710
    • @amoorecodes made their first contribution in https://github.com/Provenance-Emu/Provenance/pull/1749

    Full Changelog: https://github.com/Provenance-Emu/Provenance/compare/2.0.4...2.1.0

    CHANGELOG.md

    Special thanks to contributors on this release; 👉 @mrjschulte 👉 @ToddLa 👉 @ac90b671 👉 @nenge123 👉 @david.nicolson 👉 @davidmuzi 👉 @amoorecodes

    Added

    • Controllers:
      • On Screen Joystick Controls for N64 and PSX
      • APIs for keyboard, mouse, rumble, on-screen joystick. (coming in future release)
      • Apple TV: Support new Siri remote (MicroGamepad and DirectionalGamepad)
    • Code Signing is now managed with an XCConfig file. See CodeSigning.xcconfig.example for instructions. (Only applies to developers/xcode source installs)
    • Enumeration type menu options UI
    • FPS debug label now includes total CPU and Memory usage.
    • GameBoy Advanced cheat code support
    • Jaguar options exposed
    • Long press a ROM for quick access to Core Options
    • Mednafen
      • many more sub-core options added
      • SNESFaust 1 frame render ahead option (on by default. VERY SNAPPY!)
    • Metal Shaders (CRT, LCD, etc.)
    • N64:
      • mupen/gliden/rice options exposed
      • Dual Shock 4 touchpad as pause
      • option for Dual Joysticks on DualShock4 as dual controllers (allows Goldeneye dual controller joystick layout from 1 physical dualshock)
    • Native Metal renderer option [WIP/Buggy]
    • per-game option overrides
    • radio selection options
    • Sega Saturn Mutli-CD support
    • Swift UI/UIKit optional code paths at app start (SwiftUI currernly empty, for easier development in future)
    • VirtualBoy side by side mode (for 3D tv's with Side by Side mode. Google Cardboard coming later)
    • XCode will present a warning message if it detects a device build but CodeSigning.xcconfig isn't setup.
    • Localizations (Only Partially translated WIP)
      • NSLocalizedString for most strings in main app source
      • Chinese Simplified by @nenge123
      • Spanish
      • Russian by @amoorecodes
      • Dutch by @mrjschulte
      • Portuguese (Brazil) by Stéfano Santos

    Improved

    • Mupen:
      • wrapper code organized, refactored
      • faster controller polling, various other code speedup tweaks.
      • mupen llvm optimization flags improved (was incorrectly -O2, now -Os)
    • On-Screen Controls
      • N64 layout improved
      • PSX layout improved
    • Branch prediction compiler hints for tight loops, possibly faster.
    • Catalyst: All cores build now for Intel and M1.
    • check if file exists before attempt to delete, reduces superfluous throws trapping in the debugger
    • Converted more app code from ObjC to Swift
    • Dark Mode UI always on, fixes some color issues
    • Fix some excessive thread blocks
    • Hide/Show systems chevron location tweaks
    • If multiple cores support a system, cores are listed in recommended order.
    • Improved logo/header bar for iOS & tvOS
    • Jaguar button layout tweaks
    • Mark various ObjC classes objc_direct_members. Should improve Swift to ObjC calls bypassing dynamic dispatch for function pointers (in theory)
    • Replace all spinlocks with atomic operations for better thread performance
    • replaced some sloppy force unwraps with proper nil checks and logging
    • Shaders are copied to Documents at load and read from thereafter. This allows locally editing / developing shaders without rebuilding.

    Fixed

    • Conflicts better detected
    • tvOS top buttons sometimes couldn't be selected
    • Faster compile times (improved header imports, compiler flags)
    • Fixed some improper retain cycles in ObjC blocks
    • Fixed rare audio engine nil reference race condition crash
    • Cheat entry UI fixes

    Updated

    • N64:
      • Swap left and right triggers to L:Start R:Z Button from other way around prior
      • mupen cxd4 plugin to latest upstream version
      • mupen rsp-hle plugin to latest upstream version
    • Updated Swift Packages (RxRealm, Realm, Cocoalumberjack)
    • Improved tvOS UI (top buttons, search, icons, more consistent styling)

    Removed

    • Removed SteamController support (no one used it and the code caused too many compilations, plus steam controllers are kind of trash, sorry.)
    Source code(tar.gz)
    Source code(zip)
    Provenance-2.1.0-dSYMs.zip(76.58 MB)
    Provenance.ipa(34.44 MB)
    ProvenanceTV-2.1.0-dSYMs.zip(75.05 MB)
    ProvenanceTV.ipa(34.50 MB)
  • 2.0.4(Dec 25, 2021)

    [2.0.4] - 2021-12-24

    What's Changed

    Fixed

    • (Possible) Mupen N64 Core fix for tvOS/iOS by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1651
    • Update TVL in crt_fragment.glsl to reduce moirée effects at UHD by @mrjschulte in https://github.com/Provenance-Emu/Provenance/pull/1652
    • Remove absolute path to file from .xcodeproj by @davidmuzi in https://github.com/Provenance-Emu/Provenance/pull/1654
    • Release/2.0.4 by @JoeMatt in https://github.com/Provenance-Emu/Provenance/pull/1668

    Full Changelog: https://github.com/Provenance-Emu/Provenance/compare/2.0.3...2.0.4

    Source code(tar.gz)
    Source code(zip)
    Provenance-tvOS.ipa(34.37 MB)
    Provenance.ipa(36.65 MB)
  • 2.0.3(Dec 22, 2021)

    Links

    🥰 Patreon

    Install Instructions

    https://wiki.provenance-emu.com/installation-and-usage/installing-provenance/sideloading

    Changes

    More Bug fixes, some core updates.

    [2.0.3] - 2021-12-16

    Added

    • Odyssey2 core
    • Mac Catalyst early support (M1 and Intel) (not for public use yet)
    • SNES FAST and PCE FAST core options for Mednafen
    • watch os demo target
    • Odyssey add and use od2 extension
    • Add odyssey to build
    • Tentative support for VecX and CrabEMU
    • macOS testing catalyst
    • Add nitotv methods for tvOS
    • Override openURL for tvOS
    • Add Patron link to readme
    • Add Desmume2015 core
    • DuckStation initial commit
    • Cores add plist feature to ignore
    • Add PPSSPP Source
    • Play! PS2 initial commit
    • Add Dolphin project
    • Add GameCube support classes and metadata (WIP)
    • Add flycast core (WIP)
    • Add a Chinese loading example
    • Add localized strings file and example

    Fixed

    • #1621 GBC palette options crashed gambatte
    • #1414 smarter expecptions in PVSystem
    • #1645 PCE Audio setting tweaks to match real hardware
    • #1637 Cheats label name cut off fixed
    • #1649 two PCE module audio related setting tweaks that enable Provenance's PCE Audio output to match much closer to the measured MDFourier output of a real system, as tested with @artemio from the MDFourier project.
    • Fixed rare crash in OERingBuffer
    • Cores that don't support saves no loner display save actions in menu
    • OpenVGDB Update (fixes artwork and metadata not loading)
    • Fixed strong self refs in some classes, closures
    • Fixed MD5 mismatch log message
    • Add back a crash logger #1605 add crash logger and fix minor build settings
    • switch jaguar to upstream branch
    • core option as bool for objc
    • RxDataSources switch to SPM package
    • Fix some implicit self block refs
    • closes Conflicts not reported #1601 conflicts reporting correctly
    • fixes Gambatte core immediately crashes #1621 GBC palette options crashed gambatte
    • refs After Resolving an "Import Conflict", subsequent imports no longer work #1414 smarter expecptions in PVSystem
    • refs WebDav Server Always-On broken #822 add small main queue delay 4webdav start
    • tvOS add multi micro gamepad to infoplist
    • tvOS fix target order setting error
    • Fix minor iCloud warning
    • Fix random warnings
    • Fix force unwraps in appdeleagte
    • Fix finicky tvOS schemes
    • Fix whole/single compilation for rel/arch targets
    • Mednafen, proper ELOG in swift
    • Mednafen remove dead file ref
    • RxSwift fix some threading issues
    • Fix GL_SILENCE_DEPRECATION=1
    • Fix PS2 stealing PS1 bios
    • Fix gamecub stealing n64 roms
    • add nintendo DS enums
    • Replace QuickTableViewController SPM with source
    • PicoDrive fix naming
    • altkit not in catalyst
    • Remove reicast from build
    • Fix catalyst and other build tweaks

    Updated

    • Jaguar core upstream & custom performance hacks
    • Mupen/GlideN64/Rice... updated to latest upstream
    • All SPM packages to upstream

    Removed

    • Delete Romefile
    • dolphini remove used parent project
    Source code(tar.gz)
    Source code(zip)
    Provenance-iOS.ipa(36.65 MB)
    Provenance-tvOS.ipa(34.37 MB)
  • 2.0.2(Sep 14, 2021)

    More Bug fixes mostly.

    Added

    • XCode will detect missing git submodules and auto-clone recursive before building the rest of the project

    Fixed

    • #1586 Running same core twice in a row would crash
    • #1593 Cheat codes menu crash fixes and other cheat code quality improvements

    Updated

    • #1564 SteamController native SPM package port
    • Jaguar core updated with libretro upstream + my performance hacks. PR made https://github.com/libretro/virtualjaguar-libretro/pull/53#issuecomment-919242560
    • Fix many static analyzer warnings about possible nil pointer/un-malloc'd memory usage, now we check and log nils or early exit where applicable
    • SQLite.swift updated
    • RxRealm updated from 5.0.2 to 5.0.3
    • realm-cocoa updated from 10.14.0 to 10.15.0
    Source code(tar.gz)
    Source code(zip)
    Provenance-iOS.ipa(32.80 MB)
    Provenance-tvOS.ipa(33.10 MB)
  • 2.0.1(Sep 9, 2021)

    [2.0.1] - 2021-09-09

    Bug fixes mostly. Special thanks to contributors on this release; 👉 @mrjschulte 👉 @dnicolson 👉 @cheif

    Updated

    • #1545 Update Mednafen to 1.27.1 (Changelog)
    • #1587 Clarify Refresh Game Library Ui Dialog text
    • TGBDual updated to latest upstream 1e0c4f931d8c5e859e6d3255d67247d7a2987434

    Fixed

    • #1555 VirtualBoy crash on open
    • #1559 Mednafen build error on tvOS
    • #1583 NSLogger build issues on tvOS
    • #1584 TvOS Release does NOT build due to 'searchController' is unavailable in tvOS
    • #1585 Module 'AltKit' not found
    • #1550 Provenance for Apple TV adds "private" part to "partialPath" in PVFile
    • #1551 #1575 Fix missing roms on rescan
    • #1556 Fix VirtualBoy Crash
    • #1568 On screen buttons do not work with mednafen core
    Source code(tar.gz)
    Source code(zip)
    Provenance-tvOS.ipa(33.09 MB)
    Provenance.ipa(32.80 MB)
  • 2.0.0(Aug 3, 2021)

    Special thanks and shout-outs to @braindx, @error404-na, @zydeco, @mrjschulte, @yoshisuga, @sevdestruct, the Mupen team, and additional contributors.

    AltStore Release Add our new AltStore source: https://provenance-emu.com/apps.json

    N64 Release! with Mupen64Plus + GlideN64 — a non-jailbreak emulation first. A lot in this update: Swift codebase conversion, Atari Jaguar support, Saturn, Dreamcast…full multi-disc support for all of you RPG fans out there, dark theme default, 60 FPS optimizations, core updates, new touch controls, iOS 12, iPhone X, WebDAV support and much more…

    ⚠️ Breaking ⚠️

    2.0 does not support upgrading from 1.4 libraries. It MAY work with some versions of 1.5beta's but not all betas are the same. Your mileage may vary. For this reason we're updating the version to 2, to indicate the lack of upgrade path.

    ℹ️ You can install 2.0 along side 1.x by using a different bundle id

    Added

    New Cores

    • N64 Core: Mupen64Plus
      • GlideN64 Preview (only non-jailbreak app to do this)
      • High-Resolution Texture Support
        • Gliden64 & Rice
      • 4 players
      • Rumble support
    • Sega Saturn Core: Mednafen
    • Atari Jaguar Core: Virtual Jaguar custom Alpha ** Note: requires additional steps for BIOS, very unstable **
    • Sege Dreamcast Core: Reicast custom Alpha ** Note: Unplayable, sync issues. For dev testing only **
    • [Additional] Nintendo GameBoy Core: TGBDual Beta

    New Features

    • Multi-disc Support (disc-swapping)
    • iOS 11-15 Support Including Smart Invert Support so cover art and emulator view won't invert
    • iPhone X Support Full-screen Support, Home Indicator: Hides with controller, Dims while playing
    • MFi+ (Instant Button Swap Modes) to access to missing buttons on MFi Controllers (MFi Controls)
    • iCloud Syncing for Save States and Battery Saves Beta
    • New Dark Theme Default
    • Timed Auto Saves (default: every 10 minutes)
    • Game Info View & Game Info Preview View (on 3D Touch)
      • Extended editable ROM meta data (Customizing ROMs) cover art, title, description, genre, release date, publisher, play history…
      • Single ROM Browsing (swipe left/right)
      • Links to Game Manuals
    • Share Button
      • Export ROM, Saves, Screenshot and custom artwork
    • WebDAV Support (access from the Finder or other WebDAV clients)
    • Optional Touch/Overlay Controls Additions:
      • Start/Select Always On-screen (for MFi usage with iOS)
      • All-Right Shoulders (moves L1, L2, and Z to right side)
    • Save/Load Save States View with Screenshots
    • Add ROM to Home Screen (like web apps from Safari)
    • Native resolution support
      • Optional: Renders OpenGL at native retina sizes
      • Some cores support internal up-scaling (Mupen)
    • System details in settings
      • Lists supported cores, library info
      • List required BIOS's if they're installed and easy copy MD5 to the clipboard by tapping for easier Google searches
    • Improved volume HUD
    • Enhanced build information
      • In settings, see info about the installed build (version and build #, built source, date and more)
    • In-app logs
      • In settings, view the logging output to help track down bugs. Export and e-mail.
    • GameBoy multi-player via: TGB Dual

    Changed

    Core Updates

    App Improvements

    • 60 FPS Rendering & Performance Optimizations
    • Controller Improvements:
      • Consistent Cross-System MFi Button Mappings (MFi Controls]
      • New iCade Support Additions
      • Steam Controller Bluetooh LE Mode support
      • Rumble support (N64, PokeMini)
    • Touch/Overlay Controls:
      • New minimal, and less obstructive controller theme default (preview 1.5 edition as a teaser for UI 2.0's Overlay Overhaul project)
      • Improved button styles
      • Improved layout and ergonomics (start, select, shoulders within reach)
      • Extended controls to include L2, R2
      • Visual Feedback
      • Button Color Tinting (Optional)
    • Game Importer Improvements:
      • Conflict Resolution
      • Better ROM Matching
      • Imports combined 'roms' and 'cover art' directories into one universal drop directory
    • Game Library Improvements
      • Side Scrolling Collection Views:
        • Recent Saves with Screenshots
        • Recently Played
        • Favorites
      • Library Sorting
      • Cover Badges (New/Unplayed, Favorite, Disc Count, Missing ROM)
      • Swipe to Delete
    • 3D Touch

    New Controllers

    • Steam Controller
    • 2018.Q4+ MFi Controllers (supporting R3/L3) (Controllers)

    Behind the Scenes:

    • Conversion to Swift codebase
    • Dynamic Core Loading
    • Extended ROM metadata
    • Extended System metadata
    • Full Codable support for games, saves, library etc, models

    Bugfixes

    • Fixed Atari 5200 screen clipping
    • Fixed iPhone X margins
    • PC Engine CD Support restored
    • and more…

    Etc…

    • New Icon!
    Source code(tar.gz)
    Source code(zip)
    Provenance-iOS.ipa(32.47 MB)
    Provenance-tvOS.ipa(38.14 MB)
  • 1.4(Mar 13, 2018)

    Prebuilt IPA for Provenance 1.4 on iOS & tvOS. Install with Cydia Impactor or some other re-signing tool.

    New Features:

    • PlayStation core
    • Pokémon mini core
    • Virtual Boy core
    • Atari 7800 & Lynx core
    • Neo Geo Pocket / Neo Geo Pocket Color core
    • PC Engine / TurboGrafx-16 (CD) core
    • SuperGrafx core
    • PC-FX core
    • WonderSwan core
    • CRT Shader

    Improvements

    • Importer improvements (MD5 matching and performance improvements)

    Huge thanks to @JoeMatt, @leolobato, @braindx and everyone else who contributed.

    Source code(tar.gz)
    Source code(zip)
    Provenance-Release-1.4.ipa(22.11 MB)
    ProvenanceTV-Release-1.4.ipa(22.89 MB)
  • 1.3.2(Feb 12, 2017)

Owner
Provenance Emu
The team that builds Provenance Emulator and related projects.
Provenance Emu
General repository for all software (emulators, dev tools, etc) related to Vircon32 but not running on console itself

Vircon32: Computer software This is a general repository containing source code related to Vircon32 implementation, this is, software that does NOT ru

Vircon32 5 Jun 14, 2022
Writing a basic compiler frontend following LLVM's tutorial, with complete added supports Hindi and UTF-8 in general

सारस | SARAS Started with following LLVM's tutorial In development, a hobby project only JIT is broken right now, 'jit' branch par code hai uska Compi

Aditya Gupta 4 May 1, 2022
Deluxe68 - A simple register allocator frontend for 68k assembly

Deluxe68 Deluxe68 is a simple (stupid) register allocator frontend for 68k assembly. It is a source to source translator, so you'll need your regular

Andreas Fredriksson 33 Nov 4, 2021
A single header C++ wasm frontend library leveraging Emscripten

Livid Livid is a single header C++ wasm frontend library leveraging Emscripten. Usage The code looks something like this: #include "livid/livid.hpp" #

Mohammed Alyousef 16 Jun 22, 2022
image_projection is a ROS package to create various projections from multiple calibrated cameras.

image_projection Overview image_projection is a ROS package to create various projections from multiple calibrated cameras. Use cases involve: Rectify

Technische Universität Darmstadt ROS Packages 104 Jun 23, 2022
Allows for multiple SwitchBot buttons and curtains to be controlled via MQTT sent to ESP32. ESP32 will send BLE commands to switchbots and return MQTT responses to the broker. Also supports Meter/Temp Sensor

SwitchBot-MQTT-BLE-ESP32 Switchbot local control using ESP32. no switchbot hub used/required. works with any smarthub that supports MQTT https://githu

null 239 Jun 17, 2022
Samir Teymurov 1 Oct 6, 2021
Fast and Accurate Extrinsic Calibration for Multiple LiDARs and Cameras

Fast and Accurate Extrinsic Calibration for Multiple LiDARs and Cameras The pre-print version of our paper is available here. The pre-release code has

HKU-Mars-Lab 186 Jun 24, 2022
Simple, cross-platform library to handle multiple mice.

ManyMouse ManyMouse's website is https://icculus.org/manymouse/ This is a simple library to abstract away the reading of multiple input devices. It is

Ryan C. Gordon 22 Jun 19, 2022
Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.

The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text. Diff: Compare two blocks o

Google 5.4k Jun 27, 2022
Multiple payloads for the digispark digistump AVR boards.

Multiple payloads for the digispark digistump AVR boards. Some are translated from RubberDucky and some are original..

null 5 Apr 1, 2022
This repo contains source code of our paper presented in IROS2021 "Single-Shot is Enough: Panoramic Infrastructure Based Calibration of Multiple Cameras and 3D LiDARs"

Single-Shot is Enough: Panoramic Infrastructure Based Calibration of Multiple Cameras and 3D LiDARs Updates [2021/09/01] first commit, source code of

Alibaba 57 Jun 21, 2022
A collection of tools for Multiple Alignments of DNA, RNA, Protein Sequence

T-Coffee T-Coffee is a collection of tools for Computing, Evaluating and Manipulating Multiple Alignments of DNA, RNA, Protein Sequences and Structure

Notredame Lab 67 May 26, 2022
🗺️ OMAPS.APP — Offline OpenStreetMap maps for iOS and Android. A community-driven fork of MAPS.ME.

OMaps is an open source cross-platform offline maps application, built on top of crowd-sourced OpenStreetMap data. It was publicly released for iOS and Android.

OMaps 3.5k Jun 26, 2022
Disable OTA Update for iOS & iPadOS for 14 - 14.3 (Non Jailbreak devices)

OTADisabler-App Disable OTA Update for iOS & iPadOS for 14 - 14.3 (Non Jailbreak devices) Support Devices iOS 14.0-14.3 (confirmed on iOS 14.1 and abo

ichitaso 24 Jun 15, 2022
8.4.1 untether (for 32-bit iOS)

daibutsu 8.4.1 untether (for 32-bit iOS) exploit A dyld exploit that overrides the MISValidateSignature in libmis.dylib (CVE-2015-7079) OSUnserialize

dora2ios 40 Apr 28, 2022
A cross-platform (Android/iOS/Windows/macOS) cronet plugin for Flutter via `dart:ffi`

cronet_flutter A cross-platform (Android/iOS/Windows/macOS) cronet plugin for Flutter via dart:ffi

null 20 Jun 15, 2022
On-device signing utility for iOS

ReProvision Reborn Re-sign applications on your device. This project aims at making it easier to (re-)sign iOS and Apple Watch applications on a jailb

Soh Satoh 58 Jun 4, 2022
A little experiment to have multicore OCaml with effects on iOS. In particular the GCD backend for eio.

Effects on iOS Very WIP & Experimental Overview A little experiment to have multicore OCaml with effects on iOS (currently just the simulator). In par

Patrick Ferris 11 May 11, 2022