twitterのタイムラインを眺めながらブレインストーミング。思いつき次第、適当に追加してゆきます。
- 【2022.05.19更新】余談:Disk BASICが不要ならば実現可能らしい を追加しました。
- 【2021.10.02更新】オマケ③:西さんの見解が発表されました。
- きっかけ
- 今求められている技術
- アイデア①:公式のBIOSをライセンスしてもらいたい
- アイデア②:Nextorを同梱する
- アイデア③:Disk BASICの代替手段を拡張BASICで提供する
- オマケ①:令和の今、MSXのソフトを販売することに対しての販売者側の権利について
- オマケ②:MSXの商標、MSXのロゴの使用について
- オマケ③:西さんの見解
- 雑感
- 余談:Disk BASICが不要ならば実現可能らしい
きっかけ
「dsk2rom」というアプリでMSXのフロッピーディスクイメージファイルをメガROMイメージに変換できることを知り、拙作の「クイズ!あたっちゃって25%」というBASIC環境のゲームソフトをROMイメージ化してみたら、あっさり動きました。
ファーストトライで動かなかったのは、出力するROMイメージのメガROMタイプがデフォルトで「コナミSCC」であることを忘れていたためでした。
どういう仕掛けなのかと思って少し調べてみたら、なんと「ROMイメージ内にMSXのDISK ROM BIOS(とディスクイメージ相当のストレージデータ)を同梱していて、ROM起動なのにDisk BASIC ver.1が利用可能になっていた」のです。BIOSを積んでいるので、FDDを搭載しない(=Disk BASICが起動しない)機種でも、BIOS経由のどんなディスクアクセスでも、基本的にROM内で再現できるはずです。
ところが、2021年現在ではMSXの各種公式BIOSは元アスキー創業者の西和彦さん率いるMSXライセンシングコーポレーションの著作物となっています。
dsk2romは既存のDISK ROM BIOS(DOS1カーネル)をZ80向けに逆アセンブルしたと思われるソースコードがGitHubで公開されていました(dsk2rom向けの改造も施されている可能性もあります)が、MSXライセンシングコーポレーションの承認なしに公開されているのではないか?学術目的とは言えソースコードを公開するのはライセンス違反ではないか?…つまり、現状はこの技術を利用して新作ソフトをリリースすることは著作権的に実現できない、と思うわけです。
とは言え、この技術は今MSXの界隈で喫緊の課題になっている「製造が停止してしまったフロッピーディスクでなくROMカートリッジで新作ソフトをリリースする手段」を一気に解決できるほどのポテンシャルがあります。FDD搭載機と同じ環境で開発が継続でき、ソフトのリリース時にROMイメージ化してROMへ焼くだけです。新作ソフトはもちろん、過去にリリースされたソフト、リリースが叶わず埋もれてしまったソフトの復刻も容易になります。
今求められている技術
- ファイルストレージとストレージコントローラのような仕掛けがROMにパッケージングされていること
- ライセンスに違反が発生しないこと
- 2DDフロッピーディスクの代替という側面から、4Mbit(512KBytes)のメガROMカートリッジと同等規模(やそれ以上)の実装が予想される
- フロッピーディスクからROMカートリッジへのメディアコンバートが容易であればあるほど良い
- 変換時の互換性は高いほど良い
アイデア①:公式のBIOSをライセンスしてもらいたい
新作ソフトの販売者がdsk2romに同梱するDISK ROM BIOS(DOS1カーネル)に対してMSXライセンシングコーポレーションへBIOSのライセンス料を支払い、正式にライセンスの承認を得ることが可能になれば、dsk2romの技術だけで今すぐ新作ROMソフトが製造・販売できるようになります。
この手法のメリットは、圧倒的な互換性の高さ。BASIC・マシン語双方のソースコード修正は殆ど不要と思われます。
メガROMタイプは「コナミSCC」または「ASCII 8K」でイメージ化できます。最近はメガROMコントローラに互換性がある頒布用の新基板がいくつかリリースされていて、組み込み用途にも応じてもらえるようです。
ハードウェア的には実現可能でも個人製作のソフトに対して公式BIOSのライセンスなんて認証されるのか?これは事例があります。
MSX・FAN誌の投稿プログラムコーナー「ファンダム」で一躍有名になったTPM.CO SOFT WORKSさんは、自身のMSX1用ゲームソフト「タロティカ・ブードゥー」を2017年にSteamで配信しました。どう実現しているかと言うと、公式のエミュレータであるMSXPLAYer上に公式BIOSとコンテンツ(ディスクイメージ)を同梱したWindowsアプリに変換(メディアコンバート)しています。
アプリ内にMSXライセンシングコーポレーションのライセンス表記がありますので、これは正式にライセンスが認証されたコンテンツであることが分かります。
個人やインディーが許諾を得る方法を私は知りませんが、存在すると思いたいです。まぁ、西さんにメールやtwitterへ聞けばいいだけの話かもしれませんが。
なお、Disk BASICの動作条件として、32KBytes以上のRAMが必要です(MSX-DOS1は64KBytes必須)。これにより、RAMが16KBytes以下のMSX1では動作しません。事実上、MSX2以降の対応品となるでしょうね。
アイデア②:Nextorを同梱する
「Nextor」はMSX-DOS2の上位互換となる、MSXライセンシングコーポレーション(=西和彦さん)に承認されたかもしれないオープンソースの新しいDOS(Nextor DOS)です。
dsk2romはDisk BASIC ver.1(DOS1カーネル)を同梱していましたが、Disk BASIC ver.2の上位互換である「Nextor BASIC」を内包するオープンソースのNextorカーネルへ変更すればライセンスの問題が解決する、かもしれない。
「かもしれない」とあえて強調しているのは、Nextorが本当にMSXライセンスコーポレーションの認証がされていて、本当に無償で利用可能かのエビデンスが存在しないからです。
メリットは、ライセンスの問題が解決するかもしれないこと、Disk BASIC ver.1との互換性が一定量は担保されていることです。DOS1からDOS2・Nextorへの乗り換えは若干の修正が必要かもしれません。
なお、Nextor BASICの動作条件として、64KBytes以上のRAMが必要のようです(未確認。Nextor DOSは256KBytes以上のRAMが必須)。Nextor自体はMSX1で大容量ストレージが制御できる性能があるのにメモリ不足による理由で動作できないのは勿体ない話です。事実上、MSX2以降の対応品となるでしょうね。
アイデア③:Disk BASICの代替手段を拡張BASICで提供する
拙作ミドルウェア「DMシステム2」では CALL LOAD というBSAVEヘッダの有無問わずディスク上のファイルをメモリへ転送する命令が搭載されていました。ROMの中にそういうストレージアクセス系の命令を代替する拡張BASICのシステムと仮想ストレージを含んだROMイメージを作成することができれば、Disk BASIC(DOS1カーネル)を使用する必要がなくなり、ライセンスの問題が解消されます。
ほかのメリットは、Disk BASICではないのでRAM 32KBytes以上必須の条件が撤廃され、RAM 16KBytesのMSX1を動作対象に含めることが可能かもしれません(とは言えさすがに8KBytes機はキツいと思うのですが…)。MSX2等64KBytes以上のRAM搭載機を動作対象とする場合にFDDの接続を切るように起動すればBASICのフリーエリアが約23KBytes(Disk BASIC ver.1)が約28KBytes(Disk BASIC非搭載時のMSX BASIC)へ広がる可能性もあります。
新規で開発するぶんには良いのですが、完成済みのソフトはBASIC・マシン語ともにソースコードの修正は必須です。過去に作成したソフトだと仕様書や技術資料が残っていないと改修できないかもしれません。
うーん、DMシステム2のROM化対応・機能限定版のようなものを作ったほうがいいのかな…。ストレージコントローラ、メモリ操作系の命令、MGSDRV(+タイマー割り込み管理)を実装の最優先にして、余ったメモリに何かをちびちび移植してゆく感じですかなーと思うのですが、16KBytesは狭いなぁ。
いずれのアイデアにせよ、RAMは64KBytes欲しくなります。
オマケ①:令和の今、MSXのソフトを販売することに対しての販売者側の権利について
MSXライセンシングコーポレーションの著作物(公式BIOS、公式エミュレータであるMSXPLAYer等)がコンテンツに含まれない場合は、許諾の必要なしに販売が可能です。
オマケ②:MSXの商標、MSXのロゴの使用について
2021年現在、MSXの商標はMSXライセンシングコーポレーションが保有しています。MSXのロゴも商標登録されています。
Wii・WiiUのバーチャルコンソールやプロジェクトEGGなど、近年のMSX用レトロゲームソフトのダウンロード配信では各種公式BIOSを同梱しているからなのか、MSXという商標を用いているからなのか…いずれにせよほぼ全ての復刻コンテンツにMSXライセンシングコーポレーションのコピーライト表記が付与されています。
商標の明記やロゴの使用許諾については商習慣でケースバイケースなので一概には言えません。パートナー契約をすると無料で記述できる権利が得られたり、契約して有償で記述したり、契約しなくても記述すれば黙認されることもあり…。
00年代当時はユーザーの有志(MSXアソシエーションという任意団体)と西さんとの間でこのように決まっていた(で、ソフトウェア以外のグッズとかも出てた)のですが、2021年現在は西さんの会社が取り仕切っているのでこの条件が今もスライドで継続している、とは断言できないと私は思うんですよね…。
また、過去のMSXアソシエーションの記述を見るに、M2さんの「アレスタ」復刻のような商業活動と個人・同人活動とではライセンスの条件が違う(案件により違う)可能性もあります。
MSXのコンテンツ復刻でプロジェクトEGGを長らく運営しているD4エンタープライズさんは西さんと長年の付き合い(殆ど師弟関係な)ので包括契約的なものがあるのかもしれません。
そういえば近年D4エンタープライズさん以外の会社からMSXのコンテンツが復刻されたのは、コナミさんしか存在しないような…
オマケ③:西さんの見解
【2021.10.2更新】西和彦さんから直接コメントが出ました。
「皆んな勝手にやっているみたいです」…西さんも現状を認識されてはいるようですが、いろんな含みがありますね…
雑感
今回のまとめ記事を書くにあたり、MSXライセンシングコーポレーションの守備範囲を私が圧倒的に知らなすぎる。皆さんはご存知なのかもしれませんが。詳細な情報がWebでは殆ど辿れなかったので憶測や過去のエビデンスで「○○らしい」とふわふわした根拠しか残らないんです。NDAのようにあえてWebで情報が載らないようになっているのかもしれませんが。
M2さんはレトロゲームの技術集団ですから公式BIOSなんて不要で何から何まで内製できてしまう(法務も余裕で解決できる)から商業案件はそれはそれで進捗を進めていただくとして、内製できる技術力を持たないので公式BIOSを利用したい個人やインディーの人々にもコンテンツの再販や新規リリースしやすいような環境づくりができればいいな、と思っています。
余談:Disk BASICが不要ならば実現可能らしい
MSXBAS2ROM project now hosted on github.https://t.co/TDcbWN1n4P
— AmauryCarvalhoMSX (@Amaury_MSX_BR) 2022年5月17日
MSXBAS2ROMは、MSX BASICのプログラムをROM化するツールです。Disk BASICを利用しないのであれば、BASICプログラムのROM化は実現可能かもしれませんね。