[WebXR] MONITOR WALL — 監視室のモニタ壁で、MSX・動画・SID を再生する

[WebXR] MONITOR WALL — 監視室のモニタ壁で、MSX・動画・SID を再生する

概要

MONITOR WALL は、監視室の 3D 空間にある、モニタの壁に、ゲーム、動画、曲を映すモードです。lain-lab.com のターミナルで monitor と打つと、入れます。

壁のモニタには、映すだけでなく、メニューの役目もあります。右の列の 4 枚が、操作パネルです。PC ではクリックで、Meta Quest 3 の VR では、コントローラーのレーザーで、押します。

  • GAME: MSX1 のエミュレーターで、ROM を動かします
  • VIDEO: MP4 などの動画を、再生します
  • SOUND: SID(C64 の音楽)を再生して、3 つのボイスの波形と、スペクトラムを出します
  • SINGLE / TILE / BIG: 1 枚の画面を、壁のモニタ全体に出す(SINGLE)、1 つの画像を、壁のモニタに分けて出す(TILE)、壁のモニタが手前に飛び出して、1 枚の大画面になる(BIG)、の 3 つの表示です

ROM、動画、曲は、ご自身のファイルを、追加して使います。ファイルは、パソコン(Quest)の外へ、送信されません。

入り方

  1. lain-lab.com を開きます。
  2. ターミナルに、monitor と打ちます。
  3. 監視室が、表示されます。

スタートメニューから起動

トップページのスタートメニューからも起動できます。

MONITOR WALL の全体。モニタの壁と、右の列の操作パネル

TOPページ

技術記事

クレジット

sketchfabで公開されている監視室の 3Dモデルを見て着想を得て、空間にある、モニタの壁を使って、ゲームと動画と曲を映すモードを作ってみました。

クリエイターは wa_rouk様。

スクリーンショット

監視室

MONITOR WALL の全体。モニタの壁と、右の列の操作パネル モニタの壁を、正面から見た画面。右に操作パネル、左に ADD FILES と ADD FOLDER のボタン

操作パネル

右列の 4 枚のモニタが、操作・情報パネル。

操作パネル。MONITOR MODE(LAYOUT と SOURCE)と、VIDEO OPTIONS 操作パネル。STATUS と、VIDEOS のファイルリスト

VIDEO

VIDEO の BIG 表示。壁のモニタが 1 枚の大画面になって、動画を映している VIDEO の TILE 表示。1 つの動画が、壁のモニタに分かれて映っている

GAME

GAME の TILE 表示。MSX のゲーム画面が、壁のモニタに分かれて映っている GAME の BIG 表示。MSX のゲーム画面が、1 枚の大画面になっている GAME の SINGLE 表示。1 枚のモニタに、MSX のゲーム画面

SOUND

SOUND の BIG 表示。SID の 3 つのボイスの波形と、スペクトラム

動画(WebXR)

アプリの特徴

  • 壁がメニュー: 右の列のモニタが、操作パネルです。VR でも、レーザーだけで、ほとんどの操作ができます
  • 3 つの映すもの: MSX のゲーム、動画、SID の曲を、同じ壁で切り替えます
  • 3 つの表示: SINGLE、TILE、BIG。BIG は、壁のモニタが手前に飛び出して、すきまなく 1 枚になります。どの映すものでも、使えます
  • ファイルは端末の中だけ: 追加したファイルは、ブラウザの IndexedDB に保存されます。サーバーには、上げません
  • Meta Quest 2/3 の VR に対応: PC のブラウザでも、使えます

まず試す

  1. lain-lab.com を開いて、ターミナルに monitor と打ちます。
  2. 左の ADD FILES を押して、ROM(.rom など)、動画(.mp4 など)、SID(.sid)を選びます。ADD FOLDER なら、フォルダの中身を、まとめて追加できます。
  3. 右の列の、一番下のモニタ(MODE)で、SOURCE の VIDEO、GAME、SOUND を選びます。
  4. 上のモニタの一覧(ファイルリスト)から、ファイルを選びます。
  5. 表示を変えたいときは、LAYOUT の SINGLE、TILE、BIG を選びます。

動画は、最初から 1 本、入っています。ファイルを追加しなくても、VIDEO で試せます。

使い方

1. 操作パネル

右の列の、4 枚のモニタです。

モニタ役目
MODE(一番下)LAYOUT(SINGLE / TILE / BIG)と、SOURCE(VIDEO / GAME / SOUND)の切り替え
オプション(下から 2 番目)SOURCE ごとの操作
一覧(上から 2 番目)ROM、動画、曲の一覧。PREV / NEXT で、ページを送ります
STATUS(一番上)状態の表示と、EXIT(モニターモードを出る)
操作パネル。MONITOR MODE(LAYOUT と SOURCE)と、VIDEO OPTIONS

オプションの中身は、SOURCE で変わります。

SOURCEオプション
GAMEマッパーの選択(AUTO、NONE、KONAMI、SCC、ASCII8、ASCII16 など)と、RESET
VIDEOPAUSE(再生・一時停止)と、MUTE(ミュート)
SOUNDPLAY / PAUSE と、PREV / NEXT(前後の曲)
操作パネル。MONITOR MODE(LAYOUT と SOURCE)と、VIDEO OPTIONS

2. ファイルを追加する

ADD FILES と ADD FOLDER は、画面の左にある、HTML のボタンです。拡張子で、自動的に振り分けます。

種類拡張子保存の単位
ROM(GAME).rom、.bin、.msx、.mx1ROM ごとに、マッパーも覚える
動画(VIDEO).mp4、.webm、.m4v、.movファイル
曲(SOUND).sidファイル
  • ROM は、0 バイトのものと、512 KB を超えるものは、追加されません
  • 追加したファイルは、端末の中(IndexedDB)に、残ります。次に開いたときも、一覧に出ます
  • VR の中では、ファイル選択のダイアログが開きません。 ファイルの追加は、VR に入る前に、2D の画面で、済ませてください
ファイルを追加する

3. GAME(MSX)

MSX1 のエミュレーターで、ROM を動かします。

  • 一覧から ROM を選ぶと、起動します
  • マッパーは、AUTO のままで、たいていは動きます。動かないときは、オプションで、別のマッパーを選びます。選んだマッパーは、その ROM について、覚えます
  • RESET で、ROM を、最初から起動し直します
  • キーボードの入力は、GAME のときだけ、エミュレーターに渡します
  • VR では、左のスティックが十字キー、トリガーがスペース、A / X ボタンが N(2 つ目のボタン)です
GAME の TILE 表示。MSX のゲーム画面が、壁のモニタに分かれて映っている

4. VIDEO

動画を、壁に映します。PAUSE で、一時停止と再生を切り替えます。MUTE で、音を切ります。VIDEO 以外の SOURCE に切り替えると、動画は止まります。

VIDEO の BIG 表示。壁のモニタが 1 枚の大画面になって、動画を映している VIDEO の TILE 表示。1 つの動画が、壁のモニタに分かれて映っている

5. SOUND(SID)

SID の曲を再生して、波形を出します。

  • 一覧から曲を選ぶと、再生が始まります
  • 画面には、曲の名前と、PAL / NTSC、SID のチップ(6581 / 8580)、3 つのボイスの波形、その下に、スペクトラムが出ます
  • PLAY / PAUSE と、PREV / NEXT で、操作します

SID Player(lain-lab.com の別のページ)の、再生の仕組みを、そのまま使っています。EQ、鍵盤、プレイリストは、ありません。

6. 表示(SINGLE / TILE / BIG)

表示内容
SINGLE1 枚の画面を、壁の中央の、1 枚のモニタに出す
TILE1 つの画像を、壁のモニタに、分けて出す
BIG壁のモニタが、手前に飛び出して、すきまのない 1 枚の大画面になる。もう一度押すと、壁に戻る

SOURCE や LAYOUT を切り替えると、BIG は解除されて、壁に戻ります。

7. 動き回る

PC のブラウザでは、W A S D で、前後左右に動けます。Q と E で、上下に動けます(GAME のときは、キーボードを、ゲームに渡すので、動けません)。

VR では、Quest のコントローラーのレーザーで、右の列の操作パネルを、押します。レーザーは、操作パネルのモニタに、向けたときにだけ、出ます。

8. 終了する

STATUS のモニタの EXIT で、モニターモードを出ます。

対応していないもの

内容扱い
MP3 などの、普通の音楽ファイルありません。SOUND は、SID 専用です
SID のサブ曲の切り替えありません。先頭の曲だけです
VR の中での、ファイルの追加できません。VR に入る前に、追加してください
MSX2 以降対応していません。MSX1 だけです
512 KB を超える ROM対応していません
ゲームのセーブデータの保存ありません
スマートフォンでの動作確認していません

注意事項

  • 動作の確認は、PC のブラウザと、Meta Quest 3 です。Quest では、GAME、VIDEO、BIG、レーザーでの操作を、確認しました。SOUND(SID)は、PC のブラウザでだけ、確認しています。Quest の VR では、確認していません
  • VR での FPS は、測っていません
  • SID の、一部の曲では、再生の途中で、音が止まることがあります。Nemesis_MSX_OST.sid で、起きました。原因は、わかっていません。SID Player は、もともと、一部の曲に対応していません
  • ROM、動画、曲は、ご自身が、使ってよいものを、使ってください。ファイルは、こちらでは、配っていません
  • ファイルは、端末の中に、保存されます。ブラウザのサイトデータを消すと、消えます

よくある質問 (FAQ)

Q. VR の中で、ファイルを追加できません。
A. VR の中では、ファイル選択のダイアログが、開かないためです。VR に入る前に、ADD FILES で、追加してください。追加したものは、端末の中に残ります。

Q. VR に入ると、右の列のモニタ以外に、レーザーが出ません。
A. 仕様です。レーザーは、押せるモニタ(右の列の操作パネル)に、向けたときにだけ、出ます。

Q. SOUND で、MP3 を再生できません。
A. SOUND は、SID 専用です。MP3 は、再生できません。

Q. SOUND で、曲が、途中で止まります。
A. 一部の SID の曲で、起きます。SID Player も、一部の曲に、対応していません。別の曲で、試してください。

Q. GAME で、ROM が、動きません。
A. マッパーが、合っていない可能性があります。オプションで、別のマッパーを選んでから、RESET を押してください。MSX1 の ROM だけに、対応しています。

Q. ファイルは、どこかに送信されますか。
A. 送信しません。追加したファイルは、端末の中(IndexedDB)にだけ、保存されます。

Q. 追加したファイルを消したいです。
A. ブラウザの、サイトデータを消してください。個別に消す機能は、ありません。

技術記事

実装の詳細は、技術記事にまとめています。

更新履歴

バージョン日付内容
v1.02026/10/17初回公開(GAME・VIDEO・SOUND、SINGLE・TILE・BIG、壁の操作パネル、Quest 3 の VR 対応)

クレジット

  • 監視室の 3D モデル: SATORI / 第703工房(おしり座敷さん / sirohakumei)
  • MSX エミュレーター: 自作(Z80 / MSX1)
  • SID 再生: reSID と fake6502 を WASM にした、SID Player の再生部分
  • 動画の再生とエミュレーターの描画: Three.js

ご自身で用意した、ROM、動画、曲の権利は、それぞれの権利者に、あります。MONITOR WALL は、個人の制作物です。

3D model

関連記事