Tatara

バージョン1.2.0・MSX-DOS2/Nextor用

MSXの上で動くZ80アセンブラーとリンカー

Tataraは、Z80のアセンブリ言語で書いたプログラムを、MSXで動くプログラムにします。プログラムを書き、アセンブルし、リンクし、実行するまでを同じマシンで行えます。エミュレーターでも同じように動きます。MicrosoftのMACRO-80と同じアセンブリ言語を読むので、MACRO-80向けに書かれたプログラムや書籍も利用できます。

Tatara 1.2.0をダウンロード マニュアルを読む

Apache License 2.0のもとで公開しているフリー・ソフトウェアです。マニュアルには日本語版と英語版があり、オンラインでもPDFでも読めます。

A:\TATARA\EXAMPLES\HELLO>tatara hello.as hello.tro
Tatara MSX Macro-Assembler v1.2.0
Copyright (C) 2026 Javier Lavandeira
https://tatara.tools

ended at HELLO.AS(22)

A:\TATARA\EXAMPLES\HELLO>tanren /o:hello.com hello.tro
Tatara MSX Linker v1.2.0
Copyright (C) 2026 Javier Lavandeira
https://tatara.tools

1 module, 7 records, ends at EOF.
Wrote HELLO.COM, 0100-0121 (34 bytes), entry 0100.

A:\TATARA\EXAMPLES\HELLO>hello
Hello from Tatara.
マニュアルの最初のプログラムをアセンブルし、リンクし、実行したところ。

1つのパッケージに2つのプログラム

TATARA アセンブラー

ソース・ファイルを読み、オブジェクト・ファイルに変換します。オブジェクト・ファイルはマシン語ですが、まだ実行できるプログラムではありません。

TANREN リンカー

1つ以上のオブジェクト・ファイルを結合し、それぞれの部分をメモリのどこに置くかを決めて、完成したプログラムを書き出します。

できること

長いシンボル名

名前には255文字まで使えます。/Cオプションで大文字と小文字を区別することもできます。

マクロと条件付きアセンブル

一度書いたコードを何度でも使えます。アセンブルするときに、プログラムの一部を含めたり除いたりすることもできます。

独自のデータ、コード、トランジェントのセグメント

コードとデータを別々のセグメントに分けて置き、名前を付けることができます。トランジェント・データ・セグメントでは、プログラムの一部分でしか使わないデータどうしが、同じメモリを共有します。

サブディレクトリに完全対応

ソース・ファイル、インクルード・ファイル、オブジェクト・ファイルは、MSX-DOS2のディレクトリのどこに置いてもかまいません。インクルード・ファイルは3か所から探され、環境変数TATARAとTANRENで探す場所を追加できます。

MSXのシステム全体を定義したインクルード・ファイル

BIOSとSUB ROMのエントリー・アドレス、フック、システム・ワーク・エリア、MSX-DOS2のファンクションとエラー・コード、I/Oポート、拡張BIOSを、9つのインクルード・ファイルで定義しています。名前はMSXの資料と同じです。アドレスや番号を調べなくても、CHPUT、H.TIMI、_STROUTと書けます。

大きなプログラムを作る

表と作成中のプログラムはメモリ・マッパーに置かれます。作れるプログラムの大きさは、MSX-DOSが空けておくメモリではなく、MSXに搭載されたメモリの量で決まります。

外部ファイルから指示を読み込む

ファイルの一覧やオプションをテキスト・ファイルに書いてTANRENに渡せます。MSX-DOSのコマンドラインの127文字の制限を受けません。

自分の書いた行を示すエラー

エラー・メッセージには、自分で書いたファイルと行が示されます。その行がマクロや取り込んだファイルから来たものでも同じです。

ROM、.COM、BLOAD用のバイナリを作る

TANRENは、ROMカートリッジのイメージ、MSX-DOS用のプログラム、MSX-BASICのBLOAD用のバイナリ、任意のアドレス用のコードのイメージを書き出せます。

R800の命令

MSX turbo Rの乗算命令、MULUBとMULUWもアセンブルできます。

未公開命令

SLLや、IXHとIXLを使う命令など、MSXのプログラムが使うZ80の未公開命令もアセンブルできます。

必要なもの

  • MSX-DOS2またはNextorが動くMSX2以降の機種。これらを動かせるエミュレーターでもかまいません。
  • メモリ・マッパー。MSX-DOS2が動くMSXには、すでに備わっています。
  • プレーン・テキストのファイルを保存できるエディター。

インストールのしかたと最初のプログラムの作り方は、入門のページで説明します。

名前の由来

たたらは、砂鉄と木炭を3日ほどかけて燃やし、玉鋼(たまはがね)を作る粘土の炉です。鍛錬は、そのあとに続く鍛造の作業です。刀匠は玉鋼を熱し、打ち、折り返して、刀に仕上げます。アセンブラーとリンカーは、プログラムに対してこれと同じ2つの仕事をします。