< 返回版块

jerryshell 发表于 2024-11-26 13:34

Tags:chip-8

sierpinski

tetris

为什么推荐 CHIP-8

这个项目 需要 HTTP、数据库、Web 前端、3D 图形渲染的知识,只要你了解基本的计算机组成原理并且熟悉位操作就可以完成

非常适合刚看完 The Book 想找项目练手,但是又不想写 CRUD 的同学

这个项目的规模不大,利用空闲时间做的话应该不到一周就能完成

CHIP-8 的架构非常简单,只有 35 条指令,不仅有丰富的资料可以参考,并且周边的测试套件相当齐全,可以非常方便测试出哪条指令没有正确实现

CHIP-8 相当于模拟器开发领域的 Hello World,如果做完后对这一领域感兴趣想更加深入,还可以尝试实现 Game Boy、NES 等平台的模拟器,或者加入 r/EmuDev 看看大家都在鼓捣什么

我的 CHIP-8 实现:RSC8

https://github.com/jerryshell/rsc8

RSC8 使用 Rust 编写,测试表现与 chip8-test-suite 期待的一样

RSC8 主要分成了 2 个部分:

  1. rsc8_core: 零依赖 no_std 的 CHIP-8 核心实现
  2. rsc8_tui: 使用 ratatui 实现的 TUI,主要有 3 个作用:屏幕绘制、接收用户的键盘输入、根据 tick_rate 推动 rsc8_core 的步进

rsc8_core 本身就是一个数据驱动的 lib,未来打包成 WASM 放到浏览器中,或者移植到 Bevy Engine 都是可以的


Ext Link: https://github.com/jerryshell/rsc8

评论区

写评论
作者 jerryshell 2024-11-28 20:06

chip8-test-suite 的 README 里有说:8-scrolling.ch8 仅适用于 SUPER-CHIP 和 XO-CHIP,因为常规 CHIP-8 没有滚动指令

--
👇
SleepyBoy: 测了下 chip8-test-suite:8-scrolling.ch8这个好像跑不动哇,会出现栈指针减到溢出的问题

LazyQc 2024-11-28 16:46

测了下 chip8-test-suite:8-scrolling.ch8这个好像跑不动哇,会出现栈指针减到溢出的问题

1 共 2 条评论, 1 页