For a guide for building a game emulator, the first results are floooh/chips (floooh/chips provides standalone C header libraries for emulating 8-bit chips and systems, making it a modular toolkit for building retro emulators, though it focuses on lower-level components rather than a full frontend or debugging suite), baron-von-riedesel/vsbhda (This repository is a specific Sound Blaster emulation component for modern audio hardware — a narrow building block you might integrate into an emulator, not a framework for building emulators for retro consoles or systems) and crazii/sbemu (This is a specific sound card emulator for DOS, not a general-purpose framework or library for building retro system emulators—it lacks the CPU, memory, and GPU emulation tools the search requires). mgba-emu/mgba and 86box/86box round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “emulator development”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Chips is a modular, header-only C library framework designed for building cycle-accurate hardware simulators and replicating historical eight-bit computing architectures. It provides the foundational components necessary to construct complete vintage systems by integrating individual emulated microprocessors and peripheral chips. The framework distinguishes itself through a component-based architecture where hardware modules are implemented as standalone headers that can be wired together to form complex systems. It models hardware interactions at a low level, utilizing pin-level signal emula
floooh/chips provides standalone C header libraries for emulating 8-bit chips and systems, making it a modular toolkit for building retro emulators, though it focuses on lower-level components rather than a full frontend or debugging suite.
Sound blaster emulation for HDA (and AC97/SBLive); a fork of crazii's SBEMU: https://github.com/crazii/SBEMU
This repository is a specific Sound Blaster emulation component for modern audio hardware — a narrow building block you might integrate into an emulator, not a framework for building emulators for retro consoles or systems.
Emulate Sound Blaster and OPL3 in pure DOS using modern PCI-based (onboard and add-in card) sound cards.
This is a specific sound card emulator for DOS, not a general-purpose framework or library for building retro system emulators—it lacks the CPU, memory, and GPU emulation tools the search requires.
mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on modern computers. It serves as a scriptable emulation environment that allows for the execution of portable hardware software and the simulation of associated peripherals. The project distinguishes itself through its focus on technical analysis, providing a suite of tools for retro game debugging and game logic inspection. It includes a host-client debug protocol that enables external debugger connectivity via TCP socket communication and an event-driven scripting engine for
mGBA is a finished Game Boy Advance emulator with debugging tools, not a library or framework you would use to build your own emulators for other systems—it runs existing ROMs rather than providing the CPU, GPU, and memory-mapping primitives for new emulator development.
86Box is a low-level x86 hardware emulator and vintage PC simulator designed to replicate early IBM PC compatibles. It provides virtualized environments for executing legacy operating systems, such as MS-DOS and early versions of Windows, by simulating processors and system designs ranging from the 8086 through the Pentium era. The project distinguishes itself through cycle-accurate processor simulation and high-fidelity hardware emulation. This includes the ability to route retro MIDI audio data to emulated hardware modules or external synthesizers to achieve authentic audio playback from le
86Box is a complete emulator for vintage x86 PC hardware, not a framework or library designed to help build emulators for other systems, which is what this search is aiming for.
Bitwise is a computer architecture education kit and a comprehensive set of guides for building a custom CPU, operating system, and compiler from scratch. It serves as a CPU design tutorial and a practical framework for implementing a unique instruction set architecture. The project provides a custom instruction set architecture toolchain, including resources for creating a matching assembler and compiler. It further includes a hardware development guide for synthesizing computer components and peripheral controllers for deployment on programmable logic devices and FPGAs. The kit covers full
Bitwise is a computer architecture education kit for building a custom CPU and OS from scratch, not a framework for emulating existing retro systems, so it covers low-level CPU concepts but lacks the broader emulator toolchain and multi-platform support this search targets.
AudioKit is an audio framework for iOS, macOS, and tvOS that provides tools for digital audio synthesis, signal processing, and audio analysis. It functions as a synthesis engine for generating audio waveforms and textures, a processing library for modifying tonal characteristics, and a toolkit for extracting frequency and amplitude data from sonic signals. The framework utilizes a modular node architecture and graph-based signal routing to connect audio generators, processors, and outputs. It wraps low-level audio primitives in high-level classes to facilitate sound generation and modificati
AudioKit is an audio synthesis and processing library for Apple platforms — it can handle sound chip emulation and audio generation within an emulator, but it does not provide CPU emulation, memory mapping, graphics pipelines, or the other core components required to build a full emulator development framework.
Unicorn is a multi-architecture CPU emulation framework and library that utilizes just-in-time compilation to execute instructions across various processor architectures, including ARM, x86, and RISC-V. It functions as both a JIT compilation engine and an instrumentation tool, allowing for the execution of machine code without the need for physical hardware. The framework is distinguished by its hook-based execution instrumentation, which enables the interception of specific instructions and memory accesses to trigger custom callback functions. It provides a language-agnostic binding layer an
Unicorn provides powerful multi-architecture CPU emulation and instrumentation, making it a useful component for building emulators, but it does not include the graphics, audio, or frontend layers needed to construct a complete retro system emulator on its own.
Tinyrenderer is a C++ library designed as an educational tool for building a 3D graphics pipeline from scratch. It provides a software-defined rendering environment that executes all geometric transformations and rasterization tasks on the central processor, intentionally avoiding reliance on external hardware acceleration or graphics libraries. The project serves as a pedagogical resource for understanding the fundamental mathematical principles of computer graphics. It enables users to implement custom shader pipelines and core rendering techniques, such as barycentric coordinate calculatio
ssloy/tinyrenderer is a software 3D graphics rendering library for learning how to build a rendering pipeline from scratch, but it is not a framework for building whole emulators—it lacks the CPU, memory, audio, and system-level emulation features this search targets, though its rendering code could inform a graphics subcomponent.
This project is a GameBoy hardware emulator that simulates the original processor, graphics, and sound systems to run vintage ROMs. It provides a core emulation engine that executes instructions using cycle-accurate simulation to match original hardware timing. The emulator is designed for remote play, enabling cloud game streaming via HTTP and WebSockets. This allows for remote cooperative gaming through a web browser and terminal-based gaming where game state is rendered via telnet. The system includes capabilities for memory-mapped I/O emulation and state-based save restoration to preserv
This project is a fully built GameBoy emulator, not a modular framework or library for constructing emulators for other systems — it serves as a reference for one console rather than a general-purpose development toolkit.
SimpleNES is a C++ application that simulates original Nintendo Entertainment System hardware to run legacy games on modern computers. It functions as a hardware simulator and retro gaming emulator designed to execute classic game ROMs by recreating the original console environment through software. The system implements a software version of the 6502 CPU and picture processing unit to render retro game video and audio. It recreates 8-bit console architecture to ensure the execution of original game ROMs. The project covers low-level hardware simulation, including cycle-accurate CPU emulatio
SimpleNES is a complete NES emulator application, not a framework or library for building emulators — while it implements cycle-accurate CPU, GPU, and audio emulation, it is a standalone tool rather than a reusable toolkit for constructing emulators across different systems.
This project is a Nintendo Entertainment System emulator written in Go. It functions as a hardware simulation that executes game ROMs by mimicking the original console's circuitry, including the processor and picture processing unit. The emulator includes a game library browser that identifies local files and retrieves titles and thumbnails from online databases using file checksums. It also implements a system of memory management mappers to ensure compatibility across various game ROM formats and hardware configurations. The software covers high-level capabilities for game ROM execution an
fogleman/nes is a finished Nintendo Entertainment System emulator written in Go, not a framework or library for building emulators—it runs games itself rather than providing reusable components for emulator development.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| floooh/chips | 1.2K | C | Zlib | |
| baron-von-riedesel/vsbhda | 146 | C | — | |
| crazii/sbemu |
| 766 |
| C |
| GPL-2.0 |
| mgba-emu/mgba | 6.8K | C | mpl-2.0 |
| 86box/86box | 4.1K | C | gpl-2.0 |
| pervognsen/bitwise | 5.3K | C | other |
| audiokit/audiokit | 11.4K | Swift | MIT |
| unicorn-engine/unicorn | 9.1K | C | GPL-2.0 |
| ssloy/tinyrenderer | 23.3K | C++ | other |
| hfo4/gameboy.live | 4.9K | Go | MIT |