TX-0の操作方法
目次
メインコンソール右側
メインコンソール右側には、直接的にプログラムに必要な機能などが並びます。
LR、MBR、AC などの、プログラムで使用するレジスタの表示や、TBR、TAC などの入力装置です。
INSTUCTION TYPE
命令セットを選びます。実機にはこのスイッチは存在しません。
TX-0 は、56年に完成しましたが、その後も毎年のように機能が追加されています。
58年には学生に公開され、文書に残っている命令セットはこの時点のものから始まっています。
その後も毎年命令が変更され、62年で改造が完了しています。
このスイッチでは、58年から62年のどの時点の命令セットを使用するかを選択できます。
トグルスイッチ群
周辺機器の接続などを切り替える、各種トグルスイッチが並びます。
・STEP と REPEAT
これは、TEST モードで起動した際の動作を選択するものです。
詳細は TESTモードの説明をお読みください。
・CM SELECT
先頭 16word は、後述する TSS に接続されています。
しかし、CM (Core Memory) SELECT を ON にすると、このアドレスも通常のメモリになります。
・TYPE IN
Flexowriterのキーボードを TX-0 に接続します。
OFF にしていると、キーボードは使えません。
何もラベルが書かれていないトグルスイッチが二つあります。
これは、並びを整えるためでもありますが、実機にも予備のスイッチがあったためです。
何も動作しません。
LIVE REGISTER
MEMORY BUFFER REGISTER
ACCUMULATOR
各レジスタの内容を表示します。
いずれも、TX-0 で主要に使われる 18bit のレジスタです。
TBR
TAC
Toggle Buffer Register と Toggle Accumulator です。
18個のトグルスイッチで作られた、18bit の入力装置です。
すべて、18bit の2進数です。8進数に変換しやすいように、3つづつ区切られています。
Toggle Switch Storage (TSS)
TSS パネルには、トグルスイッチが大量に並んでいます。
これらのスイッチは、TX-0 のメモリの先頭 16word に接続されています。
ただし、メインコンソール右上の「CM SELECT」が ON のときは、TSS は切り離され、通常のコアメモリが接続された状態になります。
横1列、20個のスイッチが一つの組になっています。
縦には 16組のスイッチが並んでいます。左側に書かれた数字は、接続されたアドレスを8進数で示しています。
1組のスイッチの中では、左端と右端を除く中央 18個で、18bit (1word)を表現します。
左端は CM スイッチです。
メインコンソールの CM SELECT が OFF で、TSS が使用できる状態であっても、左端の CM スイッチが ON の組はコアメモリに接続されます。
右端は、LR スイッチです。
中央 18bit は無視され、かわりに Live Register (LR) の値が使用されます。
複数のアドレスに LR を設定することも可能です。
CM と LR が両方 ON のときは、CM が優先されます。
16word 以内の小さなプログラムであれば、TSS で直接記述し、TEST モードで 0番地を指定することで実行させることができます。
(別記事にTX-0命令の詳細があります。興味がある方はご覧ください。)
Flexowriter
Flexowriter は、印字部とキーボード部を持ったテレタイプ端末です。
独自の 6bit コードを使用します。
実機では、TX-0 とは独立して電源の ON / OFF が可能だったようです。また、TX-0 に接続されていない Flexowriter が複数台あり、オフラインで使用可能でした。
オフライン作業でも、紙テープをパンチしたり、紙テープの内容を印字することが出来たためです。
(flexowriter の印字速度は、紙テープのパンチ速度よりも遅かったため、TX-0 の出力は紙テープに行い、オフラインの flexowriter で印字する、と言うのが普通でした)
エミュレータでは flexowriter の電源は作っておらず、印字機能はいつでも使用できるようになっています。
また、オフライン機能もありません。(TX-0 エミュレータであり、flexotype エミュレータではないため)
Flexowriter の印字機能では、赤で文字を印字することが出来ました。
現在のところ、エミュレータはこのコードに対応していません。すべて黒で印字されます。
印字速度は、1秒間に 10文字にしてあります。
TX-0 の Flexowriter の速度を記述した資料がなかったため、この速度は PDP-1 の Flexowriter を元にしています。
キーボードは、コンソール右上の TYPE IN を ON にしているときだけ、TX-0 に接続されます。
Flexowriter のキーボードは Live Register (LR) に接続されており、TX-0 の動作とは非同期に LR を変更します。
変更された場合は、最上位ビットが 1 にされるので、これを検出することで入力を検知します。
58年時点のマニュアルによれば、6bit コードを LR の 2,5,8,11,14,17 に入れることになっています。
しかし、61 年に作られた Qubic では、LR の 1~6に入ることが前提とされています。
どうもこの間のどこかで仕様変更が行われたようです。
時期が不明なのですが、現時点のエミュレータでは 59 年までは旧仕様、60年からは新仕様で動作するようにしてあります。