プログラミングの原体験

私が初めてコンピューターに接したとき手にした本が 2冊ある。
工学社の「マイコンゲームの本[1]」と「プログラム電卓ゲーム[1]」というタイトルだった。
前者はほとんどが BASIC のソースコードで埋まっている様な本で、当時それだけを集めたというのは珍しくある意味伝説の書である。ぼろぼろながらも実家に現存していたはず。
後者は紛失してもう手元にないが、プログラムができる電卓でゲーム(のようなもの)を作ってしまおうという強引きわまりないものであった。これは雑誌「I/O」で連載していたコーナーの集大成で、本誌の連載もかなり続いていたように記憶している。
当時のプログラム電卓というのは256ステップとか 128ステップとかの手順を記憶できるもので、それと数字表示だけをつかってゲームをしようというのだから当時の想像力とおおらかさには感心する。
[1]巻の当時の人気機種は CASIO の fx502P でプログラム電卓と言えばコレ、といった具合であった。ついで SHARP の PC-1200。書き間違いじゃないよ BASICポケコンは 1210/1211 で、その前にプログラム関数電卓として PC-1200 が存在していたので。あとは HP-31 とかがちらほらと。
このあたりの「プログラミングができて表示機構を持っていれば、なんでもゲーム機になりうる」といった思想は、今の私を作る大きな土台となっている気がする。
プログラム電卓に憧れたものの、結局最初に手にしたのは BASIC が使える PC-1251 だったので縁無く今に至る。
いやまあ HP48 は使っているけど、プログラミングが強力すぎてちょっと別世界なお話に思えるし。

そんなプログラム電卓の世界を不意に思い出したので、ヨドバシの電卓コーナーに行って今買えるプログラム電卓を買ってきてみる。
CASIO の fx-4850P という奴で 8904円だった。28kb の大容量プログラム領域を持つ CASIO の中では最大かも。グラフ表示ができないだけで、関数電卓としてはおおよそ一通り揃っていて国産では珍しくバランスがとれているかも。普通に使えるなこれ。
ちなみに店によっては fx-603P がまだ買えるらしいよ。

fx-602P とか検索すると熱心なファンのサイトがいくつも引っかかるので色々と参照する。まあ、プログラム方式は全然異なっているので参考程度だけれども。
1000回ループ(+表示)のベンチマーク値が載っていたので試してみる、fx-602P は 2分44秒ほどらしいが、fx-4850P は 31秒だった。なるほど。
プログラムは変数メモリーにクセ(制限)があってなかなか楽しい。当時のポケコン感覚がじわりとよみがえる感じ。
プログラム入門としてはこれくらいのほうが良かったりするんじゃないか?
でも 4桁あるのが逆に災いしてゲームとかは作りにくそうだなあ。
まあ、興味本位なんで本格的にやるわけじゃないから良いけど。

fx-4850P は外部インターフェースが一切無くて本体にしか保存できないのが最大の難点ではあるな。
うーん、そう考えるとやっぱり HP-49G+ が欲しくなってきた。個人輸入で買ってしまおうかしらん。
ちなみに TI の電卓はアドオンプログラムが強くBASICが載っているためユーザー作成アプリケーションも凄いらしい。(参照)

おまけ
fx-4850P で作ったバイオリズム計算プログラム。
最終的に表示される数値は +1.0 が好調 -1.0 が低調 0.0 前後が要注意。

– – – – – – – – – – – –
– Filename "BIORHYTHM"
Norm
"BIRTHDAY"
E"YEAR =":F"MONTH=":G"DAY ="
Y=E:M=F:D=G
Prog "BIO-SPOT.SUB"
B=T
{HIJ}
"TODAY"
H"YEAR =":I"MONTH=":J"DAY ="
Y=H:M=I:D=J
Prog "BIO-SPOT.SUB"
"LIVE DATE":T=Int T-B▲
Fix 4
"P S I"
sin (T/23*360):Pause 0
sin (T/28*360):Pause 0
sin (T/33*360)▲
Norm

– Filename "BIO-SPOT.SUB"
Fixm
T=0
T=(Y-1900)*365.25+D
M>1⇒T=T+31△
M>2⇒T=T+28△
M>3⇒T=T+31△
M>4⇒T=T+30△
M>5⇒T=T+31△
M>6⇒T=T+30△
M>7⇒T=T+31△
M>8⇒T=T+31△
M>9⇒T=T+30△
M>10⇒T=T+31△
M>11⇒T=T+30△
– – – – – ここまで

—–




You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply