Servus,
mal eine Frage an die Hardware-Experten. Ich selbst habe wenig Ahnung von Schaltkreisen und sowas, daher bitte ich euch, das einigermassen Noob-freundlich zu erklaeren
Also: Nach meinem Verstaendnis muesste doch die Aufgabe des VIC-II sein, staendig das Bildsignal zu generieren, welches ueber den Video-Output ausgegeben wird. Dazu muss er vermutlich "live" Pixel fuer Pixel eine Farbe ausgeben. Ich stelle mir das also so vor, dass er analog zum Bildaufbau auf einem Roehrengeraet einfach Pixel fuer Pixel entscheidet, welche Farbe der Pixel haben muss, und dieses Farbsignal dann eben erzeugt.
Um nun aber zu entscheiden, welche Farbe der Pixel haben muss, muss der VIC-II ja eigentlich jedesmal sehr viele Entscheidungen treffen bzw. Dinge in Betracht ziehen. Solange es nur um Charset- oder BItmap-Grafik geht, ist es eigentlich relativ simpel, denn er muss ja nur an der entsprechenden Speicheradresse nachschlagen, die Farbe abfragen (evtl. indirekt) und diese dann ausgeben. Wenn nun aber Sprites mit im Spiel sind, muss der VIC-II ja eigentlich pro Pixel auch immer alle 8 Sprites durchgehen und schauen, ob sich das X/Y-maessig gerade zufaellig an dieser Stelle befindet, dann auch noch nachschauen ob das Sprite gezoomt ist, ob es vor oder hinter dem Hintergrund ist, ob es ueberhaupt sichtbar ist usw., und erst dann kann er ja wirklich wissen, welche Farbe der Pixel haben soll.
Laeuft das tatsaechlich so ab? Muss der VIC-II bei jedem Pixel immer alle 8 Sprites beruecksichtigen und die ganzen Register entsprechend durchchecken? Als Software-Entwickler stelle ich mir da eine Art "Entscheidungsbaum" vor, also mehrere verschachtelte "If"s, ist das in Hardware dann auch so implementiert oder gibt es da irgendwelche Tricks, wie z.B. dass mithilfe von Bit-Operationen da einfach mehrere Bitmuster uebereinandergeklatscht werden und dann das richtige "rauskommt" oder wie muss man sich das als Laie vorstellen?