現在地

思い出・昔話

Transputerで思い出したこと

カテゴリー:

先日のINMOS IMST805を書いていて思い出したことがあるので今回はそれについて書いてみます。

マイコンボードを作っていたりするといつかCPUそのものを作ってみたいと考えるようになります。

作り方としては74シリーズのような汎用ロジック・Am2900ファミリのようなビットスライス・FPGAなどがあり、さらには現物は諦めてソフトウェアによるエミュレーションなどもあり得ます。

どれを選ぶかはもちろん目的により異なり、アーキテクチャの研究などならFPGAやエミュレーションでしょうし、私のようにいわゆるマイコン登場前の状況の追体験的なものを目指すなら汎用ロジックか使ってもビットスライスまでと思います。

マイコン発達史を知ってしまっていますし、使えるツールも違うのでかなりチート入っていますが……

で当時の私は次のようなものを考えていました。

NM9950の購入日

カテゴリー:

前回、10インチ幅の用紙を使っているから1989年頃と書きましたが、それは15インチ幅のプリンタを1990年に購入しているからです。その根拠となるものを少し前に発見していたのを思い出しました。


これ購入したときはまだ学生で、後に割のいいバイト始めてからはEXB-8200のような無茶もしましたが、この時はまだ余裕はなく中古です。

特に機種を決めて買いに行ったのではなく、ちょうど条件(15インチ・トラクタユニット付きなど)に合う出物を見つけて買ったのではなかったかな。そのまま電車で持ち帰ったような……

BASICの拡張法

カテゴリー:

以前68000 Tiny BASICの予約語で書いたように独自の命令を追加していました。

でもソースコードもあり自由に変更できたTiny BASICなどだけでなく、マスクROMが使用されソースコードも無い市販パソコンのBASICの命令拡張も良く行われていました。ちょっとした数十バイト程度のものから本格的なものまで当時の雑誌には頻繁に掲載されていたものです。

以下はある程度知っているN-BASIC, N80-BASICを例に書いてみます。

ところでマスクROMのBASICをどうやって拡張するのでしょう?

BASICによっては要所要所でRAM上の特定番地をCALLするようになっていました。そこは起動時にはRET命令が置かれているので、これを用意したルーチンへの分岐命令に書き換えることで動作に介入することができるのです。これを「フック」と読んでいました。

介入したい個所にピンポイントでフックが無い場合は少し手前のフックから目的個所までのROM内の処理を自分のルーチン内で行ない、さらに戻り番地を調整するなどを行ないます。

ピタゴラス数

カテゴリー:

ちょっと思い出してきたので今回は原始ピタゴラス数の探索について書こうと思います。

高校生の頃に原始ピタゴラス数の探索をしていたことがありました。ピタゴラス数というのは a2+b2=c2 を満たす自然数の組で、各辺の長さの比がこれになっている三角形は直角三角形になります。(3, 4, 5)などのいくつかは学校でも習いますね。

ある時もっとあるだろうから探してみようと思い立ちました。

40年近く昔のことですからネットで探すなどということはできません。

当然パソコンを使って探すわけですが、当時手元にあって使えたのはPC-8001mk2かFP-1100くらい(FM-7はまだなかったと思う)でした。ある理由(後述)でFP-1100の方が良いのですが、遅かったことやFDDが無かったことなどでPC-8001mk2を使いました。言語も当時使えたのはBASICのみ(平方根を使いたいのでTL/1, GAMEは不向き)でした。

データブックには応用回路がいっぱい

カテゴリー:

LM3909のところで触れた『初歩のラジオ』の連載「データブックには応用回路がいっぱい」の一覧を作ってみました。

『初歩のラジオ』は持っていた全号を「夢の図書館」に寄贈したため手元には無いのですが、国立国会図書館のデジタルコレクションにありました。国立国会図書館内公開なので行かないと内容は確認できませんが、目次情報は読めるのでそれをもとにまとめています。

初めて買った雑誌

カテゴリー:

またちょっと探し物をしていたところこんなモノが出てきました。


雑誌『模型とラジオ』の1981年11月号、実はこれ初めて自分で買った雑誌だったりします。

以前私の雑誌遍歴にも書いたように『子供の科学』『模型とラジオ』は学校の図書室や地域の図書館で読んでいましたが、遂に自分で買ったのがこの号になります。

これ以前も『太陽』のロボット特集やパズル特集号なども家にありましたがそれは父が買ってくれたものでした。

私のOS遍歴(実行環境編)

カテゴリー:

このシリーズは久しぶりですね。

以前私のOS遍歴では使った操作環境について書きましたが、今回はどんな環境向けのプログラミングをしてきたかについて書いてみたいと思います。今回は組み込みOSも含めています。

  1. N/N80 BASIC 【家】
    自宅のPC-8001mk2です。BASICの他、GAME, TL/1, アセンブリ言語などで書いたものも含みます。
  2. N88 BASIC(86) 【学】
    中学のときマイコン部部室(技術科準備室)にあったPC-9801F2向けです。
    当時書いていた程度のものなら十分な速度で実行できたのでこれはBASICのみでした。
  3. CP/M-80 【家】
    これも自宅のPC-8001mk2、アセンブリ言語がメインで、末期にCを少しといった感じでした。

懐かしいスイッチ

カテゴリー:

最近発掘された部品はまだまだあります。ということで今回はプッシュスイッチです。


一つ目はこのプッシュスイッチです。

これ子供の頃に工作によく使ったスイッチですね。以前LX-3400のところでキットで買ったと書きましたが、確かそのキットにはこれが6つ使われていたように思います。

一時期(20年位前かな)秋月でも扱われていたこともありました。当時、昔のものとどこか異なっていたと感じた記憶があるのですが、それがどこだったのかよく憶えていません。

今回出てきたこれはいつ買ったものなのだろう?

さて、これメーカとか型番はどうなっているのだろうかと探したところ......

ホストの命名法

今回はホスト名についてです。

ホスト名とは、ネットワークに接続されたホスト(ワークステーション・パソコンなど)に付けられた名前で、DNSなどによって実際のアドレスに変換されます。定義として正確かはわかりませんが今回の話にはこれで十分です。要はリモートでログインしたりアクセスするのにアドレスより憶えやすい名前が使えるということですね。

パソコンなんかだとネットワークからアクセスすることは少ないのであまり必要は無く購入したときやセットアップ時に勝手につけられたのをそのまま使ってる人も多いと思います。

それだとアドレス憶えるのと大差ないので、サーバなど外部からアクセスものではもう少し憶えやすい名前が欲しいところです。

で、wwwとかmailとか機能名を付けることが多いわけですが、ホストと機能が一対一に対応しなかったりで本名は機能と関係なく付けて機能名は別名付けることも多いですね。

ちなみに本名でも別名でもIPアドレスに変換可能ですが、逆にIPアドレスから名前に変換しようとすると通常本名だけが得られます。

機能名は似たり寄ったりのものが多いですが、本名は命名者の趣味が出たりして面白いものがあります。

古のマイコン開発法(補足)

カテゴリー:

その1その3までの「古のマイコン開発法」に少し補足しておきます。

これ「無いものは(道具も含めて)作る」のですけど、道具の無い状態では作るのは大変なので「とりあえず必要最小限」を作ってそれを道具にして自分自身を改善していきます。最終的には不要なものでも途中で必要なものは作るしかありません。

持っているものがあれば楽になります。

ページ