Gigamix Online

懐かしの8bitおもちゃPC「MSX」を骨までしゃぶり尽くそう。MSXの最新ニュース、ブログ、自作ソフトの配布など。

MSX Disk BASIC環境のソフトウェアをROM化してリリースしたい(妄想編)

 twitterのタイムラインを眺めながらブレインストーミング。思いつき次第、適当に追加してゆきます。

https://p.gigamix.jp/devmsx/cg/disk-to-rom_title.png

きっかけ

dsk2romというMSXのディスクイメージファイルをROMイメージ化できるアプリがあったので自作のソフトを変換してみたのだがROMから起動できなかった。BASICのAUTOEXEC.BASから起動するような同人ソフトには非対応かもね。変換の仕方が悪いのかもしれんけど…DISK BIOS相当の機能が入ってるとは思えない。 pic.twitter.com/0lZ6mpqdcP — Takashi Kobayashi (@nf_ban) 2021年8月6日
ん!?ROMイメージのタイプを「コナミSCC」に変更したら動いたぞ!?どういうこと!? pic.twitter.com/GCPq0Bx1ru — Takashi Kobayashi (@nf_ban) 2021年8月6日

 「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

あれ!?エミュレータでFDDの機能を切ってる(WebMSXでフロッピーアイコンが無い)のにDisk BASICが動いているではないか。ってことはDISK ROM BIOSを内蔵してるってこと!?んー、Microsoft or アスキー製の互換品なの?ライセンス大丈夫なのか、これ。 pic.twitter.com/i0MqEv3F78 — Takashi Kobayashi (@nf_ban) 2021年8月6日

 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を組み込んだコンテンツを西さんの会社の許諾なしに配布できるわけがないことになりそうです。もちろん許諾を取れば配布できるかもしれませんが…

んー、ですよねー。そりゃそうだ、世の中そんなに甘くないのです。 pic.twitter.com/8yd3U3qkLA — Takashi Kobayashi (@nf_ban) 2021年8月6日

 とは言え、この技術は今MSXの界隈で喫緊の課題になっている「製造が停止してしまったフロッピーディスクでなくROMカートリッジで新作ソフトをリリースする手段」を一気に解決できるほどのポテンシャルがあります。FDD搭載機と同じ環境で開発が継続でき、ソフトのリリース時にROMイメージ化してROMへ焼くだけです。新作ソフトはもちろん、過去にリリースされたソフト、リリースが叶わず埋もれてしまったソフトの復刻も容易になります。

あなたのゲームもMSXカートリッジに! ①オリジナルのゲームであること ②自慢できるゲームであること ③ROMカートリッジの容量に収まること ご興味のあるあなたは是非お気軽にお問合せください。一緒に界隈を盛り上げていきましょ~。 pic.twitter.com/DrpjQYJuVW — 余熱@れすぽん (@yone2_net) 2020年7月16日
大仏パラダイス | ニャオニャオ21世紀 BOOTHさんでもMSX用自作ROMカートリッジゲームの大仏パラダイスの販売を始めました。よろしくお願いしますm(_ _)m#MSX #インディゲーム #BOOTH #通販 #indiedev #MSXゲーム #ROMカートリッジhttps://t.co/WjQHbqJCsf #booth_pm — nao (@nyaonyao21) 2020年7月11日

 幸いにして、MSX用ROMカートリッジを製造してくれる業者(なのか!?)も現れ、自作のROMカートリッジを製造・販売する人が徐々に増えてきました。

#MSX ユーザーの方にお尋ねします-その1 お手持ちの(多分動くと思われる)MSXで新作ゲームを遊ぶ場合どのメディアが良いですか? 3.はMSX故障、持ってないけど欲しい人用 4.その他、はほぼ実現不可能ですが…… カセットテープ BEE CARD Quick Disc SD CARD+同人のCARD READER カセット 他何ある? — (株)オペラハウス公式 (@operahouseinfo) 2022年12月8日

 オペラハウス公式twitterMSX用新作ソフトの頒布方法についてアンケートを募ったところ、このような結果になっていました。MSXのコンテンツ配布媒体としてROMカートリッジが再び見直されてきている現状が伺えます。

今求められている技術

  • ファイルストレージとストレージコントローラのような仕掛けがROMにパッケージングされていること
  • ライセンスに違反が発生しないこと
  • 2DDフロッピーディスクの代替という側面から、4Mbit(512KBytes)のメガROMカートリッジと同等規模(やそれ以上)の実装が予想される
  • フロッピーディスクからROMカートリッジへのメディアコンバートが容易であればあるほど良い
  • 変換時の互換性は高いほど良い

ROM化へのアイデア

イデア①公式のBIOSをライセンスしてもらいたい(dsk2rom)

ディスクROMだけ公式ライセンス降ろして貰えれば一発解決なんだけどなー。50円/個とかでできないだろうか。さすがにDisk-Basicの互換品をいまさら作るというのは不毛だ…。 https://t.co/LCX2d38EUe — MSX研究所長 (@yoshimatsuTUQ) 2021年8月6日

 先程取り上げた「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のライセンスなんて認証されるのか?これは事例があります。

これ、BIOSのライセンス料がいくら載っているのか…ソフト1本あたりなのか、包括契約的なものなのか…?https://t.co/XW5NukTwdz — Takashi Kobayashi (@nf_ban) 2021年8月7日

 MSX・FAN誌の投稿プログラムコーナー「ファンダム」で一躍有名になったTPM.CO SOFT WORKSさんは、自身のMSX1用ゲームソフト「タロティカ・ブードゥー」を2017年にSteamで配信しました。どう実現しているかと言うと、公式のエミュレータであるMSXPLAYer上に公式BIOSとコンテンツ(ディスクイメージ)を同梱したWindowsアプリに変換(メディアコンバート)しています。

https://p.gigamix.jp/devmsx/cg/disk-to-rom_tarotica_opening.png

 アプリ内にMSXライセンシングコーポレーションのライセンス表記がありますので、これは正式にライセンスが認証されたコンテンツであることが分かります。

store.steampowered.com

 個人やインディーが許諾を得る方法を私は知りませんが、存在すると思いたいです。まぁ、西さんにメールやtwitterへ聞けばいいだけの話かもしれませんが。

twitterで西さんから許可が下りることがあるらしい

Rabitt Adventure遊びたいんだけど、ROMを実機で再生する手段が今ないのでおあずけ… DISK版があると嬉しいんだけど… https://t.co/pgZ5O6S9nt — 紙パレット 🚀 アトリエミミナ (@kamipallet) 2023年6月24日
どうぞお好きにして下さい — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年6月24日

  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」です。

純正のDISK ROM不要で動作するLite版ができました。まだまだ課題が多いので何か情報がありましたら……https://t.co/s87Y71nKjH pic.twitter.com/8FnlDqSTn1 — Gaku (@tablacus) 2023年6月11日

 デメリットもありますがそれを上回る圧倒的なメリットがあります。筆者(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カートリッジ内でデバイス拡張を行う

MSXでもデバイスファイル名使えるのかな? ファイル名の代わりに "SCRN:" 指定すると画面に出力できたり、"PRN:" でプリンタに出力したり、"COM:"でシリアルポートに出力したりと、ちょっとしたリダイレクト風味に使えたりもしますね。入力だと "KYBD:" とかあった気がします。 — UME-3 (@ume3fmp) 2023年5月12日
PRN: はMSXでも使えるはず。カートリッジでデバイス拡張できるので、xxx: をカートリッジで追加可能です。確か232CカートリッジでCOM: もいけた気もします。ソニー機で CAT: みたいなのもありますよね。 pic.twitter.com/YCrcDozVkB — HRA! (@thara1129) 2023年5月12日

 ROMにファイルストレージを確保し、デバイス拡張でファイルを呼び出す方法。これなら、DISK BIOSが存在しない機種でもファイルアクセスが可能になるかもしれません。

LOAD"ROM:file" とか遣りたいんだけども — qajinMSX(小島英彰) (@QajinMSX) 2023年5月9日
LOAD"ROM:file" は、徳間書店から出ていたMSXプログラムコレクション50本(ファンダムライブラリーの市販ソフト版)が既に実現していますね。(ROMカートリッジでリリースされていた①〜③のみ。④以降はフロッピーディスク。)何かの参考になるかも?かも?? — まぬ (@koike_manu) 2023年5月9日

 この技術は徳間書店の「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で提供する

拙作のミドルウェア・DMシステム2 https://t.co/8tfHL2O5JG には CALL LOAD というとにかくRAMやVRAMへガンガン転送するという拡張BASIC命令があったんですけど、コンテンツをROM化するときに自身でBASICを拡張してLOAD命令もRUN命令も代替手段で実現すれば、Disk BASICが不要なんじゃないか?って。 — Takashi Kobayashi (@nf_ban) 2021年8月6日
ROMは4000hから7FFhまで拡張BASICのストレージ制御システムが入ってて、8000hからBFFFhまでメガROMで切り替えてストレージが見えたりして、C000hからRAMが見えてBASICプログラムを転送できたりしたら、16KB RAMのMSX1でファイルシステム持ちながらソフトが動かせるんじゃないの?って。 — Takashi Kobayashi (@nf_ban) 2021年8月6日
2DDで動作するMSX-BASICゲームをRom化する話がTLに流れてましたが、過去作品をROM化する場合と、これから作る場合とで技術的な課題は大きく違いそう。これから作る場合、最初からROM化を前提とした仕組みを用意しておけば敷居が下がると思います。#MSX — HRA! (@thara1129) 2021年8月8日
例えば、_LOADなどの命令を搭載したROMを2種類用意します。両者には命令に互換性がありますが、1つはアクセス対象がディスク上のFAT-FS。もう一つはROM上に形成した簡易的なROMディスク。開発時は前者を使い、ROM化するときは後者を使う。誰かがこのROM開発すれば解決、誰が?🤣 — HRA! (@thara1129) 2021年8月8日
最初に挙げた「敷居」とは、DiskBasicまでまるごとROMに書き込んじゃうと権利問題にぶつかる、という敷居ですね。明確な解決方法が不明なモノなので、かなり高い敷居です。なら、そのアプローチをやめちゃえば一気に解決するのでは?というアイディアを書いたのでした。 — HRA! (@thara1129) 2021年8月8日

  • BASICプログラムのロード(と実行)命令を代替する拡張命令(例えば _RUN("<filename>") とか)
  • その他各種ファイルのロード命令を代替する拡張命令(例えば _LOAD("<filename>",転送先アドレス[,長さ][,offset]) とか)
  • コンテンツ内にセーブデータが必要な場合、それを保存する拡張命令

 自分の経験則やほかの方の意見を総合するに、上記のような命令を拡張BASIC化した「ミニマムなストレージコントローラ」と「ファイルストレージ」を同梱してROM化するソリューション。これがあれば多くのBASIC環境のコンテンツはライセンスフリーでROM化できると思います。

 メリット・デメリットともにアイデア②③と同様です。FDD搭載の有無問わず全機種対応可能の余地がありますが、プログラムの改修は必要です。

昔の記憶ですと…run,load,bloadは間違いなく使いますね🧐 open,copyは使ったり使わなかったりです。場合によってはsaveとかbsaveも使うかもしれません。(セーブをパスワード式かPACにすれば使わないけど) — hide_san(ヒデ) (@_msx_) 2021年8月6日
情報ありがとうございます。ROM化されたゲームのデータ保存方法は別個で考える必要はありますけど、使う命令としてはそんな感じですよね。拙作DMシステム2だとBLOADはCALL LOADで代替、COPYはBPE圧縮で代替できるので、他のBASICプログラムをRUNする手段を代替できれば、なんかいけそうな気が!? — Takashi Kobayashi (@nf_ban) 2021年8月6日
「自作ゲームをROMにする」というのは、ゲームで育ってきた自分からすると「夢」の一つでもありますので…いけるといいなぁ(*'ω'*) — hide_san(ヒデ) (@_msx_) 2021年8月6日

 ちなみに、拙作ミドルウェアDMシステム2」では CALL LOAD というBSAVEヘッダの有無問わずディスク上のファイルをメモリへ転送する命令が搭載されていました。ROMの中にそのようなストレージアクセス系の命令を代替するオリジナルの拡張BASICシステムと仮想ストレージを含んだROMイメージを作成することができれば、このソリューションはDisk BASIC(DOS1カーネル)を使用する必要がなくなるためにライセンスの問題が解消されます。

Tablacus DISK ROM Lite v0.0.1.0アップ。ついにDisk-ROM BIOSが不要なLite版でも「仮装大賞パネル」が動くようになりました。DMシステム2が動くなら結構いろいろ動くんじゃないかな~動いたらいいな。https://github.com/tablacus/TablacusDiskRomLite/releases - Gaku (@tablacus) 2023年6月15日

 この記事の執筆後、前述の Tablacus DISK ROM LiteミドルウェアのDMシステム2に対応しました。2023年6月現在、DMシステム2を用いたコンテンツはメガROMカートリッジ化が可能になりました。また、同じく'90年代に用いられたミドルウェアの「M.K BASIC」も動作するようです。

イデア⑤Nextorを同梱すれば可能?

にがさんの似非ROM基板に、NEXTORのカーネルROM書き込んでNEXTORが起動してMSXーDOSアプリが動作するするROMは作成できたので、NEXTOR使ってdsk2romと同じような事はできそうな気がします。 — 超兄貴 〜シン・MSX〜 (@SuperAniki_MSX) 2021年8月6日
Nextorならライセンスの問題はクリアですかね。あれっ、RAMは必要ではなかったでしたっけ。例えばMSX1の16KBのマシンでNextor BASICは動くのだろうか…?🤔 — Takashi Kobayashi (@nf_ban) 2021年8月6日
64KBは必要でしょうね・・・しかしBASICプログラムなら大概そのままROM化できますし、カセットテープやテープ形式の非圧縮音声で配布とか。 — 超兄貴 〜シン・MSX〜 (@SuperAniki_MSX) 2021年8月6日
自分の経験ですと、BASICプログラムが1本のみという製作方法がピンと来なくて、プログラム以外のデータを都度読んでゆくようなファイルシステムというかストレージのような仕掛けが欲しくなるんですよね。なのでdsk2romの可能性には期待していたんです。まぁ作り方でどうにでもなる話かもしれません。 — Takashi Kobayashi (@nf_ban) 2021年8月6日

 「Nextor」はMSX-DOS2の上位互換となる、MSXライセンシングコーポレーション(=西和彦さん)に承認されたかもしれないオープンソースの新しいDOSです。FAT16に対応し、1ドライブ2GBまでの大容量ストレージが、MSX1から制御できる性能があります。

www.msx.org

 dsk2romはDisk BASIC ver.1(DOS1カーネル、DISK BIOS)を同梱していましたが、Disk BASIC ver.2の上位互換である「Nextor BASIC」を内包するオープンソースの「Nextorカーネル(NextorのDISK BIOS)」を採用すればライセンスの問題が解決する、かもしれない

 「かもしれない」とあえて強調しているのは、Nextorが本当にMSXライセンスコーポレーションの認証がされていて、本当に無償で利用可能かのエビデンスが存在しないからです。現在は無償でダウンロード可能にはなっていますが、組み込み時にも無償で利用できるかは不明なのです。

https://t.co/Au3fpKOtsD MSXVRMSXロゴ許諾についてNEXTOR作者のKonamiman氏が西さんと直接話をしたとあります。NEXTORをオープンソース化するのに問題はないか確認した際にMSXVRについても触れたとのこと。※ただしこれは西さんやMSXライセンシングコーポレーションからの発表ではありません — うにスキー (@uniskie) 2020年11月25日
この時点ではMSXBASIC自体のライセンスはマイクロソフトにあり、1台につき1$のライセンス料が必要とありますね。BASIC以外のシステムロムに関しては西さんのMSXライセンシングコーポレーションが権利を保有するとの事で、MSXDOS2関連を含むNextorのオープンソース化について許諾を得たという話。 — うにスキー (@uniskie) 2020年11月25日
原文では西さんによる「祝福」とあり、「公認」は意訳なので、西さんが「いいね!」しただけなのでは。ともとれるんですよね。NextorなどはMSXDOSコードの再利用について具体的な著作権説明が記載されていますが、MSXVRはそれに該当する物が今の所見つけられてないので、気になっています。#MSXVR — うにスキー (@uniskie) 2020年11月26日
Konamimanさん経由で話が通ったのであれば、その辺のシステムROMの使用については確認取ってそうなものですが、確定できる情報をまだ見つけられてないんですよね~。NextorとMSXVRは別の話ですし、どうなってるんでしょうね。どなたかそのあたりご存じでしょうか?https://t.co/eU7xB7ijyK — うにスキー (@uniskie) 2020年11月26日

 この手法のメリットは、①ライセンスの問題が解決するかもしれないこと、②Disk BASICとの互換性が一定量は担保されていることです(DOS1からDOS2・Nextorへの乗り換えは若干のプログラム修正が必要かもしれません)。

 デメリットは、Nextorの動作条件として128キロバイト以上のRAMが必要なため、対象機種がかなり絞られます。日本ではRAMが64キロバイト以下の機種が圧倒的に多いため忘れがちですが、海外のMSX2は128キロバイトが標準的でした。カートリッジにROMもストレージもRAMも搭載するムチャな環境は…作ろうと思えば作れそうですが…それはもはや巷に出回る「多機能カートリッジ」そのものではないですか。Carnivore2は1個3万円くらいの品です。

 現実的に実現可能かはかなり微妙なアイデアではあります。

代替手段

代替手段①Disk BASICが不要ならば実現可能らしい(MSXBAS2ROM)

MSXBAS2ROM project now hosted on github.https://t.co/TDcbWN1n4P — AmauryCarvalhoMSX (@Amaury_MSX_BR) 2022年5月17日

 MSXBAS2ROMは、MSX BASICのプログラムをマシン語コンパイルしてROM化・メガROM化するツールです。複数ファイルのインクルードも可能で、ファイルロード用のCMD拡張命令が追加されます。BASICプログラムが1本だけしかないようなコンテンツ、かつMSXBAS2ROMで非対応なBASIC命令を使用しないのであれば選択肢の一つになろうかと思います。

↓ MSXBAS2ROMはこちらをクリック ↓ github.com

代替手段②Disk BASICが不要でプログラムが1本だけならば実現可能らしい(DumpListEditor)

#DumpListEditor サンプル版です。①MMLをPSGPad(PSG on Web)で再生するボタンを付けました。②MSX-BASICのROM作成で、行番号の事前アドレス変換を選択できるようにしました。#MML #MSXhttps://t.co/XTiDsJsiAT pic.twitter.com/VJ9ghLsnmF — bugfire2009 (@bugfire01) 2023年6月16日

 PC-8001PC-8801等のダンプリストやBASIC入力を補助するツールとして生まれたDumpListEditorは、その後各種レトロPC向けの機能をどんどん注ぎ込んでゆき、今やMSXのBASICプログラムをROM化する機能まで実装されています

 BASICプログラムが1本だけしかないようなコンテンツであればファイルロード機能は一切不要なためDisk BASIC(DISK BIOS)相当の機能も不要です。実際、「スターコマンド」のようにBASICプログラムのROM化が市販化される事例もあります。

msx.jpn.org

 Disk BASICを利用しないのであれば全ての機種で動作可能ですのでROM化は簡単に実現するかもしれませんね。

↓ DumpListEditorはこちらをクリック ↓ bugfire2009.ojaru.jp

代替手段③FDD搭載機であれば実現可能らしい(TablacusDiskRom)

MSXのDISK環境をメガROM化するTablacus DISK ROMがv0.0.2.0にバージョンアップしました。フック場所をMath-PackのワークエリアからRS-232C&カセットに変更したことで動くソフトが増えました。画像はDOS2 for MSXですが、BASICのソフトもROM化することができます。 #MSXhttps://t.co/lPdI1NJ2E0 pic.twitter.com/XdjqEHP87m — Gaku (@tablacus) 2023年5月14日

 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)

今度はMSX-DOSの互換OS、LSX-DodgersのMSX版を作っています。似非DOSとの違いはDOSカーネルが不要でフロッピーではなくROMで起動しROMをディスクとする点になります。MSXで64KBのRAMがあれば互換BIOSのC-BIOS環境でも動作しています。 pic.twitter.com/kSTJObFZLO — Gaku (@tablacus) 2023年2月9日
先日エミュで試したMSXのLSX-Dodgers https://t.co/6wkIrIyoc6 ですが、実機で動かしてみたくなったのでやってみました。動く動く。X1でLSX-Dodgersを使ってる人は結構嬉しい。使いドコロとしては、大きなデータをファイルとして扱いたい時など……? pic.twitter.com/AmyfRPsPoq — ひろし@H.O SOFT (@honda_ken) 2023年2月27日

 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以上必要です。

TPAを調べたら原因が分かりました。LSX-DodgersのTPAがCA05hでした。NDPがTPAの中に収まりません。そりゃあ無理だ。んー残念。ちなみに各DOSのTPA比較(openMSX+FS-A1ST) DOS1…D605h DOS2…D605h 似非DOS…DA05h ←純正DOSより広い! LSX-Dodgers…CA05h ←純正DOSより約3KB狭い pic.twitter.com/uTOSqwrT6g — Takashi Kobayashi (@nf_ban) 2024年3月15日

 純正環境との互換性が高いのは、やはり、DISK BIOSを利用するTablacus DISK ROMのほうです。LSX-Dodgersは純正のMSX-DOSよりもTPAが狭いため、純正DOSでは動作するアプリがLSX-Dodgersではメモリ不足による不具合や動作不能の可能性もあります。

おまけ

おまけ①MSXシステムBIOSの所有者は誰なのか

 2023年現在、MSXの各種システムBIOSは、元アスキー創業者の西和彦さんが設立した「MSXライセンシングコーポレーション」がマイクロソフト社からライセンスを取得して運用しているようです。

23年前アスキーを辞めるとき、退職金はゼロ 代わりに、MSX関連は全部と本も雑誌もソフトも商標もマイクロソフトとの契約もみんな貰った その証拠に商標は正式にこちらに移管されている 会社のハンコがなければ不可能 お前は正当なMSXの権利者か?という問い合わせが来たので説明させていただきました — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年1月24日
楽しみです!そういえばcopyrightがMicrosoftの表示になってますけど今は違うんですよね? — imamuray@このまんま💙💚💛💜❤💗💖 (@imamuray0123) 2023年4月14日
今でもMicrosoft ライセンスを取得したことになっています — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年4月14日
マイクロソフトとのmsx basicのライセンス契約 アスキーとの商標 出版物 その他 一切合切の譲渡契約 — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年4月22日
ロイヤリティ契約です だからMSXはフリーウエアにできません するつもりもありません — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年1月24日
No way to do so. — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年4月24日
You cant demand to make software free. That means to kill the continuous development of that software to stop. I cant accept that. — 西 和彦 Kazuhiko Nishi (@nishikazuhiko) 2023年4月24日

 これらの証言をまとめると、以下のようになりそうです。

  • 西さんの会社であるMSXライセンシングコーポレーションが、マイクロソフト社とMSXに関するライセンス契約およびロイヤリティ契約を締結している(と言っている)
  • マイクロソフト社と契約を締結するのだから、西さんの会社がMSXのシステムBIOS著作権を全て保有しているわけでは無い(現在でも米マイクロソフト社が一部ないし全部の著作権保有している)可能性が高い
  • 西さんが「MSX BASICに関するライセンス」というツイートをわざわざつぶやいているので、少なくともMSX BASIC(=BIOSのメインROM・サブROMの一部ないし全部)に関しては米マイクロソフト社が今なお著作権を所有しているものと考えられる
  • かつてアスキー保有していたMSXに関する全ての権利も西さんの会社が保有している(と言っている)
  • マイクロソフト社が関与していないシステムBIOSについては西さんの会社が著作権を所有している、可能性が高い(MSX-MUSIC、MSX-DOS2、漢字BASIC等)
  • 西さんの会社は、MSXのシステムBIOSを利用してビジネスを展開できる「ライセンサー」ではあるが、西さんの会社が全てのシステムBIOS著作権保有していないと仮定すれば、システムBIOSを自由化する判断をできるわけがない

 MSXの公式エミュレータである「MSXPLAYer」では実機と違い、著作権者の表記が追加ないし変更されました。

…なるほど。時系列で見ると、西さんの会社が2007年にライセンス契約を締結した(と言っている)からそうなったのですね(んーでも2023年発売予定のMSX0Stackで採用されたBIOSは「Micorosft」表記のみに戻った経緯は謎ですけど)。

 そして、西さんの会社がMSXのシステムBIOS全ては保有していないと仮定すれば、西さんがMSXのシステムBIOSライセンスフリーにする考えが毛頭無い方針なのも頷けます。そりゃあ、権利を持っていなければライセンスフリーにするなんて判断もできないでしょうから…。まぁ実際はMSXのライセンスビジネスをやりたい、のかもしれませんが。

 MSXのシステムから米マイクロソフト社の権利物だけ除外したらビジネスプロセスが簡略化されるかもしれませんが…MSX BASICを抜いたマシンは果たしてMSXと呼べる代物なのでしょうか?

 ソードm5、セガSG-1000、カシオ楽がき、ColecoVisionのような「MSXっぽい似たようなハードウェア」は数多く存在していましたが、「MSXっぽいありものICの寄せ集め著作権フリーハードウェア」と「著作権フリーBIOS」の組み合わせは、MSXと言えるのでしょうか?

おまけ②MSXの商標・ロゴの使用について

通りすがりの知的財産権各種研究科ですが、ぶっちゃけ9類1区分のみなので、コンピュータソフトウェア/ハードウェア以外の物品、例えばキーホルダー、アクセサリ、Tシャツ、かばん等であれば不正競争防止法等に留意して使う分には合法かと思われます。 pic.twitter.com/4UhYToKqtN — マツド教授 (@Prof_Matsudo) 2021年8月7日
そこは抜かりが無かった、、、アパレルも鳥坂先輩の着ているプリントTシャツはダメぽいな pic.twitter.com/xi239iZX8m — きんのじ (@v9938) 2021年8月7日
べ-しっ君もMSX関連なのですね https://t.co/ihLsbmWc3v pic.twitter.com/4JTKL38lli — 別部穢麻呂 (@WKitanamaro) 2023年1月24日
それは常識の範囲で勝手に使ってくれということで、濫用したら法律的にやりますということです。たとえばMSXでないものにMSXマークをつけること。商標権は日、米、欧、ブラジル、中国で確立しています。 - 西 和彦 Kazuhiko Nishi(@nishikazuhiko) 2022年1月16日

 MSXに関する商標やロゴマークは、2023年現在は西さんの会社・MSXライセンシングコーポレーションの商標登録とされています。かつてアスキー保有していたMSXに関する商標は全てMSXライセンシングコーポレーションへ移管されています。

 商標の明記やロゴの使用許諾については、パートナー契約をすると無料で記述できる権利が得られたり、契約して有償で記述したり、契約しなくても記述すれば黙認されることもあり…商習慣でケースバイケースなので一概には言えません。が、2023年においても無断で使用できるものではないのは明白です。

RIPPLE LASER様のMSXキーホルダー入荷しました。勿論許諾品です。ハーフミラーを含めた5種類で展開中ですよ pic.twitter.com/8kPDrd3UJ2 — アキハバラ@BEEP (@BEEP_akihabara) 2016年9月11日
更新:MSX2+用のキーボードカバーが販売中、正式ライセンス品 アクリル製で税込4,300円、MSX turbo R用も (取材中に見つけた○○なもの) https://t.co/uXvAJNhKJG pic.twitter.com/wc7oMjodRc — AKIBA PC Hotline! (@watch_akiba) 2016年2月6日
MSXライセシングコーポレーションというのがあるので、今はMSXの商標やらもろもろを使ったゲームは、そこのOKが出ないと出せなかったりするのか?みたいな疑問です。いや、アレスタ再販できたらどうなの?とかあるじゃん。 — ほりい なおき (@hor11) 2021年8月7日
もし、MSX用のアプリケーションを出す時に、ロゴの使用が自由だと仮定したら、ライセシングコーポレーションとして社にする意味がまるでないんですよねー。これはちょっと怯んでしまう。 — ほりい なおき (@hor11) 2021年8月7日
こちらですかね。もうアーカイブにしか残ってないので、口約束みたいな状況ですが^^;https://t.co/RHm0S4C3h4 — MA-X @ B-Cat Software (@max_2608) 2021年8月7日
営利でソフト出すのはダメって事みたいだし、グッズもお金払ってくれって書いてあるしで、これが前提だといろいろ終了だな。 — ほりい なおき (@hor11) 2021年8月7日

 '00年代当時はユーザーの有志(MSXアソシエーションという任意団体)と西さんとの間でこのように決まっていた(で、ソフトウェア以外のグッズとかも出てた)のですが…2023年現在は西さんの会社が商標を所有しているので先の条件が現在でも継続中とは最早断言できないものとなりました。

皆んな勝手にやっているみたいです — 西 和彦 (@nishikazuhiko) 2021年9月14日
なるほど、これだと出せませんね(ギギギ — ほりい なおき (@hor11) 2021年9月14日
好き勝手やってますね(何も言ってない)…ですよね。 — ほりい なおき (@hor11) 2021年9月14日
オッケーですよって表明がないと中々やれないですよね。大きな商いになってから何か言われてもこまるし(ほぼほぼならないんですが、可能性としては…ですね)。 — ほりい なおき (@hor11) 2021年9月14日
MSX3を販売を期に申請ができるようにして頂けると信じております。 — nao (@nyaonyao21) 2021年9月14日
互換性のチェックも — 西 和彦 (@nishikazuhiko) 2021年9月14日

 「皆んな勝手にやっているみたいです」…西さんも現状を認識されているようですが、いろんな含みがありますね…。

 有限会社エムツーさんの「アレスタ」復刻のような法人による商業活動とアマチュア・個人・同人活動とではライセンスの条件が違う可能性もあります。また、MSXのコンテンツ復刻でプロジェクトEGGを長らく運営しているD4エンタープライズさんは西さんと長年の付き合いなので包括契約的なものが存在するのかもしれません。いずれにせよ法務については西さんへ直接確認すべきことだと思います。

おまけ③令和の今、MSXのソフトを販売することに対しての販売者側の権利について

MSXAの中の人として回答しますが、MSX用ソフトの販売に限って言えば、MSXライセシングコーポレーションに許諾を得る必要はありません。VHS規格を参考に1983年の時点で「ソフトは権利者の許諾なく出せる」と決定され、以降変更されていません。この話題はMマガ永久保存版の記事でも掲載していたはず。 — ごりぽん (@goripon_tw) 2021年8月8日
MSXライセシングコーポレーションに許諾が必要なのは分かりやすく言えば「公式のシステムROMを含むMSX本体の販売」です。Mマガ永久保存版の時に「エミュも本体1台と見做す」というルールが明確化されたので当然エミュでもライセンスが適用され、EGGなどはこれに従っている訳です。 — ごりぽん (@goripon_tw) 2021年8月8日

 MSXライセンシングコーポレーションの著作物(公式BIOSMSX-DOSアスキー製ソフトウェア、公式エミュレータであるMSXPLAYer等)がコンテンツに含まれない場合は、許諾の必要なしに販売が可能です。

 エムツーさんはレトロゲームの技術集団ですから公式BIOSなんて不要で何から何まで内製できてしまう(法務も余裕で解決できる)から商業案件はそれはそれで進捗を進めていただくとして、内製できる技術力を持たないので公式BIOSを利用したい個人やインディーの人々にもコンテンツの再販や新規リリースしやすいような環境づくりができればいいな、と思っています。

ツイート保管庫

 当記事の作成から現在までの間に進んだ議論の過程をこちらに移動しました。

MSXのROMにはデバイス拡張に関するエントリがあるんだけど、システムから渡される値の情報はあるのにシステムにどう値を返したらいいのかの資料が丸っきりないんだよね...テクハンにもデータパックにもその辺りの事が全然書いてない。お陰でどう拡張デバイス作ったらいいのか分からない... — qajinMSX(小島英彰) (@QajinMSX) 2023年5月9日
OPEN"ROM:"とかでROMの中をファイルのように見せることは可能だと思います。そのうちそういうのも作ってみたい気はしますが、詳細を調べ切れてないので具体的なやり方までは把握できてないです😅 — HRA! (@thara1129) 2023年5月12日
_HOOKと_MENU は標準で搭載されてる命令ではないので、このファンダムライブラリーのROMが拡張してる命令なのは想像に難くない。ロゴ表示プログラムで、きっとキーバッファに詰めてるに違いない。今晩吸い出してOpenMSXデバッガで確認してみようと思います😊 pic.twitter.com/DUJ5rhXey1 — HRA! (@thara1129) 2022年12月17日
ファンダムライブラリー3 吸い出して実行してみました。やはり、キーバッファに詰めてるようですね。KEYBUF (FBF0h [40bytes]) に、CALL HOOK:CALL MENU<改行> が入ってるのが写真左上のメモリダンプから確認できます。 pic.twitter.com/Fo1JYwfTZv — HRA! (@thara1129) 2022年12月17日
_RUN("ファイル名")を追加するとして、INIT中でDIしてキーバッファクリア、_RUN("AUTOEXEC.BAS") [return] を詰めてEIしてBASICへ・・というのも楽かなと思いました😊 — HRA! (@thara1129) 2022年12月17日
デバイス名"ROM:"が実現されるのも近いかな...(ぇ>RT — qajinMSX(小島英彰) (@QajinMSX) 2023年5月12日