twitterのタイムラインを眺めながらブレインストーミング。思いつき次第、適当に追加してゆきます。
- 【2023.01.24更新】西和彦さんの見解と発言を追加しました。
- 【2022.05.19更新】余談:Disk BASICが不要ならば実現可能らしい を追加しました。
- きっかけ
- 今求められている技術
- アイデア①:公式の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経由のどんなディスクアクセスでも、基本的にFDD搭載機の環境を再現できるはずです。
ところが、MSXの各種公式BIOSは2021年現在では元アスキー創業者の西和彦さん率いるMSXライセンシングコーポレーションの著作物となっています。
dsk2romは既存のDISK ROM BIOS(DOS1カーネル)をZ80向けに逆アセンブルしたと思われるソースコードがGitHubで公開されていました(dsk2rom向けの改造も施されている可能性もあります)が、MSXライセンシングコーポレーションの承認なしに公開されているのではないか?学術目的とは言えソースコードを公開するのはライセンス違反ではないか?…つまり、現状はこの技術を利用して新作ソフトをリリースすることは著作権的に実現できない、と思うわけです。
とは言え、この技術は今MSXの界隈で喫緊の課題になっている「製造が停止してしまったフロッピーディスクでなくROMカートリッジで新作ソフトをリリースする手段」を一気に解決できるほどのポテンシャルがあります。FDD搭載機と同じ環境で開発が継続でき、ソフトのリリース時にROMイメージ化してROMへ焼くだけです。新作ソフトはもちろん、過去にリリースされたソフト、リリースが叶わず埋もれてしまったソフトの復刻も容易になります。
#MSX ユーザーの方にお尋ねします-その1
— (株)オペラハウス公式 (@operahouseinfo) 2022年12月8日
お手持ちの(多分動くと思われる)MSXで新作ゲームを遊ぶ場合どのメディアが良いですか?
3.はMSX故障、持ってないけど欲しい人用
4.その他、はほぼ実現不可能ですが……
カセットテープ
BEE CARD
Quick Disc
SD CARD+同人のCARD READER カセット
他何ある?
オペラハウス公式twitterがMSX用新作ソフトの頒布方法についてアンケートを募ったところ、このような結果になっていました。MSXのコンテンツ配布媒体として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必須で、Disk BASICは動作するのにDOSは動作しないという利用シーンは通常考えられないので、DOSが実行できる環境は事実上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の動作条件として256KBytes以上のRAMが必須のようです。Nextor自体はMSX1で大容量ストレージが制御できる性能がありますが、このソリューションは256KBytes以上のRAMが増設されている環境に限られます。カートリッジにROMもストレージもRAMも搭載するムチャな環境は…作ろうと思えば作れそうですが…それはもはや巷に出回る「多機能カートリッジ」そのものではないですか。Carnivore2は1個3万円くらいの品です。
アイデア③:Disk BASICの代替手段を拡張BASICで提供する
拙作ミドルウェア「DMシステム2」では CALL LOAD というBSAVEヘッダの有無問わずディスク上のファイルをメモリへ転送する命令が搭載されていました。ROMの中にそのようなストレージアクセス系の命令を代替するオリジナルの拡張BASICシステムと仮想ストレージを含んだROMイメージを作成することができれば、このソリューションはDisk BASIC(DOS1カーネル)を使用する必要がなくなるためにライセンスの問題が解消されます。
また、これはDisk BASICではないのでRAM 32KBytes以上必須の条件が撤廃され、16KBytesのMSX1を動作対象に含めることが可能かもしれません(とは言えさすがに8KBytes機はキツいと思うのですが…)。
さらに、これはDisk BASICではないのでBASICのフリーエリアが最大28KBytes(Disk BASIC非搭載時のMSX BASICと同レベル)へ広げられます。メモリの少ないMSX BASIC環境で約4Kバイトも空き容量が増えるのは貴重です。FDD搭載機ではFDDの接続を物理的に切るように起動することも技術的には可能です。
デメリットとしては、新規で開発するぶんには良いのですが完成済みのソフトはBASIC・マシン語ともにソースコードおよびバイナリの修正は必須です。過去に作成したソフトなら仕様書や技術資料が残っていないと改修できないかもしれません。
うーん、DMシステム2のROM化対応・機能限定版のようなものを作ったほうがいいのかな…。構想はあるんですよ。構想は。
- BASICプログラムのロード命令を代替する(例えば _RUN("<filename>") とか)
- その他各種ファイルのロード命令を代替する(例えば _LOAD("<filename>",転送先アドレス[,長さ][,offset]) とか)
上記2命令を拡張BASIC化した「ミニマムなストレージコントローラ」と「ファイルストレージ」を同梱してROM化するソリューション。これがあれば多くのBASIC環境のコンテンツはライセンスフリーでROM化できるはずです。
ゲームデータをセーブしたい要望があったら「Pana Amusement Cartridge」や「カートリッジに同梱した謎Flashメモリ」の読み書き機能とか、BGM再生機能や圧縮データ展開機能とか、必要な機能は余ったメモリにちびちび追加してゆく感じですかなーと思うのですが、まずはミニマムなシステムから取り掛かるのがハードルが低そう…なんですけど、俺(nf_ban)にはこういうのをチャチャッと作れる技術が無いんですね…。
どなたかお願いします!(他力本願)必要とあれば、拙作DMシステム2のソースコードも提供します。
オマケ①:MSXの著作権、商標、MSXのロゴの使用について
2023年現在、かつてアスキーが保有していたMSXに関する全ての権利は西和彦さんの会社であるMSXライセンシングコーポレーションが保有していることになっているようです。
Wii・WiiUのバーチャルコンソールやプロジェクトEGGなど、近年のMSX用レトロゲームソフトのダウンロード配信ではほぼ全ての復刻コンテンツにMSXライセンシングコーポレーションのコピーライト表記が付与されています。
商標の明記やロゴの使用許諾については、パートナー契約をすると無料で記述できる権利が得られたり、契約して有償で記述したり、契約しなくても記述すれば黙認されることもあり…商習慣でケースバイケースなので一概には言えません。
'00年代当時はユーザーの有志(MSXアソシエーションという任意団体)と西さんとの間でこのように決まっていた(で、ソフトウェア以外のグッズとかも出てた)のですが…
「皆んな勝手にやっているみたいです」…西さんも現状を認識されてはいるようですが、いろんな含みがありますね…。2022年現在は西さんの会社が管理しているので先の条件が現在でもスライドで継続している、とは断言できないと私は思うんですよね…。
過去のMSXアソシエーションの記述を見るに、エムツーさんの「アレスタ」復刻のような法人による商業活動と個人・同人活動とではライセンスの条件が違う可能性もあります。また、MSXのコンテンツ復刻でプロジェクトEGGを長らく運営しているD4エンタープライズさんは西さんと長年の付き合いなので包括契約的なものがあるのかもしれません。
いずれにせよ法務については西さんへ直接確認すべきことだと思います。
オマケ②:令和の今、MSXのソフトを販売することに対しての販売者側の権利について
MSXライセンシングコーポレーションの著作物(公式BIOS、MSX-DOS、アスキー製ソフトウェア、公式エミュレータであるMSXPLAYer等)がコンテンツに含まれない場合は、許諾の必要なしに販売が可能です。
エムツーさんはレトロゲームの技術集団ですから公式BIOSなんて不要で何から何まで内製できてしまう(法務も余裕で解決できる)から商業案件はそれはそれで進捗を進めていただくとして、内製できる技術力を持たないので公式BIOSを利用したい個人やインディーの人々にもコンテンツの再販や新規リリースしやすいような環境づくりができればいいな、と思っています。
余談:Disk BASICが不要ならば実現可能らしい
MSXBAS2ROMは、MSX BASICのプログラムをROM化するツールです。Disk BASIC(DISK BIOS)を利用しないのであれば全ての機種で動作可能ですのでROM化は簡単に実現するかもしれませんね。