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.)