FM-7/8シリーズ用プログラミング言語とその処理系


本ページでは、FM-7/8シリーズ用プログラミング言語とその処理系について紹介しています。 ただし、市販OS用のものは除きます。(各OSのページで紹介予定です。) すなわち、本ページで紹介しているソフトウェアはほどんどがF-BASICファイルシステムで動作するものです。
各画面キャプチャについては、XM7を使用させていただきました。 PI.さん、たけがみりうさん、いつも感謝しております。
また、本ページの各表の作成にはThinkさんのCSV→Table変換サイトのお世話になりました。 ありがとうございました。

お急ぎの方へ。
≪言語別コーナー≫
アセンブラ、逆アセンブラ、デバッガKコンパイラTL/1コンパイラ


8. FM-7/8シリーズ用プログラミング言語とその処理系

≪言語別コーナー≫

8.1 アセンブラ、逆アセンブラ、デバッガ

● F-BASICに次いで(?)良く使われたのが、このアセンブラ関係だと思います。
各社より多数発売、各誌・書で多数発表されていました。
はせりんの知る限りの情報を下記にまとめておきましたが、モレもあると思います。
ご存じの方はぜひお知らせください。
市販のもの(雑誌掲載のカセットサービス等除く)
提供元 発売年月 型格 品名 価格 機種 メディア エディタ アセンブラ 逆アセンブラ デバッガ 備考
富士通 1981年5月 SM07217-A011 アブソリュートアセンブラ 18,000 FM-8 5inch 2D ソースはF-BASICテキストのコメントで記述
1982年5月 SM07217-A012 アブソリュートアセンブラ 18,000 FM-8 8inch 2D ソースはF-BASICテキストのコメントで記述
1981年5月 SM07217-G001 デバッガ・逆アセンブラ 15,000 FM-8 5inch 2D
1982年5月 SM07217-G002 デバッガ・逆アセンブラ 15,000 FM-8 8inch 2D
1982年11月 SM07317-A111 アブソリュートアセンブラ 18,000 FM-7 5inch 2D ソースはF-BASICテキストのコメントで記述
1982年11月 SM07317-G101 デバッガ・逆アセンブラ 15,000 FM-7 5inch 2D
1984年5月 SM07317-L103 F-BASIC Tool Box V1.0 22,000 FM-77 3.5inch 2D アセンブラ、デバッガ・逆アセンブラ、倍精度関数ライブラリ
1984年5月 SM07317-L104 F-BASIC Tool Box V1.0 22,000 FM-7/ NEW7 5inch 2D アセンブラ、デバッガ・逆アセンブラ、倍精度関数ライブラリ
COMAS COMAS-FAC 8,000 FM-8 TAPE アセンブラ
COMAS-FGC 4,000 FM-8 TAPE 逆アセンブラ
COMAS-FDC 8,000 FM-8 TAPE デバッガ
COMAS-FDT 48,000 FM-8 5inch 2D 独自ファイルシステム、後に\28,000に値下げ。
1983年5月頃 COMAS-FDT2 33,000 FM-7,8 5inch 2D TRACE機能追加。
橋口技研 6809アセンブラ 8,000 FM-7/8 5inch 2D
6809逆アセンブラ 8,000 FM-7/8 5inch 2D
6809デバッガ 12,000 FM-7/8 5inch 2D
アートディンク/OA:サービス研究所 6809 ASSEMBLER-AD 7,900 FM-7/8 TAPE ソースはF-BASICテキストのコメントで記述
6809 ASSEMBLER-AD 9,800 FM-7/8 5inch 2D ソースはF-BASICテキストのコメントで記述
6809 ASSEMBLER-AD 9,800 FM-77 3.5inch 2D ソースはF-BASICテキストのコメントで記述
6809 DISASSEMBLER-AD 7,900 FM-7/8 TAPE
6809 DISASSEMBLER-AD 9,800 FM-7/8 5inch 2D
6809 DISASSEMBLER-AD 9,800 FM-77 3.5inch 2D
CORE-AD 6,900 FM-7/8 TAPE
CORE-AD 7,900 FM-7/8 5inch 2D
CORE-AD 7,900 FM-77 3.5inch 2D
キャリーラボ CS-61 BASE09 14,000 FM-7/8 TAPE (市販版、デバッガが添付されている)
Sofix Debug-Boy 6809 12,000 FM-7/ NEW7 5inch 2D
Debug-Boy 6809 12,000 FM-77 3.5inch 2D
ツクモ C-DOS7 Ver 2.0 9,800 FM-7/ NEW7 5inch 2D 拡張モニタ内にミニアセンブラ、逆アセンブラ、デバッガ内蔵
雑誌・書籍掲載のもの
出版元 発行年月 掲載誌・書 タイトル 掲載ページ 機種 作者・開発元 エディタ アセンブラ 逆アセンブラ デバッガ 備考
アスキー 1983年10月 アスキー MIGHTY-7 272 FM-7/8 c.mos(兵藤 嘉彦)氏
工学社 1982年3月 I/O エディタ・アセンブラ 257 FM-8 馬場 二郎氏 ファイル管理はF-BASIC等で行う
工学社 1983年5月 I/O エディタ・アセンブラ V2.0 260 FM-7/8 馬場 二郎氏 ファイル管理はF-BASIC等で行う
工学社 1984年12月 I/O エディタ・アセンブラ V3.1 241 FM-7/8 馬場 二郎氏 ファイル管理機能あり
工学社 1983年7月 I/O エディタ・アセンブラV2.0 を ALL RAM MODE で使う 304 FM-8 庄野 温夫氏
工学社 1984年6月 I/O エディタ・アセンブラ V2.0 のFM-11への移植 232 FM-11 猪股 宏文氏
工学社 1983年8月 I/O MTOOL09 314 FM-7/8 越野 洋介氏 アブソリュートアセンブラ用ソース
工学社 1983年10月 I/O MTOOL09の出力をエディタ・アセンブラV2.0に 314 FM-7/8 エンジンルームS.N. エディタ・アセンブラV2.0用ソース
工学社 1984年1月 I/O URA DOS添付のSUPER MONITOR 341 FM-7 DOSのTom氏
工学社 1984年4月,5月,6月,7月 I/O BASE09 273, 261, 337, 306 FM-7/8 キャリーラボ 独自BIOS、ファイル管理はテープのみ
工学社 1982年6月 I/O U-MONITOR 216 FM-8 上野 俊見氏
工学社 1982年9月 I/O F-BASIC EXPANDER内の拡張モニタ 345 FM-8 笠作 貴弥氏
工学社 1983年6月 I/O F-BASIC EXPANDER内の拡張モニタ 293 FM-7 笠作 貴弥氏
工学社 1987年2月 I/O Draco-C用 asmb 185 FM-7/N7/77 笠 晃一氏 ソースはF-BASICテキストのコメント文
工学社 1987年3月 I/O FM-Pascal用 asm & edit 183 FM-7/N7/77 黒姫氏
工学社 1982年7月20日 FM-8活用研究 6809デバッガ 44 FM-8 笠作 貴弥氏
6809 SUPER TRACER V2.9 48 FM-8 Mr. かれきさん氏
6809エディタ・アセンブラ 35 FM-8 馬場 二郎氏
2PASS DISASSEMBLER 39 FM-8 馬場 二郎氏 6809エディタ・アセンブラ用ソース
スクリーン・アセンブラ 26 FM-8 アニーバンネス氏
工学社 1983年7月25日 FM-7/8活用研究 SUPER MONITOR 16 FM-7/8 アニーバンネス氏
エディタ・アセンブラ V2.0 27 FM-7/8 馬場 二郎氏
F-BASIC EXPANDER内の拡張モニタ 57 FM-7/8 笠作 貴弥氏
工学社 1984年4月10日 FM-7/11活用研究 URA DOS添付のSUPER MONITOR 113 FM-7 DOSのTom氏
エディタ・アセンブラ⇔BASICコミュニケーションプログラム 121 FM-7 吉川 尚之氏 エディタ・アセンブラV2.0 をALL RAM MODEで使う。
システム開発用簡単エディタ EDIT_S 160 FM-7/11 T.T.S.氏 ファイル管理はF-BASIC等で行う
工学社 1985年3月15日 FM-7/11活用研究[第2集] BASE09 17 FM-7/8 キャリーラボ
エディタ・アセンブラ V3.1 49 FM-7/8 馬場 二郎氏
MTOOL09 73 FM-7/8 越野 洋介氏 アブソリュートアセンブラ用ソース
Semi-Automatic Disassembler 189 FM-7/8 越野 洋介氏
エディタ・アセンブラ V2.0 のFM-11への移植 176 FM-11 猪股 宏文氏
ソフトバンク 1987年6月 Oh!FM スーパー簡易アセンブラ 122 FM-7
ソフトバンク 1987年9月 Oh!FM トレーサ&ディスアセンブラ 42 FM-7/8/ 11
ソフトバンク 1988年8月 Oh!FM 標準マクロアセンブラ D-ASM 18 FM-7/77 /AV 滝本 真澄氏 裏RAM上に常駐
エディタアセンブラ BASM 60 FM-7/8/ 11 加藤 宏光氏
スクリーンエディタ BAS-DUET 51 FM-7/77 /AV 三谷 直之氏
ASM-JOIN 58 FM-77 /AV 三谷 直之氏 D-ASMとBAS-DUETの切り替え
ソフトバンク 1989年6月 Oh!FM 6809用トレーサ Dr.コロンボ 72 FM-7/77 /AV
ソフトバンク 1989年8月 Oh!FM 6809ソースジェネレータ Dr.ルパン 120 FM-7/77 /AV
ソフトバンク 1990年1月 Oh!FM ソースオプティマイザ ライト兄弟 108 FM-7/77 /AV
徳間書店 1984年10月 テクノポリス テクポリ特製アセンブラ 121 FM-7 イイシャンテン氏 ソースはF-BASICテキストのコメントで記述
CQ出版 1982年8月 インターフェース ASSIST09のFM-8への移植 138 FM-8 高橋豊氏 オリジナルはMOTOROLA社
ソフトバンク 1985年8月18日 FMマシン語活用レクチャー MY ASSEMBLER 215 FM-7/N7 /77/8 河合 宏之氏 ISBN4-930795-109-C0055 \2000E
ソフトバンク 1985年12月18日 Making of 6809 Assembler―作って学ぶエディタ・アセンブラ アセンブラ V1.0 97 FM-7/N7 /77 菅原 博英氏 ソースはF-BASICテキストのコメントで記述
エディタ・アセンブラ V2.0/2.1/2.5 189 FM-7/N7 /77 菅原 博英氏 ISBN4-930795-13-3-C0055 \2500E
秀和システム 1985年4月22日 FM-7シリーズ解析マニュアルエクストラ ASM9 205 FM-7/N7 /77 北島 秀樹氏 ソースはF-BASICテキストのコメントで記述
ISBN4-87966-044-2 C0000 \2500E
秀和システム 1984年6月24日 FM-7/N7/77ユーテリティプログラム応用実例集 拡張モニタ EXMON 11 FM-7/N7 /77 塩見 真一氏 ISBN4-87966-020-5 C0000 \2500E
フルスクリーンエディタ EDIT20 97 FM-7/N7 /77 箕原 辰夫氏
ミニアセンブラ MINIASM9 196 FM-7/N7 /77 小関 順氏
ディスアセンブラ DISASM 247 FM-7/N7 /77 中村 英都氏
シミュレーションデバッガ DEBUG 273 FM-7/N7 /77 印南 比呂志氏
ネットで公開のもの
Aufheben Software OS-0 OS-0付属のED FM-7/N7 /77 大山 礼仁氏 http://software.aufheben.info/ooholdpc/os0.html
OS-0付属のASM0 FM-7/N7 /77 大山 礼仁氏
OS-0付属のDISASM0 FM-7/N7 /77 大山 礼仁氏
アセンブラ:◎=マクロ機能あり、△=ラインアセンブラ
逆アセンブラ:○=ソースジェネレート、△=ライン逆アセンブラ
デバッガ:○=ブレークポイント、もしくはトレース機能

●富士通製アブソリュートアセンブラです。(各画像をクリックするとフルサイズの画像になります。)

ASM09_000
・まずは起動画面です。
・SOFT:FM-7 アブソリュートアセンブラ V1.1
・型格:SM07317-A111
・機種:FM-7シリーズ、FM-8 + F-BASIC V2.0
・起動:F-BASIC V3.0 L1.0 (830311版)
・動作条件:F-BASIC V2.0以上(FM-8可)
・オリジナルフロッピーは F-BASIC V3.0 L1.0 で起動します。
 ドライブ数、ファイル数はデフォルトの通り(=2 drive, 1 file)とします。
 (増やすとメモリ不足で動作しない可能性があります。)
 サンプルプログラム等も添付されず、あっさりとした内容です。

ASM09_001
・せっかくなのでサンプルプログラムを作成してみます。
・F-BASIC のコメント行で記載します。作成後に、忘れずに アスキーセーブ します。

ASM09_002
・上記をアセンブルしてみた結果です。
・SOFT:FM-7 アブソリュートアセンブラ V1.1
・PROGRAM:ASM09、ASM09EB
・ソースファイル指定は必須です。リスト出力とオブジェクト出力は省略可能です。
・LIST DEVICE は、"SCRN: もしくは "LPT0: を指定します。
・この例ではオンメモリにオブジェクトコードを生成しているので、即実行してみてます。


サポートされている入出力ファイル・デバイスは次の通りです。

ファイル入出力 直接出力
カセット ディスク バブル メモリ 画面 プリンタ
ソース
オブジェクト
リスト
ソースファイルは、F-BASIC のコメント文(')で記述し、かつアスキーSAVEされている必要が
あります。
どれだけ使っていた人がいたか微妙ですが、カセットベースでの運用も可能となっています。
この場合、オブジェクトはメモリに出力して、別途カセットにセーブする必要があります。
バブルメモリカセットは、FM-8 + F-BASIC V2.0 で利用する場合に使用可能です。
オブジェクトをメモリに出力する場合には、 $4000〜$6FFF の範囲にしないと、アセンブラ
やDISK BASICを破壊しますので要注意です。
オブジェクトをオンメモリに出力するか否かは、ASM09の操作では指定できず、ソースファイル
中の OPT疑似命令で指定します。(これはかなり不便な仕様と思います。)

OPT疑似命令(*はデフォルト設定値)
* OBJ  ファイルにオブジェクトコード生成する
 NOOBJ ファイルにオブジェクトコード生成しない
* MEM  オンメモリにオブジェクトコード生成する 
 NOMEM オンメモリにオブジェクトコード生成しない
* LIST  ソースおよびオブジェクトコードのリストを生成する
 NOLIST ソースおよびオブジェクトコードのリストを生成しない
* GEN  リスト生成時、FCC/FCB/FDB命令の展開系の全てを印刷する
 NOGEN リスト生成時、FCC/FCB/FDB命令の展開系の全てを印刷しない(先頭の1or2バイトのみ印刷)
* SYM  シンボルテーブルリストを生成する
 NOSYM シンボルテーブルリストを生成しない
* W   警告メッセージを印刷する
 NOW  警告メッセージを印刷する
 PAGE=nn プリンタ印刷時の1ページの行数。10≦nn≦255の範囲で。デフォルトは 58。
 LLEN=nn プリンタ印刷時の1行の桁数。  50≦nn≦130の範囲で。デフォルトは 79。

ASM09メモリマップ
     0 -+-------------------------------------+
        |          F-BASIC ワークエリア       |
   BF9 -+-------------------------------------+
        |              ASM09                  |
  140E -+-------------------------------------+
        |              変数領域               |
       -+-------------------------------------+
        |           文字領域、スタック        |
  1800 -+-------------------------------------+
        |                                     |
        |              ASM09EB                |
        |                                     |
  3D90 -+-------------------------------------+
        |                                     |
        |         シンボルテーブル領域        |
        |                /                   |
        |        オブジェクトコード領域       |
        |                                     |
  71D5 -+-------------------------------------+
        |             DISK BASIC              |
  8000 -+-------------------------------------+
        |                                     |
        |            F-BASIC ROM              |
        |                                     |
        |                                     |
  FC00 -+-------------------------------------+
        |          I/O、BOOT ROM他            |
  FFFF -+-------------------------------------+
ASM09_003
・カセットテープからソースを読み込んでアセンブルしてみた例です。
・SOFT:FM-7 アブソリュートアセンブラ V1.1
・PROGRAM:ASM09、ASM09EB
・PASS1 で、PLAY ボタンを押しなさい、
 PASS2 で、巻き戻しなさい、PLAY ボタンを押しなさい
 というステップが追加されます。(ASM09EB 内部が 2PASS であることがわかります。)
 それ以外は DISKから読み込む場合と違いはありません。
・オブジェクトコードはカセットテープには出力できませんので、オンメモリ出力にするか、ディスクに出力します。


参考文献
82SM-000050-1 参考文献:FM-7 アブソリュートアセンブラ解説書 1983年6月(富士通)


●馬場二郎さんによる、エディタ・アセンブラです。

FM-7/8シリーズの定番開発環境として一世を風靡した、エディタ・アセンブラです。
いくつかバージョンが発表されています。
(はせりんは現役時代には使ったことなかったのですが...)

EDASMV1_000
・オリジナル版の エディタ・アセンブラ V1.0 です。
・SOFT:エディタ・アセンブラ V1.0
・開発者:馬場 二郎さん
・機種:FM-8 (I/O誌には BM-L3への移植記事があります)
・掲載誌:I/O 1982年3月号、FM-8活用研究
・左の画面は、あらかじめ作成しておいたテキストファイルを読み込んだ後、エディタ・アセンブラを起動した様子です。
・ファイルの管理機能がないため、既存のテキストファイルはエディタアセンブラの起動前に読み込んでおきます。
 テキストとは言いながら、$1000〜 をバイナリで SAVE しておく必要があります。
 (SAVEM のアドレスは、R コマンドで事前に確認しておきます。)

EDASMV1_001
・さっそくアセンブルを実行してみます。
・SOFT:エディタ・アセンブラ V1.0
・機種:FM-8
・2PASS アセンブラですが、1、2 と手動で実行します。
 1 ラベル登録
 2 コード生成、リスト出力
・最後に B コマンドで F-BASIC のモニタ(MON) に戻っています。
 (直接 F-BASIC には戻れないようです。)

EDASMV1_002
・生成されたオブジェクトコードを実行してみます。
・SOFT:エディタ・アセンブラ V1.0
・機種:FM-8
・モニタから、G6000 で実行します。
 すると、Hello World. が正しく表示されるのですが、なぜかエディタ・アセンブラに戻ってしまいます。
・そこで再度 B コマンドでモニタに移動した後、CTRL-C で F-BASIC に戻ります。
 F-BASIC 上から EXEC &H6000 を実行すると、正しく Hello World. が表示された後、F-BASIC に戻ります。

コマンド
 1            アセンブラのPass 1(ラベル登録)を実行する
 2            アセンブラのPass 2(コード生成)を実行する
 B            BASIC (もしくはMON) に戻る
 Dxxxx[,yyyy] テキストの削除
 Ixxxx        テキストの入力(追加)、カラ行でコマンドに戻る
 L[xxxx]      テキスト表示
 Mxxxx        xxxx行を削除し、その場所に入力
 P            プリンタ ON/OFF 切り替え
 R            システム・リポート
 S            テキスト・クリア
 T            アセンブル時のリスト表示 ON/OFF 切り替え

制限事項:
 ANDCC は ANDC と記述。
 ,PCR は ,PC と記述。
 ラベル間の演算は足し算のみ。(-でも+演算される。)
 エディタが貧弱であり、1文字間違えても1行入力しなおしになる。
 FM-7ではうまくモニタ(MON)にもどらないため、FM-8(F-BASIC V1.0)専用と考えた方がよい?

エディタ・アセンブラ メモリマップ
     0 -+-------------------------------------+
        |          F-BASIC ワークエリア       |
   xxx -+-------------------------------------+
        |               空き                  |
  1000 -+-------------------------------------+
        |            テキストエリア           |  テキストファイルは、F-BASICに戻り 
        |             ↓      ↓              |  LOADM, SAVEM で管理する必要がある。
        |                                     |  (富士通版アセンブラとは非互換)
  4000 -+-------------------------------------+
        |                                     |
        |              EDASM本体              |
        |                                     |
  5500 -+-------------------------------------+
        |           ラベル・テーブル          |
        |             ↓      ↓              |
        |                                     |
        |             ↑      ↑              |
        |          システム・スタック         |
 (71D5)-+-------------------------------------+
        |           (DISK BASIC)            |
  8000 -+-------------------------------------+
        |                                     |  F-BASIC ROMは、BIOSのみ使用。
        |            F-BASIC ROM              |  (BIOS さえあれば裏RAM動作可)
        |                                     |
        |                                     |
  FC00 -+-------------------------------------+
        |          I/O、BOOT ROM他            |
  FFFF -+-------------------------------------+

エディタ・アセンブラV1.0発表から一年、かなり強化されたV2.0が発表されました。
強化点は次の通りで、特にエディタが改善されてます。
・ブロックコピー、移動機能
・サーチ機能
・ポインタ(行単位)の追加
・ヘルプ機能(コマンドリスト)
・スクリーンエディタ内蔵(Lコマンドの直後のみ)
・クロスリファレンス出力可能

EDASMV2_000
・エディタ・アセンブラ V2.0 です。
・SOFT:エディタ・アセンブラ V2.0
・開発者:馬場 二郎さん
・機種:FM-7/8
・掲載誌:I/O 1983年5月号、FM-7/8活用研究
 (FM-7/11活用研究にてBug Fix記事あり:$5B87=$4E)
・左の画面は、あらかじめ作成しておいたテキストファイルを読み込んだ後、エディタ・アセンブラを起動した様子です。
・ファイルの管理機能がないため、既存のテキストファイルはエディタアセンブラの起動前に読み込んでおきます。
 テキストとは言いながら、$1000〜 をバイナリで SAVE しておく必要があります。
 (SAVEM のアドレスは、R コマンドで事前に確認しておきます。)

EDASMV2_001
・アセンブル及び生成結果の実行例です。
・SOFT:エディタ・アセンブラ V2.0
・機種:FM-7/8
・2PASS アセンブラですが、1、2 と手動で実行します。
 1 ラベル登録
 2 コード生成、リスト出力
・最後に B コマンドで F-BASIC に戻り、生成されたオブジェクトコードを実行しています。


コマンド
 1               アセンブラのPass 1(ラベル登録)を実行する
 2               アセンブラのPass 2(コード生成)を実行する
 B               BASIC (もしくはMON) に戻る
 Cxxxx,yyyy,zzzz xxxx行からyyyy行までをzzzz行の後ろにコピー
 Dxxxx[,yyyy]    テキストの削除
 E               テキストの末尾からインサートモードへ
 Gxxxx,yyyy,zzzz xxxx行からyyyy行までをzzzz行の後ろに移動
 H               コマンドリストを表示
 Ixxxx           テキストの入力(追加)、カラ行でコマンドに戻る
 L[xxxx]         テキスト表示
 Mxxxx           xxxx行を削除し、その場所に入力
 P               プリンタ ON/OFF 切り替え
 Q"string"       ポインタ行より文字列をサーチし、見つかったらポインタをその行に移動
 R               システム・リポート
 S               テキスト・クリア
 T               アセンブル時のリスト表示 ON/OFF 切り替え
 U               ポインタを0(先頭)に
 Www,hh          画面サイズ指定。ww=80/40, hh=25/20
 X               クロスリファレンス出力

制限事項:
 Lコマンドでテキスト表示した後のみ、スクリーンエディット可能。
 ポインタが使えるコマンドは L, Q, U のみ。
 以下はV1.0と同じ制限:
  ANDCC は ANDC と記述。
  ,PCR は ,PC と記述。
  ラベル間の演算は足し算のみ。(-でも+演算される。)

エディタ・アセンブラ V2.0 メモリマップ
     0 -+-------------------------------------+
        |          F-BASIC ワークエリア       |
   xxx -+-------------------------------------+
        |               空き                  |
  1000 -+-------------------------------------+
        |            テキストエリア           |  テキストファイルは、F-BASICまたは 
        |             ↓      ↓              |  その他のモニタプログラムに戻り、
        |                                     |  LOADM, SAVEM等で管理する必要がある。
        |                                     |  (富士通版アセンブラとは非互換)
  4000 -+-------------------------------------+
        |                                     |
        |              EDASM本体              |
        |                                     |
  5C00 -+-------------------------------------+
        |           ラベル・テーブル          |
        |             ↓      ↓              |
        |                                     |
        |             ↑      ↑              |
        |          システム・スタック         |
 (71D5)-+-------------------------------------+
        |           (DISK BASIC)            |
  8000 -+-------------------------------------+
        |                                     |  F-BASIC ROMは、BIOSのみ使用。
        |            F-BASIC ROM              |  (BIOS さえあれば裏RAM動作可)
        |                                     |
        |                                     |
  FC00 -+-------------------------------------+
        |          I/O、BOOT ROM他            |
  FFFF -+-------------------------------------+

参考文献
I/O別冊 FM-8活用研究 1982年7月20日 (工学社)
I/O別冊 FM-7/8活用研究 1983年7月25日 (工学社)
I/O別冊 FM-7/11活用研究 1984年4月10日 (工学社)
I/O別冊 FM-7/11活用研究[第2集] 1985年3月15日 (工学社)


8.2 Kコンパイラ(拡張Kコンパイラ、K言語、IODOS9)

● アセンブラの次に登場するのは、津田伸秀さんによるこのK言語を置いて他に無いと言えましょう。
I/O誌では「拡張」Kコンパイラと敢えて呼んでましたが、一般には Kコンパイラ で通用しました。
(拡張でない Kコンパイラ はほとんど流通してないと思われます。)
I/O誌やPiO誌に数多くのソフトウェア、特にゲームが投稿され、一世を風靡してました。
また、FM-7/11活用研究に Kコンパイラ実行環境として IODOS9 が掲載されていました。
(詳細は コチラ を参照願います。)
K言語・コンパイラ関連についてはせりんの知る限りの情報を下記にまとめておきましたが、モレもあると思います。
ご存じの方はぜひお知らせください。

・まずはおさらいです。
 石井 正秀氏による分類(出展:I/O 1988年2月号)がわかりやすいです。
オンメモリ版 ファイル版
略号 掲載誌 適用機種 略号 適用機種 略号 備考
Kコンパイラ - I/O 1982年3月号 FM-8 - - - オリジナル版(はせりん追記)
拡張Kコンパイラ K1 FM-8活用研究 (1982年7月) FM-8 M1 FM-8 F1 V1.3(RT=V1.3、KC=V1.2)
拡張Kコンパイラ K2 I/O 1983年3月号 FM-7/8 M2 - - K1に対するパッチ
拡張Kコンパイラ K3 FM-7/8活用研究 (1983年7月) FM-7/8 M3 FM-8 F3 V1.3改?
拡張Kコンパイラ K4 I/O 1983年11月号 - - FM-7 F4 K3に対するパッチ
拡張Kコンパイラ K5 FM-7/11活用研究 (1984年4月) FM-7/8 M5 FM-7/11 F5 V3.6(最終版)
上記は、雑誌・書籍に掲載された FM-7/8用Kコンパイラ本体 の一覧です。
市販版(カセットサービス、DISKサービス)は、上記の K1〜K5 以外のものも存在するようです。
存在が確認されているもの、存在すると思われるもの:
 V1.1 FM-8活用研究 にて、バグ修正情報掲載あり
 V1.2 FM-8活用研究 にて、V1.3 との違いは RT だけであると記載あり
 V2.0 maruan さんがお持ちの TAPE版のパッケージ付属のマニュアルに記載あり
 V3.3 maruan さんが実物をお持ち。FM-7/11活用研究 にて、コンパイル画面のハードコピー掲載あり
 (BM-L3用には V2.3 というのもあり、これは下記に出てきます。)

下記の表では掲載時の作者名をそのまま記載してますので、"COMPAC T"="COMPAC Td"="津田伸秀さん" です。

市販のもの
提供元 型格 発売年月 品名 価格 機種 メディア 備考
コムパック 325 1982年4月頃 Kコンパイラ 5,000 BM-L3 TAPE 後に\4,500に値下げ
コムパック 397 1982年4月頃 Kコンパイラ 5,000 FM-8 TAPE 後に\4,500に値下げ
コムパック 813 1983年4月 拡張Kコンパイラ 4,500 FM-7/8 TAPE V2.0〜3.6、ブック型パッケージ(青箱)
コムパック CE-D006 1984年5月 拡張Kコンパイラ 5,800 FM-7/8/11 5inch 2D V3.6、ブック型パッケージ
Wonder Soft FGD-01 1984年6月 IODOS9 9,800 FM-7 5inch 2D A5版ブックタイプ
COMPAC/Wonder Soft WH-049T 1985年9月 S1用Kコンパイラ V3.6 5,000 MB-S1 10/20 5inch 2D 要拡張RAM、エキスパートサービス
COMPAC/Wonder Soft WH-050T 1985年9月 S1用Kコンパイラ V3.6 5,000 MB-S1 30/40 5inch 2HD 要拡張RAM、エキスパートサービス
雑誌・書籍掲載のもの
出版元 掲載誌・書 発行年月 タイトル 掲載ページ 機種 作者・開発元 ソース ダンプ パッチ 備考
工学社 I/O 1982年3月 Kコンパイラ 225 FM-8/BM-L3 COMPAC T & S
I/O 1982年5月 拡張Kコンパイラ使用記 332 FM-8 COMPAC S リスト掲載なし
I/O 1982年6月 Kコンパイラ レポート 230 BM-L3 西川公子命氏 リスト掲載なし
I/O 1983年3月 拡張Kコンパイラ 307 FM-7/8 COMPAC S
I/O 1983年4月 Kコンパイラグラフィックサブルーチン 174 FM-7/8 コンピ氏
I/O 1983年10月 Kコンパイラ三角関数サブルーチン 318 FM-7/8 渡辺 誠太郎氏
I/O 1983年11月 Kコンパイラファイル版 196 FM-7 COMPAC S
I/O 1984年12月 K86コンパイラ 337 PC-9801 吉田 美幸氏
I/O 1984年12月 拡張Kコンパイラ V2.3 全ソースリスト 350 BM-L3 春夏秋冬氏
I/O 1984年12月 Kコンパイラ用便利なエグゼキュータ 284 FM-7 桑畑 哲氏
I/O 1985年1月 Kコンパイラ Ver3.6 361 MB-S1/BM-L3 清水 宏一氏
I/O 1985年2月 IODOS9ユーティリティ 303 FM-7 Wonder Soft Sgn BATCH, DBASIC, FBASIC, FSEDIT, KEY
I/O 1985年5月 K86コンパイラon CP/M-86 196 FM16β エンジンルームA.M.氏
I/O 1985年6月 L3用KコンパイラV3.6の変更 286 BM-L3 MB-S1/40氏
I/O 1985年7月 IODOS9ユーティリティ 279 FM-7 TAKO氏
I/O 1985年8月 IODOS9用LISTコマンド 292 FM-7 竹前 正弘氏
I/O 1985年9月 IODOS9ユーティリティ KF, MFILE 265 FM-7 エンジンルームO & Sgn
I/O 1985年10月 Kコンバータ 273 FM-7/8 宮崎 潔氏
I/O 1985年10月 K80コンパイラ 321 PC-8801 エンジンルームH.O.&K.Y.氏
I/O 1986年2月 IODOS9ユーティリティ F-BASICで読めるフォーマットを 270 FM-7 Hiroshi & Azuki氏
I/O 1986年2月 K86 SUBの高速化 317 PC-9801 旭井 洋一郎氏
I/O 1986年4月 IODOS9ダンプリスト打ち込みツール 194 FM-7 長谷 勇治氏
I/O 1986年7月 ロングソースKコンパイラ 234 FM-7 桑畑 哲氏
I/O 1986年7月 IODOS9 FSEDIT用ファイル版Kコンパイラ 278 FM-7 竹前 正弘氏
I/O 1986年8月 IODOS9 FILE日付を記録 223 FM-7 竹前 正弘氏
I/O 1986年10月 K80コンパイラ 222 CP/M-80 元議長氏
I/O 1988年2月 逆Kコンパイラ&リロケータ 155 FM-7 石井 正秀氏
I/O 1988年3月 Kコンパイラリロケートユーティリティ 石井 正秀氏
工学社 FM-8活用研究 1982年7月20日 拡張版Kコンパイラ(V1.3) 14 FM-8 COMPAC T & S
工学社 FM-7/8活用研究 1983年7月25日 拡張Kコンパイラ 126 FM-7/8 COMPAC T & S & N V1.x(?)
Kコンパイラ用グラフィック・サブルーチン 134 FM-7/8 コンピ氏
Kコンパイラ用グラフィック・サブルーチン 追加版 136 FM-7/8 茶谷 公之氏
工学社 FM-7/11活用研究 1984年4月10日 拡張Kコンパイラ V3.6 81 FM-7/11 COMPAC Td & St & Sgn
IODOS9 93 FM-7 Wonder Soft Sgn ハイメモリ版ランタイム、KDコンパイラ
Kコンパイラ有象無象 105 COMPAC S
Kコンパイラで文字変数を使う 108 石井 正秀氏
Kコンパイラ用三角関数サブルーチン 178 FM-7/11 渡辺 誠太郎氏
工学社 FM-7/11活用研究[第2集] 1985年3月15日 Kコンパイラ用便利なエグゼキュータ 184 FM-7 桑畑 哲氏
IODOS9を使い易く! 185 FM-7 竹前 正弘氏
工学社 S1活用研究 1985年10月25日 Kコンパイラ Ver3.6 274 MB-S1 清水 宏一氏 (BM-L3用パッチは掲載なし)
Kコンパイラの使い方 281 (編)

★最終版の、FM-7/11活用研究に掲載された V3.6 です。
K_000
・FM-7/11活用研究の記事中のファイル一覧です。
・記事中にファイル名指定のないものは、はせりんが勝手に命名しています。
・RT、K はオンメモリコンパイル用で、 FM-7シリーズ(F-BASIC V3.0)と FM-8 で共通に使えます。
・RTF、KF はファイル版コンパイル用で、 FM-7シリーズ(F-BASIC V3.0)用ですが、パッチを当てることで他の機種でも使えます。
・RELOC.K、EXEC.K はFM-7で裏RAMを使ったコンパイル時に使用します。
・MAIN は、ファイル版でコンパイルする時に使用します。
・MAIN2 は、上記にパッチをいくつか当てたものです。(詳細は後述)

K_001
・まずはオンメモリ版でサンプルプログラムをコンパイルしてみます。
・機種:FM-8、FM-7/NEW7/77、FM77AVシリーズ
・対応F-BASIC:V1.0、V2.0、V3.0
・プログラム:RT、K
・オンメモリ版では、Kコンパイラ本体が $2000〜 に居座っているため、
 あまり大きなソースをコンパイルすることができません。

K_002
・実行してみます。あっという間に実行完了します。

Kコンパイラ オンメモリ版メモリマップ
     0 -+-------------------------------------+
        |          F-BASIC ワークエリア       |
   xxx -+-------------------------------------+
        |                                     |
        |          ソース・プログラム         |
        |                                     |
       -+-------------------------------------+
        |      変数領域、文字領域、スタック   |
  2000 -+-------------------------------------+
        |                                     |
        |           Kコンパイラ本体           |
        |           (リロケータブル)          |
        |                                     |
  41FF -+-------------------------------------+
        |                                     |
  4300 -+-------------------------------------+
        |    Kコンパイラ・シンボルテーブル    |
  4B00 -+-------------------------------------+
        |    Kコンパイラ・作業用エリア        |
  4C00 -+-------------------------------------+
        |         実行時ワークエリア          |
  4D00 -+-------------------------------------+
        |        ランタイム・ルーチン         |
  5000 -+-------------------------------------+
        |                                     |
        |        オブジェクト・コード         |
        |         (リロケータブル)            |
        |                                     |
  71D5 -+-------------------------------------+
        |             DISK BASIC              |
  8000 -+-------------------------------------+
        |                                     |
        |            F-BASIC ROM              |
        |                                     |
        |                                     |
  FC00 -+-------------------------------------+
        |          I/O、BOOT ROM他            |
  FFFF -+-------------------------------------+
K_006
・続いて、オンメモリ版の裏RAMコンパイルを試してしてみましょう。
・機種:FM-7/NEW7/77、FM77AVシリーズ
・対応F-BASIC:V3.0
・プログラム:RT、K、RELOC.K、EXEC.K
・事前準備として、Kコンパイラ本体を裏RAMへ転送します。$C000 は転送先の例です。

K_007
・次に、EXEC.K(裏RAMエグゼキュータ)をコンパイルだけしておきます。
・その後、CLEAR文 で使用メモリを拡大した後、ソースファイルを読み込ませます。
 単に裏RAMへ移すだけなので、コンパイラの使うワークエリアは元のアドレスに残ったままです。

K_008
・Kコンパイラの呼び出し方法が通常版とは異なり、先ほど事前にコンパイルしておいたエグゼキュータで呼び出します。
 アドレスを2回指定するので面倒ですね。
・無事コンパイルできました。

K_009
・オブジェクトコードは通常版と同じで $5000〜 に格納されます。
・問題なく実行できました。
・裏RAMコンパイルは、このように非常に手間のかかるものです。
 リロケータやエグゼキュータを事前にコンパイルしておいて、
 例えばオブジェクトコード領域の後ろの方に置いておけば多少は楽になりますが、
 カセットベースでは大変だったと思います。

Kコンパイラ オンメモリ版裏RAM使用時 メモリマップ
     0 -+-------------------------------------+
        |          F-BASIC ワークエリア       |
   xxx -+-------------------------------------+
        |                                     |
        |          ソース・プログラム         |
        |                                     |
       -+-------------------------------------+
        |      変数領域、文字領域、スタック   |
  41FF -+-------------------------------------+
        |                                     |
  4300 -+-------------------------------------+
        |    Kコンパイラ・シンボルテーブル    |
  4B00 -+-------------------------------------+
        |    Kコンパイラ・作業用エリア        |
  4C00 -+-------------------------------------+
        |         実行時ワークエリア          |
  4D00 -+-------------------------------------+
        |        ランタイム・ルーチン         |
  5000 -+-------------------------------------+
        |                                     |
        |        オブジェクト・コード         |
        |         (リロケータブル)            |
        |                                     |
  71D5 -+-------------------------------------+
        |             DISK BASIC              |
  8000 -+-------------------------------------+  8000 -+-------------------------------------+
        |                                     |        |                                     |
        |            F-BASIC ROM              |        |                                     |
        |                                     |  C000 -+-------------------------------------+
        |                                     |        |                                     |
        |                                     |        |           Kコンパイラ本体           |
        |                                     |        |           (リロケート後)            |
        |                                     |        |                                     |
        |                                     |  E1FF -+-------------------------------------+
        |                                     |        |                                     |
  FC00 -+-------------------------------------+  FC00 -+-------------------------------------+
        |          I/O、BOOT ROM他            |
  FFFF -+-------------------------------------+

K_005
・最後にファイル版でのコンパイル&実行です。
・その前に MAIN2 の追加部分を解説しておきます。55行と、140行以降を追加しています。
・230行、240行は、I/O誌1988年2月号 P.155 掲載の石井正秀氏によるパッチ情報です。280行は、by はせりん です。
・V3.6のファイル版はコンパイル時に画面が無駄にスクロールアップするのですが、230行でそれを止めてます。
 これは恐らく市販版では修正されていると思われます。(リストの掲載漏れのようなので)
・240行、280行で、FM-8 の F-BASIC V1.0/V2.0 に対応しています。

K_003
・それでは、ファイル版でコンパイルしてみましょう。
・機種:FM-8、FM-7/NEW7/77、FM77AVシリーズ
・対応F-BASIC:V1.0、V2.0、V3.0
・プログラム:RTF、KF、MAIN2

K_004
・問題なく実行できました。
・メモリマップはオンメモリ版とほぼ同じですので省略します。


★maruanさん秘蔵の、パッケージ版Kコンパイラ(V3.3)です。
KC33_000
・まずは外観です。
・よく姪botちゃんが紹介してるやつです。

KC33_001
・mauanさんにTAPEの中味を表示してもらいました。
・何と、RT と K の2つしか入ってない!
・RTF、KF は自分でパッチあてろ、と付属マニュアルに書いてあるそうです...orz

KC33_002
・mauanさんにコンパイルを実行してもらいました。
・Version 3.3 という表示が出てます。
・付属マニュアルには、V2.0 に関する記載もあるそうです。


参考文献
I/O別冊 FM-8活用研究 1982年7月20日 (工学社)
I/O別冊 FM-7/8活用研究 1983年7月25日 (工学社)
I/O別冊 FM-7/11活用研究 1984年4月10日 (工学社)
I/O別冊 FM-7/11活用研究[第2集] 1985年3月15日 (工学社)


8.3 TL/1コンパイラ

● 続いては、大西博さんによるTL/1コンパイラです。
こちらはASCII誌で一世を風靡してました。オリジナルは大西さんによる6800版ですが、
PC-8001、Apple II、CBM、TRS、Basic Master Level3、FM-7/8、MSX と数多くの機種に移植
されて活用されていました。
TL/1言語・コンパイラ関連については他の方が詳しく解説されているので、下記ははせりんの
興味のあるところに限定してまとめてあります。

・TL/1は数多くの機種に移植されてました。その一覧です。
掲載誌 作者・開発元 CPU 機種 エディタ IF THEN ELSE Graphic拡張 分割コンパイル
TL/1 (Original) アスキー 大西 博氏 6800 H68/TR GAME × × ×
TL/1-PC ASCII 鈴木 仁志氏 Z80 PC-8001 N-BASIC ○(160x100) ×
TL/1-APPLE ASCII 紀太 章氏 6502 APPLE II 簡易エディタ × × ×
TL/1-MZ ASCII 鈴木 仁志氏 Z80 MZ-80 内蔵 ○(80x50) ×
TL/1-CBM ASCII 紀太 章氏 6502 CBM3032 内蔵 × ○(80x50) ×
TL/1-TRS ASCII 鈴木 仁志氏 Z80 TRS-80 TRS-BASIC ○(128x48) ×
TL/1-L3 ASCII 服部 隆志氏 6809 BM-L3 L3-BASIC × ○(640x200) ×
TL/1-FM ASCII 秦 純一氏 6809 FM-7/8 F-BASIC ○(640x200)
TL/1-MSX ASCII 柴田 文彦氏 Z80 MSX MSX-BASIC ○(256x192) ×
TL/1-MSXDOS ASCII 柴田 文彦氏 Z80 (MSX-DOS) MED等
TL/1-CP/M - ? Z80 (CP/M) ED, WM等
TL/1-88G - K.C.B. Tさん Z80 PC-8801 & PC-DOS ○(?)

・TL/1は月刊アスキー誌やテープアスキー等で提供されていました。下記の表はその一部です。
TAPE-ASCII/月刊テープアスキー
提供元 型格 発売年月 品名 価格 機種 メディア 内容
アスキー - 1980年6月 TL/1 4,000 H68/TR TAPE TL/1-6800, GAME III
アスキー SP-0002 1981年1月 TL/1-PC 4,000 PC-8001 TAPE TL/1-PC (連珠同梱)
アスキー SP-0028 1982年10月 TL/1-L3 4,000 BM-L3 TAPE TL/1-L3
アスキー - 1984年4月 月刊テープアスキー1984年4月号 FM-7/8 TAPE TL/1-FM (北海道防衛作戦同梱)
雑誌・書籍掲載記事(の一部)
出版元 掲載誌・書 発行年月 タイトル 掲載ページ 機種 作者・開発元 ソース ダンプ パッチ 備考
アスキー ASCII 1980年2月 TL/1(言語紹介) 112 - 大西 博氏
ASCII 1980年6月 TL/1 言語の概要 82 H68/TR 大西 博氏
ASCII 1980年7月 TL/1 ライブラリの登録 144 H68/TR 大西 博氏
ASCII 1980年8月 TL/1 コンパイラの作り方 143 H68/TR 大西 博氏 不鮮明のため次号に再掲
ASCII 1980年9月 (TL/1 ソースリスト) 153 H68/TR 大西 博氏
ASCII 1980年10月 (TL/1 ソースリスト続き) 154 H68/TR 大西 博氏
ASCII 1980年11月 (TL/1 ソースリスト続き) 152 H68/TR 大西 博氏
ASCII 1981年1月 TL/1-PC 154 PC-8001 鈴木 仁志氏
ASCII 1981年1月 連珠 (TL/1-PC) 163 PC-8001 北裏 二郎氏
ASCII 1981年3月 Error Massage (1981年1月号 TL/1-PC) 47 PC-8001 -
ASCII 1982年10月 TL/1-L3 192 BM-L3 服部 隆志氏
ASCII 1982年10月 TL/1 リファレンスマニュアル 195 - 前田 成人氏
ASCII 1982年12月 アフターケア (1982年10月号 TL/1-L3) 71 BM-L3 -
ASCII 1983年10月 北海道防衛作戦 (TL/1-L3) BM-L3
ASCII 1983年10月 北海道防衛作戦 PC-8001
ASCII 1984年4月 TL/1-FM 240 FM-7/8 秦 純一氏
ASCII 1984年4月 北海道防衛作戦 (TL/1-FM) 250 FM-7/8 L3版との差分のみ
ASCII 1984年5月 アフターケア (1984年4月号 TL/1-FM) 107 FM-7/8 - バグ修正1
ASCII 1984年6月 アフターケア (1984年4月号 TL/1-FM) 111 FM-7/8 - Disk版とカセット版でオブジェクトが非互換な点
ASCII 1984年7月 アフターケア (1984年4月号 TL/1-FM) 119 FM-7/8 - バグ修正2

★ASCII誌1984年4月号の記事を元に、はせりんが構成した TL/1-FM のセットです。
TL1FM_00
・ファイル名については、ほとんど、はせりんが勝手に命名しています。
・裏RAM使用の有無、機種別で4種類のバイナリ本体と、裏RAMからロードするローダー3種類です。
・TL1LDR は、はせりんが勝手に作ったローダーです。機種判別(実際にはBASIC版数判別)を行って必要なバイナリをロードします。
 TL/1-PC のローダーの仕様と合わせて、PF4 でコンパイル、PF5 で実行、としてみました。
・SAMPLE も勝手バージョンです。
・Kコンパイラでは大規模ソースファイル対応でファイル版がリリースされていましたが、 TL/1ではそういうのがありません。TL/1-FMは比較的ソースエリアが狭いのですが、唯一(?)、 「分割コンパイル」がサポートされており、裏RAM使用と合わせてメモリの狭さを凌いでいます。

TL1FM_01
・TL1LDR の中味です。
・200行、210行が何やら暗号めいてますが、これはファンクションキーの15文字制限に押し込める ための苦肉の策です。本来やりたかった事は次の通りです
  KEY 5,"EXEC &HFC30:EXEC &H3800"+CHR$(13)
  KEY 5,"EXEC &HFC00:EXEC &H3800"+CHR$(13)
・F-BASIC V3.0 L2.0(DISK版)では、$FC00〜$FC29辺りを使ってるので、ローダーのアドレスをずらしています。

TL/1-FMコンパイラ メモリマップ
      $0000-+------------------+
            |ワーク            |
   TEXT TOP-+------------------+
            |ソースエリア      |
      $4000-+------------------+
            |ユーザー・スタック|
            |コンパイラワーク  |
      $4300-+------------------+
            |TL/1コンパイラ    |
      $5390-+------------------+
            |変数名テーブル    |
            |システム・スタック|
      $5800-+------------------+
            |ランタイムルーチン|
      $5C1E-+------------------+
            |オブジェクトエリア|
    RAM END-+------------------+
            |(DISK-BASIC)      |   裏RAM使用コンパイル時
      $8000-+------------------+  +------------------+
            |BASIC ROM         |  |ランタイムルーチン|
      $841E-+                  +  +------------------+
            |                  |  |オブジェクトエリア|
      $FC00-+------------------+  +------------------+
            |裏RAM制御         |
      $FC80-+------------------+
            |I/Oなど           |
      $FFFF-+------------------+
TL1FM_02
・続いて、コンパイルしてみましょう。
・その前に、コンパイル対象の SAMPLE プログラムです。大した内容ではありません。

TL1FM_03
・まずは裏RAMを使用しないバージョンです。
・FM-7、FM-8で共通です。
・PF4 を押すと一瞬でコンパイルが完了します。
 オブジェクトは、ランタイムルーチンを含んだサイズで表示されます。
・PF5 を押して実行します。

TL1FM_04
・続いて、裏RAMを使うバージョンです。
・FM-7 と FM-8 で若干操作が異なります。(画面はほぼ共通...orz)
・FM-7 の場合は、裏RAM使用しないバージョンとの差異は次の通りです。
 ・Bellが1回鳴る。
 ・オブジェクトコードが裏RAMに格納されている。
 PF5 には裏RAMからのローダーも一緒に呼んでるので、裏RAMなし版と同じ使い勝手です。
・FM-8 の場合は、コンパイル開始すると Bell が鳴る(鳴り続ける)ので、後ろの DIP-SW で  DOSモードに切り替えた後、STOPキーを押します。するとコンパイルが再開します。
 コンパイルが終了すると再び Bell が鳴る(鳴り続ける)ので、後ろの DIP-SW で  BASICモードに切り替えた後、STOPキーを押します。
 同じ操作が、TF8 のローダーでも必要です。
 画面には一切指示が出ないので不親切と言えなくもないですが...

TL1FM_05
・次に、少し大きなプログラムをコンパイルしてみましょう。
・例として取り上げるのは、TL/1-PC と一緒に紹介されていた、RENJU(連珠)です。
・TL/1-PC で動作確認の取れたソースコードを ASCII形式で持ってきます。
 必要な修正は次の通りです。(コード部分としてはわずか1バイトの修正で済みました。)
    30 '%       for TL/1-PC        %
    510 '  AD0:=$B0 AD1:=AD0+1 AD2:=AD1+1 AD3:=AD2+1 AD4:=AD3+1
    ↓
    30 '%       for TL/1-FM        %
    510 '  AD0:=$38 AD1:=AD0+1 AD2:=AD1+1 AD3:=AD2+1 AD4:=AD3+1
    3170 '/
・裏RAMを使用しないモードで!コンパイルします。[重要]

TL1FM_06
・コンパイルが無事終了しました。
・RENJU(連珠)では、2次元配列を別途確保する必要があり、&h3800-42FF をそれに当ててます。
 従って、実行前にメモリをクリアしてあげます。(CLEAR ,&h37FF)
・そして PF5 で実行です。
 (裏RAMモードだとオブジェクトと配列がかぶってしまうので...)

TL1FM_07
・先手か後手か、聞かれます。
・先手の方が有利ですが、敢えて後手で。

TL1FM_08
・COMPUTER は中央に打ってきます。

TL1FM_09
・今回は、たまたま勝てました!
・けっこう強いです。一時期はまってました...

参考文献
月刊アスキー 1981年1月号 (アスキー)
月刊アスキー 1981年3月号 (アスキー)
月刊アスキー 1982年10月号 (アスキー)
月刊アスキー 1984年4月号 (アスキー)
月刊アスキー 1984年5月号 (アスキー)
月刊アスキー 1984年6月号 (アスキー)
月刊アスキー 1984年7月号 (アスキー)

謝辞:福井利夫様、市販版BASE09、Sofix社Debug-Boyに関する情報ありがとうございました。
謝辞:maruan様、市販版Kコンパイラに関する情報ありがとうございました。

Under Consruction.
尚、本ページの各表の作成にはThinkさんのCSV→Table変換サイトのお世話になりました。
ありがとうございました。

謝辞:りう様、DIFE(Tiny Forthe)に関する情報ありがとうございました。

F-BASIC詳細編を覗いてみる F-BASIC詳細編(その2:デモ画面集)を覗いてみる
FM77AVシリーズ システムディスク編を覗いてみる
FM77AVシリーズ デモ編を覗いてみる
CP/M-80編を覗いてみる
OS-9編を覗いてみる
Flex編を覗いてみる
F-BASIC ファイルシステム(およびその上位互換)上に構築されたOS、開発システム
FM-7/8シリーズ用プログラミング言語とその処理系
番外編(その1:ナウシカベンチマークの謎)を覗いてみる
番外編(その2:勝手に誤記修正編)を覗いてみる
番外編(その3:6809用MMU考察)を覗いてみる
番外編(その4:FM-77 謎のS1スイッチ)を覗いてみる
番外編(その5:FM-7,8シリーズのROM一覧)を覗いてみる
番外編(その6:FM-77用拡張メモリ他について)を覗いてみる
緊急特集:MB22603の秘密 を覗いてみる
緊急特集2:FM-8ブートROMの秘密 を覗いてみる
超番外編:レベル3BASICとF-BASIC を覗いてみる
入り口ページに戻る

ご意見、ご要望はこちらまで(笑)
thasegaw@hotmail.com