P(unch)コマンドの拡張

カテゴリー:

先日Universal MonitorのH8/500移植をやってP(unch)コマンドまで実装しましたが、H8/300には未実装になっていたのを思い出してこちらも実装しました。

その前に......

これまでH8/300とH8/300Hのノーマルモードを同じものと勘違いしていまして、アドバンストモードを使うか条件アセンブルするようにしていました。とはいえH8/300もH8/300Hのノーマルモードも動作環境は無いので、基本H8/300Hのアドバンストモードを前提にレジスタ間接アドレッシングなどの切り替え準備くらいで書いていました。

ふと、手元にH8/330(これはH8/300ファミリ)があるのでこれ用にアセンブルできるか試してみたところ予想外に大量のエラーが発生しました。それもアドレス長が異なるどころではなく、INCのような基本的だと思っていた命令が無いといったものが大量にです。

選択を外した話

カテゴリー:

選んだ時点ではどちらがメジャーになるかわからず、後になってマイナーな方を選んでいたって気づくこと、よくありますよね。

有名なネタとしてはβとVHSでしょうか?

うちは幸い最初からVHSだったのでこれは当たりませんが......

そんなものを思い出して書いてみます。

スーパーレール と プラレール

子供向けの鉄道のおもちゃといえばプラレールが有名ですが、私の子供の頃には同じトミーでスーパーレールというのがありました。

サイズ的にはプラレールと同じくらいですが、もう少し現物に近い形状です。線路は枕木とレールが黒い樹脂の一体成型でレール上面が銀色に塗られていました。車輪もフランジの付いたものでした。乾電池を入れて走るところは一緒ですね。

今から思うにプラレールからNゲージなどの鉄道模型への橋渡し的な位置づけだったのかもしれません。

当時買ってもらったのはこちらのスーパーレールでした。どんな車両持っていたかなどは残念ながら憶えていません。

インチ定規を買ってみた

テーマ:

カテゴリー:

とある目的で国内で入手の難しいインチ定規を米アマゾンで買ってみました。


ミツトヨのNo.182-207というものです。

日本では計量法という法律でインチ表記の入った計量器の販売が原則禁止されている(販売目的でなければ輸入・所持はOK)のでわざわざ海外から購入したのですが、なんとラベルには日本語が...... しかも日本製でした。

条文読み直したら輸出するものは問題ないらしいですね。


長さ6インチ(約150mm)のおそらく一番短いタイプです。

ダンプ入力とチェックサム

H8/500にUniversal Monitorの移植をしていてIntel HEXやMotorola S-recordのコードを書いていたら、そういえば大昔のチェックサムの話を書いていないなぁと思い出しましたので今回はその辺を書きたいと思います。

チェックサムと言えばもっとも簡単な誤り検出符号の一つで実装が簡単なので昔から使われてきました。

最近はCRCとかが用いられることが多くなりましたが......

ですが今回書こうと思うのは主に1980年代頃のパソコン文化としてのチェックサムのお話です。

今パソコン用のソフトウェアを配布するとしたらオンライン配布が当たり前、少し前ならフロッピーディスクやCD-ROMといった物理媒体も多かったですが、パソコンの黎明期から1980年代末くらいにかけては紙に印刷したものを書籍や雑誌の形で流通させユーザが手入力するという形態も広く用いられていました。

そんな面倒なことはやってられないという人のためにカセットテープやフロッピーディスクの販売も行われていましたが、暇はあっても金は無い学生は雑誌を買って打ち込むというのはよくあるソフトウェアの入手手段でした。

H8/532ボード(ソフトウェア編)

ボードが出来たら動作確認です。

まずはφに1/2のクロック(8MHz)が出てくるのを確認します。これで電源が正しく供給され、デバイスも生きているらしいことがわかります。

続いてバスにLED繋いだ状態で短い無限ループを実行してみます。最短2バイトでループできますが、アドレスバスのLEDを見ているとかなり先(4バイト?)までプリフェッチしているらしいのがわかります。

ここまで来たらいつものようにUniversal Monitorの移植に入ります。

最初はコンソールとしてEMILY Boardの仮想UARTで書き始めましたが、文字列表示までできたところで内蔵SCIにも対応しました。日立のSCIは共通なのでH8/300用をそのまま移植して動きました。

H8/300とH8/500は同じH8ファミリで似ていますが、大きく異なる点もあり同一ソースから条件アセンブルは無理と思います。

H8/532ボード(ハードウェア編)

テーマ:

カテゴリー:

PLLが途中ですが、並行して作っていたマイコンボードが動き始めましたのでそちらを取り上げようと思います。


H8シリーズの最初のH8/532のボード、もちろんEMILY Boardで動かします。

幸いノンマルチプレクスバスなので通常のユニバーサル基板を使用します。配線も一対一接続なので厄介なところはありません。

一応未使用ポートをピンヘッダに出して、SCIもTTL-232R-5Vを接続できるようにしてあります。

PLLシンセサイザ(その2)

テーマ:

カテゴリー:

VCOが動いたので残りの部分を作っていきます。


MC145106には10.24MHzの基準クロックを与えるのが一般的です。内部ではこれを1/1024または1/2048に分周して10kHzあるいは5kHzを作ります。一方VCOからの入力は1/N(Nは2~511)に分周します。この両者を位相比較器に入れてVCOにフィードバックすることでN×10kHzあるいはN×5kHzの周波数を得ます。

この10.24MHzの水晶を秋葉原で探したのですが見つけられず、手に入った20.48MHzのOSCを74HC390で1/2に分周して供給しています。

PLLシンセサイザ(その1)

テーマ:

カテゴリー:

最近ちょっとショックだったのは愛用していた発振器SG-8002DC(SG-Writer II参照)がディスコンになってしまっていたこと。今後ずっと使うつもりでいたのに......

かなりの数を持っていますし、まだ買えるうちに追加もしたので、これまでのペースなら困ることは無いと思うのですが、実験用にポンポン使い捨てていくわけにはいかなくなってしまいました。

そうなると実験用のクロック発振器が欲しくなります。マイコンのクロック用がメインなので周波数範囲は1~25MHz(可能ならもう少し下も欲しい)程度で安定していることが条件です。そうなるとPLLシンセサイザしかありません。

秋月で売っているSi5351Aなんかがピッタリではあるのですが、PLLってあまり作ったことが無いので興味があるのと、やはりDIP(とPGA, PLCC)で揃えたいという変なこだわりで、作ってみるかということになりました。

それで先日のPLL用のICたちに繋がっていたのでした。

最近のお買い物(2023/1)

テーマ:

カテゴリー:

ここ何ヶ月か歯の治療が続いていたのですが、やっと仮歯でしばらく様子をみましょうということになりました。大昔(40年位前)に治療したところで、しかも連休中に問題発生が続いたりして、新井素子さんの「もとちゃんの痛い話」を追体験しているような気になったり。(あそこまで酷くはありませんが)

ページ