Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: MVS sprite formatı  (Okunma Sayısı 3225 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.787


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« : Mayıs 09, 2014, 09:46:24 ÖÖ »

Arcade makinalarını programlama bakımından çok "düz" bulsam da donamım tasarımları bazen ilginç olabiliyor. Çok düz dememin sebebi her şeyin programcının (ve grafikerin) emrine amade olması. En basitinden tile map gerekiyorsa tile engine donanımda hazır, parallax engine ve bol miktarda bit planeler aynı şekilde. Bu yüzden programlama dehalarına pek yer yok. Grafiker de yine basitçe çizimini yapıp geçiyor. Renk kısıtlarıyla, attribute clash sorunlarıyla vs. çok fazla başı ağrımıyor. Tabi bu sefer bunları sağlayan donanımdaki incelikler öne çıkmaya başlıyor.

En gelişmiş çok amaçlı arcade makinalarından biri MVS. 2D'den bahsediyorsak bence en iyisi. MVS'nin spriteları 16x16 tile'lardan oluşuyor. Her tile 8x8'lik dört bloğa ayrılmış. Bu bloklarda 4 bitplane'e bölünmüş.



Buraya kadar tamam. Ancak sprite verisinin hafızada saklanış şekli biraz kafa karıştırıcı geldi. Her bir bitplane farklı rom çiplerinde tutulmuş. Bitplane #0,1,2,3 sırayla C1, C3, C2 ve C4 çiplerinde saklanmış. Yavuz'un bu konuda söyleyecek bir şeyleri vardır diye düşünüyorum? Acaba GPU'nun bus yapısıyla ilgili bir durum mu var?

Örneğin GPU bir cycle'ı dörde bölüp, adress bus'a adresi koyduktan sonra C Rom'ların hepsini sırayla okuyarak zaman mı kazanıyor? Hatta daha güzeli hepsini aynı anda mı okuyor? (4 chipteki veri data bus'a aynı anda konursa yanılmıyorsam AND'lenmiş oluyor.)


* Spritegfx.png (17.92 KB, 490x204 - Görüntüleme: 2723 kez.)
« Son Düzenleme: Mayıs 09, 2014, 10:39:17 ÖÖ Gönderen: wizofwor » Logged

gergozen
Deneyimli
*****
Mesaj Sayısı: 651



Üyelik Bilgileri
« Yanıtla #1 : Mayıs 10, 2014, 15:08:49 ÖS »

Aynı anda okuma olacağını sanmıyorum. Hatta eminim. Ama sırayla okuyarak bir şekilde zaman kazanılıyor olabilir.

Commandos oynamıştım yeni makinelerden birinde adamlar yürümüyor koşuyordu (alman askerleri bir turu 2 saniyede tamamlıyordu). Bu durumda döngüde araya girip işlemciyi yoran ve döngü sürecini uzatan programlar da kullanılabiliyor.

Yani performanstır muhtemelen ama artı veya eksi olup olmadığını bilmiyorum.
Logged
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: