Z80開発環境構築

Z80の開発環境の構築について

Z80のソフトウェア開発はアセンブリ言語を用いて行います。アセンブリ言語(単純にアセンブラと呼ばれることのほうが多い)は、コンピュータが理解できるマシン語を人間がわかりやすいように記述したものです。したがってアセンブリ言語からマシン語への変換作業が必要になります。

手作業でマシン語に変換する「ハンド・アセンブル」という手法もありますが非常にめんどくさいので「Z80アセンブラ」を使用してこの作業を自動化します。

書き込みまでの流れ
——————————————————————
アセンブリ言語記述

アセンブラ(ハンド・アセンブルでもOK)

マシン語

HEXファイル(ROMライターによる。なくてもOK)

ROMライター

ROM化
——————————————————————

アセンブラのダウンロードとツール登録

ASxxxx Cross Assemblers
... ASxxxx Cross Assembler and Linker Documentation ...

HPトップ下のほうの「Get the “ASxxxx Cross Assemblers”」

実行ファイルだけあればよいので「Executables Only Distributions」から
「VS 2015 executables as a zipped file (7353K)」をダウンロード
windows10環境なので、できるだけ新しいVSでコンパイルされたものを選択

ダウンロードしたファイルは解凍して適当な場所に保存しておきます。
様々なCPUに対応したアセンブラがまとめて圧縮されています。
この中で必要なのは「asez80.exe」と「aslink.exe」だけです。
「asez80.exe」がアセンブラ本体で「aslink.exe」はHEXファイルを作るときに必要です。

ASxxxxアセンブラはコンソールアプリケーションなのでコマンドプロンプトから
引数をセットして使用します。

これだと何度もアセンブルする場合に大変なのでバッチファイルを作成して
「TeraPad」に組み込んで開いたファイルを直接アセンブルできるようにしています。

「asez80.exe」を起動するバッチファイルを作成して
そのバッチファイルを「TeraPad」から起動するという流れです。
バッチファイル

「TeraPad」へツール登録

アセンブラを実行するといくつかのファイルが生成されます。
.lstファイルの中身を見てみます。赤枠部分にアドレスとマシン語が記載されています。
正常にアセンブルできていることがわかります。

ソースコードにエラーがある場合はエラー行のメッセージが出力されます。
この出力ファイルを「aslink.exe」に与えることでHEXファイルを生成することもできます。
とりあえずアドレスとマシン語がわかれば何とかなるのでこれで終了です。
ROMライター側がまだ HEXファイル形式に対応していないので…….

今回は「TeraPad」と組み合わせましたが
「TeraPad」だとアセンブリ言語にシンタックスハイライトがつかないので
ほかのエディタに統合して使ったほうがよさそうです。

結局ソースファイルの編集は「Visual Studio Code」使っていますし….
こっちはアドオンを入れることで色分けしてくれます。

コメント

  1. 早起き より:

    すいません、非常に基礎的なことで、お手数おかけいたしますが。秋月電子のaki-80シリーズについてお聞きしたいのですが。
    ・モニタromセットは、Windows10、11で使用可能でしょうか?
    ・aki-80(super aki-80)は、モニタロムなし(ロムライターで書き込んだeprom)で動かせるでしょうか?

    よろしければアドバイスお願いいたします。

    • yoshikiyo より:

      aki-80については使ったことがないので詳しくないのですが資料を参照したところ以下のような感じかと思います。
      ・モニタromセットは、Windows10、11で使用可能でしょうか?
       →モニタromはaki-80に実装して動作させるためのもの。CコンパイラはPC上で動作させるようですが詳細不明でした…
      ・aki-80(super aki-80)は、モニタロムなし(ロムライターで書き込んだeprom)で動かせるでしょうか?
       →ROMは0x0000からスタートするようになっているので、独自のプログラムを書き込んだEPROMで動かせるのではと思います。

      • 早起き より:

        ご回答ありがとうございます。
        学校で習ったsuper akiが立ち上げられず、挫折して、ずっと引っ掛かってたので。
        最近まで俗にいう「わからないところがわからない」状態でした。
        ありがとうございました。