このページではお試しファームに搭載されたPMD/FMPドライバでの曲データ再生について解説します。
このページは現在作成中です。
PMDとFMPについて語る前にPC-8801/9800シリーズのFM音源の歩みについて語りましょう。
PC-98ではじめてFM音源が採用されたのは1985年のことです。PC-9801-26というYAMAHA製の音源LSI YM2203(FM3音、SSG3音)を搭載したFM音源ボードが発売されました。
PC-88でも同年にYM2203を搭載したPC-8801mkIISRが発売されますが、2年後の1987年には上位互換のYM2608(FM6音、SSG3音、リズム音源6種6音、ADPCM1音)を搭載したPC-8801FA、PC-8801-23(通称サウンドボードII)が発売されます。
しかしPC-98でYM2608が採用されたのはPC-88から遅れること4年後の1991年のことです。
しかも本家NECからの発売ではなく、サードパーティーメーカーが先にYM2608搭載ボードを発売してしまいました。
アイドルジャパンから発売されたスピークボードがそれで、ADPCM用のDRAMを256KB搭載したPC-8801-23相当とも言えるFM音源ボードでした。
このボードはサウンドボードII相当品を望むユーザー達が食いつき、一定の普及を見たようです(が、価格が¥49800と高額だった為、広く普及したとは言えないでしょう)
その半年後にNECからもYM2608を搭載したFM音源ボードPC-9801-73が発売されますが、¥90000という恐ろしい価格だった為に全く普及することはありませんでした。
結局PC-98でYM2608が普及するのは1992年発売の初代PC-9821及び、その音源部をボード化したPC-9801-86(通称86ボード)の登場を待つことになります。
86ボードは73ボードから大幅に価格が引き下げられ(¥25000)、初代9821に続きA-MATEシリーズ、98MULTiシリーズでも同音源が採用された為に広く普及しました。
その後、YM2608の生産終了を受けてFM音源チップがYM2608からYMF288(一部YMF297)に、Windowsの普及を受けてPCM音源部が86PCMからWSS(WindowsSoundSystem)に変わっていきました。
その音源部をボード化したのがPC-9801-118です。しかしMS-DOS上で使うには一癖も二癖もあるボードだった為、あまり普及せず生産終了となりました。
型番 | PC-9801-26 | PC-9801-26K | スピークボード | PC-9801-73 | PC-9801-86 | PC-9801-118 |
FM | YM2203 | YM2203 | YM2608 | YM2608 | YM2608 | YMF297 |
ADPCM | なし | なし | DRAM 256KB | なし | なし | なし |
PCM | なし | なし | なし | 86PCM+DSP | 86PCM | WSS |
発売年月 | 1985/01 | 1986/11 | 1991/03? | 1991/10 | 1993/01 | 1995/11 |
価格 | ¥25,000 | ¥25,000 | ¥49,800 | ¥90,000 | ¥25,000 | ¥22,000 |
FM/SSG音量比 | 30% | 30% | 30% | 未計測 | 25% | 25% |
型番 | PC-8801mkIISR | PC-8801-11 | PC-8801FA | PC-8801-23(24) |
FM | YM2203 | YM2203 | YM2608 | YM2608 |
ADPCM | なし | なし | DRAM 256KB | DRAM 256KB |
発売年月 | 1985/01 | 1985/03 | 1987/10 | 1987/10 |
価格 | - | ¥19,800 | - | ¥39,800 |
FM/SSG音量比 | 55% | 55% | 50% | 55% |
上記がPC-98とPC-88の主なFM音源ボードになります。
ADPCMの欄にDRAM 256KBと書いてあるボードがADPCMに対応する音源ボードです。
PC-9801-73や86もYM2608を搭載していますがADPCM用のメモリを搭載していない為そのままではADPCMを鳴らすことはできません。*1
また、FM/SSG音量比と書いた欄はFM音源部とSSG音源部の音量バランスを記載しています。*2
これはYM2203やYM2608のFM音源部とSSG音源部がチップから別々に出力されていることに起因します。
このミックス具合は実はFM音源ボードや機種によって異なっています。特に差が大きいのはPC-88とPC-98です。
前者が50%以上の音量なのに対して後者は30%程度しかありません(PC-98の方がSSGの音量が小さいです)。
音源種別 | FM/SSG音量比 |
PC-8801 YM2203搭載機 | 55%前後 |
PC-8801 YM2608搭載機 | 50%前後(ただしPC-9801-23は55%のようです) |
PC-9801 YM2203搭載機 | 30%前後(機種やボード毎に若干バラつきがあるようです) |
PC-9821 YM2608搭載機 | 25%前後(機種やボード毎のバラつきはあまりありません) |
PC-9821 YMF288/297搭載機 | 25%(YMF288/297は音量比固定で25%です) |
GIMICではこの問題に対応する為、OPNAモジュールにデジタルミキサーを搭載しており127段階でFM/SSG音量比を調整することができます。
(現状はこのミキサーの設定に対応しているソフトがありませんが近日中に登場予定です)
PMDとはKAJA氏が作成されたPC-9800シリーズ用のFM音源ドライバです。*3
PMDは対応する音源ボード毎にドライバが分かれており以下の4種類があります。
ドライバ | PMD.COM | PMDB2.COM | PMD86.COM | PMDPPZ.COM (+PPZ8.COM) |
対象音源ボード | PC-9801-26/26K (YM2203) | スピークボード (YM2608+ADPCM) | PC-9801-86 (YM2608+86PCM) | PC-9801-86 (YM2608+86PCM) |
演奏可能なパート | FM3音,SSG3音 | FM6音,SSG3音 リズム6音,ADPCM1音 | FM6音,SSG3音 リズム6音,86PCM1音 | FM6音,SSG3音 リズム6音,86PCM8音 |
曲データの拡張子 | .M | .M2 | .M2 | .MZ |
PCMデータの拡張子 | なし | .PPC | .P86 | .PVI/.PZI |
GIMICでの再生可否 | 対応 | 対応(ADPCM含む) | 対応(86PCMは非対応) | 非対応 |
GIMICが対応しているのは拡張子が.Mの物と.M2の物になります。
ただし.M2はYM2608のADPCMを使うPMDB2と、86ボードのPCMを使うPMD86とで共通の拡張子になっています。
GIMICではPMD86の.M2の再生にも対応していますが、86ボードのPCMに相当する物が存在しない為にPCM部は発音されません。
実際にはADPCM部で発音しようとするので前回読み込んだADPCMデータによってはブツブツ音が鳴ったりノイズが出たりしますのでご注意下さい。
また、PMDPPZ用の.MZには対応しません(が、拡張子を.MにリネームすればFM音源部だけは再生できます)
※注意事項
PMDは市販ゲームのFM音源ドライバとして多く採用されていましたが、曲データの拡張子はゲームによってバラバラです。
例えば.M2が.Mに、.MZが.Mに、.MがFMにリネームされていたりと様々です。
それらについて逐一解説する気はありませんので自分で調べるなり誰かに聞くなりして対応して下さい。
一番質問が多そうなEVE burst errorのPMDPPZ版については書いておきます。
これはPMDPPZ用の.MZを.MにリネームしていますのでGIMICでFM音源部は再生できますが86PCMパートはどう足掻いても再生できません。
FMPとはGuu氏が作成されたPC-9800シリーズ用のFM音源ドライバです。
FMPはPMDと異なりドライバは1つだけですが対象音源毎に曲データの拡張子が異なります。
ドライバ | FMP.COM | FMP.COM | FMP.COM (+PPZ.COM) | FMP.COM (+PPZ8.COM) | FMP.COM (+PPZ8.COM) |
対象音源ボード | PC-9801-26/26K (YM2203) | スピークボード (YM2608+ADPCM) | スピークボード (YM2608+ADPCM) | PC-9801-86 (YM2608+86PCM) | PC-9801-86 (YM2608+86PCM) |
演奏可能なパート | FM3音,SSG3音 | FM6音,SSG3音 リズム6音,ADPCM1音 | FM6音,SSGPCM3音 リズム6音,ADPCM1音 | FM6音,SSG3音 リズム6音,86PCM1音 | FM6音,(SSG3音) リズム6音,86PCM4音 |
曲データの拡張子 | .OPI | .OVI | .OZI | .OVI | .OZI |
PCMデータの拡張子 | なし | .PVI | .PVI | .PVI | .PVI |
GIMICでの再生可否 | 対応 | 対応 | 対応(SSGPCMとADPCM パートは非対応) | 対応(一部NG) | 対応(86PCMパート は非対応) |
GIMICで対応しているのは拡張子が.OPI/.OVI/.OZIの全てになります。
ただし.OZIではSSGPCMパートは再生されません。また、ADPCMデータの読み込みも行わない為、ADPCMパートは再生されません。
実際にはADPCMデータを読まずに発音しようとするので前回読み込んだADPCMデータによってはブツブツ音が鳴ったりノイズが出たりしますのでご注意下さい。
また86ボードにはYM2608が搭載されていましたが、ADPCM用のDRAMは搭載されていなかった為にそのままではADPCMパートを再生することができませんでした。
そこで登場したのがPPZ8というPCM8音をソフトウェアで合成して86ボードのPCMで鳴らすPCM音源ドライバです。
このPPZ8を使うとFMPのSSGPCMパート及びADPCMパートの合計4chを86PCMから鳴らすことができるようになりました。
しかしこのPPZ8の登場によって弊害が発生します。
YM2608のADPCM用のDRAMは256KBなので最大で256KBの.PVI(ADPCMデータ)しか読み込むことができませんでした。
ところがPPZ8はPC-98本体のEMSメモリを使う為、256KBを越える.PVIを扱うことができました。
これによってスピークボード環境(≒GIMICのOPNAモジュール)では演奏することのできない.PVIが少数ながら存在しています。
256KB以上の.PVIを使う曲データはGIMICでは正常に再生できませんのでご注意下さい。*4
実際にはそれ以上の.PVIでも読み込みますが、256KBを越える部分は無視されますので256KBを越える部分を再生しようとした時にノイズが発生すると思われます。