TI TMS9928

テーマ:

今回のものはMSXなどに使用されたTMS9918 VDP(Video Display Processor)のバリエーションの一つです。これ、いつ何を考えて買ったんだったかな?


TIのTMS9928AN、シンガポール製です。デートコードは9209と8227のどちらかな?

TMS9918のバリエーションの一つと書きましたが、どんな種類があったのでしょう?

違いは主に2ヶ所ありました。

一つ目は出力形式の違いです。TMS9918はNTSCコンポジット出力でした。このTMS9928はこれをRGB(厳密にはY, R-Y, G-Yの色差)出力に変更したものです。さらにTMS9928をPAL用の625ラインにしたTMS9929があります。

RXの命令を眺めて

カテゴリー:

アセンブラを書いているとどんな命令があるのか全体が見えてきます。

アセンブリ言語で書いても同じではと思うかもしれませんが、その場合はこんな命令無いのかなと探しに行くことはあってもどんな命令があるのか見ることはあまりないように思います。少なくとも私はそうで、新しいプロセッサを初めて触るときはニーモニック一覧を眺めて使い慣れたプロセッサの命令に相当するのはどれかといった探し方をしてしまいます。

そうすると汎用的な命令はわかりますが、知らなくてもプログラムは書けるけど使えば便利(速い)命令は置き去りになります。

一方でアセンブラを書いていると全部の命令に一通り目を通すことになります。動作は知らなくても書けますが、マニュアルに一緒に載っていれば目に入りますし、今回のRXのように別になっていても気になって調べてしまいます。まぁ好奇心の少ない人が仕事として黙々とやったらだめかもしれませんが......

そんなわけでRXの命令を見ているとつくづくC言語(とその派生)を意識した命令セットだなぁと思えるものがあります。

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

テーマ:

カテゴリー:

最近月末になると気になっているマンガがありまして......

向日くんとあおいさん」という弁護士さんの会のサイトに月一で連載されているものです。中学の時に社会科の教材で配られた「赤かぶ検事奮戦記」が元で法律の話(特に刑法)は好きだったりします。大学の一般教養で取った法学、刑法ばっかりで面白かったなぁ。マストではなかったけど東京地裁に傍聴に行ったし。

それでは本題です。

RX用のコードジェネレータ

カテゴリー:

先日買っちゃったRX621ボード、Universal Monitorの移植するにはアセンブラASが使いたいところですが対応していません。どうしようかと思っていましたが......

結局コードジェネレータを書き始めてしまいました。

IM6100対応のような難しさはありませんが、ただひたすらに面倒くさいというのが正直な感想です。

ASのコードジェネレータを書く場合はニーモニック毎にデコーダを用意する必要がありますが、それでは大変なのでオペランドやオブジェクトのビット構成のパターンが似ているものをまとめて楽をするのが一般的です。このまとめたグループ毎にデコーダを書くわけですが、この数がやたらに多いんですね。

私がこれまでに書いたものでは以下のようになります。

MN6221

テーマ:

カテゴリー:

以前7910使ったオルゴールを取り上げましたが、メロディICは7910以外にもあります。その中でも比較的手に入れやすかったMN6221を2種入手しました。


一つ目がこのMN6221AAです。上面の周囲に飾りの段差が付けてあるなど凝ったパッケージで、リマーク品のリスクは低そうですね。

鳴らすためにはタイミングのためのC,R類の他、スピーカ駆動のためにトランジスタ2石のアンプが必要です。電源は1.5Vです。7910とよく似ていますが互換性はありません。というかピン数からして異なっています。

超定番の曲らしいですが、まだ動かせていません。

古いTTLたち

カテゴリー:

ロジックICの主流はすっかりCMOSに取って代わられましたが、それ以前に使われていたTTL(Transistor Transistor Logic)のICたちをいくつか。


まずはFairchildの9002DCです。今となっては珍しいCERDIP、1974年製です。

これはFairchild独自の9000シリーズと呼ばれるもので、機能コードは74シリーズとは別物ですが混用は可能です。速度・消費電力的には74と74Hの間で出力段が強化されています。

この9002はQuad 2-Input NAND Gateです。ピン配置は7400と同じ。

PC-1246の思い出

ちょっと思い出したのでシャープのポケコンPC-1246の思い出を書いてみようかと思います。

中学生の時、クラスメイトにPC-1245を持っているのがおりました。非公式ですがマシン語やグラフィック(キャラクタLCDなので横5ドットごとに1ドット分の隙間はありますが)が使えるという情報があり、当時電車通学していたこともあって欲しくなってしまいました。

それでお金を貯めて買いに行ったのですが......

ちょうど後継機のPC-1246が発売されており、かなり高速化もされているとのことで、若干の不安もあったのですが新しいPC-1246を買ってしまったのでした。

これ確かに公式には上位互換の後継機なのですが、CPUも全くの別物に変更されており、マシン語もグラフィックも使えません。

弄り始めてすぐにそのことに気づいて愕然としたのですが、非公式の機能が使えないからと言って文句を言う筋合いはありません。

それでも何か出来ないかと探り始めました。

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

テーマ:

カテゴリー:

かなり間が空いてしまいましたが諦めたわけではありません。参考になりそうな本を探して読み始めてみたりしています。

そんな中でこんなものを入手しました。


MC145157P2、これまで使っていたMC145106と同じような機能のデバイスなんですが以下の点が良さそうだったので買ってみました。

  1. 基準信号側の分周器に任意の値が設定できるので水晶選択の自由度が高い
  2. 分周器の設定がシリアルなのでマイコンとの相性がいい
  3. 分周器が14ビットもあるので細かな設定ができる

残念ながらこれも過去のデバイスなので安定的に入手は出来そうもありませんが、たくさん作る必要のあるものでもないし構わないかなと。

それでは、いま参考にしている本を挙げてみます。

RX621ボード

テーマ:

カテゴリー:

秋月に寄ったらルネサスRX621のボードが安かったんで深く考えずに買ってしまいました。


ハンダブリッジをリワークした訳アリ品ということで1000円でした。マイコン単体より安いです。

開発セットではないので基板1枚だけでソフトウェアなどは一切ないですが、Universal Monitorの移植をしたいだけなので問題ありません。

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のような基本的だと思っていた命令が無いといったものが大量にです。

ページ