Super ZSNES - GPU tabanlı SNES emülatörü
(zsnes.com)- Mevcut ZSNES'in baştan yeniden yazılmış GPU tabanlı bir SNES emülatörü; daha doğru CPU ve ses çekirdeklerinin yanı sıra GPU tabanlı bir PPU çekirdeği de sunuyor
- Yüksek çözünürlüklü Mode 7 ve oyun başına özel geliştirme özelliklerini destekliyor; ayrıca yüksek çözünürlüklü bir UI ve iyileştirilmiş UX ile birlikte hızlı ileri sarma, geri sarma, save state'ler ve otomatik kayıt geçmişi gibi kullanım kolaylığı sağlayan özellikler içeriyor
- Super Enhancement Engine şu anda 7 popüler oyunu destekliyor ve yüksek çözünürlüklü manuel detay güçlendirme, texture/normal map, overclock, widescreen, sıkıştırılmamış ses değiştirme ve Mode 7 tabanlı 3D efektler sunuyor
- Tüm geliştirme özellikleri tek tek kapatılabiliyor ve geliştirme verileri ROM veya telif hakkı içeren veriler barındırmadığı için ROM'u kullanıcıların kendisinin hazırlaması gerekiyor
- Windows, Mac, Linux ve Android için indirilebiliyor; ancak hâlâ early build aşamasında olduğundan emülasyon hataları, henüz uygulanmamış special chips ve ek optimizasyon ile Netplay gibi planlanan çalışmalar bulunuyor
İndirme ve desteklenen platformlar
- Windows: Download
- Mac: Download
- Linux: Download
- Android: Google Play
- iOS için durum Coming Soon olarak görünüyor
Geliştirme durumu ve planlanan özellikler
- Şu anda early build aşamasında olduğu için emülasyon hataları bulunuyor
- special chips olan DSP1, SuperFX vb. henüz uygulanmış değil
- Hâlâ çok sayıda optimizasyon çalışması gerektiğinden performans biraz yavaş olabilir
- İleride bug fixes, special chip emulation, ek optimizasyonlar, daha fazla geliştirme özelliği ve Netplay eklenmesi planlanıyor
1 yorum
Hacker News görüşleri
Sıkıştırılmamış ses değiştirme oldukça havalı olabilir; burada ne tür sonuçlar çıkacağını merak ediyorum.
Yani Mathew Valente, diğer bir deyişle TSSF, Nobuo Uematsu'nun SNES ve PSX dönemindeki Final Fantasy'lerde kullandığı orijinal sample'ları iz sürerek bulmak için şaşırtıcı derecede emek harcamış.
Neredeyse hepsi dönemin donanım ve yazılım synthesizer'larından gelen sample'lardı; bunları bulup parçaları orijinal sample'larla yeniden elden geçirdi ama bu basit bir sürükle-bırak işi değildi, içinde çok fazla teknik, müzikal ve öznel karar vardı.
Ortaya çıkan şey gerçekten çok güzel ve klasik Final Fantasy müziklerini seviyorsanız kanal da muhtemelen sizi epey memnun eder.
Özellikle sevdiğim videolardan biri şu: https://www.youtube.com/watch?v=XQhxNkZH-DE
Pitchfork'un Donkey Kong Country'nin klasik parçası Stickerbush hakkında söylediklerine katılıyorum.
Sıkıştırması açılmış enstrümanları FL Studio'da yeniden üretince beste kalıyor ama bilinçli olarak kirli bırakılmış tını paleti kayboluyor.
Düz bir piyano ve gerçek saksafon gibi duyulan lead'lere dönüşünce sürreal doku ve gerilim yok oluyor; bu yüzden buna “restorasyon” demenin kendisinin yanlış olduğunu düşünüyorum.
Wise bu parçayı baştan beri SNES'in kısıtlarına bağlı kalarak amaçlamıştı ve sınırlı seslerin sonsuzmuş gibi hissettirmesini istiyordu.
https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
Orijinal parçayla kıyaslayınca 3. ölçüde geriden geldiği duyuluyor: https://www.youtube.com/watch?v=JLrsUOA4Vb4
Aşağıdaki zaman damgalı bağlantıya bakabilirsiniz; ayrıca Super ZSNES'in tamamını ele alan bir video da var.
https://youtu.be/r5twUkvYFpA?t=617
Onun parçalarını içeren MSU-1 paketleri de var; böylece oyunu geliştirilmiş seslerle oynayabiliyorsunuz.
ZSNES, benim çocukluğumun temel parçalarından biriydi.
90'ların sonu ile 2000'lerin başında ilk çıktığında indirip sevdiğim oyunları emüle etmiştim; Star Ocean ve Tales of Phantasia gibi hayran çevirisi projelerini de orada oynamıştım.
Bulut gibi şeffaf nesnelerin ekranı tamamen kapladığı ve üst katmanı elle kapatmanız gereken bölümler bile vardı.
Ailem evde olmadığında save state'leri disketle Pentium 166MHz'e taşıyıp ses ve şeffaflık açıkken gizlice biraz daha oynardım.
Super Mario World'ün büyük kısmını ve birkaç Final Fantasy'yi de böyle oynadım sanırım; gerçekten harika zamanlardı.
Çeviri topluluğunun kaynak kod olmadan Japon oyunlarına patch yapıp pazarımızda hiç çıkmamış cevherleri bize getirmesi neredeyse delilik düzeyinde bir adanmışlıktı.
Çeviride biraz serbest uyarlamalar var ama tek başına gemi sahnesi bile buna değdiğini düşündürüyor.
Bir de ZSNES sayesinde istediğiniz an hız kontrolü ile hızlı kayıt/yükleme yapabilmek gerçekten mükemmeldi.
Okulda dizüstü bilgisayarların eğitim aracı olarak pilot uygulamaya alındığı yılda bir matematik dersindeydim ve normalde derse ait materyallerin açık olması gerekiyordu.
Ama öğrencilerden biri dizüstüne ZSNES kurmuştu ve ders sırasında Killer Instinct oynuyordu.
Ana sayfa bu projenin ne kadar havalı olduğunu fazla küçümsüyor.
MVG bunun için çok iyi bir genel bakış videosu yapmış: https://www.youtube.com/watch?v=r5twUkvYFpA
SNES emülatörlerinde doğruluk tarafında higan/bsnes zaten alanı kapmış durumda; o yüzden bildik yolu tekrar etmek yerine kendi yönlerine gidiyorlar.
Yine de beni düşündüren şey donanım gereksinimleri.
Sonuçta orijinal ZSNES'in ünü, kısıtlı donanımda bile türlü akıllı hack'lerle iyi çalışmasından geliyordu.
Nostaljinin gücü gerçekten çok büyük.
https://imgur.com/a/R63BKTe
PPU emülasyonu, piksel başına son register durumunu tamamen yakalayıp GPU'nun her pikseli yalnızca bu durumdan yola çıkarak render etmesini; layer blending, color math ve mode 7 hesaplarını da orada yapmasını sağlayacak şekilde de yapılabilirmiş gibi görünüyor.
Doğruluk çok kritik değilse bunu scanline bazında yapmak da mümkün.
MVG videosunda draw command analizine bakınca Super ZSNES'in PPU uygulamasının böyle çalışmadığı anlaşılıyor.
BG tarafı tile bazında, OBJ de muhtemelen öyle; mode 7 ise satır bazında render ediliyor gibi görünüyor.
Biraz doğruluk kaybı olurdu ama ekledikleri görsel güçlendirme hilelerini uygulamak için muhtemelen buna ihtiyaçları vardı.
Şu anki yaklaşım, eski tarz fixed-function API ile quad çizip son görüntüye bump map karıştırmak gibi ve oldukça garip.
GPU'da gerçekten harika işler yapmak için zaten çok fazla araç var; yine de bu yolu seçmişler ve bana kalırsa diğer emülatörlerde insanların yaptığı post-processing shader işleri daha etkileyici.
SNES emülatörleri çok uzun süredir ortada olduğundan, bazen gerçek Nintendo konsolundan çok Nintendo oyunlarını emülatörde oynamış insan olabilir mi diye düşünüyorum.
Çok havalı ve özellikle doğruluk iyileştirmeleri hoşuma gitti.
Yine de gerçekten GPU gerekip gerekmediğini merak ediyorum.
SNES çok eski bir sistem; sadece CPU ile de yeterli olmaz mı diye düşünmeden edemiyorum ve GPU daha verimli olsa bile çok daha fazla donanım kombinasyonunu destekleme yüküne değip değmeyeceğinden emin değilim.
Üstelik Unity kullandıkları için tüm düşük seviyeli GPU desteğini kendilerinin doğrudan ele alması da gerekmiyor.
higan(bsnes) zaten 10 yılı aşkın süredir sadece CPU ile cycle-accurate SNES emülasyonu yapıyor; yani o kadarı kesinlikle mümkün.
Bunun ötesinde, örneğin transistor seviyesine inerseniz iş karmaşıklaşıyor.
AFAIK o seviyede pong gibi şeyler yapılabiliyor ama MetalNES gerçek zamanın çok uzağında kalıyor; yani sınır bunun bir yerlerinde.
Büyük ihtimalle bu, “eğlenceli olduğu için yapıyoruz” tarzı bir proje.
Özellik listesinde No vibe coding ve classic development style yazması oldukça ilginç.
Retro bir canlandırma projesi bağlamında bu daha da dikkat çekiyor.
Ama bunun gerçekten hiç AI kullanılmadığı anlamına mı geldiğini merak ediyorum.
Örneğin code review tarafında bile hiç kullanılmadı mı; sadece bunu netleştirmek isterim, yoksa iki taraftan birini yargılamak için sormuyorum.
Şaka bir yana, LLM'ler böyle acayip ve niş alanlarda oldukça kötü.
Özellikle retro tarafında heyecanla büyük laflar edip önemsiz ya da zaten bilinen parçalı bilgileri yanlış anlayarak tekrar etmeye çok yatkınlar.
Bir bakıma Reddit yorumlarını ekrana dökmek gibi.
Mobilya, halı, başka el işi ürünler, hatta Lamborghini bile bu şekilde satılıyor sonuçta.
Daha geçen ay DLSS5'e yönelik büyük tepkinin başlıca sebeplerinden biri sanatçının orijinal vizyonunu bozmasıydı; ama bir ay sonra insanlar point-and-click arayüzle oyun görsellerini istedikleri gibi değiştirebildikleri bir emülatöre hayran kalıyor.
Bir de buna MCP server ekleselerdi ortalık iyice karışırdı.
Amaç eğlenmekse işi bizzat yapmak en mantıklısı.
No Vibe Coding. Classic development style
Bu, giderek insanların gerçekten istediği bir özelliğe dönüşüyor gibi görünüyor.
Ya da benim onaylamadığım başka bir algoritma kullanıldı mı.
Vintage donanım emülatörü söz konusu olunca insanı uykusuz bırakan asıl yakıcı mesele bu tabii.
ZSNES'in yapımcısının birkaç ay önce Zophar's Domain'den Zophar ile yaptığı röportaj da epey ilginçti.
https://www.youtube.com/watch?v=iG-oqvj4Tqk
Çocukken bu adamların ilk dönem işi gerçekten inanılmazdı.
ZSNES'i ilk açıp hayran çevirisi yapılmış, sadece Japonya'da çıkmış bir RPG oynadığım anı hâlâ hatırlıyorum.
Yepyeni bir dünyanın kapısı açılmıştı; bu açıdan onlara gerçekten minnettarım.