Görüntü İşleme Birimi - Picture Processing Unit

PAL NES'te NES PPU (Ricoh RP2C07)

PPU ( Resim işlem birimi daha özel olarak da bilinir), Ricoh RP2C02 ( NTSC versiyonu) / RP2C07 ( PAL versiyonu), bir entegre devre içinde Nintendo Eğlence Sistemi hafızasında kayıtlı grafik verileri video sinyallerinin üretilmesi için sorumlu değildir.

Çip, grafiksel verileri depolamak için çok az bellek kullanan etkin bellek kullanımı ile tanınır . Tam sprite desteğine, hareketli arka planlara ve aynı anda ekranda birçok renge sahip olan Famicom'un (Nintendo Eğlence Sisteminin Japonca versiyonu) piyasaya sürüldüğü zaman için oldukça gelişmişti . Grafiksel üstün gibi diğer video oyun sistemleri ile rekabet edebilmek için Sega Master System , Nintendo ayrıca kullanımı yoluyla PPU teknik yetenekleri genişletilmiş haritacılarla oyun kartuşu üzerinde yerleştirildi. Haritacılar, daha fazla bellek ekledi veya anahtar verilerini PPU'nun adres alanına yerleştirerek daha fazla renk ve daha büyük döşeme setleri kullanarak daha gelişmiş grafikler oluşturmayı mümkün kıldı .

Ana Özellikler

  • Arka plan grafikleri için döşeme düzenini ve yardımcı renk bilgilerini depolamak için 2 kB harici RAM (genellikle adlar olarak adlandırılır )
  • Sprite öznitelik depolaması için 288 (256 + 32) bayt dahili DRAM . Bu, tüketilen adres alanı miktarıyla ölçülür ; her baytın her biti PPU'da mevcut değildir.
  • Palet depolaması için 32 bayt dahili SRAM . Sprite öznitelik depolamasında olduğu gibi, PPU'da tüm bitler mevcut değildir.
  • 8 x 8 ya da 8 x 16 (seçimli) boy cinler
  • Her biri 256 döşeme alanlı iki harici 4 kB döşeme seti , genellikle oyun kartuşundaki RAM veya ROM'da saklanır
  • Ekranda aynı anda 64'e kadar sprite (hareketli nesneler) ( tarama satırı başına yalnızca 8 görünür )
  • 54 renk donanım renk paletinden aynı anda 25 renk (programlama hileleri kullanılarak daha fazla renk mümkün olsa da)
  • 256 × 240 piksellik resim çözünürlüğü (PAL'de tam olarak görülebilir, ancak çoğu eski NTSC televizyon setinde 256 × 224'e kırpılmıştır ), ancak HDTV'ler ve yakalama cihazları ne olursa olsun tam resmi görüntüleme eğilimindedir.

Teknik Bilgiler

PPU, CPU'nun adres alanında 2000 $ ile 2007 $ arasındaki adreslerde görünen sekiz yazmaç aracılığıyla kontrol edilir . Tüm veriler ve bilgiler bunlar aracılığıyla PPU'ya aktarılır, ham karo verileri hariç (bazı oyunlarda karo verilerini depolamak için ROM yerine RAM olduğundan ve döşemelerin her seferinde yazılması gerektiğinden istisnalar vardır), bu da fiziksel olarak bağlanmıştır. PPU'nun adres alanına. PPU, ekrana son grafik çıktısını oluşturmak için PPU'nun RAM'inde program tarafından depolanan bilgilerle birlikte döşeme grafik verilerini kullanır.

PPU'nun birlikte çalıştığı en düşük grafik bileşenleri, 8 × 8 veya 8 × 16 piksellik bloklar olan karolardır . Kutucuklar, oyun kartuşundaki bir ROM çipinde saklanır . Daha büyük hareketli nesneler veya büyük statik arka planlar oluşturmak için kullanılan temel yapı taşlarıdır.

NES sprite'larının küçük boyutu nedeniyle, çoğu hareketli nesne birden fazla sprite'dan yapılmıştır. Tarama çizgisi başına yalnızca 8 hareketli yazı çizilebilir ve bu nedenle PPU, bir tarama çizgisinde 8'den fazla hareketli yazı görünürse ayarlanan bir "taşma" bayrağı içerir. Bununla birlikte, bu bayrak hatalıdır ve hem yanlış pozitifler hem de yanlış negatifler üretir, bu nedenle nadiren kullanılırdı.

Yukarıda belirtildiği gibi, bazı oyunlar (çoğunlukla Legend of Zelda ve Castlevania gibi erken MMC1 oyunları ) grafik verilerini ana PRG ROM'da depolar. Bunların bir ROM yerine bir CHR RAM yongası vardır ve verileri PRG ROM'dan CHR RAM'e iletirler, bunun ana amacı animasyonlu arka plan döşemeleri üretmektir. 1988'de MMC3 eşleştiricisinin gelişi, buna olan ihtiyacı ortadan kaldırdı, çünkü animasyonlu döşemeler artık CHR ROM'dan anında biriktirilebiliyordu. PPU, aynı anda 8 KB'ye kadar CHR ROM veya RAM'e erişebilir.

Esasen, PPU iki farklı türde çekilebilir nesneyi destekler: hareketli (hareketli (hareketli) ve hareketli olmayan (arka plan). Her iki tür nesne de döşemelerden oluşur ve ayrıca hareketli grafik ve arka plan nesnesi aynı döşemeyi kullanabilir. Aradaki fark, hareketli grafik olarak kullanılan bir döşemenin hareket edebilmesi, ancak arka plan olarak kullanılan bir döşemenin hareket edememesidir. Dönemin çoğu oyun sisteminde yaygın olduğu gibi, sprite için çarpışma algılama kaydı yoktur.

Sprite verileri "Nesne Öznitelik Belleği" veya kısaca "OAM" adı verilen, PPU çekirdeğinde yerleşik 256 baytlık bir bellek olan özel bir bellekte depolanır. Burada depolanan veriler 4 bayttır: 64 sprite'ın her biri için konum, renk ve döşeme. Bu veriler, bu zaman hareketli grafik yer PPU tarafından kullanılır hale çerçeve. Arkaplan nesneler, ancak, daha fazla karakter saklanır yolu gibi bir çok daha az ayrıcalıklı bir şekilde, saklanır metin modunda üzerine PC'ler . Arka plan, esasen iki boyutlu bir dizi olan, isimlendirilebilir adı verilen basit bir veri yapısı ile tanımlanır. Her dizi yuvasındaki tamsayı değeri, bir döşeme numarasına karşılık gelir ve bu yuvanın dizin değerleri, döşemenin ekrandaki x / y konumuna karşılık gelir. PPU, bellek eşleyicileri kullanılmadan iki ada sahiptir, bu nedenle arka planlar arasında düzgün kaydırma yapmak mümkündür.

İsim tablosunda karo verileri ayarlandıktan sonra, ekranı hareket ettirmek için PPU'nun X / Y kaydırma kayıtlarını ayarlamak basit bir meseledir.

Grafiklerin ekranda gösterilebilmesi için bir renk paleti tanımlanmalıdır. RAM'de "palet RAM" olarak bilinen 32 baytlık ayrı bir konumda depolanır. Buradaki her giriş, aralarından seçim yapabileceğiniz önceden tanımlanmış renkler olan donanım renk paletinden bir renk seçer. Her biri üç renk ve saydamlık içeren dört arka plan paleti ve dört hareketli grafik paleti vardır. Normalde arka plan döşemelerinin saydam alanlarının arkasında görülen bir arka plan rengi de vardır. Böylece, PPU normalde ekranda 25 benzersiz renk çizebilir.

Ayrıca bakınız

Dış bağlantılar