SkyEmu

skylersalehMIT活跃维护

用 C 编写的 Game Boy、GBC、GBA 和 DS 模拟器,支持在浏览器里通过 WASM 运行,适合怀旧游戏和多平台模拟器开发。

Game Boy Advance, Game Boy, Game Boy Color, and DS Emulator

v5发布于 2026-02-12 05:46 UTC1,318star +4 / 7 天110fork同步于 2026-11-10 23:49 UTC

怎么上手

由 README 提炼,执行前请确认
mkdir build
cd build
cmake ..
cmake --build .
./SkyEmu path/to/rom.gba
硬件要求按 README 说明

README 未说明具体 CPU/GPU 或显存要求;支持 Windows、macOS、Linux、FreeBSD、iOS、Android 及浏览器(WebAssembly)。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

跨平台低层 GBA/GB/GBC/DS 模拟器,主打高精度还原与良好使用体验

用 C 编写的 Game Boy、GBC、GBA 和 DS 模拟器,支持在浏览器里通过 WASM 运行,适合怀旧游戏和多平台模拟器开发。

核心能力

  • 逐像素 PPU 实现,支持扫描线中途效果
  • 通过 AGS 老化测试与 ArmWrestler、FuzzARM 测试
  • 4 个带截图预览的持久存档槽,支持快进与长时倒回
  • 内置金手指引擎、实时时钟与太阳能传感器模拟
  • 提供 CPU、MMIO、内存调试器与 REST 风格控制 API

容易踩的坑

原生构建目前标注为实验性,稳定版建议直接下载 releases 中的预编译包;不附带官方 BIOS,需自行 dump 并命名为 gba_bios.bin 放在 ROM 同目录;存档需与 ROM 同名并以 .sav 结尾,否则无法识别。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v5
  1. v5SkyEmu v5最新正式版2026-02-12 · 2026-02-12 05:46 UTC

    SkyEmu v5

    Small update this time to get a few fixes in that were needed before a bigger release.

    New Features:

    • LibRetro CI + Auto-updating integration
    • Fixed rendering of Asian characters in UI
    • Touch controls and touch screen are now blocked when a panel covers them.
  2. v4SkyEmu v42025-09-20 · 2025-09-20 13:07 UTC
    查看更新说明

    skyemu-v4-banner

    Major New Features

    • Retro Achievements
    • RetroArch/libretro core
    • Cross‑platform Google Drive cloud sync for save states.

    Android Enhancements

    • Full controller & hardware keyboard support.
    • ARM 32‑bit, x86_64 builds now available.
    • Launch ROMs via command line – perfect for front‑end launchers.

    UI / Theme Revamp

    • Fresh default theme + custom bitmap themes (UI, fonts, bezel, overlays, touch screen controls).
    • “Recently Played” improvements list: search, multi‑sort, delete.
    • Touch controls now show optional button labels.
    • Additional Toggle rewind/fast‑forward speed and slow‑motion at ½, ¼, and ⅛ speed.
    • Hardcore mode disables emulation aids for a true hardware experience.
    • BIOS & save files can be added/removed directly from the UI.
    • Export save states from web builds.
    • Exclusive full‑screen mode can be launched into via command line.
    • Integer scaling now sharper with less GPU load.

    Debug Tools

    • MMIO read/write flags + breakpoints (GBA).
    • GBA & GB PSG sequencer debugger.
    • GB CPU & PPU debuggers.

    Localization

    • Added French, Polish, and Swedish translations.

    Emulation Improvements

    • Accuracy/performance gains for GB, GBA, NDS.
    • 8‑screen layout options for NDS.
    • Bug fixes for issues that prevented certain Action Replay codes from working in v3

    HTTP Control Server

    • Can now be accessed from other computers on the same LAN
    • New commands have been added

    Web build: https://web.skyemu.app

  3. v3SkyEmu v32023-08-13 · 2023-08-13 09:16 UTC
    查看更新说明

    New Features:

    • Nintendo DS Emulation
    • Support for additional platforms: Android, iOS, and FreeBSD Native Applications
    • UTF8 & Localization in Armenian, Chinese, Danish, Dutch, English, German, Greek, Italian, and Russian
    • Action Replay Cheat Support for GB, GBA, NDS
    • REST-like API for scripting/automation
    • Touch Screen Opacity and Hiding Settings
    • Black Theme (for OLED devices)
    • Solar Sensor Emulation
    • Menubar auto-hiding
    • Additional Search Paths for BIOS and Saves
    • Added ability to place saves and save states in a folder instead of next to the rom
    • Linux and Windows Exclusive Fullscreen support
    • Higan style Color Correction for the GBA
    • Added a service worker to the web build to allow it to work offline on more platforms.
    • Misc bug and accuracy fixes.

    Known Issues:

    • Solar sensor emulation is unreliable in Boktai 1
    • Many NDS games still have mild graphics and audio issues

    Web build: https://web.skyemu.app/v3/

  4. v2SkyEmu v22022-10-23 · 2022-10-23 10:02 UTC
    查看更新说明

    It is my pleasure today to announce the release of the SkyEmu v2 GBA/GB/GBC emulator.

    You can access the web build here or download the native builds linked at the bottom.

    Lets take a look at some of the new features in this release:

    Display Options

    SkyEmu v2 adds 5 high quality upscaling shaders covering the most popular upscaling algorithms. All filters are antialiased so they look nice at a variety of resolutions and the LCD filters even adapt themselves to the characteristics of the screens of the HW being emulated. For example when playing a DMG game the LCD filter's pixel outline color changes and its sub-pixel grid is replaced with a slight drop shadow.

    SkyEmu-Shaders

    On top of the upscaling shaders SkyEmu v2 adds a bunch of scaling and display emulation options:

    • Forced Integer Scaling
    • Stretch to Fit Scaling
    • Color Correction
    • Screen Ghosting
    • Screen Rotation
    • Customizable DMG GB Color Palette

    The GBA color correction uses a new algorithm that tries to recreate the characteristics of the popular AGS-101 screen, and like the shaders, the color correction and ghosting adapt automatically to the system of the game being played.

    SkyEmu-Color Correction

    Improved Save States

    The save state system was substantially beefed up compared to v1. Save state capture/restore can be bound to keyboard and joypad button presses. The Save states are now saved to the disk and persist across app launches, switching games, and future SkyEmu versions. And, the save states are even encoded into png images that show screenshots of the game when the save state was taken. This makes it easy to manage, organize and share save states, as you can see what they contain even without opening SkyEmu. The picture below is a real, working, save state from SkyEmu v2.

    0339 - Sonic Advance (E)(Lightforce) slot0 state

    Compressed ROM loading

    Because of popular request, SkyEmu can now load ROMs directly from .zip files without unzipping them first. When loading a .zip file SkyEmu will autodetect the correct system for the ROM inside and place save states/files on the same folder that contains the zip.

    Improved GameBoy and GameBoy Color Emulation:

    • Rewritten APU and PPU
      • Significantly more accurate audio and graphics emulation
      • Supports mid-scanline effects
      • Supports mid tone PSG writes
      • Can now run complex games like Prehistorik Man with correct audio and video
    • Added support for RTC emulation (allows for day/night cycle in Pokemon among other things)
    • Added support for booting GB/GBC Boot ROMs:
      • Enabled by adding one of the following files to the folder with the game ROM:
        • GBC Boot ROMs: "gbc_bios.bin" "cgb_boot.bin", "cgb0_boot.bin", "cgb_agb_boot.bin"
        • GB Boot ROMs: "dmg0_rom.bin", "dmg_rom.bin" "gb_bios.bin"
      • Running a GB game with a GBC Boot ROM enables colorizing the GB games and palette selection by holding a direction on the D-pad just like a real Game Boy Color
    • Fixes for > 50 edge case test roms

    Increased Accuracy

    The following games have confirmed fixes in SkyEmu v2:

    • (GBA) Final Fantasy Tactics: Fixed in game save
    • (GBA) Top Gun Combat Zones: Fixed bug that prevented being able to start the game
    • (GB) Alleyway World (GB): Fixed a bug that prevented the users input from being able to move the paddle
    • (GB) Pokemon Red: Fixed corruption on game loading screen
    • (GBA) 007 Everything or Nothing: Fixed audio screeching
    • (GBA) Beyblade V-force - Ultimate Blader: Fixed audio clicks/pops
    • (GBA) Beyblade V-Force - Ultimate Blade
  5. v1SkyEmu v12022-10-14 · 2022-10-14 07:49 UTC
    查看更新说明

    SkyEmu v1

    SkyEmu is a low level GameBoy, GameBoy Color and Game Boy Advance emulator. Its primary focus is to provide a good user experience through a good mixture of tradeoffs of accuracy, performance, features and usability.

    Features

    • Highly accurate Game Boy Advance emulation
    • Game Boy and Game Boy Color Emulation
    • Experimental Nintendo DS support (only capable of running homebrew currently)
    • Cross Platform: Windows, MacOS, Linux, Web App (with touch screen controls for iOS and Android)
    • Game Controller and Rumble Support with configureable keybinds
    • 4x Save Slots with screenshot preview
    • Game fastforward and rewind support (supporting very long rewind times)
    • Support for emulating the Real Time Clock
    • CPU, MMIO, and Memory Debuggers
    • Dark and Light Themes
    • Support for loading official BIOSs dumps

    Web build: https://web.skyemu.app/v1/

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Windows Build Mac Build Linux Build Android Build iOS Build FreeBSD Build Web Build Discord Shield

    SkyEmu

    SkyEmu is a low level GameBoy, GameBoy Color, Game Boy Advance, and DS emulator. Its primary focus is to preserve these great systems for future generations while providing a good user experience through a good mixture of tradeoffs of accuracy, performance, features and usability.

    Features

    • Highly accurate Game Boy Advance emulation
    • Game Boy and Game Boy Color Emulation
    • DS Emulation (Beta Quality)
    • High Quality Upscaling Shaders, Color Correction, and Screen Ghosting
    • Cross Platform: Windows, MacOS, Linux, FreeBSD, iOS, Android, and Web
    • Game Controller and Rumble Support with configureable keybinds
    • 4x Persistent Save State Slots with screenshot preview
    • Game fastforward and rewind support (supporting very long rewind times)
    • Action Replay Cheat Code Engine
    • Localization in Armenian, Chinese, Danish, Dutch, English, German, Greek, Italian, Polish, and Russian
    • Support for emulating the Real Time Clock and Solar Sensor
    • CPU, MMIO, and Memory Debuggers
    • Support for loading official BIOS and Boot ROM dumps
    • Support for loading roms compressed in .zip archives
    • REST-like API for asynchronous scripting and other automation

    Download / Usage

    Stable builds for all platforms can be downloaded for free at: https://github.com/skylersaleh/SkyEmu/releases

    The latest version of the emulator can also be played without installing at the following address as a progressive web app:

    https://web.skyemu.app/

    Development builds(both web and native) that contain the latest features (but are less stable) can be acquired here: https://github.com/skylersaleh/SkyEmu/pull/321

    The web app emulates everything locally on your machine using web assembly and javascript. Because of this all files stay local to your machine like the regular native build, however there is a performance cost to performing the emulation inside a web browser.

    On Mobile platforms it is recommended to add this to the home screen and launch from there. This will prevent the web browser from auto deleting save files and will make the app full screen.

    Note: Platform BIOS/Firmware files are not required as SkyEmu bundles open source replacement BIOS/stubs. However, it is strongly recommended to dump official BIOS/firmware as the open source replacements lack many of the features of the native firmware/BIOS (such as colorizing GB games and the startup splashes) and are not as accurate.

    Discord Server

    Discord Banner 2

    Default Controls:

    • WASD: D-Pad
    • J: A button
    • K: B button
    • ': Select button
    • Enter: Start button
    • U: L shoulder
    • I: R shoulder

    On mobile platforms an onscreen touch screen controller is provided.

    Loading save files and BIOSs

    On web builds save files and the BIOS can be loaded by dragging them onto the page or loading them using the ROM file picker. The GBA BIOS must be named gba_bios.bin for the emulator to pick it up. Save files must be named the name of the rom file with the extension .sav. So for example if the ROM was MyRomFile.gba the save file must be called MyRomFile.sav.

    On native builds the above naming convention still applies, but the save/BIOS files must be instead located in the same folder as the ROM file, instead of being dragged or loaded in the emulator itself.

    Native Build Instructions

    Native builds are experimental currently but can be built using the following commands:

    mkdir build
    cd build
    cmake .. 
    cmake --build . 
    

    The output binaries should be in the build/bin folder

    Native builds support loading roms through the command line by specifying the path to the ROM as the first argument:

    ./SkyEmu path/to/rom.gba
    

    Accuracy/Compatibility

    SkyEmu has been tested on 100s of ROMs and most common games should be playable with no to minor bugs currently. However, the GBA emulation is significantly more accurate than the GB/GBC emulation.

    GBA:

    • Per Pixel PPU Implementation capable of both scan line and mid scan line effects (SkyEmu and NanoBoyAdvance are the only GBA emulators released to support this)
    • Passes the AGS Aging Test ROM (SkyEmu is the second SW based GBA emulator to ever pass this)
    • Can run difficult to emulate GBA games such as the NES Classics Series, Golden Sun and Hello Kitty Miracle Fashion Maker
    • 100% Passes all ArmWrestler Tests
    • 100% Passes all FuzzARM tests
    • 100% Passes arm.gba and thumb.gba
    • Passes 2020/2020 GBA Suite timing tests when utilizing the official GBA BIOS (SkyEmu is one of the few emulators capable of passing this test).
    • Full instruction pipeline and prefetch emulation

    GB:

    • Passes all of Blargg's CPU instruction tests
    • Passes DMG and GBC acid2 PPU conformance tests
    • Passes MBCtest
    • Dotclk based PPU implementation
    • Anti-aliased audio synthesis with support for APU changes per sample (supports Pikachu's voice in Pokemon Yellow/Pokemon Pinball)

    AI Policy

    All SkyEmu code has been written by humans and we do not accept AI generated code into the repo.

    We understand the utility in AI assisted development and still allow AI to be used for debug, code understanding, and other purposes that do not yield generated output into the repo.

    We do this for a number of reasons:

    • AI generated code review is generally substantially more challenging than code review of code authored by humans and has questionable copyright ownership.
    • We really want people to understand code that gets submitted to the emulator as many changes are interconnected. The knowledge of the changes made by AI tends to disappear when the context does. While human knowledge persists, even if an AI was used to teach the human how to make the changes.
    • Code quality standards of many projects have substantially reduced after the incorporation of broad scale AI usage from the two above issues.
    • Developers who wish to add functionality using AI tooling are generally very enthusiastic about the software and emulation development overall. However, they feel lost in the complexity of modern emulators. AI code generation robs them of the ability to learn how to make these changes and robs the community of the next generation of emulator developers. For this reason, we still allow AI to be used as a teaching aid for people who wish to contribute, but don't allow it to do all work for them, but instead encourage its use to help them navigate the complexities of the project so that they can grow their skills and are able to contribute themselves.
    • It has come to our attention that SkyEmu is one of the handful of large emulator projects in active development that does not have any AI generated code, and we would like to keep it as an option for usage by people who prefer non-AI generated SW.

    An exemption is made for translation strings in localization.h and localization.c. UI translation string generation may be AI assisted, but a human translation is preferred when available.

    Birds of a Feather

    • Pokemon Bot: A discord bot that can connect to SkyEmu to allow your discord users to play GB/GBC/GBA/NDS games.
    • Panda3DS: Panda themed HLE 3DS emulator
    • NanoBoyAdvance: A Game Boy Advance emulator focusing on hardware research and cycle-accurate emulation
    • Dust: DS emulator for desktop devices and the web
    • Kaizen: Experimental work-in-progress low-level N64 emulator