18 repository-uri
Emulators that track individual clock cycles to ensure precise hardware timing and behavior.
Distinct from Hardware Emulators: Focuses on the temporal precision of the simulation rather than general hardware virtualization.
Explore 18 awesome GitHub repositories matching operating systems & systems programming · Cycle-Accurate Emulators. Refine with filters or upvote what's useful.
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
Provides high-accuracy emulation by simulating hardware components with cycle-accurate timing.
jsnes is a JavaScript-based NES emulator that runs classic NES games in the browser or in Node.js. It provides cycle-accurate CPU emulation, frame-buffer-based video rendering, and sample-buffer audio synthesis, along with a ROM cartridge mapper abstraction for broad game compatibility. The emulator exposes a programmable core with a simple API for controlling emulation state, capturing screenshots, and managing save data. It supports keyboard control remapping at runtime, with settings persisted to localStorage, and offers state serialization for save and restore operations. Battery-backed S
Implements cycle-accurate emulation of the 6502 CPU for precise NES hardware timing.
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
Implements a processor simulation that tracks individual clock cycles to ensure precise hardware timing.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Resets accumulated cycle counts for all threads on the current node.
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
Implements a cycle-accurate simulation of the processor and peripherals by tracking state changes on every clock tick.
PyBoy este un emulator de Game Boy programabil și un framework de simulare hardware scris în Python. Funcționează ca un motor de emulare care permite utilizatorilor să execute software original de consolă portabilă, oferind în același timp o interfață programatică pentru a controla, sonda și automatiza execuția jocurilor. Proiectul este conceput special ca un mediu de învățare prin consolidare (reinforcement learning), expunând stările și controalele emulatorului pentru a facilita antrenarea agenților de machine learning. Se distinge prin furnizarea de instrumente pentru maparea zonelor de joc și extracția reprezentărilor 2D simplificate ale ecranului și a hărților de coliziune pentru a susține inteligența artificială. Sistemul acoperă o gamă largă de capabilități, inclusiv emularea hardware precisă la nivel de ciclu, operațiuni directe de citire și scriere în memorie și un sistem de callback-uri pentru hook-uri de execuție. Suportă extracția datelor de joc în timp real, cum ar fi pozițiile sprite-urilor și simbolurile de memorie, și include un mod de execuție headless pentru a accelera viteza de simulare prin omiterea randării grafice și audio. Emulatorul oferă, de asemenea, utilitare pentru persistența stării prin serializarea snapshot-urilor, simularea input-ului pentru agenți autonomi și instrumente pentru analiza memoriei și modificarea datelor ROM.
Implements cycle-accurate hardware emulation to precisely mimic the timing and behavior of the original Game Boy.
SimpleNES este o aplicație C++ care simulează hardware-ul original Nintendo Entertainment System pentru a rula jocuri legacy pe computere moderne. Funcționează ca un simulator hardware și emulator de jocuri retro conceput pentru a executa ROM-uri de jocuri clasice prin recrearea mediului consolei originale prin software. Sistemul implementează o versiune software a CPU-ului 6502 și a unității de procesare a imaginii pentru a reda video și audio de joc retro. Recreează arhitectura consolei pe 8 biți pentru a asigura execuția ROM-urilor de joc originale. Proiectul acoperă simularea hardware de nivel scăzut, inclusiv emularea CPU-ului cu acuratețe de ciclu, intrare/ieșire mapată în memorie și randarea pixelilor cu buffer. Include, de asemenea, sinteză audio bazată pe eșantioane pentru redarea audio legacy și un sistem de configurare pentru maparea tastelor fizice ale tastaturii la butoanele emulate ale controllerului de joc.
Simulates the original processor's timing and instruction set using cycle-accurate emulation to ensure correct game speed.
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
Implements precise clock cycle tracking to ensure original hardware timing and behavior are accurately simulated.
melonDS is an open-source emulator that runs original Nintendo DS and DSi games on modern operating systems with high-accuracy hardware simulation. It emulates the DS and DSi CPUs, video, and audio systems, and supports booting from original system firmware for access to the system menu and configuration screens. The emulator distinguishes itself through cycle-accurate component simulation for precise timing and compatibility, a JIT dynamic recompilation engine that translates game code to native x86_64 or AArch64 instructions for faster performance, and OpenGL hardware-accelerated rendering
Implements cycle-accurate component simulation for precise timing and compatibility with original games.
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
Implements cycle-accurate CPU simulation to ensure precise timing and compatibility with legacy x86 software.
Visualboyadvance-m is a cross-platform hardware simulator and Game Boy Advance emulator. It replicates handheld console hardware to run Game Boy Advance and Game Boy Color software on modern desktop computers. The project also serves as a handheld console debugger for analyzing emulated code and validating homebrew software. The system is designed as a modular Libretro emulation core, allowing it to be loaded as a pluggable component into compatible frontend applications. This decoupled architecture separates the emulation logic from the user interface to ensure the engine can run across diff
Provides high-precision hardware simulation by tracking individual clock cycles to ensure accurate original game behavior.
Furnace is a multi-system chiptune tracker and vintage sound chip emulator used for composing and rendering audio. It functions as a music sequencer that mimics legacy hardware, including FM and square wave synthesizers, to create authentic retro sounds. The project distinguishes itself by enabling multi-system chiptune production, allowing users to mix different vintage audio chips and wavetable synthesizers within a single project. It also serves as a module editor compatible with DefleMask project files and provides a headless audio player for streaming modules via a console interface with
Provides cycle-accurate emulation of vintage sound chip registers and wave generation logic.
This project is an algorithmic performance benchmarking tool and execution cycle simulator. It functions as a complexity analysis framework that measures code execution speed using simulated clock cycles to evaluate algorithmic efficiency against established performance baselines. The tool provides deterministic measurements of computational work and time complexity by tracking virtual clock cycles rather than real time. It utilizes a threshold-driven test suite to validate whether specific code implementations meet required performance cycle targets. The framework covers execution speed pro
Tracks virtual clock cycles instead of real time to provide deterministic measurements of computational work.
Verilator is a hardware simulation engine and toolchain that translates Verilog and SystemVerilog hardware description languages into optimized C++ or SystemC models. It functions as a compiler and transpiler, converting hardware designs into executable binaries to achieve high-speed simulation and integration into software environments. The project distinguishes itself by focusing on simulation acceleration through the generation of optimized C++ classes and cycle-accurate models. It provides a SystemVerilog linter for static analysis of hardware designs and a hardware coverage analyzer to t
Creates a software representation of hardware that simulates logic transitions at every clock tick.
Snes9x is a cross-platform emulator designed to replicate the Super Nintendo Entertainment System hardware. It functions as a gaming tool that allows users to load and play Super Nintendo software on modern hardware and operating systems. The software provides a portable emulation layer across various hardware architectures to ensure consistent performance. It supports the execution of game ROMs while providing utilities for input mapping and save states. The system implements hardware emulation through cycle-accurate CPU emulation, dynamic recompilation, and scanline-based video rendering.
Implements cycle-accurate CPU emulation to ensure precise timing and behavioral accuracy of the original console hardware.
GHDL is a compiler and simulator for VHDL hardware descriptions. It functions as a multi-pass analysis elaborator that resolves design hierarchies and dependencies to prepare hardware descriptions for simulation or synthesis. The project transforms VHDL source code into executable binaries for high-speed digital design verification and serves as a synthesis tool that converts descriptions into structural netlists compatible with vendor or open-source flows. It also implements the Language Server Protocol to provide static analysis, autocomplete, and code navigation for VHDL files. The toolse
Implements delta-cycle event scheduling to provide precise, cycle-accurate simulation of concurrent hardware behavior.
Chips este un framework de bibliotecă C modular, header-only, conceput pentru construirea de simulatoare hardware precise la nivel de ciclu și replicarea arhitecturilor de calcul istorice pe opt biți. Oferă componentele fundamentale necesare pentru a construi sisteme vintage complete prin integrarea microprocesoarelor emulate individuale și a cipurilor periferice. Framework-ul se distinge printr-o arhitectură bazată pe componente, unde modulele hardware sunt implementate ca headere de sine stătătoare care pot fi interconectate pentru a forma sisteme complexe. Modelează interacțiunile hardware la un nivel scăzut, utilizând emularea semnalelor la nivel de pin și comunicarea pe magistrală mapată în memorie pentru a asigura un comportament determinist. Dezvoltatorii pot captura întreaga stare internă a unui emulator într-un buffer de memorie, permițând snapshot-uri persistente și restaurarea precisă a stării. Proiectul include o suită completă de instrumente de diagnosticare și dezvoltare, cum ar fi vizualizarea depanării în mod imediat și monitorizarea în timp real a registrelor de sistem și a framebuffer-elor. De asemenea, oferă utilitare de linie de comandă pentru a automatiza generarea definițiilor componentelor hardware și a codului sursă, facilitând construcția de medii embedded personalizate.
Advances execution by discrete clock cycles to ensure precise timing and deterministic behavior across hardware components.
The Commander X16 Emulator is a retro computer emulator that runs assembly and BASIC software designed for the Commander X16 8-bit computer architecture on modern host operating systems. It replicates vintage hardware systems to support software testing, vintage computer preservation, and retro game development in a contemporary environment. The software emulates physical 65C02 processor instructions and memory maps within a software-defined address space, utilizing a cycle-accurate timing model to synchronise CPU execution cycles with peripheral devices. It maps hardware registers and input
Synchronises CPU execution cycles with peripheral devices to maintain authentic retro-hardware speeds.