ヤマハMSXシリーズのストロングポイントでもある「サイドスロット」。MSX標準とは異なるコネクタ形状のスロットには、SFG-01/SFG-05のような独自のFM音源ユニットが装着できます。
当時もこの特徴がファンから支持されていましたが、特にSFG-01に搭載されたFM音源チップのYM2151は、その後アーケードゲームや他のホビーパソコンにも搭載されたメジャーな音源チップです。
https://www.youtube.com/c/TinyYarou
で、そんな兄貴がこのほど新作としてSFG-01/05両対応の演奏デモプログラムを発表。
MSX Sound Demonstration ”FANTASY ZONE" ver.1.1 https://youtu.be/LXCPuM9oLp4
CX7M/128+SFG-05を持っていた中の人は、脊髄反射で即ダウンロードし実行してみたのですが・・・
う~ん・・・
— MobileFF (@mobile_FF_) March 18, 2022
早速試してみたのですが、
①CX7M/128+MegaFlashROMでROM焼き→起動し画面は出るがフリーズ
②CX7M/128+MFRでDSKを登録し起動→①と同じ
③CX7M/128+MSXDISKでPC上のDSKイメージから起動→起動し演奏されるが2倍速再生になる
以上、動作報告レポートです
> @tiny_yarou さん
のような結果に。※現在は修正版が公開されているので問題ありません
TINY兄貴に動作レポートをさせていただき、いろいろやりとりしているうちに、興味深い事実が浮かび上がってきました。
まず、起動したけどハングアップする件は、TINY兄貴の即座のひらめきにより、MegaFlashROMに内蔵(ただしMFRは製品バリエーションがあって、512KBの拡張マッパメモリがあるものとないものがある)の512KBメモリの存在によって起きるものと判明。速攻で対応版が提供されました。
拡張RAMでも動作するよう更新してみました。https://t.co/D9Qg5kEtZ5
— TINY野郎 (@tiny_yarou) March 19, 2022
ちなみに、利用者側で同様の事象に行き当たった場合、MFRに焼くときに、/Uオプションを付けると、起動時に内蔵512KBメモリマッパを無効にしてくれるそうですので、これもまたご参考に。
すみません、MFRって、512KBRAMが付いたものでしょうか?起動時にMFRが内部的にスロット拡張を行って、演奏プログラムがスロット1-1、メインRAM(MFR内蔵512KB)がスロット1-2、という形になると動作しない気がします…。OPFXSDの際に"/U"オプションで、これを防げるのかも…?
— TINY野郎 (@tiny_yarou) March 19, 2022
次に、動いたは良いが何故か演奏スピードが倍速になってしまう件は、SFG-01/05両対応にするため、それぞれが搭載しているFM音源チップ(SFG-01=YM2151、SFG-05=YM2164)の動作仕様の違いに対応する必要から、チップによって再生速度を変えており、そこに関連があるのではないかということでした。
SFG-01とSFG-05の判定はROMのバージョンを見て、古いものはSFG-01(OPM搭載なので通常再生)、新しいものはSFG-05(OPP搭載でタイマーのクロックが半分なので倍速で再生)とみなしています。CX7Mのサウンドユニットが「ROMは新しいけどOPPではなくOPM搭載」とかだと倍速になる可能性はあるかもです…
— TINY野郎 (@tiny_yarou) March 19, 2022
ユニットがSFG-01なのか、SFG-05なのかは、ROMの特定の番地に情報が書かれているため、その内容で判定するそうです。
ありがとうございます!
— TINY野郎 (@tiny_yarou) March 19, 2022
SFG-05の技術資料を参考に、ROMの0088Hを見て判断しています。 pic.twitter.com/Iux0Ht9n4O
中の人のSFG-05も一応調べたところ、やはり技術仕様通りにSFG-05を示す数値が書き込まれていました。
ちなみにこれもTINY兄貴のTINY SLOT CHECKERで表示してますw |
イメージ的には、SFG-05と01は動作周波数が2倍違うため、SFG-05だと判定したらSFG-01の倍のスピードで演奏しなければいけないようなのですね。
中の人のSFG-05が倍速になってしまう、というのはつまり
となると、チップにYM2151が載っている、ということでしょうか。。。
— TINY野郎 (@tiny_yarou) March 19, 2022
という疑いがあるわけなのです。
SFG-05と判定して倍速にしても、実際のチップがYM2151だとそのまま倍速になってしまうというわけです。
いやいやいや、ネットのどこを見ても、SFG-05の搭載チップはYM2164と書いてあるはず・・・
https://www.msx.org/wiki/Yamaha_SFG-05
ということで、これは現物を調べないともう分からないだろうということで、ケースを開けてみました。
しかしそこには、中の人の調査を妨げる驚くべき構造が!
FM音源チップ群に覆い被さるようにサブボードが載せられています。
どうやっても、このサブボードを外さないと、目視ではチップがなんなのか確認できません。
苦心惨憺の末、若干基板も傷つけてしまってガックリしながらも、どうにかサブボードを外した結果・・・
この事実から、TINY兄貴はROM情報から機種までは判定できるが、搭載チップを判別する簡単な方法はないと判断、これまた光の速さで「手動で等速、倍速切り替え機能」を実装し更新版を提供していただけました。
SFG-05のBIOSをSFG-01に載せるのは結構やっている方がいるかもしれませんね。ディスク対応になったりしますし…。
— TINY野郎 (@tiny_yarou) March 19, 2022
一応、YM2151モードとYM2164モードを切り替えられるようにはしてみました…完全に手動ですが😓https://t.co/D9Qg5kEtZ5
無事、YM2151版のSFG-05でも演奏を聴くことが出来るようになりましたが、謎が残るのはSFG-05にチップの違う複数バージョンが存在するかもしれないという事実です。
中の人のSFG-05はもちろん令和になってから入手したブツですから、当然中古品であり、これまでのオーナー(も、そもそもワンオーナーとは限らない)が何か手を加えたのか、そのままなのかも判別する術はありません。
可能性はいろいろ考えられます。
① 元々SFG-01だった基板のROMだけをSFG-05のものに交換したのかも?
SFG-01のBIOS(MBIOSなどとも呼ばれる)は仕様上、FDDとの共存が出来ないため、ROMだけをSFG-05のものに交換するという改造は良く行われているようです。しかも、このサブボードに乗っているのは、書き換えが可能なEPROMです。
可能性としてはありうるのですが、ネットで見かけるSFG-05の基板に刻印された型番と、中の人の基板の型番も一致しますし、サブボードの実装の様子がほぼ一致する現物写真も複数あり、またEPROMの消去窓にわざわざ印刷されたシールが貼られていたりと、改造で後付けしたとは考えにくい要素も多いです。
② SFG-05のYM2164をYM2151に交換したのかも?
故障したYM2164の代わりに、手元にたまたまYM2151があって・・・とか。
これも、可能性がないとは言えませんが、チップの交換は半田付けも精密で難しく、さほど大きなメリットも見いだせないこと、たまたま複数の交換例が綺麗な実装で存在するということがありうるかと考えると、これも考えにくいですね。
以上からの推測として、
SFG-05には、FM音源チップとしてYM2151搭載のバージョンと、YM2164搭載のバージョンが存在する
という可能性が非常に高いと言えます。
ただ、一点気になるのは、SFG-05のROMにはバージョン情報が書き込まれているのですが、どうもその情報はYM2151版もYM2164版も同じ値になっているという事実です。
普通なら、リビジョンが異なれば異なるバージョン値を書き込んでおくものだと思いますが・・・。
まあ、確定的な情報はないので、与太話としてご覧いただければ幸いです。
コメント
コメントを投稿