MB-6892

◆レベル3用のPSG6&9声カードの情報はこのページの下部にあります。

レベル3用 6声&9声PSGを作る

 以前、FPGAを使って6声PSG9声PSGを作成しました。 これらはFPGA内部にPSG相当の回路を組み込んで音を鳴らすというものでした。 今回は、FPGAを使わず実際にそれぞれのICを入手して6声PSG&9声PSGの回路を作っていきたいと思います。

仕様を考える

 PSGは1個につき3声まで出力することができます。なので6声なら2個、9声なら3個必要になります。それぞれ用意すると合計5個必要になります。 が、当時6声と9声を同時に使用するソフトは発表されていなかったので、今回は6声と9声の回路を切り替えて使用できるようなものを作ることにします。

 レベル3とPSGはパラレルI/Oポートを介して接続します。6声PSGはPIA、9声PSGはVIAというICを使用します。これらをソフトに応じて切り替えするためのI/Oレジスタを1つ用意します。

 上記をもとにざっくりとブロック図にしたのが以下になります。

レベル3用6声&9声PSG ブロック図
レベル3用6声&9声PSG ブロック図

回路設計

 ブロック図から使用するICを決めていきます。

 上記から回路図をおこすと以下のようになりました。

レベル3用6声&9声PSG 回路図(クリックで拡大)
レベル3用6声&9声PSG 回路図(クリックで拡大)

 ※この回路図は実際にテストを行い修正した後のものになります。

ガチャをまわす

 さて、今回使用するICはかなり以前に設計されたものになります。そもそも参考にしている資料が1981~1983年ですので、40年近く前のICをかき集めなければなりません。 これらのICは1990年代までは製造されていたようですが、今新品で手に入れるのはかなり難しそう。中古品でも日本では売っていないICもありますし、売っていても高額でちょっと手を出しにくい…。

マーク5に搭載のPIA 1983年製
マーク5に搭載のPIA 1983年製

 もう少し安く手に入れられないかとネットを漁ると、中国の通販サイトであるAliExpressに辿り着きました。 IC1個の値段が$1前後なのでかなり安い。ただ、ここはいろいろトラブルも多いとのこと。はてさてどうしようか…。

 結局、安さには代えられずここで購入することにしました。 はたして無事届くのか、はたまた正常に動くのか、まさにガチャをまわす感じで期待と不安が交錯しますね(?) 今回は6店舗で注文したので送料が若干高くなってしまいましたが、ソシャゲで課金して100連ガチャまわすより安いんじゃない?知らんけど。

結果は?

 注文した品は約3週間~1か月で無事届きました。商品不足などのトラブルもよくあるらしいので録画しながら開封します。で、1店舗から商品不足というそのままのトラブルが発生(^^; まあ少し余分に購入しているので作業に支障はありませんが。

 開封したら次はICのチェックをしていきます。まず、AY-3-8910は明らかにリマーク品ですね。刻印がマイクロチップ社になっていますがフォントが違います。さらにIC表面を削ったような跡も見られます。そもそもマイクロチップ社になってから型番がAY-3-8910Aになったのでは?なお購入した6個中2個が正常に動きませんでした。まあ残りは動作するので、元はJFC95101やKC89C72あたりの互換ICではないかと思います。
 YM2149Fは足にハンダ跡があるので廃棄基板などから引っこ抜いたリサイクル品だと思われます。こちらは購入した3個すべて動作したのでよしとします。
 AY-3-8913は逆に足にハンダ跡が見当たりませんでした。購入した3個すべて動作するので長期在庫か何かでしょうか。

PSG音源ICあれこれ
PSG音源ICあれこれ

 次にPIAとVIAを。HD6821P(PIA)は足にハンダ跡があります。刻印やパッケージは本物っぽいのでリサイクル品でしょうか。購入した4個中1個が商品不足でした。それにしてもIC表面に結構キズがあるし1本だけ足が少し短いのですが(--;
 MCS6522(VIA)はどうもリマーク品っぽいです。こちらにもIC表面を削ったような微妙な跡があります。購入した4個中1個が動作しませんでした。残りは動作するのでこちらも互換ICの可能性があります。ところでVIAの型番ってMOS6522なの?データシートではMCS6522なんですけど。

PIAとVIA
PIAとVIA

 ちなみについでに購入したMB8877A(FDC)は偽物でした。刻印に84の数字がありますがこのころの富士通のICには溝があるはず。では中身はというとIC表面などパッケージ形状からモトローラのMC6821(PIA)と予想しました。で、テストしたところなんとビンゴ。PIAが無駄に増える結果になりました。

 今回は30個ほどICを購入し、不良品3個、商品不足1個、偽物2個という結果でした。これらは店と交渉するも理不尽な提案ばかりで交渉は決裂。紛争して返金となりました。今回購入した印象ですが、半導体を扱う店に限ると店の評価は全くあてになりません。商品のフィードバックレビューをよく見て決めるしかないかと思います。レビューがない場合は…もう賭けですね(^^; 店と交渉するために開封動画と検品できる環境は用意しておきましょう。

実機で確認

 と、話が大きく逸れてしまいましたので元に戻ります。

 毎度おなじみのブレッドボードに実装していきます。古いICはDIP 40ピンで幅も600milとデカいもんばかり。ブレッドボードは大型3枚では足りず、小さいブレッドボードも追加しました。その中にICと配線がぎっしり。まさにスパゲティ状態ですな(^^;ロジアナもつないで実機に接続します。

実機に接続
実機に接続

 では、最初はAY-3-8910(互換IC)を使ってメロディチャイムを演奏させてみます。初めはいつも通り動きません。チェックするとやはり配線ミスがありました。チェック後再度確認。今度はPIA(6声)モードとVIA(9声)モードともになりました。

 VIA(9声)モードではPIAモードより音の途切れ具合が速くなっています。これはVIAモードでは倍の2MHzクロックで動かしているため、エンベロープ周期も倍の速さになるためです。

メロディチャイムを演奏
メロディチャイムを演奏

 次は、ゲームを起動して効果音を確認します。まずは「デストロイエイリアン」。こちらはPIA(6声)モードで(実際は3声しか使っていませんが)。そしてVIA(9声)モードで動作する「スキッパー」。どちらも問題なく演奏されているようです。

ゲームを起動して効果音をチェック
ゲームを起動して効果音をチェック

 最後は、音楽演奏システムを起動して9声フルで演奏させてみました。音が若干歪んだ感じになりますが演奏自体に問題はありませんでした。

音楽演奏システムで演奏中
音楽演奏システムで演奏中

ICを交換する

 今度は、音源ICを交換しても演奏できるかを確認します。初めはヤマハのYM2149Fに交換します。このICはピンアサインがAY-3-8910と同じになっているためそのまま交換できます。ちなみに、AY-3-8910のPSGに対してYM2149FはSSGと呼ばれています。交換が完了したら先ほどと同じように確認します。

ICをYM2149Fに交換
ICをYM2149Fに交換

 演奏させてみるとPSGより少し音声出力が弱いようです。これはボリュームを大きくして調整します。演奏自体は問題ないようです。「スキッパー」起動時の爆発音はPSGのときよりもスムーズに音量が減っているように聞こえました。また音量の減り方がPSGより大きく感じます。

 次はGIのAY-3-8913に交換します。ピン配置が異なるので配線も変更します。このICはMB-S1にも採用されているものですが、音声出力に少し癖があります。

ICをAY-3-8913に交換
ICをAY-3-8913に交換

 メロディを演奏させると、PIA(6声)モードではもたつくような感じがありますが、VIA(9声)モードではもたつきを感じることはありませんでした。

 ゲームですが「デストロイエイリアン」はきれいに演奏されないですね。謎のノイズが常に出ています。「スキッパー」や演奏システムには問題ありませんでした。以上から1MHz駆動時にPSGへデータを設定する時間が不足しているのではないかと考えられます。

 と、文章で説明されても実際どういう音が鳴っているかわからん、という方は動画を用意しましたので興味があればご覧いただければと思います。

まとめ

 YM2149Fでは「スキッパー」起動時の爆発音はスムーズでした。これはデータシートにも書かれていますが、AY-3-8910のエンベロープ音量は16段階に対してYM2149Fは32段階あるためです。また音量の減衰量はYM2149Fのほうが大きいようです。

 AY-3-8913は1MHz動作だとかなり癖がでますね。データシートによるとデータ書き込みに必要なセットアップ時間は少なくとも1850nsになります。となると1MHz駆動だと4000~5000nsぐらいは確保しなければならないのかもしれません。AY-3-8910のセットアップ時間は550nsですから、同じPSGでありながらAY-3-8910とAY-3-8913ではかなりの仕様の違いがあることが分かりました。(おわり)

参考文献

  1. I/O別冊ベーシックマスター活用研究 - 工学社
  2. 月刊I/O 1983年8月号 - 工学社
  3. AY-3-8910/12/13 DataSheet - General Instrument
  4. YM2149 DataSheet - YAMAHA
  5. HD6821 PIA DataSheet - HITACHI
  6. MCS6522 VIA DataSheet - MOS Technology
  7. SN74CBT3257C DataSheet - Texas Instruments

レベル3用のPSG6&9声カードを作成しました

L3用PSG6&9声カード
L3用PSG6&9声カード
実装例
実装例

ダウンロード

Rev.0.2

 

レベル3&S1実機を拡張する

 

TOP PAGE