1 puan yazan GN⁺ 2024-07-30 | 1 yorum | WhatsApp'ta paylaş

Süper Nintendo video sistemi tasarımı

90'ların başındaki TV'nin içi
  • Süper Nintendo, standart TV setlerine video çıkışı verir
  • TV, anten üzerinden analog TV yayını (NTSC) alır, tuner aracılığıyla sinyali kabul eder ve görüntüyü CRT'de (katot ışın tüpü) gösterir
  • TV'de yardımcı giriş (AUX) bulunur; temel TV setlerinde video sinyalini taşıyan kompozit konnektör (sarı) ile stereo ses sinyalini taşıyan özel jaklar (beyaz ve kırmızı) vardır
CRT'nin çalışma prensibi
  • CRT 15kHz'de çalışır ve saniyede yaklaşık 15.000 satır çizer
  • CRT'nin içinde üç adet elektron tabancası vardır; bu tabancalar elektronları her zaman ileri doğru ateşler ve iki mıknatıs seti (dikey ve yatay) elektronları yukarı-aşağı ve sağa-sola hareket ettirir
  • CRT'de piksel yoktur; elektron tabancalarından çıkan elektronlar her zaman doğru renk şeridine ulaşır
CRT nasıl kontrol edilir
  • CRT, kırmızı, yeşil ve mavi sinyallerini ilgili elektron tabancalarına bağlayarak kullanır
  • Senkronizasyon sinyalleri (HSYNC ve VSYNC) tek bir beyaz kablo üzerinden iletilir; buna bileşik senkronizasyon (CSYNC) denir
  • CRT sinyalleri alır ve elektron tabancalarını senkronize etmeye çalışır
CRT'nin görüntü çizme yöntemi
  • CRT, satırları soldan sağa çizer
  • HSYNC olayı geldiğinde ekranın soluna (X=0), VSYNC olayı geldiğinde ekranın en üstüne (Y=0) geri döner
  • CRT sağa doğru ilerlerken aşağı doğru eğimli şekilde satır çizer
CRT'yi anlamanın püf noktası
  • CRT'nin özü, elektron tabancalarının ekranın sağına doğru ilerlerken aşağı doğru eğilmesini anlamaktır
  • VSYNC son HSYNC ile aynı anda oluşursa satırlar her zaman ekranın aynı konumuna çizilir
  • VSYNC iki HSYNC arasında oluşursa satırlar çapraz şekilde çizilir
Satırların içeriği
  • CRT, satır çizerken dijitaldir ama satırların içeriği analogdur
  • Üç elektron tabancası RGB kablolarına doğrudan bağlıdır ve sistem renk sinyalini serbestçe değiştirebilir
Dönemin sistemlerinin ele aldığı konu
  • SNES tasarımcılarının CRT'nin işleyebileceği bir sinyal sağlaması gerekiyordu
  • NTSC sinyal spesifikasyonuna uyulmalıydı
  • 4:3 en-boy oranı, alan başına 262.5 satır, satır başına 341.25 nokta, 59.94Hz alan frekansı
Nintendo mühendisi olmak
  • CRT'nin nasıl çalıştığını anladıktan sonra video sistemi tasarlanmalıydı
  • 262 satır kullanılarak progressive mod oluşturuldu ve 59.94Hz kare hızı hedeflendi
  • 4:3 en-boy oranını tutturmak için 350 nokta kullanıldı ve 5,496,498Hz dot clock gerekiyordu
Sorun çözme
  • 5,496,498Hz dot clock kullanılamıyordu
  • Alt sistemlerin bir bölücü üzerinden kullanacağı bir master osilatör gerekiyordu
  • Overscan sorunu çözülmeliydi
Overscan'in devreye alınması
  • Elektron tabancaları yatay ya da dikey olarak sıfırlanırken elektron ateşlemeye devam edilirse görünür artefaktlar oluşur
  • TV'ler ekran alanını overscan ile biraz daha büyük gösterir
  • VSYNC ve HSYNC sonrasında elektron tabancalarının durması için zamana ihtiyaç vardır
SNES dikey çözünürlük seçimi
  • Rakip sistemler 224 görünür satır kullanıyordu
  • Nintendo, 262 satırı 224 görünür satır ve 38 boş satır olarak ayırdı
SNES yatay çözünürlük seçimi
  • 262 satır ve 21.47727MHz master clock kullanılarak 5.3693175MHz dot clock elde edildi
  • 341 nokta kullanılarak 60.098Hz kare hızı elde edildi
SNES yatay overscan seçimi
  • 341 noktanın 256'sı görünür nokta, 85'i ise HBLANK olarak kullanıldı
  • Ekran oranı 8:7 oldu ve bu da hafif bir bozulmaya yol açtı
Yüksek çözünürlük modu: interlacing
  • Dikey çözünürlük 448 satıra çıkarılarak iki katına yükseltilebilir
  • Yatay çözünürlüğü iki katına çıkarmak zordur
PAL ve NTSC
  • Avrupa'da NTSC yerine PAL, Fransa'da ise SECAM kullanılır
  • PAL, 50Hz kare hızı ve alan başına 312.5 satır kullanır
  • SNES'in PAL sürümü 17.7344750MHz master clock kullanır
  • Görünür çözünürlük 224 satır ve 256 noktadır; kare hızı ise 50.00697891Hz'dir
Çıkış
  • SNES, CRT sinyalini kompozit ve S-Video'ya dönüştürür
  • AV konnektörü üzerinden saf "RGB/CSync" sinyali, "Composite" sinyali ve S-Video sinyali sağlar

GN⁺ özeti

  • Bu yazı, Süper Nintendo video sisteminin tasarım sürecini açıklar; CRT'nin çalışma prensibi ile sinyal işleme yöntemlerini ele alır
  • CRT'nin çalışma biçimi ve sinyal işleme mantığı üzerinden SNES video sistemindeki tasarım kararlarını açıklar
  • Video oyun konsollarının donanım tasarımıyla ilgilenenler için faydalıdır; ayrıca CRT teknolojisinin tarihini ve çalışma prensibini anlamaya yardımcı olur
  • Benzer özelliklere sahip diğer projeler arasında Sega Genesis ve Neo-Geo AES bulunur

1 yorum

 
GN⁺ 2024-07-30
Hacker News yorumu
  • 224, 16'ya tam bölünebildiği için grafik render pipeline'ındaki tilemap ile iyi uyuşan bir sayı

    • CGA/EGA/VGA'nın hepsinde 320x200 modu vardı
    • NES 256x224'tü, SNES de aynıydı
    • Pac-Man arcade'de 288x224'tü
    • PC'deki Pac-Man klonları her zaman tuhaf görünürdü
    • Bunu ancak makinenin ayrıntılarını öğrendikten sonra anlayabildim
    • PC çözünürlüklerinde pikseller kare değildi
    • Pac-Man portlarına veya klonlarına bakıp dünya boyutunu, tile boyutunu ve sprite boyutunu çıkarmaya çalışırdım
  • 59.94Hz garip bir sayı

    • Kuzey Amerika ve başka bazı bölgeler 60Hz elektrik şebekesi kullanıyor
  • 8:7 artwork oranı, başka platformlara port edilen SFC/SNES oyunlarında görülebiliyor

    • PSX/Saturn/PC sürümleri orijinal art'ı koruyup 4:3'e padding ekliyor
    • Saturn sürümünün ekran görüntülerine bakınca her şey biraz fazla ince görünüyor
  • Avrupa oyunlarında VSYNC 50.00697891Hz'de gerçekleştiği için oyunlar amaçlanandan %17 daha yavaş çalışıyordu

    • Sonic the Hedgehog'u Mega Drive'da ilk oynadığımda hayal kırıklığına uğramıştım
    • NTSC ile PAL arasındaki hız farkını YouTube sayesinde öğrendim
    • Müzik de PAL'de berbat geliyor
    • SNES'teki DooM'un NTSC sürümünde ekran daha büyüktü
    • NES'te Punch-Out'ta iyiydim ama ABD'de rekabet etsem ilk rauntta elenirdim
  • TFA'da bir yazım hatası var; 8:6 oranı 4:3 ile aynı

    • RF çıkışı kullanarak SNES ile TV anteni arasında geçiş yapardım
  • 256x224 (8:7) çıkış çözünürlüğü 4:3 görüntüye genişletiliyor

    • SNES'in dot clock'u, ATSC standardındaki kare piksel hızından daha yavaş
    • Pikseller yatayda 8/7 oranında genişletildiği için 8:7 çözünürlük 64:49'a genişliyor
    • 224*(4/3) = 298 görünür dot eder
    • 224*(7/6) = 261.33... görünür dot buna daha yakın
  • CRT görünümünü doğru şekilde simüle eden bir emülatör olup olmadığını merak ediyorum

    • GPU shader'larıyla performans açısından mümkün olmalı
  • Bunun, ikonik oyun tasarımının nasıl ortaya çıktığına dair içgörü vermesini ummuştum

    • SNES'i seviyordum ama ailemi ikna edememiştim
    • Yazı için teşekkürler. Çok ilginçti