パラメータモード
命令フォーマット
table:パラメータモード
ビット番号(右端が0) ビット番号(左端が0) 機能
17-16 0-1 使用しない
12,11 5,6 ビット12(5)が1の時、ビット11(6)をディスプレイ側の
ライトペン有効化ビットへ設定(*1)
10 7 1の時、描画を停止する
9 8 ビット10(7)と共に1の時、STOP割り込みを設定
8-7 9-10 使用しない
6,5-4 11,12-13 ビット6(11)が1の時、1をビット5-4(12-13)の値だけ
左シフトした値をベクトルの大きさの単位量として設定
3,2-0 14,15-17 ビット3(14)が1の時、ビット2-0(15-17)の値を輝度として設定
(*1) ただし現状のOpen SimHでは何も機能しない
まず、このビットのパース処理はdisplay/type340.cで行っていて、ビット12(5)が1の時、Type 340用の構造体(struct type340)のlp_enaというメンバー変数にビット11(6)を設定する そして、このlp_ena変数が使われているのは実質1箇所だけで、それはライトペンの描画箇所とのヒット検出時、lp_enaが1の場合にty340_lp_intという関数を呼び出す、という処理(Ref) ただ、このty340_lp_int関数は中身が空なので、パラメータモードのビット12,11(5,6)は特に何も機能しない 使用例
0o020117の場合
2進数:000 010 000 001 001 111
table:各ビットとの対応
ビット番号(右端が0) ビット値 意味
17-16 00 使用しない
12,11 0,0 ビット12が0なので何もしない
10 0 0なので何もしない
9 0 0なので何もしない
8-7 00 使用しない
6,5-4 1,00 ビット6が1なので、1を0回左シフトした値、
即ち1をベクトルの大きさの単位量として設定
3,2-0 1,111 ビット3が1なので、ビット2-0の値を用いて輝度として7(最大)を設定
0o003000の場合
2進数:000 000 011 000 000 000
table:各ビットとの対応
ビット番号(右端が0) ビット値 意味
17-16 00 使用しない
15-13 000 無効(描画停止のため)
12,11 0,0 ビット12が0なので何もしない
10 1 描画を停止する
9 1 STOP割り込みを設定する
8-7 00 使用しない
6,5-4 0,00 無効(描画停止のため)
3,2-0 0,000 無効(描画停止のため)
備考
IDLA命令でType 340の実行が開始されると、最初はパラメータモードから始まる