CC65 开发FC/NES 游戏(一)环境搭建
程序员文章站
2023-12-29 14:51:22
...
童年的红白机(又叫FC,美国叫NES)
开发语言,早期的码农们用的是6502的CPU上的汇编语言ASM(其实跟单片机差不多)
简单的说不同的芯片提供了一堆指令让用户编程调用,但其实都是单调的地址引用赋值,还有各种寄存器(虽说学过51单片机的汇编,但当时的东西都还给老师了)
对于现在的我们来说,也许或多或少还是能懂C语音的东西
现在有了COCOS U3D 虚幻 等各种各样的引擎让我们能做游戏,不仅是电脑,还有手机,各大游戏主机
但是对于童年的怀念还是想试着写一个FC的游戏
下面是纯干货 不扯乱七八糟的了
首先项目的主站(刚才看的时候这个项目还有在维护和代码的提交)
主站 https://cc65.github.io/
项目 https://github.com/cc65/cc65
win环境的代码 https://sourceforge.net/projects/cc65/files/cc65-snapshot-win32.zip (后面要用的也是这个)
我用的时候某些放在amazon的下载墙里可能不是很好下到,放在最下面了
特别注意:
网上很多资料都是 cc65-2.13.x
目前github上的版本是 cc65-2.17.x 区别还是有些的
也就是说你网上看到的很多资料都只能用 2.13才能编译通过,我目前用的是 2.17
我使用的环境是win7 x64所以后面的图片都是基于win7的截图
首先是环境的搭建
1.下载win环境的cc65
2.解压缩到c盘 c:\cc65\ (也就是说打开这个目录要能看到bin文件)
你也可以放到其他地方,不过对应的配置需要你自己去修改了
3.修改环境变量(看截图)
CC65_HOME=c:\cc65
CC65_INC=c:\cc65\include
CC65_LIB=c:\cc65\lib
path的结尾加上 %CC65_HOME%\bin 注意分号分隔(这个我没截图)
4.测试
开始-运行 打开cmd
输入 cc65 -V 就是查看当前版本(2018-10-24的时候版本号是 cc65 V2.17 - Git f11ae87)
cc65 -h 查看帮助命令(不截图了,自己配好了试试)
ok
以上就是基础环境的搭建
下一篇是程序猿期待的 hello world
PS:关于IDE或者说用什么开发? 随便了,java程序猿不会.net木有也懒得装vs,凑合用普通的编辑器或者记事本吧
写在最后
网上虽然罕见的能找到些 CC65的资料但是都比较旧了有些东西在默默的改变着
比如:waitvblank() 改名为 waitvsync()
这个函数的作用说白了就是 sleep()
但是git上对这个改变很奇怪,明明是没有合并进来,最后又改了,我也就没细追究这部分代码何时改变的
开发语言,早期的码农们用的是6502的CPU上的汇编语言ASM(其实跟单片机差不多)
简单的说不同的芯片提供了一堆指令让用户编程调用,但其实都是单调的地址引用赋值,还有各种寄存器(虽说学过51单片机的汇编,但当时的东西都还给老师了)
对于现在的我们来说,也许或多或少还是能懂C语音的东西
现在有了COCOS U3D 虚幻 等各种各样的引擎让我们能做游戏,不仅是电脑,还有手机,各大游戏主机
但是对于童年的怀念还是想试着写一个FC的游戏
下面是纯干货 不扯乱七八糟的了
首先项目的主站(刚才看的时候这个项目还有在维护和代码的提交)
主站 https://cc65.github.io/
项目 https://github.com/cc65/cc65
win环境的代码 https://sourceforge.net/projects/cc65/files/cc65-snapshot-win32.zip (后面要用的也是这个)
我用的时候某些放在amazon的下载墙里可能不是很好下到,放在最下面了
特别注意:
网上很多资料都是 cc65-2.13.x
目前github上的版本是 cc65-2.17.x 区别还是有些的
也就是说你网上看到的很多资料都只能用 2.13才能编译通过,我目前用的是 2.17
我使用的环境是win7 x64所以后面的图片都是基于win7的截图
首先是环境的搭建
1.下载win环境的cc65
2.解压缩到c盘 c:\cc65\ (也就是说打开这个目录要能看到bin文件)
你也可以放到其他地方,不过对应的配置需要你自己去修改了
3.修改环境变量(看截图)
CC65_HOME=c:\cc65
CC65_INC=c:\cc65\include
CC65_LIB=c:\cc65\lib
path的结尾加上 %CC65_HOME%\bin 注意分号分隔(这个我没截图)
4.测试
开始-运行 打开cmd
输入 cc65 -V 就是查看当前版本(2018-10-24的时候版本号是 cc65 V2.17 - Git f11ae87)
cc65 -h 查看帮助命令(不截图了,自己配好了试试)
ok
以上就是基础环境的搭建
下一篇是程序猿期待的 hello world
PS:关于IDE或者说用什么开发? 随便了,java程序猿不会.net木有也懒得装vs,凑合用普通的编辑器或者记事本吧
写在最后
网上虽然罕见的能找到些 CC65的资料但是都比较旧了有些东西在默默的改变着
比如:waitvblank() 改名为 waitvsync()
这个函数的作用说白了就是 sleep()
但是git上对这个改变很奇怪,明明是没有合并进来,最后又改了,我也就没细追究这部分代码何时改变的