awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bfirsh avatar

bfirsh/jsnes

0
View on GitHub↗
6,397 نجوم·851 تفرعات·JavaScript·Apache-2.0·4 مشاهداتjsnes.org↗

Jsnes

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 SRAM changes are handled through a callback-driven persistence mechanism.

The project covers browser-based NES emulation with automatic canvas rendering and input handling, as well as headless emulation in Node.js for custom rendering pipelines. It also provides programmatic control over emulator state, including pause, resume, reset, and ROM reloading.

Features

  • Retro Game Emulation - Boots and runs classic NES games inside a web page with canvas rendering, audio, and input handling.
  • JavaScript Emulator Cores - Provides a JavaScript-based NES emulator with cycle-accurate CPU, PPU, and audio emulation for browser and Node.js.
  • Emulator Mapper Abstractions - Implements a pluggable mapper interface for broad NES cartridge compatibility.
  • Emulator SRAM Callbacks - Provides a callback mechanism for persisting battery-backed SRAM changes to external storage.
  • Save State Managers - Serializes complete emulator state into JSON for save and restore operations.
  • Emulation State Scripting - Provides a scripting interface for pausing, resuming, resetting, and reloading emulator state.
  • Web-Based Emulators - Runs classic NES games inside a web page with automatic canvas rendering, audio, and input handling.
  • Sample-Based Buffer Callbacks - Produces raw PCM audio samples from APU state through a sample-buffer-based pipeline.
  • Game Controller Remappers - Ships runtime keyboard remapping for NES controller buttons with localStorage persistence.
  • Emulation Session Control - Provides a simple interface for pausing, resuming, resetting, and reloading emulator state.
  • Programmable Emulator APIs - Exposes a simple API for controlling emulation state, capturing screenshots, and managing save data.
  • Cycle-Accurate Emulators - Implements cycle-accurate emulation of the 6502 CPU for precise NES hardware timing.
  • Emulator Frame Buffers - Generates complete 256x240 pixel frame buffers from PPU state for canvas drawing or external processing.
  • Keyboard Input Mapping - Translates browser keyboard events into NES controller button states via a configurable mapping table.
  • Node.js Emulation Cores - Runs NES CPU and PPU cycles programmatically in Node.js for custom rendering pipelines.
  • Game Keyboard Controls - Rebinds NES controller buttons to different keyboard keys at runtime with localStorage persistence.
  • Battery-Backed SRAM Persistence - Writes battery-backed SRAM changes to a callback for external save data storage.
  • Node.js Emulation Cores - Runs NES CPU and PPU cycles programmatically in Node.js for custom rendering pipelines.

سجل النجوم

مخطط تاريخ النجوم لـ bfirsh/jsnesمخطط تاريخ النجوم لـ bfirsh/jsnes

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Jsnes

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Jsnes.
  • baekalfen/pyboyالصورة الرمزية لـ Baekalfen

    Baekalfen/PyBoy

    5,159عرض على GitHub↗

    PyBoy is a programmable Game Boy emulator and hardware simulation framework written in Python. It functions as an emulation engine that allows users to execute original handheld software while providing a programmatic interface to control, probe, and automate game execution. The project is specifically designed as a reinforcement learning environment, exposing emulator states and controls to facilitate the training of machine learning agents. It distinguishes itself by providing tools for game area mapping and the extraction of simplified 2D screen representations and collision maps to suppor

    Pythoncythonemulatorgameboy
    عرض على GitHub↗5,159
  • mgba-emu/mgbaالصورة الرمزية لـ mgba-emu

    mgba-emu/mgba

    6,798عرض على GitHub↗

    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

    Cemulatorgame-boygame-boy-advance
    عرض على GitHub↗6,798
  • amhndu/simplenesالصورة الرمزية لـ amhndu

    amhndu/SimpleNES

    5,087عرض على GitHub↗

    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

    C++c-plus-plusemulatornes-emulator
    عرض على GitHub↗5,087
  • rileytestut/deltaالصورة الرمزية لـ rileytestut

    rileytestut/Delta

    5,827عرض على GitHub↗
    Swift
    عرض على GitHub↗5,827
عرض جميع البدائل الـ 30 لـ Jsnes→

الأسئلة الشائعة

ما هي وظيفة bfirsh/jsnes؟

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.

ما هي الميزات الرئيسية لـ bfirsh/jsnes؟

الميزات الرئيسية لـ bfirsh/jsnes هي: Retro Game Emulation, JavaScript Emulator Cores, Emulator Mapper Abstractions, Emulator SRAM Callbacks, Save State Managers, Emulation State Scripting, Web-Based Emulators, Sample-Based Buffer Callbacks.

ما هي البدائل مفتوحة المصدر لـ bfirsh/jsnes؟

تشمل البدائل مفتوحة المصدر لـ bfirsh/jsnes: baekalfen/pyboy — PyBoy is a programmable Game Boy emulator and hardware simulation framework written in Python. It functions as an… mgba-emu/mgba — mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on… amhndu/simplenes — SimpleNES is a C++ application that simulates original Nintendo Entertainment System hardware to run legacy games on… rileytestut/delta. mamedev/mame — MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and… melonds-emu/melonds — melonDS is an open-source emulator that runs original Nintendo DS and DSi games on modern operating systems with…