悦楽舎 © 2002 hoshi
2023/11/29 (2023/12/29加筆)

謎の頒布物「MusicROM入CD」のカイセツ

プリズムデモ以降はCD-EXTRAで自作ソフト入りです!…これ、ちゃんと伝わってないかも?って気がしてきたのでちゃんと解説

やっとMusicROMの解説記事が書けました。

ROMって何?chiptusionに何か付いてるとか言われたけど何?使い方わかんねー!って人もこれで安心!

珍しく丁寧に書いてます(ぉぃ

カイセツ目次

  1. 「実機でチップチューン作るってどゆこと?」の解説
  2. 「ROMって何?なんでみんな伝わってるの?」の解説
  3. 「CDに入っているMusicROMを取り出す方法」の解説
  4. 「MusicROMをエミュで起動して聞いてみる」の解説
  5. 「BPSパッチでMusicROMを更新してみよう」の解説

二つの大きな謎

(チップチューンはもう広く知られている気もするけど)詳しくない人から見たら

  1. 即売会で音楽サークルがスペースのド真ん中にゲームボーイ実機を置いている

いつものスペエス

東方は“どこから”か興味を持った人が絶えず増えているらしく、この展示に興味を持ってしまった人には毎回勢いよく説明してます


そして、ゲームボーイが好きすぎる作者が自作ソフト開発にも手を出した結果、

  1. 「なんと、実機やエミュで遊べるMusicROMも入っています!」とか急にアピールし始める

  2. ゲームカートリッジですか?」と聞いた人に「音楽CDで、おまけ付きです!」と答えてて(説明不足)

MusicROM

↑ (電池がヤバい)GBASPで動くMusicROMの図。「カートじゃないけど実機で動くソフト」ってピンと来なかったりするのだろうか?てか“自作ソフト”もそうだけど、あまりにも謎の専門用語だらけになっているかも……ということで、ここらで一度


???「今日はこの謎について解説していくぜ」

??「東方は一体何チューブの動画から興味を持たれているのかしら?」

???「短い記事だけど最後まで、」
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´


古のwebコンテンツ「謎キャラの謎会話」は無駄に行数だけが増えるのでやりません

C100記念自作ソフトの仮タイトルは「ジービー三分ハッキング」で、二人に自作ソフト開発の解説を……なんて初案ありません


解説1「実機でチップチューン作るってどゆこと?」

会場ではだいたいヘッドホンで実機試聴させてから色々説明するので「こんなんあるんや。どんな仕組み?」と流れでよく聞かれます。聞かせてんじゃねーか

ゲームボーイズ

実機を見せながら「曲制作に使えるGB用非公式ソフトがあって」「それを謎のカートリッジに書き込んで、この本体で作ってます。」「本体は改造してない当時の本物です(初代GBのバックライト化を除く)」の三点でだいたい理解してもらえてます。たぶん


そして「仕組みは分からんけど、つまりどうやって曲を?」と質問が続くことも多いです。ダメじゃねーか

謎の非公式作曲ソフトLSDjで、切り取りは「B押しながらA」、貼り付けは「Select押しながらA」みたいな変態操作で謎の数字(=音)を打ち込んでいく複雑で地味な作業を……まぁつまり「一音一音ポチポチ手入力で」作ってます(

一部選択 全体選択

左:「Select押しながらB」で範囲選択モード、(Selectを離して)「十字キー」で選択範囲を決めてから「B」でコピー

右:「Selectを押したままB→B」で一列選択、選択状態のまま「Aを押しながら十字キー」で素早く一括操作が可能


……この辺の操作を聞いてドン引きせずLSDjで曲作りたい!ってなったマゾ有望な人は動画サイトとかで「Little Sound Dj」を検索すれば20年分色々な人が色々してくれているので色々して下さい。

(知名度は低いですがもう少し操作がマシで自作ソフトで流す方法がないこともないCarillon Playerという作曲ソフトもあります)


ちなみに、LSDjの初期状態から何でも良いから音を鳴らしたい時は「Select+右」「Select+右」「A」「START(※LSDjv3)」です。分かるかこんなもん!(画面移動の「Select+右」が分からず、音を一つ置くだけに一日潰した人)


解説2「ROMって何?なんでみんな伝わってるの?」

つーわけで、実機でLSDjのROMを動かして曲を作ってるわけですが「実機やエミュで動作するROM」という説明でそれが何か伝わる人がどのくらいいるのかけっこう謎です。

(謎のカートリッジが出てくると察してくれる人も多いですが、正しく察してくれているのかな……)


なので改めて、(諸々省いて)一言に縮めると「ROMは、ゲームのソフトやスマホのアプリ」と同じものです。……感覚的には(ROMと聞いてスマホのストレージを思い浮かべた人は一旦忘れて下さい)

MusicROMリスト

↑ このgbファイルが自作したROM。つまり悦楽舎MusicROMの“ROM”で、各CDに入ってます(sym/mapは含まれていません)。

余談: ROMと呼ばれる理由 / こういうのってグレーじゃないの?

ROMと呼ばれる理由

ROMについて長めに書くと「(元々は)市販のゲームカートリッジ内にあるROM(電子部品)に書き込まれたデータのダンプ(吸い出したもの)」で、これが何かというと「ゲームのデータを丸々取り出したバックアップ」、バックアップはつまり「ゲームそのもの」のコピーで、そのバックアップファイルのことをROMと呼んでます。

要するにUSB(USBフラッシュメモリのこと)、ギガ(通信速度の制限なしで利用できる通信量の上限までの残量)、ピコピコ(物を指す場合、ゲームハードのいずれか)みたいなその単語だけでちっとも意味が伝わらなくなっているアレです。

ゲームボーイの基板

↑ カートリッジの基板。右の黒い部品がROM(ゲームのデータ入れ)で、左のがSRAM(セーブ入れ)。wikipediaから引用。ちなみにスマホのストレージの部品名はeMMCかUFS、でもROM。

こういうの(ゲームのコピー)ってグレーじゃないの?

ゲームボーイの市販ソフトを自分でバックアップすることや、それをエミュレータで動作させることは違法ではない、と言われています。

著作権法は勝手に複製されないよう著作者の権利を守る法律ですが、私的使用のための複製(=バックアップ)は許諾なく行えると定められているから、だそうです(法律家ではないので詳しいことは分かりません)


グレーな印象が付きまとう理由は、エミュが“一部ユーザーの犯罪”と関連付けされやすく、違法行為を推奨する内容(※)の雑誌もあったためです(※ 法改正で“現在”は違法になる行為、それ以前からほぼ黒だったが明確ではなかった)

なので、法に触れることはせず、ダンブしたゲームROMは必ず私的使用の範囲で遊ぶよう気をつけましょう。そこに注意すれば、ROMを実機で動かすFlashカートも、自作ソフトで遊ぶこと/作ることも合法です。


念押しですが、これらは「ゲームボーイの場合は、とりあえず」です。

今紹介した私的使用は白でも、どこまでの範囲が私的使用かは分かりません。また前例の少ない分野なので白か黒か分からない部分もあります。つまり、自己責任でお願いします。


で、個人がROMをゲーム機用カートリッジに仕立て上げるのは(憧れるけど、全く異なる分野の知識が必要になるなど)大変なので、“自作ソフト”はROMの状態で頒布されることが多いです。GBエミュや実機で遊ぶハードルは比較的低いので、後はご自由に、でも自己責任で……という感じです。

(もしどのGBエミュを選ぶべきか悩んでいたら、開発に使っているbgbや音の再現性に優れるSameBoyがおすすめ)

余談: 謎のカートリッジとLSDjの相性の話も聞きたい

再登場!ゲームボーイズ!!

ゲームボーイズ

左: Drag'n'Derp

Drag'n'Derpは24Mbit(3MB)のFlashカート。当時の主流は「miniUSB端子、専用ソフトで書込」だったため、microUSBで接続してDrag and Dropするだけで書換可は画期的だった。ついでにセーブはFRAMで電池切れとも無縁。何故3MB……?という謎は残るが非の打ち所がないスペック

(余談: 最近「空白の1MBを含む4MBのROM」を作って1MB削ったのを入れてみたらちゃんと動いた)

中央: EDGB X7 (本物)

EVERDRIVE-GB X7はmicroSDスロット搭載のFlashカート。旧EDGBはLSDjと相性が悪く避けられてきたがX3/X5/X7でも別に改善してない。X7はLSDjのセーブが吹き飛ぶ機能(本来はステートセーブ)を誤操作で呼び出しがちで、これで作業すると悲しい目に遭う確率は高い。


相性が悪いのは「実機本体でセーブ→microSD上のsavファイルは次回電源投入時に上書き」という仕様。LSDjのsavファイルを取り出してPCで作業したい時に「最新の一つ前」を使ってしまいがち。そしてPC上で仕方なく「一つ前」から再開して無事曲が完成したとして……そのsavをmicroSDに書き戻し、電源を入れると今度は「EDGBの最新」で上書きされてしまう。罠としての完成度が高く、知ってても普通に事故る


上の二つと比べたら些細だが、LSDjは64k/128kのセーブに両対応という特殊仕様で、EDGBはLSDjが起動時に64kと判定する。まっさらなセーブで始める場合は問題ない(公式もLSDj対応と言っていた気がする)が、64kで初期化するのは極一部。つまり、別の環境使っていた128kセーブをEDGBに入れて起動するとLSDjはセーブを確認して128kと判定するが、EDGBは64kのように振る舞うため、セーブの後半(に保存された曲)をロードするとバグる(LSDj v4.0.5で確認、最初にバグったら本当に対応なのか疑いたくなるよね……)


以上、これは2017年の基板(Model 17 Rev.B)の仕様です。何度か基板の更新が入ったらしいけど何も知らない、X7が旧EDGBから改善してないのも使ってから確定したし


ダメな点ばかりあげたけど、64kセーブに曲を再配置すればLSDjセレクターとしてちゃんと使えます。以前は即売会での試聴用に使ってました。今はセーブが絡まない自作ソフトの動作確認で活躍中。

もっと古いカートリッジとただの思い出話

とりあえず机の上にあった分

カートリッジーズ

左上: GB Smart 32M (EMS)

ガワがツルツル滑るため(下の64Mカートと同じ形状)雑に交換してしまったが元はクリアブルーの32Mカート。最初に買ったやつで後の64Mより品質がいい。ニコニコに上げたアニソンカバーが入ってる思い出カート

右上: NP 8M (GBメモリ)

お馴染み。昔LSDj用カートを探していた人は、中古500円でセーブ容量が少ないコレを複数か、普通にセーブ容量が大きいのを一つ輸入かで悩んだり悩まなかったりした。TOHO CLOCKのアレンジが入ってる思い出カート

下: GB USB 64M Smart Card (EMS)

驚くほど長い期間販売している定番カート、上の二つは(パラレルポート接続の)ホンコンや(USB接続の)GB Xchanger経由で読み書きしていたため直miniUSBで便利になった!!まぁまぁの頻度でフリーズする。LSDjはDAWのように作業中のデータが消し飛ぶことはないけど……不安になる。


自称64Mカートで実際は32Mx2、8MBのROMは焼けない、素早く電源オフ→オンで2つ目のROMが起動、でもセーブは1つなど今振り返るとかなり謎な仕様。ちなみにWinXP時代の物なのでWin7以降は署名なしドライバが使えるようにしないとOSが認識できない。導入は少し面倒くさいけど一度作れば後は楽


この2枚に全曲入れて試聴を乗り切っていてそろそろ3枚目買うかって時にDrag'n'Derpを見つけて飛びついたんだっけ?(覚えてない)。その後、EDGBX7の挙動を把握してLSDjセレクターが完成した時にようやく引退。地味に7,8年使ってたのか……(遠い目)

解説3「CDに入っているMusicROMを取り出す方法」

ROMについて説明したところで、いよいよ本題、MusicROMは悦楽舎が開発した音楽が楽しめるROMです!

そのまんまじゃねーか!……と思ってもらえたら解説記事を書いて良かった(

それで、C100以降の新譜にはおまけとしてこれを入れてきましたが……楽しんでもらえましたか?


……ここで「CDだけでダウンロードコードとか無かったぞ?」とか「使い方が分からず放置なんだよな」みたいな思い出し方だったらすいません!

ジャケットやレーベルにおまけと書かれたCDは、CD内に音楽とデータ、二つの領域が存在するCD-EXTRAというニッチな規格で、データ領域にROMがあります。

エクスプローラーでCD-EXTRAの判別は可能

左: Win10に“音楽CD”を入れた時 / 右: “CD-EXTRA”はアイコンに+が付いて判別可能


「CD-EXTRA」は普通のCDと同じように音楽プレイヤーで聞くことももちろん可能(ハードやソフトが極端に古い場合を除く)で、Windowsのようなファイルを閲覧することが出来る環境で再生ではなく、フォルダのように開くとデータ領域を見ることが出来ます!

CD-EXTRAの開いてMusicROMを取り出す

↑「コンピュータ」でディスクドライブを「右クリック」→「開く」操作をすると ↓


CD-EXTRAの中身

↑ CD-EXTRAのデータ領域を見ることができて、ROMとreadme(説明テキスト)が入ってます。


これで見つかりましたか?見つかりましたよね??

……東方オンリーではCDプレイヤーを持ってない人も聞きに来てくれるのに、この特殊なCDについての説明が足りてなかったかも……と少し反省してます。それはそうとCDプレイヤーは秋葉原か日本橋で調達して


以上、謎のサークルにありがちな質問と謎の頒布物のカイセツでした。早速ROMをエミュに投げ込もう!!


解説4「取り出したMusicROMをエミュで聞いてみる」(追加解説)

……と、最初はここで解説を終えてましたが「各自エミュ入れて聞くだろ!」は乱暴すぎた気がします(

インターネット老人は知らん固有名詞が出てきたら検索するので放置でOK……いや、困ってる人向けの記事だっただろ?ボケたのか? ここまでは検索でなかなか出にくい内容を中心に解説しました。


さて、今取り出したMusicROMでまだチップチューンを聞けてませんね!?

……というわけで、GBエミュを導入して曲を聞く手順を解説します!……と言ってもSameBoyをダウンロードして、解凍して、起動して、ROMを読ませるだけです。

SameBoyはWindows/Mac対応です(iOS用はアプリストア外からのインストールが分かる人向けのファイルです)


Sameboy

↑ ダウンロードして、解凍して、起動した画面。英語の指示通り、画面にROMを(ドラッグアンド)ドロップしましょう!


SameBoyでタワーデモ SameBoyのオプション変更

↑ タワーデモ起動! もし色に違和感があったらColor Currection(色を実機風に補正)をDisable(無効)にするといいかも

解説でSameBoyを選んだ理由が知りたい

開発はbgbでですが、ここ最近のテストでSameBoy(v0.15.8)の音の再現性が高かったので。


というのは、GBでキャラに喋らせたりLSDjのkitは普通はしない(当時からあった)裏技っぽい方法で実現してます。

それがGBA実機と相性が悪く、ノイズが乗ってしまうので……回避方法を探して悪戦苦闘している……のは今は置いといて

SameBoyはその仕様も再現してくれます。調査するのに助かる(bgbはGBA/GBプレイヤーオプションをONにしても音に変化なし)


……これだけだとbgbの方が音が綺麗なの?ってなるけど、一応そうっちゃそうだけど、GBエミュでGBAモードをわざわざ有効にするのは開発者くらいしかいないし、GBC/DMGモードではほぼ差がないため“参考程度”です(

ROMをドロップするとブートロゴの後、曲が流れ始めましたね?そんな感じでMusicROMを楽しんで下さい!

MusicROMの操作方法を確認する

基本操作

  • START: 曲を再生/一時停止
  • A: メニューを開く
  • B: 曲の停止


メニュー操作

  • LEFT/RIGHT: メニュー項目を選ぶ
  • UP/DOWN: セットする値を選ぶ
  • A: 変更を適用(& メニューを閉じる)
  • B: 変更を破棄(& メニューを閉じる)
  • SELECT: 項目の説明やトラック名を確認(ON/OFF)


メニュー項目

  • Track: 曲番号
  • Loop: ループ再生(ON/OFF)
  • Fade: 曲切り替え時の色変化
  • Color: カラーパレット設定 (現在 1色のみ/DMGは変更不可)


 (載せてない操作が若干あります。デバッグ用です、困ったらB)

この説明でちゃんと分かってもらえたか自信はないので、まだ分からん!!って人はtwitterとかで聞いて下さい何とかします(

次は実機か……!?って興味が出てきた人はまず謎のカートリッジの入手から。

解説5「更新BPSパッチでMusicROMを更新する」(追加解説)

ところでchiptusion v1.0.0に“やらかした”バグが複数あります(爆)。持ってる人はv1.0.1更新しよう(

即売会前日まで音とドット絵とアセンブリ開発を同時に進めるのやっぱ無理があるって

というわけで、chiptusionをv1.0.1に更新する手順の解説です。


まずはchiptusion v1.0.0用のv1.0.1更新データ(BPSファイル)をダウンロード。

次に更新データをROMに適用する「Floating IPS」もダウンロード。

Floating IPS

↑ Floating IPSを起動した画面


Apply Patch(更新パッチ適用)を押して、1つ目のファイル選択はBPSファイル、2つ目のファイル選択では更新したいv1.0.0のROM、3つ目はv1.0.1に更新したROMの保存名を入れます。で完了。

保存名はそのままだとBPSファイル名なので「chiptusion_100_101」は「chiptusion_v101」に変えると後で分かりやすいかも。


更新したら、あからさまなUIのバグや表示上では分からないスプライトバグが直ったか見てみましょう(

隠されたデータへのアクセスはまだありません


ちなみに、更新の告知後はCD-EXTRA内のROMは最新版を頒布します(在庫はイベントを跨ぐので絶対ではないけど)


それで……もし今後更に三回更新が続いてv1.0.5まで進んだら?サーバーに更新元と更新先の組み合わせでBPSファイルを四つ用意!?それとも、全員にv1.0.0から手動で四回も更新させるのか!?

とかは、悲劇を生むだけなので、次の更新時に雑に更新ツールを作ります。たぶん


最初からバグが一つもないソフトが作れたらいいのにな(人類には不可能)

[予定] GBの可能性を探るカイハツ目次 [未定]

  1. LSDjで作った曲が自作ソフトで流せるようになった仕組み
  2. 自作サウンドエンジンと音楽のデータ構造(v1.1.0)
  3. 和音の響きが改善する音階や蓬莱人形っぽい音階が使えるLSDj改造/ノイズ削減(?)
  4. LSDjのVコマンドを逆アセではなくログから再構築した話
  5. 効果音再生の仕組みをサクッと入れる
  6. 改造でBPMいくつまで上がる?(LSDjは高負荷だと再生を止めるのでギリギリを攻める、今はBPM1020辺り)
  7. MusicROM用更新パッチ配布chiptusion v1.0.1公開中。更新はWorksにも置いてあります


……とかを作ったり書いたりして一旦サウンドは一段落かな?なんて考えてましたが、chiptusionの開発中にまたサウンドエンジンの最終仕様がふわふわになったのでそのうちアレします。一生完成しない説ある

一部はプリズムデモの記事で勢いに任せてざっくり書いてます。記事に必要なのは勢い


[即売会] 23/12/03 レトロクリエイターズ2023

そんなロマン溢れる自作ソフト「MusicROM」の魅力をどう伝えるべきか悩んでいる時(実際は紅楼夢前で死にかけている時)に、自作ソフトにフォーカスした即売会を見つけました!


レトロクリエイターズ2023

携帯ゲーム機の持参推奨で、持参したゲーム機で試遊可と“いい感じ”に突き抜けてます。どんな即売会になるのか正直言って謎、というわけで試遊スペース展示&サークル参加でいます。よろしく!


あとレトクリ2023のゲームジャム(作品一覧)がitch.ioに作られていたので登録してみました。


ココちゃんGBの未修正の部分思い出したけど時間なくてそのままです

レトクリ用デモ展示用ROMの締切当日に初代GB暫定対応、会場専用メッセージの追加、バグ修正してv1.0.2RCとかしてました。よく間に合ったな。……配布はありません、アセンブリで全部書き直したココちゃんGB v2.0.0が数年以内に出ます(


レトクリ2023 参加レポート(予定)

ついでに書き始めたらめちゃくちゃ長くなったのでもうちょい整えてからにします(


とりあえず、

楽しかった(小並感)

色んな開発早く進めて俺もゲームが……(血涙)