#chip8 #模拟器 #rust

chip-ahoyto

用 Rust 编写的 CHIP-8 模拟器

4 个版本

0.4.2 2023年2月13日
0.4.1 2022年11月21日
0.3.6 2022年6月28日
0.3.5 2022年6月27日

#120 in 模拟器

Apache-2.0

275KB
981

CHIP-Ahoyto 🍪

用 Rust 编写的 CHIP-8 模拟器 🦀。

这个项目的目的是纯粹实验性的,并且是 rust 的学习工具。

这个模拟器的作品受到/由 jc-chip8 启发。

您可以在 chip-ahoyto.joao.me 检查模拟器的工作版本

目标

  • 性能 🏎
  • 关注点分离 🖖
  • 简单 😀
  • 兼容性 🪛

功能

  • 支持拖放 ROM
  • 箱式切换
  • 视觉诊断
  • 可变 CPU 频率
  • 多个引擎实现(经典和 neo)
  • 完全兼容测试 CHIP-8 ROM
  • RAM 快照保存和加载
  • WebAssembly 支持 🌐

部署

提供商 稳定 URL
Cloudfare True chip-ahoyto.joao.me
Netlify True chip-ahoyto.netlify.app
Cloudfare True chip-ahoyto.joao.me
Cloudfare True chip-ahoyto.pages.dev
Cloudfare True prod.chip-ahoyto.pages.dev
Cloudfare True stable.chip-ahoyto.pages.dev
Cloudfare False master.chip-ahoyto.pages.dev

包功能

名称 描述
quirks 允许 CHIP-8 quirk 运行时评估,会带来性能惩罚。

构建

cargo build

Node.js 的 WASM

cargo install wasm-pack
wasm-pack build --release --target=nodejs -- --features wasm

Web 的 WASM

cargo install wasm-pack
wasm-pack build --release --target=web --out-dir=frontends/web/lib -- --features wasm
cd frontends/web
npm install && npm run build
cd dist && python3 -m http.server

Reason

是的,这就是模拟器名称背后的真实灵感

Chips Ahoy

灵感

许多文章和网站帮助我在构建模拟器的过程中,以下是一些。

文档

文章

许可

CHIP-Ahoyto 目前采用 Apache 许可证,版本 2.0

构建自动化

Build Status crates Status npm Status License

依赖项

~52–465KB