EPG4のLab.

YMF288(OPN3-L)カートリッジ その3

2026-03-22 17:31:20
目次

前回、はんだ付けが終了したところまででした。A1Fのスロットにさして電源ONすると・・・5Vの電源電圧が異様に低いしなんか消費している電流が音も出していないのに多すぎ。今回GAL/CPLDは使ってないしここまでにはならないはず。

あ、この電圧・電流を表示する基板はだいぶ前に今回のようなHW実験用に作った「簡易電圧、電流計」で、製作しているカートリッジをこの基板の上に刺してMSXのスロットに刺すという基板です。5Vだけセンサーで監視してマイコンからこの小さい液晶パネルに表示しています。±12V版も欲しいけど-12V扱えるセンサーIC見つけられていなくて。

それよりもこの問題。あちこちにプローブを当てて確認した結果、2.5Vの電圧を作るレギュレータが発振していました。本来の容量よりも大きなコンデンサを付けてしまっていたためでした。

あと、電圧がかなり低いのは本体のメイン基板を本体に(シールド板こみ)ちゃんとねじ止めしたら治りました。修正後は5.02V 44.2mAほどになりました。

YMF288のモード切替のレジスタにアクセスしてみます。テストコードはこれ。意図した結果が返ってくるのが確認できたのでMSXとYMF288の間はよさそうです。

10 'Mode change and read state
20 OUT &H14,&HFF:MD=INP(&H15)AND2
30 PRINT "Current:"+HEX$(MD)
40 IF MD=0 THEN PRINT"TO YMF288 MODE"
50 IF MD=2 THEN PRINT"TO YM2608 MODE"
60 IF MD=2 THEN:MD=0:ELSE:MD=2
70 OUT &H14,&H20:OUT &H15,MD
80 PRINT "New val:"+HEX$(INP(&H15))

次に音が出ることを確認するために何か音を出す必要があります。音色レジスタ設定たりの音色設定してから音程の設定、ノートオン。と、そこまでそれなりのデータを送る必要があると思います。ふとリズム音ならせばもっと簡単じゃない?と思いつき、ドラムを鳴らしてみることにしました。

100 'DRUM test
110 FOR I=0 TO 7:READ A$,D$
120 AD=VAL("&H"+A$):DT=VAL("&H"+D$)
130 GOSUB 1000:NEXT:'Send Data to YMF288
140 AD=&H10:DT=1
150 FOR J=0 TO 200:NEXT:'Wait
160 GOSUB 1000:DT=DT*2:IF DT=64 THEN DT=1
170 GOTO 150
180 DATA 10,80, 11,3F, 18,DF, 19,DF
190 DATA 1A,DF, 1B,DF, 1C,DF, 1D,DF
195 END
1000 'Send data
1010 OUT &H14, AD
1020 OUT &H15, DT
1030 RETURN

ハイ鳴りません!

プローブを当ててオシロで調べると・・DACのBCLKの波形がダメになってました。YMF288を5Vで駆動(MSXのバスとつなぐので3.3Vではなく5Vに)していて、DACは3.3Vで駆動しているので信号線の電圧変換が必要です。これは抵抗の分圧で済ませていました。YMF288 BCO (23pin)側の出力は問題なく、2.6MHzくらいの矩形波が出ていました。分圧抵抗5.6k/10kが大きすぎなので3k/5.6kに変更したらOKになりました。

DACからの波形は確認できましたが、スピーカーから聞こえない。さらにプローブを当てて探った結果、ミキサー用のオペアンプの配線を間違えていることがわかりました。結構厳しいのだけどパターンをカットしたりジャンパー配線したりで何とか修正。ほかにも細かい部分で修正が必要でした。

(電圧を確認したりしている写真)

ついにドラムの音がスピーカーから聞こえました!おお、これはうれしい。

次回VGMPlayerで何か再生しているところを録音してみようと思います。ノイズの件。ディスクアクセス時やBASICでリスト表示したときなどに入るノイズは聞こえませんでした。しかしスピーカーのボリュームを上げるとホワイト・ノイズ(さーーって音)が聞こえます。ちょっとこれはヘッドフォンとかで聞くと気になるかも。

つづく

この記事を書いた人

EpicGadgets4

レトロPC関連、ゲーム、電子回路で遊んでみたなどの記録を書いていきます。