2021年3月29日月曜日

PC-1シミュレータ

このブログにパラメトロン計算機 PC-1のシミュレータの話を書いたのはそろそろ10年前の ことだ. そのシミュレータはProcessingで書いたものだが, その後シミュレータの 置いてある計算機が引退したりで, 長いあいだ動かなかった. ブログを見た方には申し訳 ないことをした.

ずーっとシミュレータの書き直しを考えていたが果せず, 最近やっとJavaScriptで書き, どうやら無事に動くようなので, 公開することにした.

シミュレータは https://www.iijlab.net/~ew/pc1sim2/pc1sim.html にあるので試してみて欲しい.

シミュレータの見掛けは以前のままである. もともとPC-1が出来たころ, 近隣の 計算機と競争していた, 自然対数の底eの値を1000桁計算するプログラムを シミュレートするのが目的だったので, そのプログラムに特化してはあるが, 他の プログラムも少数ながら動く.

シミュレータを開くと次のような画面になる. 右手に3x3の押しボタンがある.



最初にやることは初期入力ルーチンR0の読込みで, まず左下のPlace R0をクリックする. R0のテープが現れたら, 次にその上のInit Loadをクリック. これでR0が読み込まれる.

今度は中下のPlace e1000をクリック. e1000桁のテープが現れる. そこで 中央のFree Runを押し, 続けて中央上のInit Startをクリック. これでe1000桁の テープがR0で読み込まれ, 計算が始まる. 程なくして結果の印字が始まり, 計算が 終了する.

他に用意してあるテープは,

factorize32 231より少し小さい整数の素因数分解
eratosthenes エラトステネスの篩
v2test フーリエ変換
va1test 素数を法とする行列式の計算

で, これらを走らせるには右下のPlace Tapeをクリックする. そうすると右上に プログラム名が表示されるから, それをクリックする. テープが現れたら中央の Free Run, その上のInit Startをクリック. なかにはテープ読込み中に停止する ものもあるが, その時は中央のFree Runと, 右上のRestartをクリックする.

0 件のコメント: