2025秋月電子通商の福箱に入っていた中で一番うれしかった「μP-1 ユニバーサル テストボード」を使ってみます。
このボードには電子回路の学習で使うような回路がたくさん詰め込まれている上に、便利なICがいくつも実装されています。中には今では手に入れにくいICもあります。
基板上にはPICのソケットもあるので、まずはPICで動作確認してみます。マニュアルには18ピンのPIC16C54とか28ピンのPIC16C55などしか記述されていませんが、同じピン配列のPICなら問題なく利用できます。今回は18ピンのPIC16F819を使いました。各端子につながるピンが基板上に配置されているので、PICをソケットに入れた状態のままPICkit4などでプログラム書き込みも行えます。
すでに電源やパスコン、4MHzのクリスタルやリセットボタンが配線されているのでPICはソケットに挿すだけで利用出来ます。ボードにはLEDの回路もあるのでLチカはすぐに行えました。それだけではつまらないので7セグの回路につないで数字を表示させてみました。
BCD入力を7セグメントにデコードしてくれるICも搭載しているので表示は簡単に行えます。4桁のダイナミック点灯です。
さて、ウォーミングアップはこのくらいにして、このボードで本当にやりたいことに取り掛かろうと思います。
ボード上に8255というICが載っているのですが、これはPPI(プログラマブルペリフェラルインタフェース)といって設定によって動作を変えられる8ビットx2と4ビットx2の入出力インターフェースを持っています。昔の8ビットパソコンではI/OポートのICとしてよく用いられていました。このICを以前購入したMSXのバスに接続して、様々なデバイスをつなげられるようにしたいのです。
まず最初にしなければならないのは、MSXの拡張スロットに差し込む基板を用意することです。ただ現在ではスロット用の基板は入手困難ですし、再利用できる中古のMSXカートリッジも手に入りにくくなっています。同人ハードなどもあるかもしれませんが高価です。
そこでスロットのピッチサイズが同じで60ピンのファミコンカートリッジの基板を50ピンに加工して利用することにしました。
昔、購入していたのを忘れていて再度中古で購入してしまったゲーム。しかも手持ちのファミコン互換機では動かないMMCでした。
カートリッジを分解してICの足をリューターで切り取り、基板に残った足は半田ごてで取り除きました。
短絡されている端子同士はパターンカットして、エナメル線で裏表合わせて50個の端子を引き出します。
テスターで配線に問題がないことを確認してグルーガンで絶縁・固定を行いました。
MSXのバスに接続するための基板が出来ましたので、続いて8255に接続するための回路を作ります。MSXでユーザーに解放されているI\Oアドレスは0~0x3Fとなっていますので、素直に0番地を使うことにします。8255はI/Oポートを4つ使いますので実際には0~3番地を使います。
MSXがI/Oポートにアクセスするときにアドレス信号をバスに出力している時間は一瞬ですので、その瞬間にアドレスをデコードして8255のチップセレクト信号を作る回路が必要です。そういった用途に使える74LS139がすでにユニバーサル テストボードに搭載されています。説明は省略しますが、以下のような回路を作りました。
A7~A2が全てLOWのときCSがLOWになります。A7~A2は図の順番通りでなくても同じ結果になります。
続いて8255がデータをラッチする回路です。回路は以下のようになります。(データバスの配線の表記は省略)
8255のCSにはLS139からのチップセレクト信号を入れます。MSXバスのSW1とSW2は短絡します。電源はユニバーサル テストボードからとるのでMSXバスからはGNDだけ接続します。
ブレッドボードには上図のORを作るための74LS00と74LS04が載っています。
配線が多いので間違いが無いことをしっかり確認してからユニバーサル テストボードとMSXの電源を入れてみました。
見た感じは問題なさそうです。そこで8255のボートAとユニバーサル テストボードのLED8個をつないでからI/Oポート3番地に8255の設定データを出力し、0番地にLED8個を点灯するデータを出力してみました。
無事に点灯しました。
BASICで8個のLEDの点灯パターンを全て試してみましたが、正しく点灯しました。
線がごちゃごちゃで使いにくいので、ロジックIC周りの回路は基板に配線してもう少し使いやすくします。
ユニバーサル テストボードの取り扱いが楽になったので、8255の出力ポート全ての動作確認をしてみました。
8ビットのポート3個としても使えるので16個のLEDとや7セグのダイナミック点灯(BASICでも殆どちらつかずに表示できました)を同時に行ったり、ドットマトリクスLEDの表示も行ってみました。
問題ないようです。また後で入力テストもしようと思います。
これでMSXを様々な事に使うことが出来るようになりました。こういったCPUバス直結のディープな電子工作はエミュレータでは味わえない実機ならではの楽しみ方ですね。
この回路はいつ発売になるかもわからないMSX DIYでもきっと役に立つはずです。それまではこのMSXで遊んでます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます