馬丁·加威釋出 1980 年代康懋達 64 遊戲音樂原始碼檔案
我將 1980 年代康懋達 64 遊戲的音樂原始碼檔案公開,讓大家可以閱讀、分析並理解音樂播放器及我的工作方式。歡迎隨時重新組譯、修改並創作新音樂,但請註明原作者馬丁·加威。
背景
傳奇遊戲音樂作曲家 Martin Galway 近期在 GitHub 公開了他在 1980 年代為 Commodore 64(C64)遊戲創作的音樂原始碼。這些檔案涵蓋了《Wizball》、《Athena》等經典作品,Galway 不僅分享了程式碼,還詳細說明了第一代與第二代音樂播放引擎的演進過程,旨在讓後進開發者能分析並理解當時的音樂編程技術。
社群觀點
這份原始碼的釋出在 Hacker News 社群引發了強烈的懷舊共鳴與技術討論。許多資深玩家與開發者紛紛回憶起童年時期被 Galway 作品震撼的經驗,特別是《Wizball》、《Parallax》以及《Green Beret》等曲目,被公認為展現了 C64 內建音訊晶片 SID 的極致潛力。留言者普遍認為 Galway 是一位真正的「聲音巫師」,在硬體極度受限的年代,能透過組合語言編寫出層次豐富且具備高度藝術性的旋律,至今聽來依然令人驚嘆。
在技術實踐層面,社群展開了關於如何重新編譯這些古老組合語言檔案的討論。有開發者分享了近期利用大型語言模型(LLM)協助修復舊時代 DOS 組合語言檔案的經驗,並好奇是否能以同樣的方式,透過現代編譯器如 UASM 配合模擬器來重現這些 C64 音樂。然而,嘗試將這些原始碼轉譯為現代音樂編程語言(如 Tidal Cycles 或 Strudel JS)的過程並不順遂。有網友嘗試利用 AI 進行自動化轉譯,但結果顯示 AI 目前仍難以準確捕捉 C64 音樂底層的複雜邏輯,生成的旋律與原作相去甚遠,這也側面證實了當年手工編寫音樂引擎的獨特性與高難度。
此外,社群中不乏對程式碼細節的深度挖掘。針對原始碼中一些模糊的指令縮寫,如「DSP」與「DFC」,專業網友提供了精確的技術解釋。例如「DSP」可能代表位移(displacement),用於處理程式碼在記憶體中的定位與執行位址;而「DFC」則被認為是定義字元,專門用於產生 C64 特有的 PETSCII 編碼。這種跨越數十年的技術對話,展現了開發者社群對於保留數位文化遺產的熱忱,以及對早期電腦音樂工程學的敬意。
延伸閱讀
- Wizball 遊戲主題曲:網友推薦配合原始碼聆聽的經典曲目 YouTube 連結。
- Strudel JS 嘗試轉譯案例:社群成員嘗試將 C64 音樂邏輯轉譯至現代網頁音樂平台的實驗紀錄。
- UASM 組合語言編譯器:討論中提到可用於處理舊式組合語言檔案的現代開源工具。
相關文章
其他收藏 · 0