見出し画像

Olivetti P652

[Olivetti P652 at Tecnologicamente Museum、CC-BY SA4.0]

高校の教室にあったOlivettiのコンピューター。当時は機種名とかは知らなかったけど、インターネットの時代になって見覚えのあるマシンの写真があり、調べてみるとP652というものだった[1]。

なお、Olivettiは今はテレコムイタリアの子会社でシステムソリューション事業を、日本オリベッティは紆余曲折の末、NTTデータルウィーブ[2]というNTTデータ傘下の会社になっているようだ。Olivetti はZ8000のマシンも販売していたりして、マニアックなところを攻めてくる素晴らしい会社であった。

P652は Pier Giorgio Perottoの設計によるもので、1973年に発売、1983年ごろまで売られていたらしい。彼は Programma 101 という「世界初のプログラム電卓」(1965年発売)の一つを設計しているのだけど、その発展形の機種である。P652は70年代の学校にそれなりに置いてあったらしく、教育に関する論文などに名前がちらほらと出てくる。

P652とはなんとなく名前からしてプロセッサは6502っぽい(AppleIIとかファミコンのプロセッサ)が、いろいろ調べてみたけど実際何かがよくわからない。レジスタは240個あり、100個までは直接参照できる。100以上のレジスタにはNレジスタを使った間接インデックス参照をする必要がある。ネット上の情報では見当たらないが、記憶では、命令5行書くとレジスタ一個分の容量が減っていた。つまり500行のプログラムを書くと後ろからレジスタ100個分が使用できなくなる。その他にメモリなどはなく、値を保持するのはレジスタが全てである。

プログラムはペラペラの磁気カードに読み書きできた。キーボードにあるRとWのキーは磁気カードに読み書きする際のキーである。磁気カードは上部にある4つのスイッチの上部に差し込む。なお、4つのスイッチの一つはデバッグ時のシングルステップ実行のためのスイッチである。

プログラムの記法は、アセンブラというよりは、プログラム電卓に近い。

ほぼ暗号にしか見えないが、プログラムなのである([3b]より引用)


Lがラベルで、10 L のように番号でラベルを識別する。Jがジャンプで10 J で10 L にジャンプする。
Sはそこでプログラムが停止し、入力待ちとなる。入力した値はMレジスタに入る。
↓はENTERと言って、Aレジスタに値を取ってくる。10 ↓ならば10番のレジスタの値をAレジスタにロードする。何も指定しなければMレジスタからAレジスタのロードとなる。
↑はSTOREであり、Aレジスタの値を他のレジスタにストアする。10 ↑ならば10番のレジスタにAレジスタの値を入れる。
◇がプリント。文字通りロール紙に印刷される。10 ◇とするとレジスタ10の値が印刷される。
四則演算は+-×÷であり、* は乗算ではなくゼロクリアを意味した。/は何だったか思い出せない。

たとえば、
L
S

S
+
A ◇
J
で足し算のプログラムとなる。これだけ見ると、ちょっと逆ポーランド記法のFORTHっぽいが、スタックマシンではない。

Kは定数だったと思う。10Kとすると、10がMレジスタに入る。
Nは間接レジスタで確か10個ほどあった。そのレジスタに3が入っていれば、間接インデックス参照で 3番のレジスタにアクセスできる。後述の論文のプログラムではN3/↑みたいな記述があるので、/が間接アドレッシングだったかもしれない。
Pは何だろうか。
SJはサブルーチンへのジャンプ。ただし、リターンに相当するものが何かが思い出せない。
条件分岐は > や < などの結果によって、真ならば次の行を実行し、偽ならばスキップする。したがって、
>
1 J
2 J
とすれば、1 L と 2 L への分岐ができる。
Cは条件分岐に関する何かと書かれているが、これの使い道が思い出せない。

高校時代は、P652と、自作マイコン(NEC TK80互換)でZ80機械語と、池袋の東武と西武デパートのマイコン売り場でベーシックを学んだのだけど、P652によって学んだものの影響が大きかった。画面も無いのに、これでフライトシミュレータを作ったりしていた。画面のキーボードに左側に三角関数とか、対数とか、高級な関数があったのと、確かR→Pというキーは、極座標との変換だったように記憶している。この辺りの関数を使って、目的とする滑走路にしかるべき角度と速度で着陸するというものだった。今のリアルなフライトシミュレーターとは雲泥の差があるけど、想像力豊かな当時の自分は、印刷される数値を見ながら確かに空を飛んでいたのである。

P652に関する動画

P652の前身、Programma 101についての昔話の動画。イタリア語だけど、自動翻訳でなんとなくわかる。
La Olivetti Programma 101 – Il primo Personal Computer della storia | Gastone Garziera | TEDxArezzo (youtube.com)
Olivetti Programma P652 [Italiano] (youtube.com)

その他資料

販促資料はこちらに見つけた。https://archive.org/download/olivettip652/Olivetti%20P652.pdf

以下はプログラムも掲載されている貴重な論文。他にもP652を使ったと記されている論文もたまに見つかるが、プログラムは載っていない。

II. Computer (Olivetti P-652-4K)による数クラスについての素点より偏差値および5段階評価算出のプログラム作成(C. 6ヵ年追跡研究)(共同研究)[3a]
https://nagoya.repo.nii.ac.jp/record/3126/files/KJ00002353903.pdf

オリベッティー計算機P652のプログラムの一例(数学科)(教科研究)[3b]
https://nagoya.repo.nii.ac.jp/record/3133/files/KJ00002353911.pdf

[1] Olivetti P652 - Wikipedia
[2] NTTデータ ルウィーブ株式会社 (nttdata-luweave.com)
[3] 名古屋大学学術機関リポジトリ(https://nagoya.repo.nii.ac.jp/

この記事が気に入ったらサポートをしてみませんか?