1980'ler Commodore 64 oyunlarındaki Martin Galway müzik kaynak dosyaları
(github.com/MartinGalway)- 1980'lerdeki Commodore 64 oyun müziği kaynak dosyaları paylaşıldı; böylece dönemin müzik oynatıcısının iç uygulamasını ve çalışma biçimini doğrudan incelemek mümkün hale geliyor
- Kaynak dosyalar yeniden derleme, değiştirme, yeni müzik üretme için kullanılabiliyor ve kullanılırken Martin Galway adına atıf yapılması isteniyor
- Müzik ve programlama kodunun telif hakkı sahipliği şu anda Martin Galway'de; 1980'lerde üretildikleri sırada sahibi değildi ve daha sonra hakları Infogrames'ten aldı
- 1. nesil oynatıcı Wizball'da kullanıldı ve 1984'ten 1987 ortasına kadar kullanılan tasarıma dayanıyor; 2. nesil oynatıcı ise Athena için yazıldı ve daha sonra Times Of Lore ile Insects In Space'te de kullanıldı
- Klasik oyun müziğini yalnızca dinlemenin ötesine geçip analiz ve yeniden kullanım imkanı sunarak, dönemin üretim tekniklerini doğrudan anlamayı ve genişletmeyi mümkün kılıyor
Proje özeti
- 1980'lerdeki Commodore 64 oyun müziği kaynak dosyaları paylaşıldı; böylece dönemin müzik oynatıcısını ve çalışma biçimini doğrudan okuyup analiz etmek mümkün oluyor
- Kaynak dosyalar yeniden derleme, değiştirme, yeni müzik üretme için kullanılabiliyor ve özgün hak sahibi olarak Martin Galway'e atıf yapılması gerektiği belirtiliyor
- Bu müziklerin ve programlama kodunun telif hakkı sahipliği şu anda Martin Galway'de; 1980'lerde üretildikleri sırada sahibi değildi ve hakları daha sonra Infogrames'ten aldı
Oynatıcı nesilleri
- 1. nesil oynatıcı "Wizball"da kullanıldı ve 1984'ten 1987 ortasına kadar kullanılan tasarıma dayanıyor
- 2. nesil oynatıcı ilk kez "Athena"da kullanıldı ve bu oyun için yazıldı
- Daha sonra 2. nesil oynatıcı Times Of Lore, Insects In Space gibi oyunlarda da kullanılmaya devam etti
Neden önemli
- Dönemin C64 müzik oynatıcısının iç uygulamasını ve gerçek çalışma biçimini özgün kaynak üzerinden görmeyi sağlıyor
- Yalnızca dinlemeyle sınırlı kalmayıp analiz ve yeniden kullanım imkanı da sunduğu için, klasik oyun müziği üretim tekniklerini doğrudan anlamayı ve geliştirmeyi mümkün kılıyor
1 yorum
Hacker News yorumları
Wizball parçası buradan dinlenebilir
https://deepsid.chordian.net/?file=/MUSICIANS/G/Galway_Martin/Wizball.sid&subtune=4
Küçük yukarı/aşağı oklarla subtune değiştirilebiliyor
Güzel. Eskiden Short Circuit parçasını çok severdim; kartuş monitörüyle kodu inceleyip
kendi standalone player shell'ime koymak için çıkarmaya bile çalışmıştım. Hatta başarmış da olabilirim
40 yıl önce tahmin etmek zorunda kaldığımız adresleri ve anlamları şimdi kaynakta doğrulayabilmek hoş
Bu arada linked player içindeki
Short_circuit.siddosyasında da var. TeşekkürlerHarika. Yaklaşık 35 yıl önce bunu babamla birlikte yaptığımızı hâlâ çok net hatırlıyorum
Şu dosyada https://github.com/MartinGalway/C64_music/blob/main/ocean_assembler_directives.txt
DSP muhtemelen displacement anlamına geliyor. ORG ile birlikte kullanılıyor;
ORG kodun çalışacağı bellek konumunu belirlerken DSP kodu bellekte daha ileri bir yere itiyor
ve gerçek çalıştırma sırasında yeniden ORG adresine taşınacağını varsayıyor gibi görünüyor
DFC ise DFM ile aynı ama ASCII yerine PETSCII üreten bir yönerge gibi görünüyor
Gerçekten harika. Çocukken Galway'in C64 müziklerini çok severdim; özellikle Wizball ve Parallax'ı sık dinlerdim
Assembly ile kendi player'ımı yazmaya çalıştığımı da hatırlıyorum, ama o da yine yarım kalan projelerden biri olmuştu
Gerçekten müthişti. Sadece Galway değil, o dönemin müziklerinin geneli öyleydi
COVID sırasında tuhaf bir aksilik yüzünden eşimden ve çocuğumdan ayrı, başka bir ülkede 2,5 ay mahsur kaldım;
tesadüfen büyüdüğüm evde tek başıma kalıyordum. Tavan arasından eski C128'imi çıkarıp
YouTube videolarıyla temizledim, disk sürücüsünü de temizleyip hafifçe yağladım ve eski diskleri çevirmeyi denedim
Commando hâlâ yükleniyordu; giriş ekranındaki Rob Hubbard müziğini saatlerce açık bırakıp başka işler yapıyordum
Ben SID parçaları ya da mod-player yapmadım ama komşularım Atari ST için
bir Amiga mod player yapmıştı. Ses aynı değildi ve CPU'yu epey kullanıyordu ama 4 kanallı çalma gerçekten çalışıyordu
Yakın zamanda eski DOS .ASM dosyalarını Sonnet 4.6'ya verip yeniden derlenebilir hâle getirmeyi denedim ve
UASM gibi araçları öğrendikten sonra sonunda build almayı başardım
Bu yüzden aynı şeyi bu C64 assembly dosyalarıyla da yapmak mümkün olabilir diye düşündüm.
Bir LLM'ye nasıl derleneceğini ve emülatörde nasıl çalınacağını sorsam yeterli olur gibi geliyor,
ama nereden başlamak gerektiğine dair kısa bir rehber olsa iyi olurdu
Eski DOS .ASM tarafındaki TL;DR şuydu: "ücretsiz UASM ile derle, DOSBox'ta çalıştır"
Bunu Tidal Cycles ya da Strudel JS'e aktaran biri olmuş mudur diye merak ediyorum
Yani notasyon tabanlı bir pattern performansı biçimine çevirme denemesi
AI'ye göre çeviri zor ama mümkün
https://claude.ai/share/65c16d60-5d27-496b-96a7-40959e95ac62
Claude'un ana melodi olduğunu iddia ettiği bazı notaların AI çevirisi de var
https://strudel.cc/#Ci8vIFdpemJhbGwgIklucHV0IE5hbWUiIC0gbWFpbiBtZWxvZHkgKGNoYW5uZWwgMCkKLy8gT3JpZ2luYWw6IE1hcnRpbiBHYWx3YXksIDE5ODcuIE5vdGUgaW5kaWNlcyBmcm9tIEM2NCBTSUQgYXNtCi8vIHRyYW5zbGF0ZWQgYXMgTUlESSA9IGluZGV4ICsgMTIuCgpzZXRjcHMoMTQwLzYwLzQpCgokOiBub3RlKGA8CiAgW2E0IH4gfiBhNF0gW2c0IH4gfiBnNF0gW2YjNCB%2BIH4gfl0KICBbfiB%2BIH4gYjRdIFtiNCBiNCBiNCB%2BXSBbYjQgfiBiNCB%2BXQogIFtkNSBkNSBkNSBkNV0gW2Q1IGQ1IGY1IGQ1XSBbYzUgZDUgYzUgZzRdCiAgW2E0IH4gfiBhNF0gW2c0IGc0IH4gfl0gW2YjNCB%2BIGE0IH5dCiAgW2c0IH4gfiB%2BXQo%2BYCkKICAucygic3F1YXJlIikKICAuYXR0YWNrKC4wMDUpLmRlY2F5KC4wOCkuc3VzdGFpbiguNCkucmVsZWFzZSguMSkKICAubHBmKDIyMDApLmxwcSgzKQogIC5nYWluKC42KQoKLy8gQ2hhbm5lbCAxOiB0aGUgaGlnaCBCNSBjaGltZSB0aGF0IHB1bmN0dWF0ZXMgdGhyb3VnaG91dAokOiBub3RlKCJiNSB%2BIH4gfiB%2BIH4gYjUgfiIuZmFzdCgyKSkKICAucygidHJpYW5nbGUiKQogIC5hdHRhY2soLjAwMSkuZGVjYXkoLjA0KS5zdXN0YWluKDApLnJlbGVhc2UoLjA1KQogIC5nYWluKC4zKQoKLy8gQ2hhbm5lbCAyOiBiYXNzIGxpbmUgLSByb290IG1vdGlvbiBEIC0gQSAtIEcgLSBECiQ6IG5vdGUoIjxkMyBhMiBnMiBkMz4iKQogIC5zKCJzYXd0b290aCIpCiAgLmxwZig4MDApLmxwcSgyKQogIC5hdHRhY2soLjAwNSkuZGVjYXkoLjIpLnN1c3RhaW4oLjYpLnJlbGVhc2UoLjEpCiAgLmdhaW4oLjUpCg%3D%3D
Ve asıl tema gerçekten muhteşem, kesinlikle dinlemeye değer
https://youtu.be/sFYzjU-C3mA
Sonunda kendim denemek zorunda kaldım
Claude biraz hile yaptı; dosyanın ne olduğunu anlayıp web'den psid indirdi,
sonra bir wasm sid player bulup onun üstüne bir web sitesi kurdu
https://claude.ai/public/artifacts/df6cdcae-08dc-452b-ba19-ffae2d6546f6
https://claude.ai/share/4dd36c16-bc62-445a-b423-ad4637f06432
GPT-5.5 ise müzik verisini çıkarmak için bir sürü Python betiği yazdı.
Strudel uygulaması başarısız oldu ama sonrasında ona bir web sitesi yaptırdım
https://ubiquitous-vacherin-8e7993.netlify.app/
Bu tarafta müzik, assembler kaynağı temel alınarak JavaScript'e çevrilmiş durumda
İkisi de oldukça etkileyiciydi ama biraz yinelemeli düzeltme gerekti
Ne yazık ki bu, Wizball ya da Game Over parçalarına hiç benzemiyor
Green Beret ve Rambo: First Blood Part 2 parçaları bugün bile şaşırtıcı derecede iyi; Martin neredeyse bir büyücü gibi
Martin Galway'in bunu paylaşmış olması gerçekten takdire değer
Keşke bu daha yaygın olsa ve yazarlar da yayıncılarla sözleşme yaparken
telif süresinin daha kısa olmasını talep edebilse
Tabii kitap yazarlarının 10, 20, 30 yıl sonra ne kadar kazandığını pek bilmiyorum.
JRR Tolkien miras vakfı ya da K.K. Rowling gibi hâlâ büyük gelir getiren örnekler vardır,
ama daha az tanınan yazarlar için bu tür bir strateji epey iyi olabilir
Bu da mevcut telif yasasının saçmalığını oldukça iyi gösteriyor
Ben slayradio'yu 10 yılı aşkın süredir aralıklı olarak dinliyorum
https://slayradio.org
ben de onlarla onlarca yıldır dinliyor ve sohbet ediyorum
İnanılmaz nostaljik. Galway ve Hubbard'ı çok severdim
O kısıtlar içinde gerçekten çok ilginç şeyler yaptılar ve bugün dinleyince hâlâ güzel geliyor
çocukken Arkanoid'i de inanılmaz fazla oynadım
O dönemin bilişimini bizzat yaşamış olacak yaşta değilim ama Cosmic Bakery'nin inanılmaz iyi olduğunu biliyorum
Bu kaynak dosyaları C64 RAM kapasitesini aştığına göre,
müzik başlangıçta böyle kaynak dosyaları biçiminde geliştirilmiş olmasa gerek
Ocean'ı bilmiyorum ama birçok şirket geliştirme platformu olarak Tatung Einstein kullanıyordu
ve o makine de 64KiB civarındaydı. Yine de bu araçları üreten yazılımlar,
makine belleğine tek seferde sığmayan daha büyük kaynak dosyalarını işleyebiliyor olmalıydı
Wizball çıktığı sıralarda Atari ST, IBM uyumlular ya da Amiga tarafına geçmiş olabilirlerdi,
ama müziği kaynak dosyası biçiminde üretmek yaygın bir şeydi
Öyle değildi ama C64 üzerinde çalışan bazı popüler assembler'lar,
token'laştırılmış metin kullandıkları için RAM'e oldukça fazla içerik sığdırabiliyordu