歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【NES】C言語でファミコンソフトをコンパイルして通す

ゲームボーイとりあえずキャラクターを動かす程度の実装はできるようになったのですが、ファミコンのほうが面白いんじゃないかと思って調べてみました。将来的には自作のファミコンプログラムでVJやるとかできたらかっこいいです。

こちらの記事によると、cc65というコンパイラ(?)を使えばC言語でソフトを作れるそうです。

blog.akiym.com

というわけで、↑の引用元であるこちらのサイトを参考にしつつ、とりあえずコンパイルを通してみます。

OSXへのコンパイラのインストールは brew install cc65 で済んでしまいました。

www34.atwiki.jp

#include <conio.h>


int main(void) {
    clrscr();
    cprintf("hello cc65");
    while(1);
    return 0;
}

Makefileはこんな風に記述しています。あまり記述方法わかっていない…。

main:
  cc65 -t nes main.c
  ca65 -t nes main.s
  ld65 -t nes main.o nes.lib atmos.lib -o main.nes

clean:
  rm main.o main.nes main.s

エミュレータで動かしてみます。

今回のプログラムです。

github.com