找回密码
立即注册
搜索
发回帖 发新帖

5302

积分

0

好友

672

主题
发表于 昨天 22:08 | 查看: 7| 回复: 0

AtomNES 是基于 Avalonia 与 AtomUI 构建的 NES/FC 桌面模拟器:周期精确的 6502 核心、逐点渲染的 PPU、106 个 Mapper、内置调试器,NativeAOT 单文件发布,MIT 开源,现已入驻 AtomUI 生态。

你小时候插过卡带、吹过卡带、被「按十次重启键才开机」折磨过的那台红白机,内部其实是一套精确到离谱的时序系统:CPU 每个周期在做什么、显存里每个像素什么时候被画出来、四个声道怎么合成,全都是确定的。

模拟器很多,但「能玩」和「精确」是两回事。这个问题的硬核答案之一,来自 AtomNES。

AtomNES NES/FC 模拟器主窗口界面

AtomNES 是开发者 kaiyi.wang 基于 Avalonia 与 AtomUI 6.2.5 构建的 NES(FC)桌面模拟器,覆盖 Windows 与 Linux,以 MIT 许可证在 GitHub 开源,v1.0.0 已上架 Releases。现阶段它已入驻 AtomUI 生态「应用」栏目。

它不是管理后台,也不是效率工具,而是一个逐帧实时、精度优先的模拟器:模拟核心完全不依赖 UI,界面全部由 AtomUI 组件搭建,音频走 SDL3;发布侧提供 NativeAOT 与自包含裁剪单文件两种产物,目标机器无需安装 .NET 运行时。

精度优先:能跑过权威测试 ROM 的核心

AtomNES 的取向是把精度放在首位:nestest、blargg、Holy Mapperel、mmc3_test 这些公开测试 ROM 是项目的回归基线,核心层可以在没有窗口的环境里直接跑测试。

  • 周期精确的核心:6502 逐周期步进,包含哑读、哑写与 DMA 暂停;2C02 PPU 逐点渲染;2A03 APU 用带限合成与模拟滤波输出。
  • 106 个 Mapper:覆盖绝大多数正式发行游戏,还能跑不少中文市场卡带与多合一合卡(外星、南晶、晶太、FK23C 等板型)。
  • 扩展音频:支持 VRC6、VRC7(移植 emu2413 实现 FM 合成)、Namco 163、Sunsoft 5B 与 MMC5。
  • 电池存档:带电池的 PRG RAM 自动写入 ROM 同目录的 .sav 文件。

AtomNES 运行《超级马里奥兄弟》游戏画面

给 ROM 开发者的调试器

除了玩游戏,AtomNES 也面向调试 ROM 和自研游戏的开发者:按 F8 打开的内置调试器可以查看 CPU 寄存器、反汇编、图案表、调色板 RAM、PPU 状态与名称表。

双手柄键位都能重新映射(按 F1),有倍速控制与暂停、重置等快捷键;界面支持中英文切换,主题启动时跟随系统。

核心与界面单向分层

仓库把模拟核心与界面拆成独立工程,依赖方向是单向的:界面只通过 AtomNES.Device 暴露的接口驱动模拟,xUnit 测试工程直接针对核心跑测试 ROM。

界面 → AtomNES.Device 接口 → 模拟核心

核心不引用任何 UI 类型,可以完全无头地逐周期对比状态。对想在界面框架之外长期复用模拟、计算类核心的团队来说,这是一个值得参考的分层方式。

快速上手

最省事的方式是直接下载:GitHub Releases 提供 Windows x64 与 Linux x64 压缩包,解压即可运行,不需要安装 .NET 运行时(Linux 上执行 ./AtomNES)。

从源码构建需要 .NET 10 SDK(NativeAOT 发布还需要平台的 C 工具链):

git clone https://github.com/AtomUICommunity/AtomNES.git
cd AtomNES
dotnet build AtomNES
dotnet run --project AtomNES -- path/to/game.nes
dotnet test AtomNES.Device.Tests

三点说明:

  1. AtomNES 不附带任何游戏 ROM,请自备你有权使用的 ROM 文件;
  2. 官方构建面向 Windows x64 与 Linux x64,暂无 macOS 版本,其他平台需自行从源码构建;
  3. 项目采用 MIT 许可证,第三方组件与测试 ROM 的版权归各自作者所有。

相关链接




上一篇:.NET发布最小能多小?实测16种方式从86MB凹到657字节
下一篇:AI王座一夜两度易主,FrontierCode 2.0泄露神秘模型Obsidian 3
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-30 00:34 , Processed in 0.064819 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表