Software Sprite/Tile Umrisse ausblenden

OP #4582353
Lesenswert?
• ▲
▼
Hallo,

Ich versuche eine einfache Grafikkarte bzw. Grafikadapter zu entwerfen.
Es sollen 288x216 Pixel im Bildpuffer sein, dieser soll am Adress- und 
Datenbus hängen.


Ich habe nun die Wahl zwischen verschiedenen Farbräumen:

5Rx5Gx5B plus Transparenzbit:
Das wäre ideal da 32k Farben und leichte Umriss-Ausblendung in Hardware: 
einfach das 16. Bit mit dem /WR-Signal logisch verknüpfen.

3Rx3Gx2B :
Das wäre auch ausreichend und würde viel CPU-Ressourcen sparen.
Leider fehlt da jetzt das Transparenz-Bit.


Hat jemand eine Idee oder einen Link wie man das Problem mit den 
Sprite/Tile-Umrissen beim Zeichnen in den Bildpuffer lösen könnte ?
Die softwaremäßige Lösung mit Auslesen des Puffers und von der CPU 
irgendwie logisch bitweise maskieren klingt irgendwie zu rechenintensiv 
...
Ich dachte auch schon an einen 2Rx3Gx2B-Farbraum damit das 8. Bit 
freibleibt aber ich weiss nicht wie die Farbpalette dazu aussieht.
#4582442
Lesenswert?
• ▲
▼
H-G S. schrieb:
> 3Rx3Gx2B :
> Das wäre auch ausreichend und würde viel CPU-Ressourcen sparen.
> Leider fehlt da jetzt das Transparenz-Bit.

Definiere Farbe 0 als Transparenz-Farbe bei den Sprites.

Oder gib den Sprites einen Attribut, womit sich pro Srite die 
Transparenz-Farbe definiert werden lässt; diese Farbe kann dann im 
Sprite zwar nicht benutzt werden, aber kein Sprite wird wohl alle 256 
Farben benutzen wollen, oder?
OP #4582596
Lesenswert?
• ▲
▼
Hmm ... 0x0x0 ist aber scheinbar das einzige gute Schwarz im 3x3x2 
Farbraum. Aber auf dieses Magenta/Giftlila könnte ich verzichten bzw. 
einen Ton davon.

Da bleibt nur noch das Problem die Kombination mittels Logik-Chip am 
Schreiben in den Bildpuffer zu hindern. Es müssen schliesslich alle 8 
Bit beachtet werden.
Die Dekodierung darf den Schreibvorgang der CPU nicht behindern. Ich 
meine es wären 50nS gewesen die so ein XA-S3 braucht für einen 
Schreibzyklus, bin aber nicht ganz sicher da ich noch das User Manual 
wälzen muss.

Edit:
Es scheint die volle lila Farbe ist 111x000x11 ... das müsste man so 
dekodieren dass ein /WR verhindert wird.
OP #4583388
Lesenswert?
• ▲
▼
Das klingt nach zuviel Aufwand, wie dicker PLD oder Dual-Port-RAM etc.

Ich möchte den Grafikadapter einfach halten, also nur Latches, 
(Adress-)Zähler und einen Controller der die Sync-Signale für den 
RBG-PAL-Wandler erzeugt und den Zähler startet/anhält.
Eventuell noch eine Löschfunktion auch mit dem Controller und Zähler.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren