わたしのPC-8001には、HAL研のPCG8100互換のロータスゲームボードというものを搭載しています。I/O誌に載ったPCG互換基板自作記事 PSAにも近い回路になっていると思われます。
音源はPCG同様タイマーIC 8253で1声。30数年前に3声改造していたのですが、音が濁ってます。なんとかちゃんと3声対応したい。
☆[2020/5/18]回路図に一部間違いがあったので修正しています。(電解コンデンサの極性が逆でした)
30数年前のPC-8001 PCG互換品(GB-20)3声対応
自分で対応したか、友人に頼んでやってもらったかは忘れたのですが、わたしのPCG互換品ボード(GB-20 ロータスゲームボード)は一応3声改造しています。改造回路はこんな感じです。
- PCG互換ボード(GB-20ロータスゲームボード)上の8253タイマーICの対応
- GATE0とGATE1,GATE2を直結。(GATE1とGATE2のLSIの足は基板から切断して上げておく)
- CLK00端子とCLK1,CLK2端子も直結。(CLK1,CLK2端子は基板から切断して上げておく)
- OUT1,OUT2の出力を74LS00を通してアンプ、スピーカーへ接続
- 74LS00の片方の端子にスイッチをつけて、ON/OFFできるようにする。
この改造でながりなりにも3声対応のゲームから和音が出ていました。写真に映ってるやる気のない感じのスライドスイッチが3声/1声の切り替えです。固定すらしていない…
この改造だとPC-8001内のノイズを拾ってしまうのかハム音がはいったり、3声未対応ゲーム(PCGスーパー麻雀)などの効果音が濁った音となってしまっていました。
(昔はあまり気にならなかったような….)
PCG 3声対応ゲームが近頃続々と…
なんとこの21世紀も20年ちかく経過する2020年になって、PC-8001 PCGの3声対応ゲームが続々と公開されています。こちらのゲームをプレイするにはちゃんとした3声対応を実施したい。
Newシティー・ヒーロー
2020年に新発売(!!)されたPC-8001 PCG対応ゲーム。あのハイドライドで有名な内藤さん作です。当然PCG 3声対応。
NewラリーX 、パックマン(BGMパッチ)
昔雑誌に掲載されていたNewラリーXやパックマンになんとゲーセンと同じBGM対応をされた方が!! 元々のゲーム自体の出来も良かったのですが、BGMがついてないのがちょっと寂しかったのです。それがなんとPCG 3声BGM・効果音対応ですよ!
BGM・効果音がついて感動!!なのですが、わたしの30数年前の3声対応だとNewラリーXでフラグを取ったときの効果音が止まらず、ピーーーーと鳴り続ける事象が発生。
わたしの30数年前の改造ではGATE端子1〜3を全結線しているため、2声目、3声目が個別にソフトウェアでOFFできないのが原因と推測されます。これはちゃんと対応しないと!!という気になりました。
PSA(PCG互換)3声改造記事を参考に3声対応
以前 Twitterでモ〜リンさんに、PCG互換基板 PSAの3声対応の情報をいただきました。I/O誌 85年2月号 P.255に3声対応記事があるとのこと。
見てみると、以下のような対応を実施してました。
- CPUクロックをCLK0、CLK1、CLK2に供給。(誤植でOUTxと書いてますが…)
- OUT0、OUT1、OUT2を結合して560Ωを通してアンプ、スピーカーへ(こちらも誤植でCLKと書いてますが….)
- GATE0はそのまま、GATE1、GATE2は74LS74 D-FFを使ってデータバスD6とD7をラッチする。
上記回路を参考にPC-8001内蔵PCG互換ボード(GB-20 ロータスゲームボード)の改造を決意。30数年ぶり2回目w
ハム音対策で8253のOUTx3を外部化
1.と2.は30数年前の改造でOKなのですが、スピーカーからの音にハム音がのってました。たぶんPC-8001内部のノイズを拾っていると思うので外部端子化してみました。PCG互換基板にはZ80 CPUも載ってますので…
上の方の写真でわかるとおり元々3声分のミキシングはPCG互換ボード(GB-20)上で行っていましたが、今回は以下の写真のようにリード線で外部へ引き出してみました。
Vcc/GNDと8253タイマーICのOUT1、OUT2、OUT3は直接はんだ付けしまして、XHコネクタをつけてリード線を引き出しました。圧着工具大活躍です。
コネクタ類は秋月電子通販にもありますが、Amazonでも売ってます。今回は8Pのやつを使ったので、秋月電子通販で買ったやつかも….
この改造で、外部にアクティブスピーカーを接続してゲームをやってみたところ、ハム音もなくきれいな音が出ました。GATEの処理を実施してないので、ラリーXで効果音がピーーーーと鳴り続ける問題は治ってません。
でもハム音がなくなってクリアなBGMが鳴りました。ちょっと気分が上がります。
8253タイマーICのGATE1,2を正しく処理
I/O誌 85年2月号 P.255のPSA(PCG互換)3声対応記事を参考に、以下のような回路を追加してみました。GB-20(PCG互換)側の回路はPSAの記事の回路図を参考に想像したものですので、間違っていたらごめんなさい….(多分、少々妄想が入ってます…)
- 8253タイマーICのGATE0(1声目)のコントロールは、I/Oアドレス$02のデータバスD3が1のときにONになるようになってるようです。
- このコントロールに74LS42でデコードしたI/Oアドレス信号をNOTを通して74LS174のクロックへ供給してデータバスのラッチをしている模様
- ただし、74LS174は6個しかD-FFを持ってないのでデータバスD6とD7はラッチしていないらしい
- GATE1(2声目),GATE2(3声目)については同じくI/Oアドレス$02のデータバスD6、D7ビットでOFF/ONする模様。このデータバスD6、D7信号をラッチするため74LS74を1つ追加する必要があるようです。
- CPUからのリセット信号と、データバスのラッチタイミング信号は74LS174からもらえそう。(PC-8001のOUT 02,xx が出されたタイミングです)
- データバスD6とD7信号は8253タイマーICの端子1番と2番から引っ張ってこれそう。
….というわけで改造のめどが立ちましたので、PCG互換基板(GB-20)の既存のICを使って、みんな大好き親亀子ガメ方式で74LS74を搭載。空中配線で各ICと結線してみました。これだと別基板が不要で省スペースです。(と…言い訳)
ちなみに、上の方に見えるビニールぐるぐる巻基板は30数年前のカセットインターフェース3200bps対応基板です。そろそろ壊れそうだなぁ…
無事、PCG互換基板(GB-20)の3声化完成!
この対応で、無事 PCG互換基板(GB-20)の正しい3声対応ができました!
下のTweetにも書きましたが、追加部品の74LS74をはんだ付けするときに、SD-DOSを搭載したSRAMボードをつけっぱなしだったためか、ノイズでSRAM(8k ROMがわり)のデータが一部壊れたみたいで、PC-8001を起動時に壊れたプログラムが動いてBEEP音がピーーーーーーとなりつづいたりしまして、PC-8001を壊したかと焦りました。
SD-DOSをロードし直して無事稼働したのであります。
本家PCG8100を持っていないのでなんとも言えませんが、たぶん同じような回路になってると思うので、初期型のPCG8100を持っている方も3声改造にチャレンジしてみてはいかがでしょうか。
本家PCG8100を持ってる方は、たぶんすでに3声対応済みだとは思いますが….
PCG 3声対応ゲームは1声と3声では雰囲気がぜんぜん違いますので、ぜひ!! ^^)/
コメント