Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 3.04 KB

1-introduction.md

File metadata and controls

31 lines (20 loc) · 3.04 KB

介绍

如果你真的想知道一台特定的计算机是如何工作的,那么没有比模拟那台计算机更好的学习方法了。在本书中,我们将深入了解有史以来最受欢迎的计算机之一,Nintendo(任天堂)的 Game Boy。我们将从无到有,一步一步地构建起 Game Boy。在这个过程中,我们不仅会对 Game Boy 会有更多的了解,还会对计算机的工作原理以及如何为其他类型的计算机系统构建模拟器有很好的了解。

需要知道什么?

假设我们只具备基本的编程知识和终端的相关知识。如果你之前已经用过任意编程语言,那么你就可以继续学习下去。我们将使用特定的语言 Rust 编程语言,但是如果你从未使用过 Rust,请不要担心;慢慢来,到了具体的时候我会贴出对应的学习资料。如果你想在学习 Rust 方面有一个好的开始,你可以阅读 Rust book 来学习。

如果你以前已经构建过模拟器,并且在寻找特殊的 Game Boy 资料,你会发现这本书会非常详细。我推荐 Pan Docs 作为快速了解 Game Boy 的资料。你还可以在参考指南中找到更多的资料。

为什么使用 Rust

对于许多模拟器项目,性能是一个关键因素。这意味着模拟器通常用偏底层语言编写,这样程序员就可以更容易编写高性能代码。虽然我们的 Game Boy 模拟器可以用诸如 JavaScript、Python 等语言来实现,但最好使用一种更适用于资源密集型模拟的语言(如索尼的 PlayStation 2 或者 任天堂的 Wii),以便这些技能可以用于以后的模拟项目。Rust 正好比较合适。

虽然也有如 C、C++ 等其他语言能给予模拟器所需的性能,但 Rust 的优势是比 C 或 C++ 对于初学者更加友好。与这些经典的语言不同的是,Rust 有可靠的包管理器,测试框架和构建工具,这会让使用现代语言的用户感到熟悉。Rust 社区也非常棒,对于学习非常有帮助。

最后,Rust 还具有跨平台特性 —— 我们将专注于 web 和桌面,但在未来,我们可能还能够将模拟器带到移动平台和嵌入式设备上!

setup

便于更好地开始,你可以选择你喜欢的文本编辑器和 Rust 相关的工具。按照 Rust 网站的介绍,你会了解如何安装可以接触 Rust 编译器的 rustup 工具链,它还能帮助你了解 Rust 构建工具、包管理工具 Cargo 以及一些其他工具,在后面的教程中会一一使用。

如果你已经成功安装了 Rust,你可以在你的终端下用命令来创建一个新项目:

cargo new emulator

进入到你的项目目录并查看。如果要运行这个项目,可以按照以下步骤:

cargo run

你已经开始上路了!让我们模拟吧!