18 مستودعات
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 هو محاكي Game Boy قابل للبرمجة وإطار عمل لمحاكاة الأجهزة مكتوب بلغة Python. يعمل كمحرك محاكاة يسمح للمستخدمين بتشغيل برامج الأجهزة المحمولة الأصلية مع توفير واجهة برمجية للتحكم في تنفيذ اللعبة وفحصه وأتمتته. تم تصميم المشروع خصيصاً كبيئة للتعلم التعزيزي، حيث يكشف عن حالات المحاكي وعناصر التحكم لتسهيل تدريب وكلاء التعلم الآلي. يتميز بتوفير أدوات لرسم خرائط منطقة اللعبة واستخراج تمثيلات الشاشة ثنائية الأبعاد المبسطة وخرائط التصادم لدعم الذكاء الاصطناعي. يغطي النظام مجموعة واسعة من الإمكانيات بما في ذلك محاكاة الأجهزة بدقة الدورة، وعمليات القراءة والكتابة المباشرة في الذاكرة، ونظام استدعاء لخطافات التنفيذ. يدعم استخراج بيانات اللعبة في الوقت الفعلي، مثل مواقع الكائنات (sprites) ورموز الذاكرة، ويتضمن وضع تنفيذ بدون واجهة رسومية (headless) لتسريع سرعة المحاكاة عن طريق تجاوز عرض الرسومات والصوت. يوفر المحاكي أيضاً أدوات لاستمرارية الحالة عبر تسلسل اللقطات، ومحاكاة الإدخال للوكلاء المستقلين، وأدوات لتحليل الذاكرة وتعديل بيانات ROM.
Implements cycle-accurate hardware emulation to precisely mimic the timing and behavior of the original Game Boy.
SimpleNES هو تطبيق C++ يحاكي أجهزة Nintendo Entertainment System الأصلية لتشغيل الألعاب القديمة على أجهزة الكمبيوتر الحديثة. يعمل كمحاكي أجهزة ومحاكي ألعاب كلاسيكي مصمم لتنفيذ ROMs الألعاب الكلاسيكية عن طريق إعادة إنشاء بيئة وحدة التحكم الأصلية من خلال البرمجيات. ينفذ النظام نسخة برمجية من وحدة المعالجة المركزية 6502 ووحدة معالجة الصور لعرض فيديو وصوت الألعاب القديمة. يعيد إنشاء بنية وحدة التحكم 8-بت لضمان تنفيذ ROMs الألعاب الأصلية. يغطي المشروع محاكاة الأجهزة منخفضة المستوى، بما في ذلك محاكاة وحدة المعالجة المركزية الدقيقة للدورة، والإدخال/الإخراج المعين في الذاكرة، وعرض البكسل المخزن مؤقتاً. كما يتضمن تركيب صوت يعتمد على العينات لعرض الصوت القديم ونظام تكوين لتعيين مفاتيح لوحة المفاتيح المادية لأزرار وحدة تحكم الألعاب المحاكية.
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 هو إطار عمل مكتبة C نمطي ومستند إلى الرؤوس مصمم لبناء محاكيات أجهزة دقيقة الدورة وتكرار معماريات الحوسبة ثمانية البت التاريخية. يوفر المكونات الأساسية اللازمة لبناء أنظمة قديمة كاملة من خلال دمج معالجات دقيقة محاكاة ورقائق طرفية. يتميز إطار العمل بمعمارية قائمة على المكونات حيث يتم تنفيذ وحدات الأجهزة كرؤوس مستقلة يمكن توصيلها معاً لتشكيل أنظمة معقدة. ويقوم بنمذجة تفاعلات الأجهزة على مستوى منخفض، مستخدماً محاكاة الإشارة على مستوى الدبوس واتصال الناقل المخطط للذاكرة لضمان سلوك حتمي. يمكن للمطورين التقاط الحالة الداخلية الكاملة للمحاكي في مخزن مؤقت للذاكرة، مما يتيح لقطات مستمرة واستعادة دقيقة للحالة. يتضمن المشروع مجموعة شاملة من أدوات التشخيص والتطوير، مثل تصور تصحيح الأخطاء في الوضع الفوري والمراقبة في الوقت الفعلي لسجلات النظام ومخازن الإطارات. كما يوفر أدوات سطر أوامر لأتمتة توليد تعريفات مكونات الأجهزة والكود المصدري، مما يسهل بناء بيئات مضمنة مخصصة.
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.