1980年代のCommodore 64ゲームにおけるMartin Galwayの音楽ソースファイル
(github.com/MartinGalway)- 1980年代のCommodore 64ゲーム音楽ソースファイルを公開し、当時の音楽プレイヤーの内部実装や作業方式を直接確認できるようにした
- ソースファイルは再アセンブル、修正、新しい音楽の生成に活用でき、使用時にはMartin Galwayのクレジット表記を求めている
- 音楽とプログラミングコードの著作権は現在Martin Galwayが保有しており、1980年代の制作当時は権利者ではなかったが、その後Infogramesから権利を取得した
- 第1世代プレイヤーはWizballで使われ、1984年から1987年半ばまで使われていた設計に基づいており、第2世代プレイヤーはAthenaのために書かれ、その後Times Of LoreやInsects In Spaceにも引き継がれた
- クラシックゲーム音楽を単に鑑賞するだけでなく、分析と再利用まで可能にし、当時の制作技法を直接理解して拡張できるようにしている
プロジェクト概要
- 1980年代のCommodore 64ゲーム音楽ソースファイルを公開し、当時の音楽プレイヤーや作業方式を直接読んで分析できるようにした
- ソースファイルは再アセンブル、修正、新しい音楽の生成に活用でき、原著作者としてMartin Galwayをクレジットしてほしいと明記している
- 現在、この音楽とプログラミングコードの著作権はMartin Galwayが保有しており、1980年代の制作当時は権利者ではなかったが、その後Infogramesから権利を取得した
プレイヤー世代の区分
- 第1世代プレイヤーは"Wizball"で使用され、1984年から1987年半ばまで使われていた設計に基づく
- 第2世代プレイヤーは"Athena"で初めて使用され、そのゲームのために書かれた
- その後、第2世代プレイヤーはTimes Of Lore、Insects In Spaceのようなゲームにも継続して使われた
なぜ重要なのか
- 当時のC64音楽プレイヤーの内部実装と実際の作業方式を、原典のソースから確認できるようにしている
- 単なる鑑賞にとどまらず、分析と再利用まで可能なため、クラシックゲーム音楽の制作技法を直接理解し、拡張できるようになる
1件のコメント
Hacker Newsのコメント
Wizball のチューンはここで聴ける
https://deepsid.chordian.net/?file=/MUSICIANS/G/Galway_Martin/Wizball.sid&subtune=4
小さな上下矢印で subtune を切り替えられる
いいね。昔 Short Circuit のチューンが大好きで、カートリッジモニタでコードを覗き込みながら、
自分の standalone player shell に入れようとして抜き出してみたことがある。実際うまくいったかもしれない
40年前は推測で埋めるしかなかった アドレスと意味 を、今こうしてソースで確認できるのがうれしい
ちなみに linked player の
Short_circuit.sidにも入っている。ありがとうすごい。35年くらい前 に父と一緒にこれをやっていた記憶が、今でもとても鮮明だ
このファイルでは https://github.com/MartinGalway/C64_music/blob/main/ocean_assembler_directives.txt
DSP はたぶん displacement のことだと思う。ORG と組み合わせて使われていて、
ORG がコードの実行メモリ位置を指定し、DSP はコードをメモリ上でもっと後ろへずらして置き、
実行時には再び ORG アドレスへ移される前提になっているように見える
DFC は DFM と同じだが、ASCII の代わりに PETSCII を生成するディレクティブに見える
本当に素晴らしい。子どもの頃 Galway の C64 音楽が大好きで、特に Wizball と Parallax をよく聴いていた
アセンブリで自分でプレイヤーを書こうとした記憶もあるが、案の定またひとつの未完プロジェクトのままだ
本当にすごかった。Galway だけでなく、あの時代の音楽全体がそうだった
コロナの時期に妙に運が悪くて、妻と子どもと離れたまま別の国で 2.5か月 足止めされていたのだが、
偶然にも自分が育った家に一人で滞在することになった。屋根裏から昔の C128 を引っ張り出して、
YouTube を見ながら掃除し、ディスクドライブも掃除して少し油も差して、古いディスクを回してみた
Commando はまだロードできて、イントロ画面の Rob Hubbard の音楽を何時間も流しっぱなしにしながら別のことをしていた
自分は SID 曲や mod-player を作ったことはないが、近所の人たちは Atari ST 向けに
Amiga mod player を作っていた。音質は違うし CPU もかなり使ったが、4チャンネル再生は実際にできていた
最近では昔の DOS .ASM ファイルを Sonnet 4.6 に投げて再コンパイルできるようにしてみたし、
UASM のようなツールも知った結果、最終的にはビルドまで成功した
だから、こういう C64 assembly ファイルも同じようにできるのではと思っている。
LLM にコンパイル方法やエミュレータでの再生方法を聞けばよさそうだが、
どこから始めればいいか短くでもガイドがあるとうれしい
昔の DOS .ASM の TL;DR は「無料の UASM でコンパイルして DOSBox で実行」くらいだった
これを Tidal Cycles や Strudel JS に移した人がいるのか気になる
つまり、記法ベースの パターン演奏 の形に翻訳してみる試みのことだ
AI によれば翻訳は難しいが不可能ではないらしい
https://claude.ai/share/65c16d60-5d27-496b-96a7-40959e95ac62
Claude がメインメロディだと主張した一部ノートの AI 翻訳版もある
https://strudel.cc/#Ci8vIFdpemJhbGwgIklucHV0IE5hbWUiIC0gbWFpbiBtZWxvZHkgKGNoYW5uZWwgMCkKLy8gT3JpZ2luYWw6IE1hcnRpbiBHYWx3YXksIDE5ODcuIE5vdGUgaW5kaWNlcyBmcm9tIEM2NCBTSUQgYXNtCi8vIHRyYW5zbGF0ZWQgYXMgTUlESSA9IGluZGV4ICsgMTIuCgpzZXRjcHMoMTQwLzYwLzQpCgokOiBub3RlKGA8CiAgW2E0IH4gfiBhNF0gW2c0IH4gfiBnNF0gW2YjNCB%2BIH4gfl0KICBbfiB%2BIH4gYjRdIFtiNCBiNCBiNCB%2BXSBbYjQgfiBiNCB%2BXQogIFtkNSBkNSBkNSBkNV0gW2Q1IGQ1IGY1IGQ1XSBbYzUgZDUgYzUgZzRdCiAgW2E0IH4gfiBhNF0gW2c0IGc0IH4gfl0gW2YjNCB%2BIGE0IH5dCiAgW2c0IH4gfiB%2BXQo%2BYCkKICAucygic3F1YXJlIikKICAuYXR0YWNrKC4wMDUpLmRlY2F5KC4wOCkuc3VzdGFpbiguNCkucmVsZWFzZSguMSkKICAubHBmKDIyMDApLmxwcSgzKQogIC5nYWluKC42KQoKLy8gQ2hhbm5lbCAxOiB0aGUgaGlnaCBCNSBjaGltZSB0aGF0IHB1bmN0dWF0ZXMgdGhyb3VnaG91dAokOiBub3RlKCJiNSB%2BIH4gfiB%2BIH4gYjUgfiIuZmFzdCgyKSkKICAucygidHJpYW5nbGUiKQogIC5hdHRhY2soLjAwMSkuZGVjYXkoLjA0KS5zdXN0YWluKDApLnJlbGVhc2UoLjA1KQogIC5nYWluKC4zKQoKLy8gQ2hhbm5lbCAyOiBiYXNzIGxpbmUgLSByb290IG1vdGlvbiBEIC0gQSAtIEcgLSBECiQ6IG5vdGUoIjxkMyBhMiBnMiBkMz4iKQogIC5zKCJzYXd0b290aCIpCiAgLmxwZig4MDApLmxwcSgyKQogIC5hdHRhY2soLjAwNSkuZGVjYXkoLjIpLnN1c3RhaW4oLjYpLnJlbGVhc2UoLjEpCiAgLmdhaW4oLjUpCg%3D%3D
そして原曲テーマは本当にすごいので、ぜひ聴く価値がある
https://youtu.be/sFYzjU-C3mA
自分でやってみるしかなかった
Claude は少し反則気味で、ファイルの正体を見抜いて Web から psid をダウンロードし、
wasm sid player を見つけて、その上に Web サイトまで作ってしまった
https://claude.ai/public/artifacts/df6cdcae-08dc-452b-ba19-ffae2d6546f6
https://claude.ai/share/4dd36c16-bc62-445a-b423-ad4637f06432
GPT-5.5 は音楽データを抽出する Python スクリプトを大量に作った。
Strudel 実装には失敗したが、その後 Web サイトを作らせた
https://ubiquitous-vacherin-8e7993.netlify.app/
こちらは assembler ソースをもとに音楽を JavaScript に翻訳した結果だ
どちらもかなり印象的だったが、繰り返し修正は多少必要だった
残念ながら、それは Wizball や Game Over のトラックとはまったく違って聞こえる
Green Beret と Rambo: First Blood Part 2 のチューンは今聴いても驚くほどで、Martin はほとんど魔法使い級だ
Martin Galway がこれを 公開してくれたのは本当に称賛に値する
こういうことがもっと普通になってほしいし、作家たちも出版社と契約するときに
著作権期間 をもっと短くするよう求められたらいいと思う
もちろん、本の著者が10年後、20年後、30年後にどれほど稼ぐのかはよく分からない。
JRR Tolkien 財団や K.K. Rowling のように今でも大きな収入がある例もあるだろうが、
それほど有名でない作家にとっては、そういう戦略はかなり悪くないかもしれない
それこそが現行 著作権法の不条理さ をよく示している
自分は slayradio をもう10年以上、途切れ途切れながらずっと聴いている
https://slayradio.org
自分も彼らと何十年も聴いたりチャットしたりしている
懐かしさが一気にこみ上げる。Galway と Hubbard が本当に好きだった
ああいう制約の中で本当に面白いことをたくさんやっていて、今聴いてもなお素晴らしい
子どもの頃 Arkanoid もものすごく遊んだ
その時代のコンピューティングを直接体験するほどの年齢ではないが、Cosmic Bakery がとても良いことは知っている
このソースファイル群は C64 の RAM 容量 を超えているので、
音楽がそもそもこの形のソースファイルとして開発されたとは思えない
Ocean については分からないが、多くの会社は開発プラットフォームとして Tatung Einstein を使っていて、
そのマシンも 64KiB 級だった。それでも、こうしたツールをビルドしていたソフトウェアなら、
マシンのメモリに一度に収まらない、もっと大きなソースファイルも扱えただろうと思う
Wizball が出た頃には Atari ST、IBM 互換機、Amiga などに移っていた可能性もあるが、
音楽そのものを ソースファイル形式 で作ること自体は普通だった
そうでもないが、C64 で動いていた一部の人気 assembler は
トークン化テキストを使って、RAM 内にかなりの量を詰め込むことができた