CASL
2025.01.16
情報処理技術者試験で、昔はプログラミング言語の選択肢は
(1)FORTRAN
(2)COBOL
(3)PL/I
(4)アセンブラ (CASL)
この4種類だったと思う。

いまは基本情報技術者試験という名称になっている資格で、昔は2種だった。
自分も一応持ってるけど、あまり意味はない。

個人的にはPL/I以外は経験があったので、好きな問題が選べて良かった。

(いまでは全て*語) 一部では現役で重要な役割を果たしていると思うが・・・

PL/IはFORTRANとCOBOLのあいのこ、とだけ聞いたことがあるけど、この世界のどこで使われているのかナゾだった。
昔のパソコン通信仲間だった銀行のシステムを作っている人が、自分たちはPL/Iを使っていると話していた。

CASLは試験のためだけに考えられた仮想CPUのアセンブラで、昔のポケコンにはシミュレータがあった。
条件を平等にしようという考えがあったのでしょう。アセンブラ(細かいことを言えばアセンブリ言語)ならZ80でもMC68000でも8086でも色々ある。
たとえば、Z80は慣れてるけど試験にMC68000だと(経験がないと)全く別物だから不利になるわけです。
PICマイコン
2025.01.16
マイコンは各社各機種、次々に新しいのが出てきて、どれを選んだら良いものやら迷ってしまって、結局、手が出なかったりする。

トラ技などの付録に基板がついてきたけど、今では廃れてしまったものもある。

今後使っていこうとして、解説書や書込ツール等をあれこれ買い揃えたけど結局無駄になった、というのは避けたい。

そもそも昔は('90年代)ワンチップマイコンは少なかった。世の中には有ったけど、特にホビーでいじる人にとっては身近ではなかった。
それまではCPUがあって、ROMがあって、RAMがあって、I/Oがあって・・・というふうにそれぞれのLSIを配線で結んでシステムを構成していた。
Z84C015のようにワンチップ化されたものもあったが、ROMとRAMは外付けしかなかった。
どうしても大掛かりになり、場所をとるので、ROMやRAMも含めたワンチップは欲しかった。

8048(8748)などが存在するのは(製品の基板などを見て)知っていたけど、あまり市販されておらず、開発ツールや書込機の課題もあった。

そんな中、'97年頃にトラ技に載ったのはPICマイコンの初めての記事。

なお、PIC自体はもっと昔から存在していた。たとえばMacintoshのマウスの中に入っていたのを実際にこの目で見ている。

その初めての記事は間違いも結構あったが、やってみようという気にさせられた。書き換え可能のワンチップマイコンは便利そう。

マイクロチップ社の英文の分厚いデータブックしか手に入らず、それを必死になって読み込んでいた。

当時は16C84で、その後16F84になった。

やはり最初は書込機でつまずいて、パラレルポートにつなぐ書込回路なんか手作りしてみたけどなぜかうまくいかない。あの回路をシンプルで素晴らしいなどと称賛する文章を見かけたが、動かなければ意味がないのだ。
とにかく、困った困ったと苦しんでいた。
プログラムも、あの変なアセンブラに慣れなくて、プログラムが正しいか間違っているのか。コンフィグはこれで良いのか悪いのか。わからなくてウロウロしていた。最初の頃はそんな具合だった。

試行錯誤しているうちにうまくいったのか良く覚えてないけど、記事に載っていた書込機を何パターンか作って試したのは何となく覚えている。
どれもこれも中途半端で、使いにくい点があったりして不満はあった。

最終的には秋月のPIC書込機キットを組み立ててケースに入れ、ようやく落ち着いた感じ。その後、色々な型番のPICを使う必要があり、純正の書込機を買ったと思う。

あのPICの変なアセンブラには苦心したが、Cコンパイラは当時高かったし、この小さなマイコンにCコンパイラは合わないだろうとも思っていた。
ちょっとしたプログラムだけでおさまりきらないのではないか。アセンブラで頑張って詰めるしかないと信じていた。

8ピンPICも魅力があった。
最初は12C508で、容量の大きい509と、EEPROM内蔵の12CE508なども有り、出た当時に入手して試していた。最初は窓付き(高価だった)とワンタイムしかなかった。
窓付きの内部をのぞいてみると、PICのコアとEEPROMが別々になっているのがわかって面白かった。(いまでは一体になっているだろうけど)

ところで、
PICにはいろんなワナがあって、毎回のようにひっかかったりしていた。

特にバンクが曲者で、暴走の原因になった。プログラムメモリにもデータメモリにもバンクがある。その切替が面倒で、切り替えのために余分な命令が増えるのと、常にバンクを意識しながらプログラムを作る必要があった。

ある時、他人の作ったプログラムを改良・機能追加してほしいと頼まれ、見てみるとかなり容量の大きいアセンブラのプログラムだった。よくこんなの作るなあ、と思いながら、元になったプログラムはアレだなと気づいていた。

機能を追加するのでプログラムを足していったら、バンクをまたいで動かなくなった(暴走)。困ったぞ、このバンクにおさまるようにするには!? 地獄の三丁目であった。
最終的にはうまくおさめたけど二度と触りたくない気持ち。

元々は確かソースが失われていて、最新版は製品に載っているPICから読み出してくれ、と。そのバイナリを逆アセして、残っている旧版のソースとを照合しながら、最新版のソースを再現してくれというのが最初の依頼だったような記憶。(よかったね、プロテクトかかってなくて)
担当者がやめたのか、HDDが壊れたのか、そのあたりの事情は知らない。

また別の話で、
いまアセンブラのソースが有るけど、これをC言語に書き直してほしい、ってのもあった。
新しい担当がアセンブラわからないって。
色々不思議な依頼があるものだ。


あと、PICのポートは「微妙に足りない」の法則がある。
最初18ピンでいけそうだと確信した。ところが、あと1本欲しいってのはよくある。

そうなると次の選択肢は28ピンになる。(今は20ピンもあるだろうけど)
今はXTALのピンもI/Oとして使える品番もあるけど、昔はXTALやMCLRは専用だった。16F84とかの時代。

28ピンか、でかいな・・・SSOPにするか、と。

それでも、兼用ピンの制約などでこのピンは使えないな、これはあれにしか使えないな、このポートは8ビットのデータを受けるから、・・・というわけで足りなくなり、結局40ピンになる。

40ピンはさすがにでかすぎるので、QFPにするか、と。
人面魚
2025.01.16
平成初期の頃に流行した、人面魚
鯉に人の顔が・・・

テレビで放送していた人面魚はどこの地方のものか知らないが、

島原市に行けば、鯉はそこらじゅうで見かける。街中を流れる用水路の中でも泳いでいるぐらい。
その、とある池で鯉を眺めていたら、確かに人面に見えた。でも同時に、元々そういうものじゃないのかと思った。そういう模様。

誰かが、人面だと言い出したから、そう言われてみれば確かにそうだねと。

人面だから何だ、と突っ込まれると、うーん・・・それ以上なにもない。別に二足歩行とか人間みたいな事はしないだろうし、なんだろうね。

そんな微妙だった人面魚。

人面犬とかも有った。犬があるなら猫もあるんじゃないか。

いまでは誰も覚えていない、人面魚。

- CafeLog -