Git Product home page Git Product logo

provenance-emu / provenance Goto Github PK

View Code? Open in Web Editor NEW
5.6K 233.0 671.0 936.6 MB

iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |

Home Page: https://provenance-emu.com

License: Other

Objective-C 1.93% Objective-C++ 1.23% C++ 49.32% C 43.61% Python 0.06% Makefile 1.03% Lua 0.25% Scheme 0.01% Module Management System 0.01% CSS 0.01% HTML 0.40% JavaScript 0.04% Shell 0.86% Assembly 0.63% PHP 0.01% CMake 0.38% DIGITAL Command Language 0.01% Batchfile 0.01% Roff 0.23% Ruby 0.01%
ios emulator retrogaming nintendo tvos genesis snes nes gameboy atari

provenance's Introduction

An iOS & tvOS Frontend for Multiple Emulators

GitHub all releases
GitHub top language GitHub code size in bytes Lines of code GitHub commit activity

Open Collective backers and sponsors GitHub Sponsors

Alt

Release Roadmap

GitHub Release GitHub Release Date Github commits (since latest release) GitHub milestone GitHub last commit

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

Issues

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

Community

Discord Widget Twitch Status Twitter Follow YouTube Channel Subscribers

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

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:

  • Apple

    • Macintosh
  • Atari

    • 2600
    • 5200
    • 7800
    • Lynx
    • Jaguar
    • ST
  • Bandai

    • WonderSwan / WonderSwan Color
  • GCE

    • Vectrex
  • IBM

    • PC DOS
  • Magnavox

    • Odyssey²
  • Microsoft

    • MSX
    • MSX2
  • NEC

    • PC Engine / TurboGrafx-16 (PCE/TG16)
    • PC Engine Super CD-ROM² System / TurboGrafx-CD
    • PC Engine SuperGrafx
    • PC-FX
  • Nintendo

    • DS
    • Famicom Disk System
    • Game Boy / Game Boy Color (GB/GBC)
    • Game Boy Advance (GBA)
    • Nintendo 64 (N64)
    • Nintendo Entertainment System / Famicom (NES/FC)
    • Pokémon mini
    • Super Nintendo Entertainment System / Super Famicom (SNES/SFC)
    • Virtual Boy
  • Panasonic

    • 3DO
  • Sega

    • 32X
    • CD / MegaCD
    • Game Gear
    • Genesis / Mega Drive
    • Master System
    • Saturn (mednafen)
    • SG-1000
  • Sinclair Research

    • ZX Spectrum
  • SNK

    • Neo Geo Pocket / Neo Geo Pocket Color
  • Sony

    • PlayStation (PSX/PS1)
    • PSP (ppsspp)
  • Watara

    • Supervision

Systems in Development:

  • Nintendo
    • GameCube (Dolphin)
  • Sega
    • Dreamcast (Flycast)
  • Sony
    • PS2 (Play!)

Upstream projects

Provenance would be nothing without these projects. Please consider supporting those you love or want to see improved!

Cores

Cores in Testing / Development

Additinal Code

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
  • Cheat code 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 13+ (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)
  • macOS
    • Native Catalyst support with Swift UI
  • 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.

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: bug fixing, 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.


Attributions

Provenance would not be possible without the great work of those who came before us and the ongoing development 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

jasarien
James Addyman
JoeMatt
Joe Mattiello
sevdestruct
Sev
mrjschulte
MrJs

Contributors

JoeMatt
Joe Mattiello
jasarien
James Addyman
sevdestruct
Sev
dnicolson
Dave Nicolson
mrjschulte
MrJs
cheif
Dan Berglund
ToddLa
Todd Laney
braindx
Jay Mattis
marcelvoss
Marcel Voss
josejulio
Josejulio Martínez
ac90b671
Max Rahm
rafcabezas
Raf Cabezas
leolobato
Leo Lobato
willco007
Will Cosgrove
apexad
Alex Martin
error404-na
Error404-na
zydeco
Jesús A. Álvarez
DanielFontes
Daniel Fontes
stuartjmoore
Stuart Moore
yoshisuga
Yoshisuga
cplr
Cplr
SteveBarnegren
Steve Barnegren
jabwd
Antwan Van Houdt
james-richards-privitar
James Richards
drakkhen
Drakkhen
nenge123
Nenge123
thales17
Adam Richardson
ianclawson
Ian Clawson
stefz
Stefano Zanetti
thedrick
Tyler Hedrick
rf2222222
Richard

Sponsors

Bots


Provenance License

Copyright © 2021, 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.

provenance's People

Contributors

ac90b671 avatar apexad avatar braindx avatar cheif avatar cplr avatar danielfontes avatar dnicolson avatar drakkhen avatar entourloop avatar error404-na avatar ianclawson avatar jabwd avatar james-richards-privitar avatar jasarien avatar joematt avatar leolobato avatar marcelvoss avatar mrjschulte avatar nenge123 avatar rafcabezas avatar sevdestruct avatar stefz avatar stevebarnegren avatar stuartjmoore avatar thalter avatar thedrick avatar toddla avatar willco007 avatar yoshisuga avatar zydeco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

provenance's Issues

NES Support

Do you have any plans of adding NES emulation to Provenance?

Distorted sound on Genesis titles

This one is a little bit difficult to describe. Although the music often sounds correct from time to time the music is distorted. I noticed this on various titles (Sonic 1 for example or Columns). If you listen carefully you should recognize what I mean - especially compared to the original console or other emulators.

Emulator resumes emulation after foregrounding

If emulation is paused (different to in-game pausing) and the app is backgrounded, emulation resumes on foregrounding without the user telling it to. An example of this bug is when the emulation is paused when the Menu is displayed. When you return to the app, the Menu is still displayed but emulation resumes.

Feature Request

Cores:
Game Boy Advance
Game Boy Color + Game Boy
Nintendo 64
Nintendo Entertainment System
Play Station
Play Station Portable
Nintendo DS

Features:
Fast Forward support in game
Cheat Codes download them from google?
Drop Box to back up save files and import roms
Better organization like ibooks be able to move games around
Delta App updates in the future for bug fixes, easier to update app without App Store
Move Controllers, make them scalable
Stretch game screen or make it native resolution
iOS7 Game Pad Controller support + bluetooth controllers
Skin controllers?

Enhanced customizability for controllers

Saw a couple of these in the beta page so I'm just going to list them.

  1. Custom controller skins (ones we can create and install ourselves)
  2. Include a selection of controllers that we can change.
  3. Add more buttons to Sega Genesis controller for certain games like Mortal Kombat.
    • Suggested in beta but not sure if even possible?
  4. Resizing option for current controller buttons and dpad.

App crashes with uppercase file extensions

Steps to reproduce: Add a ROM named filename.EXT and Provenance crashes immediately/on every startup. Add the very same file renamed to filename.ext and everything works fine.

Sega Dreamcast

Is it possible to add Sega Dreamcast support to Provenance?

Emulation runs too quickly after being backgrounded

Not sure on the exact cause of this one, but it seems to be related to the emulator not being paused when the app is backgrounded.

When the app resumes, the emulator runs as fast as it can until it catches up with the time it spent being suspended.

Aspect ratio option for 4" and up displays.

Users on 4" devices and up could definitely benefit from a "full screen" option in Settings. Natively not all games were made in a 16x9 aspect ratio, but many of us - me included - have grown used to a 'stretching' technique used in other emulators. I believe MAME4iOS uses this in-setting and GBA4iOS has this feature enabled depending if the skin includes the aspect ratio key.

Resolution flickering (SNES)

When playing Secret of Mana 2 (Seiken Densetsu 3) on Provenance, the screen changes the resolution of the game randomly each time a text box opens or closes, making the game almost unplayable.
I'm playing on an iPad Mini with iOS 8.1. Other games work fine.

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?

NES Compatible

Can you add NES game compatibility? It would need portrait mode like this SNES emulator has:

https://github.com/lmmenge/MeSNEmu

Thanks for your excellent software

Here is an idea. However the SNES interface is better as the controller is bigger as well as the buttons. This image the controller is a bit small.

af6789ac-60fd-11e4-9a20-e7e4b5e32bf4

How to play SMS and GG

Hi, thanks for the emulator. Sorry if this is a silly question, but how can I add SMS or GG games to Provenance Library? I'm using iOS 7.0 version.

ROM Collections

Split the games list into different lists by system, and allow custom lists for user-selected favourite games, etc

Provenance stopped working

I don't understand what and how it happened but just yesterday I went to fire up the emulator on my iPhone and it immediately quit out everytime. Only Rom I had on it was sonic 3 & knuckles which worked no problems before that. I uninstalled and tried to reinstall it thinking it might just be a weird bug, now it will not install at all. Can't figure out what the issue is.

Full external sound support

I'm aware we can already listen to our music playing by simply swiping up Control Center and tapping 'play.' We can even send Provenance to the background as we change songs in the Music app and come back. However, every time a new game is started, the music fades as the in-game sound plays.

A full external sound option would be where you can start any game you like while your music is playing and it continues on. If the music is off, it would default to using the in-game music. I guess I'm just asking for a more enhanced experience between the game and our music. Perhaps, if even possible, an option where we could adjust in-game sound and music to play together; not completely necessary of course.

Open in Safari

iOS 7.1.2 iPhone 5, everytime I click open in safari nothing happens, could be because I am jailbroken,

Custom Cover Art

Allow assigning custom images to be used as artwork in the game library

Please bring back Portrait Mode

Hello, thanks for all your efforts on this project. It is appreciated.

Please bring back portrait mode. Here are some examples of portrait modes that can work (have enough space for the controller and the buttons)

snes-emulator

img_0292

img_8011

img_8020

af6789ac-60fd-11e4-9a20-e7e4b5e32bf4

Menu Selection Rotation

Reported by Ryan Paulley in the beta page.

It isn't so much a bug but a consistency issue. When the menu selection is open, it is able to rotate to all angles of the device - including portrait - even though the game screen can only rotate in landscape.
original

Add an Disable FM chip option in favor of classic music

There something there on Sega Mark III (formerly known as Master System) that is found only in Japanese version that is a Yamaha YM2413 FM synthesis chip, and is some of us will be happy if we could disable it in favor of Classic tonal music. Thank you!

Vibration on button press

Adding an option to have buttons vibrate on press would give an (admittedly small) element of tactile feedback - one of the huge issues with virtual buttons.

Other emulators (like GBA4ios) have buttons that vibrate, which (in my opinion) greatly helps the experience.

Custom Controller Skins

As previously mentioned, custom controller skins à la GBA4iOS would be quite nice for Provenance in the future. If a 'portrait' mode is to ever come, I can only think of the possibilities for these since they wouldn't just be reliant on the opacity setting.

Flickering with some SNES titles

I noticed some games have both flickering menus and text boxes rendering them almost unplayable (occured with Secret of Mana and Zelda - A Link to the past). Does this happen on your devices, too? (Here: iPhone 6/iOS 8/latest Provenance).

Funfact: I tried to record the flickering with Yosemite's new iOS capturing, but the flickering stops while being captured.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.