新規の、あるいはある程度の規模のプログラムを作成するのであれば、Cコンパイラを使うのが主要な選択肢になりそうですが、古き日のアプリケーション:典型的にはBASICインタプリタなどを移植するには、そもそものコードがアセンブリ言語で書かれているのでアセンブラの独壇場でしょう。

1970-1980年代のアプリケーション、例えばこのマニュアルで紹介しているモニタ、BASICインタプリタなどの6502-COREへの移植にも、アセンブラが大活躍しています。

アセンブリ言語で書かれたプログラムを機械語に変換し、6502-CORE で実行できるようにするためには、アセンブラが必要です。

また、作業環境や利便性を考えると、6502-COREの上で動かすセルフアセンブラではなく、WindowsやLinuxなどの上で動かすクロスアセンブラを使うのが一般的だと考えられます。

インターネット上で検索すると \mpu 用の沢山のアセンブラが提供されているので、時間がある場合にはいろいろと試してみて、自分の用途や記述法にあったアセンブラを見つけて利用するとよいでしょう。

とはいっても、むやみに探したり時間をかけるのは大変なので、3つほどクロスアセンブラを紹介します。

  • The Macroassembler AS
  • アークピットのアセンブラ X6502
  • ca65: Cコンパイラに付属するアセンブラ

3者とも、WEB上の記事でもよく使用が報告されている(X6502は使いやすいだけでなく、日本製ということもあって、国内では好んで使われているように思います。残念なことに、パッケージを無償で公開していたオリジナルサイトが閉じてしまいました。)クロスアセンブラだと思います。

これらはすべて、Wondows上で利用することができます。

最初のca65は、独立したアセンブラではなく、\ref{sec:prog-c}章で紹介したCコンパイラに付属するアセンブラで6502専用です。

他の2つは純粋なクロスアセンブラで、6502以外の多くのマイクロプロセッサに対応しており、異なるマイクロプロセッサでも共通の使用感でプログラミングを楽しむことができます。

利用者により意見が異なるでしょうが、手軽にプログラムを開発するのであれえば、アークピットのアセンブラ X6502、大規模なプログラムを作成するのであればcc65というように使い分けています。

The Macroassembler ASは、自分でプログラムを作り始める場合には、基本的に選択子にはありませんが、他の開発者が作成されたコードを利用させていただくときにThe Macroassembler ASが使われていることがあり、その場合に利用しています。