1 poin oleh GN⁺ 2024-07-30 | 1 komentar | Bagikan ke WhatsApp

Desain sistem video Super Nintendo

Bagian dalam TV pada awal 1990-an
  • Super Nintendo mengeluarkan video ke perangkat TV standar
  • TV menerima siaran TV analog (NTSC) melalui antena, menerima sinyal melalui tuner, lalu menampilkan gambar di CRT (tabung sinar katoda)
  • TV memiliki input tambahan (AUX), dan perangkat TV dasar memiliki konektor composite (kuning) untuk mengirimkan sinyal video serta jack khusus (putih dan merah) untuk mengirimkan sinyal audio stereo
Cara kerja CRT
  • CRT beroperasi pada 15kHz dan menggambar sekitar 15.000 garis per detik
  • Di dalam CRT terdapat tiga electron gun, yang selalu menembakkan elektron lurus ke depan, sementara dua set magnet (vertikal dan horizontal) menggerakkan elektron ke atas-bawah dan kiri-kanan
  • CRT tidak memiliki piksel, dan elektron yang ditembakkan dari electron gun selalu mencapai strip warna yang benar
Cara mengendalikan CRT
  • CRT menerima sinyal merah, hijau, dan biru dengan menghubungkannya ke masing-masing electron gun
  • Sinyal sinkronisasi (HSYNC dan VSYNC) dikirim melalui satu kabel putih, yang disebut composite sync (CSYNC)
  • CRT menerima sinyal dan berusaha menyinkronkan electron gun
Cara CRT menggambar gambar
  • CRT menggambar garis dari kiri ke kanan
  • Saat menerima peristiwa HSYNC, CRT kembali ke sisi kiri layar (X=0), dan saat menerima peristiwa VSYNC, CRT kembali ke bagian paling atas layar (Y=0)
  • CRT menggambar garis sambil bergerak ke kanan dan sedikit miring ke bawah
Kunci untuk memahami CRT
  • Inti memahami CRT adalah menyadari bahwa electron gun bergerak ke kanan sambil sedikit miring ke bawah di layar
  • Jika VSYNC terjadi bersamaan dengan HSYNC terakhir, garis akan selalu digambar di posisi yang sama pada layar
  • Jika VSYNC terjadi di antara dua HSYNC, garis akan tergambar saling bersilangan
Isi di dalam garis
  • Saat menggambar garis, CRT bersifat digital, tetapi isi di dalam garis bersifat analog
  • Tiga electron gun terhubung langsung ke kabel RGB, dan sistem dapat mengubah sinyal warna secara bebas
Cara sistem lama menanganinya
  • Perancang SNES harus menyediakan sinyal yang dapat diproses CRT
  • Harus mematuhi spesifikasi sinyal NTSC
  • Rasio layar 4:3, 262,5 garis per field, 341,25 titik per garis, dan frekuensi field 59,94Hz
Menjadi insinyur Nintendo
  • Setelah memahami cara kerja CRT, sistem video harus dirancang
  • Menggunakan 262 garis untuk membuat mode progressive dan menargetkan laju frame 59,94Hz
  • Menggunakan 350 titik untuk menyesuaikan rasio layar 4:3, sehingga diperlukan dot clock 5,496,498Hz
Pemecahan masalah
  • Dot clock 5,496,498Hz tidak bisa digunakan
  • Harus memakai master oscillator agar subsistem dapat memakainya melalui pembagi frekuensi
  • Masalah overscan juga harus diatasi
Pengenalan overscan
  • Jika electron gun terus menembakkan elektron saat reset horizontal atau vertikal, akan muncul artefak yang terlihat
  • TV melakukan overscan pada area layar sehingga tampilan menjadi sedikit lebih besar
  • Diperlukan waktu untuk menghentikan electron gun setelah VSYNC dan HSYNC
Pemilihan resolusi vertikal SNES
  • Sistem pesaing menggunakan 224 garis yang terlihat
  • Nintendo membagi 262 garis menjadi 224 garis terlihat dan 38 garis kosong
Pemilihan resolusi horizontal SNES
  • Menggunakan 262 garis dan master clock 21.47727MHz untuk mendapatkan dot clock 5.3693175MHz
  • Menggunakan 341 titik untuk memperoleh laju frame 60.098Hz
Pemilihan overscan horizontal SNES
  • Dari 341 titik, 256 titik digunakan sebagai area terlihat dan 85 titik digunakan sebagai HBLANK
  • Rasio layar menjadi 8:7 sehingga terjadi sedikit distorsi
Mode resolusi tinggi: interlacing
  • Resolusi vertikal dapat digandakan menjadi 448 garis
  • Menggandakan resolusi horizontal jauh lebih sulit
PAL vs NTSC
  • Di Eropa, PAL digunakan sebagai pengganti NTSC, dan di Prancis digunakan SECAM
  • PAL menggunakan laju frame 50Hz dan 312,5 garis per field
  • Versi PAL dari SNES menggunakan master clock 17.7344750MHz
  • Resolusi terlihat menggunakan 224 garis dan 256 titik, dengan laju frame 50.00697891Hz
Output
  • SNES mengubah sinyal CRT menjadi composite dan S-Video
  • Melalui konektor AV, tersedia sinyal murni "RGB/CSync", sinyal "Composite", dan sinyal S-Video

Ringkasan GN⁺

  • Artikel ini menjelaskan proses perancangan sistem video Super Nintendo, termasuk prinsip kerja CRT dan cara pemrosesan sinyal
  • Dengan memahami cara kerja CRT dan pemrosesan sinyal, artikel ini menerangkan keputusan desain pada sistem video SNES
  • Artikel ini bermanfaat bagi orang yang tertarik pada desain perangkat keras konsol video game, serta membantu memahami sejarah dan prinsip kerja teknologi CRT
  • Proyek lain dengan fungsi serupa antara lain Sega Genesis dan Neo-Geo AES

1 komentar

 
GN⁺ 2024-07-30
Komentar Hacker News
  • 224 adalah angka yang habis dibagi 16, jadi sangat cocok dengan tilemap pada pipeline rendering grafis

    • CGA/EGA/VGA semuanya memiliki mode 320x200
    • NES adalah 256x224, dan SNES juga sama
    • Pac-Man di arcade adalah 288x224
    • Klon Pac-Man di PC selalu terlihat aneh
    • Saya baru memahaminya setelah mempelajari detail mesinnya
    • Piksel pada resolusi PC bukan berbentuk persegi
    • Saat melihat port atau klon Pac-Man, saya mencoba memahami ukuran dunia, ukuran tile, dan ukuran sprite
  • 59.94Hz adalah angka yang aneh

    • Amerika Utara dan beberapa wilayah lain menggunakan jaringan listrik 60Hz
  • Rasio artwork 8:7 bisa terlihat pada game SFC/SNES yang di-port ke platform lain

    • Versi PSX/Saturn/PC mempertahankan artwork asli dan menambahkan padding ke 4:3
    • Jika melihat tangkapan layar versi Saturn, semuanya tampak sedikit terlalu ramping
  • Game Eropa melakukan VSYNC pada 50.00697891Hz sehingga game berjalan 17% lebih lambat dari yang dimaksudkan

    • Saya kecewa saat pertama kali memainkan Sonic the Hedgehog di Mega Drive
    • Saya mengetahui perbedaan kecepatan NTSC dan PAL lewat YouTube
    • Musiknya juga terdengar buruk di PAL
    • DooM di SNES memiliki layar yang lebih besar pada versi NTSC
    • Saya cukup jago Punch-Out di NES, tetapi kalau saya bertanding di Amerika, saya mungkin akan kalah di ronde pertama
  • Ada salah ketik di TFA; rasio 8:6 sama dengan 4:3

    • Saya menggunakan output RF untuk beralih antara SNES dan antena TV
  • Resolusi output 256x224 (8:7) diperluas menjadi gambar 4:3

    • Kecepatan dot SNES lebih lambat daripada kecepatan piksel persegi pada standar ATSC
    • Piksel diperluas secara horizontal menjadi 8/7, sehingga resolusi 8:7 melebar menjadi 64:49
    • 224*(4/3) = 298 dot terlihat
    • 224*(7/6) = 261.33... adalah jumlah dot terlihat yang lebih mendekati
  • Saya penasaran apakah ada emulator yang dapat mensimulasikan tampilan CRT secara akurat

    • Dengan shader GPU, hal itu seharusnya memungkinkan dari sisi performa
  • Saya berharap ini memberi wawasan tentang bagaimana desain game ikonik bisa terbentuk

    • Saya menyukai SNES, tetapi tidak bisa meyakinkan orang tua saya
    • Terima kasih sudah menulis ini. Sangat menarik