« MDXwin再開 | トップページ | プログラマの正月 »

2015年12月31日 (木)

年末の娯楽

ArduinoでYM-2151の曲を演奏できるようになったので、あまり出回っていない曲を演奏させてみよう。
昔、パソコンのゲームで遊んだ後は、プログラムを解析して遊んでいた。
当時はポリゴン表示に憧れていたため、TecnoSoftやArsysSoftのゲームを好んで解析していた。
プログラムを解析するついでに、会話やマップ、音楽データなどもチラ見したのだが、可読性のよいバイナリデータで記録されていた。
たとえば壁壁壁壁壁壁床壁敵のような感じでデータが記録されているのだ。
マッピングにウンザリした私は、マップデータを書き換え、壁をなくして最後のボスと戦ったりもした。(※1)
同じプログラマさんの作品なら、きっと音楽データだってMML(※2)で記述されているに違いない。
そう考えて、X1用のReviverというゲームの解析を始めた。

ディスクイメージをバイナリエディタ(FavBinEditを使った)で開くと、0x013670番地あたりから、以下の文字列が見つかった。

@11V14T2O4C12CCCCCCCCCC...

きっと、@(音色)=11、V(音量=)14、T(音長=)2、O(オクターブ=)4、C(ド)12分音符、C2分音符...
というような意味だろう。
音楽の成績が1だった私には、耳コピは不可能だが、MMLだったら、ちょっといじるだけで演奏することができる。

※1. ボスを倒した後、出口まで一直線のはずが、壁がなくて帰り道がわからず、基地から脱出できずに爆死した。
※2. MMLというのはMusicMacroLanguageの略。ドレミファソラシドは、cdefgab<cと記述される。

« MDXwin再開 | トップページ | プログラマの正月 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/24707/63300121

この記事へのトラックバック一覧です: 年末の娯楽:

« MDXwin再開 | トップページ | プログラマの正月 »

最近のトラックバック