現在地
思い出・昔話
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)などのいくつかは学校でも習いますね。
ある時もっとあるだろうから探してみようと思い立ちました。
当然パソコンを使って探すわけですが、当時手元にあって使えたのはPC-8001mk2かFP-1100くらい(FM-7はまだなかったと思う)でした。ある理由(後述)でFP-1100の方が良いのですが、遅かったことやFDDが無かったことなどでPC-8001mk2を使いました。言語も当時使えたのはBASICのみ(平方根を使いたいのでTL/1, GAMEは不向き)でした。
データブックには応用回路がいっぱい
初めて買った雑誌
私のOS遍歴(実行環境編)
カテゴリー:
このシリーズは久しぶりですね。
以前私のOS遍歴では使った操作環境について書きましたが、今回はどんな環境向けのプログラミングをしてきたかについて書いてみたいと思います。今回は組み込みOSも含めています。
- N/N80 BASIC 【家】
自宅のPC-8001mk2です。BASICの他、GAME, TL/1, アセンブリ言語などで書いたものも含みます。 - N88 BASIC(86) 【学】
中学のときマイコン部部室(技術科準備室)にあったPC-9801F2向けです。
当時書いていた程度のものなら十分な速度で実行できたのでこれはBASICのみでした。 - CP/M-80 【家】
これも自宅のPC-8001mk2、アセンブリ言語がメインで、末期にCを少しといった感じでした。
懐かしいスイッチ
カテゴリー:
最近発掘された部品はまだまだあります。ということで今回はプッシュスイッチです。
一つ目はこのプッシュスイッチです。
これ子供の頃に工作によく使ったスイッチですね。以前LX-3400のところでキットで買ったと書きましたが、確かそのキットにはこれが6つ使われていたように思います。
一時期(20年位前かな)秋月でも扱われていたこともありました。当時、昔のものとどこか異なっていたと感じた記憶があるのですが、それがどこだったのかよく憶えていません。
今回出てきたこれはいつ買ったものなのだろう?
さて、これメーカとか型番はどうなっているのだろうかと探したところ......
ホストの命名法
カテゴリー:
今回はホスト名についてです。
ホスト名とは、ネットワークに接続されたホスト(ワークステーション・パソコンなど)に付けられた名前で、DNSなどによって実際のアドレスに変換されます。定義として正確かはわかりませんが今回の話にはこれで十分です。要はリモートでログインしたりアクセスするのにアドレスより憶えやすい名前が使えるということですね。
パソコンなんかだとネットワークからアクセスすることは少ないのであまり必要は無く購入したときやセットアップ時に勝手につけられたのをそのまま使ってる人も多いと思います。
それだとアドレス憶えるのと大差ないので、サーバなど外部からアクセスものではもう少し憶えやすい名前が欲しいところです。
で、wwwとかmailとか機能名を付けることが多いわけですが、ホストと機能が一対一に対応しなかったりで本名は機能と関係なく付けて機能名は別名付けることも多いですね。
ちなみに本名でも別名でもIPアドレスに変換可能ですが、逆にIPアドレスから名前に変換しようとすると通常本名だけが得られます。
機能名は似たり寄ったりのものが多いですが、本名は命名者の趣味が出たりして面白いものがあります。
古のマイコン開発法(補足)
カテゴリー:
古のマイコン開発法(その3)
カテゴリー:
その2で市販トレーニングキットと同じように使えるようになりました。
しかしまだハンドアセンブルしたバイナリを入力して実行することしかできません。何らかの高級言語を使いたいところです。そうなると16進キーパッドや7セグメントLED表示器では不足です。
というわけで......
キーボード
16進キーパッドと異なりスイッチを並べて自作するのは難しいですが、当時でもキーボードは入手できたようです。
もちろんUSBのような共通のインターフェイスがあったわけではありません。単にキースイッチが並んでいるだけで自分でマトリクスを配線しなくてはならないもの、マトリクスの配線までされているもの、エンコーダまでついているものなどがあったようです。マトリクスタイプならキーパッドの数が増えただけのようなものなのでソフトウェアの変更は容易でしょう。
ディスプレイ
表示装置そのものの製作は困難なので既製品を利用します。最も安価なのはテレビで代用する方法で、ビデオ入力が無い場合はRFモジュレータを用意してアンテナ端子から入力します。