MSXとPC-6001の類似性
MSXとPC-6001のシステムを眺めてみると、後発のMSXはPC-6001のシステムの一部を取り込んで設計されたと思われるような共通点が見えてくる。グラフィックキャラクターの配列が同じだったり、外部スロットの50pカードエッジコネクタのピン配列はVccやGNDの他、アドレス線とデータ線はまったく同じ配列になっている。
双方の50pカードエッジの信号配列は下記リンクで比較すると分かりやすい。
PC-6001 : https://electrelic.com/electrelic/node/517
MSX : https://electrelic.com/electrelic/node/516
表を一部引用させていただき、相違点を赤枠で括ってみた。
P6はカートリッジ上のDRAMが直で繋がるようになっていて、8000h~BFFFhのDRAM制御信号が1,3,5,10pに出ているが、MSXのDRAM関連信号は/RFSHのみ。
/CSxはROM用の信号で、MSXでは16kB単位、P6は8kB単位で区分けされている。いずれも当該アドレスのREADでアクティブになるが、MSXのROMには/SLTSLを絡める必要がある。
なお、初代P6とmkII以降では7,8,16pの役割が異なるようだが、MSXとの互換性を考える上ではあまり影響はなさそうである。
http://sbeach.seesaa.net/article/387861397.html
以上の相違点を理解すれば、MSXとP6のどちらでも使えるROMカートリッジが制作可能と思われた。
なお、MSXの/SLTSL信号 (4p)は、P6では/CS2(4000-5FFFh)になっており、この領域を使うP6のROMカートリッジであれば、特に細工をしなくてもMSXで吸い出しができそうに見える。更に、P6ROMの/CS2(2p)と/CS3(4p)を入れ替えてしまえば6000-7FFFhも吸い出せるだろう。
戦士のカートリッジ
P6用のカートリッジといえば、「TINYゼビウス」の伝説的プログラマ松島徹氏が2008年に新作ゲーム「特攻空母ベルーガ」を発表した際、これをROMカートリッジ化するためのMEGA-SYSTEM 6000 (戦士のカートリッジ)が西田ラヂオ氏によって設計されている。ソースはコチラ。
http://tulip-house.ddo.jp/digital/BELUGA/
回路図を引用:
MEGA SYSTEM 6000では、ROMは4000-5FFFhにマッピングされ、8kBx16バンクで容量は128kB、バンクレジスタはIO#70h(~7Fh)に置かれている。6000-BFFFhには拡張RAMが実装されていて、その内6000-7FFFhはREAD ONLYに設定できる(起動時は書き込み許可)。4000-7FFFhに擬似的なROMを置くことができるので、バンク0に起動メニューと転送プログラム、以後のバンクに既存のROMソフトのイメージを入れておけば、N in 1カートリッジを作ることもできそう。
ROMの/CSにはP6の/CS2が繋がっているが、このピンは都合の良いことにMSXでは/SLTSLにアサインされており、ROM領域だけならMSXからも読み取りできてしまいそう。ひょっとしたらMSXとP6両対応のメガROMカートリッジが作れるのでは?と思ったのが2020年7月の話である。
似非P6ROMの設計と試作
P6では「戦士のカートリッジ」、MSXではASCII 8k bankの「似非ROM」として機能するものができたら面白そうだし、ROMファイル書き込みに既存のソフトが流用できてオトクである。早速CPLDでロジックを錬成して基板を設計してみた。
P6はスロットが深いためこのような基板サイズになるが、スペースが余りまくりである。何か追加できないかと考えていたところ、秋葉原のFM音源ガチャでドロップした石があったことを思い出した。
せっかくなので、このFM音源(YM2612:OPN2)を追加してみることにした。OPN2ならDAC内蔵でお手軽だし、P6ならSRで採用されたYM2203(OPN)の後継チップなので相性もいいだろうと。
とりあえずオーディオ回路をテキトーに追加して2020年10月にできた試作基板がコチラ。IOアドレスはMSXのOPNAカートリッジ(Makoto)と同じ#14-17hに割り当て、VGMPlay for MSX 1.3をパッチしてOPNAを偽装したところ発音が確認できた。
P6実機でBELUGAが動作するか確認をしたかったため、TinyProjectのHashiさんにコンタクトを図ってみたり。その時のツイートがコチラ。
にがさんから謎カートリッジが届いたぞい… pic.twitter.com/Z5iRgC51WC
— ワンニャーHashi (@Hashi6001) October 22, 2020
結果、両機種対応のMegaROMシステムとして想定どおりの動作を確認できた。しかし、音源部は無音時のノイズが目立ち、改修が必要。
もう一つの問題としては、OPN2の入手性。2020年の時点でOPN2は入手が難しくなっていて、Aliなんかだとほぼほぼフェイクだという情報が流れていた。試しに中華圏から取り寄せてみたところ、届いたのがコチラ(笑。
左下が音源ガチャのドロップ品でおそらく本物。それ以外は明らかなリマーク品。ただし、パッケージの形状は本物と変わらず、裏面にJAPANの凸モールドも確認できるのでフェイクとは断定し難い。ダメもとで似非P6ROMに挿してデータを流してみたら、なんと普通に鳴る石だった。どうやら本物の中古汚損品をリマークした「リファービッシュ品」と思われる。果たしてこれを製品に実装して頒布してよいものかどうか…。
以上の事情により音源付きでの製品化は困難と思われたのと、2020年は似非SDisk等の先行プロジェクトを優先させたため、似非P6ROMの開発はこのまま1年の塩漬けに…。(次回に続く)
ご注意
似非P6ROMはP6でもMSXでも動作するように設計していますが、通常の戦士のカートリッジはMSXでは機能しません。それどころかROM/RAMでバスが競合が発生して故障の原因になるのでMSXに挿して電源を投入するのはやめましょう。