记事本编辑文件 helloworld.c
Helloworld.c代码
1
2
3
4
5
6
|
#include <conio.h>
void main()
{
cprintf("Hello World!");
while(1){}
}
|
备注:正常的C语音使用的是 printf 但是CC65使用的是 cprintf 用来在屏幕显示字符串
while是为了让程序进入死循环不会退出,如果你想看看没有最后的死循环是啥样的我只能提前告诉你结果 — 屏幕一片漆黑,这就好像你执行一个 bat 最后不加 pause 的话都是一闪就没一样的意思
另外让程序进入死循环的还有 for(;;); 这个也是不停的循环没有退出
cmd进入上面编辑的文件夹中 执行下面的命令就可以生成helloworld.nes文件
cmd 命令
1
|
cl65 -t nes -o helloworld.nes helloworld.c
|
![](/images/2022/01/fc0a49bc42c768a57fc25153be693f02.png)
用模拟器打开生成的nes文件就可以看到结果了
![](/images/2022/01/5cf542aa5c45c3a3c38f15a5926471ee.png)
从上面的文件我们可以看到
先生成的文件是 helloworld.o 然后才是生成 helloworld.nes 文件
用过c的这些应该都了解,我这个对c一知半解的就不多说了
下面再放上两段 helloacm.com 看来的代码
https://helloacm.com/category/6502/
C代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include "conio.h"
void main(){
unsigned int s = 0;
int i = 0;
cprintf("6502-C Compiler. \r\nhttp://HelloACM.com\r\n");
cprintf("Size Of int = %d\r\n", sizeof(int));
cprintf("Size Of long = %d\r\n", sizeof(long));
cprintf("Size Of char = %d\r\n", sizeof(char));
cprintf("Size Of float = %d\r\n", sizeof(float));
cprintf("Size Of double = %d\r\n", sizeof(double));
cprintf("Size Of short = %d\r\n", sizeof(short));
for (i = 0; i <= 100; i ++) {
s += i;
}
cprintf("Sum = %d\r\n", s);
for(;;); // loop forever, never ends
}
|
这里是为了让学习者了解 int char float double short
长度,跟java还有其他语言不一样的地方,也是因为这个 6502的8位芯片的限制
下面是运行截图
补充 long 是4长度 我就不再截图了
![](/images/2022/01/a0993cd6694f2da31131830ddf0a0b22.png)
C代码
1
2
3
4
5
6
7
8
|
#include "conio.h"
void main(){
unsigned int i;
for (i = 1; i < 256; i ++) {
cprintf("%c", (char)i);
}
for(;;); // loop forever, never ends
}
|
上面这个代码会在屏幕显示ASCII 看下面运行截图
![](/images/2022/01/650c1f595e6cec7d3fede6880083240e.png)
通过上面的代码,现在你可以试着通过学过的其他语言试试你想要运行的东西
后面的内容还在整理,摇杆的获取同屏幕显示的互动 上上下下左右左右BABA start