TX81Zをゲットした
TX81Zのプリセットがym2151.c改でうまく鳴らせなかった問題は半分くらい解決した。音の高さによってオペレータのOutputLevelを小さくするLevelScalingという項目がプリセットにあって、勘で適当に実装したら何となくそれっぽい音が出るようになった。
でも正しく鳴らない音も多い。実機ではどんな音で鳴るのか?どんなパラメータを与えているのか?知りたくなったので中古のTX81Zを買ってみた。
EWI USBと一緒に買ったもののホコリをかぶっていたUR22mk2とmicroKEY 25をPCにつないで鳴らしてみた。本物の音は重厚だった!(ような気がする)
というわけで、中身のYM2414のレジスタに書き込んでいる値を調べてみる。ピン配置はYM2151と同じらしい。ロジアナも買って波形を見てみると、アドレス/データをお膳立てしてからYM2414のCSをH→L→Hして書き込んでいるらしい。ロジアナは8chしか観察できないのでマイコンで観察することにする。
ESP32でできるかも?といろいろ試してみた。が速度が足りないのか信号を取りこぼす。もう少し早いのはないのか探していると、teensyというマイコンを見つけた。クロック600MHzだって。めちゃくちゃ早い。GPIOも早いらしい。
teensy4.0とロジックレベル変換モジュールをつなげてみる。ESP32の苦労がウソのようにあっさり動いた。音を出していないときでも$28~$37(音の高さ)と$60~$7F(音の大きさ)に書き込み続けていることが分かった。詳しい解析はこれから。