| X1/X1turbo (1986.9) |
MZ-2000/MZ-2200 (1986.9) |
MZ-2500 (1986.9) |
PC-8801 (1986.9) |
| MZ-1500 (1987.2) |
SMC-777 (1987.2) |
MZ-80B/MZ-80B2 (1987.4) |
X68000 (1991.5 , 1991.9) |
| データ | バイト数 | 内容 | データ | バイト数 | 内容 | データ | バイト数 | 内容 |
| 00h : LINE (連続した直線を描く) |
05h : CIRCLE FULL (円を塗りつぶす) |
0Bh : SET 3D PARAMETER (3D→2D変換用のパラメータを設定する) |
||||||
| 00h | 1 | コマンド | 05h | 1 | コマンド | 0Bh | 1 | コマンド |
| n | 1 | 座標総数 | TILE | 4 | タイルパターン | Pnum | 1 | パラメータナンバー |
| X1 | 2 | 座標1 | X | 2 | 中心座標 | DATA | 2 | 設定データ |
| Y1 | 2 | Y | 2 | パラメータナンバー | ||||
| … | … | … | R | 2 | 半径 | 0:CX | 物体の位置 (オフセット) |
|
| Xn | 2 | 座標n | 06h : SET WINDOW (ウィンドウを設定する) |
1:CY | ||||
| Yn | 2 | 2:CZ | ||||||
| 01h : SPLINE (3点を結ぶスプライン曲線を描く) |
06h | 1 | コマンド | 3:DX | 回転の中心座標 | |||
| X1 | 2 | 左上座標 | 4:DY | |||||
| 01h | 1 | コマンド | Y1 | 2 | 5:DZ | |||
| X1 | 2 | 座標1 | X2 | 2 | 右下座標 | 6:HEAD | 回転角(度) | |
| Y1 | 2 | Y2 | 2 | 7:PITCH | ||||
| X2 | 2 | 座標2 | ※起動後必ず設定する必要がある | 8:BANK | ||||
| Y2 | 2 | 07h : SET MODE (グラフィックモードを設定する) |
※物体の位置は、MAGIC内部では次のSET 3D DATAで指定した座標に加算して処理される | |||||
| X3 | 2 | 座標3 | ||||||
| Y4 | 2 | 07h | 1 | コマンド | ||||
| 02h : BOX (2点を対角とする長方形を描く) |
MODE | 1 | ラインモード | 0Ch : SET 3D DATA (物体の3Dデータを設定する) |
||||
| PLANE | 1 | プレーン | ||||||
| 02h | 1 | コマンド | ラインモード:描画するときの書き込みモード 0:RESET 1:XOR 2:OR 3:NOP プレーン:描画をするグラフィックプレーン 0:BLUE 1:RED 2:GREEN ※起動後必ず設定する必要がある |
0Ch | 1 | コマンド | ||
| X1 | 2 | 座標1 | PCT | 1 | 頂点の数(n+1) | |||
| Y1 | 2 | X0 | 2 | 頂点0 | ||||
| X2 | 2 | 座標2 | Y0 | 2 | ||||
| Y2 | 2 | Z0 | 2 | |||||
| 03h : TRIANGLE (三角形を塗りつぶす) |
… | … | … | |||||
| 08h : POINT (指定座標の色を調べる) |
Xn | 2 | 頂点n | |||||
| 03h | 1 | コマンド | Yn | 2 | ||||
| X1 | 2 | 座標1 | 08h | 1 | コマンド | Zn | 2 | |
| Y1 | 2 | X | 2 | 座標 | LCT | 1 | 線分の数(m) | |
| X2 | 2 | 座標2 | Y | 2 | LS1 | 1 | 線分1 | |
| Y2 | 2 | ※カラーコードがC202h番地に格納される ※座標が規定外ならカラーコードはFFhになる |
LE1 | 1 | ||||
| X3 | 2 | 座標3 | … | … | … | |||
| Y4 | 2 | LSm | 1 | 線分m | ||||
| 04h : BOX FULL (2点を対角とする長方形を塗りつぶす) |
09h : CLS (ウィンドウ内をクリアする) |
LEm | 1 | |||||
| ※ひとつの線分は2つの頂点ナンバーで指定する | ||||||||
| 09h | 1 | コマンド | ||||||
| 04h | 1 | コマンド | 0Ah : PALET (パレットを設定する) |
0Dh : TRANSLATE 3D→2D (3Dデータを3Dパラメータに従って2Dに変換し、ワークエリアに格納する) |
||||
| TILE | 4 | タイルパターン | ||||||
| X1 | 2 | 座標1 | 0Ah | 1 | コマンド | |||
| Y1 | 2 | P0 | 1 | パレットカラー | 0Dh | 1 | コマンド | |
| X2 | 2 | 座標2 | P1 | 1 | 0Eh : DISPLAY 2D (TRANSLATE 3D→2Dで変換したデータに従ってワイヤーフレーム表示する) |
|||
| Y2 | 2 | P2 | 1 | |||||
| P3 | 1 | 0Eh | 1 | コマンド | ||||
| P4 | 1 | ※0Bh,0Ch,0Dhコマンドの実行後に行う必要があるが、ワークエリアの内容が破壊されていなければこの限りではない | ||||||
| P5 | 1 | |||||||
| P6 | 1 | |||||||
| P7 | 1 | 0Fh : DONE (MAGICを終了し呼び出したシステムに戻る) |
||||||
| 0Fh | 1 | コマンド | ||||||
| SMC-777 | プレーン2に対する描画は無視される |
| MZ-80B/MZ-80B2 | GRAMが1ページのみの実装だった場合、プレーン0以外への描画が全てプレーン0に対して行われる |
| MZ-2000/MZ-2200 | ハードとしてパレット機能がないため P1:青 P2:赤 P4:緑 に0以外の値を設定するとそのプレーンを表示、0で非表示という機能に変更 それ以外のパラメータは無効だが、一応8バイト分必要 |
| SMC-777 | 色を正しく表示するためには4096色カラーパレットボードが必要、ただし使用している色は他機種と同じ8色のみ 同時表示は4色まで |
| MZ-80B/MZ-80B2 | ハードとしてパレット機能がないため、P1とP2に0以外の値を設定するとそのプレーンを表示、0で非表示という機能に変更 それ以外のパラメータは無効だが、一応8バイト分必要 |