Super Mario Bros dünya rekoru teorik hedefe 4 kare uzakta. Aynı yıl oyunda yepyeni bir açık bulundu
Super Mario Bros 1985'ten beri oynanıyor, kare kare inceleniyor, dünya rekoru teorik hedefin dört karesi gerisinde. Buna rağmen 2026'da oyuna kendi kodunuzu çalıştırma yolu bulundu — ve iz, bambaşka bir oyundan geldi.

Super Mario Bros'un any% dünya rekoru şu anda 4 dakika 54,332 saniye. Niftski'nin 13 Ağustos 2026'da yaptığı koşu Speedrun.com'da hâlâ birinci sırada.
Bu rakamın yanına şunu koyun: mevcut RTA kuralları altında teorik olarak ulaşılabilir kabul edilen süre 4:54,265. Yani insan rekoru, o hedefin yalnızca dört karesi — yaklaşık 67 milisaniye — gerisinde.
Bir not: bu mutlak bir matematiksel sınır değil. Araç destekli koşularda sol ve sağ tuşuna aynı anda basarak elde edilen 4:54,032 gibi daha hızlı süreler var; ama bu girdi standart NES kumandasıyla yapılamıyor ve RTA kurallarında yasak.
1985 yapımı bir oyundan bahsediyoruz. Oyunun kodu yıllardır ayrıntılı biçimde disassemble edilmiş, her karesi analiz edilmiş, on yıllardır optimize ediliyor. Böyle bir sistemde keşfedilecek yeni bir şey kalmadığını düşünürsünüz.
2026'da kalmadığı anlaşıldı.
Kutsal kâse: oyunu yeniden programlamak
Bir koşucu ekibi — threecreepio, OnehundredthCoin, HappyLee, Simplistic6502 ve Kosmic — Super Mario Bros'un Famicom Disk System sürümünde arbitrary code execution (keyfi kod çalıştırma) yapmanın yolunu buldu.
Bunun ne demek olduğunu Kosmic şöyle özetliyor: bu glitch, oyunun hangi kodu çalıştıracağını seçmenizi sağlıyor. Yani oyuncu, yalnızca kumanda girdileriyle oyunu yeniden programlayabiliyor.
Speedrunning topluluğunda böyle bir açığa "kutsal kâse" denmesinin nedeni bu: tek bir hatayı sömürmek değil, sistemin kontrolünü ele geçirmek.
Mekanizma: kod olmayan belleği kod diye çalıştırmak
Zincir kabaca şöyle işliyor.
Meşhur Minus World'e (dünya -1) erişiliyor; oyuncu Luigi'yle oynarken
bir Buzzy Beetle'ı kontrol ediyor. DuplicateEnemyObj hatası üzerinden
belirli bellek adreslerine yazılıyor ve zincir başlıyor.
Program akışı, normal oyun kodunun dışına çıkarak PPU yazmaçlarının
eşlendiği $2060 bölgesine sıçrıyor. Burada CPU normal program
talimatlarını okumuyor; grafik donanımının yazmaç okumalarından dönen
değerleri komut baytları gibi yorumlamaya başlıyor. Ekip bu davranışı
kontrol edilebilir hâle getirerek önce oyun kodundaki belirli bir baytı
değiştiriyor: $9C9D adresine $08 yazılması PowerUpObjHandler içinde
bir PHP komutu oluşturuyor ve dönüş adresi yönetimini bozuyor. Ardından
yürütme RAM'e taşınıyor ve kumanda girdilerinden oluşan bir payload
çalıştırılabiliyor.
Kısacası: kumanda girdileri belleğe yazmanın bir yolu olduğuna göre, oyuna dışarıdan program yüklemiş oluyorsunuz.

İz, başka bir oyundan geldi
Hikâyenin en ilginç kısmı burası.
Bu keşfin başlangıcı Super Mario Bros değildi. Bir oyuncu, Nintendo Switch üzerinden Super Mario Bros: The Lost Levels oynarken oyunu çökertti. Mario speedrunning topluluğu bu çökmeyi duyunca, ne olduğunu anlamaya ve aynı şeyin orijinal oyunda tekrarlanıp tekrarlanamayacağını bulmaya çalıştı.
Ekibin kendi kaydına göre araştırma Mart 2025'te başladı. Nisan-Ekim 2025 arası denemeler sonuç vermedi; ekip Aralık 2025'te toplandı ve PPU yazmaçları üzerinden çözüm 2026'nın ilk aylarında bulundu. Gönderim 31 Mart 2026 tarihli.
Yani kırk yıldır incelenen bir sistemde yeni bir açığın izi, o sistemin kendisinden değil komşu bir üründen geldi. Kalite tarafında bu çok tanıdık bir durum: bir hattın sorununu çoğu zaman o hatta bakarak değil, benzer bir hatta çıkan tuhaf bir sonuç sayesinde fark edersiniz.
Ölçüm araçları hakkında da öğretici bir ayrıntı var. Süreçte mevcut
emülatörlerin PPU davranışını yeterince doğru modellemediği noktalar
ortaya çıktı: OnehundredthCoin, BizHawk 2.11'de $2004 okuması sonrası
ikincil OAM indeksinin sıfırdan okunmasına dair bir hata buldu. Emülatör
doğruluğu üzerine yaptığı çalışma ve BizHawk tarafındaki düzeltme, açığın
güvenilir biçimde test edilebilmesinde kritik rol oynadı.
Kısacası: açığı bulmak için önce ölçüm aracını düzeltmek gerekti.

Rekor kırmıyor — ve bunu doğru aktarmak gerekiyor
Bazı başlıklar bu keşfi "speedrun rekorlarını kıracak" diye duyurdu. Durum tam tersi.
Yayımlanan ACE koşusunun süresi 5:29,957 — yani oyunu normal şekilde bitirmekten yaklaşık 35 saniye daha uzun. Keşfin mevcut hâli hiçbir speedrun kategorisinde zaman kazandırmıyor.
İnsan eliyle yapılabilirliği konusunda da temkinli olmak gerekiyor: şu ana kadar yayımlanmış uygulama araç destekli bir koşu (TAS); insanın gerçek zamanlı olarak uyguladığı doğrulanmış bir koşu bulunmuyor. Gereken hassasiyet nedeniyle mevcut yöntem RTA için pratik görünmüyor.
Bu, keşfi küçültmüyor. Sadece ne olduğunu doğru yere koyuyor: bu bir hız başarısı değil, bir sistem anlama başarısı.
Emülatörde kalan bir numara da değil
Yeni açık yalnızca teorik bir emülatör kurgusu değil. Kosmic, koşuyu gerçek Famicom Disk System donanımında en az üç kez doğruladı.
Ancak ekibin kendisi bir uyarı düşüyor: başarı oranı %100 değil. CPU-PPU senkronizasyonu, PPU okuma davranışı ve konsol revizyonları arasındaki farklar tutarlılığı düşürüyor; daha fazla test gerekiyor.
Yöntemin nereye varabileceği de açık bir soru. Ekipten Simplistic6502'nin ifadesiyle, oyunu bir video oynatıcıya çevirmek gibi daha gösterişli uygulamalar "yalnızca zaman meselesi" — ama bu yöntemle henüz yapılmadı, şimdilik teorik.
Asıl mesele: optimizasyon ile keşif aynı şey değil
Bu hikâyeyi ilginç kılan şey, iki rakamın yan yana durması.
Bir tarafta, teorik hedefe dört kare kalmış bir dünya rekoru. Bu, bilinen bir yolun olağanüstü optimizasyonu. Her kare, her piksel, her girdi zamanlaması binlerce kez denenmiş.
Diğer tarafta, aynı yıl bulunmuş daha önce bilinmeyen bir exploit zinciri. Bu ise bilinen yolun dışındaki durum uzayı.
İkisi farklı faaliyet. Bir süreci mevcut yordamı içinde ne kadar iyileştirirseniz iyileştirin, o yordamın dışında kalan davranışları görmüyorsunuz. Test kapsamınız yordamı kapsıyorsa, kapsam raporu %100 gösterse bile sistemi tükettiğiniz anlamına gelmiyor.
Super Mario Bros bunun ders kitabı örneği: milyonlarca oyuncu, kırk yıl, ayrıntılı disassembly, kare kare analiz. Ve durum uzayı hâlâ tüketilmemiş.

Sonuç
Speedrunning'e mesafeli bakanlar için bu tür haberler genellikle "insanlar neden bununla uğraşıyor" kategorisine giriyor. Ama burada yapılan şey, bir sistemin belgelenmemiş davranışını bir yılı aşan kolektif bir çabayla ortaya çıkarmak — hem de emülatörün kendi hatalarını düzelterek.
Kırk yıllık, üzerinde bu kadar çalışılmış bir yazılımda hâlâ bulunacak bir şey varsa, geçen ay yayımlanmış herhangi bir yazılım için ne düşünmemiz gerektiği de ortada.
EtiketlerKalite


