This project is the first entry in what I hope will be a long line of projects aimed at recreating classic video games
for the Nintendo Entertainment System on an open source basis.
The purpose of these projects is to get more enthusiastic people interested in programming for the NES by providing code examples
and providing a starting point for developing new games from scratch.
This particular project aims to recreate the classic game Snake, also known as Nibbles. As it is the first of its kind in this series of projects, it is reduced to the core mechanics of the original game, in order to avoid information overload for future beginners but also because of the lack of knowledge of the main author at that time .
The project was programmed entirely in C, using Shiru's NESLib and the cc65 cross compiler (for more references see the Toolkit section).
This project is licensed under the zlib license. See also the attached README file.
cc65 cross compiler v.2.5 - A freeware C compiler for 6502 based systems 下载发行版
Shiru's NESLib - An programming library on top of cc65 for more comfortable NES development. See also the more up to date fork here.
Tile Molester v.0.16 - A tileset editor, for designing tiles/sprites
NES Screen Tool v.2.04 - A tool that allows to create and edit NES nametables, attributes, palettes, patterns (tiles), and metasprites
FamiTracker v.0.4.2 - Famous tracker for producing music for the NES/Famicom-systems
Doxygen v.1.8.12 - Code documentation tool for C/C++ projects
FCEUX v.2.2.3 - Famous NES emulator in the homebrew scene with many debugging utilities.
NesDev Forum - You will always find friendly, skilled and helpful people in this community, who are willing to help with problems you are facing during your project.
Nerdy Nights Tutorials - Even if it is based on introducing you to assembly, this is the classic lecture for understanding the NES architecture for many years.
To build a .NES
rom from the project's sources, execute the build script at build/build.sh
from the build
directory or the script build/build.bat
if you are working on Windows. Note that these scripts depend on the cc65 cross compiler, so you need ensure that this is available on your system.
进入build文件夹里面,改动build.bat里面的“SET COMP_DIR=绝对路径”。直接双击运行 build.bat
This project provides VS Code Development Container configuration at .devcontainer/
. Via this configuration, you automatically have a complete development environment for developing NES games.
Feel free to fork this project and extend it. If you find bugs, please submit them as issues so we can discuss together how you can fix them. All your contributions need to include explaining Doxygen comments in order to share your knowledge with future contributors and maintaining the project's code documentation.
给window编译脚本build.bat增加了一些编译器选项,使之能输出dbg文件,用于mesen等模拟器实时调试,类似gdb调试的符号表,方便开发者。 编译器的命令解释,参考 cc65-snapshot-win32\html\index.html
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型