twitterのタイムラインを眺めながらブレインストーミング。思いつき次第、適当に追加してゆきます。
- 【2023.05.31更新】代替手段・FDD搭載機であれば実現可能らしい(TablacusDiskRom) を追加しました。
- 【2023.05.31更新】アイデア・Disk BASICの代替手段を他の拡張BASICで提供する を更新しました。
- 【2023.05.31更新】アイデア・ROMカートリッジ内でデバイス拡張を行う を追加しました。
- 【2023.05.07更新】代替手段・MSX-DOSのアプリであれば実現可能らしい(LSX-Dodgers) を追加しました。
- 【2023.05.07更新】西和彦さんの最新の発言と当方の見解を追加しました。
- 【2022.05.19更新】代替手段・Disk BASICが不要ならば実現可能らしい(MSXBAS2ROM) を追加しました。
- 【2021.08.08】初版公開。
きっかけ
「dsk2rom」というアプリでMSXのフロッピーディスクイメージファイルをメガROMイメージに変換できることを知り、拙作の「クイズ!あたっちゃって25%」というBASIC環境のゲームソフトをROMイメージ化してみたら、あっさり動きました。どういう仕掛けなのかと思って少し調べてみたらなんと、ROMイメージ内にMSXの「DISK ROM BIOS」と「ディスクイメージ相当のストレージデータ」を同梱していて、ROM起動なのにDisk BASIC ver.1が利用可能になっていたのです。
↓ dsk2rom の GitHub はこちら ↓ github.com
「dsk2rom」のほかにも、MSX-DOS2のカーネルを内包する「MKROMDSK」というアプリも存在するようです。
↓ MKROMDSK の Webページはこちら ↓ www.msx.org
ROMにBIOSを積んでいるのなら、FDDを搭載しない(=Disk BASICが起動しない)機種でも、BIOS経由のどんなディスクアクセスでも、基本的にFDD搭載機の環境を再現できるはずです。
夢実現に最も近いソリューションなので、惜しい…
2023年現在、MSXの各種システムBIOSは米マイクロソフト社が今なお著作権を所有しており、元アスキー創業者の西和彦さんが設立した「MSXライセンシングコーポレーション」が米マイクロソフト社からライセンスを取得して運用しているようです。これらのシステムBIOSは今なおライセンスフリーで配布されているわけではありませんし、ライセンスフリーで配布される可能性は今後も低いと考えられます(なぜそう思うかは、巻末のおまけ①をご参照ください)。
にも関わらず、「dsk2rom」は既存のDISK ROM BIOS(DOS1カーネル)をZ80向けに逆アセンブルしたと思われるソースコードがGitHubで公開されていました(dsk2rom向けの改造も施されている可能性もあります)。もしかして…MSXライセンシングコーポレーションの許諾なしにBIOSのソースコードがGitHubで公開されているのではないか?学術目的とは言えソースコードを公開するのはライセンス違反ではないか?という疑念も生まれます。
いずれにせよ、このような状況下において現状は「dsk2rom」に含まれるDISK ROM BIOSを組み込んだコンテンツを西さんの会社の許諾なしに配布できるわけがないことになりそうです。もちろん許諾を取れば配布できるかもしれませんが…
とは言え、この技術は今MSXの界隈で喫緊の課題になっている「製造が停止してしまったフロッピーディスクでなくROMカートリッジで新作ソフトをリリースする手段」を一気に解決できるほどのポテンシャルがあります。FDD搭載機と同じ環境で開発が継続でき、ソフトのリリース時にROMイメージ化してROMへ焼くだけです。新作ソフトはもちろん、過去にリリースされたソフト、リリースが叶わず埋もれてしまったソフトの復刻も容易になります。
幸いにして、MSX用ROMカートリッジを製造してくれる業者(なのか!?)も現れ、自作のROMカートリッジを製造・販売する人が徐々に増えてきました。
オペラハウス公式twitterがMSX用新作ソフトの頒布方法についてアンケートを募ったところ、このような結果になっていました。MSXのコンテンツ配布媒体としてROMカートリッジが再び見直されてきている現状が伺えます。
今求められている技術
- ファイルストレージとストレージコントローラのような仕掛けがROMにパッケージングされていること
- ライセンスに違反が発生しないこと
- 2DDフロッピーディスクの代替という側面から、4Mbit(512KBytes)のメガROMカートリッジと同等規模(やそれ以上)の実装が予想される
- フロッピーディスクからROMカートリッジへのメディアコンバートが容易であればあるほど良い
- 変換時の互換性は高いほど良い
ROM化へのアイデア
アイデア①公式のBIOSをライセンスしてもらいたい(dsk2rom)
先程取り上げた「dsk2rom」を正規の手段で利用する方法。
新作ソフトの販売者が dsk2rom に MKROMDSK へ同梱するDISK ROM BIOS(いわゆるカーネル)に対してMSXライセンシングコーポレーションへBIOSのライセンス料を支払い、正式にライセンスの承認を得ることが可能になれば、これらの技術だけで今すぐ新作ROMソフトが製造・販売できるようになります。
この手法のメリットは、圧倒的な互換性の高さ。BASIC・マシン語双方のソースコード修正は殆ど不要と思われます。
メガROMタイプは「コナミSCC」または「ASCII 8K」でイメージ化できます。最近はメガROMコントローラに互換性がある頒布用の新基板がいくつかリリースされていて、組み込み用途にも応じてもらえるようです。
デメリットは、Disk BASICの動作条件として、本体に32キロバイト以上のRAMが必要なため、ROM化したとしてもRAMの容量が8キロバイトや16KBといった多くのMSX1ではメモリ不足のため対象外となります。
一般的に、Disk BASICが動作する実行環境はMSX-DOS(1)も動作する実行環境とほぼイコールであり、DOSの動作条件である64キロバイト以上のRAMが本体に搭載されます。32キロバイト以上のMSX1は台数が少ないですがMSX2以降なら64キロバイト以上は標準搭載されているため、このアイデアでは実質的にMSX2以降が主な対象機種になるでしょうね。
アマチュアクリエイターがライセンスを取得できるのか?
ハードウェア的には実現可能でも個人製作のソフトに対して公式BIOSのライセンスなんて認証されるのか?これは事例があります。
MSX・FAN誌の投稿プログラムコーナー「ファンダム」で一躍有名になったTPM.CO SOFT WORKSさんは、自身のMSX1用ゲームソフト「タロティカ・ブードゥー」を2017年にSteamで配信しました。どう実現しているかと言うと、公式のエミュレータであるMSXPLAYer上に公式BIOSとコンテンツ(ディスクイメージ)を同梱したWindowsアプリに変換(メディアコンバート)しています。
アプリ内にMSXライセンシングコーポレーションのライセンス表記がありますので、これは正式にライセンスが認証されたコンテンツであることが分かります。
個人やインディーが許諾を得る方法を私は知りませんが、存在すると思いたいです。まぁ、西さんにメールやtwitterへ聞けばいいだけの話かもしれませんが。
twitterで西さんから許可が下りることがあるらしい
HRA!さん制作のMSX用ゲームソフト「Rabbit Adventure」の体験版はROM形式(ROMイメージ)で提供されていましたが、今夏発売予定の「MSX0 Stack(プレビュー版)」はディスクイメージのみ対応なのでこのままでは遊ぶことができません。そこでHRA!さん自身がMSX-DOS用のアプリとしてリメイクするも、DOSのシステムファイル(MSXDOS.SYS および COMMAND.COM)の配布ライセンスが不明なため公開を躊躇していたところ…西和彦さんがtwitterで直接配布許可を出したため、MSX-DOSを含んだコンテンツの無料公開が可能となりました。
が、念のため付け加えておくならば、今回の体験版(無料公開)では許可が下りましたが、価格設定したうえで「Rabbit Adventure」フロッピーディスク版の販売に対して許可が下りるかは別問題ということです。無料配布のコンテンツだったから下りたのかもしれませんし、MSX0 Stackに向けたプロモーションの要素も含まれていたのかもしれません。
アイデア②Disk BASICをエミュレート実行する(Tablacus DISK ROM Lite)
この記事で散々妄想していたところ、2023年5月頃に注目すべき新技術が生まれました。Disk BASICで使用するファイル制御の各種命令をエミュレートし、コンテンツをメガROM化するという「Tablacus DISK ROM Lite」です。
デメリットもありますがそれを上回る圧倒的なメリットがあります。筆者(nf_ban)が個人的には今一番実現可能な注目すべき技術の一つと思っています。
↓ Tablacus DISK ROM LiteのGitHubはこちらをクリック ↓ github.com
これにつきましては特集記事を書きましたので、興味ある方はぜひ御覧ください。
↓ 特集記事はこちらをクリック ↓ gigamix.hatenablog.com
このツールで変換したROMを起動すると、ROMカートリッジ(ROMイメージ)内に仮想ストレージドライブが配置され、MSX BASIC上からROM内の仮想ストレージドライブへファイルアクセスが可能になります。フロッピーディスクの制御に用いるDisk BASICの一部の命令をTablacus DISK ROM Liteのシステムがエミュレートしており、Disk BASICやFDDを搭載しない機種でも利用できます。しかもROMなので、ファイルのロード時間はフロッピーディスクと比べたら爆速です。
動作環境としてはROM BASICなので、Disk BASICの起動条件である本体RAM容量32キロバイト以上の制限が撤廃されます。FDD搭載の有無を問わず利用可能であり、特に日本で数多く発売された本体RAM容量16キロバイトのMSX1もROMの動作対象に含めやすいです。カセットテープのソフトウェアのROM化にも向いています。
勿論これは米国マイクロソフト社やMSXライセンシングコーポレーションが著作権を主張するMSX Disk BASICやDISK BIOSを一切利用しないため、組み込みライセンス的な問題を生じません。
Tablacus DISK ROM Liteがエミュレートできない非対応のディスク制御命令(DSKF命令、FIELD命令、GET命令等)がBASICプログラムに含まれていると動作が停止します。そういった命令を利用している場合はプログラムの変更が必要です。拙作ミドルウェア「DMシステム2」がTablacus DISK ROM Liteで動作可能になりましたので、非対応の命令はある程度DMシステムで吸収できるかもしれません。
↓ 特集記事はこちらをクリック ↓ gigamix.hatenablog.com
アイデア③ROMカートリッジ内でデバイス拡張を行う
ROMにファイルストレージを確保し、デバイス拡張でファイルを呼び出す方法。これなら、DISK BIOSが存在しない機種でもファイルアクセスが可能になるかもしれません。
この技術は徳間書店の「MSX・FAN ファンダムライブラリー」で実現しているようです。50本ものBASICプログラムがROMカートリッジに搭載されていて、ファイラーから呼び出すことができます。
メリットは、Disk BASICではないのでFDD搭載の有無を問わず利用可能であり、Disk BASICの起動条件である本体RAM容量32キロバイト以上の制限が撤廃されます。
さらに、これはDisk BASICではないのでBASICのフリーエリアが最大28キロバイト(Disk BASIC非搭載時のMSX BASICと同レベル)へ広げられる可能性があります。FDD搭載機ではFDDの接続を物理的に切るように起動することも技術的には可能です。
デメリットは、新規で開発するぶんには良いのですが完成済みのソフトはBASIC・マシン語ともにソースコードおよびバイナリの修正は必須です。過去に作成したソフトなら仕様書や技術資料が残っていないと改修できないかもしれません。
アイデア④Disk BASICの代替手段を他の拡張BASICで提供する
- BASICプログラムのロード(と実行)命令を代替する拡張命令(例えば _RUN("<filename>") とか)
- その他各種ファイルのロード命令を代替する拡張命令(例えば _LOAD("<filename>",転送先アドレス[,長さ][,offset]) とか)
- コンテンツ内にセーブデータが必要な場合、それを保存する拡張命令
自分の経験則やほかの方の意見を総合するに、上記のような命令を拡張BASIC化した「ミニマムなストレージコントローラ」と「ファイルストレージ」を同梱してROM化するソリューション。これがあれば多くのBASIC環境のコンテンツはライセンスフリーでROM化できると思います。
メリット・デメリットともにアイデア②③と同様です。FDD搭載の有無問わず全機種対応可能の余地がありますが、プログラムの改修は必要です。
ちなみに、拙作ミドルウェア「DMシステム2」では CALL LOAD というBSAVEヘッダの有無問わずディスク上のファイルをメモリへ転送する命令が搭載されていました。ROMの中にそのようなストレージアクセス系の命令を代替するオリジナルの拡張BASICシステムと仮想ストレージを含んだROMイメージを作成することができれば、このソリューションはDisk BASIC(DOS1カーネル)を使用する必要がなくなるためにライセンスの問題が解消されます。
この記事の執筆後、前述の Tablacus DISK ROM Lite がミドルウェアのDMシステム2に対応しました。2023年6月現在、DMシステム2を用いたコンテンツはメガROMカートリッジ化が可能になりました。また、同じく'90年代に用いられたミドルウェアの「M.K BASIC」も動作するようです。
アイデア⑤Nextorを同梱すれば可能?
「Nextor」はMSX-DOS2の上位互換となる、MSXライセンシングコーポレーション(=西和彦さん)に承認されたかもしれないオープンソースの新しいDOSです。FAT16に対応し、1ドライブ2GBまでの大容量ストレージが、MSX1から制御できる性能があります。
dsk2romはDisk BASIC ver.1(DOS1カーネル、DISK BIOS)を同梱していましたが、Disk BASIC ver.2の上位互換である「Nextor BASIC」を内包するオープンソースの「Nextorカーネル(NextorのDISK BIOS)」を採用すればライセンスの問題が解決する、かもしれない。
「かもしれない」とあえて強調しているのは、Nextorが本当にMSXライセンスコーポレーションの認証がされていて、本当に無償で利用可能かのエビデンスが存在しないからです。現在は無償でダウンロード可能にはなっていますが、組み込み時にも無償で利用できるかは不明なのです。
この手法のメリットは、①ライセンスの問題が解決するかもしれないこと、②Disk BASICとの互換性が一定量は担保されていることです(DOS1からDOS2・Nextorへの乗り換えは若干のプログラム修正が必要かもしれません)。
デメリットは、Nextorの動作条件として128キロバイト以上のRAMが必要なため、対象機種がかなり絞られます。日本ではRAMが64キロバイト以下の機種が圧倒的に多いため忘れがちですが、海外のMSX2は128キロバイトが標準的でした。カートリッジにROMもストレージもRAMも搭載するムチャな環境は…作ろうと思えば作れそうですが…それはもはや巷に出回る「多機能カートリッジ」そのものではないですか。Carnivore2は1個3万円くらいの品です。
現実的に実現可能かはかなり微妙なアイデアではあります。
代替手段
代替手段①Disk BASICが不要ならば実現可能らしい(MSXBAS2ROM)
MSXBAS2ROMは、MSX BASICのプログラムをマシン語へコンパイルしてROM化・メガROM化するツールです。複数ファイルのインクルードも可能で、ファイルロード用のCMD拡張命令が追加されます。BASICプログラムが1本だけしかないようなコンテンツ、かつMSXBAS2ROMで非対応なBASIC命令を使用しないのであれば選択肢の一つになろうかと思います。
↓ MSXBAS2ROMはこちらをクリック ↓ github.com
代替手段②Disk BASICが不要でプログラムが1本だけならば実現可能らしい(DumpListEditor)
PC-8001やPC-8801等のダンプリストやBASIC入力を補助するツールとして生まれたDumpListEditorは、その後各種レトロPC向けの機能をどんどん注ぎ込んでゆき、今やMSXのBASICプログラムをROM化する機能まで実装されています。
BASICプログラムが1本だけしかないようなコンテンツであればファイルロード機能は一切不要なためDisk BASIC(DISK BIOS)相当の機能も不要です。実際、「スターコマンド」のようにBASICプログラムのROM化が市販化される事例もあります。
Disk BASICを利用しないのであれば全ての機種で動作可能ですのでROM化は簡単に実現するかもしれませんね。
↓ DumpListEditorはこちらをクリック ↓ bugfire2009.ojaru.jp
代替手段③FDD搭載機であれば実現可能らしい(TablacusDiskRom)
Tablacus DISK ROMは、ディスクイメージに含まれたコンテンツをメガROM形式に変換し、低レベルのディスクアクセスをROMディスクに置き換えて実行できる、Windows用のアプリです。ディスクイメージ内にAUTOEXEC.BASを含めておけばROMディスクからコンテンツを起動できます。
Tablacus DISK ROMはFDD搭載機に含まれるDISK BIOSを乗っ取る形でROMディスクを実装するため、作成したROMはMSX1やFS-A1やHB-F1のようなFDD非搭載機では起動できません。実質的にはMSX2+以降の機種での利用が前提になります。
↓ Tablacus DISK ROMはこちらをクリック ↓ github.com
代替手段④MSX-DOSのアプリであれば実現可能らしい(LSX-Dodgers)
LSX-Dodgersは、NEC PC-88シリーズやシャープMZ・X1シリーズといった8bitレトロPCでMS-DOS互換のファイルフォーマットとCP/M80・MSX-DOS互換の外部コマンドが利用できる、Z80 CPU向けライセンスフリーのDOSです。元々はMSX以外の機種で利便性を向上させるためのDOSでしたが、なんと、MSX向けにも逆輸入でリリースされました。
MSX版LSX-Dodgersはフロッピーディスクによる起動だけでなく、OSとストレージ部分をメガROMイメージ化することができます。MSX-DOSとLSX-Dodgersは100%の互換性があるわけではありませんので都度確認が必要でしょうが、MSX-DOS環境の自作ゲームであればROM化することは容易になったのかもしれません。
↓ LSX-Dodgersはこちらをクリック ↓ github.com
メガROM化が可能な前述のTablacus DISK ROMとLSX-Dodgersとの違いは…
- Tablacus DISK ROMは実機のDISK BIOSを必要とするため、動作可能条件がFDD搭載機種に限られる。
- LSX-Dodgersは実機のDISK BIOSを使用しないため、動作可能条件がFDD非搭載機種にも広がる。
どちらの技術もMSX1から動作しますが、本体RAMが64KB以上必要です。
純正環境との互換性が高いのは、やはり、DISK BIOSを利用するTablacus DISK ROMのほうです。LSX-Dodgersは純正のMSX-DOSよりもTPAが狭いため、純正DOSでは動作するアプリがLSX-Dodgersではメモリ不足による不具合や動作不能の可能性もあります。
おまけ
おまけ①MSXシステムBIOSの所有者は誰なのか
2023年現在、MSXの各種システムBIOSは、元アスキー創業者の西和彦さんが設立した「MSXライセンシングコーポレーション」が米マイクロソフト社からライセンスを取得して運用しているようです。
これらの証言をまとめると、以下のようになりそうです。
- 西さんの会社であるMSXライセンシングコーポレーションが、米マイクロソフト社とMSXに関するライセンス契約およびロイヤリティ契約を締結している(と言っている)
- 米マイクロソフト社と契約を締結するのだから、西さんの会社がMSXのシステムBIOSの著作権を全て保有しているわけでは無い(現在でも米マイクロソフト社が一部ないし全部の著作権を保有している)可能性が高い
- 西さんが「MSX BASICに関するライセンス」というツイートをわざわざつぶやいているので、少なくともMSX BASIC(=BIOSのメインROM・サブROMの一部ないし全部)に関しては米マイクロソフト社が今なお著作権を所有しているものと考えられる
- かつてアスキーが保有していたMSXに関する全ての権利も西さんの会社が保有している(と言っている)
- 米マイクロソフト社が関与していないシステムBIOSについては西さんの会社が著作権を所有している、可能性が高い(MSX-MUSIC、MSX-DOS2、漢字BASIC等)
- 西さんの会社は、MSXのシステムBIOSを利用してビジネスを展開できる「ライセンサー」ではあるが、西さんの会社が全てのシステムBIOSの著作権を保有していないと仮定すれば、システムBIOSを自由化する判断をできるわけがない
MSXの公式エミュレータである「MSXPLAYer」では実機と違い、著作権者の表記が追加ないし変更されました。
- 2001年:「MSXマガジン永久保存版」にて採用されたBIOS(MSX2+ および MSX turbo R)には「MSX Association」
- 2008年:Wiiバーチャルコンソールの「EGGY」にて採用されたBIOS(MSX1)には「MSXLC」
- 2016年:Steamでリリースされた「タロティカ・ブードゥー」にて採用されたBIOS(MSX2+)には「MSX Licensing Corp.」
…なるほど。時系列で見ると、西さんの会社が2007年にライセンス契約を締結した(と言っている)からそうなったのですね(んーでも2023年発売予定のMSX0Stackで採用されたBIOSは「Micorosft」表記のみに戻った経緯は謎ですけど)。
そして、西さんの会社がMSXのシステムBIOSを全ては保有していないと仮定すれば、西さんがMSXのシステムBIOSをライセンスフリーにする考えが毛頭無い方針なのも頷けます。そりゃあ、権利を持っていなければライセンスフリーにするなんて判断もできないでしょうから…。まぁ実際はMSXのライセンスビジネスをやりたい、のかもしれませんが。
MSXのシステムから米マイクロソフト社の権利物だけ除外したらビジネスプロセスが簡略化されるかもしれませんが…MSX BASICを抜いたマシンは果たしてMSXと呼べる代物なのでしょうか?
ソードm5、セガSG-1000、カシオ楽がき、ColecoVisionのような「MSXっぽい似たようなハードウェア」は数多く存在していましたが、「MSXっぽいありものICの寄せ集め著作権フリーハードウェア」と「著作権フリーBIOS」の組み合わせは、MSXと言えるのでしょうか?
おまけ②MSXの商標・ロゴの使用について
MSXに関する商標やロゴマークは、2023年現在は西さんの会社・MSXライセンシングコーポレーションの商標登録とされています。かつてアスキーが保有していたMSXに関する商標は全てMSXライセンシングコーポレーションへ移管されています。
商標の明記やロゴの使用許諾については、パートナー契約をすると無料で記述できる権利が得られたり、契約して有償で記述したり、契約しなくても記述すれば黙認されることもあり…商習慣でケースバイケースなので一概には言えません。が、2023年においても無断で使用できるものではないのは明白です。
'00年代当時はユーザーの有志(MSXアソシエーションという任意団体)と西さんとの間でこのように決まっていた(で、ソフトウェア以外のグッズとかも出てた)のですが…2023年現在は西さんの会社が商標を所有しているので先の条件が現在でも継続中とは最早断言できないものとなりました。
「皆んな勝手にやっているみたいです」…西さんも現状を認識されているようですが、いろんな含みがありますね…。
有限会社エムツーさんの「アレスタ」復刻のような法人による商業活動とアマチュア・個人・同人活動とではライセンスの条件が違う可能性もあります。また、MSXのコンテンツ復刻でプロジェクトEGGを長らく運営しているD4エンタープライズさんは西さんと長年の付き合いなので包括契約的なものが存在するのかもしれません。いずれにせよ法務については西さんへ直接確認すべきことだと思います。
おまけ③令和の今、MSXのソフトを販売することに対しての販売者側の権利について
MSXライセンシングコーポレーションの著作物(公式BIOS、MSX-DOS、アスキー製ソフトウェア、公式エミュレータであるMSXPLAYer等)がコンテンツに含まれない場合は、許諾の必要なしに販売が可能です。
エムツーさんはレトロゲームの技術集団ですから公式BIOSなんて不要で何から何まで内製できてしまう(法務も余裕で解決できる)から商業案件はそれはそれで進捗を進めていただくとして、内製できる技術力を持たないので公式BIOSを利用したい個人やインディーの人々にもコンテンツの再販や新規リリースしやすいような環境づくりができればいいな、と思っています。
ツイート保管庫
当記事の作成から現在までの間に進んだ議論の過程をこちらに移動しました。