バージョン1.2.0・MSX-DOS2/Nextor用
MSXの上で動くZ80アセンブラーとリンカー
Tataraは、Z80のアセンブリ言語で書いたプログラムを、MSXで動くプログラムにします。プログラムを書き、アセンブルし、リンクし、実行するまでを同じマシンで行えます。エミュレーターでも同じように動きます。MicrosoftのMACRO-80と同じアセンブリ言語を読むので、MACRO-80向けに書かれたプログラムや書籍も利用できます。
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つの仕事をします。