C++ Emulation

Open-source C++ projects categorized as Emulation | Edit details
Related topics: #Emulator #CPP #C++ #Arm #Wii

Top 23 C++ Emulation Projects

  • GitHub repo yuzu

    Nintendo Switch Emulator

    Project mention: Cemu Emulator Plans For 2022 With Going Open-Source, Aiming For Linux Support | reddit.com/r/linux_gaming | 2022-01-15

    yuzu is already non-proprietary software.

  • GitHub repo dolphin

    Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.

    Project mention: what does this mean and how do i fix it? | reddit.com/r/DolphinEmulator | 2022-01-17

    Update dolphin to the latest beta version at https://dolphin-emu.org

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • GitHub repo citra

    A Nintendo 3DS Emulator

    Project mention: Unofficial Citra (Nintendo 3DS Emulator) Fork Released: Citra Enhanced | reddit.com/r/emulation | 2021-12-29

    The other idea that comes into mind, is that they were probably begged to shit about this, by armies of not so reasonable laypeople - and maybe the people here are starting to catch on that that's probably not peak human behavior. They are also very clearly aware of the demand, and still decided to not implement one. Asking, begging, pulling a Walmart tantrum, etc. isn't gonna get it done sooner either, if at all.

  • GitHub repo pcsx2

    PCSX2 - The Playstation 2 Emulator

    Project mention: Hey, so I have a ROG Strix laptop, what can I emulate? | reddit.com/r/EmulationOnPC | 2022-01-20

    or: https://github.com/PCSX2/pcsx2/releases

  • GitHub repo xenia

    Xbox 360 Emulator Research Project

    Project mention: Viva Pinata: Trouble in Paradise Gameplay on Xenia | reddit.com/r/VivaPinata | 2022-01-18

    You could try running on the Canary branch and see if you get better performance.

  • GitHub repo skyline

    Run Nintendo Switch homebrew & games on your Android device!

    Project mention: Skyline (Nintendo Switch) project update | reddit.com/r/EmulationOnAndroid | 2022-01-18

    Hey there, in case you've missed it. Skyline now runs Sonic Mania (and Celeste soon) on builds from the ftx1 branch. They aren't playable just yet due to lacking crucial optimizations but will be in the coming months.

  • GitHub repo Cxbx-Reloaded

    Xbox (Original) Emulator

    Project mention: No more Xbox backward compatible games planned due to legal and technical constraints | reddit.com/r/emulation | 2021-11-16

    or Cxbx Reloaded: https://cxbx-reloaded.co.uk/

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo Vita3K

    Experimental PlayStation Vita emulator

    Project mention: One of the biggest reasons why I love Android | reddit.com/r/EmulationOnAndroid | 2021-12-05

    Unfortunately that's not even a reality on PC yet... I mean Vita3K exists but it only play about 5 percent of the Vita's library without any major bugs. Although I do hope we could get one on android one day.

  • GitHub repo Play-

    Play! - PlayStation 2 Emulator

    Project mention: Shin Megami Tensei Digital Devil Saga appeared on PKGj, has anyone tried it? | reddit.com/r/VitaPiracy | 2022-01-21

    Outside of using an actual PS3, PS2, or PS2 emulation I am not sure how else you could get it to run. There is a PCSX2 RetroArch core now that may or may not work better then the standalone PCSX2. There is also Play!

  • GitHub repo ViGEmBus

    Windows kernel-mode driver emulating well-known USB game controllers.

    Project mention: Stadia controller to Xbox/Xinput or to Dualshock (PSNow) tools | reddit.com/r/Stadia | 2022-01-20

    ViGEmBus https://github.com/ViGEm/ViGEmBus

  • GitHub repo bsnes

    bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.

    Project mention: It's time to talk about ares (multi-system emulator) | reddit.com/r/emulation | 2021-10-14

    bsnes has accuracy options so you don't have to recompile it to change the renderer (fast ppu on or off). If you use the latest nightly from here it's had backports from ares, so the emulation should be on par. The libretro core is up to date with that repo too.

  • GitHub repo EKA2L1

    An experimental Symbian OS emulator

    Project mention: What is the state of the Nokia N-Gage emulation? | reddit.com/r/emulation | 2022-01-20
  • GitHub repo CEmu

    Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features

    Project mention: CEMU: Made an image of my TI-84 Plus CE Python, but after loading it's missing applications | reddit.com/r/ti84hacks | 2022-01-19

    The main branch of CEmu does not bring over any user data. There's a USB branch which will let you send apps and programs as if there were a USB port connected to it. You'll have to build it yourself but I'm pretty sure it's this branch: https://github.com/CE-Programming/CEmu/tree/feature/libusb

  • GitHub repo dynarmic

    An ARM dynamic recompiler.

    Project mention: Ryujinx - Progress Report July 2021 | reddit.com/r/emulation | 2021-08-11

    I did some work on Dynarmic, so there's my bias I guess. But I def believe Dynarmic would emit better context-aware assembly than a CIL->Native jitteror the JVM would emit. Dynarmic takes advantage of instruction sets like BMI2 and AVX{2,512} and uses a pretty darn concise intermediate representation to the original ARM assembly to emit efficient x86 while a C# JIT probably still only emits baseline x86-64 and struggles with efficient vectorization of things like Arm's NEON instructions. Can't even imagine a C# or Java VM trying to automatically emit optimal assembly for an FMADD including handling NaN propagation or detecting that FMINNM can be very quickly emulated with a single vrangep{s,d} x86 instruction.

  • GitHub repo amiberry

    Optimized Amiga emulator for the Raspberry Pi and other ARM boards

    Project mention: Amiga Pi keyboard remapping | reddit.com/r/amiga | 2021-12-25
  • GitHub repo SkyFire_548

    SkyFireEMU is a full featured World of Warcraft: Mists of Pandaria emulator written in C++. || Compatible with World of Warcraft client 5.4.8 (Build: 18414) Project Established in 2011 || Support on Discord https://discord.gg/DnKZycD

    Project mention: Present state of emulation? | reddit.com/r/wowservers | 2021-10-16

    skyfire - 5.4.8

  • GitHub repo dolphin

    Dolphin is a GameCube / Wii emulator. (by weihuoya)

    Project mention: How do I fix this gray square covering 1/4 the screen? It only happens when playing Mario kart Wii | reddit.com/r/EmulationOnAndroid | 2021-09-17

    MMJ is a modified version that has better performance than stock Dolphin. You can download it here : https://github.com/weihuoya/dolphin/releases

  • GitHub repo bsnes-plus

    debug-oriented fork of bsnes (by devinacker)

    Project mention: SNES ROM - Remove watermark from slideshow made with Lion's Slideshow Creator | reddit.com/r/romhacking | 2021-11-16

    I ran his example rom in bsnes plus, a snes emulator with debugging features.

  • GitHub repo xenia-canary

    Xbox 360 Emulator Research Project

    Project mention: midnight club LA on pc? | reddit.com/r/midnightclub | 2021-10-25

    my recommendation is try the Xenia-Canary build; they seem to run a lot better than the stable releases, but ofc with each passing update its likely the performance has merged

  • GitHub repo nsfplay

    Nintendo NES sound file NSF music player

    Project mention: Sound of the 2C33: The Famicom Disk System | news.ycombinator.com | 2021-11-13

    To elaborate on how frequency modulation "gives the triangle wave a grittier sound", FDS's FM and Yamaha's phase modulation produce sidebands, or extra frequencies, at (harmonic * carrier frequency ± n * modulator frequency). The intensity of each sideband is proportional to FFT(carrier)[harmonic] * f(n) (for some odd f involving Bessel functions and FFT(modulator), which is zero for large |n|, and the number of nonzero n increases as the modulation index increases). In this case, the modulator frequency isn't a small rational factor of the carrier frequency, creating gritty inharmonic sidebands.

    As an example of FDS FM, you can look at this video (https://www.youtube.com/watch?v=Tgu1mCBU2vA) describing FM emulation errors in older versions of FamiTracker, and how some chiptune songs are incompatible with the more accurate emulation core I imported into Dn-FamiTracker.

    FDS FM is the chip's defining characteristic in modern chiptune, though it was sadly barely explored by official games in the console's original lifespan (aside from being used as vibrato). The only game I currently know which used FM at audible frequencies was Bio Miracle Bokutte Upa (https://www.youtube.com/watch?v=_alQrPMNBT0), which also required cycle-accurate console emulation and would otherwise degrade into inharmonic chaos (like the "FM emulation errors" video above). Unlike regular FM on Yamaha sound chips, the FDS allows you to use complex carrier wavetables. Combined with how the modulator is naturally slightly detuned from the carrier (due to hardware rounding errors), this results in growling evolving sounds as the waveform stretches and squeezes in the time domain, and harmonics and sidebands beat in and out of phase in the frequency domain.

    Strangely, the FDS's modulator doesn't draw from an array of samples like the carrier waveform, but instead an array of 3-bit delta values (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Mod...) representing adding [+0, +1, +2, +4, reset=0, -4, -2, -1] (modulo [-64..64)) to the current modulator amplitude. This means you have to design modulator tables carefully, or else the carrier frequency will have a net offset (as above) or even drift endlessly until it wraps around. Interestingly, FamiTracker shows the mod table as only having 32 elements (compared to the wavetable's 64 elements), and the nesdev wiki (https://wiki.nesdev.org/w/index.php/FDS_audio#Mod_table_writ...) describes the mod table as having 32 elements. This conflicts with how Mesen (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Mod...), cxNES (https://github.com/perilsensitive/cxnes/blob/master/boards/a...), and nsfplay (https://github.com/bbbradsmith/nsfplay/blob/master/xgm/devic...) implement the mod table as a 64-element array where you can only write to 2 adjacent elements at a time. I'm not sure which is accurate, as I don't have hardware on hand to test.

    Then on each sample (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Mod...), the modulator amplitude is multiplied by the modulation strength (dropping a few lower bits and rounding oddly), clamped between [-64..192) (asymmetrical for some reason), and then used to change the carrier's instantaneous frequency by 0x through 4x (https://github.com/NovaSquirrel/Mesen-X/blob/master/Core/Fds...).

  • GitHub repo ArduinoFloppyDiskReader

    Arduino Amiga Floppy Disk Reader/Writer - Hardware and software interface for accessing Amiga disks (read/write ADF and SCP) on non-Amiga hardware

    Project mention: How to read and write amiga floppy disks on a usb pc floppy drive? | reddit.com/r/amiga | 2021-11-22
  • GitHub repo llvm8

    Statically recompiling CHIP8 to Windows and macOS using LLVM

    Project mention: llvm8: Statically recompiling CHIP8 to Windows and macOS using LLVM | reddit.com/r/EmuDev | 2021-02-23
  • GitHub repo dingusppc

    An experimental emulator

    Project mention: Mac the Knife | reddit.com/r/emulation | 2021-05-18

    Probably the closest PCem-inspired mac emulator is DingusPPC, but like the name says, it's PPC...

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-21.

C++ Emulation related posts

Index

What are some of the best open-source Emulation projects in C++? This list will help you:

Project Stars
1 yuzu 17,652
2 dolphin 8,110
3 citra 7,077
4 pcsx2 5,978
5 xenia 5,500
6 skyline 2,843
7 Cxbx-Reloaded 1,763
8 Vita3K 1,721
9 Play- 1,472
10 ViGEmBus 1,151
11 bsnes 1,064
12 EKA2L1 803
13 CEmu 681
14 dynarmic 591
15 amiberry 408
16 SkyFire_548 370
17 dolphin 285
18 bsnes-plus 241
19 xenia-canary 218
20 nsfplay 182
21 ArduinoFloppyDiskReader 164
22 llvm8 78
23 dingusppc 77
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.
github.com/nanovms