2 个版本

0.10.7 2024 年 8 月 8 日
0.10.5 2024 年 8 月 8 日

#172模拟器

Download history 204/week @ 2024-08-04 34/week @ 2024-08-11

每月 238 次下载
2 个 库中使用

Apache-2.0

5KB
87

Boytacean

一个用 Rust 编写的 Game Boy 模拟器 🦀。

这个模拟器是为了教育目的而编写的,不应过于认真对待。 但是,它确实可以玩大多数 Game Boy 游戏,这很酷... 🕹️

功能

  • Game Boy (DMG) 和 Game Boy Color (CGB) 模拟
  • 简单可导航的源代码
  • Web、SDLLibretro 前端
  • 音频,具有相当准确的 APU
  • 支持串行数据传输(《Game Link Cable》)
  • Game Boy 打印机模拟
  • 支持多个 MBC:MBC1、MBC3 和 MBC5
  • 使用 BESS 规范 支持跨兼容其他模拟器的保存状态
  • 使用《Game Genie》和《GameShark》代码支持作弊
  • 可变 CPU 时钟速度
  • 准确的 PPU - 通过 dmg-acid2cgb-acid2 测试

对于 Web 前端...

  • 移动优先体验
  • 使用 Web Storage API 实现透明 RAM 保存
  • 使用 Web Gamepad API 支持游戏手柄
  • 无障碍且有效的屏幕游戏手柄
  • 震动模拟和触觉反馈
  • TheWolfBunny64 构建的独特显示调色板。
  • 全屏浏览器模式
  • 调试模式 - VRAM 和寄存器

仍然缺少什么...

  • 低级周期准确的系统模拟
  • 《Game Boy Camera》模拟
  • NetPlay 游戏支持

部署

提供商 稳定 URL
Cloudflare 真实 boytacean.joao.me
Cloudflare 真实 boytacean.pages.dev
Cloudflare 真实 prod.boytacean.pages.dev
Cloudflare 真实 stable.boytacean.pages.dev
Cloudflare master.boytacean.pages.dev

构建

cargo build

Python 库

pip install .

python setup.py install

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

Web 前端

Web 前端使用 EmuKit,这是一个 UI 工具包,它提供了在 Web 环境中创建模拟器界面的所需基础设施。

配置

您可以使用一些 GET 参数来控制模拟器的初始行为。

参数 类型 描述
rom_url 字符串 将要加载初始 ROM 的 URL,应支持 CORS。
url 字符串 rom_url 相同。
fullscreen 布尔值 如果模拟器应以全屏模式启动。
fs 布尔值 fullscreen 相同。
debug 布尔值 如果“调试器”应以可见状态启动并在 verbose 模式下显示信息。
verbose 布尔值 如果应以详细模式显示信息。
keyboard 布尔值 如果屏幕键盘应以可见状态启动。
palette 字符串 启动时要设置的调色板名称(例如:christmashogwardsmariobros 等)。

调色板

Web 版本中提供的调色板由 TheWolfBunny64 提供。

灵感

要了解通过模拟器创建过程中的灵感资源,请查看 灵感

贡献

喜欢 Gameboy 模拟器吗?想为 Boytacean 做贡献?太棒了!您的贡献让开源社区成为了一个学习、灵感和创作的绝佳场所。

要开始,请查看我们的 贡献指南。无论您是在修复错误、添加新功能还是帮助编写文档,每一项贡献都是宝贵的,并且非常受欢迎!

如果您有任何问题,请不要犹豫,与我们联系。让我们共同努力,让 Boytacean 成为最好的 Gameboy 模拟器!

许可证

Boytacean 目前采用 Apache License, Version 2.0 许可。

构建自动化

Build Status crates Status npm Status PyPi Status License

依赖项

~0–5.5MB
~14K SLoC