1993'ün CD-ROM devi Myst, 128 baytlık Atari 2600'de nasıl çalıştı?

Vince Weaver, 1993'ün CD-ROM klasiği Myst'i 16 kilobaytlık bir Atari 2600 kartuşuna sığdırdı; sonra da onu 1983 yapımı gerçek kartuş donanımında çalıştırmak için yıllarca uğraştı.

1993'ün CD-ROM devi Myst, 128 baytlık Atari 2600'de nasıl çalıştı?
Oyun 23 Eylül 2026 7 dk okuma 4 okunma

Bir masanın üzerinde 1983 yapımı bir Atari kartuşu duruyor: BurgerTime oyunundan sökülmüş bir yonga, yerine takılmış daha büyük bir bellek çipi ve yuvasına oturtulurken sekiz bacağı bilerek havada bırakılmış bir devre. Vince Weaver o sekiz bacağı — işlemcinin veri yolunu — kartuş yongasından kopardığı anda ekranda Myst adası belirdi. 1993'ün CD-ROM devi, 1977'de piyasaya çıkmış bir oyun konsolunda, üstelik dönemin kendi kartuş donanımıyla çalışıyordu.

Weaver'ın proje günlüğüne göre bu, 2022 yazında başlayıp 2026 yazında biten bir inadın sonu. Hikâye yalnızca nostalji değil: geliştiricinin kendi ifadesiyle deneme, kırk yıldır kimsenin kullanmadığı bir donanım yeteneğini — M-Network'ün “E7” kartuş yongasındaki 2 kilobaytlık RAM'in tamamını — ilk kez fiilen çalıştırdı. Kısıt, yaratıcılığı zorlayan bir şeydir; bazen de unutulmuş bir yongayı yeniden keşfettirir.

Myst 1993'te neydi?

Myst, Cyan stüdyosunda Rand ve Robyn Miller kardeşlerin tasarlayıp yönettiği bir bulmaca oyunu olarak 24 Eylül 1993'te Macintosh için çıktı. Wikipedia'nın derlediği satış verilerine göre 2000 yılına kadar dünya genelinde 6,3 milyondan fazla sattı ve 2002'de The Sims geçene dek yaklaşık on yıl boyunca en çok satan PC oyunu olarak kaldı. İki milyonu aşan ilk CD-ROM oyunuydu; CD sürücünün eve girmesini hızlandıran başlıklardan biri sayılır.

Oyunun bütün etkisi de tam olarak oradan geliyordu: önceden işlenmiş, o gün için olağanüstü ayrıntılı sabit görüntüler. Weaver'ın teknik notunda özetlediği gibi, orijinal Myst yüzlerce megabayt hazır grafikten oluşuyordu. Yani taşınması en zor şey oyunun kuralları değil, gözüydü.

128 bayt: Atari 2600 gerçekten ne kadar küçük?

Atari 2600'ün içinde MOS 6507 işlemci var; 1,19 MHz'de çalışan, ucuzlasın diye bacak sayısı kısılmış bir 6502 türevi. Konsolun genel amaçlı RAM'i toplam 128 bayt. Bu cümleyi bir kez daha okumak gerekir: kilobayt değil, bayt. Bu sayfadaki tek bir paragrafın metni bile o belleğe sığmaz; üstelik programın yığını, yani işlemcinin geri dönüş adreslerini tuttuğu alan da aynı 128 baytı paylaşır.

Görüntüyü üreten yonga TIA (Television Interface Adaptor, televizyon arayüz birimi). TIA'nın tam ekranlık bir görüntü belleği yoktur. Televizyonun elektron ışını ekranı yukarıdan aşağı tararken program, ışının önünde koşarak her satır için renkleri ve desenleri tek tek yazmak zorundadır. Bu tekniğin adı “ışınla yarışmak”: resmi çizip bitirip göstermezsiniz, resim çizilirken siz de yanında koşarsınız; geri kalırsanız görüntü bozulur.

Elinizdeki tuval de dar. Arka plan deseni (playfield) yalnızca 20 bit genişliğinde tanımlanır, ekranın sağ yarısı bunun aynası ya da tekrarıdır. Weaver, proje sayfasındaki sık sorulan sorular bölümünde bunu şöyle anlatıyor: varsayılan olarak elinizde 20 bitlik bir görüntü belleği vardır, tek seferde tek satır çizersiniz ve o satırda yalnızca iki renk bulunur; fazlası 6502 assembly'de çok zeki olmakla mümkündür.

Atari 2600 ana kartı
Atari 2600 ana kartı — Evan-Amos, Public domain (Wikimedia Commons)

Myst 16 kilobayta nasıl sıkıştı?

Standart Atari 2600 kartuşu 4 kilobayt ROM taşır, çünkü 6507'nin adres bacakları ancak buna yeter. Daha fazlası için bankalama (bank switching) denen numara kullanılır: kartuşta ROM'un birkaç parçası bulunur, program özel bir adrese dokunarak hangi parçanın görüneceğini anlık olarak değiştirir. Kodun kendisi o sırada değişen ROM'dan çalışıyorsa iş hızla heyecanlı hale gelir.

Weaver, Mattel'in oyun kolu M-Network'ün 1983'te çıkardığı E7 “Big Game” yongasını seçti. Bu yonga 16 kilobayt ROM'u yedi ayrı 2 kilobaytlık parça halinde gösterebiliyor, ayrıca kartuşa RAM ekliyor: dört adet 256 baytlık pencere ve bir de 1 kilobaytlık büyük pencere. Kartuş yuvasında işlemcinin oku/yaz hattı bulunmadığı için bu RAM tuhaf çalışır — adres aralığının alt yarısına yazarsınız, üst yarısından okursunuz.

Atari 2600 kartuşu
Atari 2600 kartuşu — JoRgE-1987, CC BY-SA 4.0 (Wikimedia Commons)

Grafik tarafında Weaver her sahneyi ZX02 adlı sıkıştırma biçimiyle saklıyor. Proje sayfasındaki anlatımına göre her sahnenin sıkıştırılmış hali en fazla 256 bayt olabiliyor; açıldığında 448 bayta çıkıyor ve bu ancak kartuştaki 2 kilobaytlık RAM sayesinde mümkün oluyor. Sahneler 40x48 çözünürlükte. Arka plan rengi sabit tutuluyor, ön plan rengi her dört satırda bir değişebiliyor, ekranın 8 blokluk dar bir sütununda bir sprite sayesinde fazladan bir renk daha elde ediliyor. Yani her tablo, aslında kendi başına küçük bir demo.

Orijinal Myst (1993)CD-ROM, yüzlerce megabayt hazır görüntü
Atari 2600 sürümü16 KB ROM + 2 KB kartuş RAM'i
Konsolun kendi RAM'i128 bayt (yığın dahil)
İşlemciMOS 6507, 1,19 MHz
Sahne başına sıkıştırılmış verien fazla 256 bayt
Açılmış sahne verisi448 bayt
SıkıştırmaZX02
Sahne çözünürlüğü40 x 48

Tablodaki değerler Weaver'ın proje ve teknik not sayfalarından alındı.

Asıl zor kısım: bunu 1983 donanımında çalıştırmak

Oyun 2023'te bitti ve emülatörde, ayrıca SD karttan ROM okuyan Harmony türü modern kartuşlarda sorunsuz çalıştı. Ama Weaver bundan memnun değildi: o kartuşların içinde 70 MHz'lik 32 bitlik bir ARM mikrodenetleyici var. Kendi ifadesiyle, o yonga 1977'de iş istasyonu hatta süper bilgisayar sınıfı bir güç sayılırdı. Soru şuydu: ARM olmadan, tamamen dönemin parçalarıyla olur mu?

E7 yongasını bulmak için BurgerTime kartuşu gerekiyordu; Weaver'ın hazırladığı tabloya göre E7 kullanan ticari oyunlar arasında RAM'i fiilen kullanan tek başlık oydu. Altı kartuş aldı, yalnızca üçü düzgün çalışıyordu. Lehim sökme denemeleri devre pistlerini kaldırdı, maskeli ROM'ların 24 bacaklı ayak izi standart 28 bacaklı EPROM'lara uymadı, kartuştaki 1 kilobaytlık Toshiba SRAM'ın yerine takılan 2 kilobaytlık çipler çalışmadı. Proje iki yıl rafta bekledi.

2026 yazında Weaver KiCAD ile kendi E7 devre kartını tasarladı, EPROM yakıcıyla kendi ROM'larını hazırladı, mantık analizörüyle yazma sinyalini izledi, AtariAge forumlarında E7 belgesinin yazarı kevtris dahil eski kurtlara danıştı, hatta yayımlanmamış “AD&D Tower of Mystery” prototipinin yazarlarından birine e-posta attı. Aldığı cevap kibar ama yardımsızdı: aradan çok zaman geçmişti, kimse hatırlamıyordu. Weaver'ın o prototipin kodunu incelemesi işi daha da karartıyor; o oyun da 1 kilobaytlık pencereyi hiç kullanmamıştı.

Çözüm sonunda ters bir yerden geldi. Ölçümler, işlemcinin yazmak istediği değerin veri yoluna hiç ulaşmadığını gösteriyordu ve şüpheli, E7 yongasının kendisiydi. Weaver kartuş yongasının sekiz veri bacağını hiç bağlamamayı denedi; teoride o bacaklara zaten ihtiyaç yoktu. Çalıştı. Kendi deyişiyle: “Tuhaf, E7 mapper'ı 2 kilobayt SRAM'in tamamıyla başarıyla çalıştıran ilk kişi olabilirim. Değilsem bile, büyük ihtimalle son 40 yılda bunu yapan ilk kişiyim.”

Sürecin geliştiricinin kendi ağzından özetini, deater78 kanalının yayımladığı şu videoda izlemek mümkün:

Portun sınırı: bu Myst değil, Myst'in gölgesi

Bu noktada dürüst olmak gerekir, ki Weaver kendisi de oluyor. Proje sayfasının ilk satırlarından biri şu: “Tam bir oyun olmaktan çok uzak.” Kartuşta Myst adasının bir bölümü var; işaret şalterlerini indirip kaldırabiliyor, kardeşlerin kitaplarına bakabiliyor, D'ni'ye gidip oradaki iki sonu, kırmızı ve mavi sayfaları alarak da diğer iki sonu görebiliyorsunuz. Şömine bulmacası ve saat bulmacası çalışıyor, kütüphanedeki asansörle bir ipucuna ulaşılıyor. Yani dört sonun dördüne de varılıyor — ama bir hız koşusu (speedrun) rotası kadarına.

Eksik olan şey ise oyunun asıl ruhu sayılabilecek kısım: keşif. Weaver, tam oyunun en az 800 sahne ve kabaca 200 kilobayt gerektireceğini söylüyor; 16 kilobaytlık kartuş bunun yanında bir kartpostal. Grafikler de öyle: “Her sahne aşağı yukarı prosedürel olarak üretilmiş bir demo” diyor. Açıkçası oyunu daha önce oynamamış birine bu sürüm pek bir şey anlatmaz. Weaver bu itirazı sayfasına kendi elleriyle yazmış ve “zaten bunu 80'lerde satmayı planlamıyorum” diye yanıtlamış. Aşağıdaki 2.6 sürümü oynanış videosu da durumu olduğu gibi gösteriyor; görüntüler gerçek donanımdan kaydedilmiş.

Projenin hukuki konumu da belirsiz bir bölgede duruyor: Weaver sayfasında Cyan'ın markalarının ve telifli eserlerinin kullanıldığını, ürünün resmî olmadığını ve Cyan tarafından onaylanmadığını açıkça yazıyor. ROM ve kaynak kod ücretsiz dağıtılıyor.

“İmkânsız port” neden bir tür spor haline geldi?

Bu tür işlerin adı İngilizcede demake: bir oyunu, asla çalışmaması gereken eski bir makineye yeniden inşa etmek. Atari 2600 bu uğraşın favori sahası, çünkü kısıtları neredeyse zalim: 128 bayt, iki renkli tarama satırı, 4 kilobaytlık kartuş. Weaver'ın aynı oyunu daha önce Apple II'ye taşımış olması da tesadüf değil; kısıt ne kadar keskinse çözüm o kadar buluşçu olmak zorunda.

Ama bu projenin ayırt edici yanı yazılım değil. Weaver'ın kendi gerekçesi açık: demoscene yarışmalarının bir kısmı kodun gerçek donanımda çalışmasını şart koşuyor ve E7'nin 2 kilobaytının kullanılabildiği kanıtlanana kadar bu, “hayali konsol” sayılabilecek bir varsayımdı. Artık kanıtlandı: 43 yıllık bir yongadan, üreticisinin belgelerinde tam olarak tarif edilmemiş bir kapasite çıktı.

Geriye hâlâ cevapsız bir soru kalıyor, Weaver da listelemiş: E7 yongası veri yolu bağlıyken neden bozuluyor? Yonga hatalı mıydı ve hiçbir oyun 1 kilobaytlık pencereyi kullanmadığı için kimse fark etmedi mi? Yoksa sorunsuz çalışan daha yeni bir revizyonu var mı? Bunu öğrenmenin yolu, elde kalan epoksi kaplı yongaları açtırıp içine bakmaktan geçiyor. Bir de hikâyeye yakışan küçük bir dipnot: Weaver, sayfasının en altına “Bu proje, tüm projelerim gibi, yüzde 100 yapay zekâsızdır” notunu düşmüş.

Fotoğraf: Evan-Amos, Public domain, Wikimedia Commons

Haberi beğendin mi?
Paylaş WhatsApp X Facebook
Oyun Masası

Bu içerik, Yudum Oyun Masası editör ekibi tarafından derlenip yayına hazırlanmıştır. Güncel gelişmeler için haber akışını takip edebilirsiniz.

İlgili haberler

Yudum

1998'den beri, dünyanın her yerinden — sohbet, radyo, oyunlar ve daha fazlası.

Sohbete Katıl Ücretsiz üye ol

Yalnız 18 yaş ve üstü — Yudum üzerindeki canlı sohbet, sesli ve görüntülü görüşmeler yetişkinler içindir. Neden?

2547
haber
5983
kimdir
833
tarif
383
rüya tabiri
35
test
210
üye