MAI : Micro Algorithmic Instruction

概要

Micro Algorithmic Instruction (ASCII:1983.1p205-212) 稲沢幸樹
GAME-III との関係について簡単にまとめる
PLOT との関係について簡単にまとめる
連載記事
  • 第一回 (ASCII:1983.1p205-212)
  • 第二回 コマンド等詳細 (ASCII:1983.2p134-141)
メロディルーチン (1983.6p222) 林昭雄

deBUG記事
  • リスト訂正等 (1983.8p85 | 83総集編)
  • メロディルーチン訂正 (1983.7p85 | 83総集編) ?1983.7p85,83総集編「笹哲彰」は間違い
TapeASCII
  • TapeASCII:SP0038
  • TapeASCII:TA8508

関連情報

  • GAME (ASCII:1978.7-10 | 合本:2-3) 大西博
  • GAME-PC (ASCII:1980.9) 高橋敏昭
  • PROgraming Tool (ASCII:1982.4) 稲沢幸樹

構成

  • テキスト・エディタ

  • コンパイラ

  • サブルーチン・パッケージ

    ライブラリ

    オブジェクトとライブラリのみで実行可能

メモリマップ

$8023
ソース・エリア
$A3E0
MAI (BugFIX)
$A400
MAI
$B000
サブルーチン・パッケージ
$B400
オブジェクト・エリア
$E000
[コンパイル時] [実行時]
ラベル&変数テーブル フリーエリア
$E800
ワークエリア ワークエリア
$E840
← ラベルスタック 変数エリア
$EA00
PCワーク・エリア (N BASIC)
VRAM
$FF40
MAIワーク&スタック
$FFFF

環境構築

入力

掲載されているダンプリストを入力します。

BugFIX

  • FコマンドのバグFIX
     A663 : EDFF
  • DコマンドのバグFIX
    → 修正によって隠しコマンドの「O」(復活コマンド) が使用できなくなるので注意
     A5FF : EDFF
     A600 : A4A3
    追加:
     A3E0 : CD E4 A4 2B CD D3 5E DA
     A3E8 : 4E A4 2A 30 E8 E5 D1 CD
     A3F0 : ED A4 C9
  • Xコマンド(隠しコマンド)の注意
    → Xコマンドでソースレイアウトを変更した場合は、AD7FH~ 2byte も書き換えてコンパイラにも知らせる必要がある

プログラムリストの入力について

操作方法

MAIの起動方法

  1. モニタの Lコマンドで MAIをロードする
  2. モニタの Gコマンドで MAIを起動する
    COLD START :
    $A400
    HOT START :
    $A40F

テキスト・エディタの基本操作

基本:MAIを起動して L→C→R

エディタコマンド
C				コンパイル
Z				コンパイル (無言)
R (f・5)		オブジェクトの実行
Jnnnn			ジャンプ
				J0008 でBASICへ戻る
M				モニタへ復帰する
				モニタから MAI へ戻るには Ctrl-B

S				ソースのセーブ
L				ソースのロード

&J				NEW

プログラムリストのセーブ方法

MAIの Sコマンドでセーブします。

プログラムリストのロード方法

MAIの Lコマンドでロードします。

j80での入力方法

準備段階での注意事項

実機と同様に入力する (非推奨)

テキストファイルを用意して自動タイプ機能で入力する

参考:プログラムリストをメモリに直接流し込む方法

コンパイルとオブジェクトの利用について

コンパイルから実行まで

コンパイル

MAIの Cコマンドでコンパイルします。

オブジェクトの保存

オブジェクトのセーブはモニタに戻って Wコマンドで行います。

アドレス確認方法を具体的に書く

オブジェクトは $B400~ですが、B000~ をセーブしておけば単体で実行可能になります。(発掘隊では非推奨)

オブジェクトの実行

MAIのテキスト・エディタから実行する場合は Rコマンドを使用します。

MAIを立ち上げないでオブジェクトを実行する場合はモニタの Gコマンドで $B022 から実行します。

オブジェクトの利用について

オブジェクトのみをセーブしたバイナリをモニタから実行する場合はライブラリを別途ロードする必要があります。

ライブラリのみセーブしたバイナリを用意すれば 30秒程度でロード可能ですが、管理をミスるとバグありバージョンを使い続けてしまうリスクがあります。 MAIは小さいので、全部ロードしても苦にならないと思います。(約90秒)

発掘隊では事故防止の観点から、同じバイナリが複数のテープイメージに重複して保存されることが無い様にしています。


MAI [PC-8001]