← ジョン・ドウ レポートEnglish
MCPLAYER · README

MICRO CABIN MUSIC PLAYER Ver 0.20

マイクロキャビンのゲームの曲を、MSX の ROM カートリッジ(メガロム)にまとめて聴くためのツールです。曲は、それぞれのゲーム自身のサウンドドライバと音色で鳴らします。

この配布物には、曲・ドライバ・ゲームの画面などのマイクロキャビンのデータは入っていません。ご自分で持っているゲームのディスクイメージから曲とドライバを取り出して、ROM を作ります。

対応しているゲーム

フォルダゲームディスク
XAKXak3 枚
XAKIIXak II6 枚
FRAY_M2FRAY(MSX2 版)4 枚
FRAY_TRFRAY(MSX turboR 版)5 枚
GAZZELガゼルの塔4 枚
ILLUSION幻影都市8 枚
FFANTASYファイナルファンタジー1 枚
RISK2キャンペーン版大戦略II2 枚
PMAKERプリンセスメーカー7 枚
CABINThe Tower of Cabin3 枚

持っていないゲームは飛ばして構いません(持っているゲームの曲だけで ROM を作ります)。

必要なもの

ROM の作り方

この README のあるフォルダで、次のように実行します。

  1. ディスクイメージを入れるフォルダを作る
    python tools/extract_disks.py

    disk_image の下にゲームごとのフォルダができます。

  2. それぞれのフォルダに、そのゲームのディスクイメージ(.dsk)を入れる
    • ディスクの番号はファイル名の順です(「Disk 1 of 3」のような名前ならそのままで構いません)。
  3. 曲を取り出す(もう一度同じコマンド)
    python tools/extract_disks.py
    • data/ゲームのフォルダ/ に曲(.MCM)ができます。FM 音源を使う曲と、データベースに登録した PSG の曲だけを取り出します。
    • player/playlist.txt(プレイリスト)と extract_log.txt(取り出した曲の一覧)ができます。
  4. ROM を作る
    cd player
    python build_rom.py

    player/MCPLAYER.ROM(1MB、ASCII16 マッパー)ができます。

オプション(build_rom.py)

オプション内容
--autoplay自動再生(下を参照)
--loops 3ループ回数の既定値(既定 2)
--lang en / ja表示を英語 / 日本語に固定(既定は本体の文字セットで決める)
--size autoROM の大きさを必要最小限にする(既定 1024KB)
-o 名前.rom出力するファイル名
リスト.txt別のプレイリストを使う

--autoplay で作った ROM は、起動時の曲が終わったら(起動時の曲がなければ起動してすぐ)リストの先頭の曲から順に鳴らし続けます。キーボードのない環境(1chipMSX など)向けです。途中でキーを押せば、ふだんどおり操作できます。

動かし方

キー操作

キー動作
↑ ↓曲を選ぶ(SHIFT で 10 曲ずつ)
← →ゲームを選ぶ
SPACE選んだ曲を鳴らす / 鳴っている曲を止める
E再生の範囲(ALL / GAME / ONE)
Rリピート(REPEAT / ONCE)
VCG とリストを切り替える(MSX2 以降、CG があるとき)
Hヘルプ(起動時の CG の表示中に押すと、曲を止めずに曲選択の画面にしてヘルプを出す)

テンキーの 8・2・4・6 でも ↑↓←→ と同じ操作ができます。

プレイリストを直す

player/playlist.txt は 1 行に 1 曲のファイルを書いたリストです。行の順に曲が並びます。

@game Xak
../data/XAK/XAK101.MCM	# オープニング1
../data/XAK/XAK102.MCM	# ...

CG に使える画像

ゲームの画面でなくても、好きな画像を表示できます。ただし次の制限があります。

曲名を直す

extract_log.txt で曲の id(S0001 など)を調べ、tools/mcm_db.csv(UTF-8。Excel でも開けます)のその行の曲名(title / title_en)を直して、ROM を作り直してください。同じ曲がほかのゲームにもあるときは、ゲームごとに行があります。

フォルダの中身

場所内容
tools/extract_disks.pyディスクイメージから曲を取り出し、プレイリストを作る
tools/mcm_db.csv曲のデータベース(曲名・英語の曲名・並び・ループ回数・除外など)
tools/mcm_db.py ほかデータベースと MCM を扱うモジュール
player/build_rom.pyROM を作る
player/player.asm / player.bin / player.symプレーヤーのプログラム(ソースと組み立て済みのもの)
player/drivers.json使えるドライバの版の情報(番地と照合用の値だけ)
player/default_cg.png標準の起動時の CG(make_default_cg.py で描いたもの)
player/TECHNICAL.md / TECHNICAL_en.md技術的な説明(ドライバの扱い、ROM の構成など)
font/フォント(k8x12、k6x8)

クレジット

All music (C) MICRO CABIN Corp. Thank you for the wonderful music!